@ceraph/react-native-mcp 0.4.5 → 0.4.6
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/dist/babel-plugin/index.cjs +1 -1
- package/dist/babel-plugin/index.js +1 -1
- package/dist/cli.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +3 -3
package/dist/cli.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
const _0x5ccc4b=_0x4997;(function(_0x2a8867,_0x4f64b7){const _0x3317a4=_0x4997,_0x595907=_0x2a8867();while(!![]){try{const _0x197c1c=parseInt(_0x3317a4(0x1a1))/0x1*(parseInt(_0x3317a4(0x48d))/0x2)+-parseInt(_0x3317a4(0x1e5))/0x3*(parseInt(_0x3317a4(0x1df))/0x4)+parseInt(_0x3317a4(0x41b))/0x5*(parseInt(_0x3317a4(0x4a2))/0x6)+-parseInt(_0x3317a4(0x247))/0x7*(-parseInt(_0x3317a4(0x33c))/0x8)+-parseInt(_0x3317a4(0x2a2))/0x9*(parseInt(_0x3317a4(0x18e))/0xa)+-parseInt(_0x3317a4(0x171))/0xb*(parseInt(_0x3317a4(0x184))/0xc)+parseInt(_0x3317a4(0x3a5))/0xd*(parseInt(_0x3317a4(0x552))/0xe);if(_0x197c1c===_0x4f64b7)break;else _0x595907['push'](_0x595907['shift']());}catch(_0x167a67){_0x595907['push'](_0x595907['shift']());}}}(_0x2223,0xd28fb));var _0x67f5e0=Object[_0x5ccc4b(0x57e)],_0xc06bdb=Object[_0x5ccc4b(0x1f5)],_0x4d3071=(_0x4b8761,_0x3a5c00)=>function _0x56f53d(){return _0x4b8761&&(_0x3a5c00=(0x0,_0x4b8761[_0xc06bdb(_0x4b8761)[0x0]])(_0x4b8761=0x0)),_0x3a5c00;},_0x22ce2d=(_0x234621,_0x619c47)=>{for(var _0x2c4dd2 in _0x619c47)_0x67f5e0(_0x234621,_0x2c4dd2,{'get':_0x619c47[_0x2c4dd2],'enumerable':!![]});};import{readFile,access}from'fs/promises';import{join}from'path';async function _0x4a5871(_0x2e5dfc){try{return await access(_0x2e5dfc),!![];}catch{return![];}}async function _0x2fc139(_0xefb68){for(const {file:_0x21da90,pm:_0x105151}of _0x4d7e6b){if(await _0x4a5871(join(_0xefb68,_0x21da90)))return _0x105151;}return'npm';}function _0x1a9f91(_0x3e17a0,_0x4bda3e=_0x5ccc4b(0x22b)){const _0x5b2094=_0x5ccc4b;switch(_0x3e17a0){case'pnpm':return{'bin':_0x5b2094(0x54c),'args':['add',_0x4bda3e]};case _0x5b2094(0x571):return{'bin':_0x5b2094(0x571),'args':['add',_0x4bda3e]};case'bun':return{'bin':'bun','args':[_0x5b2094(0x532),_0x4bda3e]};case'npm':return{'bin':'npm','args':[_0x5b2094(0x400),_0x4bda3e]};}}async function _0x58f9a6(_0x46f85f,_0x2badac=_0x5ccc4b(0x22b)){const _0x4c53a7=_0x5ccc4b;let _0x3d20b2;try{_0x3d20b2=await readFile(join(_0x46f85f,'package.json'),'utf-8');}catch{return![];}let _0x30a527;try{_0x30a527=JSON[_0x4c53a7(0x398)](_0x3d20b2);}catch{return![];}if(!_0x30a527||typeof _0x30a527!=='object')return![];const _0x13cb28=_0x30a527,_0x5cb949=_0x13cb28[_0x4c53a7(0x282)],_0x3e24b5=_0x13cb28[_0x4c53a7(0x3d3)];return Boolean(_0x5cb949?.[_0x2badac]||_0x3e24b5?.[_0x2badac]);}var _0x4d7e6b,_0x26287f=_0x4d3071({'src/init/package-manager.ts'(){'use strict';const _0x1c2e66=_0x5ccc4b;_0x4d7e6b=[{'file':_0x1c2e66(0x275),'pm':_0x1c2e66(0x54c)},{'file':'yarn.lock','pm':'yarn'},{'file':_0x1c2e66(0x481),'pm':'bun'},{'file':_0x1c2e66(0x20a),'pm':_0x1c2e66(0x2a0)},{'file':'package-lock.json','pm':'npm'}];}});import{promises as _0x236a90,constants as _0x38ecee}from'fs';import{homedir,platform}from'os';import{join as _0x4a07b5,dirname}from'path';import{spawn}from'child_process';import{randomBytes}from'crypto';import{createServer}from'http';import{createInterface}from'readline';function _0x1ea8cf(){const _0x50b42e=_0x5ccc4b,_0x5e0d24=process.env.CERAPH_WEB_BASE_URL?.['trim']();if(_0x5e0d24)return _0x5e0d24;const _0x137f4d=process.env.CERAPH_API_URL?.[_0x50b42e(0x1cd)]();if(_0x137f4d){const _0x170e9b=_0x137f4d['replace'](/\/+$/,'')[_0x50b42e(0x2be)](/\/api\/mcp$/,'');if(_0x170e9b&&_0x170e9b!==_0x137f4d['replace'](/\/+$/,''))return _0x170e9b;}return'https://ceraph.dev';}function _0x3cde31(_0x53f93b={}){const _0x363763=_0x5ccc4b,_0x549055=_0x1ea8cf()['replace'](/\/+$/,''),_0x35cf56=_0x53f93b['intent']==='pro'?'?intent=pro':'';return _0x549055+_0x363763(0x24a)+_0x35cf56;}async function _0x8c9830(_0x13462e={}){const _0x4e625d=_0x5ccc4b,_0x3d7d7a=_0x13462e['token']?.[_0x4e625d(0x1cd)]()||process.env.CERAPH_AUTH_TOKEN?.['trim']();if(_0x3d7d7a)return _0x535ac0(_0x3d7d7a,void 0x0,_0x13462e['authFilePath']);const _0x2bc852=_0x13462e[_0x4e625d(0x15e)]??_0x4adae5,_0x324bbe=(_0x13462e[_0x4e625d(0x208)]??_0x1ea8cf())['replace'](/\/+$/,''),_0x1ef8fd=randomBytes(0x10)['toString'](_0x4e625d(0x39d)),_0x4d5e02=await _0x1bdabb(_0x1ef8fd,_0x324bbe),_0x4990a7=_0x13462e[_0x4e625d(0x4a3)]===_0x4e625d(0x55d)?'&intent=pro':'',_0x1c1f43=_0x324bbe+_0x4e625d(0x4b7)+_0x4d5e02['port']+'&state='+encodeURIComponent(_0x1ef8fd)+_0x4990a7,_0xb3265a=new AbortController();if(_0x13462e['signal']){if(_0x13462e[_0x4e625d(0x1fd)]['aborted']){_0x4d5e02[_0x4e625d(0x308)]();throw new DOMException('aborted','AbortError');}_0x13462e[_0x4e625d(0x1fd)]['addEventListener']('abort',()=>{const _0x4b9a3d=_0x4e625d;_0x4d5e02['abort'](new DOMException('aborted',_0x4b9a3d(0x1a6))),_0xb3265a['abort']();},{'once':!![]});}_0x2bee48(_0x1c1f43),process['stderr'][_0x4e625d(0x2c9)](_0x4e625d(0x4cf)+_0x324bbe+'/cli-auth\x20in\x20your\x20browser\x20to\x20sign\x20in.\x20If\x20the\x20browser\x20didn\x27t\x20open,\x20visit\x20the\x20URL\x20manually:\x0a\x20\x20'+_0x1c1f43+'\x0a');try{const _0x5eeb84=await _0x69ee90(_0x4d5e02['tokenPromise'],_0x2bc852);return _0x535ac0(_0x5eeb84[_0x4e625d(0x25c)],_0x5eeb84['email'],_0x13462e['authFilePath']);}catch(_0x3c9f85){if(_0x3c9f85 instanceof _0x3a4d94){process['stderr'][_0x4e625d(0x2c9)]('Sign-in\x20timed\x20out.\x20Reload\x20the\x20browser\x20tab\x20to\x20retry\x20—\x20or\x20paste\x20your\x20token\x20below:\x0a');const _0x46d96a=await Promise['race']([_0x4d5e02['tokenPromise'][_0x4e625d(0x341)](_0x29b38d=>({'kind':_0x4e625d(0x26b),'payload':_0x29b38d})),_0x1f115c(_0xb3265a['signal'])[_0x4e625d(0x341)](_0x20244e=>({'kind':'stdin','line':_0x20244e}))]);if(_0x46d96a[_0x4e625d(0x2b7)]===_0x4e625d(0x26b))return _0xb3265a[_0x4e625d(0x511)](),_0x535ac0(_0x46d96a['payload']['token'],_0x46d96a['payload']['email'],_0x13462e['authFilePath']);if(!_0x46d96a[_0x4e625d(0x222)]){if(_0x13462e['signal']?.['aborted'])throw new DOMException('aborted','AbortError');throw new Error('No\x20token\x20provided.');}return _0x535ac0(_0x46d96a[_0x4e625d(0x222)],void 0x0,_0x13462e[_0x4e625d(0x14f)]);}throw _0x3c9f85;}finally{_0x4d5e02[_0x4e625d(0x308)]();}}async function _0x3c35dd(_0x2b3509){return new Promise(_0x3f4bd2=>{const _0x10b5b7=_0x4997;let _0xfe3eb4=0x0;const _0x1167d9=[];_0x2b3509['on']('data',_0x152bcb=>{const _0x22084b=_0x4997;if('YQrVP'!==_0x22084b(0x145)){const _0x535566=this[_0x22084b(0x320)]?_0x49874f[_0x22084b(0x173)](_0x1d953c=>_0x1d953c[_0x22084b(0x55e)]===this[_0x22084b(0x320)])??_0x1b9ceb[0x0]:_0x573533[0x0],_0x1506fc=this['simulatorWdaUdid']!==null&&_0xadb297[_0x22084b(0x28e)](_0x1a2cd9=>_0x1a2cd9[_0x22084b(0x55e)]===this[_0x22084b(0x320)]),_0x103ff2=this[_0x22084b(0x2bc)]!==null&&this[_0x22084b(0x320)]!==null&&_0x1506fc&&_0x535566[_0x22084b(0x55e)]===this[_0x22084b(0x320)];return{'target':'simulator','udid':_0x535566['udid'],'baseUrl':_0x103ff2?_0x1f7590(this[_0x22084b(0x2bc)]):_0x5f1876,'wdaReady':_0x103ff2,'reason':'auto-only-simulator'};}else{_0xfe3eb4+=_0x152bcb['length'];if(_0xfe3eb4>_0x426f26){_0x2b3509['destroy'](),_0x3f4bd2(null);return;}_0x1167d9[_0x22084b(0x359)](_0x152bcb);}}),_0x2b3509['on']('end',()=>{const _0x1b8320=_0x4997,_0x245621=Buffer['concat'](_0x1167d9)[_0x1b8320(0x2a9)](_0x1b8320(0x1b2));if(!_0x245621){_0x3f4bd2(null);return;}try{const _0x15512d=JSON['parse'](_0x245621);_0x15512d&&typeof _0x15512d==='object'?_0x3f4bd2(_0x15512d):_0x3f4bd2(null);}catch{_0x3f4bd2(null);}}),_0x2b3509['on'](_0x10b5b7(0x51e),()=>_0x3f4bd2(null));});}async function _0x1bdabb(_0x114f68,_0x6400e1){const _0x5f5db5=_0x5ccc4b;let _0x53d2af,_0x26a4fb;const _0x232438=new Promise((_0x4f0ddc,_0x5b7f0c)=>{'tRPlL'==='BQoAZ'?_0x91a4ed in _0x583d52&&(delete _0x457ed9[_0x2c8136],_0x58d7f1=!![]):(_0x53d2af=_0x4f0ddc,_0x26a4fb=_0x5b7f0c);});let _0x274320=![],_0x8a65c=![],_0x2d2453,_0x4e4f37;try{_0x4e4f37=new URL(_0x6400e1)['origin'];}catch(_0x2403fe){throw new Error(_0x5f5db5(0x51c)+_0x6400e1+'\x22\x20—\x20must\x20be\x20a\x20valid\x20URL\x20with\x20scheme\x20(e.g.\x20https://ceraph.dev\x20or\x20http://localhost:3000).\x20Original\x20error:\x20'+(_0x2403fe instanceof Error?_0x2403fe['message']:String(_0x2403fe)));}_0x2d2453=createServer((_0xf55929,_0x52b45c)=>{const _0x53390c=_0x5f5db5;_0x52b45c['setHeader']('Access-Control-Allow-Origin',_0x4e4f37),_0x52b45c[_0x53390c(0x4b8)]('Access-Control-Allow-Methods',_0x53390c(0x35d)),_0x52b45c[_0x53390c(0x4b8)](_0x53390c(0x2a5),'content-type');if(_0xf55929[_0x53390c(0x2d9)]==='OPTIONS'){_0x52b45c[_0x53390c(0x248)]=0xcc,_0x52b45c['end']();return;}const _0x41e407=new URL(_0xf55929[_0x53390c(0x19d)]??'/','http://127.0.0.1:'+_0x166ce4);if(_0x41e407[_0x53390c(0x4a5)]!=='/callback'){_0x52b45c[_0x53390c(0x248)]=0x194,_0x52b45c[_0x53390c(0x428)]('not\x20found');return;}const _0x47c39f=_0x41e407[_0x53390c(0x386)]['get'](_0x53390c(0x31d))??'';if(_0x47c39f!==_0x114f68){if(_0x53390c(0x2d1)!=='ZmZsU'){_0x52b45c[_0x53390c(0x248)]=0x190,_0x52b45c['end']('invalid\x20state');return;}else{const _0x409fca=_0x5b8501[_0x56a831];_0x54d7fb['push'](...this['buildTapPointerActions'](_0x409fca[_0x53390c(0x3fc)]['x'],_0x409fca['center']['y'])),_0x5836d6<_0x275ca5['length']-0x1&&_0x11a0d5[_0x53390c(0x359)]({'type':_0x53390c(0x1e6),'duration':0x64});}}if(_0x8a65c||_0x274320){_0x52b45c[_0x53390c(0x248)]=0x199,_0x52b45c['end'](_0x8a65c?_0x53390c(0x270):'in-flight');return;}if(_0xf55929[_0x53390c(0x2d9)]!=='POST'){_0x52b45c[_0x53390c(0x248)]=0x195,_0x52b45c[_0x53390c(0x428)]('method\x20not\x20allowed');return;}_0x274320=!![],void _0x3c35dd(_0xf55929)[_0x53390c(0x341)](_0x428525=>{const _0x204d71=_0x53390c,_0x5de92e=_0x428525&&typeof _0x428525['token']===_0x204d71(0x40a)?_0x428525['token']['trim']():'',_0x2d7ff2=_0x428525&&typeof _0x428525['email']==='string'?_0x428525[_0x204d71(0x34e)]:'';if(!_0x5de92e){_0x274320=![],_0x52b45c[_0x204d71(0x248)]=0x190,_0x52b45c[_0x204d71(0x428)](_0x204d71(0x46e));return;}_0x8a65c=!![],_0x52b45c[_0x204d71(0x248)]=0xc8,_0x52b45c['setHeader']('content-type',_0x204d71(0x2c2)),_0x52b45c[_0x204d71(0x428)](_0x204d71(0x496));try{_0x2d2453['close']();}catch{}_0x53d2af({'token':_0x5de92e,'email':_0x2d7ff2||void 0x0});});return;});const _0x166ce4=await new Promise((_0x3b9482,_0x5caac1)=>{const _0x3eaf36=_0x5f5db5;_0x2d2453['once'](_0x3eaf36(0x51e),_0x5caac1),_0x2d2453['listen'](0x0,'127.0.0.1',()=>{const _0x3a9cf3=_0x3eaf36,_0x3e8aab=_0x2d2453[_0x3a9cf3(0x253)]();if(!_0x3e8aab||typeof _0x3e8aab==='string'||typeof _0x3e8aab['port']!=='number'){try{if(_0x3a9cf3(0x502)!=='bClHX')_0x2d2453[_0x3a9cf3(0x308)]();else return{'awake':!![],'lockState':_0x3a9cf3(0x479)};}catch{}_0x5caac1(new Error(_0x3a9cf3(0x4ed)));return;}_0x3b9482(_0x3e8aab['port']);});});return _0x2d2453['on']('error',_0x1b15e6=>_0x26a4fb(_0x1b15e6)),{'port':_0x166ce4,'tokenPromise':_0x232438,'close':()=>{const _0x9f0414=_0x5f5db5;try{_0x2d2453[_0x9f0414(0x308)]();}catch{}},'abort':_0x2838f6=>{const _0x4e52ce=_0x5f5db5;_0x26a4fb(_0x2838f6);try{_0x2d2453[_0x4e52ce(0x308)]();}catch{}}};}function _0x2bee48(_0x1dbcfd){const _0xd42718=_0x5ccc4b;try{if('Axxfp'!==_0xd42718(0x36b)){const _0x2eb765=platform();let _0x2a1b31,_0x34b014;if(_0x2eb765===_0xd42718(0x328))_0x2a1b31=_0xd42718(0x379),_0x34b014=[_0x1dbcfd];else _0x2eb765===_0xd42718(0x2a7)?(_0x2a1b31='cmd',_0x34b014=['/c',_0xd42718(0x53e),'',_0x1dbcfd]):(_0x2a1b31=_0xd42718(0x456),_0x34b014=[_0x1dbcfd]);const _0x439a44=spawn(_0x2a1b31,_0x34b014,{'stdio':'ignore','detached':!![]});_0x439a44['on'](_0xd42718(0x51e),()=>{}),_0x439a44[_0xd42718(0x4ff)]();}else this['targetResolver']=_0x59096b;}catch{}}function _0x69ee90(_0x49bf1e,_0x1287b4){return new Promise((_0x35b716,_0x26e0a2)=>{const _0x4f9ea8=_0x4997,_0x295642=setTimeout(()=>_0x26e0a2(new _0x3a4d94()),_0x1287b4);_0x49bf1e[_0x4f9ea8(0x341)](_0x2283ab=>{clearTimeout(_0x295642),_0x35b716(_0x2283ab);},_0x236605=>{const _0x110a49=_0x4f9ea8;if(_0x110a49(0x438)===_0x110a49(0x438))clearTimeout(_0x295642),_0x26e0a2(_0x236605);else{'use strict';_0x2bf129();}});});}function _0x1f115c(_0x3994b6){return new Promise(_0x4f78db=>{const _0x26a38f=_0x4997,_0x3e3510=createInterface({'input':process[_0x26a38f(0x263)],'crlfDelay':Infinity});let _0x411416=![];const _0x41cc46=_0x5c148f=>{const _0x438fd2=_0x26a38f;if(_0x411416)return;_0x411416=!![];try{if(_0x438fd2(0x351)!==_0x438fd2(0x351)){_0x175be4({'code':0x7f,'stdout':'','stderr':_0x5a0dab instanceof _0x12aed0?_0x36e13e[_0x438fd2(0x554)]:_0x29a21c(_0x162dff)});return;}else _0x3e3510[_0x438fd2(0x308)]();}catch{}_0x4f78db(_0x5c148f);};_0x3e3510['once'](_0x26a38f(0x222),_0x4b2a38=>_0x41cc46(_0x4b2a38['trim']()||null)),_0x3e3510[_0x26a38f(0x1fe)]('close',()=>_0x41cc46(null));if(_0x3994b6['aborted']){_0x41cc46(null);return;}_0x3994b6['addEventListener']('abort',()=>_0x41cc46(null),{'once':!![]});});}function _0x2c28a6(_0x326816){const _0x4597c9=_0x5ccc4b;return _0x326816??_0x4a07b5(homedir(),_0x4597c9(0x2f8),'auth.json');}async function _0x535ac0(_0x564580,_0x247033,_0x1e228f){const _0x1eb5e5=_0x5ccc4b,_0x47ca48={'accessToken':_0x564580,'expiresAt':0x0,'githubUser':{'login':'','id':0x0},'storedAt':new Date()[_0x1eb5e5(0x3ba)](),..._0x247033?{'email':_0x247033}:{}};return await _0x98031b(_0x47ca48,_0x1e228f),{'token':_0x564580,..._0x247033?{'email':_0x247033}:{}};}async function _0x98031b(_0x10cbf8,_0x4a4a98){const _0x64724f=_0x5ccc4b,_0x25dbbf=_0x2c28a6(_0x4a4a98);await _0x236a90['mkdir'](dirname(_0x25dbbf),{'recursive':!![],'mode':0x1c0});const _0x4000e3=JSON[_0x64724f(0x2ba)](_0x10cbf8,null,0x2)+'\x0a',_0x5e04b7=_0x25dbbf+'.tmp.'+process['pid']+'.'+Math[_0x64724f(0x4c9)]()[_0x64724f(0x2a9)](0x24)['slice'](0x2);try{const _0x1fe2cc=await _0x236a90[_0x64724f(0x379)](_0x5e04b7,_0x38ecee['O_CREAT']|_0x38ecee['O_WRONLY']|_0x38ecee['O_EXCL'],0x180);try{await _0x1fe2cc[_0x64724f(0x330)](_0x4000e3);}finally{await _0x1fe2cc[_0x64724f(0x308)]();}await _0x236a90[_0x64724f(0x21e)](_0x5e04b7,_0x25dbbf);}catch(_0x3b349f){try{await _0x236a90[_0x64724f(0x288)](_0x5e04b7);}catch{}throw _0x3b349f;}try{await _0x236a90['chmod'](dirname(_0x25dbbf),0x1c0);}catch{}}var _0x4adae5,_0x426f26,_0x3a4d94,_0xe6e8e7=_0x4d3071({'src/init/browser-auth.ts'(){'use strict';_0x4adae5=0x5*0x3c*0x3e8,_0x426f26=0x10*0x400,_0x3a4d94=class extends Error{constructor(){const _0x5ed55d=_0x4997;super('listener-timeout'),this[_0x5ed55d(0x34d)]='TimeoutError';}};}});import{promises as _0x50e366}from'fs';import{homedir as _0x1d15d2}from'os';import{join as _0x231864}from'path';function _0x4ba940(){return _0x231864(_0x1d15d2(),'.ceraph','auth.json');}function _0x2e42fc(_0x2206fd){const _0x36bde9=_0x5ccc4b;if(!_0x2206fd||typeof _0x2206fd!==_0x36bde9(0x382))return![];const _0x369d67=_0x2206fd;if(typeof _0x369d67['accessToken']!==_0x36bde9(0x40a)||_0x369d67['accessToken'][_0x36bde9(0x471)]===0x0)return![];if(typeof _0x369d67[_0x36bde9(0x47e)]!==_0x36bde9(0x429))return![];if(_0x369d67[_0x36bde9(0x356)]!==void 0x0){if(!_0x369d67['githubUser']||typeof _0x369d67[_0x36bde9(0x356)]!==_0x36bde9(0x382))return![];const _0x1b6f8c=_0x369d67[_0x36bde9(0x356)];if(typeof _0x1b6f8c['login']!==_0x36bde9(0x40a)||typeof _0x1b6f8c['id']!==_0x36bde9(0x429))return![];}if(typeof _0x369d67['storedAt']!==_0x36bde9(0x40a))return![];return!![];}function _0x2237a7(_0x50cae8){if(_0x50cae8['githubUser'])return _0x50cae8;return{..._0x50cae8,'githubUser':{'login':'','id':0x0}};}async function _0x1ddc8c(_0x202484={}){const _0x1f8964=_0x5ccc4b,_0x48aeec=_0x202484[_0x1f8964(0x47a)]??_0x4ba940();let _0x2aaa5a;try{_0x2aaa5a=await _0x50e366['readFile'](_0x48aeec,'utf-8');}catch{return null;}let _0x1e63b7;try{_0x1e63b7=JSON[_0x1f8964(0x398)](_0x2aaa5a);}catch{return null;}if(!_0x2e42fc(_0x1e63b7))return null;if(_0x1e63b7['expiresAt']>0x0&&_0x1e63b7[_0x1f8964(0x47e)]<Date[_0x1f8964(0x239)]())return null;const _0x2d7c14=_0x2237a7(_0x1e63b7);if(_0x2d7c14['accessToken']===_0xef0f97){if(_0x1f8964(0x443)===_0x1f8964(0x3f2)){'use strict';_0x11e41f=![],_0x2c0a59=['app','src','screens'],_0xff60f=new _0x22d8bd([_0x1f8964(0x3b3),'.jsx']),_0x5cc62d=new _0x48187c([_0x1f8964(0x1b8),_0x1f8964(0x42c),_0x1f8964(0x34b),_0x1f8964(0x325),_0x1f8964(0x2f8),'.expo','.next',_0x1f8964(0x4b3),_0x1f8964(0x559)]),_0x2f02c4=_0x1f8964(0x2e7),_0x2aecfd=_0x1f8964(0x410);}else return null;}return _0x2d7c14;}var _0xef0f97,_0x553117=_0x4d3071({'src/auth.ts'(){'use strict';_0xef0f97='__keychain__';}});import{readFile as _0x383d8d,writeFile,readdir}from'fs/promises';import{basename,dirname as _0x512c6c,join as _0x9c6c45,relative,sep}from'path';async function _0x577f4a(){if(_0x5bd92a)return;const _0x38e241=await import('ts-morph');({IndentationText:_0x5b1221,Project:_0x14d1c6,SyntaxKind:_0xa10fa,Node:_0x5e8716}=_0x38e241,_0x5bd92a=!![]);}function _0x426c72(_0x14f3fb){const _0x3b5e45=_0x5ccc4b,_0x1dd02e=basename(_0x14f3fb)['replace'](/\.(tsx|jsx)$/i,''),_0x397c1f=basename(_0x512c6c(_0x14f3fb)),_0x3b39fe=new Set([_0x3b5e45(0x519),_0x3b5e45(0x3d4),_0x3b5e45(0x212),_0x3b5e45(0x1fb),'layout']),_0x47e8a3=_0x3b39fe[_0x3b5e45(0x466)](_0x1dd02e['toLowerCase']())?_0x397c1f:_0x1dd02e,_0x1e66cf=_0x47e8a3[_0x3b5e45(0x2be)](/([a-z0-9])([A-Z])/g,'$1-$2')['toLowerCase']()[_0x3b5e45(0x2be)](/[^a-z0-9]+/g,'-')['replace'](/^-+|-+$/g,'');return _0x1e66cf[_0x3b5e45(0x471)]>0x0?_0x1e66cf:_0x3b5e45(0x4eb);}async function _0xde371b(_0x1dc087){const _0x11d585=_0x5ccc4b,_0x3cc564=[];async function _0x55103a(_0x13a823){const _0x23934c=_0x4997;let _0x4cbe1b;try{_0x4cbe1b=await readdir(_0x13a823,{'withFileTypes':!![]});}catch{if(_0x23934c(0x43b)!=='uQPui')_0x1b9882['push']({'bundleId':_0x1a2a24,'name':_0x5d1f80??_0x2a3492??_0x3a27f1,'version':_0x57bf06??_0x3182e2??void 0x0});else return;}for(const _0x166036 of _0x4cbe1b){const _0x27c1b0=_0x9c6c45(_0x13a823,_0x166036['name']);if(_0x166036[_0x23934c(0x1c7)]()){if(_0xe8ebf8[_0x23934c(0x466)](_0x166036['name']))continue;await _0x55103a(_0x27c1b0);continue;}if(!_0x166036['isFile']())continue;const _0x29a6d4=_0x166036['name']['lastIndexOf']('.');if(_0x29a6d4<0x0)continue;const _0x173ffa=_0x166036['name']['slice'](_0x29a6d4)[_0x23934c(0x223)]();if(!_0x254a85['has'](_0x173ffa))continue;_0x3cc564['push'](_0x27c1b0);}}for(const _0x24d583 of _0x4e86dd){await _0x55103a(_0x9c6c45(_0x1dc087,_0x24d583));}for(const _0x10da92 of[_0x11d585(0x204),'App.jsx']){_0x3cc564['push'](_0x9c6c45(_0x1dc087,_0x10da92));}return _0x3cc564;}function _0x10bdce(_0x591894){const _0x2e1eed=_0x5ccc4b,_0x3f0358=new _0x14d1c6({'useInMemoryFileSystem':![],'skipAddingFilesFromTsConfig':!![],'skipFileDependencyResolution':!![],'skipLoadingLibFiles':!![],'compilerOptions':{'allowJs':!![],'jsx':0x1},'manipulationSettings':{'indentationText':_0x5b1221['TwoSpaces']}});for(const _0xe3cd3a of _0x591894){try{_0x3f0358[_0x2e1eed(0x1e7)](_0xe3cd3a);}catch{}}return _0x3f0358;}function _0x2efdb2(_0x390d86,_0x1fa575){const _0x3abf5e=_0x5ccc4b,_0x316c24=[];return _0x390d86[_0x3abf5e(0x311)](_0xa8456a=>{const _0x104317=_0x3abf5e;if(_0x5e8716[_0x104317(0x1aa)](_0xa8456a)||_0x5e8716[_0x104317(0x256)](_0xa8456a)){const _0x1d69eb=_0xa8456a[_0x104317(0x50e)]();_0x1d69eb[_0x104317(0x1a9)]()===_0x1fa575&&_0x316c24['push'](_0xa8456a);}}),_0x316c24;}function _0x5ee009(_0x5c8c35){const _0x30de23=_0x5ccc4b,_0x325336=_0x5c8c35[_0x30de23(0x27a)]();for(const _0x26b74b of _0x325336){if(_0x5e8716[_0x30de23(0x1f0)](_0x26b74b)){const _0x3d20ab=_0x26b74b['getNameNode']();if(_0x3d20ab['getText']()===_0x30de23(0x272))return!![];}}return![];}async function _0x1a3350(_0x38c861){const _0x1dd74b=_0x5ccc4b;await _0x577f4a();const _0x3ea2b0=await _0xde371b(_0x38c861),_0x2b8432=_0x10bdce(_0x3ea2b0),_0x3d55f1=[];for(const _0x142eda of _0x2b8432[_0x1dd74b(0x549)]()){const _0x56bad6=_0x2efdb2(_0x142eda,'CameraView');if(_0x56bad6['length']===0x0)continue;for(const _0x322c53 of _0x56bad6){const _0x162e37=_0x322c53['getStart'](),_0xf60ae=_0x142eda['getLineAndColumnAtPos'](_0x162e37);_0x3d55f1[_0x1dd74b(0x359)]({'filePath':_0x142eda['getFilePath'](),'relPath':relative(_0x38c861,_0x142eda[_0x1dd74b(0x525)]())['split'](sep)[_0x1dd74b(0x3aa)]('/'),'line':_0xf60ae['line'],'suggestedKey':_0x426c72(_0x142eda['getFilePath']()),'alreadyHasImageKey':_0x5ee009(_0x322c53)});}}return _0x3d55f1['sort']((_0x227e32,_0x4d427f)=>_0x227e32[_0x1dd74b(0x2ec)]===_0x4d427f['relPath']?_0x227e32['line']-_0x4d427f['line']:_0x227e32[_0x1dd74b(0x2ec)]<_0x4d427f[_0x1dd74b(0x2ec)]?-0x1:0x1),{'edits':_0x3d55f1,'filesScanned':_0x2b8432['getSourceFiles']()['length']};}async function _0x174b73(_0x534aba,_0x4bb060,_0x4a5e0a={}){const _0x15a54c=_0x5ccc4b;await _0x577f4a();const _0x18f258=new Map();for(const _0x5d994f of _0x4bb060){const _0x60ee9e=_0x18f258['get'](_0x5d994f[_0x15a54c(0x47a)])??[];_0x60ee9e[_0x15a54c(0x359)](_0x5d994f),_0x18f258[_0x15a54c(0x4fb)](_0x5d994f['filePath'],_0x60ee9e);}const _0x2436a6=_0x10bdce(Array['from'](_0x18f258[_0x15a54c(0x250)]())),_0x28d4eb=[];let _0x28a7a5=0x0;for(const [_0x52c40e,_0x1676c1]of _0x18f258){const _0x49af77=_0x2436a6[_0x15a54c(0x548)](_0x52c40e);if(!_0x49af77)continue;let _0x3974e1=0x0;for(const _0x397a96 of _0x1676c1){const _0x1e8127=_0x2efdb2(_0x49af77,_0x15a54c(0x324)),_0x31ffe7=_0x1e8127[_0x15a54c(0x173)](_0x17fb1c=>{const _0x2c97ff=_0x15a54c;if('vAqwp'==='FvKKE')return{'action':'already','scheme':_0x31772e,'previousScheme':_0x132e36,'nextScheme':[..._0x3c32a7]};else{const _0x29cc1e=_0x49af77['getLineAndColumnAtPos'](_0x17fb1c['getStart']());return _0x29cc1e[_0x2c97ff(0x222)]===_0x397a96[_0x2c97ff(0x222)];}});if(!_0x31ffe7)continue;_0x31ffe7['getTagNameNode']()[_0x15a54c(0x50c)](_0x15a54c(0x410));if(_0x5e8716['isJsxOpeningElement'](_0x31ffe7)){const _0x1e8508=_0x31ffe7[_0x15a54c(0x317)](_0xa10fa[_0x15a54c(0x39e)]);if(_0x1e8508){const _0x186023=_0x1e8508[_0x15a54c(0x2e5)]();_0x186023['getTagNameNode']()[_0x15a54c(0x50c)](_0x15a54c(0x410));}}!_0x397a96['alreadyHasImageKey']&&!_0x4a5e0a['omitImageKey']&&_0x31ffe7[_0x15a54c(0x281)]({'name':'imageKey','initializer':'\x22'+_0x397a96['suggestedKey']+'\x22'}),_0x3974e1++,_0x28a7a5++;}const _0x1b9f18=_0x49af77['getImportDeclaration'](_0x52abab);if(_0x1b9f18){if('XtiSb'!=='XtiSb')_0x76546e=![];else{const _0x157459=_0x1b9f18[_0x15a54c(0x437)]();!_0x157459['some'](_0x4ec0f8=>_0x4ec0f8[_0x15a54c(0x1a3)]()===_0x5c8cb6)&&_0x1b9f18[_0x15a54c(0x2eb)](_0x5c8cb6);}}else _0x49af77[_0x15a54c(0x534)]({'moduleSpecifier':_0x52abab,'namedImports':[_0x5c8cb6]});const _0x511357=_0x49af77[_0x15a54c(0x19c)](_0x15a54c(0x242));if(_0x511357){const _0x384989=_0x2efdb2(_0x49af77,_0x15a54c(0x324));if(_0x384989[_0x15a54c(0x471)]===0x0){const _0x504a57=_0x511357['getNamedImports'](),_0x4941e3=_0x504a57[_0x15a54c(0x173)](_0x957bd1=>_0x957bd1[_0x15a54c(0x1a3)]()===_0x15a54c(0x324));if(_0x4941e3){_0x4941e3['remove']();const _0x1dafc2=_0x511357['getNamedImports'](),_0x3fc4fd=_0x511357['getDefaultImport']()!=null;_0x1dafc2['length']===0x0&&!_0x3fc4fd&&_0x511357['remove']();}}}if(_0x3974e1>0x0){const _0x46ab35=_0x49af77['getFullText']();await writeFile(_0x52c40e,_0x46ab35,'utf-8'),_0x28d4eb['push'](_0x52c40e);}}return{'filesEdited':_0x28d4eb,'totalReplacements':_0x28a7a5};}async function _0x3f3777(_0x37e719){const _0x4650f7=_0x5ccc4b;try{return await _0x383d8d(_0x37e719,_0x4650f7(0x449));}catch{return null;}}async function _0x4db18c(_0x54fc2d,_0x577279){const _0x5f09ee=_0x5ccc4b;await writeFile(_0x54fc2d,_0x577279,_0x5f09ee(0x449));}var _0x5b1221,_0x14d1c6,_0xa10fa,_0x5e8716,_0x5bd92a,_0x4e86dd,_0x254a85,_0xe8ebf8,_0x52abab,_0x5c8cb6,_0x1c9166=_0x4d3071({'src/init/ast-camera.ts'(){'use strict';const _0x3e2d5e=_0x5ccc4b;_0x5bd92a=![],_0x4e86dd=['app','src','screens'],_0x254a85=new Set([_0x3e2d5e(0x3b3),'.jsx']),_0xe8ebf8=new Set(['node_modules','dist','build','.git',_0x3e2d5e(0x2f8),'.expo',_0x3e2d5e(0x528),'ios',_0x3e2d5e(0x559)]),_0x52abab=_0x3e2d5e(0x2e7),_0x5c8cb6='CeraphCamera';}});import{readFile as _0x1b8f80,writeFile as _0x8a1d33}from'fs/promises';import{dirname as _0x1585a4,join as _0x40b444,relative as _0x2f775d,sep as _0x1f6c80}from'path';async function _0x499cf2(){if(_0x12ed6f)return;const _0x2d0025=await import('ts-morph');({IndentationText:_0x25d916,Project:_0x5aa955,Node:_0x4ad803,SyntaxKind:_0x4e5589}=_0x2d0025,_0x12ed6f=!![]);}function _0x2e02a0(_0x5a141e){const _0x37eed7=_0x5ccc4b,_0x41bdf6=_0x1585a4(_0x5a141e['filePath']),_0x465a54=_0x5a141e[_0x37eed7(0x2b7)]===_0x37eed7(0x37b)?_0x1585a4(_0x41bdf6):_0x41bdf6,_0xce5767=_0x40b444(_0x465a54,_0x2cf0b8);let _0x114b31=_0x2f775d(_0x41bdf6,_0xce5767);if(_0x1f6c80!=='/')_0x114b31=_0x114b31['split'](_0x1f6c80)[_0x37eed7(0x3aa)]('/');if(!_0x114b31['startsWith']('./')&&!_0x114b31[_0x37eed7(0x425)](_0x37eed7(0x520)))_0x114b31='./'+_0x114b31;return _0x114b31;}function _0x338159(_0x1d0f4c){const _0x3d95b0=_0x5ccc4b,_0x3dca52=_0x2e02a0(_0x1d0f4c);return _0x357560+'({\x20readTestidConfig:\x20()\x20=>\x20{\x20try\x20{\x20return\x20require(\x22'+_0x3dca52+_0x3d95b0(0x1b7);}async function _0x3ea35c(_0x15b5d4){const _0x211d60=_0x5ccc4b;try{return await _0x1b8f80(_0x15b5d4,'utf-8'),!![];}catch{return _0x211d60(0x34a)==='tqzMv'?![]:{'success':![],'error':_0x3bbc56 instanceof _0x15b108?_0x2ca95d[_0x211d60(0x554)]:'Unknown\x20error\x20during\x20longPress'};}}async function _0x5bc2f4(_0x881ac3){const _0x3ef00=_0x5ccc4b,_0x5da6a3=_0x40b444(_0x881ac3,'app','_layout.tsx');if(await _0x3ea35c(_0x5da6a3)){if(_0x3ef00(0x30d)!==_0x3ef00(0x30d)){const _0x199b2b=_0x32906d['files'][_0x3ef00(0x170)]((_0xdc7d89,_0x511328)=>_0xdc7d89+_0x511328[_0x3ef00(0x2e6)],0x0),_0x56694b=_0x199b2b;if(_0x440ffd['files'][_0x3ef00(0x471)]===0x0)return{'name':_0x3ef00(0x4eb),'status':_0x3ef00(0x1b6),'details':{'filesScanned':_0x315783['filesScanned'],..._0xb0c32a['dryRun']?{'dryRun':!![]}:{}}};const _0x1a9e59=_0x56694b>0x0?'warning':_0x3ef00(0x28d),_0xd34db0={'name':_0x3ef00(0x4eb),'status':_0x1a9e59,'details':{'filesScanned':_0x4c933a['filesScanned'],'filesEdited':_0x879f5a['files'][_0x3ef00(0x362)](_0x512298=>_0x512298['relPath']),'ceraphCamerasRemoved':_0x199b2b,'importDropped':_0x5141be['files'][_0x3ef00(0x235)](_0x81556=>_0x81556[_0x3ef00(0x1be)])[_0x3ef00(0x471)],'importRestored':_0x1a22ca[_0x3ef00(0x33e)]['filter'](_0x19d279=>_0x19d279[_0x3ef00(0x3b4)])['length'],'imageKeysStripped':_0x56694b,..._0x59c603['dryRun']?{'dryRun':!![]}:{}}};return _0x1a9e59===_0x3ef00(0x473)&&(_0xd34db0['remediation']=_0x3ef00(0x2f0)+_0x56694b+_0x3ef00(0x4d5)),_0xd34db0;}else return{'kind':_0x3ef00(0x37b),'filePath':_0x5da6a3};}const _0x1bf7d5=_0x40b444(_0x881ac3,'app',_0x3ef00(0x17d));if(await _0x3ea35c(_0x1bf7d5))return _0x3ef00(0x191)!=='lCMSc'?{'kind':_0x3ef00(0x37b),'filePath':_0x1bf7d5}:![];for(const _0x4229a4 of[_0x3ef00(0x204),_0x3ef00(0x355)]){const _0x13765e=_0x40b444(_0x881ac3,_0x4229a4);if(await _0x3ea35c(_0x13765e))return{'kind':_0x3ef00(0x213),'filePath':_0x13765e};}return null;}function _0x1796c2(_0x4c32d1){const _0x3dce6e=_0x5ccc4b;for(const _0x17e6cd of _0x4c32d1[_0x3dce6e(0x433)]()){if(_0x17e6cd[_0x3dce6e(0x280)]())return _0x17e6cd;}const _0x396ec8=_0x4c32d1['getStatements']()[_0x3dce6e(0x173)](_0x4fca33=>_0x4ad803['isExportAssignment'](_0x4fca33));if(_0x396ec8&&_0x4ad803[_0x3dce6e(0x365)](_0x396ec8)){const _0x5d9ee7=_0x396ec8['getExpression']();if(_0x4ad803[_0x3dce6e(0x431)](_0x5d9ee7)){const _0x2d7ceb=_0x5d9ee7[_0x3dce6e(0x45b)]();if(_0x2d7ceb){const _0x16221e=_0x2d7ceb[_0x3dce6e(0x3c6)]()[0x0];if(_0x16221e&&_0x4ad803[_0x3dce6e(0x41e)](_0x16221e)){const _0x32ff18=_0x16221e['getInitializer']();if(_0x32ff18&&_0x4ad803[_0x3dce6e(0x518)](_0x32ff18))return _0x32ff18;if(_0x32ff18&&_0x4ad803['isFunctionExpression'](_0x32ff18))return _0x32ff18;}}}if(_0x4ad803[_0x3dce6e(0x518)](_0x5d9ee7))return _0x5d9ee7;if(_0x4ad803[_0x3dce6e(0x32d)](_0x5d9ee7))return _0x5d9ee7;}return null;}function _0x734f2(_0x3af817){const _0x4ddb0b=_0x5ccc4b,_0x29464f=_0x3af817['getImportDeclaration']('react');if(!_0x29464f)return _0x3af817['addImportDeclaration']({'moduleSpecifier':_0x4ddb0b(0x409),'namedImports':['useEffect']}),!![];const _0x4fb2d9=_0x29464f['getNamedImports']();if(!_0x4fb2d9[_0x4ddb0b(0x28e)](_0x36e700=>_0x36e700[_0x4ddb0b(0x1a3)]()===_0x4ddb0b(0x2b5)))return _0x29464f['addNamedImport'](_0x4ddb0b(0x2b5)),!![];return![];}function _0xdc5a63(_0x912ece){const _0x572b82=_0x5ccc4b,_0x1fbfa6=_0x912ece[_0x572b82(0x19c)](_0x16945e);if(!_0x1fbfa6)return _0x912ece[_0x572b82(0x534)]({'moduleSpecifier':_0x16945e,'namedImports':[_0x357560]}),!![];const _0x61fdcd=_0x1fbfa6[_0x572b82(0x437)]();if(!_0x61fdcd[_0x572b82(0x28e)](_0x1b992e=>_0x1b992e['getName']()===_0x357560))return _0x1fbfa6[_0x572b82(0x2eb)](_0x357560),!![];return![];}function _0x12dc44(_0x171ac3){const _0x530e18=_0x5ccc4b,_0x4b3945=_0x171ac3[_0x530e18(0x540)]();if(!_0x4b3945||!_0x4ad803[_0x530e18(0x374)](_0x4b3945))return null;let _0x24336b=null,_0x201ea4=null;return _0x4b3945['forEachDescendant']((_0x17941b,_0x15ccbb)=>{const _0x5e232b=_0x530e18;if(_0x201ea4){_0x15ccbb['stop']();return;}if(_0x4ad803['isCallExpression'](_0x17941b)){const _0x499621=_0x17941b[_0x5e232b(0x4a7)]();if(_0x4ad803['isIdentifier'](_0x499621)&&_0x499621[_0x5e232b(0x1a9)]()===_0x357560){if(_0x24336b===null)_0x24336b=_0x17941b;_0x17941b['getArguments']()['length']===0x0&&(_0x201ea4=_0x17941b,_0x15ccbb[_0x5e232b(0x20b)]());}}}),_0x201ea4??_0x24336b;}function _0xbf1031(_0x45322b){return _0x12dc44(_0x45322b)!==null;}function _0x5dd97d(_0x439665,_0x56c7a0){const _0x3253a3=_0x5ccc4b;if(_0x439665['getArguments']()['length']>0x0)return![];const _0x27462e=_0x2e02a0(_0x56c7a0);return _0x439665[_0x3253a3(0x2cc)](_0x3253a3(0x334)+_0x27462e+'\x22);\x20}\x20catch\x20{\x20return\x20null;\x20}\x20}\x20}'),!![];}async function _0xbcad8e(_0x5a1f0f){const _0x4d8c68=_0x5ccc4b;await _0x499cf2();let _0x63bb31;try{const _0x294796=new _0x5aa955({'useInMemoryFileSystem':![],'skipAddingFilesFromTsConfig':!![],'skipFileDependencyResolution':!![],'skipLoadingLibFiles':!![],'compilerOptions':{'allowJs':!![],'jsx':0x1}});_0x63bb31=_0x294796['addSourceFileAtPath'](_0x5a1f0f);}catch{return _0x4d8c68(0x4c5);}const _0x490b46=_0x1796c2(_0x63bb31);if(!_0x490b46)return'none';const _0x266880=_0x12dc44(_0x490b46);if(!_0x266880)return _0x4d8c68(0x4c5);return _0x266880[_0x4d8c68(0x3b7)]()['length']===0x0?'bare':'seamed';}function _0x147bf8(_0x276916,_0x26c003){const _0x2caffe=_0x5ccc4b;if(_0xbf1031(_0x276916))return![];if(_0x4ad803['isArrowFunction'](_0x276916)){if('kUQTB'!=='kUQTB')return new _0x3b40f1(_0x2caffe(0x54a),_0x656be4,_0x2caffe(0x2e8));else{const _0x5f3b2f=_0x276916['getBody']();if(!_0x4ad803[_0x2caffe(0x374)](_0x5f3b2f)){const _0x3d7a73=_0x5f3b2f['getText']();_0x5f3b2f[_0x2caffe(0x50c)](_0x2caffe(0x194)+_0x3d7a73+';\x20}');}}}const _0x2a361a=_0x276916[_0x2caffe(0x540)]();if(!_0x2a361a||!_0x4ad803[_0x2caffe(0x374)](_0x2a361a))return![];return _0x2a361a['insertStatements'](0x0,'useEffect(()\x20=>\x20{\x20'+_0x338159(_0x26c003)+_0x2caffe(0x535)),!![];}async function _0x1b70d4(_0x54dbb4){const _0x1b55c6=_0x5ccc4b;await _0x499cf2();const _0x25494e=new _0x5aa955({'useInMemoryFileSystem':![],'skipAddingFilesFromTsConfig':!![],'skipFileDependencyResolution':!![],'skipLoadingLibFiles':!![],'compilerOptions':{'allowJs':!![],'jsx':0x1},'manipulationSettings':{'indentationText':_0x25d916['TwoSpaces']}}),_0x30c9ff=_0x25494e['addSourceFileAtPath'](_0x54dbb4['filePath']),_0x4536f6=_0x1796c2(_0x30c9ff);if(!_0x4536f6)return{'applied':![],'alreadyPresent':![],'reason':'Could\x20not\x20locate\x20the\x20default-exported\x20function\x20component.\x20Manually\x20add\x20the\x20following\x20near\x20the\x20top\x20of\x20your\x20root\x20component\x20in\x20'+_0x54dbb4[_0x1b55c6(0x47a)]+_0x1b55c6(0x49e)+_0x16945e+_0x1b55c6(0x310)+_0x338159(_0x54dbb4)+_0x1b55c6(0x535)};const _0x158571=_0x12dc44(_0x4536f6);if(_0x158571){const _0x19a0a8=_0x5dd97d(_0x158571,_0x54dbb4),_0x176431=_0xdc5a63(_0x30c9ff),_0x1c65fe=_0x734f2(_0x30c9ff),_0x50f9e0=_0x19a0a8||_0x176431||_0x1c65fe;return _0x50f9e0&&await _0x8a1d33(_0x54dbb4['filePath'],_0x30c9ff[_0x1b55c6(0x175)](),_0x1b55c6(0x449)),{'applied':_0x50f9e0,'alreadyPresent':!![],'reason':_0x19a0a8?'Upgraded\x20existing\x20installCeraph()\x20with\x20the\x20testID\x20sentinel\x20seam.':_0x50f9e0?_0x1b55c6(0x31e):'Already\x20wired\x20—\x20no\x20changes\x20needed.'};}const _0x11e52b=_0x147bf8(_0x4536f6,_0x54dbb4);if(!_0x11e52b)return{'applied':![],'alreadyPresent':![],'reason':_0x1b55c6(0x4d6)+_0x54dbb4[_0x1b55c6(0x47a)]+':\x0a\x20\x20import\x20{\x20installCeraph\x20}\x20from\x20\x22'+_0x16945e+_0x1b55c6(0x310)+_0x338159(_0x54dbb4)+_0x1b55c6(0x535)};_0xdc5a63(_0x30c9ff),_0x734f2(_0x30c9ff);const _0x5874fd=_0x30c9ff['getFullText']();return await _0x8a1d33(_0x54dbb4['filePath'],_0x5874fd,'utf-8'),{'applied':!![],'alreadyPresent':![]};}async function _0x1d6eff(_0xcd2886){const _0x1e9e35=_0x5ccc4b;try{return await _0x1b8f80(_0xcd2886['filePath'],_0x1e9e35(0x449));}catch{return null;}}async function _0x1b4fb8(_0x24adad,_0x31de74){await _0x8a1d33(_0x24adad['filePath'],_0x31de74,'utf-8');}var _0x25d916,_0x5aa955,_0x4ad803,_0x4e5589,_0x12ed6f,_0x16945e,_0x357560,_0x2cf0b8,_0x3cac80=_0x4d3071({'src/init/ast-layout.ts'(){'use strict';const _0x29c77e=_0x5ccc4b;_0x12ed6f=![],_0x16945e=_0x29c77e(0x2e7),_0x357560=_0x29c77e(0x35e),_0x2cf0b8=_0x40b444('.ceraph','testid-config.json');}});import{createInterface as _0x1608e2}from'readline';function _0x14a0a0(_0x518bc5){const _0x3d93ce=_0x5ccc4b;if(_0x518bc5[_0x3d93ce(0x41d)]!==void 0x0)return _0x518bc5[_0x3d93ce(0x41d)];if(process.env.CERAPH_NON_INTERACTIVE==='1')return!![];return!process['stdin'][_0x3d93ce(0x346)];}function _0x473d42(_0x26f09c){return new Promise(_0x5a8400=>{const _0x1e383e=_0x4997,_0x27a6d9=_0x1608e2({'input':process[_0x1e383e(0x263)],'output':process['stdout']});_0x27a6d9[_0x1e383e(0x3c5)](_0x26f09c,_0x593068=>{const _0x51e11d=_0x1e383e;_0x27a6d9[_0x51e11d(0x308)](),_0x5a8400(_0x593068);});});}async function _0x98335a(_0x1f8ec7,_0x4c55ab={}){const _0x577bc8=_0x5ccc4b,_0x362901=_0x4c55ab[_0x577bc8(0x3b9)]??!![];if(_0x14a0a0(_0x4c55ab))return _0x362901;const _0x29266e=_0x4c55ab[_0x577bc8(0x42f)]??_0x473d42,_0x400854=_0x362901?_0x577bc8(0x538):'\x20[y/N]\x20',_0x1045ea=(await _0x29266e(_0x1f8ec7+_0x400854))[_0x577bc8(0x1cd)]()[_0x577bc8(0x223)]();if(_0x1045ea['length']===0x0)return _0x362901;return _0x1045ea==='y'||_0x1045ea===_0x577bc8(0x393);}function _0x136036(_0x464101,_0x22a653={}){const _0xcf5a92=_0x5ccc4b,_0x5102ec=_0x22a653['write']??(_0x2e56dd=>process[_0xcf5a92(0x16e)]['write'](_0x2e56dd));_0x5102ec(_0x464101);}function _0x3a9fdf(_0x5b7cc6,_0x464c67){const _0x4e5f6d=_0x5ccc4b,_0x49ecc9=_0x464c67??_0x5b7cc6;if(process[_0x4e5f6d(0x16e)]['isTTY']!==!![]||process[_0x4e5f6d(0x4ca)][_0x4e5f6d(0x346)]!==!![])return _0x49ecc9;return'\x1b]8;;'+_0x5b7cc6+'\x07'+_0x49ecc9+_0x4e5f6d(0x55c);}async function _0x5fa9d4(_0x297c86,_0x2c575f,_0xed9b8b={}){const _0x1408fc=_0x5ccc4b;if(_0x2c575f['length']===0x0)return null;if(_0x14a0a0(_0xed9b8b))return 0x0;const _0x3510a3=_0xed9b8b[_0x1408fc(0x42f)]??_0x473d42,_0x45a808=[_0x297c86];_0x2c575f['forEach']((_0x4b69bd,_0x1d43d9)=>{_0x45a808['push']('\x20\x20'+(_0x1d43d9+0x1)+'.\x20'+_0x4b69bd);}),_0x45a808[_0x1408fc(0x359)]('');const _0x2c0523=_0x45a808[_0x1408fc(0x3aa)]('\x0a')+('Select\x20[1-'+_0x2c575f[_0x1408fc(0x471)]+']:\x20'),_0x529c48=(await _0x3510a3(_0x2c0523))['trim']();if(_0x529c48[_0x1408fc(0x471)]===0x0)return 0x0;const _0x157b3c=Number[_0x1408fc(0x576)](_0x529c48,0xa)-0x1;if(Number[_0x1408fc(0x2ab)](_0x157b3c)||_0x157b3c<0x0||_0x157b3c>=_0x2c575f['length'])return null;return _0x157b3c;}var _0x30ec70=_0x4d3071({'src/init/prompt.ts'(){'use strict';}});import{readdir as _0x3611e4,readFile as _0x32bd61,writeFile as _0x3891f9,mkdir,stat}from'fs/promises';import{join as _0x39d7e1,relative as _0x2e81d4}from'path';function _0x425534(_0x33296a){const _0x2187e6=_0x5ccc4b;return _0x340fc2[_0x2187e6(0x26f)](_0x33296a);}function _0x5629f8(_0x505b0e){const _0x37c550=_0x5ccc4b;return _0x340fc2[_0x37c550(0x35c)](_0x505b0e);}function _0x559faf(_0x515472){const _0x51afe8=_0x5ccc4b,_0x509b10=_0x515472['lastIndexOf']('.');if(_0x509b10<=0x0)return null;const _0x473925=_0x515472[_0x51afe8(0x54d)](0x0,_0x509b10),_0x26191b=_0x515472[_0x51afe8(0x54d)](_0x509b10)[_0x51afe8(0x223)]();if(!_0x425534(_0x26191b))return null;if(_0x473925[_0x51afe8(0x471)]===0x0)return null;return{'stem':_0x473925,'ext':_0x26191b};}function _0x467646(_0x42d1b8){const _0x29919e=_0x5ccc4b,_0x217316=_0x29919e(0x2c6);if(_0x42d1b8[_0x29919e(0x471)]===0x0)return _0x217316+_0x29919e(0x1e2);const _0x511099=Math['max'](..._0x42d1b8['map'](_0x32238e=>_0x32238e[_0x29919e(0x23b)][_0x29919e(0x471)]+0x2)),_0x1cb934=_0x42d1b8[_0x29919e(0x362)](_0x29727b=>{const _0x137ece=_0x29919e,_0x5bb1cd='\x22'+_0x29727b[_0x137ece(0x23b)]+'\x22,',_0x54a387=_0x5bb1cd[_0x137ece(0x21a)](_0x511099+0x1,'\x20');return'\x20\x20configureTestImage('+_0x54a387+'\x20require(\x22'+_0x29727b['relativePath']+_0x137ece(0x514);});return _0x217316+_0x1cb934['join']('\x0a')+'\x0a}\x0a';}async function _0x3117a7(_0x5f1b53){const _0x131470=_0x5ccc4b,_0x455f18=_0x39d7e1(_0x5f1b53,_0x3ef9e7),_0x47b057=_0x39d7e1(_0x455f18,_0x5502a1);let _0x2de31d;try{const _0x2dc097=await stat(_0x455f18);if(!_0x2dc097['isDirectory']())return{'registered':[],'registryPath':_0x47b057,'writtenOrUnchanged':'missing-dir'};_0x2de31d=await _0x3611e4(_0x455f18);}catch{return{'registered':[],'registryPath':_0x47b057,'writtenOrUnchanged':'missing-dir'};}const _0x36875c=new Map();for(const _0x297c22 of _0x2de31d){if(_0x297c22===_0x5502a1)continue;if(_0x297c22['startsWith']('_')||_0x297c22[_0x131470(0x425)]('.'))continue;if(_0x297c22===_0x131470(0x3c8))continue;const _0x222346=_0x559faf(_0x297c22);if(!_0x222346)continue;const _0xb36669={'key':_0x222346['stem'],'relativePath':'./'+_0x297c22,'ext':_0x222346['ext']},_0x4c2146=_0x36875c['get'](_0x222346[_0x131470(0x4f2)]);if(!_0x4c2146){_0x36875c['set'](_0x222346[_0x131470(0x4f2)],_0xb36669);continue;}_0x5629f8(_0xb36669['ext'])<_0x5629f8(_0x4c2146['ext'])&&_0x36875c[_0x131470(0x4fb)](_0x222346[_0x131470(0x4f2)],_0xb36669);}const _0x4edaa3=Array[_0x131470(0x38f)](_0x36875c[_0x131470(0x45f)]())[_0x131470(0x158)]((_0x1344e5,_0x2cd87c)=>_0x1344e5['key']<_0x2cd87c['key']?-0x1:_0x1344e5['key']>_0x2cd87c[_0x131470(0x23b)]?0x1:0x0),_0x1be146=_0x467646(_0x4edaa3);let _0x32e192=null;try{_0x32e192=await _0x32bd61(_0x47b057,_0x131470(0x449));}catch{_0x32e192=null;}if(_0x32e192===_0x1be146)return{'registered':_0x4edaa3,'registryPath':_0x47b057,'writtenOrUnchanged':'unchanged'};return await mkdir(_0x455f18,{'recursive':!![]}),await _0x3891f9(_0x47b057,_0x1be146,_0x131470(0x449)),{'registered':_0x4edaa3,'registryPath':_0x47b057,'writtenOrUnchanged':'written'};}function _0x33dfff(_0x52d972,_0x4616ed){const _0x21bc87=_0x5ccc4b,_0x48e2f3=_0x2e81d4(_0x52d972,_0x4616ed);return _0x48e2f3[_0x21bc87(0x471)]>0x0?_0x48e2f3:_0x4616ed;}var _0x340fc2,_0x5502a1,_0x3ef9e7,_0x4bd0b6=_0x4d3071({'src/camera-registry-sync.ts'(){'use strict';const _0x2c4be6=_0x5ccc4b;_0x340fc2=[_0x2c4be6(0x17e),_0x2c4be6(0x396),_0x2c4be6(0x509),_0x2c4be6(0x1e0),'.heic'],_0x5502a1=_0x2c4be6(0x210),_0x3ef9e7=_0x39d7e1('.ceraph','camera-images');}});import{readFile as _0x31e755,readdir as _0x2db817,stat as _0x53c84a}from'fs/promises';import{join as _0x3f35f9,relative as _0x3b81ce,sep as _0xbcc762}from'path';async function _0x2052d0(_0x53e3f5){try{return await _0x53c84a(_0x53e3f5),!![];}catch{return![];}}async function _0x18d824(_0x2e7e46){const _0x50f762=_0x5ccc4b;try{const _0x363bc7=await _0x31e755(_0x2e7e46,'utf-8'),_0x210016=JSON[_0x50f762(0x398)](_0x363bc7);if(!_0x210016||typeof _0x210016!==_0x50f762(0x382))return null;return _0x210016;}catch{return null;}}function _0xc8a5c9(_0x250042){const _0x4fc0ed=_0x5ccc4b;if(!_0x250042)return{'expo':![],'rn':![]};const _0x286705=_0x250042['dependencies']??{},_0x5cc82d=_0x250042[_0x4fc0ed(0x3d3)]??{},_0x215915={..._0x286705,..._0x5cc82d};return{'expo':Boolean(_0x215915['expo']||_0x215915['expo-router']),'rn':Boolean(_0x215915['react-native'])};}async function _0x435e11(_0x251159){const _0x3d5130=_0x5ccc4b,_0x1590cc=_0x3f35f9(_0x251159,_0x3d5130(0x262));let _0x3305b7;try{_0x3305b7=await _0x31e755(_0x1590cc,'utf-8');}catch{return null;}return _0x3b0497(_0x3305b7);}function _0x3b0497(_0x536469){const _0x442b10=_0x5ccc4b,_0x2a83f0=[];let _0x267c3f=![];for(const _0x549b40 of _0x536469['split'](/\r?\n/)){const _0x35a597=_0x549b40[_0x442b10(0x2be)](/#.*$/,'')[_0x442b10(0x1dc)]();if(_0x35a597['length']===0x0)continue;if(/^packages\s*:\s*$/['test'](_0x35a597)){_0x267c3f=!![];continue;}if(!_0x549b40[_0x442b10(0x425)]('\x20')&&!_0x549b40['startsWith']('-')&&_0x35a597[_0x442b10(0x227)](':')){_0x267c3f=![];continue;}if(!_0x267c3f)continue;const _0xa9ad08=_0x35a597['match'](/^\s*-\s*['"]?([^'"]+?)['"]?\s*$/);if(_0xa9ad08&&_0xa9ad08[0x1])_0x2a83f0[_0x442b10(0x359)](_0xa9ad08[0x1]);}return _0x2a83f0;}async function _0x235152(_0x5a416b,_0x2f56e8){const _0x38bec2=_0x5ccc4b,_0xd911bf=_0x2f56e8[_0x38bec2(0x2be)](/^\.\//,'')['replace'](/\/+$/,'');if(_0xd911bf['length']===0x0)return[];if(!_0xd911bf[_0x38bec2(0x26f)]('*')){const _0x3172af=_0x3f35f9(_0x5a416b,_0xd911bf),_0x153434=await _0x2052d0(_0x3172af);return _0x153434?[_0x3172af]:[];}const _0x2c4888=_0xd911bf['match'](/^([^*]+)\/\*$/);if(!_0x2c4888||!_0x2c4888[0x1])return[];const _0x390a14=_0x2c4888[0x1][_0x38bec2(0x2be)](/\/+$/,''),_0xae7543=_0x3f35f9(_0x5a416b,_0x390a14);let _0x26ae39;try{_0x26ae39=await _0x2db817(_0xae7543,{'withFileTypes':!![]});}catch{return[];}const _0x3ad6fd=[];for(const _0x3f8fb3 of _0x26ae39){if(!_0x3f8fb3['isDirectory']())continue;if(_0x3f8fb3['name']['startsWith']('.'))continue;_0x3ad6fd[_0x38bec2(0x359)](_0x3f35f9(_0xae7543,_0x3f8fb3[_0x38bec2(0x34d)]));}return _0x3ad6fd;}async function _0x4d6086(_0x54cf93){const _0xbfac1e=_0x5ccc4b,_0x4afea4=new Set();let _0x13c8e5=![];const _0x2964cb=await _0x18d824(_0x3f35f9(_0x54cf93,_0xbfac1e(0x16f)));if(_0x2964cb?.['workspaces']){_0x13c8e5=!![];if(Array[_0xbfac1e(0x178)](_0x2964cb[_0xbfac1e(0x48e)])){for(const _0x3a352b of _0x2964cb[_0xbfac1e(0x48e)])_0x4afea4[_0xbfac1e(0x532)](_0x3a352b);}else{if(_0x2964cb['workspaces']&&typeof _0x2964cb[_0xbfac1e(0x48e)]===_0xbfac1e(0x382)&&Array['isArray'](_0x2964cb['workspaces']['packages']))for(const _0x41a9e6 of _0x2964cb[_0xbfac1e(0x48e)][_0xbfac1e(0x23f)]){_0x4afea4[_0xbfac1e(0x532)](_0x41a9e6);}}}const _0x575356=await _0x435e11(_0x54cf93);if(_0x575356!=null){_0x13c8e5=!![];for(const _0x5e08e4 of _0x575356)_0x4afea4[_0xbfac1e(0x532)](_0x5e08e4);}const _0x2642cd=await _0x18d824(_0x3f35f9(_0x54cf93,'lerna.json'));if(_0x2642cd){const _0x460efe=_0x2642cd['packages'];if(Array[_0xbfac1e(0x178)](_0x460efe)){_0x13c8e5=!![];for(const _0x211e95 of _0x460efe){if(typeof _0x211e95===_0xbfac1e(0x40a))_0x4afea4['add'](_0x211e95);}}else await _0x2052d0(_0x3f35f9(_0x54cf93,'lerna.json'))&&(_0x13c8e5=!![]);}if(!_0x13c8e5)return null;return Array['from'](_0x4afea4);}async function _0x5ec4d2(_0x2829b9){const _0x4d5cf1=_0x5ccc4b,_0x23d950=await _0x18d824(_0x3f35f9(_0x2829b9,'package.json')),_0x47fe1f=_0xc8a5c9(_0x23d950);if(_0x47fe1f[_0x4d5cf1(0x172)]||_0x47fe1f['rn'])return{'kind':'none','matches':[],'rootIsRnApp':!![],'isMonorepo':await _0x4d6086(_0x2829b9)!=null};const _0x298239=await _0x4d6086(_0x2829b9);if(_0x298239==null){if('ekWkf'===_0x4d5cf1(0x402))this[_0x4d5cf1(0x196)]=_0x5078d2,this['cachedAt']=_0x5641be[_0x4d5cf1(0x239)]();else return{'kind':'none','matches':[],'rootIsRnApp':![],'isMonorepo':![]};}const _0xdc18cb=new Set();for(const _0xfcb67a of _0x298239){for(const _0x821270 of await _0x235152(_0x2829b9,_0xfcb67a)){_0xdc18cb['add'](_0x821270);}}const _0x17f28b=[];for(const _0x5d8746 of _0xdc18cb){const _0x3f90b3=_0x3f35f9(_0x5d8746,'package.json'),_0x340e6a=await _0x18d824(_0x3f90b3),_0x54db94=_0xc8a5c9(_0x340e6a),_0x2644ef=await _0x2052d0(_0x3f35f9(_0x5d8746,_0x4d5cf1(0x271))),_0x42c6e7=[];if(_0x54db94['expo'])_0x42c6e7[_0x4d5cf1(0x359)](_0x4d5cf1(0x172));if(_0x54db94['rn'])_0x42c6e7[_0x4d5cf1(0x359)](_0x4d5cf1(0x4f6));if(_0x2644ef)_0x42c6e7['push']('app.json');if(_0x42c6e7['length']===0x0)continue;const _0x11b007=_0x3b81ce(_0x2829b9,_0x5d8746)['split'](_0xbcc762)['join']('/');_0x17f28b[_0x4d5cf1(0x359)]({'absPath':_0x5d8746,'relPath':_0x11b007[_0x4d5cf1(0x471)]>0x0?_0x11b007:'.','signals':_0x42c6e7});}_0x17f28b[_0x4d5cf1(0x158)]((_0x328589,_0x5ad215)=>_0x328589[_0x4d5cf1(0x2ec)]<_0x5ad215['relPath']?-0x1:_0x328589['relPath']>_0x5ad215[_0x4d5cf1(0x2ec)]?0x1:0x0);const _0x3f858f=_0x17f28b['length']===0x0?_0x4d5cf1(0x4c5):_0x17f28b['length']===0x1?'single':_0x4d5cf1(0x21b);return{'kind':_0x3f858f,'matches':_0x17f28b,'rootIsRnApp':![],'isMonorepo':!![]};}var _0x1ecc92=_0x4d3071({'src/init/monorepo.ts'(){'use strict';}});import{readFile as _0x32980c,writeFile as _0x50a123,access as _0x1cd01c}from'fs/promises';import{join as _0xd99d0a}from'path';async function _0xb11aa3(_0x4a8de7){try{return await _0x1cd01c(_0x4a8de7),!![];}catch{return![];}}async function _0x24cc98(_0x18a828,_0x98a92a={}){const _0x435cc5=_0x5ccc4b,_0x3bc096=_0x98a92a[_0x435cc5(0x318)]??_0xb11aa3,_0x451b8a=_0x98a92a['readFile']??(_0x350a21=>_0x32980c(_0x350a21,_0x435cc5(0x449))),_0x54e5ae=_0x98a92a['writeFile']??((_0x323b30,_0x2b2d8f)=>_0x50a123(_0x323b30,_0x2b2d8f,_0x435cc5(0x449))),_0x211918=_0xd99d0a(_0x18a828,_0x435cc5(0x271)),_0x7dea0=_0xd99d0a(_0x18a828,'app.config.js'),_0x5b3aec=_0xd99d0a(_0x18a828,_0x435cc5(0x3a7)),_0x3e0ded=_0xd99d0a(_0x18a828,_0x435cc5(0x4b3)),_0x6c98f5=_0xd99d0a(_0x18a828,_0x435cc5(0x559)),_0x57205d=await _0x3bc096(_0x7dea0),_0x45275d=await _0x3bc096(_0x5b3aec);if(_0x57205d||_0x45275d)return{'kind':_0x435cc5(0x18a),'path':_0x45275d?_0x5b3aec:_0x7dea0};if(await _0x3bc096(_0x211918)){const _0x15f9d7=await _0x451b8a(_0x211918),_0x750e8f=_0x26515d(_0x15f9d7);if(!_0x750e8f['ok'])return{'kind':_0x435cc5(0x18a),'path':_0x211918};const _0x20ba40=_0x181ebc(_0x750e8f[_0x435cc5(0x36e)],_0x36932a);if(_0x20ba40[_0x435cc5(0x4d9)]===_0x435cc5(0x35b))return{'kind':'expo-json-already-registered','scheme':_0x20ba40['scheme'],'path':_0x211918};return await _0x54e5ae(_0x211918,_0xbc0894(_0x750e8f['parsed'],_0x15f9d7)),{'kind':_0x435cc5(0x231),'previousScheme':_0x20ba40[_0x435cc5(0x483)],'nextScheme':_0x20ba40['nextScheme'],'path':_0x211918};}if(await _0x3bc096(_0x3e0ded)||await _0x3bc096(_0x6c98f5)){if(_0x435cc5(0x523)===_0x435cc5(0x47f)){for(var _0x3dd5f1 in _0x3da6af)_0x1013d4(_0x4b97c0,_0x3dd5f1,{'get':_0x3b787e[_0x3dd5f1],'enumerable':!![]});}else return{'kind':'bare-rn-needs-manual'};}return{'kind':_0x435cc5(0x4af)};}function _0x26515d(_0x3ff6e7){const _0xf83480=_0x5ccc4b;try{if(_0xf83480(0x211)!==_0xf83480(0x28b)){const _0x267938=JSON[_0xf83480(0x398)](_0x3ff6e7);if(!_0x267938||typeof _0x267938!==_0xf83480(0x382)||Array[_0xf83480(0x178)](_0x267938))return{'ok':![],'parsed':{}};return{'ok':!![],'parsed':_0x267938};}else _0x26082a[_0xf83480(0x359)](_0x5aec23),_0xdcf691['onStep']?.(_0x14fab2);}catch{return{'ok':![],'parsed':{}};}}function _0xbc0894(_0xf9311b,_0x2b8e53){const _0x35ecee=_0x2b8e53['match'](/\n(\s+)"/),_0x5d84b6=_0x35ecee?.[0x1]??'\x20\x20',_0x2e954a=_0x2b8e53['endsWith']('\x0a'),_0x408dd4=JSON['stringify'](_0xf9311b,null,_0x5d84b6);return _0x2e954a?_0x408dd4+'\x0a':_0x408dd4;}function _0x181ebc(_0x5365ba,_0x427333){const _0x1b8756=_0x5ccc4b;(!_0x5365ba[_0x1b8756(0x172)]||typeof _0x5365ba[_0x1b8756(0x172)]!=='object')&&(_0x5365ba['expo']={});const _0x17d09d=_0x5365ba[_0x1b8756(0x172)],_0x2d3d24=_0x17d09d[_0x1b8756(0x18f)];if(typeof _0x2d3d24===_0x1b8756(0x40a)&&_0x2d3d24===_0x427333)return{'action':'already','scheme':_0x2d3d24,'previousScheme':_0x2d3d24,'nextScheme':[_0x2d3d24]};if(Array[_0x1b8756(0x178)](_0x2d3d24)&&_0x2d3d24['includes'](_0x427333))return{'action':_0x1b8756(0x35b),'scheme':_0x2d3d24,'previousScheme':_0x2d3d24,'nextScheme':[..._0x2d3d24]};if(_0x2d3d24===void 0x0)return _0x17d09d[_0x1b8756(0x18f)]=_0x427333,{'action':'added','scheme':_0x427333,'previousScheme':void 0x0,'nextScheme':[_0x427333]};if(typeof _0x2d3d24===_0x1b8756(0x40a)){const _0x458918=[_0x2d3d24,_0x427333];return _0x17d09d[_0x1b8756(0x18f)]=_0x458918,{'action':_0x1b8756(0x38b),'scheme':_0x458918,'previousScheme':_0x2d3d24,'nextScheme':_0x458918};}if(Array['isArray'](_0x2d3d24)){if(_0x1b8756(0x2c3)!=='XODYI')return{'registered':_0x2ad1df,'registryPath':_0x25296b,'writtenOrUnchanged':'unchanged'};else{const _0x24e066=[..._0x2d3d24,_0x427333];return _0x17d09d['scheme']=_0x24e066,{'action':_0x1b8756(0x38b),'scheme':_0x24e066,'previousScheme':_0x2d3d24,'nextScheme':_0x24e066};}}return _0x17d09d[_0x1b8756(0x18f)]=_0x427333,{'action':'added','scheme':_0x427333,'previousScheme':_0x2d3d24,'nextScheme':[_0x427333]};}function _0x140dde(){const _0x1ccb3f=_0x5ccc4b;return _0x1ccb3f(0x1f9)[_0x1ccb3f(0x41c)]();}function _0x4b56ef(_0x7ff2d2){const _0x2153bd=_0x5ccc4b;return('\x0aYour\x20project\x20uses\x20'+_0x7ff2d2+_0x2153bd(0x224))[_0x2153bd(0x41c)]();}var _0x36932a,_0xe1bccc=_0x4d3071({'src/init/url-scheme.ts'(){'use strict';_0x36932a='ceraph';}});import{createHash}from'crypto';import{join as _0x4af6da}from'path';import{readFile as _0x523e78}from'fs/promises';import{Project as _0x5d9981,Node as _0x16906e,SyntaxKind as _0x520ddb}from'ts-morph';function _0x481c28(_0x50aa66){const _0x1bf679=_0x5ccc4b;return createHash(_0x1bf679(0x192))[_0x1bf679(0x15f)](_0x50aa66)['digest']('hex')[_0x1bf679(0x54d)](0x0,0x10);}function _0x100cfe(_0x1e457a,_0x5318a0){const _0x379d20=_0x5ccc4b;if(_0x16906e['isStringLiteral'](_0x1e457a)||_0x16906e[_0x379d20(0x26a)](_0x1e457a))return _0x1e457a[_0x379d20(0x458)]()===_0x5318a0;if(_0x16906e[_0x379d20(0x529)](_0x1e457a)){const _0x1bfd07=_0x1e457a['getElements']()[0x0];return!!_0x1bfd07&&_0x100cfe(_0x1bfd07,_0x5318a0);}if(_0x16906e['isCallExpression'](_0x1e457a)){const _0x584b33=_0x1e457a['getExpression']();if(_0x16906e[_0x379d20(0x431)](_0x584b33)&&_0x584b33['getText']()==='require'){const _0x19970f=_0x1e457a['getArguments']()[0x0];return!!_0x19970f&&_0x100cfe(_0x19970f,_0x5318a0);}}return![];}function _0x49d943(_0x3f3fe6){const _0x12219a=_0x5ccc4b,_0x1c0d50=new _0x5d9981({'useInMemoryFileSystem':!![],'compilerOptions':{'allowJs':!![]}}),_0x2aa248=_0x1c0d50[_0x12219a(0x187)](_0x12219a(0x2cb),_0x3f3fe6);for(const _0x3bf570 of _0x2aa248['getDescendantsOfKind'](_0x520ddb[_0x12219a(0x165)])){if(_0x3bf570['getName']()!=='plugins')continue;const _0x50ce50=_0x3bf570[_0x12219a(0x56f)]();if(_0x50ce50&&_0x16906e['isArrayLiteralExpression'](_0x50ce50))return{'array':_0x50ce50,'sourceText':_0x2aa248[_0x12219a(0x175)]()};}return null;}var _0x2b6942,_0x286703,_0x41f3a0=_0x4d3071({'src/init/babel-config-hash.ts'(){'use strict';const _0x38c23b=_0x5ccc4b;_0x2b6942=_0x38c23b(0x265),_0x286703=['babel.config.js','babel.config.cjs','.babelrc.js'];}});import{join as _0x2fbce7}from'path';import{readFile as _0x4934fd,writeFile as _0x5c6bc1,access as _0xbb1e85,mkdir as _0x7df337}from'fs/promises';function _0x4662a5(_0x41e563){const _0x15e0d2=_0x5ccc4b;return _0x15e0d2(0x417)+_0x41e563+'\x27],\x0a\x20\x20\x20\x20plugins:\x20[\x27'+_0x2b6942+'\x27],\x0a\x20\x20};\x0a};\x0a';}async function _0x5406d3(_0x3b5400){try{return await _0xbb1e85(_0x3b5400),!![];}catch{return![];}}async function _0x5cd6e1(_0x14c695,_0x475423){for(const _0x165a67 of _0x286703){const _0x2af3a6=_0x2fbce7(_0x14c695,_0x165a67);if(await _0x475423(_0x2af3a6))return _0x2af3a6;}return null;}async function _0x14e676(_0x4fc33b,_0x4b7926={}){const _0x2feb34=_0x5ccc4b,_0x4db294=_0x4b7926[_0x2feb34(0x37a)]??(_0x3d6f90=>_0x4934fd(_0x3d6f90,_0x2feb34(0x449))),_0x435e61=_0x4b7926['writeFile']??((_0x41b043,_0x190043)=>_0x5c6bc1(_0x41b043,_0x190043,'utf-8')),_0x356560=_0x4b7926['fileExists']??_0x5406d3,_0x1cac2f=await _0x5cd6e1(_0x4fc33b,_0x356560);if(!_0x1cac2f){let _0x13cd25=_0x2feb34(0x4a4);try{const _0x1080f4=JSON[_0x2feb34(0x398)](await _0x4db294(_0x2fbce7(_0x4fc33b,_0x2feb34(0x16f)))),_0x5b24a6={..._0x1080f4[_0x2feb34(0x282)],..._0x1080f4['devDependencies']};if(!_0x5b24a6['expo'])_0x13cd25=_0x2feb34(0x1b5);}catch{}const _0x1157d9=_0x2fbce7(_0x4fc33b,_0x2feb34(0x2cb)),_0x158904=_0x4662a5(_0x13cd25);return await _0x435e61(_0x1157d9,_0x158904),await _0x27d39c(_0x4fc33b,_0x158904,_0x4b7926,_0x435e61),{'kind':'created','path':_0x1157d9,'preset':_0x13cd25};}let _0x1b3480;try{_0x1b3480=await _0x4db294(_0x1cac2f);}catch{return{'kind':'needs-manual','path':_0x1cac2f,'reason':_0x2feb34(0x2a4)};}const _0x5b1148=_0x49d943(_0x1b3480);if(_0x5b1148){if(_0x2feb34(0x31f)!==_0x2feb34(0x414)){const _0x1c89ba=_0x5b1148['array']['getElements']();if(_0x1c89ba[_0x2feb34(0x28e)](_0x3ca1bd=>_0x100cfe(_0x3ca1bd,_0x2b6942)))return await _0x27d39c(_0x4fc33b,_0x1b3480,_0x4b7926,_0x435e61),{'kind':'already-present','path':_0x1cac2f};const _0x233d60=_0x1c89ba[_0x2feb34(0x1c0)](_0x287a37=>_0x100cfe(_0x287a37,_0x8ebe68)),_0x272da9=_0x233d60>=0x0?_0x233d60:_0x1c89ba['length'];_0x5b1148['array']['insertElement'](_0x272da9,'\x22'+_0x2b6942+'\x22');const _0x2f986e=_0x5b1148[_0x2feb34(0x4ea)][_0x2feb34(0x548)]()[_0x2feb34(0x175)]();return await _0x435e61(_0x1cac2f,_0x2f986e),await _0x27d39c(_0x4fc33b,_0x2f986e,_0x4b7926,_0x435e61),{'kind':'added','path':_0x1cac2f,'beforeReanimated':_0x233d60>=0x0};}else return{'path':_0xf004fc,'status':_0x2feb34(0x4b0)};}return{'kind':_0x2feb34(0x3eb),'path':_0x1cac2f,'reason':'no\x20`plugins:\x20[...]`\x20array\x20found\x20to\x20edit\x20safely\x20(dynamic\x20config?).\x20Add\x20\x22'+_0x2b6942+'\x22\x20to\x20your\x20babel\x20plugins,\x20before\x20any\x20\x22'+_0x8ebe68+_0x2feb34(0x303)};}async function _0x27d39c(_0x2c0f4b,_0x34c85f,_0x3d9336,_0x118d0b){const _0x360a9a=_0x5ccc4b,_0x1e8df8=_0x2fbce7(_0x2c0f4b,'.ceraph');if(!_0x3d9336['writeFile'])try{await _0x7df337(_0x1e8df8,{'recursive':!![]});}catch{}const _0x4a6dd2={'pluginVersion':_0x3d9336[_0x360a9a(0x198)]??_0x4e4761,'babelConfigHash':_0x481c28(_0x34c85f)};await _0x118d0b(_0x2fbce7(_0x1e8df8,_0x360a9a(0x450)),JSON['stringify'](_0x4a6dd2,null,0x2)+'\x0a');}var _0x8ebe68,_0x4e4761,_0x165f87=_0x4d3071({'src/init/babel-config.ts'(){'use strict';const _0x56d417=_0x5ccc4b;_0x41f3a0(),_0x8ebe68=_0x56d417(0x14b),_0x4e4761=_0x56d417(0x286);}});import{execFile}from'child_process';import{constants as _0x3a5880,promises as _0x4c164c}from'fs';import{isAbsolute,join as _0x5d47ae,normalize,relative as _0x5d2da3}from'path';import{promisify}from'util';function _0x3cc824(_0x1bf5f2){const _0x563151=_0x5ccc4b,_0x4fd98a=_0x1bf5f2[_0x563151(0x223)]();for(const _0x533cfe of _0x4c09df){if(_0x533cfe['test'](_0x4fd98a))return![];}const _0x540856=_0x4fd98a[_0x563151(0x4c7)]('/')['pop']()??'';if(/[._-]tokens?($|[._-])/['test'](_0x540856))return![];const _0x195240=_0x1bf5f2[_0x563151(0x326)]('.');if(_0x195240<0x0)return![];const _0x488fe1=_0x1bf5f2['slice'](_0x195240)['toLowerCase']();return _0x5d0f85['has'](_0x488fe1);}async function _0x2fb97f(_0x23710f){const _0x13b1dc=_0x5ccc4b;try{const {stdout:_0x53bff2}=await _0x22ad07(_0x13b1dc(0x2f4),['rev-parse','--abbrev-ref','HEAD'],{'cwd':_0x23710f});return _0x53bff2[_0x13b1dc(0x1cd)]();}catch{return'unknown';}}async function _0x3aa0a3(_0x38d75d,_0x134469){try{const {stdout:_0x33ee00}=await _0x22ad07('git',['rev-parse',_0x134469],{'cwd':_0x38d75d});return _0x33ee00['trim']();}catch{return _0x134469;}}async function _0x5bd14e(_0x299684){const _0x51c91b=_0x5ccc4b;try{const {stdout:_0x4a39dc}=await _0x22ad07('git',[_0x51c91b(0x2e1)],{'cwd':_0x299684,'maxBuffer':0x8*0x400*0x400});return _0x4a39dc[_0x51c91b(0x4c7)]('\x0a')['map'](_0x4110fa=>_0x4110fa[_0x51c91b(0x1cd)]())[_0x51c91b(0x235)](Boolean)['filter'](_0x3cc824);}catch{return[];}}var _0x22ad07,_0x5d0f85,_0x4c09df,_0x4a6690=_0x4d3071({'src/git.ts'(){'use strict';const _0x1d40f3=_0x5ccc4b;_0x22ad07=promisify(execFile),_0x5d0f85=new Set(['.tsx','.ts',_0x1d40f3(0x570),'.js',_0x1d40f3(0x193),_0x1d40f3(0x32e),'.json']),_0x4c09df=[/(^|\/)\.env(\.|$)/,/\.pem$/,/\.key$/,/\.p12$/,/\.pfx$/,/\.keystore$/,/\.jks$/,/\.mobileprovision$/,/(^|\/)credentials?\b/,/(^|\/)secrets?\b/,/private[_-]?key/];}});import{execFile as _0x52d38a}from'child_process';import{promisify as _0xe8985}from'util';async function _0x3cd658(_0x2331e2){const _0x4b7cf5=_0x5ccc4b,{stdout:_0xacc093}=await _0x329a25(_0x4b7cf5(0x2f4),[_0x4b7cf5(0x151),'--get','remote.origin.url'],{'cwd':_0x2331e2,'encoding':'utf-8'}),_0x1297c9=_0xacc093[_0x4b7cf5(0x1cd)](),_0x586ddd=_0x1297c9[_0x4b7cf5(0x2be)](/\.git$/,''),_0x16dfff=_0x586ddd[_0x4b7cf5(0x2ae)](/^(?:https?:\/\/(?:[^/@]+@)?github\.com(?::\d+)?\/|git@github\.com:|ssh:\/\/git@github\.com(?::\d+)?\/)([^/]+)\/([^/]+?)$/);if(!_0x16dfff)throw new Error('Could\x20not\x20resolve\x20GitHub\x20repo\x20from\x20git\x20remote.');return{'owner':_0x16dfff[0x1],'repo':_0x16dfff[0x2]};}var _0x329a25,_0x5f5292=_0x4d3071({'src/github.ts'(){'use strict';_0x329a25=_0xe8985(_0x52d38a);}});function _0x28ecdc(_0x80779e){const _0x407f48=_0x5ccc4b;let _0x46c416;try{_0x46c416=new URL(_0x80779e);}catch{throw new Error(_0x407f48(0x162)+_0x80779e+'\x22\x20—\x20must\x20be\x20an\x20absolute\x20URL\x20with\x20a\x20scheme\x20(e.g.\x20https://ceraph.dev/api/mcp\x20or\x20http://localhost:3000/api/mcp).');}if(_0x46c416[_0x407f48(0x264)]==='https:')return _0x80779e;if(_0x46c416['protocol']==='http:'){const _0x4caf60=_0x46c416['hostname']['toLowerCase']();if(_0x4ad906[_0x407f48(0x466)](_0x4caf60))return _0x80779e;throw new Error(_0x407f48(0x387)+_0x80779e+'\x22.\x20Use\x20https://\x20for\x20remote\x20endpoints\x20(http://\x20is\x20only\x20allowed\x20for\x20localhost\x20/\x20127.0.0.1).');}throw new Error('Refusing\x20to\x20send\x20your\x20Ceraph\x20token\x20to\x20a\x20\x22'+_0x46c416['protocol']+'\x22\x20URL:\x20\x22'+_0x80779e+_0x407f48(0x38d));}function _0x2223(){const _0x31df30=['devDependencies','index','camera-images','VyvDj','LAkuJ','rn-flow-progress-notify.sh','Detected\x20React\x20Native\x20app\x20at\x20','[!]','simulatorUdid','Claude\x20Code:\x20','direction','tapAtPoint','WDA\x20apps/launch\x20failed:\x20','.\x20Open\x20Xcode,\x20run\x20the\x20WebDriverAgentRunner\x20target\x20on\x20your\x20connected\x20iPhone\x20once,\x20then\x20try\x20again\x20on\x20real\x20devices.\x20Simulator\x20support\x20is\x20available\x20via\x20rn_wda_start.','sim:','screenCount','Re-run\x20with\x20--global\x20to\x20delete\x20~/.ceraph/auth.json.\x20Note:\x20this\x20token\x20is\x20shared\x20across\x20every\x20Ceraph\x20install\x20on\x20this\x20machine\x20—\x20removing\x20it\x20logs\x20you\x20out\x20everywhere.','executable','baseUrl','setAppLifecycle','gitignore','Ceraph\x20rate\x20limit\x20hit.\x20Try\x20again\x20in\x20a\x20few\x20seconds.','reqYF','no-github-remote','needs-manual','npm','passed','installCeraph-only','snapshotTarget','children','volumeUp','AmpDD','Install\x20with\x20`brew\x20install\x20ffmpeg`\x20to\x20enable\x20per-chain\x20mp4\x20capture\x20on\x20real-device\x20runs.\x20Tests\x20will\x20continue\x20without\x20video\x20until\x20installed.','unlock','\x0aManual\x20actions\x20needed:\x0a','.gitignore','@ceraph/react-native-mcp\x0a\x0aUSAGE\x0a\x20\x20npx\x20@ceraph/react-native-mcp\x20<command>\x20[flags]\x0a\x0aCOMMANDS\x0a\x20\x20init\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Wire\x20up\x20MCP\x20clients,\x20hooks,\x20AST\x20replacements,\x20and\x20doctor.\x0a\x20\x20uninstall\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Reverse\x20the\x20mutations\x20init\x20applied.\x0a\x20\x20(no\x20command)\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Start\x20the\x20MCP\x20server\x20over\x20stdio.\x0a\x0aFLAGS\x0a\x20\x20--agent\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Pass\x20when\x20an\x20AI\x20tool\x20is\x20driving\x20the\x20install\x20—\x20defers\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20interactive\x20camera\x20setup\x20to\x20the\x20agent\x20via\x20a\x20single\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CERAPH_INIT_AGENT_HINT={...}\x20JSON\x20line\x20emitted\x20on\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20stdout\x20at\x20completion.\x20Equivalent\x20to\x20CERAPH_AGENT_MODE=1.\x0a\x20\x20--tier=<pro|starter>\x20\x20Pre-select\x20the\x20plan,\x20skipping\x20the\x20interactive\x20prompt.\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Starter\x20is\x20free\x20(local\x20build/run/device\x20tools,\x20no\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20sign-in).\x20Pro\x20($10/mo)\x20adds\x20AI\x20flow\x20testing\x20on\x20a\x20real\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20device\x20and\x20requires\x20sign-in\x20+\x20checkout.\x0a\x20\x20--help,\x20-h\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Show\x20this\x20help\x20text.\x0a','Failed\x20to\x20get\x20element\x20tree:\x20','--dry-run','_findNavBarBackButton','MnSEB','center','accessToken','Replace\x20each\x20<CameraView\x20/>\x20with\x20<CeraphCamera\x20imageKey=\x22...\x22\x20/>\x20from\x20\x22@ceraph/react-native-mcp/shim\x22.\x20The\x20shim\x20falls\x20through\x20to\x20expo-camera\x20in\x20production\x20builds.','CFBundleDisplayName','install','revertCeraphUrlScheme','pQsLp','[X]','Pro\x20is\x20active\x20on\x20this\x20account.','rn-error-notify.sh','currentBaseUrl','glotG','PdkMc','react','string','removedImport','device:','stateVersion','INSTALLED_CACHE_MS','command-failed','CeraphCamera','already-injected','.zshrc','\x20(dynamic\x20Expo\x20config).\x20The\x20init\x20walkthrough\x20never\x20edited\x20this\x20file\x20automatically;\x20if\x20you\x20(or\x20a\x20teammate)\x20added\x20`ceraph`\x20to\x20its\x20`scheme`\x20value,\x20remove\x20that\x20entry\x20by\x20hand.\x20After\x20editing,\x20run\x20`expo\x20prebuild\x20--clean`\x20or\x20restart\x20the\x20dev\x20client.','BCkKI',':\x20configured\x20✓','status','module.exports\x20=\x20function\x20(api)\x20{\x0a\x20\x20api.cache(true);\x0a\x20\x20return\x20{\x0a\x20\x20\x20\x20presets:\x20[\x27','Device\x20is\x20locked.\x20Unlock\x20it\x20manually\x20once,\x20then\x20set\x20Settings\x20→\x20Display\x20&\x20Brightness\x20→\x20Auto-Lock\x20→\x20Never\x20so\x20it\x20stays\x20awake\x20while\x20flows\x20run.\x20WDA\x20can\x27t\x20bypass\x20Face\x20ID\x20or\x20a\x20passcode.','zpfQt','\x20is\x20not\x20installed\x20on\x20the\x20device.','25ezAeWC','trimStart','nonInteractive','isVariableDeclaration','\x20\x20Manual\x20actions:\x20\x20','fetchSourceTree','read','NcUpb','substring','\x20<CameraView>\x20to\x20<CeraphCamera>?','startsWith','lock','#!/bin/bash\x0a#\x20rn-error-notify.sh\x20—\x20Injected\x20by\x20@ceraph/react-native-mcp\x20init\x0a#\x20Reads\x20.rn-errors.json\x20and\x20injects\x20runtime\x20errors\x20into\x20Claude\x27s\x20context.\x0a\x0aERROR_FILE=\x22$CLAUDE_PROJECT_DIR/mobile/.rn-errors.json\x22\x0a\x0a#\x20Also\x20check\x20project\x20root\x20if\x20mobile/\x20doesn\x27t\x20exist\x0aif\x20[\x20!\x20-f\x20\x22$ERROR_FILE\x22\x20];\x20then\x0a\x20\x20ERROR_FILE=\x22$CLAUDE_PROJECT_DIR/.rn-errors.json\x22\x0afi\x0a\x0aif\x20[\x20!\x20-f\x20\x22$ERROR_FILE\x22\x20];\x20then\x0a\x20\x20exit\x200\x0afi\x0a\x0aERROR_COUNT=$(jq\x20-r\x20\x27.errors\x20|\x20length\x27\x20\x22$ERROR_FILE\x22\x202>/dev/null)\x0a\x0aif\x20[\x20\x22$ERROR_COUNT\x22\x20=\x20\x220\x22\x20]\x20||\x20[\x20-z\x20\x22$ERROR_COUNT\x22\x20];\x20then\x0a\x20\x20exit\x200\x0afi\x0a\x0aecho\x20\x22REACT\x20NATIVE\x20RUNTIME\x20ERROR\x20DETECTED:\x22\x0aecho\x20\x22\x22\x0ajq\x20-r\x20\x27.errors[]\x20|\x20\x22Error:\x20\x5c(.message)\x5cnStack:\x20\x5c(.stack)\x5cnTime:\x20\x5c(.timestamp)\x5cn---\x22\x27\x20\x22$ERROR_FILE\x22\x202>/dev/null\x0aecho\x20\x22\x22\x0aecho\x20\x22Use\x20rn_get_errors\x20for\x20full\x20details.\x20Fix\x20the\x20error\x20and\x20rebuild.\x22\x0a','end','number',';\x20udid\x20','BRoOx','dist','install-failed','already-present','ask','DtsyC','isIdentifier','checks','getFunctions','.bashrc','antigravity','min','getNamedImports','cusyC','enabledMcpjsonServers','pipe','uQPui','dJzNl','/source?format=json','entries','booted','test','flavor','scrollToElement','hrOJg','revertUserGlobalMcpClients','sendW3CActions','contents','canonicalScript','ceraph://','utf-8','Failed\x20to\x20parse\x20devicectl\x20output:\x20','text','mGpJy','ffmpeg-installed','nEVXo','\x22$CLAUDE_PROJECT_DIR\x22/.claude/hooks/rn-flow-progress-notify.sh','testid-config.json','\x20image','awake','Hook\x20script:\x20.claude/hooks/rn-error-notify.sh\x20✓','--udid','Set\x20your\x20','xdg-open','.rn-errors.json','getLiteralText','command','Next:\x20ask\x20your\x20AI\x20coding\x20assistant\x20(Claude\x20Code,\x20Cursor,\x20Codex,\x20etc.):','getSymbol','assertVisible','wwhRi','not-found','values','waitFor','process','Found\x20','no\x20.gitignore','bXMkP','buildTapPointerActions','has','__awaitRealDeviceHookForTests','No\x20correction\x20(device\x20coordinates)','auto-no-target-found','hardwareProperties','WDA\x20reachability\x20probe\x20threw:\x20','\x20→\x20<CeraphCamera\x20/>','udidInflight','missing\x20token',').\x20Try\x20again\x20in\x20a\x20few\x20seconds.','LSApplicationWorkspaceErrorDomain','length','iqIoo','warning','\x20installCeraph()\x20in\x20','ipconfig','get','nav-bar','getActiveAppInfo','unlocked','filePath',':\x20existing\x20config\x20at\x20','runDoctor','\x20is\x20malformed\x20JSON\x20—\x20preserving\x20it.\x20Fix\x20the\x20file\x20manually\x20then\x20re-run\x20init.','expiresAt','fECpy','getPixelRatio','bun.lockb','elementMatches','previousScheme','version','ffmpeg','urWpY','auto-prefer-device','\x20file(s)','\x0a@ceraph/react-native-mcp\x20init\x0a','invalidate','findAndTap','data','98492ovQmzi','workspaces','screens','All\x20','stdioToStderr','Rewrite\x20','No\x20iOS\x20target\x20detected.\x20For\x20a\x20real\x20device:\x20tell\x20the\x20user\x20to\x20plug\x20in\x20their\x20iPhone\x20via\x20USB-C\x20and\x20trust\x20this\x20Mac,\x20then\x20call\x20`rn_wait_for_device`\x20(listens\x20on\x20macOS\x27s\x20usbmuxd\x20daemon\x20for\x20sub-second\x20event-driven\x20detection\x20—\x20no\x20polling,\x20no\x20timeout).\x20For\x20a\x20simulator:\x20boot\x20one\x20(Simulator.app\x20or\x20`xcrun\x20simctl\x20boot\x20<udid>`)\x20and\x20call\x20`rn_wda_start`\x20to\x20target\x20it.','/window/size','iOS\x20does\x20not\x20expose\x20an\x20API\x20for\x20disabling\x20Auto-Lock.\x20Open\x20Settings\x20→\x20Display\x20&\x20Brightness\x20→\x20Auto-Lock\x20→\x20Never\x20on\x20the\x20device\x20before\x20running\x20long\x20flows.\x20The\x20flow\x20runner\x20keeps\x20WDA\x27s\x20session\x20warm\x20with\x20a\x20heartbeat,\x20but\x20it\x20cannot\x20prevent\x20Auto-Lock\x20by\x20itself.','<!doctype\x20html><html><body\x20style=\x22font-family:system-ui;padding:32px;background:#0b0f14;color:#e6edf3;\x22><h1>CLI\x20signed\x20in</h1><p>You\x20can\x20close\x20this\x20tab.</p></body></html>','Set\x20the\x20missing\x20vars\x20before\x20running:\x20','see\x20details','owner','Could\x20not\x20auto-wire\x20the\x20testID\x20injector:\x20','found','gate\x20closed','.ceraph/wda-derived/',':\x0a\x20\x20import\x20{\x20installCeraph\x20}\x20from\x20\x22','processIdentifier','WDA\x20tap\x20failed','/tier-check','1505928QZyqiM','intent','babel-preset-expo','pathname','Code=115','getExpression','appium-webdriveragent/package.json','WDA\x20unavailable\x20—\x20call\x20rn_wda_start\x20first\x20if\x20testing\x20on\x20a\x20simulator.','account-invalid','right','delete','keyDown','Unknown\x20error\x20during\x20screenshot','no-rn-project','no-changes','Picked\x20index\x20out\x20of\x20range.','.rn-flow-progress.json','ios','exitCode','PRaZx','--json-output','/cli-auth?port=','setHeader','JQvpn','ceraph-uninstall-boot-preview-','.json','appium-webdriveragent','pyyql','matches','::1','claude-hooks','iYHEx','manual\x20action\x20required\x20—\x20','No\x20working\x20launch\x20transport\x20found.\x20Install\x20Xcode\x20(for\x20devicectl)\x20or\x20idb\x20(https://fbidb.io/)\x20to\x20launch\x20apps\x20on\x20a\x20real\x20device.','skipped-needs-confirmation','none','.expo','split','homeDir','random','stderr','\x20\x20Warnings:\x20\x20\x20\x20\x20\x20\x20\x20','WxMLB','checkIdb','Graph\x20cache\x20seed\x20returned\x20an\x20unexpected\x20response\x20shape.','Opening\x20','xXrDJ','hideKeyboardAfter','wxBQh','clearSimulatorWdaPort','eEoZp','\x20<CeraphCamera>\x20tag(s).\x20If\x20any\x20of\x20those\x20keys\x20were\x20customer-set\x20(not\x20Ceraph-generated),\x20re-apply\x20them\x20after\x20install\x20rebuilds\x20the\x20camera\x20surface.','Default\x20export\x20is\x20not\x20a\x20block-bodied\x20function.\x20Manually\x20add\x20the\x20following\x20at\x20the\x20top\x20of\x20your\x20root\x20component\x20in\x20','Swipe\x20failed\x20during\x20scrollToElement','WDA\x20setOrientation\x20failed:\x20','action','target','simctl\x20launch\x20failed:\x20','App\x20','Could\x20not\x20find\x20app/_layout.tsx\x20or\x20App.tsx.\x20Add\x20this\x20to\x20your\x20root\x20component\x20manually\x20(the\x20require\x20path\x20is\x20relative\x20to\x20that\x20file\x20—\x20`./.ceraph/testid-config.json`\x20from\x20a\x20root\x20App.tsx,\x20`../.ceraph/testid-config.json`\x20from\x20app/_layout.tsx):\x0a\x20\x20useEffect(()\x20=>\x20{\x20installCeraph({\x20readTestidConfig:\x20()\x20=>\x20{\x20try\x20{\x20return\x20require(\x22./.ceraph/testid-config.json\x22);\x20}\x20catch\x20{\x20return\x20null;\x20}\x20}\x20});\x20},\x20[]);','left','simctl','identifier',')\x20—\x20preserved','args','\x20`hooks`\x20is\x20not\x20a\x20JSON\x20object\x20—\x20preserving\x20it.','result','agentMessage','mcp_servers.','dfOQI','signal-host','terminate','array','camera','next','Could\x20not\x20bind\x20a\x20free\x20port\x20for\x20the\x20auth\x20listener.','All\x20<CeraphCamera\x20imageKey>\x20values\x20resolve\x20to\x20files\x20in\x20.ceraph/camera-images/.','permission-interceptor-ready','file://','--tier=','stem','useEffect\x20contains\x20other\x20statements','JwiRJ',')\x20—\x20preserving\x20it.','react-native','findAndTapReturningTree','Failed\x20to\x20type\x20text\x20(serial\x20fallback)','registered','127.0.0.1','set','lockState','.claude','eaaCe','unref','Detected\x20a\x20monorepo\x20at\x20the\x20current\x20directory\x20but\x20could\x20not\x20find\x20a\x20React\x20Native\x20or\x20Expo\x20subpackage.\x20Re-run\x20`npx\x20@ceraph/react-native-mcp\x20init`\x20from\x20inside\x20the\x20RN/Expo\x20app\x20folder,\x20or\x20add\x20the\x20app\x20to\x20your\x20workspaces.','Failed\x20to\x20get\x20window\x20size:\x20','SqkHH','pixelRatio','skipped\x20—\x20','settings.local.json','\x20layout(s)\x20(','skipped','mode','.png','unknown','help','replaceWithText','Ijtxe','getTagNameNode','iproxy\x20bridge\x20already\x20running\x20(external).','apps','abort','/wda/keys','\x20is\x20not\x20a\x20JSON\x20object\x20(got\x20','\x22));','ensureSession','getStatements','Bearer\x20','isArrowFunction','page','camera-registry-synced','layoutCount','Invalid\x20CERAPH_WEB_BASE_URL\x20or\x20CERAPH_API_URL:\x20\x22','No\x20bare\x20<CameraView>\x20usages\x20from\x20expo-camera\x20found\x20in\x20app/src/screens.','error','fetch','../','/wda/unlock','Ceraph\x20server\x20returned\x20an\x20unexpected\x20response\x20shape\x20for\x20','PYoGv','no-layout-found','getFilePath','app','LkHOR','.next','isArrayLiteralExpression','auto-lock-disabled','rGlhc','ExpressionStatement','detectPackageManager','size','launchApp','lock\x20screen','uninstall','add','WDA\x20session\x20creation\x20succeeded\x20but\x20no\x20sessionId\x20returned','addImportDeclaration',';\x20},\x20[]);','tap','actions','\x20[Y/n]\x20','Device\x20is\x20awake\x20(lockState:\x20','pointerMove','pop','Skipped\x20—\x20iproxy\x20auto-bridge\x20not\x20applicable\x20to\x20simulator\x20targets.','ceraph-dir','start','.codex','getBody','Ypjdf','.codeium','fetchedAt','mcpServers','zdhlh','getSimulatorWdaPort','camera-image-key-orphan','getSourceFile','getSourceFiles','tier-gated','\x20matching\x20element(s).','pnpm','slice','query','ceraph-uninstall-preview-','\x20@ceraph/react-native-mcp\x20(','Element\x20not\x20visible\x20after\x203000ms:\x20','32725406eFiOhb','--help','message','Real\x20iOS\x20device\x20connected\x20(udid\x20','WDA\x20apps/terminate\x20failed:\x20','eIKZM','init.js','android','wdaReady','exit','\x1b]8;;\x07','pro','udid','unknown\x20error','log','KsBxy',')\x20—\x20preserving\x20the\x20file.','locked','readdir','Skipped\x20—\x20iproxy\x20auto-bridge\x20not\x20enabled\x20for\x20this\x20doctor\x20call.','KLasN','active','Matched\x20element\x20has\x20no\x20bounds/rect\x20information.','missing','matchCount','details','Signed\x20in','.ts','registryPath','getInitializer','.jsx','yarn','tmpRoot','mobile-mcp','hooks','argv','parseInt','XKezR','WFrHe','kill','Unknown\x20error\x20during\x20clearText','nothing-to-remove','removedPackages','isCallExpression','defineProperty','soKaG','Skipped\x20—\x20no\x20bundleId\x20provided.','ceraph-uninstall-scheme-preview-','\x20+\x20testID\x20injector)\x20—\x20your\x20app\x20had\x20no\x20babel\x20config,\x20so\x20we\x20added\x20one.\x20Rebuild\x20your\x20dev\x20client\x20once\x20to\x20activate.','sessionId','launch','\x20top-level\x20is\x20not\x20a\x20JSON\x20object\x20—\x20preserving\x20it.','clear','Claude\x20Code\x20hook:\x20FileChanged\x20→\x20.rn-flow-progress.json\x20✓','element','/wda/pressButton','YQrVP','Antigravity','Signing\x20in\x20with\x20the\x20provided\x20token…','button','jlFPq','installedAppsCache','react-native-reanimated/plugin','Serial\x20fallback\x20tap\x20failed\x20at\x20index\x20','No\x20graph-relevant\x20files\x20found\x20in\x20the\x20repo\x20—\x20nothing\x20to\x20seed.','rsEjn','authFilePath','WikRB','config','zsh','idb','pressKey','mKiil','code','(?=[\x5cs/>])','sort','pending','mcp_config.json','min.','--global','\x0a@ceraph/react-native-mcp\x20uninstall\x20—\x20dry-run\x20preview\x0a','timeoutMs','update','Serial\x20tap\x20failed','reset','Invalid\x20Ceraph\x20endpoint\x20URL:\x20\x22','json','RpOFw','PropertyAssignment','\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20→\x20','/\x20\x20[','[mcp_servers.react-native-mcp]','installCeraph()\x20is\x20wrapped\x20in\x20a\x20useEffect\x20that\x20also\x20contains\x20other\x20statements\x20(see\x20','Claude\x20Code\x20hook:\x20','getWindowSize','Claude\x20Code\x20hook\x20(.rn-flow-progress.json):\x20already\x20configured','Skipped\x20(auto-injection):\x20','stdout','package.json','reduce','14996366mWfsDg','expo','find','simulator','getFullText','\x20(imageKey=\x22','KDxVE','isArray','Continue\x20with\x20uninstall?','installCeraph()\x20registers\x20Ceraph\x27s\x20dev-only\x20test\x20hooks\x20—\x20runtime-error\x20capture,\x20state\x20reset/reload,\x20keep-awake\x20—\x20at\x20app\x20start.\x20No-op\x20in\x20production\x20builds.','parseError','granted','_layout.jsx','.jpg','Unknown\x20error\x20during\x20findAndTapReturningTree','screen-off','agentMode','removed-entries','POST','12gdRnPn','cacheTtlMs','existing\x20enabledMcpjsonServers\x20in\x20','createSourceFile','No\x20readable\x20graph-relevant\x20files\x20in\x20the\x20repo\x20—\x20nothing\x20to\x20seed.','HGJpi','expo-config-needs-manual','No\x20element\x20found\x20matching\x20field\x20query:\x20','nxpRP','openUrl','10KuEyFl','scheme','no-gitignore','vAjpU','sha256','.cjs','{\x20return\x20','path','cached','height','pluginVersion','installCeraph-with-others','alreadyHasImageKey','function','getImportDeclaration','url','Divided\x20by\x20','Init\x20failed:','realDeviceHookFiredFor','17AyOxEf','\x0a@ceraph/react-native-mcp\x20uninstall\x0a','getName','env-override-simulator','Verify\x20Settings\x20→\x20Display\x20&\x20Brightness\x20→\x20Auto-Lock\x20is\x20set\x20to\x20Never.\x20Otherwise\x20the\x20phone\x20will\x20sleep\x20mid-flow.','AbortError','edge-swipe','PFkgr','getText','isJsxOpeningElement','\x0aSelecting\x20Pro\x20isn\x27t\x20the\x20same\x20as\x20being\x20Pro\x20—\x20AI\x20flow\x20testing\x20unlocks\x20once\x0acheckout\x20completes.\x20Re-run\x20init\x20in\x20a\x20terminal\x20(or\x20use\x20the\x0aceraph_init_select_tier\x20tool)\x20to\x20finish\x20sign-in.\x0a','Unknown\x20error\x20during\x20swipe','getUdid','longPressElement','WDA\x20actions\x20tap\x20failed','wda-reachable','removeElement','utf8','toFixed',')\x20at\x20','@react-native/babel-preset','already-reverted','\x22);\x20}\x20catch\x20{\x20return\x20null;\x20}\x20}\x20})','node_modules','\x20\x20-\x20','listInstalledAppsSimulator','hasCoverSheet','Multiple\x20React\x20Native\x20subpackages\x20detected.\x20Pass\x20--project-dir\x20to\x20target\x20a\x20specific\x20subpackage,\x20e.g.\x20`--project-dir\x20',':\x20already\x20configured','importDropped','yKHoJ','findIndex','listBooted','hGniK','appium-webdriveragent\x20still\x20isn\x27t\x20resolvable\x20after\x20`','sessionBaseUrl','/wda/touchAndHold','removedKeys','isDirectory','Installing','terminateAppViaWDA','AtRph','lockscreen','tapTransport','trim','intervalMs','Working\x20from\x20','getFirstAncestorByKind','scriptAbsPath','env-override-device','apiBase','iproxy\x20bridge\x20started\x20(pid\x20','mcp-clients','\x0aGitignore:','/screenshot','collectVisibleElements','unrelated','qRbAN','bridge','trimEnd','no-mobile-graph','ms).\x20Check\x20your\x20network\x20connection\x20and\x20try\x20again.','112FppQrH','.webp','legacy','\x20\x20//\x20No\x20images\x20registered\x20yet.\x20Drop\x20files\x20into\x20.ceraph/camera-images/\x0a\x20\x20//\x20and\x20re-run\x20`rn_sync_camera_registry`.\x0a}\x0a','server-error','::ffff:7f00:1','179274IyEpyx','pause','addSourceFileAtPath','WDA\x20screenshot\x20failed:\x20','failed','WDA\x20unreachable\x20and\x20no\x20iOS\x20device\x20detected\x20—\x20cannot\x20auto-bridge.','Boot\x20revert\x20returned\x20an\x20unrecognised\x20status\x20shape.','xcrun','mcp.json','udidResolvedAt','\x20—\x20then\x20re-run\x20init\x20(or\x20any\x20flow\x20tool).\x20Your\x20Pro\x20access\x20refreshes\x20automatically.','isJsxAttribute','[::1]','required-env-vars','manual','installStdioToStderr','getOwnPropertyNames','Unknown\x20error\x20during\x20unlock','pickTransport','Restart\x20Claude\x20Code\x20(or\x20your\x20MCP\x20client)\x20to\x20load\x20the\x20Ceraph\x20tools.','\x0aAdd\x20Ceraph\x27s\x20custom\x20URL\x20scheme\x20so\x20deep\x20links\x20(ceraph://reload,\x0aceraph://reset,\x20ceraph://storage)\x20reach\x20the\x20running\x20app.\x0a\x0aiOS\x20—\x20edit\x20ios/<YourApp>/Info.plist:\x0a\x0a\x20\x20<key>CFBundleURLTypes</key>\x0a\x20\x20<array>\x0a\x20\x20\x20\x20<dict>\x0a\x20\x20\x20\x20\x20\x20<key>CFBundleURLName</key>\x0a\x20\x20\x20\x20\x20\x20<string>com.yourcompany.yourapp</string>\x0a\x20\x20\x20\x20\x20\x20<key>CFBundleURLSchemes</key>\x0a\x20\x20\x20\x20\x20\x20<array>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<string>ceraph</string>\x0a\x20\x20\x20\x20\x20\x20</array>\x0a\x20\x20\x20\x20</dict>\x0a\x20\x20</array>\x0a\x0aAndroid\x20—\x20edit\x20android/app/src/main/AndroidManifest.xml\x20inside\x20the\x0aMainActivity\x20<activity>\x20block:\x0a\x0a\x20\x20<intent-filter>\x0a\x20\x20\x20\x20<action\x20android:name=\x22android.intent.action.VIEW\x22\x20/>\x0a\x20\x20\x20\x20<category\x20android:name=\x22android.intent.category.DEFAULT\x22\x20/>\x0a\x20\x20\x20\x20<category\x20android:name=\x22android.intent.category.BROWSABLE\x22\x20/>\x0a\x20\x20\x20\x20<data\x20android:scheme=\x22ceraph\x22\x20/>\x0a\x20\x20</intent-filter>\x0a\x0aThen\x20rebuild\x20the\x20native\x20app\x20(pod\x20install\x20+\x20xcodebuild\x20on\x20iOS,\x20./gradlew\x0aassembleDebug\x20on\x20Android).\x20Existing\x20JS-only\x20reloads\x20do\x20not\x20pick\x20up\x0anative\x20config\x20changes.\x0a','disableAutoLock','route','Unsupported\x20pressKey:\x20','signal','once','labelledBack','no-profile','activateApp','purgeImages','Resolution\x20failed\x20for\x20query\x20at\x20index\x20','App.tsx','stat','deleted-file','boot','webBaseUrl','npx','bun.lock','stop','Unknown\x20error\x20during\x20typeIntoField','already-running','Codex:\x20already\x20configured','\x20Some\x20files\x20could\x20not\x20be\x20restored:\x20','_registry.ts','WjvIP','screen','bare-rn','missing-dir','Opening\x20browser\x20to\x20sign\x20in…','shortVersionString','x:\x20(','Rskna','export\x20','padEnd','multi','OsEyK','isImportSpecifier','rename','\x20out\x20of\x20range.\x20Found\x20','scriptsLeftAlone','Unable\x20to\x20determine\x20device\x20lock\x20state.\x20Make\x20sure\x20the\x20device\x20is\x20unlocked\x20and\x20the\x20screen\x20is\x20on,\x20then\x20re-run\x20the\x20flow.','line','toLowerCase','\x20(dynamic\x20Expo\x20config)\x20—\x20we\x20can\x27t\x0asafely\x20auto-edit\x20a\x20JS/TS\x20file.\x20Add\x20Ceraph\x27s\x20URL\x20scheme\x20manually:\x0a\x0a\x20\x20export\x20default\x20({\x20config\x20})\x20=>\x20({\x0a\x20\x20\x20\x20...config,\x0a\x20\x20\x20\x20scheme:\x20Array.isArray(config.scheme)\x0a\x20\x20\x20\x20\x20\x20?\x20[...config.scheme,\x20\x22ceraph\x22]\x0a\x20\x20\x20\x20\x20\x20:\x20config.scheme\x0a\x20\x20\x20\x20\x20\x20\x20\x20?\x20[config.scheme,\x20\x22ceraph\x22]\x0a\x20\x20\x20\x20\x20\x20\x20\x20:\x20\x22ceraph\x22,\x0a\x20\x20\x20\x20//\x20...\x20rest\x20of\x20your\x20expo\x20config\x0a\x20\x20});\x0a\x0aThen\x20re-run\x20`expo\x20prebuild\x20--clean`\x20if\x20you\x27ve\x20ejected,\x20or\x20just\x0arestart\x20the\x20dev\x20client.\x0a','devicectlAvailable','getDefaultImport','endsWith','Test\x20images:\x20call\x20`ceraph_add_camera_image`\x20(writes\x20+\x20auto-syncs\x20the\x20registry),\x20or\x20drop\x20files\x20into\x20','/session/','shell','@ceraph/react-native-mcp','ms:\x20','severity','FileChanged','resolve','XybmE','expo-json-added','\x20(before\x20reanimated)','/actions','Failed\x20to\x20spawn\x20','filter','revertGitignore','totalCount','#\x20End\x20Ceraph\x20signal\x20host','now','ignore','key',',\x20ceraph])','wda','\x20(expected\x20an\x20object).','packages','tapChain','revertPackage','expo-camera','catch','.mcp.json','suggestedKey','bSJXu','469cRGOCr','statusCode','spawnRemove','/cli-auth','POSITIVE_INFINITY','remove','target-selected','.vscode','base64','keys','Pro\x20selected.\x0a','isAvailable','address','.\x20Fix\x20the\x20error\x20above\x20and\x20re-run\x20`npx\x20@ceraph/react-native-mcp\x20uninstall`.','/wda/lock','isJsxSelfClosingElement','babel-config','.gemini','Claude\x20Code\x20hook\x20(.rn-errors.json):\x20already\x20configured','assertNotVisible','Skipped\x20—\x20no\x20required\x20env\x20vars\x20declared.','token','/\x20and\x20call\x20`rn_sync_camera_registry`\x20to\x20regenerate.','Unknown\x20error\x20during\x20tap','tapAndVerify','verifySelector','VtAOg','pnpm-workspace.yaml','stdin','protocol','@ceraph/react-native-mcp/babel-plugin','isFile','Ceraph\x20server\x20returned\x20malformed\x20JSON\x20for\x20','Unknown\x20error\x20during\x20getSource','\x20screen(s),\x20','isNoSubstitutionTemplateLiteral','listener','wdaFetch','absPath','dryRun','includes','already-handled','app.json','imageKey','en0','EaviZ','pnpm-lock.yaml','NRoTR','#\x20Ceraph\x20camera\x20test\x20images\x0a\x0aPer-screen\x20test\x20images\x20for\x20`<CeraphCamera\x20/>`\x20from\x0a`@ceraph/react-native-mcp/shim`.\x20The\x20filename\x20(without\x20extension)\x20is\x0athe\x20imageKey\x20you\x20pass\x20on\x20the\x20JSX\x20tag.\x0a\x0a##\x20Three\x20ways\x20to\x20wire\x20a\x20camera\x0a\x0a`<CeraphCamera\x20/>`\x20(no\x20`imageKey`)\x20—\x20uninitialized.\x20Falls\x20back\x20to\x20a\x0abundled\x201024x1024\x20black\x20PNG\x20that\x20ships\x20with\x20the\x20package,\x20so\x20the\x20screen\x0arenders.\x20The\x20MCP\x27s\x20`ceraph_doctor`\x20lists\x20these\x20as\x20info\x20findings\x20so\x20an\x0aAI\x20assistant\x20can\x20prompt\x20you\x20to\x20make\x20a\x20deliberate\x20choice.\x20Pick\x20from:\x0a\x0a1.\x20`<CeraphCamera\x20imageKey=\x22default\x22\x20/>`\x20—\x20explicit\x20acknowledgment\x20of\x0a\x20\x20\x20the\x20black\x20PNG.\x20Right\x20answer\x20for\x20most\x20form\x20/\x20upload\x20/\x20permission\x0a\x20\x20\x20flows\x20where\x20the\x20image\x20content\x20doesn\x27t\x20matter.\x0a2.\x20`<CeraphCamera\x20imageKey=\x22profile\x22\x20/>`\x20—\x20a\x20specific\x20test\x20image\x20you\x0a\x20\x20\x20provide\x20(this\x20folder).\x20Drop\x20`profile.jpg`\x20(or\x20`.png`\x20/\x20`.webp`\x20/\x0a\x20\x20\x20`.heic`)\x20here.\x20The\x20agent\x20can\x20write\x20the\x20file\x20for\x20you\x20via\x0a\x20\x20\x20`ceraph_add_camera_image`.\x0a3.\x20`<CeraphCamera\x20imageKey=\x22@runtime\x22\x20/>`\x20—\x20runtime\x20control.\x20The\x20flow\x0a\x20\x20\x20planner\x20picks\x20the\x20image\x20per-step\x20at\x20test\x20time.\x20Use\x20when\x20one\x20camera\x0a\x20\x20\x20screen\x20feeds\x20different\x20scenarios\x20across\x20multiple\x20flows.\x0a\x0a##\x20Naming\x0a\x0aLowercase\x20+\x20hyphen-separated,\x20descriptive\x20of\x20what\x20the\x20image\x20represents:\x0a\x0a-\x20`profile.jpg`\x20—\x20face\x20photo\x20for\x20a\x20profile\x20picture\x20screen\x0a-\x20`id-card.png`\x20—\x20government-issued\x20ID\x20for\x20a\x20KYC\x20scan\x20screen\x0a-\x20`product-photo.jpg`\x20—\x20a\x20product\x20image\x20for\x20an\x20upload\x20screen\x0a\x0aSupported\x20extensions:\x20`.jpg`,\x20`.jpeg`,\x20`.png`,\x20`.webp`,\x20`.heic`.\x0aExtension\x20priority\x20on\x20collision:\x20jpg\x20>\x20jpeg\x20>\x20png\x20>\x20webp\x20>\x20heic.\x0a\x0a##\x20Workflow\x0a\x0a1.\x20Drop\x20the\x20image\x20into\x20this\x20folder\x20with\x20the\x20right\x20filename.\x0a2.\x20Reference\x20it\x20on\x20the\x20tag:\x0a\x20\x20\x20```tsx\x0a\x20\x20\x20import\x20{\x20CeraphCamera\x20}\x20from\x20\x22@ceraph/react-native-mcp/shim\x22;\x0a\x20\x20\x20<CeraphCamera\x20imageKey=\x22profile\x22\x20/>\x0a\x20\x20\x20```\x0a3.\x20Regenerate\x20the\x20registry:\x20call\x20the\x20MCP\x20tool\x0a\x20\x20\x20`rn_sync_camera_registry`,\x20or\x20just\x20call\x20`ceraph_doctor`\x20—\x20it\x0a\x20\x20\x20syncs\x20the\x20registry\x20automatically.\x0a4.\x20In\x20`App.tsx`\x20or\x20your\x20root\x20layout\x20(once):\x0a\x20\x20\x20```tsx\x0a\x20\x20\x20import\x20{\x20installCeraph\x20}\x20from\x20\x22@ceraph/react-native-mcp/shim\x22;\x0a\x20\x20\x20useEffect(()\x20=>\x20{\x20installCeraph();\x20},\x20[]);\x0a\x20\x20\x20```\x0a\x20\x20\x20`installCeraph()`\x20loads\x20the\x20generated\x20registry\x20from\x0a\x20\x20\x20`./.ceraph/camera-images/_registry`\x20and\x20wires\x20the\x20deep-link\x0a\x20\x20\x20handlers\x20the\x20flow\x20planner\x20uses.\x0a\x0aCommit\x20these\x20images\x20so\x20flows\x20are\x20reproducible\x20across\x20machines\x20and\x20CI.\x0a','home','boolean','getAttributes','Could\x20not\x20reach\x20the\x20Ceraph\x20server.\x20Check\x20your\x20network\x20connection\x20and\x20try\x20again.','Unknown\x20error\x20during\x20openUrl','ttlMs','bad-response','Re-run\x20with\x20--purge-images\x20to\x20delete\x20.ceraph/\x20(camera\x20images,\x20design\x20snapshots,\x20run\x20artifacts).\x20Default\x20leaves\x20them\x20in\x20place\x20so\x20a\x20re-install\x20picks\x20up\x20where\x20you\x20left\x20off.','isDefaultExport','addAttribute','dependencies',')\x20->\x20(','type','DcaBH','0.2.2','info','unlink','_layout.tsx','react-native-mcp','IGirr','malformed','reverted','some','getSource','qvxDL','exec','$1-$2','LMfsg','settingsFilesModified','--project-dir','WebDriverAgent.xcodeproj','Test\x20image\x20registry\x20','projectDir','Which\x20one\x20should\x20init\x20configure?','https://ceraph.dev/#pricing','EVJrZ','removed','zgMVQ','config.toml','finally','bun',':\x20existing\x20mcpServers\x20in\x20','13313835IZevoT','mkdir','could\x20not\x20read\x20the\x20file','Access-Control-Allow-Headers','cachedAt','win32','present','toString','no\x20shell\x20profile','isNaN','SIGKILL','Device\x20is\x20not\x20awake\x20(lockState:\x20','match','setOrientation','detectMonorepo','setSimulatorWdaPort','\x20\x20Mode:\x20\x20\x20\x20live\x20(no\x20--dry-run)\x0a','mobilePro','getNameNode','useEffect','/wda/apps/launch','kind','Index\x20','all','stringify','resolveBranch','simulatorWdaPort','location','replace','<no\x20IP>','getKind','searchElements','text/html;\x20charset=utf-8','XODYI','[::ffff:7f00:1]',',\x20then\x20re-run\x20any\x20flow\x20tool\x20—','//\x20AUTO-GENERATED\x20by\x20@ceraph/react-native-mcp\x20—\x20do\x20not\x20edit\x20by\x20hand.\x0a//\x20Re-run\x20`rn_sync_camera_registry`\x20after\x20adding\x20or\x20removing\x20images.\x0aimport\x20{\x20configureTestImage\x20}\x20from\x20\x22@ceraph/react-native-mcp/shim\x22;\x0a\x0aexport\x20function\x20applyCameraImageRegistry():\x20void\x20{\x0a','Error:\x20--project-dir\x20is\x20not\x20a\x20directory:\x20','remediation','write','finger1','babel.config.js','addArgument','ts-morph','src','xPeTC','WebDriverAgent\x20is\x20not\x20ready\x20(simulator\x20selected,\x20no\x20port\x20captured\x20yet).','IVXtz','sgdTz','Your\x20project\x20uses\x20','HQuRz','WDA\x20tap\x20failed:\x20/actions\x20rejected\x20the\x20tap\x20and\x20legacy\x20/wda/tap/0\x20returned\x20','source','XMwKY','matcher','method','appium-webdriveragent\x20not\x20required\x20for\x20this\x20target.','To\x20add\x20AI\x20flow\x20testing\x20on\x20your\x20real\x20device,\x20re-run\x20init\x20and\x20pick\x20Pro.','accessibilityLabel','keyboard','No\x20element\x20found\x20matching\x20query:\x20','listInstalledApps','file','ls-files','rect','pointer','CFBundleShortVersionString','getClosingElement','ceraphCamerasRemoved','@ceraph/react-native-mcp/shim','Flow\x20intelligence\x20(rn_list_flows\x20/\x20rn_find_flows\x20/\x20rn_test_flows)\x20is\x20a\x20Pro\x20feature\x20—\x20upgrade\x20at\x20https://ceraph.dev/#pricing.\x20If\x20you\x20just\x20upgraded,\x20re-run\x20this\x20—\x20your\x20Pro\x20access\x20refreshes\x20automatically.','isLocked','network-error','addNamedImport','relPath','\x20\x20Project:\x20','not-pro','nextScheme','revert-camera\x20removed\x20imageKey\x20props\x20from\x20','\x20→\x20now\x20[','getBaseUrl','devices','git','.ceraph/last-build-snapshot.json','init-tier.json','\x20file(s):','.ceraph','enableAllProjectMcpServers','getLockState','iXTTl','CpzFr','WDA\x20source\x20failed:\x20','camera-views-unwrapped','Couldn\x27t\x20auto-install\x20appium-webdriveragent\x20(the\x20optional\x20dep\x20the\x20simulator\x20WebDriverAgent\x20builds\x20from).\x20Install\x20it\x20manually\x20with\x20`npm\x20install\x20-D\x20appium-webdriveragent`\x20(or\x20`pnpm\x20add\x20-D\x20appium-webdriveragent`),\x20then\x20re-run\x20doctor.','mHohb','detectBootTarget','unverified','\x22\x20entry.','ScreenManager\x20not\x20provided\x20—\x20cannot\x20query\x20active\x20app\x20via\x20WDA.','revertCeraphDir','\x20(payload\x20was\x20capped\x20at\x20','Unknown\x20error\x20during\x20activateApp','close','targetResolver','tmpHome','installCeraph()\x20wired\x20in\x20','\x20(preview)','qjJsm','totalReplacements','\x20[cached]','\x22;\x0a\x20\x20useEffect(()\x20=>\x20{\x20','forEachDescendant','\x20\x20[WARN]\x20\x20\x20\x20','uWzCX','writtenOrUnchanged','xKDtm','CeraphServerError','getParentIfKind','fileExists','bin','settings.json','\x20<CeraphCamera>\x20component','--agent','state','Already\x20wired\x20—\x20added\x20missing\x20import(s).','aJMyK','simulatorWdaUdid','summary','lpAkn','.cursor','CameraView','.git','lastIndexOf','bundleId','darwin','no-config','screenshot','device','appium-webdriveragent\x20ready\x20—\x20simulator\x20WebDriverAgent\x20can\x20build.','isFunctionExpression','.mjs','\x22$CLAUDE_PROJECT_DIR\x22/.claude/hooks/rn-error-notify.sh','writeFile','Connect\x20your\x20iPhone\x20via\x20USB-C\x20and\x20trust\x20this\x20Mac,\x20then\x20re-run\x20doctor.','claudePreApprovalPreserved','applied','{\x20readTestidConfig:\x20()\x20=>\x20{\x20try\x20{\x20return\x20require(\x22','preferSimulator','maxSwipes','ensureAwake','seamed','Failed\x20to\x20get\x20element\x20tree','getParent','\x20swipes:\x20','113272mACMDd','checkDevicectl','files','success','iproxyManager','then','\x20(missing\x20value)','round','rate-limited','All\x20<CeraphCamera>\x20components\x20have\x20an\x20explicit\x20imageKey\x20(or\x20use\x20a\x20runtime\x20sentinel).','isTTY','Screen\x20Recording\x20permission\x20denied\x20—\x20session\x20video\x20won\x27t\x20record\x20(tests\x20run\x20regardless).\x20Click\x20Allow\x20if\x20the\x20dialog\x20reappears,\x20or\x20grant\x20it\x20manually.','HmUnX','Also\x20purge\x20camera\x20images\x20+\x20snapshots\x20at\x20.ceraph/?','tqzMv','build','Dry-run\x20boot\x20preview\x20failed;\x20re-run\x20without\x20--dry-run\x20to\x20see\x20the\x20real\x20error\x20path.','name','email','Unknown\x20error\x20during\x20tapChain','<unknown>','RdGdA','UDID_TTL_MS','down','EDvOo','App.jsx','githubUser','No\x20real\x20iOS\x20device\x20connected.\x20Connect\x20a\x20device\x20via\x20USB-C\x20and\x20trust\x20this\x20Mac.','deleted','push','Run\x20`iproxy\x208100\x208100\x20-u\x20<udid>`\x20manually\x20to\x20see\x20the\x20full\x20error.','already','indexOf','POST,\x20GET,\x20OPTIONS','installCeraph','wdaFetchAt','\x20(existing\x20imageKey\x20preserved)','--device','map','Skipped\x20—\x20no\x20.ceraph/camera-images/\x20directory.\x20Drop\x20test\x20images\x20there\x20to\x20enable\x20the\x20camera\x20shim.','Missing\x20env\x20var(s):\x20','isExportAssignment','durationMs','tap\x20succeeded\x20but\x20post-tap\x20verify\x20failed:\x20','isImportClause',').\x20WDA\x20base\x20URL:\x20','filesScanned','EsvYG','RefTh','AOAhK','parsed','package','realDeviceHook','\x20exited\x20with\x20code\x20','WDA\x20pressButton\x20failed:\x20','auth.json','isBlock','Failed\x20to\x20get\x20element\x20tree\x20on\x20the\x20pinned\x20session','devicectl','Windsurf','getActiveApp','open','readFile','expo-router','volumeup','Your\x20Ceraph\x20session\x20is\x20no\x20longer\x20valid\x20(the\x20account\x20may\x20have\x20been\x20deleted,\x20or\x20your\x20token\x20expired).\x20Run\x20`npx\x20@ceraph/react-native-mcp\x20init`\x20to\x20sign\x20in\x20again.\x20Your\x20local\x20screenshots\x20and\x20flows\x20are\x20preserved\x20—\x20only\x20the\x20server-side\x20identity\x20needs\x20refreshing.','were\x20not\x20touched\x20in\x20this\x20run.','Unknown\x20error\x20during\x20tapAndVerify','cwd','isExpressionStatement','object','findDeviceAppPid','windsurf','layout','searchParams','Refusing\x20to\x20send\x20your\x20Ceraph\x20token\x20over\x20plaintext\x20HTTP\x20to\x20a\x20non-local\x20host:\x20\x22','\x20files).','value','inflight','added','existing\x20settings\x20at\x20','\x22.\x20Only\x20https://\x20(or\x20http://\x20for\x20localhost\x20/\x20127.0.0.1)\x20endpoints\x20are\x20allowed.','edits','from','Unknown\x20flag(s):\x20','Existing\x20sign-in\x20is\x20from\x20the\x20old\x20GitHub\x20OAuth\x20flow\x20—\x20re-authenticating\x20against\x20the\x20new\x20browser\x20flow.','bundleIdentifier','yes','idbAvailable','YiUFu','.jpeg','Error:\x20--project-dir\x20does\x20not\x20look\x20like\x20an\x20npm/RN\x20project\x20(no\x20package.json\x20at\x20','parse','readPreference','You\x27re\x20set\x20up\x20on\x20Starter\x20—\x20local\x20build,\x20run,\x20and\x20device\x20tools.','kMdfL','TwoSpaces','base64url','JsxElement','width','<CeraphCamera','ceraph-uninstall-mcp-preview-','--yes','Failed\x20to\x20create\x20WDA\x20session:\x20','ENOENT','13MzyzcN','no\x20RN\x20project\x20detected','app.config.ts','preserved','yarn.lock','join','confirm','workingDir','Project\x20cached\x20server-side:\x20','WDA\x20swipe\x20failed:\x20','passedCount','persisted','http://localhost:8100','realDeviceHookInflight','.tsx','importRestored','pingStatus','.\x20Expected\x20\x27','getArguments','application/json','defaultYes','toISOString','label','Unlock\x20the\x20device\x20manually\x20and\x20set\x20Auto-Lock\x20to\x20Never.','Error:\x20--project-dir\x20does\x20not\x20exist:\x20','The\x20`ceraph://`\x20URL\x20scheme\x20isn\x27t\x20registered\x20in\x20the\x20app\x20under\x20test,\x20so\x20this\x20deep\x20link\x20couldn\x27t\x20be\x20delivered.\x20`init`\x20adds\x20the\x20scheme\x20to\x20app.json,\x20but\x20it\x20only\x20lands\x20in\x20the\x20native\x20Info.plist\x20after\x20a\x20rebuild\x20—\x20run\x20`npx\x20expo\x20prebuild`\x20then\x20rebuild/reinstall\x20the\x20dev\x20client\x20(or\x20your\x20EAS/Xcode\x20build),\x20and\x20retry.\x20Tools\x20affected:\x20rn_reset_state,\x20rn_reload,\x20and\x20camera/auth-bypass\x20deep\x20links.','starter','rpetK','outputToStderr','ceraph-dir\x20preview\x20returned\x20an\x20unexpected\x20status;\x20pass\x20--purge-images\x20explicitly\x20to\x20delete\x20.ceraph/.','max','removedLines','question','getDeclarations','--purge-images','README.md','paths','seeded','ceraph-uninstall-gitignore-preview-','laptop-network','auth','SHELL','OElZl','CBbnt','reason','skipInstall'];_0x2223=function(){return _0x31df30;};return _0x2223();}var _0x4ad906,_0xdb8314=_0x4d3071({'src/utils/validate-base-url.ts'(){'use strict';const _0x52577b=_0x5ccc4b;_0x4ad906=new Set(['localhost',_0x52577b(0x4fa),_0x52577b(0x1f1),_0x52577b(0x4bf),_0x52577b(0x2c4),_0x52577b(0x1e4)]);}});async function _0x2cbdae(_0x297603){const _0x28c675=_0x5ccc4b,_0x3c093a=_0x297603['status'];if(_0x3c093a===0x191)return new _0x5de461('account-invalid',0x191,'Your\x20Ceraph\x20session\x20is\x20no\x20longer\x20valid\x20(the\x20account\x20may\x20have\x20been\x20deleted,\x20or\x20your\x20token\x20expired).\x20Run\x20`npx\x20@ceraph/react-native-mcp\x20init`\x20to\x20sign\x20in\x20again.\x20Your\x20local\x20screenshots\x20and\x20flows\x20are\x20preserved\x20—\x20only\x20the\x20server-side\x20identity\x20needs\x20refreshing.');if(_0x3c093a===0x192||_0x3c093a===0x193)return new _0x5de461('tier-gated',_0x3c093a,'Flow\x20intelligence\x20(rn_list_flows\x20/\x20rn_find_flows\x20/\x20rn_test_flows)\x20is\x20a\x20Pro\x20feature\x20—\x20upgrade\x20at\x20https://ceraph.dev/#pricing.\x20If\x20you\x20just\x20upgraded,\x20re-run\x20this\x20—\x20your\x20Pro\x20access\x20refreshes\x20automatically.');if(_0x3c093a===0x1ad)return new _0x5de461(_0x28c675(0x344),0x1ad,_0x28c675(0x3e8));if(_0x3c093a>=0x1f4)return new _0x5de461(_0x28c675(0x1e3),_0x3c093a,'Ceraph\x20server\x20is\x20having\x20a\x20moment\x20(HTTP\x20'+_0x3c093a+_0x28c675(0x46f));let _0x12361a,_0x527209;try{const _0x18d777=await _0x297603[_0x28c675(0x163)]();if(_0x18d777&&typeof _0x18d777==='object'){_0x527209=_0x18d777;const _0xf7b317=_0x18d777,_0x4302a8=typeof _0xf7b317[_0x28c675(0x554)]===_0x28c675(0x40a)&&_0xf7b317[_0x28c675(0x554)]||typeof _0xf7b317[_0x28c675(0x51e)]==='string'&&_0xf7b317['error']||void 0x0;if(_0x4302a8)_0x12361a=_0x4302a8;}}catch{}return new _0x5de461(_0x28c675(0x27e),_0x3c093a,'Ceraph\x20request\x20failed\x20(HTTP\x20'+_0x3c093a+(_0x12361a?':\x20'+_0x12361a:'')+').',void 0x0,_0x527209);}function _0x113b4b(_0x2e69ef){const _0x2369e7=_0x5ccc4b,_0x14693e=_0x2e69ef?.[_0x2369e7(0x1d3)]?.['trim']()||process.env.CERAPH_API_URL?.[_0x2369e7(0x1cd)]()||_0x12d14f;return _0x28ecdc(_0x14693e),_0x14693e[_0x2369e7(0x2be)](/\/+$/,'');}async function _0x5c506c(_0x4100b0,_0xf75112,_0x284360,_0xdd0b8f){const _0x590764=_0x5ccc4b;if(!_0x284360)throw new _0x5de461(_0x590764(0x4aa),0x191,_0x590764(0x37d));const _0x5b4f5a=_0xdd0b8f?.['timeoutMs']??_0x5106c5,_0x2169d0=_0x113b4b(_0xdd0b8f),_0x45dae3=''+_0x2169d0+(_0x4100b0[_0x590764(0x425)]('/')?_0x4100b0:'/'+_0x4100b0),_0x4b8eca=new AbortController(),_0x45eb52=setTimeout(()=>_0x4b8eca['abort'](),_0x5b4f5a);let _0x4f9c41;try{_0x4f9c41=await fetch(_0x45dae3,{'method':_0x590764(0x183),'headers':{'Content-Type':'application/json','Authorization':_0x590764(0x517)+_0x284360[_0x590764(0x3fd)]},'body':JSON[_0x590764(0x2ba)](_0xf75112??{}),'signal':_0x4b8eca[_0x590764(0x1fd)]});}catch(_0x552e0e){const _0x4316c5=_0x552e0e;if(_0x4316c5?.[_0x590764(0x34d)]==='AbortError')throw new _0x5de461('network-error',0x0,'Could\x20not\x20reach\x20the\x20Ceraph\x20server\x20(request\x20timed\x20out\x20after\x20'+_0x5b4f5a+_0x590764(0x1de),_0x552e0e);throw new _0x5de461(_0x590764(0x2ea),0x0,_0x590764(0x27b),_0x552e0e);}finally{clearTimeout(_0x45eb52);}if(!_0x4f9c41['ok']){if(_0x590764(0x164)!=='RpOFw'){'use strict';_0x4126b4(),_0x51ddfb(),_0x27e6ec(),_0x567b06=['app','src',_0x590764(0x48f)],_0x4fc6d0=new _0x4ecb60([_0x590764(0x3b3),'.jsx']),_0x1c8961=new _0x11806f(['node_modules',_0x590764(0x42c),'build','.git','.ceraph',_0x590764(0x4c6),'.next',_0x590764(0x4b3),'android']);}else throw await _0x2cbdae(_0x4f9c41);}let _0x3a5c62;try{_0x3a5c62=await _0x4f9c41['json']();}catch(_0x44318d){const _0x1fa175=_0x44318d;throw new _0x5de461('bad-response',_0x4f9c41[_0x590764(0x416)],_0x590764(0x267)+_0x4100b0+':\x20'+(_0x1fa175?.[_0x590764(0x554)]??String(_0x44318d)),_0x44318d);}if(!_0x3a5c62||typeof _0x3a5c62!==_0x590764(0x382)||Array[_0x590764(0x178)](_0x3a5c62))throw new _0x5de461(_0x590764(0x27e),_0x4f9c41['status'],_0x590764(0x522)+_0x4100b0+_0x590764(0x23e));return _0x3a5c62;}var _0x12d14f,_0x5106c5,_0x5de461,_0x142a1c=_0x4d3071({'src/api-client.ts'(){'use strict';const _0xf79348=_0x5ccc4b;_0xdb8314(),_0x12d14f='https://ceraph.dev/api/mcp',_0x5106c5=0x7530,_0x5de461=class extends Error{[_0xf79348(0x2b7)];['status'];['agentMessage'];[_0xf79348(0x56b)];constructor(_0x51534f,_0x305955,_0x1b9de9,_0x98af45,_0x2ee44e){const _0x552eaf=_0xf79348;super(_0x1b9de9),this['name']=_0x552eaf(0x316),this[_0x552eaf(0x2b7)]=_0x51534f,this['status']=_0x305955,this[_0x552eaf(0x4e5)]=_0x1b9de9;if(_0x98af45!==void 0x0)this['cause']=_0x98af45;if(_0x2ee44e!==void 0x0)this['details']=_0x2ee44e;}};}});import{promises as _0x349d24}from'fs';import{join as _0x34495e}from'path';async function _0x3c5083(_0x3baef7,_0xf82c74={}){const _0x3125bd=_0x5ccc4b,_0x8e2244=_0xf82c74['fetcher']??_0x5c506c,_0x547184=_0xf82c74['listFiles']??_0x5bd14e,_0x4170a5=_0xf82c74['resolveRepo']??(async _0xb1e11=>{try{return await _0x3cd658(_0xb1e11);}catch{return null;}}),_0x45a7c6=_0xf82c74['resolveSha']??_0x3aa0a3,_0x3283dd=_0xf82c74[_0x3125bd(0x2bb)]??_0x2fb97f,_0x309c03=_0xf82c74[_0x3125bd(0x37a)]??(_0xa775a1=>_0x349d24['readFile'](_0xa775a1,'utf-8')),_0x28032d=await _0x4170a5(_0x3baef7[_0x3125bd(0x3ac)])['catch'](()=>null);if(!_0x28032d)return{'status':'skipped','reason':_0x3125bd(0x3ea),'message':'No\x20GitHub\x20remote\x20detected\x20—\x20graph\x20cache\x20seed\x20skipped.\x20First\x20rn_test_*\x20call\x20will\x20build\x20the\x20graph\x20from\x20scratch.'};const _0x105c23=await _0x3283dd(_0x3baef7['workingDir']),_0x806550=await _0x45a7c6(_0x3baef7[_0x3125bd(0x3ac)],'HEAD');if(_0x806550==='HEAD'||_0x806550[_0x3125bd(0x471)]<0x7||_0x105c23==='unknown')return{'status':'skipped','reason':'no-git-repo','message':'Not\x20in\x20a\x20git\x20repo\x20(or\x20no\x20HEAD\x20commit\x20yet)\x20—\x20graph\x20cache\x20seed\x20skipped.\x20First\x20rn_test_*\x20call\x20will\x20build\x20the\x20graph\x20from\x20scratch.'};const _0x559818=await _0x547184(_0x3baef7['workingDir']);if(_0x559818['length']===0x0)return{'status':'skipped','reason':'no-graph-files','message':_0x3125bd(0x14d)};const _0x9f5408={};let _0x17d37b=![],_0x44122e=0x0;for(const _0x4f1cc2 of _0x559818){if(!_0x3cc824(_0x4f1cc2))continue;if(Object[_0x3125bd(0x250)](_0x9f5408)['length']>=_0x449e5d){_0x17d37b=!![];break;}let _0x42dffb;try{'XvkZS'==='XvkZS'?_0x42dffb=await _0x309c03(_0x34495e(_0x3baef7[_0x3125bd(0x3ac)],_0x4f1cc2)):_0x34ad69(_0x46b71f('\x20\x20-\x20'+_0x2155da['relPath']+':'+_0x2da3a1['line']+_0x3125bd(0x46c)+(_0x1b158e[_0x3125bd(0x19a)]?_0x3125bd(0x360):'')));}catch{continue;}const _0x4fdc81=Buffer['byteLength'](_0x42dffb);if(_0x4fdc81>_0x213b27)continue;if(_0x44122e+_0x4fdc81>_0xb70397){_0x17d37b=!![];break;}_0x9f5408[_0x4f1cc2]=_0x42dffb,_0x44122e+=_0x4fdc81;}if(Object[_0x3125bd(0x250)](_0x9f5408)['length']===0x0)return{'status':'skipped','reason':'no-graph-files','message':_0x3125bd(0x188)};let _0xced0d2;_0x9f5408['app.json']&&(_0xced0d2=_0x9f5408[_0x3125bd(0x271)]);try{const _0x9c9dd4=await _0x8e2244('/rn-init-graph',{'repoOwner':_0x28032d[_0x3125bd(0x499)],'repoName':_0x28032d['repo'],'branch':_0x105c23,'headSha':_0x806550,'appFiles':_0x9f5408,..._0xced0d2?{'appJsonContent':_0xced0d2}:{}},_0x3baef7[_0x3125bd(0x3cd)]);if(_0x9c9dd4['ok']&&_0x9c9dd4['flavor']&&typeof _0x9c9dd4[_0x3125bd(0x3e2)]==='number'&&typeof _0x9c9dd4['layoutCount']===_0x3125bd(0x429))return{'status':_0x3125bd(0x3ca),'flavor':_0x9c9dd4['flavor'],'screenCount':_0x9c9dd4[_0x3125bd(0x3e2)],'layoutCount':_0x9c9dd4[_0x3125bd(0x51b)],'bundleId':_0x9c9dd4['bundleId']??null,'persisted':_0x9c9dd4['persisted']===!![]};return{'status':_0x3125bd(0x507),'reason':_0x3125bd(0x1e3),'message':_0x3125bd(0x4ce)};}catch(_0x18162c){if(_0x18162c instanceof _0x5de461){const _0x24c904=_0x18162c['kind']===_0x3125bd(0x27e)&&_0x18162c[_0x3125bd(0x4e5)]['includes'](_0x3125bd(0x1dd))?'no-mobile-graph':'server-error';return{'status':_0x3125bd(0x507),'reason':_0x24c904,'message':_0x17d37b?_0x18162c[_0x3125bd(0x4e5)]+_0x3125bd(0x306)+_0x449e5d+_0x3125bd(0x388):_0x18162c[_0x3125bd(0x4e5)]};}return{'status':_0x3125bd(0x507),'reason':_0x3125bd(0x1e3),'message':_0x18162c instanceof Error?_0x18162c['message']:'Graph\x20cache\x20seed\x20failed\x20(unknown\x20error).'};}}var _0x213b27,_0x449e5d,_0xb70397,_0x21caea=_0x4d3071({'src/init/graph-seed.ts'(){'use strict';_0x4a6690(),_0x5f5292(),_0x142a1c(),_0x213b27=0x7a120,_0x449e5d=0x1f4,_0xb70397=0x8*0x400*0x400;}});import{promises as _0x1212a1}from'fs';import{homedir as _0x4063a9}from'os';import{join as _0x4d84bc,dirname as _0x588577}from'path';function _0x490036(){const _0x4a7e7=_0x5ccc4b;return _0x4d84bc(_0x4063a9(),'.ceraph',_0x4a7e7(0x2f6));}async function _0x13b611(_0x37ea52,_0x2e8206,_0x403c0b=Date['now']){const _0x19f37b=_0x5ccc4b,_0x39d856=_0x2e8206??_0x490036(),_0x316eaf={'tier':_0x37ea52,'selectedAt':new Date(_0x403c0b())['toISOString']()};return await _0x1212a1[_0x19f37b(0x2a3)](_0x588577(_0x39d856),{'recursive':!![],'mode':0x1c0}),await _0x1212a1[_0x19f37b(0x330)](_0x39d856,JSON['stringify'](_0x316eaf,null,0x2)+'\x0a','utf-8'),_0x316eaf;}var _0x5cecd5=_0x4d3071({'src/init/tier-store.ts'(){'use strict';}});function _0x4e332a(_0x4a9c5b){const _0x117ab3=_0x5ccc4b,_0x55149d=_0x4a9c5b['apiBase']?.['trim']()||process.env.CERAPH_API_URL?.[_0x117ab3(0x1cd)]()||_0x4a9ac6;return _0x55149d[_0x117ab3(0x2be)](/\/+$/,'')+_0x117ab3(0x4a1);}async function _0x1fe526(_0x524573={}){const _0x493373=_0x5ccc4b;return _0xe58b1b(_0x524573,_0x493373(0x2b3));}async function _0xe58b1b(_0x59ea2f,_0xcd189d){const _0x1557a6=_0x5ccc4b,_0x59650c=_0x59ea2f[_0x1557a6(0x27d)]??_0x3fdf51,_0x1d56f8=_0x59ea2f['now']??Date['now'],_0x385690=_0x59ea2f['loadAuth']??_0x1ddc8c,_0xc2d8f7=_0x59ea2f['fetcher']??((_0xf3c731,_0x115f23)=>globalThis[_0x1557a6(0x51f)](_0xf3c731,_0x115f23)),_0x573f23=()=>_0xcd189d==='mobilePro'?_0x28aa77:_0x21e1e4,_0x91cc0f=_0x165ff5=>{const _0x5e5370=_0x1557a6;if(_0xcd189d===_0x5e5370(0x2b3))_0x28aa77=_0x165ff5;else _0x21e1e4=_0x165ff5;},_0xb2fb45=_0x573f23();if(_0xb2fb45&&_0x1d56f8()-_0xb2fb45[_0x1557a6(0x543)]<_0x59650c)return _0xb2fb45[_0x1557a6(0x389)];let _0x4c1032=![];try{const _0x1140c8=await _0x385690();if(!_0x1140c8?.['accessToken'])return _0x91cc0f({'value':![],'fetchedAt':_0x1d56f8()}),![];const _0x4f5026=_0x4e332a(_0x59ea2f),_0x4eddfe=await _0xc2d8f7(_0x4f5026,{'headers':{'Authorization':'Bearer\x20'+_0x1140c8[_0x1557a6(0x3fd)],'Accept':_0x1557a6(0x3b8)}});if(!_0x4eddfe['ok'])return _0x91cc0f({'value':![],'fetchedAt':_0x1d56f8()}),![];const _0x3e9ade=await _0x4eddfe['json']();_0x4c1032=_0x3e9ade!==null&&typeof _0x3e9ade==='object'&&_0x3e9ade[_0xcd189d]===!![];}catch{if('cbCJW'!=='EKeTo')_0x4c1032=![];else{const _0x49fccc=_0xc26aa9(_0x580b10)['replace'](/\.(tsx|jsx)$/i,''),_0x2a8685=_0x32d076(_0x830dcc(_0x2c48c1)),_0x254108=new _0x3bf7c4([_0x1557a6(0x519),_0x1557a6(0x3d4),'screen','route',_0x1557a6(0x385)]),_0x4c2fba=_0x254108['has'](_0x49fccc['toLowerCase']())?_0x2a8685:_0x49fccc,_0x212ac3=_0x4c2fba[_0x1557a6(0x2be)](/([a-z0-9])([A-Z])/g,_0x1557a6(0x292))['toLowerCase']()[_0x1557a6(0x2be)](/[^a-z0-9]+/g,'-')['replace'](/^-+|-+$/g,'');return _0x212ac3['length']>0x0?_0x212ac3:_0x1557a6(0x4eb);}}return _0x91cc0f({'value':_0x4c1032,'fetchedAt':_0x1d56f8()}),_0x4c1032;}var _0x3fdf51,_0x21e1e4,_0x28aa77,_0x4a9ac6,_0x20405c=_0x4d3071({'src/check-pro-tier.ts'(){'use strict';_0x553117(),_0x3fdf51=0x5*0x3c*0x3e8,_0x21e1e4=null,_0x28aa77=null,_0x4a9ac6='https://ceraph.dev/api/mcp';}});import{spawn as _0x4de1a9}from'child_process';import{join as _0x476c50}from'path';async function _0x307102(){return _0x1ddc8c();}function _0x387e2e(_0x4bc839){return new Promise(_0x2cc3c8=>{const _0x4ac696=_0x4997,_0x25773b=_0x4de1a9(_0x4bc839['bin'],_0x4bc839[_0x4ac696(0x4e2)],{'cwd':_0x4bc839['cwd'],'stdio':_0x4bc839[_0x4ac696(0x491)]?['ignore',0x2,0x2]:'inherit'});_0x25773b['on'](_0x4ac696(0x51e),()=>_0x2cc3c8({'exitCode':0x7f})),_0x25773b['on']('exit',_0x151adb=>_0x2cc3c8({'exitCode':_0x151adb??0x1}));});}function _0x39cb6d(_0x2c916c){return'\x20\x20'+_0x2c916c+'\x0a';}async function _0x105c3d(_0x3f98f2,_0x537772={}){const _0x4fb185=_0x5ccc4b,_0x3c6aa0=_0x15480b=>_0x136036(_0x15480b,_0x537772),_0x3c09ff=()=>{_0x3c6aa0('\x0a');},_0x31dd15=await _0x42d2ca(_0x3f98f2,_0x537772),_0xfdd9c3=await _0x2fc139(_0x31dd15),_0x258f99=await _0x58f9a6(_0x31dd15);let _0x1f43de=_0x258f99;if(!_0x537772[_0x4fb185(0x3d2)]){_0x3c09ff();const _0x4c0883=_0x1a9f91(_0xfdd9c3,'@ceraph/react-native-mcp@latest');_0x3c6aa0(_0x39cb6d((_0x258f99?'Updating':_0x4fb185(0x1c8))+_0x4fb185(0x550)+_0xfdd9c3+')…'));const _0x2dec27=_0x537772['installPackage']??_0x387e2e,_0x6ddd7=await _0x2dec27({'bin':_0x4c0883[_0x4fb185(0x319)],'args':_0x4c0883[_0x4fb185(0x4e2)],'cwd':_0x31dd15,'stdioToStderr':_0x537772[_0x4fb185(0x1f4)]===!![]});if(_0x6ddd7['exitCode']!==0x0)throw new Error(_0xfdd9c3+'\x20install\x20exited\x20with\x20code\x20'+_0x6ddd7['exitCode']+'.\x20Fix\x20the\x20error\x20above\x20and\x20re-run\x20`npx\x20@ceraph/react-native-mcp\x20init`.');_0x1f43de=!![];}let _0x4a8e48;if(_0x537772['tier'])_0x4a8e48=_0x537772['tier'];else{_0x3c09ff(),_0x3c6aa0(_0x39cb6d('More\x20about\x20the\x20plans\x20→\x20'+_0x3a9fdf(_0x21cb85))),_0x3c6aa0('\x0a');const _0x11a829=await _0x5fa9d4(_0x31a105,_0x8dea1,_0x537772);_0x4a8e48=_0x11a829===0x1?_0x4fb185(0x55d):_0x4fb185(0x3bf);}const _0x305cce=_0x537772['writeTier']??(_0x2c9075=>_0x13b611(_0x2c9075)['then'](()=>void 0x0));await _0x305cce(_0x4a8e48)['catch'](()=>void 0x0);const _0x28c875=_0x537772['loadAuth']??_0x307102;let _0x153c6c=null,_0x53ff9f=null;_0x3c09ff();if(_0x4a8e48===_0x4fb185(0x3bf))_0x3c6aa0(_0x39cb6d('Starter\x20selected\x20—\x20local\x20build,\x20run,\x20and\x20device\x20tools.\x20No\x20sign-in\x20needed.'));else{const _0x143f69=await _0x28c875(),_0x34acd6=_0x143f69!==null&&(_0x143f69[_0x4fb185(0x356)]['id']!==0x0||_0x143f69[_0x4fb185(0x356)]['login']!=='');_0x153c6c=_0x143f69;if(_0x143f69&&!_0x34acd6)_0x3c6aa0(_0x39cb6d(_0x143f69[_0x4fb185(0x34e)]?'Signed\x20in\x20as\x20'+_0x143f69['email']+_0x4fb185(0x30f):'Signed\x20in\x20[cached]'));else{if(_0x34acd6){if(_0x4fb185(0x274)!==_0x4fb185(0x322))_0x3c6aa0(_0x39cb6d(_0x4fb185(0x391)));else{const _0x2a73d7=_0x5377a5()[_0x4fb185(0x2be)](/\/+$/,''),_0xffe0f5=_0x2f3c17[_0x4fb185(0x4a3)]===_0x4fb185(0x55d)?'?intent=pro':'';return _0x2a73d7+_0x4fb185(0x24a)+_0xffe0f5;}}_0x3c6aa0(_0x39cb6d(process.env.CERAPH_AUTH_TOKEN?.[_0x4fb185(0x1cd)]()?_0x4fb185(0x147):_0x4fb185(0x215)));const _0x3a3691=_0x537772['authenticate']??_0x4b5cc2;_0x153c6c=await _0x3a3691(),_0x3c6aa0(_0x39cb6d(_0x153c6c['email']?'Signed\x20in\x20as\x20'+_0x153c6c['email']:_0x4fb185(0x56c)));}const _0x321983=_0x537772['checkMobilePro']??_0x1fe526,_0x2bccf0=await _0x321983()['catch'](()=>![]);_0x53ff9f=_0x2bccf0?_0x4fb185(0x567):'pending',!_0x2bccf0?_0x3c6aa0(_0x39cb6d('Pro\x20selected.\x20To\x20start\x20AI\x20flow\x20testing,\x20complete\x20checkout\x20at\x20'+_0x3a9fdf(_0x21cb85)+_0x4fb185(0x1ef))):_0x3c6aa0(_0x39cb6d(_0x4fb185(0x404)));}const _0x1a92cd=await _0x1a3350(_0x31dd15),_0xcdd524=new Map();let _0xd5be6f={'filesEdited':[],'totalReplacements':0x0};_0x3c09ff();if(_0x1a92cd['edits'][_0x4fb185(0x471)]===0x0)_0x3c6aa0(_0x39cb6d('No\x20<CameraView>\x20usages\x20found\x20in\x20app/,\x20src/,\x20screens/,\x20App.tsx'));else{_0x3c6aa0(_0x39cb6d(_0x4fb185(0x462)+_0x1a92cd[_0x4fb185(0x38e)][_0x4fb185(0x471)]+'\x20<CameraView>\x20usage(s)\x20across\x20'+_0x1a92cd[_0x4fb185(0x36a)]+_0x4fb185(0x2f7)));for(const _0xa019f7 of _0x1a92cd[_0x4fb185(0x38e)]){_0x3c6aa0(_0x39cb6d('\x20\x20-\x20'+_0xa019f7[_0x4fb185(0x2ec)]+':'+_0xa019f7['line']+'\x20→\x20<CeraphCamera\x20/>'+(_0xa019f7['alreadyHasImageKey']?'\x20(existing\x20imageKey\x20preserved)':'')));}_0x3c6aa0(_0x39cb6d('<CeraphCamera>\x20is\x20a\x20drop-in\x20for\x20<CameraView>\x20(same\x20props):\x20during\x20a\x20flow\x20run\x20it\x20returns\x20your\x20test\x20image;\x20in\x20a\x20production\x20build\x20it\x20renders\x20the\x20real\x20camera.'));const _0x3401fb=await _0x98335a(_0x4fb185(0x492)+_0x1a92cd['edits'][_0x4fb185(0x471)]+_0x4fb185(0x424),{..._0x537772,'defaultYes':!![]});_0x3401fb?_0xd5be6f=await _0x385d29(_0x31dd15,_0x1a92cd[_0x4fb185(0x38e)],_0xcdd524,_0x537772,{'omitImageKey':!![]}):_0x3c6aa0(_0x39cb6d('Skipped\x20<CameraView>\x20rewrite.\x20Re-run\x20`npx\x20@ceraph/react-native-mcp\x20init`\x20to\x20apply.'));}const _0x38feaa=await _0x5bc2f4(_0x31dd15);let _0x3c3367={'applied':![],'target':_0x38feaa};const _0x2ad452=_0x38feaa?await _0xbcad8e(_0x38feaa[_0x4fb185(0x47a)]):'none';_0x3c09ff();if(!_0x38feaa)_0x3c6aa0(_0x39cb6d(_0x4fb185(0x4dd)));else{if(_0x2ad452===_0x4fb185(0x338))_0x3c6aa0(_0x39cb6d('installCeraph()\x20already\x20wired\x20in\x20'+_0x51f8ce(_0x31dd15,_0x38feaa[_0x4fb185(0x47a)]))),_0x3c3367={'applied':![],'target':_0x38feaa,'reason':_0x4fb185(0x411)};else{if(_0x4fb185(0x57f)!=='soKaG')return _0x48f2b9(_0x272ac+_0x4fb185(0x2a1)+_0x173e25+'\x20is\x20not\x20a\x20JSON\x20object\x20(got\x20'+(_0x2c705e[_0x4fb185(0x178)](_0x578f17)?'array':typeof _0xfb9e53)+_0x4fb185(0x562)),![];else{const _0xb5531e=_0x2ad452==='bare'?'Upgrade':'Wire';_0x3c6aa0(_0x39cb6d(_0x4fb185(0x17a)));const _0x144984=await _0x98335a(_0xb5531e+_0x4fb185(0x474)+_0x51f8ce(_0x31dd15,_0x38feaa[_0x4fb185(0x47a)])+'?',{..._0x537772,'defaultYes':!![]});if(_0x144984){const _0x1eede6=await _0x1d6eff(_0x38feaa);try{const _0x5e824e=await _0x1b70d4(_0x38feaa);_0x3c3367={'applied':_0x5e824e[_0x4fb185(0x333)],'target':_0x38feaa,'reason':_0x5e824e[_0x4fb185(0x3d1)]},_0x5e824e['applied']?_0x3c6aa0(_0x39cb6d(_0x4fb185(0x30b)+_0x51f8ce(_0x31dd15,_0x38feaa[_0x4fb185(0x47a)]))):_0x3c6aa0(_0x39cb6d(_0x4fb185(0x16d)+(_0x5e824e[_0x4fb185(0x3d1)]??'unknown\x20reason')));}catch(_0x46831f){if(_0x1eede6!=null)await _0x1b4fb8(_0x38feaa,_0x1eede6);throw _0x46831f;}}else _0x3c6aa0(_0x39cb6d('Skipped\x20installCeraph()\x20injection.\x20Re-run\x20`npx\x20@ceraph/react-native-mcp\x20init`\x20to\x20wire\x20it.'));}}}let _0x40bf0d=null;const _0xcd52ad=_0x537772['ensureUrlScheme']??_0x24cc98,_0x393161=await _0xcd52ad(_0x31dd15);_0x40bf0d=_0x393161;if(_0x393161[_0x4fb185(0x2b7)]!==_0x4fb185(0x4af))_0x3c09ff();switch(_0x393161['kind']){case _0x4fb185(0x231):{const _0x179e14=_0x393161[_0x4fb185(0x483)],_0x506772=_0x51f8ce(_0x31dd15,_0x393161['path']);if(_0x179e14===void 0x0)_0x3c6aa0(_0x39cb6d(_0x4fb185(0x455)+_0x506772+'\x20scheme\x20to\x20ceraph://'));else{const _0x16d3d0=Array['isArray'](_0x179e14)?_0x179e14[_0x4fb185(0x3aa)](',\x20'):_0x179e14;_0x3c6aa0(_0x39cb6d('Added\x20ceraph://\x20to\x20your\x20'+_0x506772+'\x20scheme\x20(kept\x20your\x20existing\x20'+_0x16d3d0+_0x4fb185(0x2f1)+_0x16d3d0+_0x4fb185(0x23c)));}break;}case'expo-json-already-registered':_0x3c6aa0(_0x39cb6d('ceraph://\x20URL\x20scheme\x20already\x20registered\x20in\x20'+_0x51f8ce(_0x31dd15,_0x393161['path'])));break;case _0x4fb185(0x18a):_0x3c6aa0(_0x39cb6d('Detected\x20'+_0x51f8ce(_0x31dd15,_0x393161[_0x4fb185(0x195)])+'\x20(dynamic\x20Expo\x20config).')),_0x3c6aa0(_0x4b56ef(_0x51f8ce(_0x31dd15,_0x393161['path'])));break;case'bare-rn-needs-manual':_0x3c6aa0(_0x39cb6d('Detected\x20bare\x20React\x20Native\x20project\x20(ios/\x20and/or\x20android/).')),_0x3c6aa0(_0x140dde());break;case'no-rn-project':break;}let _0x2513a3=null;const _0x4666e2=_0x537772['ensureBabelPlugin']??_0x14e676,_0x1528db=await _0x4666e2(_0x31dd15);_0x2513a3=_0x1528db,_0x3c09ff();switch(_0x1528db[_0x4fb185(0x2b7)]){case _0x4fb185(0x38b):_0x3c6aa0(_0x39cb6d('Wired\x20the\x20testID\x20injector\x20into\x20'+_0x51f8ce(_0x31dd15,_0x1528db['path'])+(_0x1528db['beforeReanimated']?_0x4fb185(0x232):'')+'.'));break;case _0x4fb185(0x42e):_0x3c6aa0(_0x39cb6d('testID\x20injector\x20already\x20wired\x20in\x20'+_0x51f8ce(_0x31dd15,_0x1528db[_0x4fb185(0x195)])));break;case'needs-manual':_0x3c6aa0(_0x39cb6d(_0x4fb185(0x49a)+_0x1528db['reason']));break;case'created':_0x3c6aa0(_0x39cb6d('Created\x20'+_0x51f8ce(_0x31dd15,_0x1528db['path'])+'\x20('+_0x1528db['preset']+_0x4fb185(0x582)));break;}let _0x4aa138={'state':_0x4fb185(0x214),'registered':0x0};if(_0xd5be6f[_0x4fb185(0x30e)]>0x0){if(_0x4fb185(0x4b9)!=='NiUaE'){_0x3c09ff();const _0x446737=await _0x3117a7(_0x31dd15);_0x4aa138={'state':_0x446737['writtenOrUnchanged'],'registered':_0x446737['registered'][_0x4fb185(0x471)]},_0x446737[_0x4fb185(0x314)]==='missing-dir'?_0x3c6aa0(_0x39cb6d(_0x4fb185(0x228)+_0x476c50(_0x4fb185(0x2f8),_0x4fb185(0x3d5))+_0x4fb185(0x25d))):_0x3c6aa0(_0x39cb6d(_0x4fb185(0x297)+_0x446737['writtenOrUnchanged']+'\x20('+_0x446737[_0x4fb185(0x4f9)]['length']+'\x20image(s))\x20at\x20'+_0x33dfff(_0x31dd15,_0x446737['registryPath'])+'.'));}else return{'name':_0x1498cb,'ok':![],'severity':_0x584235,'message':_0x41e596 instanceof _0x3298ef?_0x46c622['message']:_0x366ab7(_0xa110d0)};}let _0x4c3393=null;if(_0x153c6c&&_0x53ff9f==='active')try{const _0x1ee01c=_0x537772['seedMobileGraph']??_0x3c5083;_0x4c3393=await _0x1ee01c({'workingDir':_0x31dd15,'auth':_0x153c6c}),_0x4c3393[_0x4fb185(0x416)]==='seeded'&&(_0x3c09ff(),_0x3c6aa0(_0x39cb6d(_0x4fb185(0x3ad)+_0x4c3393[_0x4fb185(0x3e2)]+_0x4fb185(0x269)+_0x4c3393[_0x4fb185(0x51b)]+_0x4fb185(0x506)+_0x4c3393[_0x4fb185(0x441)]+').')));}catch{_0x4c3393=null;}else _0x153c6c&&_0x53ff9f===_0x4fb185(0x159)&&(_0x4c3393={'status':'skipped','reason':'not-pro','message':'Pro\x20selected\x20but\x20not\x20yet\x20active\x20—\x20server-side\x20caching\x20is\x20skipped\x20until\x20checkout\x20completes\x20at\x20'+_0x21cb85+'.'});let _0x32a0de=null;if(_0x537772['runDoctor']){_0x3c09ff(),_0x32a0de=await _0x537772[_0x4fb185(0x47c)](),_0x3c6aa0(_0x39cb6d('Doctor:\x20'+_0x32a0de[_0x4fb185(0x3af)]+'/'+_0x32a0de[_0x4fb185(0x237)]+'\x20'+(_0x32a0de['ok']?_0x4fb185(0x3ed):_0x4fb185(0x1e9))));if(_0x32a0de['summary'])_0x3c6aa0(_0x32a0de[_0x4fb185(0x321)]);}_0x3c09ff();let _0x382cfb=![];if(_0x4a8e48==='starter')_0x3c6aa0(_0x39cb6d(_0x4fb185(0x39a))),_0x3c6aa0(_0x39cb6d(_0x4fb185(0x2db))),_0x3c6aa0(_0x39cb6d('More\x20about\x20the\x20plans\x20→\x20'+_0x3a9fdf(_0x21cb85))),_0x382cfb=!![];else _0x53ff9f===_0x4fb185(0x159)&&(!_0x537772['agentMode']&&process['stdout']['isTTY']===!![]&&_0x2bee48(_0x21cb85),_0x3c6aa0(_0x39cb6d('Pro\x20selected.\x20Complete\x20checkout\x20at\x20'+_0x3a9fdf(_0x21cb85)+_0x4fb185(0x2c5))),_0x3c6aa0(_0x39cb6d('your\x20Pro\x20access\x20refreshes\x20automatically.')),_0x382cfb=!![]);if(_0x382cfb)_0x3c6aa0('\x0a');_0x3c6aa0(_0x39cb6d(_0x4fb185(0x1f8)));_0x537772[_0x4fb185(0x332)]&&_0x3c6aa0(_0x39cb6d('Claude\x20Code\x20will\x20ask\x20you\x20to\x20approve\x20the\x20Ceraph\x20MCP\x20server\x20once\x20on\x20restart\x20—\x20your\x20.claude/settings.local.json\x20had\x20an\x20unexpected\x20shape,\x20so\x20it\x20was\x20left\x20untouched.\x20Approve\x20the\x20prompt,\x20or\x20add\x20\x22react-native-mcp\x22\x20to\x20enabledMcpjsonServers\x20in\x20that\x20file\x20by\x20hand.'));_0x3c6aa0('\x0a'),_0x3c6aa0(_0x39cb6d(_0x4fb185(0x45a))),_0x3c6aa0(_0x39cb6d('\x22Run\x20ceraph_init_status\x20to\x20confirm\x20the\x20project\x20is\x20wired\x20up.\x22')),_0x3c6aa0('\x0a');const _0x2bfaaa=_0x1a92cd['edits']['map'](_0x22c43a=>({'file':_0x22c43a['relPath'],'line':_0x22c43a[_0x4fb185(0x222)],'suggestedKey':_0x22c43a[_0x4fb185(0x245)]})),_0x240f2c=_0x537772[_0x4fb185(0x181)]?{'cameras':_0x2bfaaa,'setupRequired':_0x2bfaaa['length']>0x0,'hintText':_0x2bfaaa[_0x4fb185(0x471)]===0x0?'No\x20<CeraphCamera>\x20components\x20detected.\x20No\x20camera-setup\x20conversation\x20needed;\x20proceed\x20with\x20the\x20rest\x20of\x20the\x20project\x20work.':'For\x20each\x20<CeraphCamera>\x20below,\x20ask\x20the\x20user\x20which\x20scenario\x20this\x20camera\x20serves\x20and\x20call\x20ceraph_init_replace_camera\x20with\x20the\x20chosen\x20imageKey.\x20Three\x20options:\x20(A)\x20imageKey=\x22default\x22\x20—\x20bundled\x20black\x20PNG\x20fallback.\x20Right\x20answer\x20when\x20the\x20test\x20doesn\x27t\x20care\x20about\x20image\x20content\x20(most\x20form-submit\x20/\x20file-upload\x20flows).\x20(B)\x20imageKey=\x22<key>\x22\x20—\x20a\x20specific\x20test\x20image.\x20Ask\x20the\x20user\x20for\x20a\x20descriptive\x20lowercase-dashes\x20name\x20AND\x20drop\x20the\x20file\x20at\x20.ceraph/camera-images/<key>.{jpg,png,webp},\x20then\x20call\x20rn_sync_camera_registry.\x20(C)\x20imageKey=\x22@runtime\x22\x20—\x20the\x20camera\x20serves\x20multiple\x20scenarios\x20per\x20flow;\x20the\x20planner\x20picks\x20the\x20image\x20per-step\x20at\x20runtime.\x20Use\x20when\x20one\x20camera\x20screen\x20feeds\x20different\x20outcomes.'}:null;return _0x537772['agentMode']&&_0x240f2c&&_0x3c6aa0(''+_0x4b75f5+JSON[_0x4fb185(0x2ba)](_0x240f2c)+'\x0a'),{'packageInstalled':_0x1f43de,'packageManager':_0xfdd9c3,'tier':_0x4a8e48,'proStatus':_0x53ff9f,'authLogin':_0x153c6c?.[_0x4fb185(0x34e)]??null,'cameraEdits':_0xd5be6f,'layoutInjection':_0x3c3367,'graphSeed':_0x4c3393,'cameraRegistrySync':_0x4aa138,'doctor':_0x32a0de,'workingDir':_0x31dd15,'urlScheme':_0x40bf0d,'babelConfig':_0x2513a3,'agentHint':_0x240f2c};}async function _0x42d2ca(_0x53f30b,_0x3337c7){const _0x5dd690=_0x5ccc4b,_0x4a47cf=_0x3337c7[_0x5dd690(0x2b0)]??_0x5ec4d2,_0x3fdfe5=await _0x4a47cf(_0x53f30b);if(_0x3fdfe5[_0x5dd690(0x2b7)]===_0x5dd690(0x4c5)){if(_0x3fdfe5['isMonorepo']&&!_0x3fdfe5['rootIsRnApp'])throw new Error(_0x5dd690(0x500));return _0x53f30b;}if(_0x3fdfe5['kind']==='single'){const _0x1439be=_0x3fdfe5[_0x5dd690(0x4be)][0x0];if(!_0x1439be)return _0x53f30b;return _0x136036('\x0a',_0x3337c7),_0x136036(_0x39cb6d(_0x5dd690(0x3d9)+_0x1439be[_0x5dd690(0x2ec)]+'/\x20—\x20working\x20from\x20there'),_0x3337c7),_0x1439be[_0x5dd690(0x26d)];}_0x136036('\x0a',_0x3337c7),_0x136036(_0x39cb6d('Multiple\x20React\x20Native\x20subpackages\x20detected:'),_0x3337c7);const _0x3b3bdf=_0x3fdfe5[_0x5dd690(0x4be)][_0x5dd690(0x362)](_0x4bc5c2=>_0x4bc5c2[_0x5dd690(0x2ec)]+_0x5dd690(0x167)+_0x4bc5c2['signals'][_0x5dd690(0x3aa)](',\x20')+']'),_0x551af9=await _0x5fa9d4(_0x5dd690(0x299),_0x3b3bdf,_0x3337c7);if(_0x551af9==null)throw new Error('No\x20valid\x20selection.\x20Re-run\x20init\x20and\x20pick\x20a\x20numbered\x20option.');const _0x5176c1=_0x3fdfe5['matches'][_0x551af9];if(!_0x5176c1){if(_0x5dd690(0x4c1)===_0x5dd690(0x39b))for(const _0x3cd12d of _0x1738ba[_0x5dd690(0x48e)][_0x5dd690(0x23f)]){_0x4ae2a5[_0x5dd690(0x532)](_0x3cd12d);}else throw new Error(_0x5dd690(0x4b1));}return _0x136036(_0x39cb6d(_0x5dd690(0x1cf)+_0x5176c1[_0x5dd690(0x2ec)]+'/'),_0x3337c7),_0x5176c1[_0x5dd690(0x26d)];}function _0x51f8ce(_0x382cc6,_0x31e5ba){const _0x167576=_0x5ccc4b;if(_0x31e5ba['startsWith'](_0x382cc6)){const _0x2d53a7=_0x31e5ba['slice'](_0x382cc6['length']+0x1);return _0x2d53a7[_0x167576(0x471)]>0x0?_0x2d53a7:_0x31e5ba;}return _0x31e5ba;}async function _0x4b5cc2(){const _0x287856=_0x5ccc4b,_0x141775=await _0x8c9830();return{'accessToken':_0x141775[_0x287856(0x25c)],'expiresAt':0x0,'githubUser':{'login':'','id':0x0},'storedAt':new Date()[_0x287856(0x3ba)](),..._0x141775['email']?{'email':_0x141775['email']}:{}};}async function _0x385d29(_0x2ff5cd,_0x4c3202,_0x5d4296,_0xcd4e4d,_0x45768e={}){const _0x98a8e1=_0x5ccc4b;for(const _0x2cc20c of _0x4c3202){!_0x5d4296['has'](_0x2cc20c['filePath'])&&_0x5d4296['set'](_0x2cc20c['filePath'],await _0x3f3777(_0x2cc20c[_0x98a8e1(0x47a)]));}try{const _0x4b9a50=await _0x174b73(_0x2ff5cd,_0x4c3202,_0x45768e);return _0x136036(_0x39cb6d('Replaced\x20'+_0x4b9a50['totalReplacements']+'\x20<CameraView>\x20→\x20<CeraphCamera>\x20across\x20'+_0x4b9a50['filesEdited']['length']+_0x98a8e1(0x488)),_0xcd4e4d),_0x4b9a50;}catch(_0x39ec7b){for(const [_0x49f7c,_0x5e691e]of _0x5d4296){if(_0x5e691e!=null){if(_0x98a8e1(0x313)==='EmacO')return _0x4d1c06;else try{await _0x4db18c(_0x49f7c,_0x5e691e);}catch(_0x4845a3){if('Jqkie'==='swwZG')return{'success':!![],'transport':'simctl','details':{'udid':_0xcd9d7c}};else console[_0x98a8e1(0x51e)]('[ceraph]\x20rollback\x20failed\x20for\x20'+_0x49f7c+':',_0x4845a3 instanceof Error?_0x4845a3['message']:_0x4845a3);}}}throw _0x39ec7b;}}var _0x4b75f5,_0x21cb85,_0x31a105,_0x4f24e1,_0x83a4c9,_0x8dea1,_0x18bca4=_0x4d3071({'src/init/walkthrough.ts'(){'use strict';const _0x45f52b=_0x5ccc4b;_0x26287f(),_0xe6e8e7(),_0x553117(),_0x1c9166(),_0x3cac80(),_0x30ec70(),_0x4bd0b6(),_0x1ecc92(),_0xe1bccc(),_0x165f87(),_0x21caea(),_0x5cecd5(),_0x20405c(),_0x4b75f5='CERAPH_INIT_AGENT_HINT=',_0x21cb85=_0x45f52b(0x29a),_0x31a105='Which\x20plan?',_0x4f24e1='Starter\x20·\x20Free\x20—\x20local\x20build,\x20run,\x20and\x20device\x20tools.\x20No\x20sign-in.',_0x83a4c9='Pro\x20·\x20$10/mo\x20—\x20AI\x20flow\x20testing\x20on\x20your\x20real\x20device.\x20Sign\x20in\x20to\x20start.',_0x8dea1=[_0x4f24e1,_0x83a4c9];}});import{spawn as _0x472b19}from'child_process';function _0x40e203(_0x5580a3,_0x15f0e6,_0x524b48={}){return new Promise(_0x5bd6c3=>{const _0x4d0d22=_0x4997;if('IfJEb'!=='IfJEb'){try{_0x50dd19[_0x4d0d22(0x579)](_0x4d0d22(0x2ac));}catch{}_0x4060ad({'ok':![],'error':'`'+_0x325453+'\x20'+_0x54c3bc['join']('\x20')+'`\x20timed\x20out\x20after\x20'+_0x27b23c/0xea60+_0x4d0d22(0x15b)});}else{let _0x4fc2ba='',_0x4201fa='',_0x2c84aa;try{_0x2c84aa=_0x472b19(_0x5580a3,_0x15f0e6,{'stdio':['ignore',_0x4d0d22(0x43a),'pipe']});}catch(_0x53c336){_0x5bd6c3({'code':0x7f,'stdout':'','stderr':_0x53c336 instanceof Error?_0x53c336['message']:String(_0x53c336)});return;}const _0x135329=setTimeout(()=>{const _0x2d8497=_0x4d0d22;try{_0x2c84aa['kill'](_0x2d8497(0x2ac));}catch{}},_0x524b48['timeoutMs']??0x3a98);_0x2c84aa[_0x4d0d22(0x16e)]?.['on']('data',_0x401597=>{_0x4fc2ba+=_0x401597['toString']();}),_0x2c84aa['stderr']?.['on'](_0x4d0d22(0x48c),_0x404317=>{_0x4201fa+=_0x404317['toString']();});let _0x371ea3=![];_0x2c84aa['on'](_0x4d0d22(0x51e),_0x3333d0=>{if(_0x371ea3)return;_0x371ea3=!![],clearTimeout(_0x135329),_0x5bd6c3({'code':0x7f,'stdout':_0x4fc2ba,'stderr':_0x4201fa+(_0x3333d0['message']??String(_0x3333d0))});}),_0x2c84aa['on']('exit',_0x391901=>{if(_0x371ea3)return;_0x371ea3=!![],clearTimeout(_0x135329),_0x5bd6c3({'code':_0x391901??0x1,'stdout':_0x4fc2ba,'stderr':_0x4201fa});});}});}async function _0x3d4e1(_0x4104c3){const _0x28f34f=_0x5ccc4b,_0x5d8039=await _0x40e203('which',[_0x4104c3],{'timeoutMs':0x7d0});return _0x5d8039['code']===0x0&&_0x5d8039[_0x28f34f(0x16e)]['trim']()[_0x28f34f(0x471)]>0x0;}function _0x53d062(_0x5b6144){const _0x39d53b=_0x5ccc4b,_0x2be9e3=[];let _0xfb59d4=0x0,_0x20e1ba=![],_0x3ab5bd=null,_0x4ba19c=null,_0x348277=null,_0x247e32=null,_0xc2fde8=null,_0xf64bf=null;const _0x2019f5=_0x26e9e6=>{const _0x9aaa0=_0x4997;let _0x37b9ad=_0x26e9e6['trim']();if(_0x37b9ad['endsWith'](';'))_0x37b9ad=_0x37b9ad[_0x9aaa0(0x54d)](0x0,-0x1)['trim']();return(_0x37b9ad[_0x9aaa0(0x425)]('\x22')&&_0x37b9ad[_0x9aaa0(0x227)]('\x22')||_0x37b9ad['startsWith']('\x27')&&_0x37b9ad['endsWith']('\x27'))&&(_0x37b9ad=_0x37b9ad[_0x9aaa0(0x54d)](0x1,-0x1)),_0x37b9ad;};for(const _0x51ebdf of _0x5b6144[_0x39d53b(0x4c7)]('\x0a')){const _0x4cf20b=_0x51ebdf['trim']();if(_0x4cf20b['length']===0x0)continue;if(_0xfb59d4===0x1&&!_0x20e1ba&&_0x4cf20b['endsWith']('{')){const _0x3043aa=_0x4cf20b['indexOf']('=');if(_0x3043aa>0x0){const _0x1ba217=_0x2019f5(_0x4cf20b[_0x39d53b(0x54d)](0x0,_0x3043aa));_0x3ab5bd=_0x1ba217,_0x4ba19c=_0x1ba217,_0x348277=null,_0x247e32=null,_0xc2fde8=null,_0xf64bf=null,_0x20e1ba=!![];}_0xfb59d4+=0x1;continue;}if(_0x4cf20b['endsWith']('{')){_0xfb59d4+=0x1;continue;}if(_0x4cf20b==='};'||_0x4cf20b==='}'){if(_0x20e1ba&&_0xfb59d4===0x2){if(_0x39d53b(0x18c)==='XfWCx')return this[_0x39d53b(0x1cc)]=_0x39d53b(0x1e1),{'ok':!![]};else{const _0x343cc6=_0x4ba19c??_0x3ab5bd;_0x343cc6&&_0x2be9e3['push']({'bundleId':_0x343cc6,'name':_0x247e32??_0x348277??_0x343cc6,'version':_0xc2fde8??_0xf64bf??void 0x0}),_0x20e1ba=![],_0x3ab5bd=null,_0x4ba19c=null,_0x348277=null,_0x247e32=null,_0xc2fde8=null,_0xf64bf=null;}}_0xfb59d4=Math[_0x39d53b(0x3c3)](0x0,_0xfb59d4-0x1);continue;}if(_0x20e1ba&&_0xfb59d4===0x2){const _0x50e690=_0x4cf20b[_0x39d53b(0x35c)]('=');if(_0x50e690<0x0)continue;const _0x53008e=_0x4cf20b[_0x39d53b(0x54d)](0x0,_0x50e690)['trim'](),_0x4e5d2e=_0x2019f5(_0x4cf20b[_0x39d53b(0x54d)](_0x50e690+0x1));switch(_0x53008e){case'CFBundleIdentifier':_0x4ba19c=_0x4e5d2e;break;case'CFBundleName':_0x348277=_0x4e5d2e;break;case _0x39d53b(0x3ff):_0x247e32=_0x4e5d2e;break;case _0x39d53b(0x2e4):_0xc2fde8=_0x4e5d2e;break;case'CFBundleVersion':_0xf64bf=_0x4e5d2e;break;default:break;}}}return _0x2be9e3;}var _0x650c57,_0x40fba2=_0x4d3071({'src/app-lifecycle.ts'(){'use strict';const _0x31afea=_0x5ccc4b;_0x650c57=class _0x4936dc{constructor(_0x22e88c,_0xcef57b){this['screen']=_0x22e88c,this['targetResolver']=_0xcef57b;}[_0x31afea(0x55e)]=null;['udidResolved']=![];['udidResolvedAt']=0x0;static [_0x31afea(0x352)]=0x1388;[_0x31afea(0x46d)]=null;[_0x31afea(0x225)]=null;['idbAvailable']=null;['installedAppsCache']=null;[_0x31afea(0x40e)]=0x7530;['setTargetResolver'](_0x59b7b7){this['targetResolver']=_0x59b7b7;}async[_0x31afea(0x1f7)](){const _0x38698e=_0x31afea;if(!this['targetResolver'])return{'preferSimulator':![],'simulatorUdid':'booted'};const _0x369fc2=await this['targetResolver']['resolve'](),_0xc7061=_0x369fc2[_0x38698e(0x4da)]==='simulator',_0x334e3c=_0x369fc2[_0x38698e(0x4da)]==='simulator'&&_0x369fc2['udid']?_0x369fc2[_0x38698e(0x55e)]:_0x38698e(0x43f);return{'preferSimulator':_0xc7061,'simulatorUdid':_0x334e3c};}async['getUdid'](){const _0x363444=_0x31afea;if(this['udidResolved']&&this['udid']&&Date['now']()-this['udidResolvedAt']<_0x4936dc['UDID_TTL_MS'])return this[_0x363444(0x55e)];if(this['udidInflight'])return this[_0x363444(0x46d)];const _0x333646=((async()=>{const _0x4fd1cf=_0x363444;try{if('xKDtm'===_0x4fd1cf(0x315)){const _0x3967c8=await _0x3d4e1('xcrun');if(!_0x3967c8)return null;const _0x3dc429=await _0x40e203('xcrun',[_0x4fd1cf(0x376),'list',_0x4fd1cf(0x2f3),_0x4fd1cf(0x4b6),'-'],{'timeoutMs':0x1f40});if(_0x3dc429['code']!==0x0)return null;const _0x203d38=JSON[_0x4fd1cf(0x398)](_0x3dc429['stdout']),_0x4f523f=_0x203d38[_0x4fd1cf(0x4e4)]?.['devices']??[],_0x19f043=_0x4f523f[_0x4fd1cf(0x173)](_0x3b1c87=>{const _0x386992=_0x4fd1cf,_0xf65c1c=_0x3b1c87[_0x386992(0x46a)]?.['platform']?.[_0x386992(0x223)]()??'',_0x512b48=_0x3b1c87['connectionProperties']?.['tunnelState']?.['toLowerCase']()??'';return _0xf65c1c['includes']('ios')&&_0x512b48==='connected';});if(_0x19f043?.['identifier'])return this[_0x4fd1cf(0x55e)]=_0x19f043[_0x4fd1cf(0x4e0)],this['udidResolved']=!![],this[_0x4fd1cf(0x1ee)]=Date[_0x4fd1cf(0x239)](),this['udid'];const _0x57f1ec=_0x4f523f['find'](_0x5af30a=>(_0x5af30a['hardwareProperties']?.['platform']?.[_0x4fd1cf(0x223)]()??'')['includes']('ios'));if(_0x57f1ec?.[_0x4fd1cf(0x4e0)])return this['udid']=_0x57f1ec[_0x4fd1cf(0x4e0)],this['udidResolved']=!![],this[_0x4fd1cf(0x1ee)]=Date[_0x4fd1cf(0x239)](),this[_0x4fd1cf(0x55e)];}else _0x3520eb['remediation']=_0x4fd1cf(0x2f0)+_0x36c6b7+'\x20<CeraphCamera>\x20tag(s).\x20If\x20any\x20of\x20those\x20keys\x20were\x20customer-set\x20(not\x20Ceraph-generated),\x20re-apply\x20them\x20after\x20install\x20rebuilds\x20the\x20camera\x20surface.';}catch{}return null;})());this['udidInflight']=_0x333646;try{return await _0x333646;}finally{this[_0x363444(0x46d)]=null;}}async['checkDevicectl'](){const _0x537036=_0x31afea;if(this[_0x537036(0x225)]!==null)return this[_0x537036(0x225)];const _0x30e249=await _0x3d4e1('xcrun');if(!_0x30e249)return this['devicectlAvailable']=![],![];const _0x313089=await _0x40e203(_0x537036(0x1ec),[_0x537036(0x376),_0x537036(0x553)],{'timeoutMs':0xfa0});return this['devicectlAvailable']=_0x313089[_0x537036(0x156)]===0x0,this[_0x537036(0x225)];}async['checkIdb'](){const _0x1becab=_0x31afea;if(this['idbAvailable']!==null)return this[_0x1becab(0x394)];return this[_0x1becab(0x394)]=await _0x3d4e1('idb'),this[_0x1becab(0x394)];}async[_0x31afea(0x52f)](_0x39e4d0){const _0x1d2703=_0x31afea,_0x185cce=await this['pickTransport']();if(_0x185cce['preferSimulator']){const _0x1042e0=_0x185cce['simulatorUdid'],_0x46eb49=await _0x40e203(_0x1d2703(0x1ec),[_0x1d2703(0x4df),_0x1d2703(0x584),_0x1042e0,_0x39e4d0],{'timeoutMs':0x3a98});if(_0x46eb49[_0x1d2703(0x156)]===0x0)return{'success':!![],'transport':'simctl','details':{'udid':_0x1042e0}};return{'success':![],'transport':_0x1d2703(0x4df),'error':_0x1d2703(0x4db)+(_0x46eb49[_0x1d2703(0x4ca)]||_0x46eb49['stdout'])['trim'](),'details':{'udid':_0x1042e0}};}const _0x440c5c=await this[_0x1d2703(0x1ad)]();if(_0x440c5c&&await this['checkDevicectl']()){if('FljEm'==='zOerP')_0x355f82={'status':'skipped','reason':_0x1d2703(0x2ee),'message':'Pro\x20selected\x20but\x20not\x20yet\x20active\x20—\x20server-side\x20caching\x20is\x20skipped\x20until\x20checkout\x20completes\x20at\x20'+_0x29b788+'.'};else{const _0x38560b=await _0x40e203(_0x1d2703(0x1ec),['devicectl','device',_0x1d2703(0x461),'launch',_0x1d2703(0x361),_0x440c5c,'--terminate-existing',_0x39e4d0],{'timeoutMs':0x7530});if(_0x38560b[_0x1d2703(0x156)]===0x0)return{'success':!![],'transport':_0x1d2703(0x376),'details':{'udid':_0x440c5c}};const _0x68df8=_0x38560b[_0x1d2703(0x4ca)]||_0x38560b[_0x1d2703(0x16e)];if(!await this['checkIdb']())return{'success':![],'transport':'devicectl','error':'devicectl\x20launch\x20failed:\x20'+_0x68df8['trim']()};}}if(await this[_0x1d2703(0x4cd)]()){const _0x2ea041=['launch',_0x39e4d0];if(_0x440c5c)_0x2ea041[_0x1d2703(0x359)](_0x1d2703(0x454),_0x440c5c);const _0x379544=await _0x40e203(_0x1d2703(0x153),_0x2ea041,{'timeoutMs':0x7530});if(_0x379544['code']===0x0)return{'success':!![],'transport':_0x1d2703(0x153),'details':{'udid':_0x440c5c}};if(!_0x440c5c){}else{if('MekOw'==='MekOw')return{'success':![],'transport':'idb','error':'idb\x20launch\x20failed:\x20'+(_0x379544['stderr']||_0x379544[_0x1d2703(0x16e)])['trim']()};else'use strict';}}if(!_0x440c5c){const _0x45d3b1=await _0x40e203(_0x1d2703(0x1ec),['simctl',_0x1d2703(0x584),_0x1d2703(0x43f),_0x39e4d0],{'timeoutMs':0x3a98});if(_0x45d3b1[_0x1d2703(0x156)]===0x0)return{'success':!![],'transport':_0x1d2703(0x4df)};return{'success':![],'transport':_0x1d2703(0x4df),'error':_0x1d2703(0x4db)+(_0x45d3b1[_0x1d2703(0x4ca)]||_0x45d3b1['stdout'])['trim']()};}return{'success':![],'transport':_0x1d2703(0x4c5),'error':_0x1d2703(0x4c3)};}async['terminateApp'](_0x189d66){const _0x19212c=_0x31afea,_0x22a242=await this[_0x19212c(0x1f7)]();if(_0x22a242[_0x19212c(0x335)]){const _0x721437=_0x22a242[_0x19212c(0x3db)],_0x4bf123=await _0x40e203(_0x19212c(0x1ec),['simctl','terminate',_0x721437,_0x189d66],{'timeoutMs':0x2710});if(_0x4bf123[_0x19212c(0x156)]===0x0)return{'success':!![],'transport':'simctl','details':{'udid':_0x721437}};return{'success':![],'transport':_0x19212c(0x4df),'error':'simctl\x20terminate\x20failed:\x20'+(_0x4bf123['stderr']||_0x4bf123[_0x19212c(0x16e)])['trim'](),'details':{'udid':_0x721437}};}if(this['screen']){if(_0x19212c(0x3d6)==='qOkhV')return _0x3b384c(_0x32f2e5)!==null;else{const _0x17ab73=await this[_0x19212c(0x212)]['isAvailable']();if(_0x17ab73){const _0x39a2a9=await this['screen'][_0x19212c(0x1c9)](_0x189d66);if(_0x39a2a9[_0x19212c(0x33f)])return{'success':!![],'transport':_0x19212c(0x23d)};}}}const _0x282c59=await this[_0x19212c(0x1ad)]();if(_0x282c59&&await this[_0x19212c(0x33d)]()){const _0x5db77d=await this[_0x19212c(0x383)](_0x282c59,_0x189d66);if(_0x5db77d!==null){const _0x1323bd=await _0x40e203(_0x19212c(0x1ec),['devicectl','device',_0x19212c(0x461),_0x19212c(0x4e9),_0x19212c(0x361),_0x282c59,'--pid',String(_0x5db77d)],{'timeoutMs':0x3a98});if(_0x1323bd[_0x19212c(0x156)]===0x0)return{'success':!![],'transport':'devicectl','details':{'pid':_0x5db77d}};}}if(await this[_0x19212c(0x4cd)]()){const _0x397304=[_0x19212c(0x4e9),_0x189d66];if(_0x282c59)_0x397304['push'](_0x19212c(0x454),_0x282c59);const _0x4066e5=await _0x40e203('idb',_0x397304,{'timeoutMs':0x3a98});if(_0x4066e5['code']===0x0)return{'success':!![],'transport':'idb'};}if(!_0x282c59){const _0x1fe660=await _0x40e203(_0x19212c(0x1ec),['simctl','terminate','booted',_0x189d66],{'timeoutMs':0x2710});if(_0x1fe660['code']===0x0)return{'success':!![],'transport':_0x19212c(0x4df)};return{'success':![],'transport':_0x19212c(0x4df),'error':'simctl\x20terminate\x20failed:\x20'+(_0x1fe660[_0x19212c(0x4ca)]||_0x1fe660['stdout'])[_0x19212c(0x1cd)]()};}return{'success':![],'transport':'none','error':'Failed\x20to\x20terminate\x20via\x20WDA,\x20devicectl,\x20or\x20idb.\x20The\x20app\x20may\x20not\x20be\x20running,\x20or\x20(devicectl\x20path)\x20it\x20is\x20not\x20a\x20user-installed\x20app\x20so\x20its\x20PID\x20could\x20not\x20be\x20resolved.'};}async['findDeviceAppPid'](_0x4ee1f8,_0x26b875){const _0x43a9ac=_0x31afea;if(_0x43a9ac(0x276)!=='NRoTR'){const _0x3f3091=_0x1540cb?{'dryRun':!![]}:{};switch(_0x1038b9['status']){case'reverted':return{'name':_0x43a9ac(0x18f),'status':_0x43a9ac(0x28d),'details':{'path':_0x7507ea['path'],'previousScheme':_0x2e9c13[_0x43a9ac(0x483)],'nextScheme':_0x546b98[_0x43a9ac(0x2ef)],..._0x3f3091}};case'already-reverted':return{'name':'scheme','status':'already-reverted','details':{'path':_0x37393a[_0x43a9ac(0x195)],..._0x3f3091}};case _0x43a9ac(0x1f3):return{'name':'scheme','status':_0x43a9ac(0x1f3),'details':{'kind':_0x48bd54['kind'],'path':_0x5af45a[_0x43a9ac(0x195)],..._0x3f3091},'remediation':_0x1d5659['remediation']};case _0x43a9ac(0x4af):return{'name':_0x43a9ac(0x18f),'status':_0x43a9ac(0x1b6),'details':{'reason':'no\x20RN\x20project\x20detected',..._0x3f3091}};}}else{const _0x40d221=await _0x40e203('xcrun',[_0x43a9ac(0x376),_0x43a9ac(0x32b),'info','apps','--device',_0x4ee1f8,'--json-output','-'],{'timeoutMs':0x4e20});if(_0x40d221['code']!==0x0)return null;let _0x5f8b8d=null;try{const _0x1b68f1=JSON['parse'](_0x40d221['stdout']);_0x5f8b8d=(_0x1b68f1['result']?.[_0x43a9ac(0x510)]??[])['find'](_0x1731f4=>_0x1731f4[_0x43a9ac(0x392)]===_0x26b875)?.[_0x43a9ac(0x19d)]??null;}catch{return null;}if(!_0x5f8b8d)return null;const _0x2728d4=_0x5f8b8d['endsWith']('/')?_0x5f8b8d:_0x5f8b8d+'/',_0x1c3c5c=await _0x40e203('xcrun',[_0x43a9ac(0x376),'device',_0x43a9ac(0x287),'processes','--device',_0x4ee1f8,'--json-output','-'],{'timeoutMs':0x4e20});if(_0x1c3c5c['code']!==0x0)return null;try{const _0x4a4912=JSON['parse'](_0x1c3c5c[_0x43a9ac(0x16e)]),_0x353218=(_0x4a4912[_0x43a9ac(0x4e4)]?.['runningProcesses']??[])[_0x43a9ac(0x235)](_0x243794=>typeof _0x243794['processIdentifier']===_0x43a9ac(0x429)&&(_0x243794[_0x43a9ac(0x3e4)]??'')[_0x43a9ac(0x425)](_0x2728d4));if(_0x353218[_0x43a9ac(0x471)]===0x0)return null;const _0x488ae7=_0x353218[_0x43a9ac(0x173)](_0x357621=>!_0x357621['executable'][_0x43a9ac(0x54d)](_0x2728d4[_0x43a9ac(0x471)])[_0x43a9ac(0x26f)]('/'));return(_0x488ae7??_0x353218[0x0])[_0x43a9ac(0x49f)];}catch{return null;}}}async['activateApp'](_0xfb8206){const _0x421f68=_0x31afea;if(this[_0x421f68(0x212)]){const _0x43888b=await this[_0x421f68(0x212)]['isAvailable']();if(_0x43888b){const _0x3f5040=await this[_0x421f68(0x212)][_0x421f68(0x201)](_0xfb8206);if(_0x3f5040[_0x421f68(0x33f)])return{'success':!![],'transport':'wda'};}}return this['launchApp'](_0xfb8206);}async[_0x31afea(0x2df)](){const _0x248434=_0x31afea,_0x45026f=await this[_0x248434(0x1f7)](),_0x301e02=_0x45026f['preferSimulator']?null:await this['getUdid'](),_0x1b97dd=_0x45026f['preferSimulator']?_0x248434(0x3e1)+_0x45026f[_0x248434(0x3db)]:_0x248434(0x40c)+(_0x301e02??'none');if(this['installedAppsCache']&&this[_0x248434(0x14a)][_0x248434(0x23b)]===_0x1b97dd&&Date['now']()-this['installedAppsCache']['at']<this[_0x248434(0x40e)])return{'success':!![],'apps':this[_0x248434(0x14a)][_0x248434(0x510)]};if(_0x45026f[_0x248434(0x335)])return this['listInstalledAppsSimulator'](_0x45026f[_0x248434(0x3db)],_0x1b97dd);const _0x5e9147=_0x301e02;if(!_0x5e9147)return{'success':![],'apps':[],'error':_0x248434(0x357)};if(!await this[_0x248434(0x33d)]())return{'success':![],'apps':[],'error':'xcrun\x20devicectl\x20not\x20available\x20—\x20install\x20Xcode\x2015\x20or\x20newer.'};const _0x3bab3b=await _0x40e203('xcrun',['devicectl',_0x248434(0x32b),'info','apps',_0x248434(0x361),_0x5e9147,_0x248434(0x4b6),'-'],{'timeoutMs':0x4e20});if(_0x3bab3b['code']!==0x0)return{'success':![],'apps':[],'error':'devicectl\x20info\x20apps\x20failed:\x20'+(_0x3bab3b['stderr']||_0x3bab3b[_0x248434(0x16e)])['trim']()};try{const _0x3399fd=JSON['parse'](_0x3bab3b['stdout']),_0x318344=(_0x3399fd[_0x248434(0x4e4)]?.['apps']??[])[_0x248434(0x235)](_0x30b141=>!!_0x30b141[_0x248434(0x392)])['map'](_0xe73d1c=>({'bundleId':_0xe73d1c['bundleIdentifier'],'name':_0xe73d1c[_0x248434(0x34d)]??_0xe73d1c[_0x248434(0x392)],'version':_0xe73d1c[_0x248434(0x216)]??_0xe73d1c['version']}));return this['installedAppsCache']={'at':Date[_0x248434(0x239)](),'key':_0x1b97dd,'apps':_0x318344},{'success':!![],'apps':_0x318344};}catch(_0x326cd9){return{'success':![],'apps':[],'error':_0x248434(0x44a)+(_0x326cd9 instanceof Error?_0x326cd9['message']:String(_0x326cd9))};}}async[_0x31afea(0x1ba)](_0x281e67,_0x3364fb){const _0xcc2a9=_0x31afea,_0x204c7c=await _0x40e203(_0xcc2a9(0x1ec),[_0xcc2a9(0x4df),'listapps',_0x281e67],{'timeoutMs':0x3a98});if(_0x204c7c['code']!==0x0)return{'success':![],'apps':[],'error':'simctl\x20listapps\x20failed:\x20'+(_0x204c7c['stderr']||_0x204c7c[_0xcc2a9(0x16e)])[_0xcc2a9(0x1cd)]()};const _0x20e462=_0x53d062(_0x204c7c['stdout']);return this['installedAppsCache']={'at':Date['now'](),'key':_0x3364fb,'apps':_0x20e462},{'success':!![],'apps':_0x20e462};}async[_0x31afea(0x378)](){const _0x16c259=_0x31afea;if(!this['screen'])return{'success':![],'error':_0x16c259(0x304)};return this[_0x16c259(0x212)][_0x16c259(0x478)]();}['reset'](){const _0x1c8c6f=_0x31afea;this[_0x1c8c6f(0x55e)]=null,this['udidResolved']=![],this['udidResolvedAt']=0x0,this[_0x1c8c6f(0x225)]=null,this[_0x1c8c6f(0x394)]=null,this[_0x1c8c6f(0x14a)]=null;}};}});import{spawn as _0x19f3d4}from'child_process';function _0x1de7d4(_0x58adac,_0x311f6d,_0xe18ca1={}){return new Promise(_0x516ce5=>{const _0x536cc5=_0x4997;let _0x369169='',_0x11f39a='',_0x326227;try{_0x326227=_0x19f3d4(_0x58adac,_0x311f6d,{'stdio':['ignore','pipe',_0x536cc5(0x43a)]});}catch(_0x2015e3){_0x516ce5({'code':0x7f,'stdout':'','stderr':_0x2015e3 instanceof Error?_0x2015e3['message']:String(_0x2015e3)});return;}const _0x18e574=setTimeout(()=>{const _0x27de9c=_0x536cc5;try{_0x326227[_0x27de9c(0x579)]('SIGKILL');}catch{}},_0xe18ca1['timeoutMs']??0x1f40);_0x326227[_0x536cc5(0x16e)]?.['on'](_0x536cc5(0x48c),_0x1748c4=>{const _0x24c87a=_0x536cc5;if('ZVmkT'!=='ZVmkT'){const _0x1487ec=_0x25796e?{'dryRun':!![]}:{};switch(_0x19e98f[_0x24c87a(0x416)]){case _0x24c87a(0x29c):return{'name':'package','status':'reverted','details':{'packageManager':_0x906d68['pm'],'removedPackages':_0x3b133e['removedPackages'],'command':_0x5da662[_0x24c87a(0x459)],..._0x1487ec}};case'nothing-to-remove':return{'name':_0x24c87a(0x36f),'status':'already-reverted','details':{'packageManager':_0x19dfae['pm'],..._0x1487ec}};case'command-failed':return{'name':_0x24c87a(0x36f),'status':'error','details':{'packageManager':_0x20ebed['pm'],'command':_0x33861c[_0x24c87a(0x459)],'exitCode':_0x38f966[_0x24c87a(0x4b4)],..._0x1487ec},'remediation':_0x3b7b56['pm']+'\x20'+(_0x4d339d['command']?.[_0x24c87a(0x4e2)][_0x24c87a(0x3aa)]('\x20')??'')+'\x20exited\x20with\x20code\x20'+_0xc40ddf['exitCode']+_0x24c87a(0x254)};}}else _0x369169+=_0x1748c4['toString']();}),_0x326227['stderr']?.['on'](_0x536cc5(0x48c),_0x2391a3=>{const _0xc4e455=_0x536cc5;_0x11f39a+=_0x2391a3[_0xc4e455(0x2a9)]();});let _0x244fad=![];_0x326227['on'](_0x536cc5(0x51e),_0x46fd98=>{if(_0x244fad)return;_0x244fad=!![],clearTimeout(_0x18e574),_0x516ce5({'code':0x7f,'stdout':_0x369169,'stderr':_0x11f39a+(_0x46fd98['message']??String(_0x46fd98))});}),_0x326227['on']('exit',_0x36030f=>{if(_0x244fad)return;_0x244fad=!![],clearTimeout(_0x18e574),_0x516ce5({'code':_0x36030f??0x1,'stdout':_0x369169,'stderr':_0x11f39a});});});}function _0x28aec2(_0xfb1095){const _0x480af2=_0x5ccc4b,_0x3d7cf1=(_0xfb1095??'')[_0x480af2(0x1cd)]()[_0x480af2(0x223)]();if(_0x3d7cf1==='device')return'device';if(_0x3d7cf1==='simulator'||_0x3d7cf1==='sim')return'simulator';return'auto';}async function _0x8bd12e(){const _0x1eeb05=_0x5ccc4b,_0x4d3ec5=await _0x1de7d4(_0x1eeb05(0x1ec),['simctl','list',_0x1eeb05(0x2f3),_0x1eeb05(0x43f),'-j']);if(_0x4d3ec5[_0x1eeb05(0x156)]!==0x0)return[];try{const _0x2840aa=JSON[_0x1eeb05(0x398)](_0x4d3ec5['stdout']),_0x510af3=[],_0xb3a20=_0x2840aa['devices']??{};for(const [_0x3de0df,_0x189290]of Object[_0x1eeb05(0x43e)](_0xb3a20)){const _0x56d55b=_0x3de0df['toLowerCase']()[_0x1eeb05(0x26f)](_0x1eeb05(0x4b3))||_0x3de0df[_0x1eeb05(0x223)]()[_0x1eeb05(0x26f)]('iphone');if(!_0x56d55b)continue;if(!Array['isArray'](_0x189290))continue;for(const _0x4435fd of _0x189290){if(!_0x4435fd[_0x1eeb05(0x55e)])continue;if((_0x4435fd[_0x1eeb05(0x31d)]??'')[_0x1eeb05(0x223)]()!=='booted')continue;_0x510af3['push']({'udid':_0x4435fd['udid'],'name':_0x4435fd['name']??_0x4435fd['udid'],'runtime':_0x4435fd['runtime']??_0x3de0df});}}return _0x510af3;}catch{return[];}}function _0x53d803(_0x630a24){return'http://localhost:'+_0x630a24;}var _0x11330c,_0x377424,_0x495988=_0x4d3071({'src/target.ts'(){'use strict';const _0x3e4ce0=_0x5ccc4b;_0x11330c=_0x3e4ce0(0x3b1),_0x377424=class{[_0x3e4ce0(0x510)];['readPreference'];['cached']=null;[_0x3e4ce0(0x2a6)]=0x0;[_0x3e4ce0(0x185)];[_0x3e4ce0(0x38a)]=null;['stateVersion']=0x0;[_0x3e4ce0(0x2bc)]=null;['simulatorWdaUdid']=null;[_0x3e4ce0(0x370)]=null;['realDeviceHookFiredFor']=new Set();['realDeviceHookInflight']=new Map();[_0x3e4ce0(0x1c1)];constructor(_0x51ccd3={}){const _0x1be76c=_0x3e4ce0;this['apps']=_0x51ccd3['apps']??null,this[_0x1be76c(0x399)]=_0x51ccd3['readPreference']??(()=>_0x28aec2(process.env.CERAPH_TARGET)),this['cacheTtlMs']=_0x51ccd3['cacheTtlMs']??0x1388,this['listBooted']=_0x51ccd3[_0x1be76c(0x1c1)]??_0x8bd12e;}[_0x3e4ce0(0x3e6)](_0x5bc802){const _0x116082=_0x3e4ce0;if('UZqEC'!=='Omjqf')this[_0x116082(0x510)]=_0x5bc802,this[_0x116082(0x196)]=null,this[_0x116082(0x40d)]++;else{if(_0x10ba6c)return;_0x4b3cad=!![],_0x57d093(_0x4d7bc3),_0x5d03b5({'code':_0x23f224??0x1,'stdout':_0x3d6de5,'stderr':_0x11b979});}}[_0x3e4ce0(0x2b1)](_0x232e81,_0x2d5100){const _0x4ae07a=_0x3e4ce0;this[_0x4ae07a(0x2bc)]=_0x232e81,this[_0x4ae07a(0x320)]=_0x2d5100,this[_0x4ae07a(0x196)]=null,this['stateVersion']++;}[_0x3e4ce0(0x4d3)](){const _0x29771b=_0x3e4ce0;this['simulatorWdaPort']=null,this['simulatorWdaUdid']=null,this[_0x29771b(0x196)]=null,this[_0x29771b(0x40d)]++;}[_0x3e4ce0(0x546)](){return this['simulatorWdaPort'];}['getSimulatorWdaUdid'](){const _0x2c0f01=_0x3e4ce0;return this[_0x2c0f01(0x320)];}[_0x3e4ce0(0x48a)](){const _0x1b0122=_0x3e4ce0;this[_0x1b0122(0x196)]=null,this['stateVersion']++;}['setRealDeviceHook'](_0x3280d3){this['realDeviceHook']=_0x3280d3;}async[_0x3e4ce0(0x2f2)](){const _0x53e52d=await this['resolve']();return _0x53e52d['baseUrl'];}async['getTarget'](){const _0xd5ed80=await this['resolve']();return _0xd5ed80['target'];}async[_0x3e4ce0(0x22f)](){const _0x470cc0=_0x3e4ce0;if(this['cached']&&this[_0x470cc0(0x185)]>0x0&&Date[_0x470cc0(0x239)]()-this[_0x470cc0(0x2a6)]<this['cacheTtlMs'])return this[_0x470cc0(0x196)];if(this['inflight'])return this[_0x470cc0(0x38a)];const _0x1fa22d=this[_0x470cc0(0x40d)],_0x458ebe=((async()=>{const _0x5c825e=_0x470cc0,_0x5a3290=this[_0x5c825e(0x399)]();if(_0x5a3290==='device'){const _0x4c1fc3=await this['apps']?.[_0x5c825e(0x1ad)]()??null;return{'target':_0x5c825e(0x32b),'udid':_0x4c1fc3,'baseUrl':_0x11330c,'wdaReady':!![],'reason':_0x5c825e(0x1d2)};}if(_0x5a3290===_0x5c825e(0x174)){if(_0x5c825e(0x43c)!==_0x5c825e(0x43c))return{'ok':!![],'severity':_0x5c825e(0x473),'message':_0x5c825e(0x51d)};else{const _0x399b91=await this['listBooted'](),_0x6ae1a9=this[_0x5c825e(0x320)]?_0x399b91[_0x5c825e(0x173)](_0x4dd293=>_0x4dd293[_0x5c825e(0x55e)]===this[_0x5c825e(0x320)])??_0x399b91[0x0]:_0x399b91[0x0],_0x423a16=_0x6ae1a9?.[_0x5c825e(0x55e)]??this[_0x5c825e(0x320)]??null,_0x256eba=this[_0x5c825e(0x320)]!==null&&_0x399b91['some'](_0x1291af=>_0x1291af['udid']===this[_0x5c825e(0x320)]),_0x181323=this['simulatorWdaPort']!==null&&this['simulatorWdaUdid']!==null&&_0x256eba&&_0x423a16===this['simulatorWdaUdid'];return{'target':'simulator','udid':_0x423a16,'baseUrl':_0x181323?_0x53d803(this[_0x5c825e(0x2bc)]):_0x11330c,'wdaReady':_0x181323,'reason':_0x5c825e(0x1a4)};}}const [_0x1f8d00,_0x364664]=await Promise['all']([this[_0x5c825e(0x510)]?.['getUdid']()??Promise[_0x5c825e(0x22f)](null),this['listBooted']()]);if(_0x1f8d00)return{'target':_0x5c825e(0x32b),'udid':_0x1f8d00,'baseUrl':_0x11330c,'wdaReady':!![],'reason':_0x5c825e(0x487)};if(_0x364664[_0x5c825e(0x471)]>0x0){const _0x228934=this[_0x5c825e(0x320)]?_0x364664['find'](_0xa8b594=>_0xa8b594[_0x5c825e(0x55e)]===this['simulatorWdaUdid'])??_0x364664[0x0]:_0x364664[0x0],_0x379a9a=this['simulatorWdaUdid']!==null&&_0x364664[_0x5c825e(0x28e)](_0x743a88=>_0x743a88[_0x5c825e(0x55e)]===this[_0x5c825e(0x320)]),_0x1d3ab6=this[_0x5c825e(0x2bc)]!==null&&this[_0x5c825e(0x320)]!==null&&_0x379a9a&&_0x228934[_0x5c825e(0x55e)]===this['simulatorWdaUdid'];return{'target':'simulator','udid':_0x228934[_0x5c825e(0x55e)],'baseUrl':_0x1d3ab6?_0x53d803(this['simulatorWdaPort']):_0x11330c,'wdaReady':_0x1d3ab6,'reason':'auto-only-simulator'};}return{'target':_0x5c825e(0x32b),'udid':null,'baseUrl':_0x11330c,'wdaReady':!![],'reason':_0x5c825e(0x469)};})());this['inflight']=_0x458ebe;try{if(_0x470cc0(0x246)==='PhYGS')return{'changed':![],'previousScheme':[..._0x1798a4],'nextScheme':[..._0x3ceb86]};else{const _0x19f1f0=await _0x458ebe;this['stateVersion']===_0x1fa22d&&(this['cached']=_0x19f1f0,this['cachedAt']=Date['now']());if(this[_0x470cc0(0x370)]&&_0x19f1f0['target']===_0x470cc0(0x32b)&&_0x19f1f0['udid']&&!this['realDeviceHookFiredFor'][_0x470cc0(0x466)](_0x19f1f0['udid'])&&!this[_0x470cc0(0x3b2)]['has'](_0x19f1f0[_0x470cc0(0x55e)])){const _0x28e774=_0x19f1f0['udid'];this['realDeviceHookFiredFor'][_0x470cc0(0x532)](_0x28e774);const _0x47f126=Promise['resolve']()['then'](()=>this[_0x470cc0(0x370)]?.(_0x19f1f0))[_0x470cc0(0x243)](()=>{})[_0x470cc0(0x29f)](()=>{const _0xe2919=_0x470cc0;this['realDeviceHookInflight'][_0xe2919(0x4ac)](_0x28e774);});this[_0x470cc0(0x3b2)][_0x470cc0(0x4fb)](_0x28e774,_0x47f126);}return _0x19f1f0;}}finally{this[_0x470cc0(0x38a)]=null;}}async[_0x3e4ce0(0x467)](_0x453cb8){const _0xdd5038=this['realDeviceHookInflight']['get'](_0x453cb8);if(_0xdd5038)await _0xdd5038;}[_0x3e4ce0(0x161)](){const _0x38eaff=_0x3e4ce0;this[_0x38eaff(0x196)]=null,this['inflight']=null,this[_0x38eaff(0x2bc)]=null,this['simulatorWdaUdid']=null,this['realDeviceHookFiredFor'][_0x38eaff(0x141)](),this['realDeviceHookInflight'][_0x38eaff(0x141)](),this[_0x38eaff(0x40d)]++;}};}}),_0x36a78f,_0x2a4caf,_0x24177a=_0x4d3071({'src/screen.ts'(){'use strict';const _0x3ecb81=_0x5ccc4b;_0x495988(),_0x36a78f=0x1388,_0x2a4caf=class{['sessionId']=null;['pixelRatio']=null;[_0x3ecb81(0x309)];[_0x3ecb81(0x1c4)]=null;[_0x3ecb81(0x1cc)]=null;constructor(_0x2717f5={}){this['targetResolver']=_0x2717f5['targetResolver']??new _0x377424();}async['tapAtPoint'](_0x5a1af9,_0x377936,_0x205611){const _0x4bafff=_0x3ecb81;if(this['tapTransport']!=='legacy'){const _0xf0c1ca=await this['sendW3CActions'](_0x5a1af9,[{'type':_0x4bafff(0x2e3),'id':'finger1','parameters':{'pointerType':'touch'},'actions':this[_0x4bafff(0x465)](_0x377936,_0x205611)}]);if(_0xf0c1ca)return this['tapTransport']=_0x4bafff(0x537),{'ok':!![]};if(this['tapTransport']==='actions')return{'ok':![],'error':_0x4bafff(0x1af)};}const _0x32e5f9=await this['wdaFetch']('/session/'+_0x5a1af9+'/wda/tap/0',{'method':_0x4bafff(0x183),'body':JSON[_0x4bafff(0x2ba)]({'x':_0x377936,'y':_0x205611})});if(_0x32e5f9['ok'])return this[_0x4bafff(0x1cc)]=_0x4bafff(0x1e1),{'ok':!![]};const _0x5c545c=await _0x32e5f9['text']()['catch'](()=>_0x4bafff(0x50a));return{'ok':![],'error':_0x4bafff(0x2d5)+_0x32e5f9[_0x4bafff(0x416)]+'\x20'+_0x5c545c};}async[_0x3ecb81(0x3ef)](){const _0x488d7c=_0x3ecb81;try{const _0x4224ca=await this[_0x488d7c(0x309)]['resolve']();return{'baseUrl':_0x4224ca[_0x488d7c(0x3e5)],'ready':_0x4224ca[_0x488d7c(0x55a)]};}catch{return _0x488d7c(0x4f4)!==_0x488d7c(0x541)?{'baseUrl':_0x11330c,'ready':!![]}:{'success':![],'visible':![],'error':_0x2f47aa['error']};}}async['wdaFetchAt'](_0x4539a2,_0x19396,_0xffae79={},_0x29b7db=_0x36a78f){const _0x30f17e=_0x3ecb81,_0x41b982=''+_0x4539a2+_0x19396,_0x23531a=new AbortController(),_0x11b16d=setTimeout(()=>_0x23531a[_0x30f17e(0x511)](),_0x29b7db);try{const _0x4db3a1=await fetch(_0x41b982,{..._0xffae79,'signal':_0x23531a[_0x30f17e(0x1fd)],'headers':{'Content-Type':_0x30f17e(0x3b8),..._0xffae79['headers']}});return _0x4db3a1;}finally{clearTimeout(_0x11b16d);}}async[_0x3ecb81(0x26c)](_0x4fda23,_0x2353fc={},_0x4fdc1e=_0x36a78f){const _0x2ab44c=_0x3ecb81,_0x1e6034=await this['snapshotTarget']();if(!_0x1e6034['ready'])throw new Error(_0x2ab44c(0x4a9));const _0x47cc5b=this['sessionBaseUrl']??_0x1e6034['baseUrl'];return this[_0x2ab44c(0x35f)](_0x47cc5b,_0x4fda23,_0x2353fc,_0x4fdc1e);}async[_0x3ecb81(0x406)](){if(this['sessionBaseUrl'])return this['sessionBaseUrl'];const _0x24f90d=await this['snapshotTarget']();return _0x24f90d['baseUrl'];}async['isAvailable'](){const _0x2c0b57=_0x3ecb81,_0x56263d=await this['snapshotTarget']();if(!_0x56263d['ready'])return![];try{const _0x1ccc03=await this['wdaFetchAt'](_0x56263d[_0x2c0b57(0x3e5)],'/status');return _0x1ccc03['ok'];}catch{return![];}}async['ensureSession'](){const _0x440475=_0x3ecb81,_0x15ce66=await this[_0x440475(0x3ef)]();if(!_0x15ce66['ready'])throw new Error(_0x440475(0x4a9));const _0x4eaa63=_0x15ce66[_0x440475(0x3e5)];this[_0x440475(0x1c4)]&&this['sessionBaseUrl']!==_0x4eaa63&&(this['sessionId']=null,this['pixelRatio']=null);this[_0x440475(0x1c4)]=_0x4eaa63;if(this['sessionId']){try{const _0x2067fe=await this['wdaFetchAt'](_0x4eaa63,_0x440475(0x229)+this['sessionId']);if(_0x2067fe['ok'])return this[_0x440475(0x583)];}catch{}this[_0x440475(0x583)]=null;}try{if(_0x440475(0x4bd)!==_0x440475(0x4bd))throw new _0x188014('WDA\x20unavailable\x20—\x20call\x20rn_wda_start\x20first\x20if\x20testing\x20on\x20a\x20simulator.');else{const _0xbc0297=await this['wdaFetchAt'](_0x4eaa63,'/status');if(_0xbc0297['ok']){const _0x37f482=await _0xbc0297['json'](),_0xa4e474=_0x37f482['sessionId']||_0x37f482[_0x440475(0x389)]?.[_0x440475(0x583)];if(_0xa4e474)return this['sessionId']=_0xa4e474,_0xa4e474;}}}catch{}const _0x29fe35=await this['wdaFetchAt'](_0x4eaa63,'/session',{'method':'POST','body':JSON[_0x440475(0x2ba)]({'capabilities':{'alwaysMatch':{}}})});if(!_0x29fe35['ok']){if(_0x440475(0x408)!=='flkYJ'){const _0x299240=await _0x29fe35['text']()['catch'](()=>_0x440475(0x55f));throw new Error(_0x440475(0x3a3)+_0x29fe35['status']+'\x20'+_0x299240);}else return new _0x26fc34(_0x440475(0x4aa),0x191,'Your\x20Ceraph\x20session\x20is\x20no\x20longer\x20valid\x20(the\x20account\x20may\x20have\x20been\x20deleted,\x20or\x20your\x20token\x20expired).\x20Run\x20`npx\x20@ceraph/react-native-mcp\x20init`\x20to\x20sign\x20in\x20again.\x20Your\x20local\x20screenshots\x20and\x20flows\x20are\x20preserved\x20—\x20only\x20the\x20server-side\x20identity\x20needs\x20refreshing.');}const _0x246bf8=await _0x29fe35['json'](),_0x1d65d1=_0x246bf8[_0x440475(0x583)]||_0x246bf8['value']?.['sessionId'];if(!_0x1d65d1)throw new Error(_0x440475(0x533));return this[_0x440475(0x583)]=_0x1d65d1,_0x1d65d1;}async[_0x3ecb81(0x480)](){const _0xa5a406=_0x3ecb81;if(this[_0xa5a406(0x503)])return this['pixelRatio'];const _0x3365ce=await this['ensureSession'](),_0x36cec2=await this['wdaFetch'](_0xa5a406(0x229)+_0x3365ce+'/window/size');if(!_0x36cec2['ok'])throw new Error(_0xa5a406(0x501)+_0x36cec2[_0xa5a406(0x416)]);const _0x5ad9c4=await _0x36cec2[_0xa5a406(0x163)](),_0x496b3f=_0x5ad9c4['value']['width'],_0x2d5398=await this[_0xa5a406(0x26c)]('/session/'+_0x3365ce+'/screenshot');if(!_0x2d5398['ok']){if(_0xa5a406(0x4d4)==='eEoZp')return this['pixelRatio']=0x3,this[_0xa5a406(0x503)];else this[_0xa5a406(0x212)]['pingStatus']()[_0xa5a406(0x243)](()=>void 0x0);}const _0x23248f=await _0x2d5398[_0xa5a406(0x163)](),_0x56161e=_0x23248f[_0xa5a406(0x389)],_0x64e673=Buffer[_0xa5a406(0x38f)](_0x56161e,_0xa5a406(0x24f));if(_0x64e673[_0xa5a406(0x471)]<0x18)return this[_0xa5a406(0x503)]=0x3,this['pixelRatio'];const _0x3e09b7=_0x64e673['readUInt32BE'](0x10);return this[_0xa5a406(0x503)]=Math[_0xa5a406(0x343)](_0x3e09b7/_0x496b3f),(this['pixelRatio']<0x1||this['pixelRatio']>0x4)&&(this[_0xa5a406(0x503)]=0x3),this[_0xa5a406(0x503)];}async[_0x3ecb81(0x16b)](){const _0x16bf28=_0x3ecb81,_0x4d9cb8=await this['ensureSession'](),_0x59ef99=await this['wdaFetch']('/session/'+_0x4d9cb8+_0x16bf28(0x494));if(!_0x59ef99['ok'])throw new Error('Failed\x20to\x20get\x20window\x20size:\x20'+_0x59ef99['status']);const _0x50d539=await _0x59ef99['json']();return _0x50d539['value'];}async[_0x3ecb81(0x536)](_0x381f1e,_0x3f5d6a,_0x57a89e=!![]){const _0x592cf5=_0x3ecb81;try{const _0x5ea1b2=await this['ensureSession'](),_0x19abc5=await this[_0x592cf5(0x480)](),_0x2dc5ca=_0x57a89e?_0x381f1e/_0x19abc5:_0x381f1e,_0x4277b3=_0x57a89e?_0x3f5d6a/_0x19abc5:_0x3f5d6a,_0x5efdd1=await this[_0x592cf5(0x3de)](_0x5ea1b2,_0x2dc5ca,_0x4277b3);if(!_0x5efdd1['ok'])return{'success':![],'tappedAt':{'x':_0x2dc5ca,'y':_0x4277b3},'pixelRatio':_0x19abc5,'correction':_0x57a89e?_0x592cf5(0x19e)+_0x19abc5+_0x592cf5(0x217)+_0x381f1e+','+_0x3f5d6a+_0x592cf5(0x283)+_0x2dc5ca['toFixed'](0x1)+','+_0x4277b3[_0x592cf5(0x1b3)](0x1)+')':_0x592cf5(0x468),'error':_0x5efdd1['error']??'WDA\x20tap\x20failed'};return{'success':!![],'tappedAt':{'x':_0x2dc5ca,'y':_0x4277b3},'pixelRatio':_0x19abc5,'correction':_0x57a89e?_0x592cf5(0x19e)+_0x19abc5+'x:\x20('+_0x381f1e+','+_0x3f5d6a+')\x20->\x20('+_0x2dc5ca['toFixed'](0x1)+','+_0x4277b3['toFixed'](0x1)+')':'No\x20correction\x20(device\x20coordinates)'};}catch(_0xfbebbd){return{'success':![],'tappedAt':{'x':_0x381f1e,'y':_0x3f5d6a},'pixelRatio':this['pixelRatio']??0x0,'correction':'Failed\x20before\x20correction\x20could\x20be\x20applied','error':_0xfbebbd instanceof Error?_0xfbebbd[_0x592cf5(0x554)]:_0x592cf5(0x25e)};}}async[_0x3ecb81(0x48b)](_0x47821d){const _0x20977c=_0x3ecb81;try{const _0x4493ef=await this[_0x20977c(0x515)](),_0x326165=await this['wdaFetch']('/session/'+_0x4493ef+_0x20977c(0x43d));if(!_0x326165['ok'])return{'success':![],'error':_0x20977c(0x3f8)+_0x326165['status']};const _0x470b9f=await _0x326165['json'](),_0x4dd55f=_0x470b9f['value'],_0x2d8593=this[_0x20977c(0x2c1)](_0x4dd55f,_0x47821d);if(_0x2d8593['length']===0x0){const _0x3d706b=this[_0x20977c(0x1d8)](_0x4dd55f,0x32);return{'success':![],'matchCount':0x0,'availableElements':_0x3d706b,'error':'No\x20element\x20found\x20matching\x20query:\x20'+JSON[_0x20977c(0x2ba)](_0x47821d)};}const _0x29d448=_0x47821d['index']??0x0;if(_0x29d448>=_0x2d8593['length'])return{'success':![],'matchCount':_0x2d8593['length'],'error':_0x20977c(0x2b8)+_0x29d448+_0x20977c(0x21f)+_0x2d8593['length']+_0x20977c(0x54b),'availableElements':_0x2d8593[_0x20977c(0x362)](_0x1d33cf=>({'type':_0x1d33cf[_0x20977c(0x284)]??'unknown','label':_0x1d33cf['label']??'','text':String(_0x1d33cf[_0x20977c(0x389)]??_0x1d33cf['label']??'')}))};const _0x4424f8=_0x2d8593[_0x29d448],_0x4f52e7=_0x4424f8[_0x20977c(0x2e2)];if(!_0x4f52e7)return{'success':![],'matchCount':_0x2d8593['length'],'error':_0x20977c(0x568)};const _0x27186e=_0x4f52e7['x']+_0x4f52e7['width']/0x2,_0x2e64f1=_0x4f52e7['y']+_0x4f52e7[_0x20977c(0x197)]/0x2,_0x3438a1=await this[_0x20977c(0x3de)](_0x4493ef,_0x27186e,_0x2e64f1);if(!_0x3438a1['ok'])return{'success':![],'matchCount':_0x2d8593['length'],'error':_0x3438a1['error']??_0x20977c(0x4a0),'element':{'type':_0x4424f8['type']??_0x20977c(0x50a),'label':_0x4424f8['label']??_0x4424f8[_0x20977c(0x34d)]??'','bounds':_0x4f52e7},'tappedAt':{'x':_0x27186e,'y':_0x2e64f1}};return{'success':!![],'matchCount':_0x2d8593[_0x20977c(0x471)],'element':{'type':_0x4424f8['type']??_0x20977c(0x50a),'label':_0x4424f8[_0x20977c(0x3bb)]??_0x4424f8['name']??'','bounds':_0x4f52e7},'tappedAt':{'x':_0x27186e,'y':_0x2e64f1}};}catch(_0x1b0b7e){return{'success':![],'error':_0x1b0b7e instanceof Error?_0x1b0b7e['message']:'Unknown\x20error\x20during\x20findAndTap'};}}async['findElement'](_0x5b293e){const _0x161c92=_0x3ecb81;try{const _0x9093bc=await this['ensureSession'](),_0x4a04b4=await this['wdaFetch'](_0x161c92(0x229)+_0x9093bc+'/source?format=json');if(!_0x4a04b4['ok'])return{'success':![],'error':_0x161c92(0x3f8)+_0x4a04b4[_0x161c92(0x416)]};const _0x133d8d=await _0x4a04b4['json'](),_0x4abd9b=this[_0x161c92(0x2c1)](_0x133d8d['value'],_0x5b293e);if(_0x4abd9b['length']===0x0)return{'success':![],'matchCount':0x0};const _0x5a91de=_0x5b293e[_0x161c92(0x3d4)]??0x0;if(_0x5a91de>=_0x4abd9b['length'])return{'success':![],'matchCount':_0x4abd9b['length']};return{'success':!![],'element':_0x4abd9b[_0x5a91de],'matchCount':_0x4abd9b['length']};}catch(_0x220140){return{'success':![],'error':_0x220140 instanceof Error?_0x220140[_0x161c92(0x554)]:'Unknown\x20error\x20during\x20findElement'};}}async['swipe'](_0x33a5af){const _0x3edbd0=_0x3ecb81;try{const _0x2e1827=await this[_0x3edbd0(0x515)](),_0x31c3cd=await this['getWindowSize'](),_0x276b97=await this[_0x3edbd0(0x480)](),_0x43c2d4=(_0x33a5af['coordinateSource']??_0x3edbd0(0x32b))===_0x3edbd0(0x32a);let _0xe5ed59=_0x33a5af[_0x3edbd0(0x38f)]?.['x']??_0x31c3cd['width']/0x2,_0x203187=_0x33a5af['from']?.['y']??_0x31c3cd['height']/0x2;_0x43c2d4&&(_0xe5ed59=_0xe5ed59/_0x276b97,_0x203187=_0x203187/_0x276b97);const _0xe6e07f=_0x33a5af[_0x3edbd0(0x3dd)]==='up'||_0x33a5af[_0x3edbd0(0x3dd)]===_0x3edbd0(0x353)?_0x31c3cd[_0x3edbd0(0x197)]:_0x31c3cd['width'],_0x4a6858=_0x33a5af['distancePx']??Math['floor'](_0xe6e07f*0.6);let _0xa90f53=_0xe5ed59,_0x426ffc=_0x203187;switch(_0x33a5af[_0x3edbd0(0x3dd)]){case'up':_0x426ffc=_0x203187-_0x4a6858;break;case _0x3edbd0(0x353):_0x426ffc=_0x203187+_0x4a6858;break;case _0x3edbd0(0x4de):_0xa90f53=_0xe5ed59-_0x4a6858;break;case'right':_0xa90f53=_0xe5ed59+_0x4a6858;break;}_0xa90f53=Math['max'](0x0,Math['min'](_0x31c3cd[_0x3edbd0(0x39f)]-0x1,_0xa90f53)),_0x426ffc=Math[_0x3edbd0(0x3c3)](0x0,Math['min'](_0x31c3cd['height']-0x1,_0x426ffc)),_0xe5ed59=Math[_0x3edbd0(0x3c3)](0x0,Math[_0x3edbd0(0x436)](_0x31c3cd[_0x3edbd0(0x39f)]-0x1,_0xe5ed59)),_0x203187=Math[_0x3edbd0(0x3c3)](0x0,Math['min'](_0x31c3cd['height']-0x1,_0x203187));const _0x32e539=_0x33a5af['durationMs']??0x12c,_0x19c871=await this['wdaFetch'](_0x3edbd0(0x229)+_0x2e1827+'/wda/dragfromtoforduration',{'method':'POST','body':JSON['stringify']({'fromX':_0xe5ed59,'fromY':_0x203187,'toX':_0xa90f53,'toY':_0x426ffc,'duration':_0x32e539/0x3e8})});if(!_0x19c871['ok']){const _0x477f27=await _0x19c871['text']()['catch'](()=>'unknown');return{'success':![],'from':{'x':_0xe5ed59,'y':_0x203187},'to':{'x':_0xa90f53,'y':_0x426ffc},'durationMs':_0x32e539,'error':_0x3edbd0(0x3ae)+_0x19c871[_0x3edbd0(0x416)]+'\x20'+_0x477f27};}return{'success':!![],'from':{'x':_0xe5ed59,'y':_0x203187},'to':{'x':_0xa90f53,'y':_0x426ffc},'durationMs':_0x32e539};}catch(_0x57e3ee){return{'success':![],'from':{'x':0x0,'y':0x0},'to':{'x':0x0,'y':0x0},'durationMs':_0x33a5af[_0x3edbd0(0x366)]??0x12c,'error':_0x57e3ee instanceof Error?_0x57e3ee['message']:_0x3edbd0(0x1ac)};}}async[_0x3ecb81(0x442)](_0xc5ebea,_0x49bc4c={}){const _0xa5ed11=_0x3ecb81,_0x3f4415=_0x49bc4c[_0xa5ed11(0x336)]??0xa,_0x599696=_0x49bc4c[_0xa5ed11(0x3dd)]??'up';let _0x479ac7=void 0x0;for(let _0x5921e8=0x0;_0x5921e8<=_0x3f4415;_0x5921e8++){const _0x58fed4=await this['findElement'](_0xc5ebea);if(_0x58fed4[_0xa5ed11(0x33f)]&&_0x58fed4['element']?.['rect'])return{'success':!![],'swipes':_0x5921e8,'element':{'type':_0x58fed4['element'][_0xa5ed11(0x284)]??_0xa5ed11(0x50a),'label':_0x58fed4['element']['label']??_0x58fed4[_0xa5ed11(0x143)]['name']??'','bounds':_0x58fed4[_0xa5ed11(0x143)]['rect']}};_0x58fed4['matchCount']!==void 0x0&&('eMlrR'==='gNkcp'?_0x523ff4['push'](_0x555d7d):_0x479ac7=_0x479ac7===void 0x0?_0x58fed4['matchCount']:Math[_0xa5ed11(0x3c3)](_0x479ac7,_0x58fed4['matchCount']));if(_0x5921e8===_0x3f4415)break;const _0x478d19=await this['swipe']({'direction':_0x599696,'distancePx':_0x49bc4c['distancePx']});if(!_0x478d19[_0xa5ed11(0x33f)])return{'success':![],'swipes':_0x5921e8,'error':_0x478d19['error']??_0xa5ed11(0x4d7)};}return{'success':![],'swipes':_0x3f4415,'matchCount':_0x479ac7,'error':'Element\x20not\x20found\x20after\x20'+_0x3f4415+_0xa5ed11(0x33b)+JSON[_0xa5ed11(0x2ba)](_0xc5ebea)};}async['longPress'](_0x31214f,_0x3a152f,_0x1da58d=0x3e8,_0x1fb3df=![]){const _0x11b23c=_0x3ecb81;try{const _0x28ddc4=await this[_0x11b23c(0x515)]();let _0x132a5e=_0x31214f,_0x5d16a2=_0x3a152f;if(_0x1fb3df){const _0x1a4528=await this['getPixelRatio']();_0x132a5e=_0x31214f/_0x1a4528,_0x5d16a2=_0x3a152f/_0x1a4528;}const _0x512c3f=await this['wdaFetch'](_0x11b23c(0x229)+_0x28ddc4+_0x11b23c(0x1c5),{'method':'POST','body':JSON['stringify']({'x':_0x132a5e,'y':_0x5d16a2,'duration':_0x1da58d/0x3e8})});if(!_0x512c3f['ok']){const _0x5baa42=await _0x512c3f[_0x11b23c(0x44b)]()[_0x11b23c(0x243)](()=>'unknown');return{'success':![],'error':'WDA\x20touchAndHold\x20failed:\x20'+_0x512c3f['status']+'\x20'+_0x5baa42};}return{'success':!![],'details':{'x':_0x132a5e,'y':_0x5d16a2,'durationMs':_0x1da58d}};}catch(_0x54a2ce){return _0x11b23c(0x430)!==_0x11b23c(0x261)?{'success':![],'error':_0x54a2ce instanceof Error?_0x54a2ce['message']:'Unknown\x20error\x20during\x20longPress'}:{'name':_0x11b23c(0x53d),'status':_0x11b23c(0x51e),'details':{'error':_0x1bf8bf(_0x14a25f),'dryRun':!![]}};}}async[_0x3ecb81(0x1ae)](_0x244a4f,_0x164a7a=0x3e8){const _0x7fd525=_0x3ecb81,_0xece78=await this['findElement'](_0x244a4f);if(!_0xece78['success']||!_0xece78['element']?.['rect'])return{'success':![],'matchCount':_0xece78[_0x7fd525(0x56a)],'error':_0xece78['error']??'No\x20element\x20found\x20matching\x20'+JSON[_0x7fd525(0x2ba)](_0x244a4f)};const _0x36be2e=_0xece78[_0x7fd525(0x143)]['rect'],_0x170bfa=_0x36be2e['x']+_0x36be2e[_0x7fd525(0x39f)]/0x2,_0x60db3c=_0x36be2e['y']+_0x36be2e['height']/0x2,_0x44c86c=await this['longPress'](_0x170bfa,_0x60db3c,_0x164a7a,![]);return{..._0x44c86c,'matchCount':_0xece78[_0x7fd525(0x56a)],'element':{'type':_0xece78['element'][_0x7fd525(0x284)]??_0x7fd525(0x50a),'label':_0xece78[_0x7fd525(0x143)][_0x7fd525(0x3bb)]??_0xece78[_0x7fd525(0x143)][_0x7fd525(0x34d)]??'','bounds':_0x36be2e}};}async[_0x3ecb81(0x284)](_0x5e1a29,_0xc19a1c={}){const _0x2011da=_0x3ecb81;try{const _0x1c17a7=await this[_0x2011da(0x515)](),_0x59d520=Array[_0x2011da(0x38f)](_0x5e1a29),_0x3467e2=await this['wdaFetch'](_0x2011da(0x229)+_0x1c17a7+_0x2011da(0x512),{'method':_0x2011da(0x183),'body':JSON['stringify']({'value':_0x59d520})});if(!_0x3467e2['ok']){if('HOkKc'!=='HOkKc'){const _0x50614b=_0x1dd689[_0x2011da(0x27a)]();for(const _0x591a75 of _0x50614b){if(_0x30c348[_0x2011da(0x1f0)](_0x591a75)){const _0xdbcdd4=_0x591a75['getNameNode']();if(_0xdbcdd4['getText']()===_0x2011da(0x272))return!![];}}return![];}else{const _0x46ed71=await _0x3467e2['text']()[_0x2011da(0x243)](()=>'unknown');return{'success':![],'error':'WDA\x20keys\x20failed:\x20'+_0x3467e2['status']+'\x20'+_0x46ed71};}}return _0xc19a1c[_0x2011da(0x4d1)]&&await this['wdaFetch'](_0x2011da(0x229)+_0x1c17a7+'/wda/keys',{'method':'POST','body':JSON[_0x2011da(0x2ba)]({'value':['\x0a']})})['catch'](()=>void 0x0),{'success':!![]};}catch(_0x4d35ef){return{'success':![],'error':_0x4d35ef instanceof Error?_0x4d35ef['message']:'Unknown\x20error\x20during\x20type'};}}async['clearText'](_0x3c3c17){const _0x5bf305=_0x3ecb81;try{const _0x15dd76=await this['findElement'](_0x3c3c17);if(!_0x15dd76[_0x5bf305(0x33f)]||!_0x15dd76['element']?.[_0x5bf305(0x2e2)])return{'success':![],'error':_0x15dd76['error']??'No\x20element\x20found\x20matching\x20'+JSON['stringify'](_0x3c3c17)};const _0x345bcd=_0x15dd76[_0x5bf305(0x143)][_0x5bf305(0x2e2)],_0x540b98=String(_0x15dd76['element']['value']??'');if(_0x540b98['length']===0x0)return{'success':!![]};const _0x2626d8=await this[_0x5bf305(0x536)](_0x345bcd['x']+_0x345bcd[_0x5bf305(0x39f)]/0x2,_0x345bcd['y']+_0x345bcd['height']/0x2,![]);if(!_0x2626d8[_0x5bf305(0x33f)])return{'success':![],'error':_0x2626d8[_0x5bf305(0x51e)]??'Failed\x20to\x20focus\x20element\x20before\x20clearing'};const _0xf8c29=new Array(_0x540b98[_0x5bf305(0x471)])['fill'](''),_0x35905f=await this[_0x5bf305(0x515)](),_0xdecb11=await this[_0x5bf305(0x26c)](_0x5bf305(0x229)+_0x35905f+_0x5bf305(0x512),{'method':_0x5bf305(0x183),'body':JSON['stringify']({'value':_0xf8c29})});if(!_0xdecb11['ok']){const _0x58b872=await _0xdecb11[_0x5bf305(0x44b)]()[_0x5bf305(0x243)](()=>_0x5bf305(0x50a));return{'success':![],'error':'WDA\x20keys\x20(backspace)\x20failed:\x20'+_0xdecb11['status']+'\x20'+_0x58b872};}return{'success':!![],'details':{'cleared':_0x540b98['length']}};}catch(_0x1ca48b){return{'success':![],'error':_0x1ca48b instanceof Error?_0x1ca48b[_0x5bf305(0x554)]:_0x5bf305(0x57a)};}}async[_0x3ecb81(0x154)](_0x33954c){const _0x4d13db=_0x3ecb81;try{const _0x256425=await this['ensureSession']();if(_0x33954c===_0x4d13db(0x426)){const _0x5c2b4f=await this['wdaFetch'](_0x4d13db(0x229)+_0x256425+_0x4d13db(0x255),{'method':_0x4d13db(0x183),'body':JSON[_0x4d13db(0x2ba)]({})});if(!_0x5c2b4f['ok']){const _0x32de48=await _0x5c2b4f[_0x4d13db(0x44b)]()['catch'](()=>_0x4d13db(0x50a));return{'success':![],'error':'WDA\x20lock\x20failed:\x20'+_0x5c2b4f['status']+'\x20'+_0x32de48};}return{'success':!![]};}if(_0x33954c==='back')return await this['_systemBack']();if(_0x33954c!==_0x4d13db(0x278)&&_0x33954c!==_0x4d13db(0x3f1)&&_0x33954c!=='volumeDown')return{'success':![],'error':_0x4d13db(0x1fc)+String(_0x33954c)};const _0x23767f=_0x33954c===_0x4d13db(0x278)?_0x4d13db(0x278):_0x33954c===_0x4d13db(0x3f1)?_0x4d13db(0x37c):'volumedown',_0xcc0b77=await this[_0x4d13db(0x26c)](_0x4d13db(0x229)+_0x256425+_0x4d13db(0x144),{'method':_0x4d13db(0x183),'body':JSON['stringify']({'name':_0x23767f})});if(!_0xcc0b77['ok']){const _0x50f8fb=await _0xcc0b77['text']()['catch'](()=>_0x4d13db(0x50a));return{'success':![],'error':_0x4d13db(0x372)+_0xcc0b77[_0x4d13db(0x416)]+'\x20'+_0x50f8fb};}return{'success':!![]};}catch(_0x1455aa){return{'success':![],'error':_0x1455aa instanceof Error?_0x1455aa['message']:'Unknown\x20error\x20during\x20pressKey'};}}async['_systemBack'](){const _0x4a16f9=_0x3ecb81;if('kKvnu'!=='kKvnu')return{'success':![],'results':[],'batched':![],'error':_0x4a16f9(0x339)};else{const _0x14f5d8=await this['_findNavBarBackButton']();if(_0x14f5d8){const _0x38b7d1=_0x14f5d8['x']+_0x14f5d8[_0x4a16f9(0x39f)]/0x2,_0x56e279=_0x14f5d8['y']+_0x14f5d8['height']/0x2,_0x5a74e6=await this[_0x4a16f9(0x515)](),_0x5943f9=await this[_0x4a16f9(0x3de)](_0x5a74e6,_0x38b7d1,_0x56e279);if(_0x5943f9['ok'])return'EVJrZ'===_0x4a16f9(0x29b)?{'success':!![],'details':{'method':_0x4a16f9(0x477),'tappedAt':{'x':_0x38b7d1,'y':_0x56e279}}}:{'name':'mcp-clients','status':'error','details':{'error':_0x28991c(_0x85e386)}};}const _0x2c2766=await this[_0x4a16f9(0x16b)](),_0x132528=await this['swipe']({'direction':_0x4a16f9(0x4ab),'from':{'x':0x0,'y':Math['floor'](_0x2c2766['height']/0x2)},'coordinateSource':'device'});return{'success':_0x132528['success'],'error':_0x132528[_0x4a16f9(0x51e)],'details':{'method':_0x4a16f9(0x1a7),'from':_0x132528['from'],'to':_0x132528['to']}};}}async[_0x3ecb81(0x3fa)](){const _0x580d56=_0x3ecb81;if(_0x580d56(0x1a8)===_0x580d56(0x1a8)){const _0x2980ba=await this[_0x580d56(0x28f)]();if(!_0x2980ba[_0x580d56(0x33f)]||!_0x2980ba[_0x580d56(0x2d6)])return null;const _0x3713f5=await this['getWindowSize'](),_0x227b1c=_0x3713f5['width']/0x2,_0x44b0cf=0x8c,_0x29bed8=[],_0x40b121=_0x126a0a=>{const _0x295743=_0x580d56,_0x155c0f=String(_0x126a0a['type']??''),_0x4d9ab5=_0x126a0a['rect'],_0x5be4a8=_0x155c0f[_0x295743(0x223)]()[_0x295743(0x26f)](_0x295743(0x148));if(_0x5be4a8&&_0x4d9ab5&&typeof _0x4d9ab5['x']===_0x295743(0x429)){const _0x18a3cb=_0x4d9ab5['x']<_0x227b1c&&_0x4d9ab5['y']<_0x44b0cf;if(_0x18a3cb&&_0x4d9ab5[_0x295743(0x39f)]>0x0&&_0x4d9ab5['height']>0x0){const _0x578208=String(_0x126a0a[_0x295743(0x3bb)]??_0x126a0a['name']??'')['toLowerCase']();_0x29bed8[_0x295743(0x359)]({'rect':_0x4d9ab5,'labelledBack':_0x578208[_0x295743(0x26f)]('back')});}}const _0x5e7f31=_0x126a0a[_0x295743(0x3f0)];if(Array[_0x295743(0x178)](_0x5e7f31)){if(_0x295743(0x2fc)!==_0x295743(0x2fc))_0x1e3e1b=!![];else{for(const _0x414051 of _0x5e7f31)_0x40b121(_0x414051);}}};_0x40b121(_0x2980ba[_0x580d56(0x2d6)]);if(_0x29bed8['length']===0x0)return null;return _0x29bed8[_0x580d56(0x158)]((_0x3b898f,_0x19db6f)=>{const _0x2b9611=_0x580d56;if('RCpmO'!=='RCpmO')_0x58f2fe=_0x501da3,_0x3949f7=_0xbcacb4;else{if(_0x3b898f[_0x2b9611(0x1ff)]!==_0x19db6f[_0x2b9611(0x1ff)])return _0x3b898f['labelledBack']?-0x1:0x1;if(_0x3b898f['rect']['x']!==_0x19db6f['rect']['x'])return _0x3b898f['rect']['x']-_0x19db6f['rect']['x'];return _0x3b898f['rect']['y']-_0x19db6f[_0x2b9611(0x2e2)]['y'];}}),_0x29bed8[0x0][_0x580d56(0x2e2)];}else{const _0x1e6aaa=new _0x29ac9a({'useInMemoryFileSystem':![],'skipAddingFilesFromTsConfig':!![],'skipFileDependencyResolution':!![],'skipLoadingLibFiles':!![],'compilerOptions':{'allowJs':!![],'jsx':0x1},'manipulationSettings':{'indentationText':_0x47c121['TwoSpaces']}});for(const _0x203bc8 of _0x484f54){try{_0x1e6aaa[_0x580d56(0x1e7)](_0x203bc8);}catch{}}return _0x1e6aaa;}}async[_0x3ecb81(0x3f4)](){const _0x1e4456=_0x3ecb81;try{const _0x51fb20=await this[_0x1e4456(0x515)](),_0xeea8fa=await this[_0x1e4456(0x26c)](_0x1e4456(0x229)+_0x51fb20+_0x1e4456(0x521),{'method':_0x1e4456(0x183),'body':JSON['stringify']({})});if(!_0xeea8fa['ok']){const _0x418a9c=await _0xeea8fa[_0x1e4456(0x44b)]()['catch'](()=>_0x1e4456(0x50a));return{'success':![],'error':'WDA\x20unlock\x20failed:\x20'+_0xeea8fa[_0x1e4456(0x416)]+'\x20'+_0x418a9c};}return{'success':!![]};}catch(_0x4eedd2){return{'success':![],'error':_0x4eedd2 instanceof Error?_0x4eedd2[_0x1e4456(0x554)]:_0x1e4456(0x1f6)};}}async[_0x3ecb81(0x2e9)](){const _0x965fd3=_0x3ecb81;try{if('HoCYc'!=='fiXKy'){const _0x5f397c=await this['ensureSession'](),_0x19e244=await this['wdaFetch'](_0x965fd3(0x229)+_0x5f397c+'/wda/locked');if(!_0x19e244['ok'])return null;const _0x58db43=await _0x19e244['json']();return typeof _0x58db43['value']===_0x965fd3(0x279)?_0x58db43[_0x965fd3(0x389)]:null;}else _0x3b2de4(_0x5183c8);}catch{return null;}}async[_0x3ecb81(0x32a)](){const _0x544b13=_0x3ecb81;try{const _0x1782e9=await this[_0x544b13(0x515)](),_0x3baaea=await this['wdaFetch'](_0x544b13(0x229)+_0x1782e9+_0x544b13(0x1d7));if(!_0x3baaea['ok']){const _0x54e43f=await _0x3baaea[_0x544b13(0x44b)]()['catch'](()=>_0x544b13(0x50a));return{'success':![],'error':_0x544b13(0x1e8)+_0x3baaea['status']+'\x20'+_0x54e43f};}const _0x4d4a23=await _0x3baaea['json']();return{'success':!![],'base64':_0x4d4a23[_0x544b13(0x389)]};}catch(_0x41a2d5){return{'success':![],'error':_0x41a2d5 instanceof Error?_0x41a2d5['message']:_0x544b13(0x4ae)};}}async['getSource'](){const _0x30c161=_0x3ecb81;try{const _0x9cd310=await this[_0x30c161(0x515)](),_0x114ab2=await this['wdaFetch'](_0x30c161(0x229)+_0x9cd310+_0x30c161(0x43d));if(!_0x114ab2['ok']){const _0x3aecff=await _0x114ab2['text']()['catch'](()=>'unknown');return{'success':![],'error':_0x30c161(0x2fd)+_0x114ab2[_0x30c161(0x416)]+'\x20'+_0x3aecff};}const _0x1fad25=await _0x114ab2['json']();return{'success':!![],'source':_0x1fad25['value']};}catch(_0x4b9a4d){return{'success':![],'error':_0x4b9a4d instanceof Error?_0x4b9a4d[_0x30c161(0x554)]:_0x30c161(0x268)};}}async[_0x3ecb81(0x460)](_0x41bce2,_0x4106f6={}){const _0x70ad6f=_0x3ecb81,_0x39c36e=_0x4106f6['timeoutMs']??0x1388,_0x534535=_0x4106f6['pollIntervalMs']??0x96,_0x5a396e=_0x4106f6['disappear']??![],_0x4d9f02=Date[_0x70ad6f(0x239)]();while(Date['now']()-_0x4d9f02<_0x39c36e){if('WFrHe'===_0x70ad6f(0x578)){const _0x256545=await this['findElement'](_0x41bce2),_0x4f8240=_0x256545['success']&&!!_0x256545[_0x70ad6f(0x143)];if(!_0x5a396e&&_0x4f8240){const _0xc9060e=_0x256545[_0x70ad6f(0x143)][_0x70ad6f(0x2e2)];return{'success':!![],'found':!![],'elapsedMs':Date[_0x70ad6f(0x239)]()-_0x4d9f02,'element':_0xc9060e?{'type':_0x256545[_0x70ad6f(0x143)][_0x70ad6f(0x284)]??'unknown','label':_0x256545['element']['label']??_0x256545['element']['name']??'','bounds':_0xc9060e}:void 0x0};}if(_0x5a396e&&!_0x4f8240)return{'success':!![],'found':![],'elapsedMs':Date[_0x70ad6f(0x239)]()-_0x4d9f02};await new Promise(_0x5beb9c=>setTimeout(_0x5beb9c,_0x534535));}else delete _0x35f263[_0x70ad6f(0x439)];}return{'success':![],'found':!_0x5a396e,'elapsedMs':Date['now']()-_0x4d9f02,'error':_0x5a396e?'Element\x20still\x20visible\x20after\x20'+_0x39c36e+'ms:\x20'+JSON['stringify'](_0x41bce2):'Element\x20not\x20visible\x20after\x20'+_0x39c36e+_0x70ad6f(0x22c)+JSON['stringify'](_0x41bce2)};}async[_0x3ecb81(0x45c)](_0x5c5040){const _0x4c1592=_0x3ecb81,_0x55710c=await this['findElement'](_0x5c5040);if(_0x55710c[_0x4c1592(0x51e)])return{'success':![],'visible':![],'error':_0x55710c[_0x4c1592(0x51e)]};if(_0x55710c['success']&&_0x55710c[_0x4c1592(0x143)]?.[_0x4c1592(0x2e2)])return{'success':!![],'visible':!![],'element':{'type':_0x55710c[_0x4c1592(0x143)][_0x4c1592(0x284)]??'unknown','label':_0x55710c[_0x4c1592(0x143)][_0x4c1592(0x3bb)]??_0x55710c['element']['name']??'','bounds':_0x55710c['element']['rect']}};return{'success':!![],'visible':![]};}async[_0x3ecb81(0x25a)](_0x5a353f){const _0xf5af64=_0x3ecb81,_0x19274d=await this['findElement'](_0x5a353f);if(_0x19274d[_0xf5af64(0x51e)])return{'success':![],'visible':![],'error':_0x19274d['error']};const _0xcba30a=_0x19274d[_0xf5af64(0x33f)]&&!!_0x19274d['element'];return{'success':!![],'visible':_0xcba30a};}async['fetchSourceTree'](_0x30c272){const _0x5c00d9=_0x3ecb81;try{const _0x2652ea=_0x30c272??await this[_0x5c00d9(0x515)](),_0x48b695=await this[_0x5c00d9(0x26c)](_0x5c00d9(0x229)+_0x2652ea+'/source?format=json');if(!_0x48b695['ok']){if(!_0x30c272){this[_0x5c00d9(0x583)]=null;const _0x4be193=await this['ensureSession'](),_0x5ea098=await this[_0x5c00d9(0x26c)]('/session/'+_0x4be193+'/source?format=json');if(!_0x5ea098['ok'])return null;const _0x9fdd31=await _0x5ea098['json']();return _0x9fdd31[_0x5c00d9(0x389)]??null;}return null;}const _0x105240=await _0x48b695[_0x5c00d9(0x163)]();return _0x105240['value']??null;}catch{return null;}}['findElementFromTree'](_0x1ce0b6,_0x595b8f){const _0xa89793=_0x3ecb81;return this[_0xa89793(0x2c1)](_0x1ce0b6,_0x595b8f);}async[_0x3ecb81(0x4f7)](_0x45fdff){const _0x45cf05=_0x3ecb81;try{const _0x19647c=await this['ensureSession'](),_0x3e2a75=await this['fetchSourceTree'](_0x19647c);if(!_0x3e2a75)return{'result':{'success':![],'error':_0x45cf05(0x339)},'tree':null};const _0x2f94d7=this[_0x45cf05(0x2c1)](_0x3e2a75,_0x45fdff);if(_0x2f94d7['length']===0x0){const _0x43f0ee=this[_0x45cf05(0x1d8)](_0x3e2a75,0x32);return{'result':{'success':![],'matchCount':0x0,'availableElements':_0x43f0ee,'error':'No\x20element\x20found\x20matching\x20query:\x20'+JSON['stringify'](_0x45fdff)},'tree':_0x3e2a75};}const _0x590a39=_0x45fdff[_0x45cf05(0x3d4)]??0x0;if(_0x590a39>=_0x2f94d7['length'])return{'result':{'success':![],'matchCount':_0x2f94d7['length'],'error':'Index\x20'+_0x590a39+'\x20out\x20of\x20range.\x20Found\x20'+_0x2f94d7[_0x45cf05(0x471)]+'\x20matching\x20element(s).','availableElements':_0x2f94d7[_0x45cf05(0x362)](_0x19ba6a=>({'type':_0x19ba6a['type']??_0x45cf05(0x50a),'label':_0x19ba6a[_0x45cf05(0x3bb)]??'','text':String(_0x19ba6a[_0x45cf05(0x389)]??_0x19ba6a[_0x45cf05(0x3bb)]??'')}))},'tree':_0x3e2a75};const _0x405196=_0x2f94d7[_0x590a39],_0x5dc8f3=_0x405196[_0x45cf05(0x2e2)];if(!_0x5dc8f3)return{'result':{'success':![],'matchCount':_0x2f94d7[_0x45cf05(0x471)],'error':'Matched\x20element\x20has\x20no\x20bounds/rect\x20information.'},'tree':_0x3e2a75};const _0x55d880=_0x5dc8f3['x']+_0x5dc8f3['width']/0x2,_0x3698eb=_0x5dc8f3['y']+_0x5dc8f3[_0x45cf05(0x197)]/0x2,_0x36e810=await this['tapAtPoint'](_0x19647c,_0x55d880,_0x3698eb);if(!_0x36e810['ok'])return{'result':{'success':![],'matchCount':_0x2f94d7['length'],'error':_0x36e810[_0x45cf05(0x51e)]??'WDA\x20tap\x20failed','element':{'type':_0x405196['type']??_0x45cf05(0x50a),'label':_0x405196['label']??_0x405196[_0x45cf05(0x34d)]??'','bounds':_0x5dc8f3},'tappedAt':{'x':_0x55d880,'y':_0x3698eb}},'tree':_0x3e2a75};return{'result':{'success':!![],'matchCount':_0x2f94d7['length'],'element':{'type':_0x405196[_0x45cf05(0x284)]??_0x45cf05(0x50a),'label':_0x405196[_0x45cf05(0x3bb)]??_0x405196[_0x45cf05(0x34d)]??'','bounds':_0x5dc8f3},'tappedAt':{'x':_0x55d880,'y':_0x3698eb}},'tree':_0x3e2a75};}catch(_0x80f368){return{'result':{'success':![],'error':_0x80f368 instanceof Error?_0x80f368['message']:_0x45cf05(0x17f)},'tree':null};}}async['sendW3CActions'](_0x1efaec,_0x538a54){const _0xf4ea6c=_0x3ecb81;try{if('GHiSn'==='dLIBb')_0x244d43['push']({'type':_0xf4ea6c(0x1e6),'duration':0x0});else{const _0x52b59e=await this['wdaFetch'](_0xf4ea6c(0x229)+_0x1efaec+_0xf4ea6c(0x233),{'method':_0xf4ea6c(0x183),'body':JSON[_0xf4ea6c(0x2ba)]({'actions':_0x538a54})});return _0x52b59e['ok'];}}catch{return![];}}[_0x3ecb81(0x465)](_0x2a1730,_0x11c631){const _0x5cd64b=_0x3ecb81;return[{'type':_0x5cd64b(0x53a),'duration':0x0,'x':_0x2a1730,'y':_0x11c631},{'type':'pointerDown','button':0x0},{'type':_0x5cd64b(0x1e6),'duration':0x32},{'type':'pointerUp','button':0x0}];}async[_0x3ecb81(0x25f)](_0x24cdcd,_0x842b7b={}){const _0x48440b=_0x3ecb81;try{const _0x57cc56=_0x842b7b[_0x48440b(0x583)]??await this[_0x48440b(0x515)](),_0x4cc76d=await this[_0x48440b(0x420)](_0x57cc56);if(!_0x4cc76d){if('eAgJj'!=='eAgJj')_0x5ad69f[_0x48440b(0x359)](_0x3e9601['file']['relPath']+':'+_0x2a25f3['line']);else return{'success':![],'error':_0x48440b(0x339),'batched':![]};}const _0x817f29=this[_0x48440b(0x2c1)](_0x4cc76d,_0x24cdcd);if(_0x817f29[_0x48440b(0x471)]===0x0)return{'success':![],'error':'No\x20element\x20found\x20matching\x20query:\x20'+JSON['stringify'](_0x24cdcd),'batched':![]};const _0x41f72c=_0x24cdcd[_0x48440b(0x3d4)]??0x0,_0x31a7a8=_0x817f29[_0x41f72c];if(!_0x31a7a8||!_0x31a7a8['rect'])return{'success':![],'error':_0x41f72c>=_0x817f29['length']?'Index\x20'+_0x41f72c+'\x20out\x20of\x20range.\x20Found\x20'+_0x817f29[_0x48440b(0x471)]+'\x20matching\x20element(s).':_0x48440b(0x568),'batched':![]};const _0x3f2394=_0x31a7a8['rect'],_0x5afd1e=_0x3f2394['x']+_0x3f2394[_0x48440b(0x39f)]/0x2,_0x29cc38=_0x3f2394['y']+_0x3f2394[_0x48440b(0x197)]/0x2,_0x3fc926={'type':_0x31a7a8['type']??'unknown','label':_0x31a7a8['label']??_0x31a7a8[_0x48440b(0x34d)]??'','bounds':_0x3f2394},_0x4966b4=await this[_0x48440b(0x445)](_0x57cc56,[{'type':_0x48440b(0x2e3),'id':'finger1','parameters':{'pointerType':'touch'},'actions':this[_0x48440b(0x465)](_0x5afd1e,_0x29cc38)}]);let _0x18f044=_0x4966b4;if(!_0x4966b4){const _0x202abb=await this['tap'](_0x5afd1e,_0x29cc38,![]);if(!_0x202abb['success'])return{'success':![],'error':_0x202abb['error']??'WDA\x20tap\x20failed\x20(serial\x20fallback)','element':_0x3fc926,'tappedAt':{'x':_0x5afd1e,'y':_0x29cc38},'batched':![]};_0x18f044=![];}let _0x147113,_0x3c224e,_0x3db917=!![];if(_0x842b7b[_0x48440b(0x260)]){let _0xefae5c,_0x2048a3;if(_0x842b7b[_0x48440b(0x583)]){const _0x3f3ca3=Date['now']()+0xbb8;for(;;){const _0x10a711=await this['fetchSourceTree'](_0x842b7b[_0x48440b(0x583)]);if(_0x10a711){const _0x2f411f=this[_0x48440b(0x2c1)](_0x10a711,_0x842b7b[_0x48440b(0x260)]);if(_0x2f411f['length']>0x0&&_0x2f411f[0x0]){_0xefae5c=_0x2f411f[0x0];break;}}if(Date[_0x48440b(0x239)]()>=_0x3f3ca3){_0x2048a3=_0x10a711?_0x48440b(0x551)+JSON['stringify'](_0x842b7b['verifySelector']):_0x48440b(0x375);break;}await new Promise(_0x543124=>setTimeout(_0x543124,0x1f4));}_0x147113={'visible':!!_0xefae5c,'element':_0xefae5c&&_0xefae5c[_0x48440b(0x2e2)]?{'type':_0xefae5c[_0x48440b(0x284)]??'unknown','label':_0xefae5c['label']??_0xefae5c[_0x48440b(0x34d)]??'','bounds':_0xefae5c['rect']}:void 0x0},_0x3db917=!!_0xefae5c,!_0x3db917&&(_0x3c224e=_0x48440b(0x367)+_0x2048a3);}else{const _0x3f2b76=await this[_0x48440b(0x460)](_0x842b7b[_0x48440b(0x260)],{'timeoutMs':0xbb8});_0x147113={'visible':_0x3f2b76['found']&&_0x3f2b76['success'],'element':_0x3f2b76[_0x48440b(0x143)]},_0x3db917=_0x3f2b76[_0x48440b(0x33f)]&&_0x3f2b76[_0x48440b(0x49b)],!_0x3db917&&(_0x3c224e=_0x48440b(0x367)+(_0x3f2b76['error']??'expected\x20element\x20'+JSON['stringify'](_0x842b7b[_0x48440b(0x260)])+'\x20not\x20visible'));}}return{'success':_0x3db917,'element':_0x3fc926,'tappedAt':{'x':_0x5afd1e,'y':_0x29cc38},'verifyResult':_0x147113,'batched':_0x18f044,..._0x3c224e?{'error':_0x3c224e}:{}};}catch(_0x2bc8e0){if(_0x48440b(0x36c)!=='RefTh'){const _0x29dc2a=/import\s*\{([^}]*)\}\s*from\s*["']expo-camera["']/g;let _0x42ec66;while((_0x42ec66=_0x29dc2a[_0x48440b(0x291)](_0x5496f5))!==null){const _0x5f1cea=_0x42ec66[0x1]['split'](',')[_0x48440b(0x362)](_0x455fb8=>_0x455fb8['trim']()['split'](/\s+as\s+/)[0x0][_0x48440b(0x1cd)]());if(_0x5f1cea[_0x48440b(0x26f)]('CameraView'))return!![];}return![];}else return{'success':![],'error':_0x2bc8e0 instanceof Error?_0x2bc8e0[_0x48440b(0x554)]:_0x48440b(0x37f),'batched':![]};}}async['typeIntoField'](_0x4bfbf0,_0x35f226,_0x4ab271={}){const _0x351f94=_0x3ecb81;try{const _0x591043=await this['ensureSession'](),_0x2ad930=await this[_0x351f94(0x420)](_0x591043);if(!_0x2ad930)return{'success':![],'error':_0x351f94(0x339),'batched':![]};const _0x52b0df=this['searchElements'](_0x2ad930,_0x4bfbf0);if(_0x52b0df['length']===0x0)return{'success':![],'matchCount':0x0,'error':_0x351f94(0x18b)+JSON[_0x351f94(0x2ba)](_0x4bfbf0),'batched':![]};const _0x43e382=_0x4bfbf0[_0x351f94(0x3d4)]??0x0,_0x426b3b=_0x52b0df[_0x43e382];if(!_0x426b3b||!_0x426b3b['rect'])return{'success':![],'matchCount':_0x52b0df['length'],'error':_0x43e382>=_0x52b0df['length']?_0x351f94(0x2b8)+_0x43e382+_0x351f94(0x21f)+_0x52b0df['length']+_0x351f94(0x54b):'Matched\x20element\x20has\x20no\x20bounds/rect\x20information.','batched':![]};const _0x66f38a=_0x426b3b[_0x351f94(0x2e2)],_0x386317=_0x66f38a['x']+_0x66f38a[_0x351f94(0x39f)]/0x2,_0x5a2153=_0x66f38a['y']+_0x66f38a['height']/0x2,_0x2095d9={'type':_0x426b3b['type']??'unknown','label':_0x426b3b['label']??_0x426b3b[_0x351f94(0x34d)]??'','bounds':_0x66f38a};if(_0x4ab271['clearFirst']){const _0x15f262=await this['clearText'](_0x4bfbf0);if(!_0x15f262['success'])return{'success':![],'matchCount':_0x52b0df['length'],'element':_0x2095d9,'error':_0x15f262['error']??'Failed\x20to\x20clear\x20field\x20before\x20typing','batched':![]};}const _0x3f539b=Array['from'](_0x35f226),_0x54120c=[],_0x529e5f=0x4;for(let _0x33be59=0x0;_0x33be59<_0x529e5f;_0x33be59++){_0x54120c['push']({'type':_0x351f94(0x1e6),'duration':0x0});}_0x54120c[_0x351f94(0x359)]({'type':_0x351f94(0x1e6),'duration':0x12c});for(const _0x13430f of _0x3f539b){if(_0x351f94(0x42b)!==_0x351f94(0x14e))_0x54120c[_0x351f94(0x359)]({'type':_0x351f94(0x4ad),'value':_0x13430f}),_0x54120c['push']({'type':'keyUp','value':_0x13430f});else'use strict';}const _0x5da844=await this[_0x351f94(0x445)](_0x591043,[{'type':'pointer','id':_0x351f94(0x2ca),'parameters':{'pointerType':'touch'},'actions':this['buildTapPointerActions'](_0x386317,_0x5a2153)},{'type':_0x351f94(0x23b),'id':_0x351f94(0x2dd),'actions':_0x54120c}]);if(_0x5da844)return{'success':!![],'matchCount':_0x52b0df['length'],'element':_0x2095d9,'batched':!![]};const _0x6c5a5f=await this[_0x351f94(0x48b)](_0x4bfbf0);if(!_0x6c5a5f[_0x351f94(0x33f)])return{'success':![],'matchCount':_0x52b0df['length'],'element':_0x2095d9,'error':_0x6c5a5f['error']??'Failed\x20to\x20focus\x20field\x20(serial\x20fallback)','batched':![]};const _0x4790e8=await this['type'](_0x35f226);if(!_0x4790e8['success']){if('gLouG'===_0x351f94(0x52b))_0xbc0eb1(_0x5bdbbd('Skipped\x20installCeraph()\x20injection.\x20Re-run\x20`npx\x20@ceraph/react-native-mcp\x20init`\x20to\x20wire\x20it.'));else return{'success':![],'matchCount':_0x52b0df[_0x351f94(0x471)],'element':_0x2095d9,'error':_0x4790e8[_0x351f94(0x51e)]??_0x351f94(0x4f8),'batched':![]};}return{'success':!![],'matchCount':_0x52b0df['length'],'element':_0x2095d9,'batched':![]};}catch(_0x4b924f){return{'success':![],'error':_0x4b924f instanceof Error?_0x4b924f['message']:_0x351f94(0x20c),'batched':![]};}}async[_0x3ecb81(0x240)](_0x1eeb77){const _0x20c1aa=_0x3ecb81;if(_0x20c1aa(0x561)!=='DIByo'){if(_0x1eeb77[_0x20c1aa(0x471)]===0x0)return{'success':![],'results':[],'batched':![],'error':'tapChain\x20called\x20with\x20empty\x20queries\x20array'};try{const _0x590710=await this[_0x20c1aa(0x515)](),_0x109c7b=await this[_0x20c1aa(0x420)](_0x590710);if(!_0x109c7b)return{'success':![],'results':[],'batched':![],'error':'Failed\x20to\x20get\x20element\x20tree'};const _0x4f178a=[];for(const _0x5987c6 of _0x1eeb77){const _0x519fdb=this[_0x20c1aa(0x2c1)](_0x109c7b,_0x5987c6);if(_0x519fdb[_0x20c1aa(0x471)]===0x0)return{'success':![],'results':[..._0x4f178a['map'](_0x2e5d5e=>({'query':_0x2e5d5e[_0x20c1aa(0x54e)],'element':_0x2e5d5e['element'],'tappedAt':_0x2e5d5e['center']})),{'query':_0x5987c6,'error':_0x20c1aa(0x2de)+JSON[_0x20c1aa(0x2ba)](_0x5987c6)}],'batched':![],'error':'No\x20element\x20found\x20for\x20query\x20at\x20index\x20'+_0x4f178a['length']};const _0x4d8574=_0x5987c6[_0x20c1aa(0x3d4)]??0x0,_0x470278=_0x519fdb[_0x4d8574];if(!_0x470278||!_0x470278[_0x20c1aa(0x2e2)])return{'success':![],'results':[..._0x4f178a['map'](_0x17f627=>({'query':_0x17f627[_0x20c1aa(0x54e)],'element':_0x17f627[_0x20c1aa(0x143)],'tappedAt':_0x17f627['center']})),{'query':_0x5987c6,'error':_0x4d8574>=_0x519fdb['length']?_0x20c1aa(0x2b8)+_0x4d8574+_0x20c1aa(0x21f)+_0x519fdb['length']+_0x20c1aa(0x54b):_0x20c1aa(0x568)}],'batched':![],'error':_0x20c1aa(0x203)+_0x4f178a['length']};_0x4f178a[_0x20c1aa(0x359)]({'query':_0x5987c6,'element':{'type':_0x470278[_0x20c1aa(0x284)]??'unknown','label':_0x470278[_0x20c1aa(0x3bb)]??_0x470278['name']??'','bounds':_0x470278['rect']},'center':{'x':_0x470278[_0x20c1aa(0x2e2)]['x']+_0x470278['rect'][_0x20c1aa(0x39f)]/0x2,'y':_0x470278['rect']['y']+_0x470278['rect'][_0x20c1aa(0x197)]/0x2}});}const _0x5e5ccb=[];for(let _0x5336aa=0x0;_0x5336aa<_0x4f178a['length'];_0x5336aa++){const _0x2f98a0=_0x4f178a[_0x5336aa];_0x5e5ccb[_0x20c1aa(0x359)](...this[_0x20c1aa(0x465)](_0x2f98a0['center']['x'],_0x2f98a0['center']['y'])),_0x5336aa<_0x4f178a[_0x20c1aa(0x471)]-0x1&&_0x5e5ccb['push']({'type':'pause','duration':0x64});}const _0x1452e1=await this['sendW3CActions'](_0x590710,[{'type':'pointer','id':_0x20c1aa(0x2ca),'parameters':{'pointerType':'touch'},'actions':_0x5e5ccb}]);if(_0x1452e1)return{'success':!![],'results':_0x4f178a['map'](_0x1ea77d=>({'query':_0x1ea77d[_0x20c1aa(0x54e)],'element':_0x1ea77d[_0x20c1aa(0x143)],'tappedAt':_0x1ea77d[_0x20c1aa(0x3fc)]})),'batched':!![]};const _0x477c17=[];for(const _0x5b5f80 of _0x4f178a){const _0x2f9f62=await this[_0x20c1aa(0x536)](_0x5b5f80[_0x20c1aa(0x3fc)]['x'],_0x5b5f80[_0x20c1aa(0x3fc)]['y'],![]);if(!_0x2f9f62[_0x20c1aa(0x33f)])return _0x477c17[_0x20c1aa(0x359)]({'query':_0x5b5f80[_0x20c1aa(0x54e)],'element':_0x5b5f80[_0x20c1aa(0x143)],'tappedAt':_0x5b5f80['center'],'error':_0x2f9f62[_0x20c1aa(0x51e)]??_0x20c1aa(0x160)}),{'success':![],'results':_0x477c17,'batched':![],'error':_0x20c1aa(0x14c)+(_0x477c17['length']-0x1)};_0x477c17[_0x20c1aa(0x359)]({'query':_0x5b5f80['query'],'element':_0x5b5f80['element'],'tappedAt':_0x5b5f80[_0x20c1aa(0x3fc)]});}return{'success':!![],'results':_0x477c17,'batched':![]};}catch(_0x504c8d){return{'success':![],'results':[],'batched':![],'error':_0x504c8d instanceof Error?_0x504c8d['message']:_0x20c1aa(0x34f)};}}else return{'success':!![],'results':_0x58c5c9['map'](_0x706a67=>({'query':_0x706a67[_0x20c1aa(0x54e)],'element':_0x706a67['element'],'tappedAt':_0x706a67['center']})),'batched':!![]};}async['getOrientation'](){const _0x5068f3=_0x3ecb81;try{const _0x2c4256=await this[_0x5068f3(0x515)](),_0x54c114=await this[_0x5068f3(0x26c)](_0x5068f3(0x229)+_0x2c4256+'/orientation');if(!_0x54c114['ok'])return null;const _0x38a34c=await _0x54c114[_0x5068f3(0x163)]();return _0x38a34c['value']??null;}catch{return null;}}async[_0x3ecb81(0x2af)](_0x26d27e){const _0x2af371=_0x3ecb81;if(_0x2af371(0x230)===_0x2af371(0x4cc))_0x821c41(_0x1019ed(_0x2af371(0x404)));else try{const _0x9fbe0f=await this['ensureSession'](),_0x1c1614=await this['wdaFetch'](_0x2af371(0x229)+_0x9fbe0f+'/orientation',{'method':_0x2af371(0x183),'body':JSON['stringify']({'orientation':_0x26d27e['toUpperCase']()})});if(!_0x1c1614['ok']){const _0x34284b=await _0x1c1614['text']()['catch'](()=>_0x2af371(0x50a));return{'success':![],'error':_0x2af371(0x4d8)+_0x1c1614[_0x2af371(0x416)]+'\x20'+_0x34284b};}return{'success':!![]};}catch(_0x1676fa){return{'success':![],'error':_0x1676fa instanceof Error?_0x1676fa['message']:'Unknown\x20error\x20during\x20setOrientation'};}}async['getActiveAppInfo'](){const _0x26bdac=_0x3ecb81;try{const _0x3b9595=await this[_0x26bdac(0x515)](),_0x449608=await this[_0x26bdac(0x26c)](_0x26bdac(0x229)+_0x3b9595+'/wda/activeAppInfo');if(!_0x449608['ok']){const _0x35f671=await _0x449608['text']()[_0x26bdac(0x243)](()=>_0x26bdac(0x50a));return{'success':![],'error':'WDA\x20activeAppInfo\x20failed:\x20'+_0x449608[_0x26bdac(0x416)]+'\x20'+_0x35f671};}const _0x1c1d02=await _0x449608['json']();return{'success':!![],'bundleId':_0x1c1d02[_0x26bdac(0x389)]?.['bundleId'],'pid':_0x1c1d02[_0x26bdac(0x389)]?.['pid'],'name':_0x1c1d02['value']?.[_0x26bdac(0x34d)]};}catch(_0x5a1edc){return{'success':![],'error':_0x5a1edc instanceof Error?_0x5a1edc['message']:'Unknown\x20error\x20during\x20getActiveAppInfo'};}}async[_0x3ecb81(0x201)](_0x35acdc){const _0x1ba89b=_0x3ecb81;try{const _0x5799fa=await this['ensureSession'](),_0x1788ee=await this[_0x1ba89b(0x26c)]('/session/'+_0x5799fa+_0x1ba89b(0x2b6),{'method':_0x1ba89b(0x183),'body':JSON[_0x1ba89b(0x2ba)]({'bundleId':_0x35acdc})});if(!_0x1788ee['ok']){const _0x380b04=await _0x1788ee[_0x1ba89b(0x44b)]()[_0x1ba89b(0x243)](()=>_0x1ba89b(0x50a));return{'success':![],'error':_0x1ba89b(0x3df)+_0x1788ee['status']+'\x20'+_0x380b04};}return{'success':!![]};}catch(_0x519935){return{'success':![],'error':_0x519935 instanceof Error?_0x519935['message']:_0x1ba89b(0x307)};}}async[_0x3ecb81(0x18d)](_0x2388a5){const _0x17c7c0=_0x3ecb81;try{const _0x3c54d9=await this[_0x17c7c0(0x515)](),_0x2a3476=await this['wdaFetch'](_0x17c7c0(0x229)+_0x3c54d9+'/url',{'method':_0x17c7c0(0x183),'body':JSON['stringify']({'url':_0x2388a5})});if(!_0x2a3476['ok']){const _0x4413f9=await _0x2a3476['text']()[_0x17c7c0(0x243)](()=>'unknown'),_0x9b516b=_0x4413f9['includes'](_0x17c7c0(0x470))&&_0x4413f9['includes'](_0x17c7c0(0x4a6));if(_0x9b516b&&_0x2388a5['startsWith'](_0x17c7c0(0x448)))return{'success':![],'error':_0x17c7c0(0x3be)};return{'success':![],'error':'WDA\x20openUrl\x20failed:\x20'+_0x2a3476[_0x17c7c0(0x416)]+'\x20'+_0x4413f9};}return{'success':!![]};}catch(_0x2bbb77){return{'success':![],'error':_0x2bbb77 instanceof Error?_0x2bbb77[_0x17c7c0(0x554)]:_0x17c7c0(0x27c)};}}async['terminateAppViaWDA'](_0x4bcca3){const _0x4e54ef=_0x3ecb81;try{const _0x1687d9=await this['ensureSession'](),_0x5ab12a=await this['wdaFetch'](_0x4e54ef(0x229)+_0x1687d9+'/wda/apps/terminate',{'method':'POST','body':JSON['stringify']({'bundleId':_0x4bcca3})});if(!_0x5ab12a['ok']){const _0x47c101=await _0x5ab12a[_0x4e54ef(0x44b)]()['catch'](()=>_0x4e54ef(0x50a));return{'success':![],'error':_0x4e54ef(0x556)+_0x5ab12a[_0x4e54ef(0x416)]+'\x20'+_0x47c101};}return this[_0x4e54ef(0x583)]=null,{'success':!![]};}catch(_0x15f74c){return{'success':![],'error':_0x15f74c instanceof Error?_0x15f74c['message']:'Unknown\x20error\x20during\x20terminateAppViaWDA'};}}async[_0x3ecb81(0x3b5)](){try{const _0x50f43e=await this['wdaFetch']('/status',{},0x7d0);return _0x50f43e['ok'];}catch{return![];}}['searchElements'](_0x18c056,_0x2dc502){const _0x52011f=_0x3ecb81,_0x3f4255=[];this[_0x52011f(0x482)](_0x18c056,_0x2dc502)&&_0x3f4255['push'](_0x18c056);const _0x33bcce=_0x18c056[_0x52011f(0x3f0)];if(Array['isArray'](_0x33bcce))for(const _0x123c72 of _0x33bcce){_0x3f4255['push'](...this['searchElements'](_0x123c72,_0x2dc502));}return _0x3f4255;}['elementMatches'](_0x581602,_0x899689){const _0x55e307=_0x3ecb81;if(_0x899689['text']!==void 0x0){const _0x56c5ba=_0x899689[_0x55e307(0x44b)][_0x55e307(0x223)](),_0xb84c94=[_0x581602['value'],_0x581602[_0x55e307(0x3bb)],_0x581602['name']]['filter'](Boolean)['map'](_0x547100=>String(_0x547100)['toLowerCase']());if(!_0xb84c94[_0x55e307(0x28e)](_0x2102a4=>_0x2102a4[_0x55e307(0x26f)](_0x56c5ba))){if('JMolb'!=='hjGhN')return![];else{const _0x5b0b81=_0xc0e636['getNamedImports']();!_0x5b0b81[_0x55e307(0x28e)](_0x174abf=>_0x174abf[_0x55e307(0x1a3)]()===_0x3fd19a)&&_0x4d2151['addNamedImport'](_0x19901b);}}}if(_0x899689[_0x55e307(0x2dc)]!==void 0x0){const _0x2b1d88=String(_0x581602['label']??_0x581602['name']??'');if(!_0x2b1d88['toLowerCase']()['includes'](_0x899689['accessibilityLabel'][_0x55e307(0x223)]()))return![];}if(_0x899689[_0x55e307(0x284)]!==void 0x0){const _0x577ec2=String(_0x581602[_0x55e307(0x284)]??'');if(!_0x577ec2[_0x55e307(0x223)]()['includes'](_0x899689[_0x55e307(0x284)][_0x55e307(0x223)]())){if('loRVz'===_0x55e307(0x2fb)){const _0x5a892d=_0xb9e343['getImportDeclaration'](_0x266d34);if(!_0x5a892d)return![];const _0x208ba2=_0x5a892d[_0x55e307(0x437)](),_0x58a1ce=_0x208ba2['find'](_0x49921d=>_0x49921d[_0x55e307(0x1a3)]()===_0x1cfe50);if(!_0x58a1ce)return![];_0x58a1ce[_0x55e307(0x24c)]();const _0x208a68=_0x5a892d[_0x55e307(0x437)](),_0x5c8bed=_0x5a892d['getDefaultImport']()!=null;return _0x208a68['length']===0x0&&!_0x5c8bed&&_0x5a892d['remove'](),!![];}else return![];}}return _0x899689['text']!==void 0x0||_0x899689['accessibilityLabel']!==void 0x0||_0x899689['type']!==void 0x0||_0x899689['index']!==void 0x0;}['collectVisibleElements'](_0x28ee4d,_0x53f376){const _0x132876=_0x3ecb81,_0x2f5eb1=[];if(_0x53f376<=0x0)return _0x2f5eb1;const _0x1d29cf=String(_0x28ee4d[_0x132876(0x3bb)]??_0x28ee4d['name']??''),_0x282b38=String(_0x28ee4d[_0x132876(0x389)]??''),_0x2f89d5=String(_0x28ee4d[_0x132876(0x284)]??'');(_0x1d29cf||_0x282b38)&&_0x2f5eb1['push']({'type':_0x2f89d5,'label':_0x1d29cf,'text':_0x282b38});const _0x277cbf=_0x28ee4d[_0x132876(0x3f0)];if(Array['isArray'](_0x277cbf))for(const _0x63e21a of _0x277cbf){const _0x28bda0=_0x53f376-_0x2f5eb1[_0x132876(0x471)];if(_0x28bda0<=0x0)break;_0x2f5eb1['push'](...this[_0x132876(0x1d8)](_0x63e21a,_0x28bda0));}return _0x2f5eb1;}[_0x3ecb81(0x161)](){const _0x4a572e=_0x3ecb81;this['sessionId']=null,this[_0x4a572e(0x503)]=null,this[_0x4a572e(0x1c4)]=null;}};}}),_0x15dafc,_0xc961e7=_0x4d3071({'src/device-autonomy.ts'(){'use strict';const _0x4794f4=_0x5ccc4b;_0x15dafc=class{constructor(_0x30b9dc){this['screen']=_0x30b9dc;}async[_0x4794f4(0x337)](){const _0x44136a=_0x4794f4,_0x3d0815=await this['screen'][_0x44136a(0x252)]();if(!_0x3d0815){const _0x441e59=await this[_0x44136a(0x212)][_0x44136a(0x406)]()[_0x44136a(0x243)](()=>'http://localhost:8100'),_0x43c3fa=_0x441e59[_0x44136a(0x2be)](/^https?:\/\//,'');return{'awake':![],'lockState':_0x44136a(0x50a),'remediation':'WebDriverAgent\x20is\x20not\x20reachable\x20at\x20'+_0x43c3fa+_0x44136a(0x3e0)};}const _0x3cda38=await this['getLockState']();if(_0x3cda38==='unlocked')return'cXifV'===_0x44136a(0x486)?{'result':{'success':![],'error':_0x57cc67 instanceof _0x51bd7d?_0x5d8ebe[_0x44136a(0x554)]:_0x44136a(0x17f)},'tree':null}:{'awake':!![],'lockState':_0x44136a(0x479)};if(_0x3cda38==='locked'||_0x3cda38===_0x44136a(0x180)){const _0x1ebacf=await this[_0x44136a(0x212)][_0x44136a(0x3f4)]();if(_0x1ebacf[_0x44136a(0x33f)]){const _0x269fa2=await this['getLockState']();if(_0x269fa2==='unlocked')return{'awake':!![],'lockState':'unlocked'};}await this[_0x44136a(0x212)][_0x44136a(0x154)]('home')['catch'](()=>void 0x0);const _0x3bdd35=await this[_0x44136a(0x2fa)]();if(_0x3bdd35==='unlocked')return{'awake':!![],'lockState':_0x44136a(0x479)};return{'awake':![],'lockState':_0x3bdd35,'remediation':_0x44136a(0x418)};}return{'awake':![],'lockState':_0x3cda38,'remediation':_0x44136a(0x221)};}['keepAliveHeartbeat'](_0x68788f={}){const _0x4d6304=_0x4794f4,_0x2aa75a=_0x68788f['intervalMs']??0x5dc,_0x135d55=setInterval(()=>{const _0x190bde=_0x4997;this['screen'][_0x190bde(0x3b5)]()['catch'](()=>void 0x0);},_0x2aa75a);if(typeof _0x135d55[_0x4d6304(0x4ff)]===_0x4d6304(0x19b))_0x135d55[_0x4d6304(0x4ff)]();let _0x5ccda0=![];return{'intervalMs':_0x2aa75a,'stop':()=>{if(_0x5ccda0)return;_0x5ccda0=!![],clearInterval(_0x135d55);}};}async['getLockState'](){const _0x495b23=_0x4794f4,_0x3edfc1=await this[_0x495b23(0x212)]['isLocked']();if(_0x3edfc1===!![])return'locked';if(_0x3edfc1===![]){const _0x4d9505=await this[_0x495b23(0x1bb)]();return _0x4d9505?_0x495b23(0x563):'unlocked';}const _0x4f2d33=await this['hasCoverSheet']();if(_0x4f2d33===null)return _0x495b23(0x50a);return _0x4f2d33?'locked':'unlocked';}async['hasCoverSheet'](){const _0x4e84fb=_0x4794f4,_0x9d029a=await this[_0x4e84fb(0x212)][_0x4e84fb(0x28f)]();if(!_0x9d029a['success']||!_0x9d029a[_0x4e84fb(0x2d6)])return null;const _0x20ade9=['sbcoversheet',_0x4e84fb(0x530),_0x4e84fb(0x1cb)];let _0x2a593d=![];const _0x486e46=_0x43f997=>{const _0x53dcfe=_0x4e84fb;if(_0x2a593d)return;const _0x3293d0=[_0x43f997['name'],_0x43f997['label'],_0x43f997['type']][_0x53dcfe(0x235)](Boolean)[_0x53dcfe(0x3aa)]('\x20')['toLowerCase']();if(_0x20ade9[_0x53dcfe(0x28e)](_0x38d382=>_0x3293d0['includes'](_0x38d382))){if(_0x53dcfe(0x419)!=='etQrt'){_0x2a593d=!![];return;}else{if(_0x3719ca(_0x2a430d))_0xc8395d[_0x53dcfe(0x359)](_0x141042);else _0x971846[_0x53dcfe(0x359)](_0x4c49b0);}}const _0x5a75b8=_0x43f997['children'];if(Array['isArray'](_0x5a75b8)){for(const _0x358e59 of _0x5a75b8)_0x486e46(_0x358e59);}};return _0x486e46(_0x9d029a['source']),_0x2a593d;}async['setOrientation'](_0x4ea620){const _0x4b252c=_0x4794f4;if('xXylw'===_0x4b252c(0x4d2)){if(_0x1fad87)return;if(_0x8375b3['isIdentifier'](_0x4ac275)&&_0x10351f['getText']()==='useEffect'){const _0x18de31=_0x5ef35c[_0x4b252c(0x33a)]();if(_0x18de31&&(_0x58f3b1[_0x4b252c(0x21d)](_0x18de31)||_0x2d15d9['isImportClause'](_0x18de31)))return;_0x53abf2=!![];}}else return this[_0x4b252c(0x212)]['setOrientation'](_0x4ea620);}[_0x4794f4(0x1fa)](){const _0x8a3109=_0x4794f4;return'njxwG'!==_0x8a3109(0x1bf)?{'success':![],'message':_0x8a3109(0x495)}:_0x14d1ae??_0x3a3da8(_0x1f0f7e(),_0x8a3109(0x2f8),_0x8a3109(0x373));}};}});import{spawn as _0x1746b0}from'child_process';import{mkdir as _0x400de0,rm,stat as _0x15d59e}from'fs/promises';import{dirname as _0x2c8865,join as _0x4a4f51}from'path';function _0x35fb1a(){return _0x4526cf;}var _0x4526cf,_0x512dbf,_0x3eb806=_0x4d3071({'src/video-recorder.ts'(){'use strict';_0x4526cf='unverified',_0x512dbf='macOS\x20Screen\x20Recording\x20permission\x20not\x20granted.\x20Open\x20System\x20Settings\x20→\x20Privacy\x20&\x20Security\x20→\x20Screen\x20Recording\x20and\x20enable\x20your\x20terminal\x20app\x20(Terminal\x20/\x20iTerm\x20/\x20Warp\x20/\x20Cursor\x20/\x20VS\x20Code\x20—\x20whichever\x20launched\x20the\x20MCP).\x20After\x20granting,\x20fully\x20quit\x20and\x20relaunch\x20the\x20terminal,\x20then\x20unplug\x20and\x20replug\x20your\x20iPhone\x20before\x20retrying.';}});import{spawn as _0x3b4351}from'child_process';import{createRequire}from'module';import{createServer as _0x2c37f1}from'net';import{dirname as _0x34cde5,join as _0x590df3}from'path';function _0x5a41d4(_0x3d0b2a){const _0x53438f=_0x5ccc4b,_0x249ad9=_0x35ac71=>{const _0xf6f3c2=_0x4997;try{const _0x1c3aac=createRequire(_0x35ac71),_0x5c58a0=_0x1c3aac['resolve'](_0xf6f3c2(0x4a8)),_0x2b30e1=_0x34cde5(_0x5c58a0);return _0x590df3(_0x2b30e1,_0xf6f3c2(0x296));}catch{return null;}};if(_0x3d0b2a){const _0x249ecc=_0x249ad9(new URL('package.json',_0x53438f(0x4f0)+(_0x3d0b2a['endsWith']('/')?_0x3d0b2a:_0x3d0b2a+'/')));if(_0x249ecc)return _0x249ecc;}return _0x249ad9(import.meta.url);}var _0x30d819=_0x4d3071({'src/wda-simulator.ts'(){'use strict';_0x495988();}});import{spawn as _0x41cf56}from'child_process';import{access as _0x544066}from'fs/promises';import{join as _0x54b1f0}from'path';function _0x28f71f(_0x280307){const _0x487a70=_0x5ccc4b;switch(_0x280307){case'npm':return{'bin':'npm','args':['install','-D',_0x2062e7]};case _0x487a70(0x54c):return{'bin':_0x487a70(0x54c),'args':[_0x487a70(0x532),'-D',_0x2062e7]};case'yarn':return{'bin':_0x487a70(0x571),'args':[_0x487a70(0x532),'-D',_0x2062e7]};case'bun':return{'bin':_0x487a70(0x2a0),'args':[_0x487a70(0x532),'-D',_0x2062e7]};}}function _0x6d3f23(_0x14aada){return _0x5a41d4(_0x14aada)!==null;}async function _0x7fee99(_0x23c6e9){try{return await _0x544066(_0x23c6e9),!![];}catch{return![];}}async function _0x1f1024(_0x5c4c67){for(const {file:_0x351f85,pm:_0x603379}of _0x1dc57e){if(await _0x7fee99(_0x54b1f0(_0x5c4c67,_0x351f85)))return _0x603379;}return'npm';}function _0x433ca4(_0x1475f3,_0x564086){const {bin:_0x34ca47,args:_0x52b987}=_0x28f71f(_0x1475f3),_0x412f12=0x5*0xea60;return new Promise(_0x1498da=>{const _0x17a7b5=_0x4997;let _0x54c5ca;try{_0x54c5ca=_0x41cf56(_0x34ca47,_0x52b987,{'cwd':_0x564086,'stdio':[_0x17a7b5(0x23a),0x2,0x2]});}catch(_0x2464cd){_0x1498da({'ok':![],'error':_0x17a7b5(0x234)+_0x34ca47+':\x20'+(_0x2464cd instanceof Error?_0x2464cd[_0x17a7b5(0x554)]:String(_0x2464cd))});return;}let _0x38c528=![];const _0x18a80a=_0x2ff463=>{const _0x504b86=_0x17a7b5;if(_0x504b86(0x50d)==='Ijtxe'){if(_0x38c528)return;_0x38c528=!![],clearTimeout(_0x1a4554),_0x1498da(_0x2ff463);}else return{'result':{'success':![],'matchCount':_0x2107f6['length'],'error':_0x5155cb['error']??'WDA\x20tap\x20failed','element':{'type':_0x358ffc[_0x504b86(0x284)]??_0x504b86(0x50a),'label':_0x5cba0d['label']??_0x5d6953['name']??'','bounds':_0x4f57f2},'tappedAt':{'x':_0x53401b,'y':_0x4ea98f}},'tree':_0x2bcec1};},_0x1a4554=setTimeout(()=>{const _0x24e131=_0x17a7b5;try{_0x54c5ca['kill']('SIGKILL');}catch{}_0x18a80a({'ok':![],'error':'`'+_0x34ca47+'\x20'+_0x52b987[_0x24e131(0x3aa)]('\x20')+'`\x20timed\x20out\x20after\x20'+_0x412f12/0xea60+'min.'});},_0x412f12);_0x54c5ca['on']('error',_0x2884ea=>_0x18a80a({'ok':![],'error':'`'+_0x34ca47+'\x20'+_0x52b987['join']('\x20')+'`\x20failed\x20to\x20run:\x20'+_0x2884ea[_0x17a7b5(0x554)]})),_0x54c5ca['on'](_0x17a7b5(0x55b),_0x4dac60=>{const _0x101a8b=_0x17a7b5;_0x4dac60===0x0?_0x18a80a({'ok':!![]}):_0x18a80a({'ok':![],'error':'`'+_0x34ca47+'\x20'+_0x52b987[_0x101a8b(0x3aa)]('\x20')+'`\x20exited\x20with\x20code\x20'+(_0x4dac60??0x1)+'.'});});});}async function _0x364d37(_0x59cf2f,_0x447afd={}){const _0x2c729e=_0x5ccc4b,_0x22a924=_0x447afd['isInstalled']??_0x6d3f23,_0x1d1fdc=_0x447afd[_0x2c729e(0x52d)]??_0x1f1024,_0x53e6dc=_0x447afd['runInstall']??_0x433ca4,_0x3c704d=_0x447afd['log'];try{if(_0x22a924(_0x59cf2f))return{'status':'present'};_0x3c704d?.('Installing\x20appium-webdriveragent\x20for\x20simulator\x20support\x20(one-time,\x20~200MB)…');const _0xad8729=await _0x1d1fdc(_0x59cf2f),_0x243b9a=await _0x53e6dc(_0xad8729,_0x59cf2f);if(_0x22a924(_0x59cf2f))return{'status':'installed'};return{'status':_0x2c729e(0x42d),'error':_0x243b9a['error']??_0x2c729e(0x1c3)+_0x28f71f(_0xad8729)['bin']+'\x20'+_0x28f71f(_0xad8729)[_0x2c729e(0x4e2)]['join']('\x20')+'`.'};}catch(_0x5979bd){return{'status':_0x2c729e(0x42d),'error':_0x5979bd instanceof Error?_0x5979bd[_0x2c729e(0x554)]:String(_0x5979bd)};}}var _0x2062e7,_0x1dc57e,_0x49dabf=_0x4d3071({'src/ensure-appium.ts'(){'use strict';const _0x24db1b=_0x5ccc4b;_0x30d819(),_0x2062e7=_0x24db1b(0x4bc),_0x1dc57e=[{'file':_0x24db1b(0x275),'pm':'pnpm'},{'file':_0x24db1b(0x3a9),'pm':_0x24db1b(0x571)},{'file':_0x24db1b(0x481),'pm':'bun'},{'file':_0x24db1b(0x20a),'pm':'bun'},{'file':'package-lock.json','pm':'npm'}];}});import{spawn as _0x29fd86}from'child_process';import{readdir as _0x80e747,readFile as _0x30ed74}from'fs/promises';import{join as _0x45a5d4,relative as _0x5a8b99,sep as _0x311376}from'path';function _0x3a29f0(_0x597cd9,_0x199a2d,_0x135cde=0xfa0){return new Promise(_0x2802e5=>{const _0x126ce6=_0x4997;let _0x3aff14='',_0x5e42c8='',_0x334650;try{_0x334650=_0x29fd86(_0x597cd9,_0x199a2d,{'stdio':['ignore',_0x126ce6(0x43a),'pipe']});}catch(_0xd2e9a0){_0x2802e5({'code':0x7f,'stdout':'','stderr':_0xd2e9a0 instanceof Error?_0xd2e9a0[_0x126ce6(0x554)]:String(_0xd2e9a0)});return;}const _0x3e0dd6=setTimeout(()=>{const _0x5a5dfc=_0x126ce6;try{_0x334650[_0x5a5dfc(0x579)]('SIGKILL');}catch{}},_0x135cde);_0x334650[_0x126ce6(0x16e)]?.['on'](_0x126ce6(0x48c),_0x18829=>{_0x3aff14+=_0x18829['toString']();}),_0x334650[_0x126ce6(0x4ca)]?.['on']('data',_0x468509=>{const _0x28e24a=_0x126ce6;_0x5e42c8+=_0x468509[_0x28e24a(0x2a9)]();});let _0x4deede=![];_0x334650['on'](_0x126ce6(0x51e),_0x614304=>{if(_0x4deede)return;_0x4deede=!![],clearTimeout(_0x3e0dd6),_0x2802e5({'code':0x7f,'stdout':_0x3aff14,'stderr':_0x5e42c8+(_0x614304['message']??String(_0x614304))});}),_0x334650['on']('exit',_0x38e736=>{if(_0x4deede)return;_0x4deede=!![],clearTimeout(_0x3e0dd6),_0x2802e5({'code':_0x38e736??0x1,'stdout':_0x3aff14,'stderr':_0x5e42c8});});});}async function _0x2c631d(_0x4db916,_0xe19bbd,_0x427ead){try{const _0x35c4a1=await _0x427ead();return{'name':_0x4db916,..._0x35c4a1};}catch(_0x2b0f5a){return{'name':_0x4db916,'ok':![],'severity':_0xe19bbd,'message':_0x2b0f5a instanceof Error?_0x2b0f5a['message']:String(_0x2b0f5a)};}}async function _0x5ce44c(_0x30b368,_0x355540){const _0x900f2c=_0x5ccc4b,_0x3c8552=Date['now']()+_0x355540[_0x900f2c(0x15e)];try{if(await _0x30b368())return!![];}catch{}while(Date['now']()<_0x3c8552){await new Promise(_0x49007f=>setTimeout(_0x49007f,_0x355540[_0x900f2c(0x1ce)]));try{if(await _0x30b368())return!![];}catch{}}return![];}async function _0x19903d(){const _0x285fa9=_0x5ccc4b,_0x2cc1e6=await _0x3a29f0('networksetup',['-getairportnetwork',_0x285fa9(0x273)]);if(_0x2cc1e6[_0x285fa9(0x156)]!==0x0)return null;const _0x3ac2e7=_0x2cc1e6[_0x285fa9(0x16e)]['match'](/Current Wi-Fi Network:\s*(.+)$/m);if(!_0x3ac2e7)return null;const _0x495517=_0x3ac2e7[0x1]['trim']();if(!_0x495517||_0x495517['toLowerCase']()[_0x285fa9(0x26f)]('not\x20associated'))return null;return _0x495517;}async function _0xe72c4d(){const _0x456826=_0x5ccc4b,_0xe5af0f=await _0x3a29f0(_0x456826(0x475),['getifaddr',_0x456826(0x273)]);if(_0xe5af0f['code']!==0x0)return null;const _0x2ea9a4=_0xe5af0f[_0x456826(0x16e)][_0x456826(0x1cd)]();return _0x2ea9a4['length']>0x0?_0x2ea9a4:null;}function _0x4997(_0x42baa4,_0x197cb7){_0x42baa4=_0x42baa4-0x141;const _0x2223e6=_0x2223();let _0x4997fe=_0x2223e6[_0x42baa4];return _0x4997fe;}async function _0x2aa4a8(_0xf04f5e){const _0x5e3295=[];async function _0x39ed96(_0x1b67ad){const _0x411e1e=_0x4997;let _0x20ba09;try{_0x20ba09=await _0x80e747(_0x1b67ad,{'withFileTypes':!![]});}catch{return;}for(const _0xa2f896 of _0x20ba09){const _0x11d032=_0x45a5d4(_0x1b67ad,_0xa2f896[_0x411e1e(0x34d)]);if(_0xa2f896[_0x411e1e(0x1c7)]()){if(_0xd8d791['has'](_0xa2f896[_0x411e1e(0x34d)]))continue;await _0x39ed96(_0x11d032);continue;}if(!_0xa2f896['isFile']())continue;const _0x3143e8=_0xa2f896['name']['lastIndexOf']('.');if(_0x3143e8<0x0)continue;const _0x3787fe=_0xa2f896[_0x411e1e(0x34d)][_0x411e1e(0x54d)](_0x3143e8)[_0x411e1e(0x223)]();if(!_0x3d54da[_0x411e1e(0x466)](_0x3787fe))continue;let _0xa3e05f;try{_0xa3e05f=await _0x30ed74(_0x11d032,_0x411e1e(0x449));}catch{continue;}const _0x2615e0=_0x5a8b99(_0xf04f5e,_0x11d032)['split'](_0x311376)['join']('/');_0x5e3295['push']({'absPath':_0x11d032,'relPath':_0x2615e0,'contents':_0xa3e05f});}}for(const _0x43741a of _0x4b9362){await _0x39ed96(_0x45a5d4(_0xf04f5e,_0x43741a));}return _0x5e3295;}function _0x49ecb3(_0x28f9e5,_0x58b4dc){const _0x12a3ad=_0x5ccc4b,_0xa71054=[],_0xb5c85d=_0x28f9e5['contents'],_0x3dfcb2=_0x58b4dc[_0x12a3ad(0x2be)](/[.*+?^${}()|[\]\\]/g,'\x5c$&'),_0x57be83=new RegExp('<'+_0x3dfcb2+_0x12a3ad(0x157),'g');let _0x7b99ec;while((_0x7b99ec=_0x57be83[_0x12a3ad(0x291)](_0xb5c85d))!==null){const _0xc07989=_0x7b99ec['index'],_0xeb4f=_0x149bad(_0xb5c85d,_0xc07989+_0x7b99ec[0x0]['length']);if(_0xeb4f===-0x1)continue;const _0x194472=_0xb5c85d[_0x12a3ad(0x54d)](_0xc07989,_0xeb4f+0x1),_0x1e0740=_0xb5c85d['slice'](0x0,_0xc07989),_0x1114e6=(_0x1e0740['match'](/\n/g)?.['length']??0x0)+0x1;_0xa71054[_0x12a3ad(0x359)]({'file':_0x28f9e5,'line':_0x1114e6,'openingTag':_0x194472});}return _0xa71054;}function _0x149bad(_0x218bb2,_0x2d8be4){let _0x421113=0x0,_0xb19fef=![],_0x598c1a=![],_0x2a6ebb=![];for(let _0x4c6a32=_0x2d8be4;_0x4c6a32<_0x218bb2['length'];_0x4c6a32++){const _0x49f2a6=_0x218bb2[_0x4c6a32];if(_0xb19fef){if(_0x49f2a6==='\x22'&&!_0x5f0b27(_0x218bb2,_0x4c6a32))_0xb19fef=![];continue;}if(_0x598c1a){if(_0x49f2a6==='\x27'&&!_0x5f0b27(_0x218bb2,_0x4c6a32))_0x598c1a=![];continue;}if(_0x2a6ebb){if(_0x49f2a6==='`'&&!_0x5f0b27(_0x218bb2,_0x4c6a32))_0x2a6ebb=![];continue;}if(_0x49f2a6==='\x22'){if('cUMkU'!=='cUMkU')_0x30dc42(null);else{_0xb19fef=!![];continue;}}if(_0x49f2a6==='\x27'){_0x598c1a=!![];continue;}if(_0x49f2a6==='`'){_0x2a6ebb=!![];continue;}if(_0x49f2a6==='{'){_0x421113++;continue;}if(_0x49f2a6==='}'){_0x421113=Math['max'](0x0,_0x421113-0x1);continue;}if(_0x421113===0x0&&_0x49f2a6==='>')return _0x4c6a32;}return-0x1;}function _0x5f0b27(_0x2bfbd3,_0x58d3d7){let _0x517014=0x0,_0x4fe604=_0x58d3d7-0x1;while(_0x4fe604>=0x0&&_0x2bfbd3[_0x4fe604]==='\x5c'){_0x517014++,_0x4fe604--;}return _0x517014%0x2===0x1;}function _0x5ef9e1(_0x52af51){const _0x56be16=_0x5ccc4b,_0x274fe0=_0x52af51['replace'](/\.(tsx|jsx)$/i,''),_0x5cfdb8=_0x274fe0[_0x56be16(0x4c7)](/[\\/]/)['filter'](_0x4d28f1=>_0x4d28f1['length']>0x0);if(_0x5cfdb8[_0x56be16(0x471)]===0x0)return _0x56be16(0x4eb);const _0x3aee17=_0x5cfdb8[_0x5cfdb8['length']-0x1],_0x5b8125=_0x5cfdb8[_0x56be16(0x471)]>0x1?_0x5cfdb8[_0x5cfdb8[_0x56be16(0x471)]-0x2]:_0x3aee17,_0x599183=new Set(['page','index','screen',_0x56be16(0x1fb),_0x56be16(0x385)]),_0x10274b=_0x599183[_0x56be16(0x466)](_0x3aee17['toLowerCase']())?_0x5b8125:_0x3aee17,_0x433f22=_0x10274b['replace'](/([a-z0-9])([A-Z])/g,_0x56be16(0x292))[_0x56be16(0x223)]()[_0x56be16(0x2be)](/[^a-z0-9]+/g,'-')[_0x56be16(0x2be)](/^-+|-+$/g,'');return _0x433f22['length']>0x0?_0x433f22:'camera';}function _0xaa9fb2(_0x275233){const _0x485759=_0x5ccc4b,_0x1b3a60=/import\s*\{([^}]*)\}\s*from\s*["']expo-camera["']/g;let _0x519713;while((_0x519713=_0x1b3a60['exec'](_0x275233))!==null){const _0x1add35=_0x519713[0x1][_0x485759(0x4c7)](',')['map'](_0x2996cc=>_0x2996cc['trim']()[_0x485759(0x4c7)](/\s+as\s+/)[0x0][_0x485759(0x1cd)]());if(_0x1add35['includes']('CameraView'))return!![];}return![];}function _0x378b4a(_0x22cea8){const _0x17b87a=_0x5ccc4b,_0x5e2fed=_0x17b87a(0x272);let _0x2fe396=0x0,_0x2e1128=![],_0x4b42ad=![],_0x324534=![];for(let _0x3e3f4f=0x0;_0x3e3f4f<_0x22cea8[_0x17b87a(0x471)];_0x3e3f4f++){const _0x1f9ab2=_0x22cea8[_0x3e3f4f];if(_0x2e1128){if(_0x1f9ab2==='\x22'&&!_0x5f0b27(_0x22cea8,_0x3e3f4f))_0x2e1128=![];continue;}if(_0x4b42ad){if(_0x1f9ab2==='\x27'&&!_0x5f0b27(_0x22cea8,_0x3e3f4f))_0x4b42ad=![];continue;}if(_0x324534){if(_0x1f9ab2==='`'&&!_0x5f0b27(_0x22cea8,_0x3e3f4f))_0x324534=![];continue;}if(_0x1f9ab2==='\x22'){_0x2e1128=!![];continue;}if(_0x1f9ab2==='\x27'){_0x4b42ad=!![];continue;}if(_0x1f9ab2==='`'){_0x324534=!![];continue;}if(_0x1f9ab2==='{'){_0x2fe396++;continue;}if(_0x1f9ab2==='}'){_0x2fe396=Math[_0x17b87a(0x3c3)](0x0,_0x2fe396-0x1);continue;}if(_0x2fe396!==0x0)continue;if(_0x1f9ab2!=='i')continue;if(_0x22cea8[_0x17b87a(0x423)](_0x3e3f4f,_0x3e3f4f+_0x5e2fed['length'])!==_0x5e2fed)continue;const _0x866677=_0x3e3f4f===0x0?'\x20':_0x22cea8[_0x3e3f4f-0x1];if(/[A-Za-z0-9_$]/['test'](_0x866677))continue;const _0xa8be2e=_0x22cea8[_0x3e3f4f+_0x5e2fed['length']]??'';if(_0xa8be2e!=='='&&!/\s/['test'](_0xa8be2e))continue;let _0x269c5d=_0x3e3f4f+_0x5e2fed[_0x17b87a(0x471)];while(_0x269c5d<_0x22cea8['length']&&/\s/['test'](_0x22cea8[_0x269c5d]))_0x269c5d++;if(_0x22cea8[_0x269c5d]!=='='){_0x3e3f4f=_0x269c5d-0x1;continue;}_0x269c5d++;while(_0x269c5d<_0x22cea8[_0x17b87a(0x471)]&&/\s/[_0x17b87a(0x440)](_0x22cea8[_0x269c5d]))_0x269c5d++;const _0x2c6bfb=_0x22cea8[_0x269c5d];if(_0x2c6bfb==='\x22'||_0x2c6bfb==='\x27'){if('HmUnX'!==_0x17b87a(0x348))return this[_0x17b87a(0x2bc)];else{let _0x5a739a=_0x269c5d+0x1;while(_0x5a739a<_0x22cea8['length']&&!(_0x22cea8[_0x5a739a]===_0x2c6bfb&&!_0x5f0b27(_0x22cea8,_0x5a739a))){_0x5a739a++;}const _0x432237=_0x22cea8['slice'](_0x269c5d+0x1,_0x5a739a);if(_0x432237['trim']()[_0x17b87a(0x471)]===0x0)return{'present':![]};return{'present':!![],'value':_0x432237};}}if(_0x2c6bfb==='{')return{'present':!![],'value':null};return{'present':![]};}return{'present':![]};}async function _0x3291dc(_0x415fef){const _0x1c3051=_0x5ccc4b,{screen:_0x1b78d7,apps:_0x50fc4c,autonomy:_0x12d0c0,bundleId:_0x12e798,requiredEnv:_0x574f04,expectedNetwork:_0xdccb18,projectDir:projectDir=process[_0x1c3051(0x380)](),target:_0x2c64c9,excludeRuntimeChecks:excludeRuntimeChecks=![],screenRecordingStatus:screenRecordingStatus=_0x35fb1a,ensureAppium:ensureAppium=_0x364d37}=_0x415fef,_0x26baa2=!excludeRuntimeChecks&&_0x2c64c9?await _0x2c64c9[_0x1c3051(0x22f)]()['catch'](()=>null):null,_0x3c2746=_0x26baa2?.['target']==='simulator',_0x2c1fa0=_0x3117a7(projectDir),_0x50b1b8=_0x2c1fa0[_0x1c3051(0x341)](_0x2ace0f=>{const _0x397c24=_0x1c3051;if(_0x2ace0f[_0x397c24(0x314)]==='missing-dir')return{'name':_0x397c24(0x51a),'ok':!![],'severity':'info','message':_0x397c24(0x363)};return{'name':'camera-registry-synced','ok':!![],'severity':'info','message':'Camera\x20image\x20registry\x20'+_0x2ace0f['writtenOrUnchanged']+'\x20('+_0x2ace0f['registered'][_0x397c24(0x471)]+_0x397c24(0x451)+(_0x2ace0f['registered']['length']===0x1?'':'s')+_0x397c24(0x1b4)+_0x33dfff(projectDir,_0x2ace0f[_0x397c24(0x56e)])+'.','details':{'registered':_0x2ace0f['registered'][_0x397c24(0x362)](_0xe80c60=>_0xe80c60['key']),'state':_0x2ace0f[_0x397c24(0x314)]}};},_0x5e8fe8=>({'name':_0x1c3051(0x51a),'ok':![],'severity':'warning','message':'Camera\x20registry\x20sync\x20failed:\x20'+(_0x5e8fe8 instanceof Error?_0x5e8fe8[_0x1c3051(0x554)]:String(_0x5e8fe8))})),_0x330615=_0x2aa4a8(projectDir),_0x188db3=_0x2c631d(_0x1c3051(0x2fe),_0x1c3051(0x473),async()=>{const _0x12200e=_0x1c3051,_0x32c2bf=await _0x330615,_0x1e4a21=[];for(const _0x54f4cd of _0x32c2bf){if(_0x12200e(0x29d)==='lienR'){if(_0x3ba1b4===null)_0x158cc2=_0x2f8dab;_0x5527d8[_0x12200e(0x3b7)]()[_0x12200e(0x471)]===0x0&&(_0x1e45fc=_0x38571c,_0x30c4d7['stop']());}else{if(!_0xaa9fb2(_0x54f4cd[_0x12200e(0x446)]))continue;const _0x3df6d6=_0x49ecb3(_0x54f4cd,'CameraView');for(const _0x555e5a of _0x3df6d6){_0x1e4a21[_0x12200e(0x359)](_0x555e5a[_0x12200e(0x2e0)][_0x12200e(0x2ec)]+':'+_0x555e5a['line']);}}}if(_0x1e4a21['length']===0x0)return{'ok':!![],'severity':'warning','message':'No\x20bare\x20<CameraView>\x20usages\x20from\x20expo-camera\x20found\x20in\x20app/src/screens.'};return{'ok':![],'severity':'warning','message':_0x12200e(0x462)+_0x1e4a21[_0x12200e(0x471)]+'\x20<CameraView>\x20usage(s)\x20not\x20wrapped\x20by\x20<CeraphCamera>.','remediation':_0x12200e(0x3fe),'details':{'offenders':_0x1e4a21}};}),_0x471f5a=_0x2c631d('camera-imageKey-setup','info',async()=>{const _0x2c5883=_0x1c3051,_0x9754c2=await _0x330615,_0x510f79=[];for(const _0x559be5 of _0x9754c2){const _0x26860c=_0x49ecb3(_0x559be5,'CeraphCamera');for(const _0x26d068 of _0x26860c){const _0x3648d2=_0x378b4a(_0x26d068['openingTag']);!_0x3648d2[_0x2c5883(0x2a8)]&&_0x510f79['push']({'location':_0x26d068['file'][_0x2c5883(0x2ec)]+':'+_0x26d068[_0x2c5883(0x222)],'file':_0x26d068['file'][_0x2c5883(0x2ec)],'line':_0x26d068['line'],'suggestedKey':_0x5ef9e1(_0x26d068[_0x2c5883(0x2e0)][_0x2c5883(0x2ec)])});}}if(_0x510f79[_0x2c5883(0x471)]===0x0)return{'ok':!![],'severity':_0x2c5883(0x287),'message':_0x2c5883(0x345)};return{'ok':!![],'severity':_0x2c5883(0x287),'message':_0x510f79[_0x2c5883(0x471)]+_0x2c5883(0x31b)+(_0x510f79[_0x2c5883(0x471)]===0x1?'':'s')+'\x20awaiting\x20imageKey\x20assignment\x20('+_0x510f79[_0x2c5883(0x362)](_0x5f3ba8=>_0x5f3ba8['location'])['join'](',\x20')+').','remediation':'Ask\x20the\x20user\x20about\x20each\x20camera\x20screen\x20and\x20use\x20`ceraph_init_replace_camera`\x20to\x20set\x20the\x20imageKey.\x20Three\x20options\x20per\x20camera:\x20(A)\x20imageKey=\x22default\x22\x20—\x20bundled\x201024x1024\x20black\x20PNG.\x20Right\x20for\x20tests\x20that\x20don\x27t\x20care\x20about\x20image\x20content\x20(most\x20form/upload\x20flows).\x20(B)\x20imageKey=\x22<scenario>\x22\x20—\x20a\x20specific\x20test\x20image.\x20Drop\x20the\x20file\x20at\x20.ceraph/camera-images/<scenario>.{jpg,png,webp}\x20(use\x20`ceraph_add_camera_image`\x20to\x20write\x20it\x20programmatically)\x20and\x20re-run\x20`rn_sync_camera_registry`.\x20(C)\x20imageKey=\x22@runtime\x22\x20—\x20multi-image\x20flows\x20where\x20the\x20planner\x20picks\x20the\x20image\x20per-step\x20at\x20runtime;\x20the\x20shim\x20won\x27t\x20lock\x20the\x20camera\x20to\x20any\x20static\x20key.','details':{'uninitializedCameras':_0x510f79}};}),_0x6cdefc=_0x2c631d(_0x1c3051(0x547),'error',async()=>{const _0x37cee0=_0x1c3051,[_0x1530f3,_0x195316]=await Promise[_0x37cee0(0x2b9)]([_0x2c1fa0,_0x330615]),_0x37d0f2=new Set(_0x1530f3['registered']['map'](_0x31190f=>_0x31190f['key'])),_0x5c3549=[];for(const _0x146a46 of _0x195316){const _0xd3801a=_0x49ecb3(_0x146a46,'CeraphCamera');for(const _0x24ed26 of _0xd3801a){const _0x39455c=_0x378b4a(_0x24ed26['openingTag']);if(!_0x39455c['present'])continue;if(_0x39455c['value']===null)continue;if(_0x39455c[_0x37cee0(0x389)]==='default')continue;if(_0x39455c[_0x37cee0(0x389)][_0x37cee0(0x425)]('@'))continue;!_0x37d0f2['has'](_0x39455c['value'])&&_0x5c3549[_0x37cee0(0x359)]({'location':_0x24ed26['file']['relPath']+':'+_0x24ed26[_0x37cee0(0x222)],'key':_0x39455c['value']});}}if(_0x5c3549['length']===0x0)return{'ok':!![],'severity':'error','message':_0x37cee0(0x4ee)};const _0xbc9379=_0x5c3549['map'](_0x37b363=>_0x37b363[_0x37cee0(0x2bd)]+_0x37cee0(0x176)+_0x37b363[_0x37cee0(0x23b)]+'\x22)')[_0x37cee0(0x3aa)](';\x20');return{'ok':![],'severity':_0x37cee0(0x51e),'message':'Found\x20'+_0x5c3549[_0x37cee0(0x471)]+'\x20orphan\x20imageKey\x20reference(s):\x20'+_0xbc9379+'.','remediation':'Add\x20the\x20matching\x20image\x20file\x20to\x20.ceraph/camera-images/\x20(e.g.\x20<key>.jpg)\x20and\x20re-run\x20`rn_sync_camera_registry`,\x20or\x20fix\x20the\x20imageKey\x20prop\x20value.','details':{'orphans':_0x5c3549}};}),_0x1f9dbd=excludeRuntimeChecks?null:_0x2c64c9?Promise[_0x1c3051(0x22f)]({'name':_0x1c3051(0x24d),'ok':!![],'severity':_0x1c3051(0x287),'message':_0x26baa2?'Target:\x20'+_0x26baa2['target']+'\x20('+_0x26baa2['reason']+_0x1c3051(0x369)+_0x26baa2['baseUrl']+(_0x26baa2['udid']?_0x1c3051(0x42a)+_0x26baa2[_0x1c3051(0x55e)]:''):'Target:\x20unknown\x20(resolver\x20failed).\x20Falling\x20back\x20to\x20device\x20defaults.','details':_0x26baa2?{'target':_0x26baa2[_0x1c3051(0x4da)],'reason':_0x26baa2[_0x1c3051(0x3d1)],'baseUrl':_0x26baa2['baseUrl'],'udid':_0x26baa2['udid'],'preferenceEnv':process.env.CERAPH_TARGET??null}:void 0x0}):null,_0x411376='Call\x20rn_wda_start\x20to\x20launch\x20WebDriverAgent\x20on\x20the\x20simulator,\x20then\x20retry\x20(first\x20launch\x20runs\x20a\x20one-time\x20xcodebuild\x20for\x20code\x20signing;\x20later\x20launches\x20reuse\x20the\x20cache).',_0x29a47c='Ensure\x20WebDriverAgent\x20is\x20running\x20on\x20the\x20device\x20(Xcode\x20→\x20run\x20WDA\x20target\x20on\x20your\x20iPhone,\x20or\x20check\x20`iproxy\x208100\x208100`).',_0x422487=_0x26baa2?.['wdaReady']??!![],_0x3cce2c=_0x422487?_0x26baa2?.[_0x1c3051(0x3e5)]??_0x1c3051(0x3b1):null;let _0x2df9aa,_0x280eb3;if(excludeRuntimeChecks)_0x2df9aa=null,_0x280eb3=null;else{if(!_0x3c2746&&_0x415fef[_0x1c3051(0x340)]){const _0x4ab637=_0x415fef[_0x1c3051(0x340)],_0x3b935b=(async()=>{const _0xcf16bc=_0x1c3051;let _0x3e1197=await _0x1b78d7[_0xcf16bc(0x252)](),_0x5f0d85,_0x1b03c8=!![],_0x4a0c7c,_0x2eb715;if(_0x3e1197)_0x5f0d85='WebDriverAgent\x20already\x20reachable\x20—\x20skipped\x20iproxy\x20auto-bridge.';else{const _0x5bc0c3=await _0x50fc4c['getUdid']()['catch'](()=>null);if(!_0x5bc0c3)_0x1b03c8=![],_0x5f0d85=_0xcf16bc(0x1ea),_0x4a0c7c=_0xcf16bc(0x331);else{const _0x2de5e7=await _0x4ab637['start'](_0x5bc0c3);if(_0x2de5e7['ok']){if(_0xcf16bc(0x3c0)==='tLeMU')return _0x174af4;else _0x3e1197=await _0x5ce44c(()=>_0x1b78d7['isAvailable'](),{'intervalMs':0xfa,'timeoutMs':0x9c4}),_0x5f0d85=_0xcf16bc(0x1d4)+_0x2de5e7['pid']+').',_0x2eb715={'pid':_0x2de5e7['pid'],'udid':_0x5bc0c3};}else{if(_0x2de5e7['reason']===_0xcf16bc(0x20d))_0x3e1197=await _0x5ce44c(()=>_0x1b78d7['isAvailable'](),{'intervalMs':0xfa,'timeoutMs':0x9c4}),_0x5f0d85=_0xcf16bc(0x50f);else{if(_0x2de5e7['reason']==='not-installed')_0x1b03c8=![],_0x5f0d85='iproxy\x20is\x20not\x20installed\x20—\x20cannot\x20auto-bridge\x20WDA.',_0x4a0c7c='Install\x20with\x20`brew\x20install\x20libimobiledevice`,\x20then\x20re-run\x20doctor.';else{if(_0xcf16bc(0x4b5)==='iuppI'){const _0x401e2a=_0x1dee84?_0x51ad6b:_0x181357;return{'status':_0xcf16bc(0x1f3),'kind':'expo-dynamic','path':_0x401e2a,'remediation':_0x67eeda(_0x401e2a)};}else _0x1b03c8=![],_0x5f0d85='iproxy\x20auto-bridge\x20failed\x20to\x20start:\x20'+(_0x2de5e7[_0xcf16bc(0x4ca)]?.[0x0]??'unknown\x20error')+'.',_0x4a0c7c='Run\x20`iproxy\x208100\x208100\x20-u\x20<udid>`\x20manually\x20to\x20see\x20the\x20full\x20error.',_0x2eb715={'stderr':_0x2de5e7[_0xcf16bc(0x4ca)]};}}}}}const _0x15a761={'name':'iproxy-bridge','ok':_0x1b03c8,'severity':_0xcf16bc(0x473),'message':_0x5f0d85,'remediation':_0x4a0c7c,'details':_0x2eb715},_0x2b4787=_0x3e1197?{'name':'wda-reachable','ok':!![],'severity':'error','message':'WebDriverAgent\x20is\x20reachable\x20at\x20'+_0x3cce2c+'.'}:{'name':_0xcf16bc(0x1b0),'ok':![],'severity':'error','message':_0x3cce2c?'WebDriverAgent\x20is\x20not\x20reachable\x20at\x20'+_0x3cce2c+'.':_0xcf16bc(0x2d0),'remediation':_0x29a47c};return{'bridge':_0x15a761,'wda':_0x2b4787};})()[_0x1c3051(0x243)](_0x56a0dc=>({'bridge':{'name':'iproxy-bridge','ok':![],'severity':'warning','message':'iproxy\x20auto-bridge\x20threw:\x20'+(_0x56a0dc instanceof Error?_0x56a0dc[_0x1c3051(0x554)]:String(_0x56a0dc))},'wda':{'name':_0x1c3051(0x1b0),'ok':![],'severity':_0x1c3051(0x51e),'message':_0x1c3051(0x46b)+(_0x56a0dc instanceof Error?_0x56a0dc[_0x1c3051(0x554)]:String(_0x56a0dc))}}));_0x2df9aa=_0x3b935b[_0x1c3051(0x341)](_0x42791e=>_0x42791e[_0x1c3051(0x1db)]),_0x280eb3=_0x3b935b['then'](_0x255516=>_0x255516['wda']);}else _0x2df9aa=Promise[_0x1c3051(0x22f)]({'name':'iproxy-bridge','ok':!![],'severity':_0x1c3051(0x287),'message':_0x3c2746?_0x1c3051(0x53c):_0x1c3051(0x565)}),_0x280eb3=_0x2c631d(_0x1c3051(0x1b0),'error',async()=>{const _0x145f22=_0x1c3051,_0x2c8cc1=await _0x1b78d7[_0x145f22(0x252)]();if(_0x2c8cc1)return{'ok':!![],'severity':'error','message':'WebDriverAgent\x20is\x20reachable\x20at\x20'+_0x3cce2c+'.'};return{'ok':![],'severity':_0x145f22(0x51e),'message':_0x3cce2c?'WebDriverAgent\x20is\x20not\x20reachable\x20at\x20'+_0x3cce2c+'.':'WebDriverAgent\x20is\x20not\x20ready\x20(simulator\x20selected,\x20no\x20port\x20captured\x20yet).','remediation':_0x3c2746?_0x411376:_0x29a47c};});}const _0x43e066=_0x3c2746?'warning':_0x1c3051(0x51e),_0x66edfe=excludeRuntimeChecks?null:_0x2c631d('real-device-connected',_0x43e066,async()=>{const _0x50b655=_0x1c3051,_0x4039f1=await _0x50fc4c['getUdid']();if(_0x4039f1)return{'ok':!![],'severity':_0x43e066,'message':_0x50b655(0x555)+_0x4039f1+').','details':{'udid':_0x4039f1}};if(_0x3c2746)return{'ok':!![],'severity':_0x50b655(0x287),'message':'No\x20real\x20iOS\x20device\x20detected\x20—\x20target\x20is\x20simulator,\x20so\x20this\x20is\x20fine.'};return{'ok':![],'severity':_0x43e066,'message':'No\x20iOS\x20target\x20available.','remediation':_0x50b655(0x493)};}),_0x1d30cb=excludeRuntimeChecks?null:_0x2c631d('device-awake',_0x1c3051(0x51e),async()=>{const _0x3cbeac=_0x1c3051,_0x284c19=await _0x12d0c0['ensureAwake']();if(_0x284c19[_0x3cbeac(0x452)])return{'ok':!![],'severity':_0x3cbeac(0x51e),'message':_0x3cbeac(0x539)+_0x284c19['lockState']+').','details':{'lockState':_0x284c19[_0x3cbeac(0x4fc)]}};return{'ok':![],'severity':'error','message':_0x3cbeac(0x2ad)+_0x284c19[_0x3cbeac(0x4fc)]+').','remediation':_0x284c19[_0x3cbeac(0x2c8)]??_0x3cbeac(0x3bc),'details':{'lockState':_0x284c19['lockState']}};}),_0x16766f=excludeRuntimeChecks?null:Promise[_0x1c3051(0x22f)]({'name':_0x1c3051(0x52a),'ok':!![],'severity':_0x1c3051(0x287),'message':_0x1c3051(0x1a5)}),_0x194246=excludeRuntimeChecks?null:_0x2c631d(_0x1c3051(0x44d),'warning',async()=>{const _0x39907c=_0x1c3051;if(_0x3c2746)return{'ok':!![],'severity':_0x39907c(0x287),'message':'ffmpeg\x20not\x20required\x20for\x20simulator\x20targets\x20—\x20`xcrun\x20simctl\x20io\x20recordVideo`\x20(shipped\x20with\x20Xcode)\x20handles\x20video\x20capture.'};const _0x5cb7e2=await _0x3a29f0('which',[_0x39907c(0x485)]),_0x5162c7=_0x5cb7e2['code']===0x0&&_0x5cb7e2[_0x39907c(0x16e)]['trim']()['length']>0x0;if(_0x5162c7)return{'ok':!![],'severity':'info','message':'ffmpeg\x20available\x20at\x20'+_0x5cb7e2[_0x39907c(0x16e)][_0x39907c(0x1cd)]()+'\x20—\x20continuous\x20chain-run\x20video\x20capture\x20is\x20wired.','details':{'path':_0x5cb7e2['stdout']['trim']()}};return{'ok':![],'severity':_0x39907c(0x473),'message':'ffmpeg\x20not\x20found\x20—\x20continuous\x20chain-run\x20video\x20capture\x20will\x20be\x20skipped.\x20Tests\x20still\x20execute\x20normally.','remediation':_0x39907c(0x3f3)};}),_0x5d9dd3=excludeRuntimeChecks||!_0x3c2746?null:_0x2c631d('appium-webdriveragent',_0x1c3051(0x51e),async()=>{const _0x541a82=_0x1c3051,_0x1bcbe9=await ensureAppium(projectDir);if(_0x1bcbe9[_0x541a82(0x416)]==='present')return{'ok':!![],'severity':'info','message':_0x541a82(0x32c),'details':{'status':_0x1bcbe9[_0x541a82(0x416)]}};if(_0x1bcbe9[_0x541a82(0x416)]==='installed')return{'ok':!![],'severity':_0x541a82(0x287),'message':'Installed\x20appium-webdriveragent\x20—\x20simulator\x20WebDriverAgent\x20can\x20build.','details':{'status':_0x1bcbe9[_0x541a82(0x416)]}};if(_0x1bcbe9['status']==='skipped-not-needed'){if(_0x541a82(0x44e)===_0x541a82(0x44e))return{'ok':!![],'severity':'info','message':_0x541a82(0x2da),'details':{'status':_0x1bcbe9['status']}};else{if(_0x303b2d[_0x541a82(0x425)](_0x265b5c)){const _0x1a690a=_0x55bbc1['slice'](_0x4473da[_0x541a82(0x471)]+0x1);return _0x1a690a[_0x541a82(0x471)]>0x0?_0x1a690a:_0x20aa0c;}return _0x2970bd;}}return{'ok':![],'severity':'error','message':'Couldn\x27t\x20ensure\x20appium-webdriveragent:\x20'+_0x1bcbe9['error'],'remediation':_0x541a82(0x2ff),'details':{'status':_0x1bcbe9[_0x541a82(0x416)]}};}),_0x22a4fa=excludeRuntimeChecks||!screenRecordingStatus||_0x26baa2?.['target']!=='device'?null:_0x2c631d('screen-recording-permission',_0x1c3051(0x473),async()=>{const _0x1cd1d5=_0x1c3051,_0x1de7f5=screenRecordingStatus();if(_0x1de7f5===_0x1cd1d5(0x17c))return{'ok':!![],'severity':'info','message':'Screen\x20Recording\x20granted\x20—\x20session\x20video\x20will\x20record.','details':{'status':_0x1de7f5}};const _0x1a40bd=_0x1de7f5===_0x1cd1d5(0x302)?'Screen\x20Recording\x20not\x20yet\x20verified\x20—\x20a\x20macOS\x20dialog\x20appears\x20the\x20first\x20time\x20Ceraph\x20drives\x20the\x20device\x20(click\x20Allow;\x20no\x20Settings\x20navigation\x20needed).\x20Session\x20video\x20only;\x20tests\x20run\x20regardless.':_0x1cd1d5(0x347);return{'ok':![],'severity':'warning','message':_0x1a40bd,'remediation':_0x512dbf,'details':{'status':_0x1de7f5}};}),_0xd8aaac=excludeRuntimeChecks?null:_0x12e798?_0x2c631d('app-installed','error',async()=>{const _0x4ed93e=_0x1c3051,_0x37ef3e=await _0x50fc4c['listInstalledApps']();if(!_0x37ef3e[_0x4ed93e(0x33f)])return{'ok':![],'severity':_0x4ed93e(0x51e),'message':'Could\x20not\x20list\x20installed\x20apps:\x20'+(_0x37ef3e['error']??_0x4ed93e(0x55f)),'remediation':'Ensure\x20your\x20device\x20is\x20connected\x20and\x20Xcode\x20is\x20installed\x20(`xcrun\x20devicectl\x20list\x20devices`).'};const _0x24c13b=_0x37ef3e['apps']['find'](_0x3caf4f=>_0x3caf4f['bundleId']===_0x12e798);if(_0x24c13b)return{'ok':!![],'severity':_0x4ed93e(0x51e),'message':_0x4ed93e(0x4dc)+_0x12e798+'\x20is\x20installed\x20('+_0x24c13b[_0x4ed93e(0x34d)]+(_0x24c13b['version']?'\x20v'+_0x24c13b['version']:'')+').','details':{'bundleId':_0x12e798,'name':_0x24c13b[_0x4ed93e(0x34d)],'version':_0x24c13b[_0x4ed93e(0x484)]}};return{'ok':![],'severity':'error','message':_0x4ed93e(0x4dc)+_0x12e798+_0x4ed93e(0x41a),'remediation':'Build\x20and\x20install\x20the\x20app:\x20`expo\x20run:ios\x20--device\x20<udid>`\x20or\x20`npx\x20react-native\x20run-ios\x20--udid\x20<udid>`.','details':{'bundleId':_0x12e798,'installedCount':_0x37ef3e['apps']['length']}};}):Promise[_0x1c3051(0x22f)]({'name':'app-installed','ok':!![],'severity':'info','message':_0x1c3051(0x580)}),_0x2243e9=excludeRuntimeChecks?null:_0x574f04&&_0x574f04['length']>0x0?_0x2c631d('required-env-vars','error',async()=>{const _0x32cfef=_0x1c3051,_0x324579=_0x574f04['filter'](_0x1c014b=>{const _0x28a055=process.env[_0x1c014b];return _0x28a055===void 0x0||_0x28a055==='';});if(_0x324579[_0x32cfef(0x471)]===0x0)return{'ok':!![],'severity':'error','message':_0x32cfef(0x490)+_0x574f04['length']+'\x20required\x20env\x20var(s)\x20present.','details':{'required':_0x574f04}};return{'ok':![],'severity':_0x32cfef(0x51e),'message':_0x32cfef(0x364)+_0x324579['join'](',\x20')+'.','remediation':'Set\x20the\x20missing\x20vars\x20before\x20running:\x20'+_0x324579[_0x32cfef(0x362)](_0x360e6d=>'export\x20'+_0x360e6d+'=...')[_0x32cfef(0x3aa)](';\x20')+'\x20(or\x20add\x20them\x20to\x20.env.local).','details':{'missing':_0x324579,'required':_0x574f04}};}):Promise[_0x1c3051(0x22f)]({'name':_0x1c3051(0x1f2),'ok':!![],'severity':_0x1c3051(0x287),'message':_0x1c3051(0x25b)}),_0x45f2ab=excludeRuntimeChecks?null:_0x2c631d(_0x1c3051(0x3cc),'warning',async()=>{const _0x26cc25=_0x1c3051;if(_0x26cc25(0x422)!=='rokuf'){const [_0x30b90b,_0x1712fa]=await Promise['all']([_0x19903d(),_0xe72c4d()]),_0x23fc7e={'ssid':_0x30b90b,'ip':_0x1712fa};if(_0xdccb18&&_0x30b90b&&_0x30b90b!==_0xdccb18)return{'ok':![],'severity':'warning','message':'Laptop\x20is\x20on\x20WiFi\x20\x27'+_0x30b90b+'\x27\x20at\x20'+(_0x1712fa??_0x26cc25(0x2bf))+_0x26cc25(0x3b6)+_0xdccb18+'\x27.','remediation':'Join\x20the\x20same\x20WiFi\x20network\x20as\x20your\x20phone,\x20or\x20update\x20the\x20expectedNetwork\x20doctor\x20option.','details':_0x23fc7e};return{'ok':!![],'severity':_0x26cc25(0x287),'message':'Laptop\x20is\x20on\x20WiFi\x20\x27'+(_0x30b90b??_0x26cc25(0x350))+'\x27\x20at\x20'+(_0x1712fa??'<no\x20IP>')+'.\x20If\x20you\x20see\x20network\x20timeout\x20errors\x20during\x20the\x20run,\x20verify\x20your\x20phone\x20is\x20on\x20the\x20same\x20network.','details':_0x23fc7e};}else return{'kind':_0x26cc25(0x37b),'filePath':_0x2c877a};}),_0x2f7122=excludeRuntimeChecks?null:Promise['resolve']({'name':_0x1c3051(0x4ef),'ok':!![],'severity':'info','message':'Permission\x20interceptor\x20middleware\x20is\x20wired.\x20iOS\x20system\x20permission\x20dialogs\x20will\x20be\x20auto-accepted\x20during\x20flows\x20(configurable\x20via\x20the\x20`CERAPH_AUTO_ACCEPT_PERMISSIONS`\x20env\x20var:\x20`auto-accept`\x20|\x20`ask`\x20|\x20`off`).'}),_0xaeac06=await Promise['all']([_0x50b1b8,_0x1f9dbd,_0x2df9aa,_0x280eb3,_0x66edfe,_0x1d30cb,_0x16766f,_0xd8aaac,_0x2243e9,_0x45f2ab,_0x2f7122,_0x194246,_0x5d9dd3,_0x22a4fa,_0x188db3,_0x471f5a,_0x6cdefc][_0x1c3051(0x235)](_0x17b54b=>_0x17b54b!==null)),_0x3187b7=!_0xaeac06[_0x1c3051(0x28e)](_0x21bc69=>_0x21bc69[_0x1c3051(0x22d)]==='error'&&!_0x21bc69['ok']),_0x3de71d=_0xaeac06['find'](_0x35d712=>_0x35d712[_0x1c3051(0x34d)]===_0x1c3051(0x44d));let _0x3ee002;return _0x3de71d&&(_0x3c2746?_0x3ee002=void 0x0:_0x3ee002=_0x3de71d['ok']),{'ok':_0x3187b7,'checks':_0xaeac06,'ffmpegInstalled':_0x3ee002};}var _0x4b9362,_0x3d54da,_0xd8d791,_0x2cd4f8=_0x4d3071({'src/doctor.ts'(){'use strict';const _0x3573e0=_0x5ccc4b;_0x3eb806(),_0x4bd0b6(),_0x49dabf(),_0x4b9362=['app',_0x3573e0(0x2ce),'screens'],_0x3d54da=new Set([_0x3573e0(0x3b3),'.jsx']),_0xd8d791=new Set([_0x3573e0(0x1b8),_0x3573e0(0x42c),'build','.git','.ceraph',_0x3573e0(0x4c6),_0x3573e0(0x528),_0x3573e0(0x4b3),'android']);}}),_0x3482ec,_0x304ac8,_0x58c37d,_0x1b1309,_0x41cfcf,_0xf5693,_0x4c2ca2,_0x122d85,_0x413b65,_0x103dd1=_0x4d3071({'src/init/claude-hook-constants.ts'(){'use strict';const _0x24357b=_0x5ccc4b;_0x3482ec=_0x24357b(0x427),_0x304ac8='#!/bin/bash\x0a#\x20rn-flow-progress-notify.sh\x20—\x20Injected\x20by\x20@ceraph/react-native-mcp\x20init\x0a#\x20Reads\x20.rn-flow-progress.json\x20and\x20injects\x20a\x20one-line\x20heartbeat\x20into\x0a#\x20Claude\x27s\x20context.\x20HEARTBEAT\x20ONLY\x20—\x20no\x20step-level\x20failure\x20details.\x0a\x0aENTRY_FILE=\x22$CLAUDE_PROJECT_DIR/mobile/.rn-flow-progress.json\x22\x0aif\x20[\x20!\x20-f\x20\x22$ENTRY_FILE\x22\x20];\x20then\x0a\x20\x20ENTRY_FILE=\x22$CLAUDE_PROJECT_DIR/.rn-flow-progress.json\x22\x0afi\x0aif\x20[\x20!\x20-f\x20\x22$ENTRY_FILE\x22\x20];\x20then\x0a\x20\x20exit\x200\x0afi\x0a\x0a#\x20If\x20jq\x20isn\x27t\x20installed,\x20exit\x20quietly\x20—\x20the\x20heartbeat\x20is\x20best-effort.\x0aif\x20!\x20command\x20-v\x20jq\x20>/dev/null\x202>&1;\x20then\x0a\x20\x20exit\x200\x0afi\x0a\x0aENTRY=$(jq\x20-r\x20\x27.entry\x27\x20\x22$ENTRY_FILE\x22\x202>/dev/null)\x0aif\x20[\x20\x22$ENTRY\x22\x20=\x20\x22null\x22\x20]\x20||\x20[\x20-z\x20\x22$ENTRY\x22\x20];\x20then\x0a\x20\x20exit\x200\x0afi\x0a\x0a#\x20jq\x20\x27//\x20\x22\x22\x27\x20(works\x20in\x20jq\x201.4+;\x20\x22//\x20empty\x22\x20needed\x201.5+\x20and\x20would\x20have\x0a#\x20silently\x20aborted\x20older\x20shells)\x20makes\x20jq\x20emit\x20an\x20empty\x20string\x20for\x0a#\x20missing\x20fields\x20rather\x20than\x20the\x20literal\x20\x22null\x22.\x20Defaults\x20below\x20keep\x0a#\x20set\x20-e\x20shells\x20happy\x20in\x20the\x20arithmetic\x20+\x20awk\x20expansions\x20even\x20when\x0a#\x20the\x20entry\x20is\x20partial\x20(transient\x20state\x20if\x20the\x20file\x20is\x20read\x0a#\x20mid-write).\x0aFLOW=$(jq\x20-r\x20\x27.entry.flow\x20//\x20\x22\x22\x27\x20\x22$ENTRY_FILE\x22\x202>/dev/null)\x0aINDEX=$(jq\x20-r\x20\x27.entry.index\x20//\x20\x22\x22\x27\x20\x22$ENTRY_FILE\x22\x202>/dev/null)\x0aTOTAL=$(jq\x20-r\x20\x27.entry.total\x20//\x20\x22\x22\x27\x20\x22$ENTRY_FILE\x22\x202>/dev/null)\x0aSUCCESS=$(jq\x20-r\x20\x27.entry.success\x20//\x20\x22\x22\x27\x20\x22$ENTRY_FILE\x22\x202>/dev/null)\x0aDURATION=$(jq\x20-r\x20\x27.entry.durationMs\x20//\x20\x22\x22\x27\x20\x22$ENTRY_FILE\x22\x202>/dev/null)\x0a\x0aINDEX=${INDEX:-0}\x0aTOTAL=${TOTAL:-0}\x0aDURATION=${DURATION:-0}\x0aFLOW=${FLOW:-unknown}\x0a\x0aDISPLAY_INDEX=$((INDEX\x20+\x201))\x0aif\x20[\x20\x22$SUCCESS\x22\x20=\x20\x22true\x22\x20];\x20then\x0a\x20\x20STATUS=\x22passed\x22\x0aelse\x0a\x20\x20STATUS=\x22failed\x22\x0afi\x0a\x0aecho\x20\x22Flow\x20$DISPLAY_INDEX/$TOTAL\x20—\x20$FLOW:\x20$STATUS\x20in\x20$(awk\x20\x22BEGIN\x20{printf\x20\x5c\x22%.1f\x5c\x22,\x20$DURATION/1000}\x22)s\x22\x0aecho\x20\x22(Wait\x20for\x20the\x20end-of-run\x20summary\x20before\x20making\x20any\x20code\x20changes\x20—\x20the\x20flows\x20in\x20this\x20run\x20reference\x20your\x20pre-edit\x20code.)\x22\x0a',_0x58c37d=['.claude',_0x24357b(0x574),_0x24357b(0x405)],_0x1b1309=[_0x24357b(0x4fd),_0x24357b(0x574),_0x24357b(0x3d8)],_0x41cfcf='.rn-errors.json',_0xf5693=_0x24357b(0x4b2),_0x4c2ca2=_0x24357b(0x32f),_0x122d85=_0x24357b(0x44f),_0x413b65=[[_0x24357b(0x4fd),'settings.json'],['.claude','settings.local.json']];}});import{chmod,rename,stat as _0x2fec1e,unlink,writeFile as _0x4167b2}from'fs/promises';import{dirname as _0x2aebd1,join as _0x262d82}from'path';async function _0x182e89(_0x43204f,_0x2a232b){const _0x35a987=_0x5ccc4b,_0x2bfa76=_0x2aebd1(_0x43204f),_0x11f4aa=_0x262d82(_0x2bfa76,_0x43204f[_0x35a987(0x54d)](_0x2bfa76['length']+0x1)+'.tmp.'+process['pid']+'.'+Math[_0x35a987(0x4c9)]()[_0x35a987(0x2a9)](0x24)['slice'](0x2));let _0x22d5e3;try{const _0x260e25=await _0x2fec1e(_0x43204f);_0x22d5e3=_0x260e25[_0x35a987(0x508)]&0x1ff;}catch{}try{await _0x4167b2(_0x11f4aa,_0x2a232b,'utf-8'),_0x22d5e3!==void 0x0&&await chmod(_0x11f4aa,_0x22d5e3),await rename(_0x11f4aa,_0x43204f);}catch(_0x74b369){try{'xBWCt'==='xBWCt'?await unlink(_0x11f4aa):(this[_0x35a987(0x196)]=null,this['inflight']=null,this[_0x35a987(0x2bc)]=null,this['simulatorWdaUdid']=null,this[_0x35a987(0x1a0)][_0x35a987(0x141)](),this[_0x35a987(0x3b2)]['clear'](),this['stateVersion']++);}catch{}throw _0x74b369;}}var _0x2f5028=_0x4d3071({'src/utils/atomic-write.ts'(){'use strict';}});import{readFile as _0x5142f6}from'fs/promises';async function _0x40a1b0(_0x5a8df6){const _0x669b26=_0x5ccc4b;let _0x5b1ae4;try{_0x5b1ae4=await _0x5142f6(_0x5a8df6,'utf-8');}catch(_0x4a6439){const _0x437eff=_0x4a6439;if(_0x437eff&&_0x437eff['code']==='ENOENT')return{'kind':_0x669b26(0x569)};throw _0x4a6439;}try{return{'kind':'ok','value':JSON['parse'](_0x5b1ae4)};}catch(_0x4d52d1){return{'kind':_0x669b26(0x28c),'raw':_0x5b1ae4,'error':_0x4d52d1};}}function _0x1daa49(_0x4af3f9){const _0x345290=_0x5ccc4b;return _0x4af3f9!=null&&typeof _0x4af3f9==='object'&&!Array[_0x345290(0x178)](_0x4af3f9);}var _0x229532=_0x4d3071({'src/utils/json-config.ts'(){'use strict';}});import{mkdir as _0x43ffa0}from'fs/promises';import{join as _0x4a02e2}from'path';async function _0x5463e3(_0xf502fd){const _0x14d0b8=_0x5ccc4b,_0x401baf=_0x4a02e2(_0xf502fd,..._0x35a7fe),_0x3ba9e0=await _0x40a1b0(_0x401baf);if(_0x3ba9e0[_0x14d0b8(0x2b7)]===_0x14d0b8(0x28c))return{'status':_0x14d0b8(0x3a8),'settingsPath':_0x401baf,'reason':_0x14d0b8(0x38c)+_0x401baf+'\x20is\x20malformed\x20JSON\x20—\x20preserved;\x20fix\x20it\x20manually\x20then\x20re-run'};if(_0x3ba9e0['kind']==='ok'&&!_0x1daa49(_0x3ba9e0[_0x14d0b8(0x389)]))return{'status':'preserved','settingsPath':_0x401baf,'reason':_0x14d0b8(0x38c)+_0x401baf+_0x14d0b8(0x513)+(Array[_0x14d0b8(0x178)](_0x3ba9e0[_0x14d0b8(0x389)])?'array':typeof _0x3ba9e0[_0x14d0b8(0x389)])+_0x14d0b8(0x4e1)};const _0x2f4a4a=_0x3ba9e0['kind']==='ok'?_0x3ba9e0['value']:{};if(_0x2f4a4a[_0x14d0b8(0x2f9)]===!![])return{'status':'already-approved','settingsPath':_0x401baf};const _0x4bf731=_0x2f4a4a['enabledMcpjsonServers'];if(_0x4bf731!==void 0x0){if(!Array[_0x14d0b8(0x178)](_0x4bf731)||!_0x4bf731['every'](_0x35c545=>typeof _0x35c545==='string'))return{'status':_0x14d0b8(0x3a8),'settingsPath':_0x401baf,'reason':_0x14d0b8(0x186)+_0x401baf+'\x20is\x20not\x20an\x20array\x20of\x20strings\x20—\x20preserved'};if(_0x4bf731[_0x14d0b8(0x26f)](_0x141574))return _0x14d0b8(0x4fe)!==_0x14d0b8(0x4fe)?(_0x334126['scheme']=_0x160fb5,{'action':'added','scheme':_0x448b0f,'previousScheme':void 0x0,'nextScheme':[_0x1df246]}):{'status':'already-approved','settingsPath':_0x401baf};}const _0x40bf81=Array['isArray'](_0x4bf731)?[..._0x4bf731,_0x141574]:[_0x141574];return _0x2f4a4a[_0x14d0b8(0x439)]=_0x40bf81,await _0x43ffa0(_0x4a02e2(_0xf502fd,_0x14d0b8(0x4fd)),{'recursive':!![]}),await _0x182e89(_0x401baf,JSON['stringify'](_0x2f4a4a,null,0x2)+'\x0a'),{'status':'approved','settingsPath':_0x401baf};}var _0x141574,_0x35a7fe,_0x5c2b33=_0x4d3071({'src/init/claude-preapproval.ts'(){'use strict';const _0x301019=_0x5ccc4b;_0x2f5028(),_0x229532(),_0x141574=_0x301019(0x28a),_0x35a7fe=[_0x301019(0x4fd),_0x301019(0x505)];}});import{readFile as _0xedbfdc,unlink as _0x539133,access as _0x1b363a}from'fs/promises';import{homedir as _0x569270}from'os';import{join as _0x4c155c}from'path';function _0x3409ed(_0x23aaf4){const _0xda9777=_0x5ccc4b,_0x1db369=_0x23aaf4??_0x569270();return _0x32a964['map'](_0x1250ca=>({'label':_0x1250ca[_0xda9777(0x3bb)],'path':_0x4c155c(_0x1db369,..._0x1250ca['file'])}));}async function _0x366d55(_0x498119){const _0x20d6e6=_0x5ccc4b;try{return await _0x1b363a(_0x498119),!![];}catch{return'wwhRi'===_0x20d6e6(0x45d)?![]:{'success':![],'error':_0x20d6e6(0x304)};}}async function _0x119630(_0x141de5,_0x484747={}){const _0x2dc702=_0x5ccc4b,_0x2cd441=_0x484747['readFile']??(_0x54486a=>_0xedbfdc(_0x54486a,_0x2dc702(0x449))),_0x441f7c=_0x484747[_0x2dc702(0x330)]??_0x182e89,_0x5f411a=_0x484747[_0x2dc702(0x288)]??(_0x45cf09=>_0x539133(_0x45cf09)),_0x175cb4=_0x484747[_0x2dc702(0x318)]??_0x366d55,_0xf42ced=[];for(const _0x30f1a4 of _0x16ef5a){const _0x1cb31b=_0x4c155c(_0x141de5,_0x30f1a4);if(!await _0x175cb4(_0x1cb31b)){_0xf42ced['push']({'path':_0x1cb31b,'status':_0x2dc702(0x45e)});continue;}_0xf42ced[_0x2dc702(0x359)](await _0x4bd547(_0x1cb31b,{'read':_0x2cd441,'write':_0x441f7c,'unlink':_0x5f411a}));}for(const _0x17ed5d of _0x3ece5a){const _0x45b93d=_0x4c155c(_0x141de5,_0x17ed5d);if(!await _0x175cb4(_0x45b93d)){_0xf42ced['push']({'path':_0x45b93d,'status':_0x2dc702(0x45e)});continue;}_0xf42ced[_0x2dc702(0x359)](await _0x255c3e(_0x45b93d,{'read':_0x2cd441,'write':_0x441f7c,'unlink':_0x5f411a}));}const _0x1cde1a=_0x4c155c(_0x141de5,_0x56b0a1);return!await _0x175cb4(_0x1cde1a)?_0xf42ced['push']({'path':_0x1cde1a,'status':'not-found'}):_0xf42ced[_0x2dc702(0x359)](await _0x1a83cf(_0x1cde1a,{'read':_0x2cd441,'write':_0x441f7c,'unlink':_0x5f411a})),{'files':_0xf42ced};}async function _0x4bd547(_0x46f095,_0xfe9758){const _0x327be3=_0x5ccc4b,_0x1aa07a=await _0xfe9758[_0x327be3(0x421)](_0x46f095);let _0x59f2fe;try{'KDxVE'===_0x327be3(0x177)?_0x59f2fe=JSON[_0x327be3(0x398)](_0x1aa07a):_0x6cb6eb['push'](_0x4a3a2e+':\x20'+_0x2cd4b0(_0x2a8647));}catch{return{'path':_0x46f095,'status':_0x327be3(0x28c)};}if(!_0x59f2fe||typeof _0x59f2fe!=='object'||Array[_0x327be3(0x178)](_0x59f2fe))return{'path':_0x46f095,'status':_0x327be3(0x28c)};const _0x4e7f47=_0x59f2fe,_0x323e16=_0x4e7f47[_0x327be3(0x544)];if(!_0x323e16||typeof _0x323e16!=='object'||Array['isArray'](_0x323e16))return{'path':_0x46f095,'status':_0x327be3(0x4b0)};const _0x2143cc=_0x323e16,_0x5f3d86=[];for(const _0x30fff7 of _0x245b28){_0x30fff7 in _0x2143cc&&(delete _0x2143cc[_0x30fff7],_0x5f3d86[_0x327be3(0x359)](_0x30fff7));}if(_0x5f3d86['length']===0x0)return{'path':_0x46f095,'status':'no-changes'};const _0x550499=Object['keys'](_0x4e7f47)['filter'](_0x28ac58=>_0x28ac58!=='mcpServers'),_0x617c52=Object[_0x327be3(0x250)](_0x2143cc)[_0x327be3(0x471)]===0x0;if(_0x617c52&&_0x550499[_0x327be3(0x471)]===0x0)return await _0xfe9758[_0x327be3(0x288)](_0x46f095),{'path':_0x46f095,'status':'deleted-file','removedKeys':_0x5f3d86};const _0x219d52=_0x1aa07a['match'](/\n(\s+)"/),_0x386374=_0x219d52?.[0x1]??'\x20\x20',_0x166c2a=_0x1aa07a['endsWith']('\x0a'),_0x3fc9e8=JSON['stringify'](_0x4e7f47,null,_0x386374);return await _0xfe9758['write'](_0x46f095,_0x166c2a?_0x3fc9e8+'\x0a':_0x3fc9e8),{'path':_0x46f095,'status':_0x327be3(0x182),'removedKeys':_0x5f3d86};}async function _0x1a83cf(_0x4a9248,_0x3f807f){const _0x4b3025=_0x5ccc4b,_0x5531df=await _0x3f807f[_0x4b3025(0x421)](_0x4a9248);let _0x321843;try{_0x321843=JSON[_0x4b3025(0x398)](_0x5531df);}catch{return{'path':_0x4a9248,'status':_0x4b3025(0x28c)};}if(!_0x321843||typeof _0x321843!=='object'||Array[_0x4b3025(0x178)](_0x321843))return{'path':_0x4a9248,'status':'malformed'};const _0x400f4e=_0x321843,_0x43fe57=_0x400f4e[_0x4b3025(0x439)];if(!Array['isArray'](_0x43fe57)||!_0x43fe57['includes'](_0x141574))return{'path':_0x4a9248,'status':'no-changes'};const _0x3e70a3=_0x43fe57[_0x4b3025(0x235)](_0xabad1f=>_0xabad1f!==_0x141574);_0x3e70a3['length']===0x0?delete _0x400f4e['enabledMcpjsonServers']:_0x400f4e['enabledMcpjsonServers']=_0x3e70a3;if(Object[_0x4b3025(0x250)](_0x400f4e)['length']===0x0)return await _0x3f807f['unlink'](_0x4a9248),{'path':_0x4a9248,'status':_0x4b3025(0x206),'removedKeys':[_0x141574]};const _0x250b94=_0x5531df['match'](/\n(\s+)"/),_0x56250a=_0x250b94?.[0x1]??'\x20\x20',_0x1f4385=_0x5531df[_0x4b3025(0x227)]('\x0a'),_0x88afbf=JSON['stringify'](_0x400f4e,null,_0x56250a);return await _0x3f807f['write'](_0x4a9248,_0x1f4385?_0x88afbf+'\x0a':_0x88afbf),{'path':_0x4a9248,'status':_0x4b3025(0x182),'removedKeys':[_0x141574]};}function _0x3298a5(_0x57a68e,_0x599124){const _0x9f4b4b=_0x5ccc4b,_0x2e3fa9=_0x57a68e['split'](/\r?\n/),_0x2a520f=_0x57a68e['endsWith']('\x0a');if(_0x2a520f&&_0x2e3fa9['length']>0x0&&_0x2e3fa9[_0x2e3fa9[_0x9f4b4b(0x471)]-0x1]===''){if('KLasN'===_0x9f4b4b(0x566))_0x2e3fa9['pop']();else return{'ok':!![],'severity':'info','message':_0x9f4b4b(0x345)};}const _0x363794=[],_0x4b3c0c=[];let _0x4db61b=![],_0x58ba1=![];for(let _0x28d2fe=0x0;_0x28d2fe<_0x2e3fa9[_0x9f4b4b(0x471)];_0x28d2fe++){const _0x4696d6=_0x2e3fa9[_0x28d2fe],_0x2fc6be=_0x4696d6['trim'](),_0x28aa30=_0x2fc6be[_0x9f4b4b(0x425)]('[')&&_0x2fc6be[_0x9f4b4b(0x227)](']');if(_0x28aa30){if('CyNyY'!==_0x9f4b4b(0x464)){const _0x4b1115=_0x2fc6be['slice'](0x1,-0x1)[_0x9f4b4b(0x1cd)](),_0x2388f8=_0x599124[_0x9f4b4b(0x466)](_0x4b1115);if(_0x2388f8){_0x363794['length']>0x0&&_0x363794[_0x363794['length']-0x1]===''&&_0x363794['pop']();const _0x301e3c=_0x4b1115[_0x9f4b4b(0x425)](_0x9f4b4b(0x4e6))?_0x4b1115[_0x9f4b4b(0x54d)]('mcp_servers.'[_0x9f4b4b(0x471)]):_0x4b1115;_0x4b3c0c[_0x9f4b4b(0x359)](_0x301e3c),_0x4db61b=!![],_0x58ba1=![];continue;}(_0x4db61b||_0x58ba1)&&_0x363794[_0x9f4b4b(0x471)]>0x0&&_0x363794[_0x363794[_0x9f4b4b(0x471)]-0x1]!==''&&_0x363794['push']('');_0x4db61b=![],_0x58ba1=![],_0x363794['push'](_0x4696d6);continue;}else _0x27346b=![],_0x260170='iproxy\x20auto-bridge\x20failed\x20to\x20start:\x20'+(_0x33834f['stderr']?.[0x0]??_0x9f4b4b(0x55f))+'.',_0x409740=_0x9f4b4b(0x35a),_0x14b343={'stderr':_0xca13c2[_0x9f4b4b(0x4ca)]};}if(_0x4db61b){_0x58ba1=!![];continue;}if(_0x58ba1){if(_0x2fc6be==='')continue;_0x363794['length']>0x0&&_0x363794[_0x363794['length']-0x1]!==''&&_0x363794[_0x9f4b4b(0x359)]('');_0x58ba1=![],_0x363794[_0x9f4b4b(0x359)](_0x4696d6);continue;}_0x363794[_0x9f4b4b(0x359)](_0x4696d6);}while(_0x363794['length']>0x0&&_0x363794[_0x363794['length']-0x1]===''){_0x363794[_0x9f4b4b(0x53b)]();}const _0x59d47b=_0x363794[_0x9f4b4b(0x3aa)]('\x0a'),_0x2ad6de=_0x2a520f&&_0x59d47b['length']>0x0?_0x59d47b+'\x0a':_0x59d47b;return{'next':_0x2ad6de,'removedKeys':_0x4b3c0c};}async function _0x255c3e(_0x5c412a,_0x30767e){const _0x25d8bb=_0x5ccc4b,_0x2bb2ef=await _0x30767e[_0x25d8bb(0x421)](_0x5c412a),_0x33553c=new Set(_0x245b28['map'](_0x105cb9=>'mcp_servers.'+_0x105cb9)),{next:_0x450347,removedKeys:_0x24257f}=_0x3298a5(_0x2bb2ef,_0x33553c);if(_0x24257f[_0x25d8bb(0x471)]===0x0)return{'path':_0x5c412a,'status':_0x25d8bb(0x4b0)};if(_0x450347['trim']()['length']===0x0)return await _0x30767e[_0x25d8bb(0x288)](_0x5c412a),{'path':_0x5c412a,'status':'deleted-file','removedKeys':_0x24257f};return await _0x30767e[_0x25d8bb(0x2c9)](_0x5c412a,_0x450347),{'path':_0x5c412a,'status':_0x25d8bb(0x182),'removedKeys':_0x24257f};}async function _0x4baf00(_0x22d703={}){const _0x5219b5=_0x5ccc4b,_0xbb8c63=_0x22d703['readFile']??(_0x3de249=>_0xedbfdc(_0x3de249,_0x5219b5(0x449))),_0xcc6fe7=_0x22d703[_0x5219b5(0x330)]??_0x182e89,_0x1f12ff=_0x22d703['unlink']??(_0x79c77e=>_0x539133(_0x79c77e)),_0xd97c35=_0x22d703['fileExists']??_0x366d55,_0x1068aa=[];for(const {path:_0x546f3f}of _0x3409ed(_0x22d703[_0x5219b5(0x278)])){if(!await _0xd97c35(_0x546f3f)){_0x1068aa['push']({'path':_0x546f3f,'status':_0x5219b5(0x45e)});continue;}_0x1068aa['push'](await _0x4bd547(_0x546f3f,{'read':_0xbb8c63,'write':_0xcc6fe7,'unlink':_0x1f12ff}));}return{'files':_0x1068aa};}var _0x16ef5a,_0x3ece5a,_0x56b0a1,_0x32a964,_0x245b28,_0x3e10cf,_0x15447a=_0x4d3071({'src/uninstall/revert-mcp-clients.ts'(){'use strict';const _0x32f6e6=_0x5ccc4b;_0x2f5028(),_0x5c2b33(),_0x16ef5a=[_0x32f6e6(0x244),_0x4c155c(_0x32f6e6(0x323),'mcp.json'),_0x4c155c(_0x32f6e6(0x24e),_0x32f6e6(0x1ed))],_0x3ece5a=[_0x4c155c(_0x32f6e6(0x53f),_0x32f6e6(0x29e))],_0x56b0a1=_0x4c155c('.claude',_0x32f6e6(0x505)),_0x32a964=[{'label':'Windsurf','dir':[_0x32f6e6(0x542),'windsurf'],'file':[_0x32f6e6(0x542),'windsurf',_0x32f6e6(0x15a)]},{'label':_0x32f6e6(0x146),'dir':['.gemini','antigravity'],'file':[_0x32f6e6(0x258),_0x32f6e6(0x435),_0x32f6e6(0x15a)]}],_0x245b28=['mobile-mcp',_0x32f6e6(0x28a)],_0x3e10cf=['mobile-mcp'];}}),_0x537b6c={};_0x22ce2d(_0x537b6c,{'runInit':()=>_0x2f1474,'setupClaudeHook':()=>_0x3d991e,'setupCodexToml':()=>_0x1b7299,'setupJsonMcp':()=>_0x1a430f,'setupMcpClients':()=>_0x520d9c});import{readFile as _0x124659,writeFile as _0x79be54,mkdir as _0x5666ff,access as _0x531a7d,chmod as _0x2c2c01}from'fs/promises';import{join as _0x32f9f4}from'path';async function _0xf74da4(_0x20cfda){try{return await _0x531a7d(_0x20cfda),!![];}catch{return![];}}async function _0x2cd518(_0x239560,_0x13ab69){const _0x17cf57=_0x5ccc4b;await _0x5666ff(_0x32f9f4(_0x239560,'..'),{'recursive':!![]}),await _0x182e89(_0x239560,JSON[_0x17cf57(0x2ba)](_0x13ab69,null,0x2)+'\x0a');}function _0x2d4ce(_0x416697){console['log']('\x20\x20'+_0x416697);}async function _0x1a430f(_0x767e37,_0x2de6a1){const _0x5626b6=_0x5ccc4b,_0x53676c=await _0x40a1b0(_0x767e37);if(_0x53676c[_0x5626b6(0x2b7)]==='malformed')return _0x2d4ce(_0x2de6a1+_0x5626b6(0x47b)+_0x767e37+_0x5626b6(0x47d)),![];const _0x25d61a=_0x53676c['kind']==='ok'?_0x53676c[_0x5626b6(0x389)]:{};if(_0x53676c['kind']==='ok'&&!_0x1daa49(_0x25d61a))return'qvxDL'===_0x5626b6(0x290)?(_0x2d4ce(_0x2de6a1+_0x5626b6(0x47b)+_0x767e37+_0x5626b6(0x513)+(Array['isArray'](_0x25d61a)?'array':typeof _0x25d61a)+_0x5626b6(0x4f5)),![]):null;const _0x3d0258=_0x1daa49(_0x25d61a)?_0x25d61a:{},_0x471266=_0x3d0258[_0x5626b6(0x544)];if(_0x471266!==void 0x0&&!_0x1daa49(_0x471266))return _0x2d4ce(_0x2de6a1+':\x20existing\x20mcpServers\x20in\x20'+_0x767e37+'\x20is\x20not\x20a\x20JSON\x20object\x20(got\x20'+(Array[_0x5626b6(0x178)](_0x471266)?_0x5626b6(0x4ea):typeof _0x471266)+')\x20—\x20preserving\x20the\x20file.'),![];const _0x49f145=_0x1daa49(_0x471266)?_0x471266:{};let _0x1f5a19=![];for(const _0x1aad66 of _0x3e10cf){_0x1aad66 in _0x49f145&&(delete _0x49f145[_0x1aad66],_0x1f5a19=!![]);}const _0x218576=Boolean(_0x49f145['react-native-mcp']);if(_0x218576&&!_0x1f5a19)return _0x2d4ce(_0x2de6a1+_0x5626b6(0x1bd)),![];return _0x49f145['react-native-mcp']=_0x48e0b2['react-native-mcp'],_0x3d0258['mcpServers']=_0x49f145,await _0x2cd518(_0x767e37,_0x3d0258),_0x2d4ce(_0x2de6a1+_0x5626b6(0x415)),!![];}async function _0x1b7299(_0x1d266d){const _0x4742d2=_0x5ccc4b;let _0x1b0ac6='';try{if('qCKpU'!=='MylNj')_0x1b0ac6=await _0x124659(_0x1d266d,_0x4742d2(0x449));else{const _0x35beba=_0x1ce850[_0x4742d2(0x19c)]('react');if(!_0x35beba)return _0x2b9feb['addImportDeclaration']({'moduleSpecifier':'react','namedImports':['useEffect']}),!![];const _0x15256c=_0x35beba['getNamedImports']();if(!_0x15256c[_0x4742d2(0x28e)](_0x85d803=>_0x85d803['getName']()===_0x4742d2(0x2b5)))return _0x35beba[_0x4742d2(0x2eb)](_0x4742d2(0x2b5)),!![];return![];}}catch{}const _0x5b07d1=new Set(_0x3e10cf[_0x4742d2(0x362)](_0x3e5d24=>'mcp_servers.'+_0x3e5d24)),_0x38b116=_0x3298a5(_0x1b0ac6,_0x5b07d1);_0x1b0ac6=_0x38b116[_0x4742d2(0x4ec)];const _0x9f22e4=_0x38b116[_0x4742d2(0x1c6)][_0x4742d2(0x471)]>0x0,_0x4bc6e8=_0x1b0ac6[_0x4742d2(0x26f)](_0x4742d2(0x168));if(_0x4bc6e8&&!_0x9f22e4)return _0x2d4ce(_0x4742d2(0x20e)),![];if(!_0x4bc6e8){const _0x2ea5fa='\x0a[mcp_servers.react-native-mcp]\x0acommand\x20=\x20\x22npx\x22\x0aargs\x20=\x20[\x22-y\x22,\x20\x22@ceraph/react-native-mcp@latest\x22]\x0a';_0x1b0ac6=_0x1b0ac6+_0x2ea5fa;}return await _0x5666ff(_0x32f9f4(_0x1d266d,'..'),{'recursive':!![]}),await _0x182e89(_0x1d266d,_0x1b0ac6),_0x2d4ce('Codex:\x20configured\x20✓'),!![];}async function _0x3d991e(_0x5d0de0=_0x1ccac1){const _0x5751b2=_0x5ccc4b,_0x304c8d=_0x32f9f4(_0x5d0de0,'.claude',_0x5751b2(0x574)),_0x1de1a9=_0x32f9f4(_0x304c8d,'rn-error-notify.sh'),_0x5d7ca9=_0x32f9f4(_0x304c8d,_0x5751b2(0x3d8));await _0x5666ff(_0x304c8d,{'recursive':!![]}),await _0x182e89(_0x1de1a9,_0x3482ec),await _0x2c2c01(_0x1de1a9,0x1ed),_0x2d4ce(_0x5751b2(0x453)),await _0x182e89(_0x5d7ca9,_0x304ac8),await _0x2c2c01(_0x5d7ca9,0x1ed),_0x2d4ce('Hook\x20script:\x20.claude/hooks/rn-flow-progress-notify.sh\x20✓');const _0x5609fd=_0x32f9f4(_0x5d0de0,'.claude','settings.json'),_0xf7728c=_0x32f9f4(_0x5d0de0,_0x5751b2(0x4fd),'settings.local.json'),_0x317f33=(_0x304fd5,_0x3a6aad,_0x25538a)=>{const _0x4e49fc=_0x5751b2;if('beely'!=='tcPPW'){const _0x48430c=_0x1daa49(_0x304fd5)?_0x304fd5:{},_0x9714bf=_0x48430c[_0x4e49fc(0x574)],_0x52d9fc=_0x1daa49(_0x9714bf)?_0x9714bf:{},_0x190d8d=_0x52d9fc[_0x4e49fc(0x22e)];if(!Array['isArray'](_0x190d8d))return _0x190d8d!==void 0x0;return _0x190d8d['some'](_0x41788a=>{const _0x558741=_0x4e49fc;if(!_0x1daa49(_0x41788a))return![];if(_0x41788a['matcher']!==_0x3a6aad)return![];const _0x2f2272=_0x41788a[_0x558741(0x574)];if(!Array[_0x558741(0x178)](_0x2f2272))return![];return _0x2f2272[_0x558741(0x28e)](_0x2d114c=>{const _0x1e5d8a=_0x558741;if(!_0x1daa49(_0x2d114c))return![];const _0x1d37f5=_0x2d114c['command'];return typeof _0x1d37f5===_0x1e5d8a(0x40a)&&_0x1d37f5===_0x25538a;});});}else{for(const _0x3a1387 of _0x1a04d2[_0x4e49fc(0x48e)])_0x34dae9[_0x4e49fc(0x532)](_0x3a1387);}},_0x1ea40c=await _0x40a1b0(_0x5609fd),_0x19250e=await _0x40a1b0(_0xf7728c);if(_0x1ea40c['kind']==='malformed'){_0x2d4ce('Claude\x20Code\x20hook:\x20'+_0x5609fd+'\x20is\x20malformed\x20JSON\x20—\x20preserving\x20it.\x20Fix\x20the\x20file\x20manually\x20then\x20re-run\x20init.');return;}if(_0x19250e['kind']===_0x5751b2(0x28c)){_0x2d4ce(_0x5751b2(0x16a)+_0xf7728c+'\x20is\x20malformed\x20JSON\x20—\x20preserving\x20it.\x20Fix\x20the\x20file\x20manually\x20then\x20re-run\x20init.');return;}const _0x5734b2=_0x1ea40c['kind']==='ok'?_0x1ea40c[_0x5751b2(0x389)]:null,_0x50111f=_0x19250e['kind']==='ok'?_0x19250e[_0x5751b2(0x389)]:null;if(_0x5734b2!==null&&!_0x1daa49(_0x5734b2)){_0x2d4ce('Claude\x20Code\x20hook:\x20'+_0x5609fd+_0x5751b2(0x585));return;}if(_0x50111f!==null&&!_0x1daa49(_0x50111f)){if(_0x5751b2(0x1ca)!==_0x5751b2(0x3cf)){_0x2d4ce('Claude\x20Code\x20hook:\x20'+_0xf7728c+_0x5751b2(0x585));return;}else{'use strict';_0x180d94=_0x5f2742(_0x490e07),_0x372cf8=new _0x1a9f7c([_0x5751b2(0x3b3),_0x5751b2(0x56d),'.jsx','.js','.cjs',_0x5751b2(0x32e),_0x5751b2(0x4bb)]),_0x5c1c7b=[/(^|\/)\.env(\.|$)/,/\.pem$/,/\.key$/,/\.p12$/,/\.pfx$/,/\.keystore$/,/\.jks$/,/\.mobileprovision$/,/(^|\/)credentials?\b/,/(^|\/)secrets?\b/,/private[_-]?key/];}}const _0xc75403=_0x5734b2??{},_0x745bcf=_0xc75403[_0x5751b2(0x574)];if(_0x745bcf!==void 0x0&&!_0x1daa49(_0x745bcf)){_0x2d4ce('Claude\x20Code\x20hook:\x20'+_0x5609fd+_0x5751b2(0x4e3));return;}const _0x147a5a=_0x1daa49(_0x745bcf)?_0x745bcf:{},_0x105d75=_0x147a5a['FileChanged'],_0xdd2230=Array['isArray'](_0x105d75)?_0x105d75:[];let _0x32a7be=![];!_0x317f33(_0x5734b2,_0x41cfcf,_0x4c2ca2)&&!_0x317f33(_0x50111f,_0x41cfcf,_0x4c2ca2)?(_0xdd2230[_0x5751b2(0x359)]({'matcher':_0x41cfcf,'hooks':[{'type':'command','command':_0x4c2ca2}]}),_0x32a7be=!![],_0x2d4ce('Claude\x20Code\x20hook:\x20FileChanged\x20→\x20.rn-errors.json\x20✓')):_0x2d4ce(_0x5751b2(0x259));if(!_0x317f33(_0x5734b2,_0xf5693,_0x122d85)&&!_0x317f33(_0x50111f,_0xf5693,_0x122d85))_0xdd2230['push']({'matcher':_0xf5693,'hooks':[{'type':_0x5751b2(0x459),'command':_0x122d85}]}),_0x32a7be=!![],_0x2d4ce('Claude\x20Code\x20hook:\x20FileChanged\x20→\x20.rn-flow-progress.json\x20✓');else{if('sePrO'!==_0x5751b2(0x189))_0x2d4ce(_0x5751b2(0x16c));else{const _0x4c58d3=_0x4e57fc?{'dryRun':!![]}:{};switch(_0x1682c7['status']){case'reverted':return{'name':'signal-host','status':_0x5751b2(0x28d),'details':{'path':_0x546c63['path'],'shell':_0x1f523b[_0x5751b2(0x22a)],'removedIp':_0x33304c['removedIp'],..._0x4c58d3}};case _0x5751b2(0x1b6):return{'name':_0x5751b2(0x4e8),'status':_0x5751b2(0x1b6),'details':{'path':_0x2b49db['path'],'shell':_0x4bb8d3[_0x5751b2(0x22a)],..._0x4c58d3}};case _0x5751b2(0x200):return{'name':_0x5751b2(0x4e8),'status':'already-reverted','details':{'reason':_0x5751b2(0x2aa),'path':_0x4f0a33['path'],..._0x4c58d3}};}}}_0x32a7be&&(_0x147a5a[_0x5751b2(0x22e)]=_0xdd2230,_0xc75403['hooks']=_0x147a5a,await _0x2cd518(_0x5609fd,_0xc75403));}async function _0x26855f(){const _0x5ccc64=_0x32f9f4(_0x1ccac1,'.ceraph','camera-images');await _0x5666ff(_0x5ccc64,{'recursive':!![]});const _0xfabe55=_0x32f9f4(_0x5ccc64,'README.md');!await _0xf74da4(_0xfabe55)?(await _0x79be54(_0xfabe55,_0xff7f59,'utf-8'),_0x2d4ce('Camera\x20images:\x20.ceraph/camera-images/\x20+\x20README.md\x20✓')):_0x2d4ce('Camera\x20images:\x20.ceraph/camera-images/\x20already\x20exists');}async function _0x1fbd9a(){const _0x1eaf5d=_0x5ccc4b,_0x55b5da=_0x32f9f4(_0x1ccac1,'.gitignore');let _0xee541c='';try{_0xee541c=await _0x124659(_0x55b5da,_0x1eaf5d(0x449));}catch{}const _0x28de9b=[_0x1eaf5d(0x457),_0x1eaf5d(0x4b2),'.ceraph/runs/',_0x1eaf5d(0x49d),_0x1eaf5d(0x2f5)],_0x3bde18=_0x28de9b[_0x1eaf5d(0x235)](_0x23a392=>!_0xee541c[_0x1eaf5d(0x26f)](_0x23a392));if(_0x3bde18[_0x1eaf5d(0x471)]===0x0){_0x2d4ce('.gitignore:\x20entries\x20already\x20present');return;}const _0x909b8e=_0xee541c===''||_0xee541c[_0x1eaf5d(0x227)]('\x0a')?'':'\x0a',_0x4473c0=_0x909b8e+_0x3bde18['join']('\x0a')+'\x0a';await _0x182e89(_0x55b5da,_0xee541c+_0x4473c0),_0x2d4ce('.gitignore:\x20added\x20'+_0x3bde18[_0x1eaf5d(0x3aa)](',\x20')+'\x20✓');}async function _0x520d9c(){const _0x37fdbb=_0x5ccc4b;console['log']('MCP\x20configuration:'),await _0x1a430f(_0x32f9f4(_0x1ccac1,_0x37fdbb(0x244)),'Claude\x20Code');const _0x202493=await _0x5463e3(_0x1ccac1);_0x202493['status']==='preserved'?_0x2d4ce(_0x37fdbb(0x3dc)+_0x202493['settingsPath']+'\x20has\x20an\x20unexpected\x20shape\x20—\x20preserving\x20it.\x20'+_0x202493[_0x37fdbb(0x3d1)]):_0x2d4ce('Claude\x20Code:\x20pre-approved\x20the\x20Ceraph\x20MCP\x20server\x20(no\x20trust\x20prompt)\x20✓');await _0x1a430f(_0x32f9f4(_0x1ccac1,_0x37fdbb(0x323),_0x37fdbb(0x1ed)),'Cursor'),await _0x1b7299(_0x32f9f4(_0x1ccac1,'.codex','config.toml')),await _0x1a430f(_0x32f9f4(_0x1ccac1,_0x37fdbb(0x24e),_0x37fdbb(0x1ed)),'VS\x20Code');const _0x574748=process.env.HOME??process.env.USERPROFILE??'';if(_0x574748){const _0x3638d1=_0x32f9f4(_0x574748,_0x37fdbb(0x542),'windsurf','mcp_config.json');await _0xf74da4(_0x32f9f4(_0x574748,_0x37fdbb(0x542),_0x37fdbb(0x384)))&&await _0x1a430f(_0x3638d1,'Windsurf');const _0x4d1661=_0x32f9f4(_0x574748,_0x37fdbb(0x258),'antigravity',_0x37fdbb(0x15a));await _0xf74da4(_0x32f9f4(_0x574748,_0x37fdbb(0x258),_0x37fdbb(0x435)))&&await _0x1a430f(_0x4d1661,'Antigravity');}return _0x202493;}function _0xdd2fef(_0x1af2af){const _0x56dd44=_0x5ccc4b,_0x3b2ada=_0x1af2af['filter'](_0x3e0792=>_0x3e0792[_0x56dd44(0x22d)]===_0x56dd44(0x51e)&&!_0x3e0792['ok']),_0x287a04=_0x1af2af[_0x56dd44(0x235)](_0x134737=>_0x134737['severity']===_0x56dd44(0x473)&&!_0x134737['ok']);if(_0x3b2ada[_0x56dd44(0x471)]===0x0&&_0x287a04[_0x56dd44(0x471)]===0x0)return'';const _0x1988db=[];for(const _0x193766 of _0x3b2ada){if(_0x56dd44(0x1da)==='XxrTc'){const _0x42d03f=_0x3e3bd5['kind']==='bad-response'&&_0x43e6b4[_0x56dd44(0x4e5)]['includes']('no-mobile-graph')?_0x56dd44(0x1dd):_0x56dd44(0x1e3);return{'status':'skipped','reason':_0x42d03f,'message':_0x4cf96f?_0x3af531['agentMessage']+'\x20(payload\x20was\x20capped\x20at\x20'+_0x1b876c+'\x20files).':_0x264c88[_0x56dd44(0x4e5)]};}else{_0x1988db['push']('\x20\x20[BLOCKER]\x20'+_0x193766[_0x56dd44(0x34d)]+':\x20'+_0x193766['message']);if(_0x193766['remediation'])_0x1988db[_0x56dd44(0x359)](_0x56dd44(0x166)+_0x193766['remediation']);}}for(const _0x114d5b of _0x287a04){_0x1988db['push'](_0x56dd44(0x312)+_0x114d5b[_0x56dd44(0x34d)]+':\x20'+_0x114d5b['message']);if(_0x114d5b[_0x56dd44(0x2c8)])_0x1988db['push']('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20→\x20'+_0x114d5b['remediation']);}return _0x1988db['join']('\x0a')+'\x0a';}function _0x5c9261(_0x5a39a0){const _0x277fe3=_0x5ccc4b;if(_0x5a39a0)return!![];if(process.env.CERAPH_NON_INTERACTIVE==='1')return!![];return!process[_0x277fe3(0x263)][_0x277fe3(0x346)];}async function _0x2f1474(_0x45737d={}){const _0x475f8f=_0x5ccc4b,_0x26bf53=console['log'];_0x45737d['outputToStderr']&&(console[_0x475f8f(0x560)]=(..._0x15c792)=>{const _0x36d431=_0x475f8f;process['stderr'][_0x36d431(0x2c9)](_0x15c792['map'](_0x5bfce5=>typeof _0x5bfce5==='string'?_0x5bfce5:String(_0x5bfce5))['join']('\x20')+'\x0a');});try{return await _0x1f8bc2(_0x45737d);}finally{_0x45737d['outputToStderr']&&(console['log']=_0x26bf53);}}async function _0x1f8bc2(_0x4a94fc){const _0x53d811=_0x5ccc4b,_0x477e5b=_0x4a94fc['agentMode']===!![],_0x169d77=_0x4a94fc['outputToStderr']?_0x3fca8d=>{const _0x512ffa=_0x4997;if('EMRvM'!=='VFZeq')process['stderr'][_0x512ffa(0x2c9)](_0x3fca8d);else{if(!_0x3be207(_0x21d9dc))return![];if(_0x210350['matcher']!==_0x4ca4ae)return![];const _0x34e05a=_0x18b353['hooks'];if(!_0x3b2f14[_0x512ffa(0x178)](_0x34e05a))return![];return _0x34e05a[_0x512ffa(0x28e)](_0x3f28f0=>{const _0x358505=_0x512ffa;if(!_0x38f29d(_0x3f28f0))return![];const _0x3a2ee9=_0x3f28f0[_0x358505(0x459)];return typeof _0x3a2ee9===_0x358505(0x40a)&&_0x3a2ee9===_0x37328c;});}}:void 0x0;if(_0x4a94fc['tier']==='pro'&&_0x5c9261(_0x477e5b))return await _0x13b611(_0x53d811(0x55d))['catch'](()=>void 0x0),console['log']('\x0a@ceraph/react-native-mcp\x20init\x0a'),console['log'](_0x53d811(0x251)),console['log']('\x20\x201.\x20Sign\x20in:\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x3cde31({'intent':_0x53d811(0x55d)})),console[_0x53d811(0x560)]('\x20\x202.\x20Complete\x20checkout:\x20https://ceraph.dev/#pricing'),console['log'](_0x53d811(0x1ab)),{'proSignInDeferred':!![],'walkthrough':null};console[_0x53d811(0x560)](_0x53d811(0x489));const _0x43fae2=await _0x520d9c();console[_0x53d811(0x560)]('\x0aRuntime\x20error\x20hook:'),await _0x3d991e(),console[_0x53d811(0x560)]('\x0aCamera\x20test\x20images:'),await _0x26855f(),console['log'](_0x53d811(0x1d6)),await _0x1fbd9a();const _0x59608b=await _0x105c3d(_0x1ccac1,{'agentMode':_0x477e5b,'nonInteractive':_0x477e5b?!![]:void 0x0,'write':_0x169d77,'installStdioToStderr':_0x4a94fc[_0x53d811(0x3c1)]===!![],'tier':_0x4a94fc['tier'],'claudePreApprovalPreserved':_0x43fae2['status']==='preserved','runDoctor':async()=>{const _0x337bb2=_0x53d811,_0x4afb01=new _0x2a4caf(),_0x251446=new _0x650c57(_0x4afb01),_0x96b8fb=new _0x15dafc(_0x4afb01),_0x182d03=await _0x3291dc({'screen':_0x4afb01,'apps':_0x251446,'autonomy':_0x96b8fb,'projectDir':_0x1ccac1,'excludeRuntimeChecks':!![]}),_0x22dab7=_0x182d03[_0x337bb2(0x432)][_0x337bb2(0x235)](_0xb52cbc=>_0xb52cbc['ok'])[_0x337bb2(0x471)];return{'ok':_0x182d03['ok'],'summary':_0xdd2fef(_0x182d03[_0x337bb2(0x432)]),'passedCount':_0x22dab7,'totalCount':_0x182d03[_0x337bb2(0x432)][_0x337bb2(0x471)]};}});return{'proSignInDeferred':![],'walkthrough':_0x59608b};}var _0x1ccac1,_0x48e0b2,_0xff7f59,_0x28c613,_0x331bb0=_0x4d3071({'src/init.ts'(){'use strict';const _0x4dc438=_0x5ccc4b;_0x18bca4(),_0x5cecd5(),_0xe6e8e7(),_0x40fba2(),_0x24177a(),_0xc961e7(),_0x2cd4f8(),_0x103dd1(),_0x2f5028(),_0x229532(),_0x5c2b33(),_0x15447a(),_0x1ccac1=process[_0x4dc438(0x380)](),_0x48e0b2={'react-native-mcp':{'command':_0x4dc438(0x209),'args':['-y','@ceraph/react-native-mcp@latest']}},_0xff7f59=_0x4dc438(0x277),_0x28c613=process['argv'][0x1]??'';if(_0x28c613[_0x4dc438(0x227)](_0x4dc438(0x558))||_0x28c613[_0x4dc438(0x227)]('init.ts')){const _0x39d683=process.env.CERAPH_AGENT_MODE==='1'||process[_0x4dc438(0x575)][_0x4dc438(0x26f)]('--agent');_0x2f1474({'agentMode':_0x39d683})['catch'](_0x2f8ad4=>{const _0x3d69fc=_0x4dc438;console[_0x3d69fc(0x51e)](_0x3d69fc(0x19f),_0x2f8ad4),process[_0x3d69fc(0x55b)](0x1);});}}});import{existsSync,readFileSync,readdirSync}from'fs';import{isAbsolute as _0x440740,join as _0x57d3c9,relative as _0x72845e,resolve,sep as _0x31cb5c}from'path';function _0x2d729b(_0x1e3f44,_0x2d0385){const _0x391183=_0x5ccc4b;if(!_0x1e3f44||_0x1e3f44[_0x391183(0x471)]===0x0)return _0x2d0385;const _0x33776c=_0x440740(_0x1e3f44)?_0x1e3f44:resolve(_0x2d0385,_0x1e3f44),_0x544001=_0x72845e(_0x2d0385,_0x33776c),_0x518047=_0x544001===''||_0x544001!=='..'&&!_0x544001['startsWith']('..'+_0x31cb5c)&&!_0x440740(_0x544001);return _0x518047?_0x2d0385:_0x33776c;}var _0x15ef18=_0x4d3071({'src/resolve-project-dir.ts'(){'use strict';_0x1ecc92();}});import{readFile as _0x216e76,unlink as _0x16fc0c,writeFile as _0x98c618}from'fs/promises';import{join as _0x215fab}from'path';async function _0x5bbb26(_0x26a591,_0x113e7a={}){const _0x2edea2=_0x5ccc4b,_0x5539b1=_0x215fab(_0x26a591,_0x2edea2(0x3f6)),_0x2ee75c=_0x113e7a['readFile']??(_0x446b52=>_0x216e76(_0x446b52,_0x2edea2(0x449))),_0x527e8c=_0x113e7a[_0x2edea2(0x330)]??((_0x496634,_0x760d2c)=>_0x98c618(_0x496634,_0x760d2c,_0x2edea2(0x449))),_0xcf4b11=_0x113e7a['unlink']??(_0x3d9758=>_0x16fc0c(_0x3d9758)),_0x155c17=[];for(const _0x13bb16 of _0x1423ee){if(_0x2edea2(0x2d7)===_0x2edea2(0x155))_0x440519['pop']();else{const _0xee0991=_0x215fab(_0x26a591,_0x13bb16);try{await _0xcf4b11(_0xee0991),_0x155c17[_0x2edea2(0x359)](_0x13bb16);}catch{}}}let _0x26796f;try{_0x2edea2(0x395)===_0x2edea2(0x395)?_0x26796f=await _0x2ee75c(_0x5539b1):(_0x5bdba8['push']({'matcher':_0x1fb92f,'hooks':[{'type':_0x2edea2(0x459),'command':_0x3f5952}]}),_0x70cfec=!![],_0x19e974(_0x2edea2(0x142)));}catch{return{'status':_0x2edea2(0x190),'path':_0x5539b1,'removedRuntimeFiles':_0x155c17};}const _0x46455c=_0x26796f[_0x2edea2(0x227)]('\x0a'),_0xff1185=_0x26796f['split'](/\r?\n/);_0x46455c&&_0xff1185['length']>0x0&&_0xff1185[_0xff1185[_0x2edea2(0x471)]-0x1]===''&&_0xff1185[_0x2edea2(0x53b)]();const _0x40acdd=new Set(_0x38d59b),_0x34080c=[],_0x3fdc8e=[];for(const _0x1589e8 of _0xff1185){if(_0x40acdd['has'](_0x1589e8[_0x2edea2(0x1cd)]())){_0x34080c['push'](_0x1589e8);continue;}_0x3fdc8e['push'](_0x1589e8);}if(_0x34080c[_0x2edea2(0x471)]===0x0){if('MnSEB'===_0x2edea2(0x3fb))return{'status':'already-reverted','path':_0x5539b1,'removedRuntimeFiles':_0x155c17};else _0x2cb5e6(_0x49d848);}const _0x3085c8=_0x46455c?_0x3fdc8e[_0x2edea2(0x3aa)]('\x0a')+'\x0a':_0x3fdc8e['join']('\x0a');return await _0x527e8c(_0x5539b1,_0x3085c8),{'status':'reverted','path':_0x5539b1,'removedLines':_0x34080c,'removedRuntimeFiles':_0x155c17};}var _0x38d59b,_0x1423ee,_0x2477a0=_0x4d3071({'src/uninstall/revert-gitignore.ts'(){'use strict';const _0x3176cc=_0x5ccc4b;_0x38d59b=[_0x3176cc(0x457),_0x3176cc(0x4b2),'.ceraph/runs/',_0x3176cc(0x49d),_0x3176cc(0x2f5)],_0x1423ee=['.rn-errors.json',_0x3176cc(0x4b2)];}});import{readFile as _0x58acdf,writeFile as _0x1973d3}from'fs/promises';import{homedir as _0x1cd68f}from'os';import{join as _0x4ebade}from'path';function _0x59e282(_0x458277={}){const _0x4a61d3=_0x5ccc4b,_0xf51c91=_0x458277['env']??process.env,_0x23a4f2=_0x458277['home']??_0x1cd68f(),_0x1df824=_0xf51c91[_0x4a61d3(0x3ce)]??'';if(_0x1df824['endsWith']('/bash'))return{'path':_0x4ebade(_0x23a4f2,_0x4a61d3(0x434)),'shell':'bash'};return{'path':_0x4ebade(_0x23a4f2,_0x4a61d3(0x412)),'shell':_0x4a61d3(0x152)};}async function _0xd296a9(_0xc06b81={}){const _0x11daf8=_0x5ccc4b,_0x40c4a4=_0xc06b81[_0x11daf8(0x4da)]??_0x59e282({'env':_0xc06b81['env'],'home':_0xc06b81['home']}),_0x3dad6a=_0xc06b81[_0x11daf8(0x37a)]??(_0x4fc513=>_0x58acdf(_0x4fc513,_0x11daf8(0x449))),_0x3b8a57=_0xc06b81['writeFile']??((_0x30c754,_0x151fac)=>_0x1973d3(_0x30c754,_0x151fac,_0x11daf8(0x449)));let _0x8a2986;try{'HNFwX'!=='HNFwX'?_0x276131['addSourceFileAtPath'](_0x37f31d):_0x8a2986=await _0x3dad6a(_0x40c4a4['path']);}catch{return{'status':'no-profile','path':_0x40c4a4[_0x11daf8(0x195)],'shell':_0x40c4a4[_0x11daf8(0x22a)]};}const _0x569767=_0x8a2986[_0x11daf8(0x35c)](_0x2979bf);if(_0x569767===-0x1)return{'status':'already-reverted','path':_0x40c4a4[_0x11daf8(0x195)],'shell':_0x40c4a4[_0x11daf8(0x22a)]};const _0x2d4898=_0x8a2986[_0x11daf8(0x35c)](_0x85c845,_0x569767);if(_0x2d4898===-0x1)return'YqyOJ'!=='tImSw'?{'status':'already-reverted','path':_0x40c4a4['path'],'shell':_0x40c4a4['shell']}:{'kind':'malformed','raw':_0x191ae3,'error':_0x5d7ba8};const _0x1e8e39=_0x2d4898+_0x85c845[_0x11daf8(0x471)],_0x3c4b3f=_0x8a2986[_0x1e8e39]==='\x0a'?_0x1e8e39+0x1:_0x1e8e39,_0x4c3532=_0x8a2986[_0x11daf8(0x54d)](_0x569767,_0x3c4b3f),_0x516b6c=_0x4c3532[_0x11daf8(0x2ae)](/export\s+CERAPH_SIGNAL_HOST=(\S+)/),_0x25fb36=_0x516b6c?_0x516b6c[0x1]:null;let _0x3e4166=_0x569767;_0x3e4166>=0x1&&_0x8a2986[_0x3e4166-0x1]==='\x0a'&&(_0x3e4166>=0x2&&_0x8a2986[_0x3e4166-0x2]==='\x0a'&&(_0x3e4166-=0x1));const _0xb7b35=_0x8a2986['slice'](0x0,_0x3e4166)+_0x8a2986[_0x11daf8(0x54d)](_0x3c4b3f);return await _0x3b8a57(_0x40c4a4['path'],_0xb7b35),{'status':'reverted','path':_0x40c4a4[_0x11daf8(0x195)],'shell':_0x40c4a4['shell'],'removedIp':_0x25fb36};}var _0x2979bf,_0x85c845,_0x4fcba6=_0x4d3071({'src/uninstall/revert-signal-host-env.ts'(){'use strict';const _0x4e303e=_0x5ccc4b;_0x2979bf='#\x20Ceraph\x20signal\x20host\x20—\x20auto-set\x20by\x20@ceraph/react-native-mcp\x20init',_0x85c845=_0x4e303e(0x238);}});import{rm as _0x5297de,readdir as _0x1fe975,stat as _0x48e49c}from'fs/promises';import{join as _0x3c87fe}from'path';async function _0x1dbdeb(_0x475c0c,_0x1f32be){const _0x50369c=_0x5ccc4b;try{if(_0x50369c(0x4d0)==='vMbqs'){const _0x5da273=_0x335b96[_0x50369c(0x1d3)]?.['trim']()||_0x17d862.env.CERAPH_API_URL?.[_0x50369c(0x1cd)]()||_0x7ed0b0;return _0x5da273[_0x50369c(0x2be)](/\/+$/,'')+'/tier-check';}else{const _0x29387d=await _0x1f32be(_0x475c0c);return _0x29387d['isDirectory']();}}catch{return![];}}async function _0x507d3d(_0x1019bd,_0x25c5ec={}){const _0x1ea0eb=_0x5ccc4b,_0x350e46=_0x3c87fe(_0x1019bd['projectDir'],'.ceraph'),_0x5de8da=_0x25c5ec['rm']??((_0x35a2f0,_0x1be9a4)=>_0x5297de(_0x35a2f0,_0x1be9a4)),_0x17e92b=_0x25c5ec[_0x1ea0eb(0x564)]??(_0xf34f91=>_0x1fe975(_0xf34f91)),_0x53774e=_0x25c5ec[_0x1ea0eb(0x205)]??(_0x254121=>_0x48e49c(_0x254121)),_0x4bec1e=await _0x1dbdeb(_0x350e46,_0x53774e);if(!_0x4bec1e){if(_0x1ea0eb(0x3e9)==='hnyCa'){const _0x118dba=_0x2e0523[_0x1ea0eb(0x235)](_0x23a566=>{const _0x592565=_0x1b4051.env[_0x23a566];return _0x592565===void 0x0||_0x592565==='';});if(_0x118dba['length']===0x0)return{'ok':!![],'severity':'error','message':'All\x20'+_0x12ce37['length']+'\x20required\x20env\x20var(s)\x20present.','details':{'required':_0x1bb68e}};return{'ok':![],'severity':'error','message':_0x1ea0eb(0x364)+_0x118dba['join'](',\x20')+'.','remediation':_0x1ea0eb(0x497)+_0x118dba['map'](_0x311ec3=>_0x1ea0eb(0x219)+_0x311ec3+'=...')['join'](';\x20')+'\x20(or\x20add\x20them\x20to\x20.env.local).','details':{'missing':_0x118dba,'required':_0x1e3d99}};}else return{'status':_0x1ea0eb(0x1b6),'path':_0x350e46};}let _0xa1e889=[];try{_0xa1e889=await _0x17e92b(_0x350e46);}catch{_0xa1e889=[];}_0xa1e889[_0x1ea0eb(0x158)]();if(!_0x1019bd[_0x1ea0eb(0x3ab)])return{'status':_0x1ea0eb(0x4c4),'path':_0x350e46,'paths':_0xa1e889[_0x1ea0eb(0x362)](_0x1fdabe=>_0x3c87fe(_0x350e46,_0x1fdabe))};return await _0x5de8da(_0x350e46,{'recursive':!![],'force':!![]}),{'status':'deleted','path':_0x350e46,'deletedEntries':_0xa1e889};}var _0x28f550=_0x4d3071({'src/uninstall/revert-ceraph-dir.ts'(){'use strict';}});import{rmdir,unlink as _0xa83181}from'fs/promises';import{homedir as _0x3cc2c6}from'os';import{dirname as _0x292b2d,join as _0x10ed8e}from'path';function _0xdf4cef(_0x4f8b99={}){const _0x561457=_0x5ccc4b;return _0x10ed8e(_0x4f8b99['home']??_0x3cc2c6(),_0x561457(0x2f8),'auth.json');}async function _0x4a1b8e(_0x4717d6,_0x1b4b9c={}){const _0xb0ec99=_0x5ccc4b,_0x43d600=_0xdf4cef({'home':_0x1b4b9c[_0xb0ec99(0x278)]}),_0x4a4a26=_0x1b4b9c['unlink']??(_0x35c467=>_0xa83181(_0x35c467));if(!_0x4717d6['global'])return{'status':'skipped','path':_0x43d600,'note':'Pass\x20global:\x20true\x20to\x20remove\x20~/.ceraph/auth.json\x20—\x20the\x20token\x20is\x20user-global\x20and\x20removing\x20it\x20logs\x20you\x20out\x20of\x20every\x20Ceraph\x20install.'};const _0x12dd59=_0x1b4b9c['rmdir']??(_0x28c754=>rmdir(_0x28c754));try{await _0x4a4a26(_0x43d600);try{await _0x12dd59(_0x292b2d(_0x43d600));}catch{}return{'status':'deleted','path':_0x43d600};}catch(_0x28aadf){if('YTLum'!==_0xb0ec99(0x21c)){const _0x220b37=typeof _0x28aadf==='object'&&_0x28aadf!==null&&'code'in _0x28aadf&&_0x28aadf['code']===_0xb0ec99(0x3a4);if(_0x220b37){try{await _0x12dd59(_0x292b2d(_0x43d600));}catch{}return{'status':_0xb0ec99(0x1b6),'path':_0x43d600};}throw _0x28aadf;}else{const _0x490571=_0x5a9a69['getClosingElement']();_0x490571['getTagNameNode']()[_0xb0ec99(0x50c)]('CeraphCamera');}}}var _0x25614a=_0x4d3071({'src/uninstall/revert-auth.ts'(){'use strict';}});import{readFile as _0x19bf77,writeFile as _0x3d1e09,unlink as _0x4af8de}from'fs/promises';import{join as _0x346030}from'path';import{Project as _0x1dc618,SyntaxKind as _0x5bcaaf}from'ts-morph';async function _0x5b2342(_0x538876){const _0x56b860=_0x5ccc4b,_0x2390f7=_0x538876['readFile']??(_0x3d0343=>_0x19bf77(_0x3d0343,'utf-8')),_0x1a6557=_0x538876[_0x56b860(0x330)]??((_0x5c974a,_0x5a7af6)=>_0x3d1e09(_0x5c974a,_0x5a7af6,_0x56b860(0x449))),_0xa937f3=_0x538876[_0x56b860(0x288)]??(_0x32b33b=>_0x4af8de(_0x32b33b));let _0x4e75db,_0x52cad9;for(const _0x26bf68 of _0x286703){const _0x568258=_0x346030(_0x538876[_0x56b860(0x298)],_0x26bf68);try{_0x52cad9=await _0x2390f7(_0x568258),_0x4e75db=_0x568258;break;}catch{}}if(!_0x4e75db||_0x52cad9===void 0x0)return{'status':_0x56b860(0x329)};if(!_0x52cad9['includes'](_0x2b6942))return{'status':_0x56b860(0x1b6),'path':_0x4e75db};if(_0x3b271b[_0x56b860(0x26f)](_0x52cad9))return await _0xa937f3(_0x4e75db),{'status':_0x56b860(0x28d),'path':_0x4e75db,'action':_0x56b860(0x358)};const _0x58319e=new _0x1dc618({'useInMemoryFileSystem':!![]}),_0x271322=_0x58319e[_0x56b860(0x187)](_0x56b860(0x2cb),_0x52cad9);let _0x377592=![];_0x271322['forEachDescendant'](_0x23690e=>{const _0x4e6fd8=_0x56b860;if(_0x4e6fd8(0x218)!==_0x4e6fd8(0x218)){const _0x1eaa8e=_0x5550a4['lastIndexOf']('.');if(_0x1eaa8e<=0x0)return null;const _0x330949=_0x35479b['slice'](0x0,_0x1eaa8e),_0x39e7db=_0x182fe6[_0x4e6fd8(0x54d)](_0x1eaa8e)[_0x4e6fd8(0x223)]();if(!_0xf75fdf(_0x39e7db))return null;if(_0x330949['length']===0x0)return null;return{'stem':_0x330949,'ext':_0x39e7db};}else{if(_0x377592)return;if(_0x23690e[_0x4e6fd8(0x2c0)]()!==_0x5bcaaf['ArrayLiteralExpression'])return;const _0xc6b29=_0x23690e,_0x587d94=_0xc6b29['getElements']();for(let _0xbbfbae=0x0;_0xbbfbae<_0x587d94['length'];_0xbbfbae++){if(_0x4e6fd8(0x1c2)!=='dICUu'){if(_0x587d94[_0xbbfbae][_0x4e6fd8(0x1a9)]()['includes'](_0x2b6942)){_0xc6b29[_0x4e6fd8(0x1b1)](_0xbbfbae),_0x377592=!![];break;}}else _0x56c4dc='tap\x20succeeded\x20but\x20post-tap\x20verify\x20failed:\x20'+_0x300bf1;}}});if(!_0x377592)return{'status':_0x56b860(0x1b6),'path':_0x4e75db};return await _0x1a6557(_0x4e75db,_0x271322[_0x56b860(0x175)]()),{'status':_0x56b860(0x28d),'path':_0x4e75db,'action':'stripped'};}var _0x3b271b,_0xa7ca1d=_0x4d3071({'src/uninstall/revert-babel-config.ts'(){'use strict';const _0x1cfff1=_0x5ccc4b;_0x165f87(),_0x3b271b=[_0x4662a5(_0x1cfff1(0x4a4)),_0x4662a5('@react-native/babel-preset')];}});import{readFile as _0x251e5a,writeFile as _0x48480f,access as _0x2b9ef8}from'fs/promises';import{join as _0x4b0863}from'path';async function _0x252440(_0x18791c){try{return await _0x2b9ef8(_0x18791c),!![];}catch{return![];}}function _0x2637f1(_0x238406){const _0x3b031a=_0x5ccc4b;if(!_0x238406[_0x3b031a(0x172)]||typeof _0x238406['expo']!=='object')return{'changed':![],'previousScheme':void 0x0,'nextScheme':void 0x0};const _0x327302=_0x238406[_0x3b031a(0x172)],_0x40fdcf=_0x327302[_0x3b031a(0x18f)];if(typeof _0x40fdcf==='string'){if(_0x40fdcf===_0x55e68b)return delete _0x327302[_0x3b031a(0x18f)],{'changed':!![],'previousScheme':_0x40fdcf,'nextScheme':void 0x0};return{'changed':![],'previousScheme':_0x40fdcf,'nextScheme':_0x40fdcf};}if(Array['isArray'](_0x40fdcf)){const _0x630e47=_0x40fdcf[_0x3b031a(0x26f)](_0x55e68b);if(!_0x630e47)return{'changed':![],'previousScheme':[..._0x40fdcf],'nextScheme':[..._0x40fdcf]};const _0x374032=_0x40fdcf[_0x3b031a(0x235)](_0x2ef06c=>_0x2ef06c!==_0x55e68b),_0x30a4f4=[..._0x40fdcf];if(_0x374032[_0x3b031a(0x471)]===0x0)return delete _0x327302['scheme'],{'changed':!![],'previousScheme':_0x30a4f4,'nextScheme':void 0x0};if(_0x374032[_0x3b031a(0x471)]===0x1)return _0x327302['scheme']=_0x374032[0x0],{'changed':!![],'previousScheme':_0x30a4f4,'nextScheme':_0x374032[0x0]};return _0x327302['scheme']=_0x374032,{'changed':!![],'previousScheme':_0x30a4f4,'nextScheme':_0x374032};}return{'changed':![],'previousScheme':void 0x0,'nextScheme':void 0x0};}function _0x595b4a(_0x2a0096){const _0x13eca8=_0x5ccc4b;try{const _0x1c0914=JSON[_0x13eca8(0x398)](_0x2a0096);if(!_0x1c0914||typeof _0x1c0914!=='object'||Array['isArray'](_0x1c0914))return null;return _0x1c0914;}catch{return null;}}function _0xba5796(_0x32c9dd,_0x449f08){const _0x5c82e3=_0x5ccc4b,_0x54518f=_0x449f08[_0x5c82e3(0x2ae)](/\n(\s+)"/),_0x14f1ec=_0x54518f?.[0x1]??'\x20\x20',_0x89f18a=_0x449f08['endsWith']('\x0a'),_0x4507b6=JSON[_0x5c82e3(0x2ba)](_0x32c9dd,null,_0x14f1ec);return _0x89f18a?_0x4507b6+'\x0a':_0x4507b6;}function _0x2ffcbf(_0x546032){const _0x46da8a=_0x5ccc4b;return _0x46da8a(0x2d3)+_0x546032+_0x46da8a(0x413);}async function _0x2a567c(_0x213341,_0x373698={}){const _0x2b43e1=_0x5ccc4b,_0x1ea5af=_0x373698[_0x2b43e1(0x318)]??_0x252440,_0x4c5173=_0x373698[_0x2b43e1(0x37a)]??(_0x22aedf=>_0x251e5a(_0x22aedf,_0x2b43e1(0x449))),_0x1c40e5=_0x373698[_0x2b43e1(0x330)]??((_0x4c6ccd,_0x1d9602)=>_0x48480f(_0x4c6ccd,_0x1d9602,_0x2b43e1(0x449))),_0x323d61=_0x4b0863(_0x213341,_0x2b43e1(0x271)),_0xb67d36=_0x4b0863(_0x213341,'app.config.js'),_0x4a0ecb=_0x4b0863(_0x213341,_0x2b43e1(0x3a7)),_0x19e303=_0x4b0863(_0x213341,'ios'),_0x21a592=_0x4b0863(_0x213341,_0x2b43e1(0x559)),_0x5089cd=await _0x1ea5af(_0xb67d36),_0x3f567e=await _0x1ea5af(_0x4a0ecb);if(_0x5089cd||_0x3f567e){const _0x17eae7=_0x3f567e?_0x4a0ecb:_0xb67d36;return{'status':'manual','kind':'expo-dynamic','path':_0x17eae7,'remediation':_0x2ffcbf(_0x17eae7)};}if(await _0x1ea5af(_0x323d61)){const _0x232156=await _0x4c5173(_0x323d61),_0x55e784=_0x595b4a(_0x232156);if(!_0x55e784)return{'status':'already-reverted','path':_0x323d61};const {changed:_0x33d2ec,previousScheme:_0xb0ba89,nextScheme:_0x245566}=_0x2637f1(_0x55e784);if(!_0x33d2ec)return{'status':_0x2b43e1(0x1b6),'path':_0x323d61};return await _0x1c40e5(_0x323d61,_0xba5796(_0x55e784,_0x232156)),{'status':_0x2b43e1(0x28d),'path':_0x323d61,'previousScheme':_0xb0ba89,'nextScheme':_0x245566};}if(await _0x1ea5af(_0x19e303)||await _0x1ea5af(_0x21a592))return{'status':_0x2b43e1(0x1f3),'kind':'bare-rn','remediation':_0x61df2b};return{'status':_0x2b43e1(0x4af)};}var _0x55e68b,_0x61df2b,_0x4a4dae=_0x4d3071({'src/uninstall/revert-scheme.ts'(){'use strict';_0x55e68b='ceraph',_0x61df2b='Remove\x20the\x20ceraph\x20scheme\x20from\x20ios/<App>/Info.plist\x20CFBundleURLTypes\x20and\x20android/app/src/main/AndroidManifest.xml.\x20Both\x20files\x20were\x20never\x20written\x20by\x20init\x20—\x20they\x20require\x20manual\x20edits\x20because\x20they\x20are\x20inside\x20the\x20customer\x27s\x20native\x20project\x20tree.';}});import{access as _0x169c1d,readFile as _0x4e76b0,unlink as _0x430075}from'fs/promises';import{join as _0x4f1f70}from'path';async function _0x7039ae(_0x2185ec){try{return await _0x169c1d(_0x2185ec),!![];}catch{return![];}}async function _0x175dd8(_0x16ef19,_0x5f41b3={}){const _0x2dd4d7=_0x5ccc4b,_0x29c0de=_0x5f41b3[_0x2dd4d7(0x37a)]??(_0x76e627=>_0x4e76b0(_0x76e627,_0x2dd4d7(0x449))),_0x1e60e4=_0x5f41b3['writeFile']??_0x182e89,_0x1420f0=_0x5f41b3[_0x2dd4d7(0x288)]??(_0x330d6f=>_0x430075(_0x330d6f)),_0x587d4b=_0x5f41b3['fileExists']??_0x7039ae,_0x3a0913=[{'scriptAbsPath':_0x4f1f70(_0x16ef19[_0x2dd4d7(0x298)],..._0x58c37d),'canonicalScript':_0x3482ec,'matcher':_0x41cfcf,'command':_0x4c2ca2},{'scriptAbsPath':_0x4f1f70(_0x16ef19['projectDir'],..._0x1b1309),'canonicalScript':_0x304ac8,'matcher':_0xf5693,'command':_0x122d85}],_0xd0bba6=[],_0x568e87=[];for(const _0x3d7a9a of _0x3a0913){if(!await _0x587d4b(_0x3d7a9a[_0x2dd4d7(0x1d1)]))continue;let _0x57307f;try{_0x57307f=await _0x29c0de(_0x3d7a9a['scriptAbsPath']);}catch{_0x568e87[_0x2dd4d7(0x359)](_0x3d7a9a['scriptAbsPath']);continue;}_0x57307f===_0x3d7a9a[_0x2dd4d7(0x447)]?(await _0x1420f0(_0x3d7a9a['scriptAbsPath']),_0xd0bba6['push'](_0x3d7a9a[_0x2dd4d7(0x1d1)])):_0x568e87['push'](_0x3d7a9a['scriptAbsPath']);}const _0x15a7ba=[],_0x3f7d24=[];for(const _0x4f3802 of _0x413b65){const _0x2d5271=_0x4f1f70(_0x16ef19[_0x2dd4d7(0x298)],..._0x4f3802);if(!await _0x587d4b(_0x2d5271))continue;let _0x110ffd;try{_0x110ffd=await _0x29c0de(_0x2d5271);}catch{_0x3f7d24['push'](_0x2d5271);continue;}let _0x5054c3;try{_0x5054c3=JSON['parse'](_0x110ffd);}catch{_0x3f7d24[_0x2dd4d7(0x359)](_0x2d5271);continue;}if(!_0x5054c3||typeof _0x5054c3!=='object'||Array[_0x2dd4d7(0x178)](_0x5054c3)){_0x3f7d24[_0x2dd4d7(0x359)](_0x2d5271);continue;}const _0x43a08a=_0xbef984(_0x5054c3,_0x3a0913);if(!_0x43a08a['mutated']){_0x3f7d24[_0x2dd4d7(0x359)](_0x2d5271);continue;}const _0x23875d=_0x110ffd['match'](/\n(\s+)"/),_0x9f43c3=_0x23875d?.[0x1]??'\x20\x20',_0x253158=_0x110ffd['endsWith']('\x0a'),_0x57a408=JSON[_0x2dd4d7(0x2ba)](_0x43a08a[_0x2dd4d7(0x4ec)],null,_0x9f43c3);await _0x1e60e4(_0x2d5271,_0x253158?_0x57a408+'\x0a':_0x57a408),_0x15a7ba['push'](_0x2d5271);}const _0x352a40=_0xd0bba6[_0x2dd4d7(0x471)]>0x0||_0x15a7ba[_0x2dd4d7(0x471)]>0x0;let _0xe5ad18;if(_0x568e87[_0x2dd4d7(0x471)]>0x0)_0xe5ad18='manual';else _0x352a40?_0xe5ad18='reverted':_0xe5ad18=_0x2dd4d7(0x1b6);return{'status':_0xe5ad18,'details':{'scriptsDeleted':_0xd0bba6,'scriptsLeftAlone':_0x568e87,'settingsFilesModified':_0x15a7ba,'settingsFilesUntouched':_0x3f7d24}};}function _0xbef984(_0x1c4009,_0x4ab837){const _0x4adb0b=_0x5ccc4b,_0x417f78=_0x1c4009[_0x4adb0b(0x574)];if(!_0x417f78||typeof _0x417f78!=='object'||Array[_0x4adb0b(0x178)](_0x417f78)){if('wPFnx'!=='wPFnx')_0x30f155(_0x2ae6d4);else return{'mutated':![],'next':_0x1c4009};}const _0x4c0add=_0x417f78,_0x5a3239=_0x4c0add['FileChanged'];if(!Array[_0x4adb0b(0x178)](_0x5a3239))return{'mutated':![],'next':_0x1c4009};const _0x4cebf5=new Map();for(const _0xb4aaeb of _0x4ab837)_0x4cebf5[_0x4adb0b(0x4fb)](_0xb4aaeb[_0x4adb0b(0x2d8)],_0xb4aaeb);const _0x16d535=[];let _0x2b058a=![];for(const _0x5ee66d of _0x5a3239){if(!_0x5ee66d||typeof _0x5ee66d!==_0x4adb0b(0x382)||Array[_0x4adb0b(0x178)](_0x5ee66d)){_0x16d535[_0x4adb0b(0x359)](_0x5ee66d);continue;}const _0x441378=_0x5ee66d,_0x3688f2=_0x441378[_0x4adb0b(0x2d8)];if(typeof _0x3688f2!=='string'){_0x16d535[_0x4adb0b(0x359)](_0x5ee66d);continue;}const _0x5bf0f3=_0x4cebf5[_0x4adb0b(0x476)](_0x3688f2);if(!_0x5bf0f3){_0x16d535[_0x4adb0b(0x359)](_0x5ee66d);continue;}const _0x43fd5d=_0x441378['hooks'];if(!Array[_0x4adb0b(0x178)](_0x43fd5d)){_0x16d535[_0x4adb0b(0x359)](_0x5ee66d);continue;}const _0x4b006b=[];let _0x5e6186=![];for(const _0x548033 of _0x43fd5d){if(!_0x548033||typeof _0x548033!=='object'||Array[_0x4adb0b(0x178)](_0x548033)){if('qriIE'==='QTdiC')_0x3c5be3[_0x4adb0b(0x579)]('SIGKILL');else{_0x4b006b['push'](_0x548033);continue;}}const _0x44e4f0=_0x548033,_0x3a3eec=_0x44e4f0[_0x4adb0b(0x459)];if(typeof _0x3a3eec===_0x4adb0b(0x40a)&&_0x3a3eec===_0x5bf0f3[_0x4adb0b(0x459)]){_0x5e6186=!![];continue;}_0x4b006b['push'](_0x548033);}if(!_0x5e6186){_0x16d535[_0x4adb0b(0x359)](_0x5ee66d);continue;}_0x2b058a=!![];if(_0x4b006b[_0x4adb0b(0x471)]===0x0)continue;_0x16d535['push']({..._0x441378,'hooks':_0x4b006b});}if(!_0x2b058a)return{'mutated':![],'next':_0x1c4009};const _0x4d6c15={..._0x4c0add};_0x16d535[_0x4adb0b(0x471)]===0x0?delete _0x4d6c15[_0x4adb0b(0x22e)]:_0x4d6c15[_0x4adb0b(0x22e)]=_0x16d535;const _0x5f5387={..._0x1c4009};return Object[_0x4adb0b(0x250)](_0x4d6c15)['length']===0x0?delete _0x5f5387['hooks']:_0x5f5387['hooks']=_0x4d6c15,{'mutated':!![],'next':_0x5f5387};}var _0x130ec9=_0x4d3071({'src/uninstall/revert-claude-hooks.ts'(){'use strict';_0x103dd1(),_0x2f5028();}});import{readFile as _0x18512d,writeFile as _0x2756c9}from'fs/promises';import{join as _0x2ef5f4}from'path';async function _0x240c07(){if(_0x145529)return;const _0x28b23e=await import('ts-morph');({IndentationText:_0x184176,Node:_0x3861f3,Project:_0x3b20ab,SyntaxKind:_0xeef8a5}=_0x28b23e,_0x145529=!![]);}async function _0x58bece(_0x8fd2ed){const _0x180971=_0x5ccc4b;try{return await _0x18512d(_0x8fd2ed,_0x180971(0x449)),!![];}catch{return![];}}async function _0x26350c(_0x3682eb){const _0x30d6be=_0x5ccc4b,_0x1d2506=_0x2ef5f4(_0x3682eb,'app',_0x30d6be(0x289));if(await _0x58bece(_0x1d2506))return{'kind':'expo-router','filePath':_0x1d2506};const _0x3432db=_0x2ef5f4(_0x3682eb,_0x30d6be(0x526),'_layout.jsx');if(await _0x58bece(_0x3432db))return{'kind':'expo-router','filePath':_0x3432db};for(const _0x4dff2f of['App.tsx','App.jsx']){const _0x33b4aa=_0x2ef5f4(_0x3682eb,_0x4dff2f);if(await _0x58bece(_0x33b4aa))return{'kind':_0x30d6be(0x213),'filePath':_0x33b4aa};}return null;}function _0x1d3d3e(_0xc31f8f){const _0x62dd43=_0x5ccc4b;for(const _0x476e29 of _0xc31f8f['getFunctions']()){if(_0x476e29[_0x62dd43(0x280)]())return _0x476e29;}const _0x5e5e79=_0xc31f8f['getStatements']()[_0x62dd43(0x173)](_0x3301aa=>_0x3861f3['isExportAssignment'](_0x3301aa));if(_0x5e5e79&&_0x3861f3['isExportAssignment'](_0x5e5e79)){const _0xb0724a=_0x5e5e79['getExpression']();if(_0x3861f3[_0x62dd43(0x431)](_0xb0724a)){if('glotG'!==_0x62dd43(0x407))_0x42a26a(_0x527d11('Could\x20not\x20find\x20app/_layout.tsx\x20or\x20App.tsx.\x20Add\x20this\x20to\x20your\x20root\x20component\x20manually\x20(the\x20require\x20path\x20is\x20relative\x20to\x20that\x20file\x20—\x20`./.ceraph/testid-config.json`\x20from\x20a\x20root\x20App.tsx,\x20`../.ceraph/testid-config.json`\x20from\x20app/_layout.tsx):\x0a\x20\x20useEffect(()\x20=>\x20{\x20installCeraph({\x20readTestidConfig:\x20()\x20=>\x20{\x20try\x20{\x20return\x20require(\x22./.ceraph/testid-config.json\x22);\x20}\x20catch\x20{\x20return\x20null;\x20}\x20}\x20});\x20},\x20[]);'));else{const _0x22f8c6=_0xb0724a['getSymbol']();if(_0x22f8c6){const _0x293179=_0x22f8c6[_0x62dd43(0x3c6)]()[0x0];if(_0x293179&&_0x3861f3[_0x62dd43(0x41e)](_0x293179)){const _0x5ea48a=_0x293179[_0x62dd43(0x56f)]();if(_0x5ea48a&&_0x3861f3['isArrowFunction'](_0x5ea48a))return _0x5ea48a;if(_0x5ea48a&&_0x3861f3['isFunctionExpression'](_0x5ea48a))return _0x5ea48a;}}}}if(_0x3861f3['isArrowFunction'](_0xb0724a))return _0xb0724a;if(_0x3861f3[_0x62dd43(0x32d)](_0xb0724a))return _0xb0724a;}return null;}function _0x310c48(_0x2f7553){const _0x2242e4=_0x5ccc4b;if(_0x3861f3[_0x2242e4(0x381)](_0x2f7553)){const _0x438268=_0x2f7553[_0x2242e4(0x4a7)]();if(_0x3861f3[_0x2242e4(0x57d)](_0x438268)){const _0x974f82=_0x438268[_0x2242e4(0x4a7)]();if(_0x3861f3[_0x2242e4(0x431)](_0x974f82)&&_0x974f82[_0x2242e4(0x1a9)]()===_0x59ed1a)return!![];}}return![];}function _0x2cce57(_0x4627b7){const _0x54294f=_0x5ccc4b,_0x11b566=_0x4627b7['getArguments']();if(_0x11b566['length']===0x0)return'unrelated';const _0x464d4b=_0x11b566[0x0];let _0x5999fe=null;if(_0x3861f3['isArrowFunction'](_0x464d4b)||_0x3861f3[_0x54294f(0x32d)](_0x464d4b)){const _0x5647de=_0x464d4b['getBody']();if(_0x3861f3['isBlock'](_0x5647de))_0x5999fe=_0x5647de;else{if(_0x3861f3['isCallExpression'](_0x5647de)){const _0x4f8239=_0x5647de['getExpression']();if(_0x3861f3[_0x54294f(0x431)](_0x4f8239)&&_0x4f8239[_0x54294f(0x1a9)]()===_0x59ed1a)return _0x54294f(0x3ee);}return _0x54294f(0x1d9);}}else return'unrelated';if(!_0x5999fe)return _0x54294f(0x1d9);const _0x47fddd=_0x5999fe['getStatements']();if(_0x47fddd[_0x54294f(0x471)]===0x0)return _0x54294f(0x1d9);let _0x15fe2e=![],_0x294665=![];for(const _0x2bb647 of _0x47fddd){_0x310c48(_0x2bb647)?_0x15fe2e=!![]:_0x294665=!![];}if(!_0x15fe2e)return'unrelated';return _0x294665?_0x54294f(0x199):_0x54294f(0x3ee);}function _0x261bb0(_0x6a08fd){const _0x483d51=_0x6a08fd['getBody']();if(!_0x483d51||!_0x3861f3['isBlock'](_0x483d51))return[];const _0x536821=[];return _0x483d51['forEachDescendant'](_0x5cdfc0=>{const _0x50f926=_0x4997;if(_0x3861f3[_0x50f926(0x57d)](_0x5cdfc0)){const _0x5b7bd4=_0x5cdfc0[_0x50f926(0x4a7)]();if(_0x3861f3['isIdentifier'](_0x5b7bd4)&&_0x5b7bd4['getText']()==='useEffect'){if(_0x50f926(0x527)!==_0x50f926(0x44c))_0x536821[_0x50f926(0x359)](_0x5cdfc0);else{_0x23069b[_0x50f926(0x359)]('\x20\x20[WARN]\x20\x20\x20\x20'+_0x556d52['name']+':\x20'+_0x344292[_0x50f926(0x554)]);if(_0x15a8d1['remediation'])_0x47d17a['push'](_0x50f926(0x166)+_0x9119bd['remediation']);}}}}),_0x536821;}function _0xcc39b1(_0x4e3dcc){const _0x37ff2c=_0x5ccc4b,_0x332d85=_0x4e3dcc['getImportDeclaration'](_0x37ff2c(0x409));if(!_0x332d85)return![];const _0x1725b1=_0x332d85[_0x37ff2c(0x437)](),_0x4be074=_0x1725b1[_0x37ff2c(0x173)](_0x57cbf6=>_0x57cbf6['getName']()==='useEffect');if(!_0x4be074)return![];const _0x25846a=_0x4be074['getAliasNode']();if(_0x25846a)return![];let _0x3f0858=![];_0x4e3dcc[_0x37ff2c(0x311)](_0x2e8ecb=>{const _0x563327=_0x37ff2c;if(_0x3f0858)return;if(_0x3861f3['isIdentifier'](_0x2e8ecb)&&_0x2e8ecb['getText']()==='useEffect'){const _0x277c9a=_0x2e8ecb[_0x563327(0x33a)]();if(_0x277c9a&&(_0x3861f3[_0x563327(0x21d)](_0x277c9a)||_0x3861f3[_0x563327(0x368)](_0x277c9a)))return;_0x3f0858=!![];}});if(_0x3f0858)return![];_0x4be074['remove']();const _0x49813c=_0x332d85['getNamedImports'](),_0x4e1948=_0x332d85[_0x37ff2c(0x226)]()!=null,_0x2a95d6=_0x332d85['getNamespaceImport']()!=null;return _0x49813c['length']===0x0&&!_0x4e1948&&!_0x2a95d6&&_0x332d85[_0x37ff2c(0x24c)](),!![];}function _0x1efc16(_0x11e6de){const _0x310586=_0x5ccc4b,_0x1614d2=_0x11e6de[_0x310586(0x19c)](_0x2437bc);if(!_0x1614d2)return![];const _0x1db13c=_0x1614d2[_0x310586(0x437)](),_0x47959c=_0x1db13c[_0x310586(0x173)](_0xf49b32=>_0xf49b32['getName']()===_0x59ed1a);if(!_0x47959c)return![];_0x47959c['remove']();const _0x111e52=_0x1614d2[_0x310586(0x437)](),_0x159a69=_0x1614d2[_0x310586(0x226)]()!=null;return _0x111e52[_0x310586(0x471)]===0x0&&!_0x159a69&&_0x1614d2[_0x310586(0x24c)](),!![];}async function _0x25a542(_0x4c503a){const _0x330561=_0x5ccc4b;await _0x240c07();const _0x40c23d=await _0x26350c(_0x4c503a);if(!_0x40c23d)return{'status':_0x330561(0x524)};const _0x1597bd=new _0x3b20ab({'useInMemoryFileSystem':![],'skipAddingFilesFromTsConfig':!![],'skipFileDependencyResolution':!![],'skipLoadingLibFiles':!![],'compilerOptions':{'allowJs':!![],'jsx':0x1},'manipulationSettings':{'indentationText':_0x184176[_0x330561(0x39c)]}}),_0x5cb428=_0x1597bd['addSourceFileAtPath'](_0x40c23d['filePath']),_0x33f84f=_0x1d3d3e(_0x5cb428);if(!_0x33f84f){const _0x564c3e=_0x1efc16(_0x5cb428);if(_0x564c3e)return await _0x2756c9(_0x40c23d['filePath'],_0x5cb428['getFullText'](),'utf-8'),{'status':'reverted','target':_0x40c23d,'removedUseEffect':![],'removedImport':!![]};return{'status':'already-reverted','target':_0x40c23d};}const _0x1872d8=_0x261bb0(_0x33f84f),_0x1a74ba=_0x1872d8[_0x330561(0x362)](_0x4a3118=>({'call':_0x4a3118,'kind':_0x2cce57(_0x4a3118)})),_0x39e9bb=_0x1a74ba['filter'](_0x174825=>_0x174825['kind']===_0x330561(0x3ee)),_0x492b88=_0x1a74ba[_0x330561(0x235)](_0x453967=>_0x453967['kind']==='installCeraph-with-others');if(_0x492b88['length']>0x0)return{'status':_0x330561(0x507),'target':_0x40c23d,'reason':_0x330561(0x4f3)};let _0x37dd0b=![];for(const _0x403d9f of _0x39e9bb){const _0x522ba8=_0x403d9f['call'][_0x330561(0x1d0)](_0xeef8a5[_0x330561(0x52c)]);_0x522ba8&&(_0x522ba8['remove'](),_0x37dd0b=!![]);}const _0x2b0006=_0x1efc16(_0x5cb428);_0x37dd0b&&_0xcc39b1(_0x5cb428);if(!_0x37dd0b&&!_0x2b0006)return{'status':'already-reverted','target':_0x40c23d};return await _0x2756c9(_0x40c23d['filePath'],_0x5cb428['getFullText'](),_0x330561(0x449)),{'status':'reverted','target':_0x40c23d,'removedUseEffect':_0x37dd0b,'removedImport':_0x2b0006};}var _0x184176,_0x3861f3,_0x3b20ab,_0xeef8a5,_0x145529,_0x2437bc,_0x59ed1a,_0xb98eca=_0x4d3071({'src/uninstall/revert-boot.ts'(){'use strict';_0x145529=![],_0x2437bc='@ceraph/react-native-mcp/shim',_0x59ed1a='installCeraph';}});import{writeFile as _0x381c4e,readdir as _0x37ced8}from'fs/promises';import{join as _0x24357f,relative as _0x4ad312,sep as _0x53bbf7}from'path';async function _0x4e750d(){const _0x2fded2=_0x5ccc4b;if(_0x341bcd)return;const _0x362911=await import(_0x2fded2(0x2cd));({IndentationText:_0x49afea,Node:_0x13bd16,Project:_0x58e31b,SyntaxKind:_0x18a111}=_0x362911,_0x341bcd=!![]);}async function _0x34ce04(_0x34b1a5){const _0x1211ea=_0x5ccc4b,_0xdbdbff=[];async function _0x1db404(_0x259c60){const _0x185c1c=_0x4997;let _0x156d80;try{_0x156d80=await _0x37ced8(_0x259c60,{'withFileTypes':!![]});}catch{return;}for(const _0x42e495 of _0x156d80){const _0x2dab38=_0x24357f(_0x259c60,_0x42e495[_0x185c1c(0x34d)]);if(_0x42e495[_0x185c1c(0x1c7)]()){if('YangL'==='YangL'){if(_0x45d910['has'](_0x42e495[_0x185c1c(0x34d)]))continue;await _0x1db404(_0x2dab38);continue;}else return[];}if(!_0x42e495[_0x185c1c(0x266)]())continue;const _0x3711f6=_0x42e495['name'][_0x185c1c(0x326)]('.');if(_0x3711f6<0x0)continue;const _0x382fe8=_0x42e495[_0x185c1c(0x34d)][_0x185c1c(0x54d)](_0x3711f6)[_0x185c1c(0x223)]();if(!_0x5b99b4[_0x185c1c(0x466)](_0x382fe8))continue;_0xdbdbff['push'](_0x2dab38);}}for(const _0x3391ef of _0x13af8d){await _0x1db404(_0x24357f(_0x34b1a5,_0x3391ef));}for(const _0x66b429 of['App.tsx','App.jsx']){_0xdbdbff[_0x1211ea(0x359)](_0x24357f(_0x34b1a5,_0x66b429));}return _0xdbdbff;}function _0xb976f1(_0x178cde){const _0x4f6728=_0x5ccc4b,_0x25f93e=new _0x58e31b({'useInMemoryFileSystem':![],'skipAddingFilesFromTsConfig':!![],'skipFileDependencyResolution':!![],'skipLoadingLibFiles':!![],'compilerOptions':{'allowJs':!![],'jsx':0x1},'manipulationSettings':{'indentationText':_0x49afea['TwoSpaces']}});for(const _0xbd6d03 of _0x178cde){try{_0x25f93e[_0x4f6728(0x1e7)](_0xbd6d03);}catch{}}return _0x25f93e;}function _0x301fe7(_0x1e5880,_0x3b8c83){const _0x4eb6c9=_0x5ccc4b,_0x124293=[];return _0x1e5880[_0x4eb6c9(0x311)](_0x187a1e=>{const _0x1649b3=_0x4eb6c9;if(_0x13bd16['isJsxOpeningElement'](_0x187a1e)||_0x13bd16['isJsxSelfClosingElement'](_0x187a1e)){const _0x3ede00=_0x187a1e[_0x1649b3(0x50e)]();_0x3ede00[_0x1649b3(0x1a9)]()===_0x3b8c83&&_0x124293['push'](_0x187a1e);}}),_0x124293;}function _0x23ae27(_0xc5fa84){const _0x3cb002=_0x5ccc4b,_0x1ddb40=_0xc5fa84[_0x3cb002(0x27a)]();for(const _0x58223e of _0x1ddb40){if(_0x13bd16[_0x3cb002(0x1f0)](_0x58223e)){const _0x35fd94=_0x58223e[_0x3cb002(0x2b4)]();_0x35fd94['getText']()==='imageKey'&&_0x58223e[_0x3cb002(0x24c)]();}}}function _0x33f7b7(_0x880b41){const _0x272da7=_0x5ccc4b;let _0xa26dd1=0x0,_0x386817=Number[_0x272da7(0x24b)];for(let _0x5c0960=0x0;_0x5c0960<0x2710;_0x5c0960++){const _0x5f1a7e=_0x301fe7(_0x880b41,_0x58ac42);if(_0x5f1a7e[_0x272da7(0x471)]===0x0)break;if(_0x5f1a7e['length']>=_0x386817)break;_0x386817=_0x5f1a7e['length'];const _0x25d19a=_0x5f1a7e[0x0];_0x25d19a[_0x272da7(0x50e)]()['replaceWithText'](_0x3c4c22);if(_0x13bd16['isJsxOpeningElement'](_0x25d19a)){const _0x56e247=_0x25d19a[_0x272da7(0x317)](_0x18a111['JsxElement']);if(_0x56e247){const _0x36a037=_0x56e247['getClosingElement']();_0x36a037[_0x272da7(0x50e)]()[_0x272da7(0x50c)](_0x3c4c22);}}_0x23ae27(_0x25d19a),_0xa26dd1++;}return _0xa26dd1;}function _0x2ae4bc(_0x1e791f){const _0x1d762b=_0x5ccc4b,_0x5c53fd=_0x1e791f['getImportDeclaration'](_0x40d4a6);if(!_0x5c53fd)return![];const _0x18fa8d=_0x5c53fd[_0x1d762b(0x437)](),_0x15d689=_0x18fa8d['find'](_0x307640=>_0x307640[_0x1d762b(0x1a3)]()===_0x58ac42);if(!_0x15d689)return![];_0x15d689['remove']();const _0x439a4b=_0x5c53fd[_0x1d762b(0x437)](),_0xa7adb8=_0x5c53fd['getDefaultImport']()!=null;return _0x439a4b['length']===0x0&&!_0xa7adb8&&_0x5c53fd[_0x1d762b(0x24c)](),!![];}function _0x33f3a4(_0x258ec9){const _0x37cfab=_0x5ccc4b,_0x204380=_0x258ec9[_0x37cfab(0x19c)](_0x4d488c);if(_0x204380){const _0x1d57d8=_0x204380[_0x37cfab(0x437)]();if(_0x1d57d8[_0x37cfab(0x28e)](_0x92ec14=>_0x92ec14[_0x37cfab(0x1a3)]()===_0x3c4c22))return![];return _0x204380[_0x37cfab(0x2eb)](_0x3c4c22),!![];}return _0x258ec9['addImportDeclaration']({'moduleSpecifier':_0x4d488c,'namedImports':[_0x3c4c22]}),!![];}async function _0x190423(_0x16c125){const _0x5b0319=_0x5ccc4b;await _0x4e750d();const _0x137035=await _0x34ce04(_0x16c125),_0x37fa17=_0xb976f1(_0x137035),_0x571547=[];let _0x58d0e6=0x0;for(const _0x167258 of _0x37fa17['getSourceFiles']()){_0x58d0e6++;const _0x9e8421=_0x301fe7(_0x167258,_0x58ac42);if(_0x9e8421['length']===0x0){const _0x1d09f2=_0x167258[_0x5b0319(0x19c)](_0x40d4a6),_0x43a1a2=_0x1d09f2!=null&&_0x1d09f2['getNamedImports']()['some'](_0x433154=>_0x433154[_0x5b0319(0x1a3)]()===_0x58ac42);if(!_0x43a1a2)continue;const _0x3417fd=_0x2ae4bc(_0x167258);if(!_0x3417fd)continue;const _0x2db48a=_0x167258[_0x5b0319(0x525)]();await _0x381c4e(_0x2db48a,_0x167258['getFullText'](),_0x5b0319(0x449)),_0x571547[_0x5b0319(0x359)]({'path':_0x2db48a,'relPath':_0x4ad312(_0x16c125,_0x2db48a)[_0x5b0319(0x4c7)](_0x53bbf7)[_0x5b0319(0x3aa)]('/'),'ceraphCamerasRemoved':0x0,'importDropped':!![],'importRestored':![]});continue;}const _0x4ddaa4=_0x33f7b7(_0x167258),_0x585e29=_0x301fe7(_0x167258,_0x58ac42),_0x23d5f6=_0x585e29['length']===0x0?_0x2ae4bc(_0x167258):![],_0x1576e4=_0x301fe7(_0x167258,_0x3c4c22)['length']>0x0,_0x5b3642=_0x1576e4?_0x33f3a4(_0x167258):![],_0x421d20=_0x167258[_0x5b0319(0x525)]();await _0x381c4e(_0x421d20,_0x167258[_0x5b0319(0x175)](),_0x5b0319(0x449)),_0x571547[_0x5b0319(0x359)]({'path':_0x421d20,'relPath':_0x4ad312(_0x16c125,_0x421d20)[_0x5b0319(0x4c7)](_0x53bbf7)['join']('/'),'ceraphCamerasRemoved':_0x4ddaa4,'importDropped':_0x23d5f6,'importRestored':_0x5b3642});}return{'files':_0x571547,'filesScanned':_0x58d0e6};}var _0x49afea,_0x13bd16,_0x58e31b,_0x18a111,_0x341bcd,_0x40d4a6,_0x58ac42,_0x4d488c,_0x3c4c22,_0x13af8d,_0x5b99b4,_0x45d910,_0x1dbe7f=_0x4d3071({'src/uninstall/revert-camera.ts'(){'use strict';const _0x10f1d0=_0x5ccc4b;_0x341bcd=![],_0x40d4a6=_0x10f1d0(0x2e7),_0x58ac42='CeraphCamera',_0x4d488c='expo-camera',_0x3c4c22='CameraView',_0x13af8d=[_0x10f1d0(0x526),_0x10f1d0(0x2ce),_0x10f1d0(0x48f)],_0x5b99b4=new Set([_0x10f1d0(0x3b3),'.jsx']),_0x45d910=new Set([_0x10f1d0(0x1b8),'dist','build',_0x10f1d0(0x325),'.ceraph',_0x10f1d0(0x4c6),_0x10f1d0(0x528),_0x10f1d0(0x4b3),_0x10f1d0(0x559)]);}});import{spawn as _0x434776}from'child_process';import{readFile as _0x4f6481,access as _0x4abc6f}from'fs/promises';import{join as _0x19765c}from'path';async function _0x56bb0d(_0x4c934b){try{return await _0x4abc6f(_0x4c934b),!![];}catch{return![];}}async function _0x554bce(_0x5da617){const _0x16b73e=_0x5ccc4b;for(const {file:_0x2d5f97,pm:_0x29e1fc}of _0x33ad9d){if(await _0x56bb0d(_0x19765c(_0x5da617,_0x2d5f97)))return _0x29e1fc;}return _0x16b73e(0x3ec);}function _0xc8fa43(_0x42259b,_0xe6cec1){const _0x282ab9=_0x5ccc4b;switch(_0x42259b){case _0x282ab9(0x54c):return{'bin':_0x282ab9(0x54c),'args':[_0x282ab9(0x24c),..._0xe6cec1]};case _0x282ab9(0x571):return{'bin':'yarn','args':[_0x282ab9(0x24c),..._0xe6cec1]};case'bun':return{'bin':'bun','args':['remove',..._0xe6cec1]};case'npm':return{'bin':'npm','args':[_0x282ab9(0x531),..._0xe6cec1]};}}async function _0x3e6940(_0x226027,_0x4214d8){const _0x5e7a76=_0x5ccc4b;let _0xd93029;try{_0xd93029=await _0x4f6481(_0x19765c(_0x226027,'package.json'),_0x5e7a76(0x449));}catch{return _0x5e7a76(0x293)===_0x5e7a76(0x472)?{'kind':_0x5e7a76(0x4c5),'matches':[],'rootIsRnApp':![],'isMonorepo':![]}:[];}let _0x49f469;try{_0x49f469=JSON['parse'](_0xd93029);}catch{return[];}if(!_0x49f469||typeof _0x49f469!==_0x5e7a76(0x382))return[];const _0x1c466f=_0x49f469['dependencies']??{},_0x3e41c7=_0x49f469[_0x5e7a76(0x3d3)]??{};return _0x4214d8[_0x5e7a76(0x235)](_0x470a73=>Boolean(_0x1c466f[_0x470a73]||_0x3e41c7[_0x470a73]));}async function _0x38d246(_0x5e8ab1,_0x1a0c86={}){const _0x1f9c69=_0x5ccc4b,_0x16a004=await _0x554bce(_0x5e8ab1),_0x15c60b=[_0x3ef306],_0x401bc6=await _0x3e6940(_0x5e8ab1,_0x15c60b);if(_0x401bc6['length']===0x0)return{'status':'nothing-to-remove','pm':_0x16a004,'removedPackages':[]};const _0x486b0a=_0xc8fa43(_0x16a004,_0x401bc6),_0x29c3f7=_0x1a0c86['spawnRemove']??_0x57808b,_0x574d35=await _0x29c3f7({'bin':_0x486b0a['bin'],'args':_0x486b0a['args'],'cwd':_0x5e8ab1});if(_0x574d35['exitCode']!==0x0)return{'status':'command-failed','pm':_0x16a004,'removedPackages':[],'command':_0x486b0a,'exitCode':_0x574d35['exitCode']};return{'status':_0x1f9c69(0x29c),'pm':_0x16a004,'removedPackages':_0x401bc6,'command':_0x486b0a};}function _0x57808b(_0x39d175){return new Promise(_0x241147=>{const _0x57d194=_0x4997,_0x7bece1=_0x434776(_0x39d175[_0x57d194(0x319)],_0x39d175[_0x57d194(0x4e2)],{'cwd':_0x39d175[_0x57d194(0x380)],'stdio':'inherit'});_0x7bece1['on'](_0x57d194(0x51e),()=>_0x241147({'exitCode':0x7f})),_0x7bece1['on']('exit',_0x5193d0=>_0x241147({'exitCode':_0x5193d0??0x1}));});}var _0x33ad9d,_0x3ef306,_0x3683d8=_0x4d3071({'src/uninstall/revert-package.ts'(){'use strict';const _0x47fa54=_0x5ccc4b;_0x33ad9d=[{'file':'pnpm-lock.yaml','pm':_0x47fa54(0x54c)},{'file':_0x47fa54(0x3a9),'pm':_0x47fa54(0x571)},{'file':_0x47fa54(0x481),'pm':_0x47fa54(0x2a0)},{'file':_0x47fa54(0x20a),'pm':'bun'},{'file':'package-lock.json','pm':'npm'}],_0x3ef306='@ceraph/react-native-mcp';}});import{copyFile,mkdir as _0x1bb544,readFile as _0xe5a94a,rm as _0x419e6d,stat as _0x1bf787}from'fs/promises';import{tmpdir,homedir as _0x20bd55}from'os';import{dirname as _0xb15ead,isAbsolute as _0x436214,join as _0x51ae54,relative as _0x125da6}from'path';async function _0x45d624(){if(_0x5ac651)return;const _0xae7aa7=await import('ts-morph');({Node:_0x2f5cc6,Project:_0x559f04}=_0xae7aa7,_0x5ac651=!![]);}async function _0x403979(_0x50d6be){const _0x5e4fe7=_0x5ccc4b,_0x453c3f=[],_0x15d242=_0x10ab9a=>{const _0x1d8687=_0x4997;_0x453c3f[_0x1d8687(0x359)](_0x10ab9a),_0x50d6be['onStep']?.(_0x10ab9a);},_0x55c05f=await _0x27e77b(_0x50d6be);if(_0x55c05f[_0x5e4fe7(0x2b7)]==='error'){if(_0x5e4fe7(0x3d0)===_0x5e4fe7(0x3d0)){const _0x27cd8b={'name':'monorepo','status':'error','details':{'matches':_0x55c05f[_0x5e4fe7(0x4be)]},'remediation':_0x55c05f[_0x5e4fe7(0x2c8)]};return _0x15d242(_0x27cd8b),_0x2a75bb(_0x50d6be['projectDir'],_0x453c3f);}else return{'status':_0x5e4fe7(0x3ca),'flavor':_0x4789fe[_0x5e4fe7(0x441)],'screenCount':_0xcf7f1f['screenCount'],'layoutCount':_0x3c10ea[_0x5e4fe7(0x51b)],'bundleId':_0x43b088[_0x5e4fe7(0x327)]??null,'persisted':_0x22fe36[_0x5e4fe7(0x3b0)]===!![]};}const _0x22af15=_0x55c05f[_0x5e4fe7(0x3ac)],_0x4a4f27=_0x50d6be['rootDir']??_0x50d6be['projectDir'],_0x4565de=_0x50d6be['dryRun']===!![],_0x2d7e92=await _0x59a763(_0x22af15,_0x50d6be,_0x4565de);_0x15d242(_0x2d7e92);const _0x553a41=await _0x3e90f6(_0x22af15,_0x50d6be,_0x4565de);_0x15d242(_0x553a41);const _0x31dc87=await _0x5b34d4(_0x22af15,_0x50d6be,_0x4565de);_0x15d242(_0x31dc87);const _0x2a59c6=await _0x1dc157(_0x22af15,_0x50d6be,_0x4565de);_0x15d242(_0x2a59c6);const _0x3510b9=await _0x54b12b(_0x4a4f27,_0x50d6be,_0x4565de);_0x15d242(_0x3510b9);const _0xdd9348=await _0xfeecbe(_0x4a4f27,_0x50d6be,_0x4565de);_0x15d242(_0xdd9348);const _0x41f6b6=await _0x484852(_0x22af15,_0x50d6be,_0x4565de);_0x15d242(_0x41f6b6);const _0x50357f=await _0x1b6756(_0x50d6be,_0x4565de);_0x15d242(_0x50357f);const _0x2d3a4b=await _0x198201(_0x22af15,_0x50d6be,_0x4565de);_0x15d242(_0x2d3a4b);const _0x5435f1=await _0x178efa(_0x50d6be,_0x4565de);_0x15d242(_0x5435f1);const _0x27c9a4=await _0x545ce6(_0x22af15,_0x50d6be,_0x4565de);return _0x15d242(_0x27c9a4),_0x2a75bb(_0x22af15,_0x453c3f);}async function _0x27e77b(_0x4803a0){const _0x1a81a3=_0x5ccc4b,_0xdffbec=_0x4803a0['detectMonorepo']??_0x5ec4d2,_0x50f641=await _0xdffbec(_0x4803a0['projectDir']);if(_0x50f641['kind']===_0x1a81a3(0x4c5))return{'kind':'ok','workingDir':_0x4803a0[_0x1a81a3(0x298)]};if(_0x50f641['kind']==='single'){const _0x4ffb35=_0x50f641['matches'][0x0];if(!_0x4ffb35)return{'kind':'ok','workingDir':_0x4803a0[_0x1a81a3(0x298)]};return{'kind':'ok','workingDir':_0x4ffb35[_0x1a81a3(0x26d)]};}return{'kind':_0x1a81a3(0x51e),'matches':_0x50f641['matches']['map'](_0x479444=>({'relPath':_0x479444['relPath'],'absPath':_0x479444[_0x1a81a3(0x26d)]})),'remediation':_0x1a81a3(0x1bc)+(_0x50f641['matches'][0x0]?.['relPath']??'apps/mobile')+'`.'};}async function _0x59a763(_0x364fe8,_0x202271,_0x3e1f79){const _0x4d70f7=_0x5ccc4b,_0xb8c43e=_0x202271['revertCamera']??_0x190423;if(_0x3e1f79)try{const _0x5d1a4e=await _0x1c5aa3(_0x364fe8,_0xb8c43e);return _0x3ee066(_0x5d1a4e,{'dryRun':!![]});}catch(_0xc086c){return{'name':_0x4d70f7(0x4eb),'status':_0x4d70f7(0x51e),'details':{'error':_0x1b253d(_0xc086c)},'remediation':'Dry-run\x20camera\x20preview\x20failed.\x20Re-run\x20without\x20--dry-run\x20after\x20fixing\x20the\x20error\x20above,\x20or\x20pass\x20--project-dir\x20if\x20the\x20path\x20is\x20wrong.'};}const _0x45bc41=new Map();try{const _0x3e7c67=await _0x1475ea(_0x364fe8);for(const _0x342727 of _0x3e7c67){_0x45bc41[_0x4d70f7(0x4fb)](_0x342727,await _0x3f3777(_0x342727));}const _0x16c734=await _0xb8c43e(_0x364fe8);return _0x3ee066(_0x16c734,{'dryRun':![]});}catch(_0x4e801d){const _0x46ec86=[];for(const [_0x5669c5,_0xdf3480]of _0x45bc41){if(_0xdf3480==null)continue;try{await _0x4db18c(_0x5669c5,_0xdf3480);}catch(_0x14109e){_0x46ec86[_0x4d70f7(0x359)](_0x5669c5+':\x20'+_0x1b253d(_0x14109e));}}const _0x57d0ad='Camera\x20revert\x20failed:\x20'+_0x1b253d(_0x4e801d)+'.',_0x3f8b1f=_0x46ec86['length']===0x0?_0x57d0ad+'\x20All\x20edited\x20files\x20were\x20restored\x20from\x20snapshots.':_0x57d0ad+_0x4d70f7(0x20f)+_0x46ec86[_0x4d70f7(0x3aa)](';\x20');return{'name':'camera','status':_0x4d70f7(0x51e),'details':{'error':_0x1b253d(_0x4e801d),'snapshotCount':_0x45bc41[_0x4d70f7(0x52e)],'restoreFailures':_0x46ec86},'remediation':_0x3f8b1f};}}function _0x3ee066(_0x257860,_0x549425){const _0x354340=_0x5ccc4b,_0x8384a6=_0x257860[_0x354340(0x33e)][_0x354340(0x170)]((_0x367c37,_0x39c87e)=>_0x367c37+_0x39c87e['ceraphCamerasRemoved'],0x0),_0x1a3007=_0x8384a6;if(_0x257860[_0x354340(0x33e)]['length']===0x0)return{'name':_0x354340(0x4eb),'status':_0x354340(0x1b6),'details':{'filesScanned':_0x257860['filesScanned'],..._0x549425[_0x354340(0x26e)]?{'dryRun':!![]}:{}}};const _0x30e12c=_0x1a3007>0x0?'warning':'reverted',_0x3e2962={'name':_0x354340(0x4eb),'status':_0x30e12c,'details':{'filesScanned':_0x257860['filesScanned'],'filesEdited':_0x257860['files']['map'](_0x57433c=>_0x57433c['relPath']),'ceraphCamerasRemoved':_0x8384a6,'importDropped':_0x257860['files'][_0x354340(0x235)](_0x44ea9e=>_0x44ea9e[_0x354340(0x1be)])[_0x354340(0x471)],'importRestored':_0x257860[_0x354340(0x33e)][_0x354340(0x235)](_0x5e9502=>_0x5e9502[_0x354340(0x3b4)])['length'],'imageKeysStripped':_0x1a3007,..._0x549425[_0x354340(0x26e)]?{'dryRun':!![]}:{}}};return _0x30e12c===_0x354340(0x473)&&(_0x3e2962['remediation']=_0x354340(0x2f0)+_0x1a3007+'\x20<CeraphCamera>\x20tag(s).\x20If\x20any\x20of\x20those\x20keys\x20were\x20customer-set\x20(not\x20Ceraph-generated),\x20re-apply\x20them\x20after\x20install\x20rebuilds\x20the\x20camera\x20surface.'),_0x3e2962;}async function _0x1475ea(_0x2fcd61){const _0x334128=_0x5ccc4b,_0x227ce2=['app','src','screens'],_0x18f627=new Set([_0x334128(0x3b3),'.jsx']),_0x47daf5=new Set([_0x334128(0x1b8),'dist',_0x334128(0x34b),_0x334128(0x325),'.ceraph',_0x334128(0x4c6),'.next','ios',_0x334128(0x559)]),_0x3c0049=[],_0x30f293=async _0x5ad228=>{const _0x1997f5=_0x334128;let _0x288783;try{const {readdir:_0x220d39}=await import('fs/promises');_0x288783=await _0x220d39(_0x5ad228,{'withFileTypes':!![]});}catch{return;}for(const _0x32d298 of _0x288783){if(_0x32d298['isDirectory']()){if(_0x47daf5[_0x1997f5(0x466)](_0x32d298[_0x1997f5(0x34d)]))continue;await _0x30f293(_0x51ae54(_0x5ad228,_0x32d298['name']));continue;}if(!_0x32d298['isFile']())continue;const _0x409d21=_0x32d298[_0x1997f5(0x34d)]['lastIndexOf']('.');if(_0x409d21<0x0)continue;const _0x543eac=_0x32d298['name']['slice'](_0x409d21)[_0x1997f5(0x223)]();if(!_0x18f627['has'](_0x543eac))continue;_0x3c0049['push'](_0x51ae54(_0x5ad228,_0x32d298[_0x1997f5(0x34d)]));}};for(const _0x55bd7c of _0x227ce2){await _0x30f293(_0x51ae54(_0x2fcd61,_0x55bd7c));}for(const _0x28c00c of['App.tsx','App.jsx']){_0x3c0049[_0x334128(0x359)](_0x51ae54(_0x2fcd61,_0x28c00c));}const _0x4f3f5d=[];for(const _0x30cfff of _0x3c0049){let _0x14c5d7;try{_0x14c5d7=await _0xe5a94a(_0x30cfff,_0x334128(0x449));}catch{if(_0x334128(0x545)!=='senvZ')continue;else return{'mutated':![],'next':_0x2e18fa};}if(_0x14c5d7[_0x334128(0x26f)](_0x334128(0x3a0)))_0x4f3f5d['push'](_0x30cfff);}return _0x4f3f5d;}async function _0x1c5aa3(_0x284bdb,_0x182be7){const _0x35ed3d=_0x5ccc4b,_0x501459=await _0x1475ea(_0x284bdb),_0x3d8a77=_0x51ae54(tmpdir(),_0x35ed3d(0x54f)+Date['now']()+'-'+Math[_0x35ed3d(0x4c9)]()[_0x35ed3d(0x2a9)](0x24)[_0x35ed3d(0x54d)](0x2));try{await _0x1bb544(_0x3d8a77,{'recursive':!![]});for(const _0x5797cd of _0x501459){const _0x198f16=_0x125da6(_0x284bdb,_0x5797cd),_0x5d712e=_0x51ae54(_0x3d8a77,_0x198f16);await _0x1bb544(_0xb15ead(_0x5d712e),{'recursive':!![]}),await copyFile(_0x5797cd,_0x5d712e);}return await _0x182be7(_0x3d8a77);}finally{try{await _0x419e6d(_0x3d8a77,{'recursive':!![],'force':!![]});}catch{}}}async function _0x3e90f6(_0x2ab71a,_0x1b458b,_0x5acdcc){const _0x4a6b7e=_0x5ccc4b,_0x55aa4a=_0x1b458b['revertBoot']??_0x25a542,_0x241aed=_0x1b458b[_0x4a6b7e(0x301)]??_0x26350c;if(_0x5acdcc){if('xPeTC'!==_0x4a6b7e(0x2cf)){'use strict';_0x38a153(),_0x3a98cb=[_0x2a84f7(_0x4a6b7e(0x4a4)),_0x49084f('@react-native/babel-preset')];}else try{const _0x4cba28=await _0x241aed(_0x2ab71a);if(!_0x4cba28)return{'name':_0x4a6b7e(0x207),'status':'already-reverted','details':{'reason':'no\x20layout\x20file\x20detected','dryRun':!![]}};const _0x5b4c5c=await _0x274760(_0x4cba28['filePath'],_0x2ab71a);try{const _0x4af07d=await _0x55aa4a(_0x5b4c5c['projectDir']);return await _0x483490(_0x4af07d,_0x2ab71a,_0x4cba28,_0x1b458b,!![]);}finally{await _0x419e6d(_0x5b4c5c[_0x4a6b7e(0x572)],{'recursive':!![],'force':!![]})['catch'](()=>void 0x0);}}catch(_0x16960c){return{'name':'boot','status':'error','details':{'error':_0x1b253d(_0x16960c),'dryRun':!![]},'remediation':_0x4a6b7e(0x34c)};}}try{const _0x186665=await _0x55aa4a(_0x2ab71a),_0x14ef99=_0x186665['status']===_0x4a6b7e(0x524)?null:_0x186665[_0x4a6b7e(0x4da)];return await _0x483490(_0x186665,_0x2ab71a,_0x14ef99,_0x1b458b,![]);}catch(_0x104557){return{'name':_0x4a6b7e(0x207),'status':'error','details':{'error':_0x1b253d(_0x104557)},'remediation':'Boot\x20revert\x20raised.\x20Check\x20the\x20layout\x20file\x20for\x20syntax\x20errors\x20before\x20re-running.'};}}async function _0x483490(_0x5a3057,_0xd91b2d,_0x1b8b5c,_0x1b0e5b,_0x5835d2){const _0x4ba881=_0x5ccc4b;switch(_0x5a3057[_0x4ba881(0x416)]){case'reverted':return{'name':'boot','status':'reverted','details':{'target':_0x5a3057['target'],'removedUseEffect':_0x5a3057['removedUseEffect'],'removedImport':_0x5a3057[_0x4ba881(0x40b)],..._0x5835d2?{'dryRun':!![]}:{}}};case _0x4ba881(0x1b6):return{'name':'boot','status':'already-reverted','details':{'target':_0x5a3057['target'],..._0x5835d2?{'dryRun':!![]}:{}}};case _0x4ba881(0x524):return{'name':_0x4ba881(0x207),'status':_0x4ba881(0x1b6),'details':{'reason':'no\x20layout\x20file\x20detected',..._0x5835d2?{'dryRun':!![]}:{}}};case'skipped':{const _0x35adf7=await _0x337f54(_0x5a3057['target'][_0x4ba881(0x47a)]);return{'name':'boot','status':_0x4ba881(0x1f3),'details':{'target':_0x5a3057[_0x4ba881(0x4da)],'reason':_0x5a3057[_0x4ba881(0x3d1)],'location':_0x35adf7[_0x4ba881(0x2bd)],'otherStatements':_0x35adf7['otherStatements'],..._0x35adf7['parseError']!==void 0x0?{'parseError':_0x35adf7[_0x4ba881(0x17b)]}:{},..._0x5835d2?{'dryRun':!![]}:{}},'remediation':_0x4ba881(0x169)+_0x5a3057[_0x4ba881(0x4da)]['filePath']+(_0x35adf7[_0x4ba881(0x2bd)]?':'+_0x35adf7[_0x4ba881(0x2bd)]['line']:'')+').\x20Remove\x20the\x20`installCeraph()`\x20call\x20by\x20hand\x20without\x20dropping\x20your\x20own\x20code,\x20then\x20re-run\x20`npx\x20@ceraph/react-native-mcp\x20uninstall`.'+(_0x35adf7['parseError']!==void 0x0?'\x20(Note:\x20re-parse\x20failed\x20—\x20line\x20info\x20missing:\x20'+_0x35adf7[_0x4ba881(0x17b)]+')':'')};}}return{'name':'boot','status':_0x4ba881(0x51e),'details':{'result':_0x5a3057},'remediation':_0x4ba881(0x1eb)};}async function _0x337f54(_0x536ba8){const _0x394db8=_0x5ccc4b;try{await _0x45d624();const _0x67a01d=new _0x559f04({'useInMemoryFileSystem':![],'skipAddingFilesFromTsConfig':!![],'skipFileDependencyResolution':!![],'skipLoadingLibFiles':!![],'compilerOptions':{'allowJs':!![],'jsx':0x1}}),_0x47ba56=_0x67a01d[_0x394db8(0x1e7)](_0x536ba8),_0x1af9cc=_0x5cec58(_0x47ba56);if(!_0x1af9cc)return{'location':null,'otherStatements':[]};const _0x19b93a=_0x1af9cc['getBody']();if(!_0x19b93a||!_0x2f5cc6[_0x394db8(0x374)](_0x19b93a))return{'location':null,'otherStatements':[]};let _0x2e9937=null,_0x33950d=[];return _0x19b93a[_0x394db8(0x311)](_0x27f5a5=>{const _0xe99322=_0x394db8;if(_0x2e9937)return;if(!_0x2f5cc6[_0xe99322(0x57d)](_0x27f5a5))return;const _0x190873=_0x27f5a5['getExpression']();if(!_0x2f5cc6[_0xe99322(0x431)](_0x190873)||_0x190873['getText']()!=='useEffect'){if(_0xe99322(0x36d)!==_0xe99322(0x36d))_0x16f45b in _0x395d93&&(delete _0x457def[_0xe6e3d8],_0xdbb16f[_0xe99322(0x359)](_0x15d9e7));else return;}const _0x45c1cc=_0x27f5a5['getArguments'](),_0x2e8eb1=_0x45c1cc[0x0];if(!_0x2e8eb1)return;if(!_0x2f5cc6['isArrowFunction'](_0x2e8eb1)&&!_0x2f5cc6['isFunctionExpression'](_0x2e8eb1))return;const _0x4acc2c=_0x2e8eb1[_0xe99322(0x540)]();if(!_0x2f5cc6[_0xe99322(0x374)](_0x4acc2c))return;const _0x4f5753=_0x4acc2c[_0xe99322(0x516)](),_0x59a55f=[],_0xaf4565=[];for(const _0x3afd3f of _0x4f5753){if(_0x4f63cc(_0x3afd3f))_0x59a55f[_0xe99322(0x359)](_0x3afd3f);else _0xaf4565[_0xe99322(0x359)](_0x3afd3f);}_0x59a55f['length']>0x0&&_0xaf4565[_0xe99322(0x471)]>0x0&&(_0x2e9937={'line':_0x27f5a5['getStartLineNumber']()},_0x33950d=_0xaf4565['map'](_0x262638=>_0x262638['getText']()));}),{'location':_0x2e9937,'otherStatements':_0x33950d};}catch(_0xe328e6){return{'location':null,'otherStatements':[],'parseError':_0x1b253d(_0xe328e6)};}}function _0x5cec58(_0x1723e4){const _0x370549=_0x5ccc4b;for(const _0x3c355f of _0x1723e4['getFunctions']()){if('sgdTz'===_0x370549(0x2d2)){if(_0x3c355f['isDefaultExport']())return _0x3c355f;}else return![];}const _0x56b813=_0x1723e4['getStatements']()[_0x370549(0x173)](_0x47a60a=>_0x2f5cc6['isExportAssignment'](_0x47a60a));if(_0x56b813&&_0x2f5cc6['isExportAssignment'](_0x56b813)){const _0x5c82a7=_0x56b813['getExpression']();if(_0x2f5cc6[_0x370549(0x431)](_0x5c82a7)){const _0x38e66f=_0x5c82a7['getSymbol']();if(_0x38e66f){const _0x44a5b2=_0x38e66f[_0x370549(0x3c6)]()[0x0];if(_0x44a5b2&&_0x2f5cc6[_0x370549(0x41e)](_0x44a5b2)){const _0x3498a1=_0x44a5b2[_0x370549(0x56f)]();if(_0x3498a1&&_0x2f5cc6['isArrowFunction'](_0x3498a1))return _0x3498a1;if(_0x3498a1&&_0x2f5cc6['isFunctionExpression'](_0x3498a1))return _0x3498a1;}}}if(_0x2f5cc6['isArrowFunction'](_0x5c82a7))return _0x5c82a7;if(_0x2f5cc6[_0x370549(0x32d)](_0x5c82a7))return _0x5c82a7;}return null;}function _0x4f63cc(_0x1cc5d7){const _0x4f75a1=_0x5ccc4b;if(!_0x2f5cc6[_0x4f75a1(0x381)](_0x1cc5d7))return![];const _0x129b15=_0x1cc5d7[_0x4f75a1(0x4a7)]();if(!_0x2f5cc6[_0x4f75a1(0x57d)](_0x129b15))return![];const _0x433736=_0x129b15['getExpression']();return _0x2f5cc6[_0x4f75a1(0x431)](_0x433736)&&_0x433736[_0x4f75a1(0x1a9)]()===_0x4f75a1(0x35e);}async function _0x1dc157(_0x5ba712,_0x33978e,_0x34eadb){const _0x136dd3=_0x5ccc4b,_0x56be5d=_0x33978e[_0x136dd3(0x401)]??_0x2a567c;if(_0x34eadb)try{const _0x1cec1c=await _0x463783(_0x5ba712);try{const _0x5b65fe=await _0x56be5d(_0x1cec1c['projectDir']);return _0x43ec38(_0x5b65fe,!![]);}finally{await _0x419e6d(_0x1cec1c['tmpRoot'],{'recursive':!![],'force':!![]})['catch'](()=>void 0x0);}}catch(_0x21ef9a){return{'name':_0x136dd3(0x18f),'status':'error','details':{'error':_0x1b253d(_0x21ef9a),'dryRun':!![]}};}try{const _0x40ac58=await _0x56be5d(_0x5ba712);return _0x43ec38(_0x40ac58,![]);}catch(_0x377537){return{'name':_0x136dd3(0x18f),'status':_0x136dd3(0x51e),'details':{'error':_0x1b253d(_0x377537)}};}}function _0x43ec38(_0x595e1d,_0x4db4a7){const _0x21cca7=_0x5ccc4b,_0x1a63ab=_0x4db4a7?{'dryRun':!![]}:{};switch(_0x595e1d['status']){case'reverted':return{'name':'scheme','status':_0x21cca7(0x28d),'details':{'path':_0x595e1d['path'],'previousScheme':_0x595e1d['previousScheme'],'nextScheme':_0x595e1d['nextScheme'],..._0x1a63ab}};case'already-reverted':return{'name':_0x21cca7(0x18f),'status':_0x21cca7(0x1b6),'details':{'path':_0x595e1d['path'],..._0x1a63ab}};case'manual':return{'name':'scheme','status':'manual','details':{'kind':_0x595e1d[_0x21cca7(0x2b7)],'path':_0x595e1d['path'],..._0x1a63ab},'remediation':_0x595e1d[_0x21cca7(0x2c8)]};case _0x21cca7(0x4af):return{'name':'scheme','status':_0x21cca7(0x1b6),'details':{'reason':_0x21cca7(0x3a6),..._0x1a63ab}};}}async function _0x463783(_0x5b72c4){const _0x515551=_0x5ccc4b,_0xacc90f=_0x51ae54(tmpdir(),_0x515551(0x581)+Date['now']()+'-'+Math['random']()[_0x515551(0x2a9)](0x24)[_0x515551(0x54d)](0x2));return _0x3d9e6f(_0xacc90f,async()=>{const _0x206db8=_0x515551;await _0x1bb544(_0xacc90f,{'recursive':!![]});for(const _0x1a35c1 of[_0x206db8(0x271),'app.config.js','app.config.ts']){const _0x3832a4=_0x51ae54(_0x5b72c4,_0x1a35c1);try{await copyFile(_0x3832a4,_0x51ae54(_0xacc90f,_0x1a35c1));}catch{}}for(const _0x48e770 of['ios',_0x206db8(0x559)]){try{await _0x1bf787(_0x51ae54(_0x5b72c4,_0x48e770)),await _0x1bb544(_0x51ae54(_0xacc90f,_0x48e770),{'recursive':!![]});}catch{}}return{'projectDir':_0xacc90f,'tmpRoot':_0xacc90f};});}async function _0x54b12b(_0x3dcf35,_0x22ad71,_0x678ede){const _0x438028=_0x5ccc4b,_0x5c2a52=_0x22ad71['revertMcpClients']??_0x119630,_0x55a51c=_0x22ad71[_0x438028(0x444)]??_0x4baf00,_0x5b9dec=_0x22ad71[_0x438028(0x4c8)]?.();if(_0x678ede){let _0x4549c4=null,_0xb315dc=null;try{if(_0x438028(0x557)==='ybSLl'){if(_0x1fee6b[_0x438028(0x41d)]!==void 0x0)return _0x2bac3d['nonInteractive'];if(_0x5bdec6.env.CERAPH_NON_INTERACTIVE==='1')return!![];return!_0x5895cb['stdin']['isTTY'];}else{_0x4549c4=await _0x4f742d(_0x3dcf35),_0xb315dc=await _0x4dd9c2(_0x5b9dec);const _0x23a4de=await _0x5c2a52(_0x4549c4['projectDir']),_0x12c04d=await _0x55a51c({'home':_0xb315dc['tmpHome']});return _0x18afa4(_0x23a4de,_0x12c04d,!![]);}}catch(_0xa8d6cf){return{'name':'mcp-clients','status':_0x438028(0x51e),'details':{'error':_0x1b253d(_0xa8d6cf),'dryRun':!![]}};}finally{if('cWBgA'!==_0x438028(0x285))_0x4549c4&&await _0x419e6d(_0x4549c4['tmpRoot'],{'recursive':!![],'force':!![]})['catch'](()=>void 0x0),_0xb315dc&&await _0x419e6d(_0xb315dc[_0x438028(0x572)],{'recursive':!![],'force':!![]})[_0x438028(0x243)](()=>void 0x0);else return{'success':![],'matchCount':_0xccf1a1['length'],'element':_0x46cf2b,'error':_0x406d82['error']??_0x438028(0x4f8),'batched':![]};}}try{const _0xecee25=await _0x5c2a52(_0x3dcf35),_0x5e5bc3=await _0x55a51c({'home':_0x5b9dec});return _0x18afa4(_0xecee25,_0x5e5bc3,![]);}catch(_0x4c16ab){if('HQuRz'===_0x438028(0x2d4))return{'name':_0x438028(0x1d5),'status':'error','details':{'error':_0x1b253d(_0x4c16ab)}};else{'use strict';_0x1d989b(),_0x1bd3e3(),_0x1d18c2=['.mcp.json',_0x3b585b('.cursor','mcp.json'),_0x2a1ed2('.vscode','mcp.json')],_0x3de8b2=[_0x44d1f7('.codex',_0x438028(0x29e))],_0x183200=_0x8c90e6('.claude',_0x438028(0x505)),_0x3b1da8=[{'label':_0x438028(0x377),'dir':['.codeium',_0x438028(0x384)],'file':['.codeium',_0x438028(0x384),_0x438028(0x15a)]},{'label':_0x438028(0x146),'dir':['.gemini','antigravity'],'file':[_0x438028(0x258),_0x438028(0x435),'mcp_config.json']}],_0x2db37e=[_0x438028(0x573),'react-native-mcp'],_0x423d44=['mobile-mcp'];}}}function _0x18afa4(_0x49c636,_0x2348df,_0x239012){const _0x21bdb0=_0x5ccc4b,_0x538b5a=[..._0x49c636['files'],..._0x2348df[_0x21bdb0(0x33e)]],_0x53b7be=_0x538b5a['filter'](_0x4bf78c=>_0x4bf78c[_0x21bdb0(0x416)]==='removed-entries'||_0x4bf78c[_0x21bdb0(0x416)]===_0x21bdb0(0x206)),_0x1068f9=_0x239012?{'dryRun':!![]}:{};if(_0x53b7be[_0x21bdb0(0x471)]===0x0)return{'name':'mcp-clients','status':_0x21bdb0(0x1b6),'details':{'files':_0x49c636['files'],'userGlobalFiles':_0x2348df['files'],..._0x1068f9}};return{'name':_0x21bdb0(0x1d5),'status':'reverted','details':{'files':_0x49c636[_0x21bdb0(0x33e)],'userGlobalFiles':_0x2348df[_0x21bdb0(0x33e)],'touched':_0x53b7be[_0x21bdb0(0x471)],..._0x1068f9}};}async function _0x4f742d(_0x4cf7d0){const _0x38f9da=_0x5ccc4b,_0x285af8=_0x51ae54(tmpdir(),_0x38f9da(0x3a1)+Date[_0x38f9da(0x239)]()+'-'+Math['random']()[_0x38f9da(0x2a9)](0x24)[_0x38f9da(0x54d)](0x2));return _0x3d9e6f(_0x285af8,async()=>{const _0x191983=_0x38f9da;await _0x1bb544(_0x285af8,{'recursive':!![]});const _0x26550a=[_0x191983(0x244),_0x51ae54(_0x191983(0x323),_0x191983(0x1ed)),_0x51ae54(_0x191983(0x24e),'mcp.json'),_0x51ae54(_0x191983(0x53f),_0x191983(0x29e)),_0x51ae54(_0x191983(0x4fd),'settings.local.json')];for(const _0x2e4613 of _0x26550a){const _0x2fdef4=_0x51ae54(_0x4cf7d0,_0x2e4613),_0x1664d9=_0x51ae54(_0x285af8,_0x2e4613);try{await _0x1bb544(_0xb15ead(_0x1664d9),{'recursive':!![]}),await copyFile(_0x2fdef4,_0x1664d9);}catch{}}return{'projectDir':_0x285af8,'tmpRoot':_0x285af8};});}async function _0x4dd9c2(_0xcc6f4c){const _0x1e7834=_0x51ae54(tmpdir(),'ceraph-uninstall-mcp-global-preview-'+Date['now']()+'-'+Math['random']()['toString'](0x24)['slice'](0x2));return _0x3d9e6f(_0x1e7834,async()=>{const _0x208f40=_0x4997,_0x4e7e63=_0x51ae54(_0x1e7834,'home');await _0x1bb544(_0x4e7e63,{'recursive':!![]});const _0x25492d=_0x3409ed(_0xcc6f4c);for(let _0x1d16d1=0x0;_0x1d16d1<_0x32a964[_0x208f40(0x471)];_0x1d16d1++){if('cKKjX'!=='cKKjX'){'use strict';_0x410778=![],_0xa945f9='@ceraph/react-native-mcp/shim',_0x5028e5=_0x208f40(0x410),_0x71a7c5=_0x208f40(0x242),_0x4bc1d4='CameraView',_0x319a70=[_0x208f40(0x526),'src','screens'],_0x519b32=new _0x127005(['.tsx',_0x208f40(0x570)]),_0x16475d=new _0x1212f6(['node_modules','dist','build',_0x208f40(0x325),_0x208f40(0x2f8),'.expo','.next',_0x208f40(0x4b3),_0x208f40(0x559)]);}else{const _0x327819=_0x32a964[_0x1d16d1],_0x13c7f4=_0x25492d[_0x1d16d1];if(!_0x327819||!_0x13c7f4)continue;const _0x253658=_0x51ae54(_0x4e7e63,..._0x327819[_0x208f40(0x2e0)]);try{await _0x1bb544(_0xb15ead(_0x253658),{'recursive':!![]}),await copyFile(_0x13c7f4[_0x208f40(0x195)],_0x253658);}catch{}}}return{'tmpHome':_0x4e7e63,'tmpRoot':_0x1e7834};});}async function _0xfeecbe(_0x419fce,_0x590320,_0x587ff9){const _0x478e52=_0x5ccc4b,_0x81faa2=_0x590320['revertClaudeHooks']??_0x175dd8;if(_0x587ff9)try{const _0x21efc5=await _0x2b0e4c(_0x419fce);try{const _0xe0f9d0=await _0x81faa2({'projectDir':_0x21efc5[_0x478e52(0x298)]});return _0x55ef1e(_0xe0f9d0,!![]);}finally{await _0x419e6d(_0x21efc5[_0x478e52(0x572)],{'recursive':!![],'force':!![]})['catch'](()=>void 0x0);}}catch(_0x1e3d6e){return{'name':'claude-hooks','status':'error','details':{'error':_0x1b253d(_0x1e3d6e),'dryRun':!![]}};}try{const _0x31a1d9=await _0x81faa2({'projectDir':_0x419fce});return _0x55ef1e(_0x31a1d9,![]);}catch(_0x264148){return{'name':'claude-hooks','status':'error','details':{'error':_0x1b253d(_0x264148)}};}}function _0x55ef1e(_0x5c6a16,_0x978b46){const _0x48f539=_0x5ccc4b,_0x411c0e=_0x978b46?{'dryRun':!![]}:{};switch(_0x5c6a16['status']){case _0x48f539(0x28d):return{'name':_0x48f539(0x4c0),'status':'reverted','details':{..._0x5c6a16['details'],..._0x411c0e}};case'already-reverted':return{'name':_0x48f539(0x4c0),'status':_0x48f539(0x1b6),'details':{..._0x5c6a16[_0x48f539(0x56b)],..._0x411c0e}};case _0x48f539(0x1f3):return{'name':'claude-hooks','status':'manual','details':{..._0x5c6a16['details'],..._0x411c0e},'remediation':'Hook\x20script(s)\x20were\x20customized\x20after\x20init\x20wrote\x20them,\x20so\x20the\x20reverter\x20left\x20them\x20in\x20place:\x20'+_0x5c6a16['details'][_0x48f539(0x220)]['join'](',\x20')+'.\x20If\x20you\x20no\x20longer\x20need\x20the\x20customized\x20version,\x20delete\x20the\x20file\x20manually.\x20Settings\x20entries\x20pointing\x20at\x20the\x20script(s)\x20'+(_0x5c6a16[_0x48f539(0x56b)]['settingsFilesModified'][_0x48f539(0x471)]>0x0?'were\x20removed\x20from\x20'+_0x5c6a16[_0x48f539(0x56b)][_0x48f539(0x294)]['join'](',\x20')+'.':_0x48f539(0x37e))};case _0x48f539(0x507):return{'name':_0x48f539(0x4c0),'status':'skipped','details':{..._0x5c6a16['details'],..._0x411c0e}};}}async function _0x2b0e4c(_0x43e75f){const _0x459cd6=_0x5ccc4b,_0x22de5d=_0x51ae54(tmpdir(),'ceraph-uninstall-claude-hooks-preview-'+Date[_0x459cd6(0x239)]()+'-'+Math[_0x459cd6(0x4c9)]()['toString'](0x24)[_0x459cd6(0x54d)](0x2));return _0x3d9e6f(_0x22de5d,async()=>{const _0x36477a=_0x459cd6;await _0x1bb544(_0x22de5d,{'recursive':!![]});const _0x2e357b=[_0x51ae54(_0x36477a(0x4fd),_0x36477a(0x574),_0x36477a(0x405)),_0x51ae54('.claude',_0x36477a(0x574),'rn-flow-progress-notify.sh'),_0x51ae54(_0x36477a(0x4fd),_0x36477a(0x31a)),_0x51ae54('.claude',_0x36477a(0x505))];for(const _0x558800 of _0x2e357b){const _0x9c7001=_0x51ae54(_0x43e75f,_0x558800),_0x1ed9d7=_0x51ae54(_0x22de5d,_0x558800);try{await _0x1bb544(_0xb15ead(_0x1ed9d7),{'recursive':!![]}),await copyFile(_0x9c7001,_0x1ed9d7);}catch{}}return{'projectDir':_0x22de5d,'tmpRoot':_0x22de5d};});}async function _0x484852(_0x2d0ba0,_0x40b9a7,_0x81fbbe){const _0x1766b5=_0x5ccc4b,_0x2cd403=_0x40b9a7[_0x1766b5(0x236)]??_0x5bbb26;if(_0x81fbbe){const _0x53fe53=_0x51ae54(tmpdir(),_0x1766b5(0x3cb)+Date['now']()+'-'+Math['random']()[_0x1766b5(0x2a9)](0x24)['slice'](0x2));try{try{await _0x1bb544(_0x53fe53,{'recursive':!![]});try{await copyFile(_0x51ae54(_0x2d0ba0,_0x1766b5(0x3f6)),_0x51ae54(_0x53fe53,'.gitignore'));}catch{}for(const _0x260872 of[_0x1766b5(0x457),'.rn-flow-progress.json']){try{if('VGgNJ'!==_0x1766b5(0x149))await copyFile(_0x51ae54(_0x2d0ba0,_0x260872),_0x51ae54(_0x53fe53,_0x260872));else return _0x2ea48b&&(_0xcf2fb2=(0x0,_0x552646[_0x4abb5d(_0x4c513c)[0x0]])(_0x322692=0x0)),_0x44a308;}catch{}}const _0x34b489=await _0x2cd403(_0x53fe53);return _0x146f73(_0x34b489,!![]);}finally{await _0x419e6d(_0x53fe53,{'recursive':!![],'force':!![]})[_0x1766b5(0x243)](()=>void 0x0);}}catch(_0x17c18a){return{'name':'gitignore','status':'error','details':{'error':_0x1b253d(_0x17c18a),'dryRun':!![]}};}}try{const _0x5533f8=await _0x2cd403(_0x2d0ba0);return _0x146f73(_0x5533f8,![]);}catch(_0x22d334){return{'name':'gitignore','status':'error','details':{'error':_0x1b253d(_0x22d334)}};}}function _0x146f73(_0x2c5c47,_0x5a49bd){const _0x2c50c0=_0x5ccc4b,_0xb7d3f2=_0x5a49bd?{'dryRun':!![]}:{},_0x7e884a=_0x2c5c47['removedRuntimeFiles'];switch(_0x2c5c47['status']){case'reverted':return{'name':_0x2c50c0(0x3e7),'status':_0x2c50c0(0x28d),'details':{'path':_0x2c5c47[_0x2c50c0(0x195)],'removedLines':_0x2c5c47[_0x2c50c0(0x3c4)],'removedRuntimeFiles':_0x7e884a,..._0xb7d3f2}};case _0x2c50c0(0x1b6):return{'name':'gitignore','status':_0x7e884a['length']>0x0?_0x2c50c0(0x28d):_0x2c50c0(0x1b6),'details':{'path':_0x2c5c47[_0x2c50c0(0x195)],'removedRuntimeFiles':_0x7e884a,..._0xb7d3f2}};case _0x2c50c0(0x190):return{'name':_0x2c50c0(0x3e7),'status':_0x7e884a['length']>0x0?_0x2c50c0(0x28d):'already-reverted','details':{'reason':_0x2c50c0(0x463),'removedRuntimeFiles':_0x7e884a,..._0xb7d3f2}};}}async function _0x1b6756(_0x1dc3a0,_0x212981){const _0x39f08a=_0x5ccc4b,_0x1d18d1=_0x1dc3a0['revertSignalHostEnv']??_0xd296a9,_0x278ea5=_0x1dc3a0[_0x39f08a(0x4c8)]?.();if(_0x212981)try{const _0x2574fa=await _0x2cdb7f(_0x278ea5);try{const _0x77fa2e=await _0x1d18d1({'home':_0x2574fa[_0x39f08a(0x30a)]});return _0x11b103(_0x77fa2e,!![]);}finally{await _0x419e6d(_0x2574fa['tmpRoot'],{'recursive':!![],'force':!![]})['catch'](()=>void 0x0);}}catch(_0x435484){return{'name':_0x39f08a(0x4e8),'status':'error','details':{'error':_0x1b253d(_0x435484),'dryRun':!![]}};}try{if(_0x39f08a(0x354)==='jOKfa'){const _0x94e39d=_0x4e501d(_0x382f5b[_0x39f08a(0x54d)](0x0,_0x5f5879));_0xcfd7c2=_0x94e39d,_0x4b95b8=_0x94e39d,_0x3438bc=null,_0x330004=null,_0x3b571b=null,_0xfe18cc=null,_0x4e89bc=!![];}else{const _0x169cda=await _0x1d18d1({'home':_0x278ea5});return _0x11b103(_0x169cda,![]);}}catch(_0x61b1aa){return{'name':'signal-host','status':'error','details':{'error':_0x1b253d(_0x61b1aa)}};}}function _0x11b103(_0x478382,_0x1f66d5){const _0x1fe1b7=_0x5ccc4b,_0x4429a8=_0x1f66d5?{'dryRun':!![]}:{};switch(_0x478382[_0x1fe1b7(0x416)]){case'reverted':return{'name':_0x1fe1b7(0x4e8),'status':'reverted','details':{'path':_0x478382['path'],'shell':_0x478382['shell'],'removedIp':_0x478382['removedIp'],..._0x4429a8}};case'already-reverted':return{'name':'signal-host','status':_0x1fe1b7(0x1b6),'details':{'path':_0x478382[_0x1fe1b7(0x195)],'shell':_0x478382[_0x1fe1b7(0x22a)],..._0x4429a8}};case'no-profile':return{'name':_0x1fe1b7(0x4e8),'status':_0x1fe1b7(0x1b6),'details':{'reason':_0x1fe1b7(0x2aa),'path':_0x478382[_0x1fe1b7(0x195)],..._0x4429a8}};}}async function _0x2cdb7f(_0x21bb3c){const _0x454116=_0x5ccc4b,_0x40e667=_0x21bb3c??_0x20bd55(),_0x52ec16=_0x51ae54(tmpdir(),'ceraph-uninstall-shell-preview-'+Date['now']()+'-'+Math[_0x454116(0x4c9)]()['toString'](0x24)['slice'](0x2));return _0x3d9e6f(_0x52ec16,async()=>{const _0xcd50a6=_0x454116,_0x693955=_0x51ae54(_0x52ec16,_0xcd50a6(0x278));await _0x1bb544(_0x693955,{'recursive':!![]});for(const _0x22c8bb of['.zshrc','.bashrc']){try{await copyFile(_0x51ae54(_0x40e667,_0x22c8bb),_0x51ae54(_0x693955,_0x22c8bb));}catch{}}return{'tmpHome':_0x693955,'tmpRoot':_0x52ec16};});}async function _0x198201(_0x431832,_0x2baa9d,_0x36dc41){const _0x252071=_0x5ccc4b,_0xdac12f=_0x2baa9d[_0x252071(0x305)]??_0x507d3d;if(!_0x2baa9d[_0x252071(0x202)])try{const _0x5c1d94=await _0xdac12f({'projectDir':_0x431832,'confirm':![]});if(_0x5c1d94[_0x252071(0x416)]==='already-reverted')return{'name':'ceraph-dir','status':'already-reverted','details':{'path':_0x5c1d94['path'],..._0x36dc41?{'dryRun':!![]}:{}}};if(_0x5c1d94[_0x252071(0x416)]===_0x252071(0x4c4))return _0x252071(0x577)==='Lmjzb'?{'status':'install-failed','error':_0x58fd36 instanceof _0x46955d?_0x400a54['message']:_0x14e4c1(_0x141fd4)}:{'name':_0x252071(0x53d),'status':_0x252071(0x507),'details':{'path':_0x5c1d94[_0x252071(0x195)],'paths':_0x5c1d94[_0x252071(0x3c9)],..._0x36dc41?{'dryRun':!![]}:{}},'remediation':_0x252071(0x27f)};return{'name':_0x252071(0x53d),'status':_0x252071(0x51e),'details':{'unexpectedStatus':_0x5c1d94['status'],..._0x36dc41?{'dryRun':!![]}:{}},'remediation':_0x252071(0x3c2)};}catch(_0x3161f5){return{'name':'ceraph-dir','status':_0x252071(0x51e),'details':{'error':_0x1b253d(_0x3161f5),..._0x36dc41?{'dryRun':!![]}:{}}};}if(_0x36dc41)try{const _0x6b59da=await _0xdac12f({'projectDir':_0x431832,'confirm':![]});if(_0x6b59da['status']===_0x252071(0x1b6))return _0x252071(0x3d7)==='LAkuJ'?{'name':'ceraph-dir','status':'already-reverted','details':{'path':_0x6b59da[_0x252071(0x195)],'dryRun':!![]}}:{'status':'present'};if(_0x6b59da[_0x252071(0x416)]===_0x252071(0x4c4))return{'name':_0x252071(0x53d),'status':'reverted','details':{'path':_0x6b59da[_0x252071(0x195)],'paths':_0x6b59da[_0x252071(0x3c9)],'dryRun':!![]}};return{'name':'ceraph-dir','status':_0x252071(0x51e),'details':{'unexpectedStatus':_0x6b59da['status'],'dryRun':!![]}};}catch(_0x533bd7){return{'name':_0x252071(0x53d),'status':'error','details':{'error':_0x1b253d(_0x533bd7),'dryRun':!![]}};}try{if('WHPSQ'!=='WHPSQ'){_0x5b246a=_0x4fb41a;const _0x5bb6a0=_0x22d637,_0x239188=typeof _0x5bb6a0['message']==='string'&&_0x5bb6a0[_0x252071(0x554)]||typeof _0x5bb6a0[_0x252071(0x51e)]==='string'&&_0x5bb6a0[_0x252071(0x51e)]||void 0x0;if(_0x239188)_0x2c0642=_0x239188;}else{const _0x129107=await _0xdac12f({'projectDir':_0x431832,'confirm':!![]});switch(_0x129107[_0x252071(0x416)]){case _0x252071(0x358):return{'name':_0x252071(0x53d),'status':'reverted','details':{'path':_0x129107[_0x252071(0x195)],'deletedEntries':_0x129107['deletedEntries']}};case _0x252071(0x1b6):return{'name':_0x252071(0x53d),'status':'already-reverted','details':{'path':_0x129107['path']}};case'skipped-needs-confirmation':return{'name':_0x252071(0x53d),'status':_0x252071(0x507),'details':{'path':_0x129107[_0x252071(0x195)],'unexpected':!![]}};}}}catch(_0x334d12){return{'name':_0x252071(0x53d),'status':'error','details':{'error':_0x1b253d(_0x334d12)}};}}async function _0x178efa(_0x5a0b7c,_0x4afc00){const _0x382215=_0x5ccc4b,_0x20ed67=_0x5a0b7c['revertAuth']??_0x4a1b8e,_0x118bda=_0x5a0b7c['homeDir']?.();if(!_0x5a0b7c['global'])try{const _0x46fe25=await _0x20ed67({'global':![]},{'home':_0x118bda});return{'name':_0x382215(0x3cd),'status':_0x382215(0x507),'details':{'path':_0x46fe25[_0x382215(0x195)],..._0x4afc00?{'dryRun':!![]}:{}},'remediation':_0x382215(0x3e3)};}catch(_0x377919){return{'name':'auth','status':'error','details':{'error':_0x1b253d(_0x377919),..._0x4afc00?{'dryRun':!![]}:{}}};}if(_0x4afc00)try{const _0x4dcc22=_0x118bda??_0x20bd55(),_0x1fb259=_0x51ae54(_0x4dcc22,_0x382215(0x2f8),'auth.json');let _0x4eacef=![];try{await _0x1bf787(_0x1fb259),_0x4eacef=!![];}catch{_0x4eacef=![];}return{'name':'auth','status':_0x4eacef?_0x382215(0x28d):_0x382215(0x1b6),'details':{'path':_0x1fb259,'dryRun':!![],'wouldDelete':_0x4eacef}};}catch(_0x5cca9f){return{'name':_0x382215(0x3cd),'status':'error','details':{'error':_0x1b253d(_0x5cca9f),'dryRun':!![]}};}try{const _0x66f16d=await _0x20ed67({'global':!![]},{'home':_0x118bda});switch(_0x66f16d[_0x382215(0x416)]){case'deleted':return{'name':'auth','status':_0x382215(0x28d),'details':{'path':_0x66f16d['path']}};case'already-reverted':return{'name':'auth','status':_0x382215(0x1b6),'details':{'path':_0x66f16d['path']}};case _0x382215(0x507):return{'name':_0x382215(0x3cd),'status':_0x382215(0x507),'details':{'path':_0x66f16d[_0x382215(0x195)],'unexpected':!![]}};}}catch(_0x35db1a){return{'name':'auth','status':_0x382215(0x51e),'details':{'error':_0x1b253d(_0x35db1a)}};}}async function _0x545ce6(_0x4328d8,_0x29d61c,_0x4eed7b){const _0x3ab395=_0x5ccc4b,_0x184d3f=_0x29d61c[_0x3ab395(0x241)]??_0x38d246,_0x2817a3=_0x29d61c[_0x3ab395(0x249)];if(_0x4eed7b)try{const _0x48c64a=await _0x184d3f(_0x4328d8,{'spawnRemove':_0x44416d});return _0x4f9c49(_0x48c64a,!![]);}catch(_0x5e57f8){return{'name':_0x3ab395(0x36f),'status':'error','details':{'error':_0x1b253d(_0x5e57f8),'dryRun':!![]}};}try{const _0x287344=await _0x184d3f(_0x4328d8,_0x2817a3?{'spawnRemove':_0x2817a3}:{});return _0x4f9c49(_0x287344,![]);}catch(_0x2cd987){return{'name':_0x3ab395(0x36f),'status':'error','details':{'error':_0x1b253d(_0x2cd987)}};}}function _0x4f9c49(_0x531656,_0x3800ea){const _0x21a073=_0x5ccc4b,_0x4b1426=_0x3800ea?{'dryRun':!![]}:{};switch(_0x531656['status']){case _0x21a073(0x29c):return{'name':'package','status':'reverted','details':{'packageManager':_0x531656['pm'],'removedPackages':_0x531656[_0x21a073(0x57c)],'command':_0x531656[_0x21a073(0x459)],..._0x4b1426}};case _0x21a073(0x57b):return{'name':'package','status':_0x21a073(0x1b6),'details':{'packageManager':_0x531656['pm'],..._0x4b1426}};case _0x21a073(0x40f):return{'name':_0x21a073(0x36f),'status':_0x21a073(0x51e),'details':{'packageManager':_0x531656['pm'],'command':_0x531656[_0x21a073(0x459)],'exitCode':_0x531656[_0x21a073(0x4b4)],..._0x4b1426},'remediation':_0x531656['pm']+'\x20'+(_0x531656['command']?.[_0x21a073(0x4e2)]['join']('\x20')??'')+_0x21a073(0x371)+_0x531656[_0x21a073(0x4b4)]+_0x21a073(0x254)};}}function _0x1b253d(_0x214545){const _0xd6d872=_0x5ccc4b;return _0x214545 instanceof Error?_0x214545[_0xd6d872(0x554)]:String(_0x214545);}async function _0x5b34d4(_0x2eb2f5,_0x4d0759,_0x369fcd){const _0x1257cf=_0x5ccc4b,_0xec6c08=_0x4d0759['revertBabelConfig']??(_0x2f4459=>_0x5b2342({'projectDir':_0x2f4459,..._0x369fcd?{'writeFile':async()=>void 0x0,'unlink':async()=>void 0x0}:{}}));try{const _0x964218=await _0xec6c08(_0x2eb2f5);return _0x1122cf(_0x964218,_0x369fcd);}catch(_0x2662f4){return{'name':'babel-config','status':_0x1257cf(0x51e),'details':{'error':_0x1b253d(_0x2662f4),..._0x369fcd?{'dryRun':!![]}:{}}};}}function _0x1122cf(_0x3c822c,_0x52bec3){const _0x514335=_0x5ccc4b,_0x483471=_0x52bec3?{'dryRun':!![]}:{};switch(_0x3c822c['status']){case'reverted':return{'name':_0x514335(0x257),'status':_0x514335(0x28d),'details':{'path':_0x3c822c['path'],'action':_0x3c822c[_0x514335(0x4d9)],..._0x483471}};case _0x514335(0x1b6):return{'name':'babel-config','status':'already-reverted','details':{'path':_0x3c822c[_0x514335(0x195)],..._0x483471}};case _0x514335(0x329):return{'name':'babel-config','status':'already-reverted','details':{..._0x483471}};}}async function _0x3d9e6f(_0x4b6d6e,_0x2106a9){try{return await _0x2106a9();}catch(_0x37e42d){try{await _0x419e6d(_0x4b6d6e,{'recursive':!![],'force':!![]});}catch{}throw _0x37e42d;}}async function _0x274760(_0x5bd4b,_0x46ecf9){const _0x57e08c=_0x5ccc4b,_0x3d966f=_0x51ae54(tmpdir(),_0x57e08c(0x4ba)+Date[_0x57e08c(0x239)]()+'-'+Math[_0x57e08c(0x4c9)]()['toString'](0x24)[_0x57e08c(0x54d)](0x2));return _0x3d9e6f(_0x3d966f,async()=>{const _0xa14057=_0x125da6(_0x46ecf9,_0x5bd4b),_0x2d2d7f=_0x436214(_0xa14057)?'App.tsx':_0xa14057,_0x2b21ec=_0x51ae54(_0x3d966f,_0x2d2d7f);return await _0x1bb544(_0xb15ead(_0x2b21ec),{'recursive':!![]}),await copyFile(_0x5bd4b,_0x2b21ec),{'projectDir':_0x3d966f,'tmpRoot':_0x3d966f};});}function _0x2a75bb(_0x9b4f70,_0x40ecef){const _0x1a7ce4=_0x5ccc4b,_0x1ce9c0=[],_0x345d89=[];let _0x47f0d6=0x0,_0x3bab4b=0x0;for(const _0x4cb5bb of _0x40ecef){if(_0x4cb5bb['status']==='reverted'||_0x4cb5bb[_0x1a7ce4(0x416)]==='warning')_0x47f0d6++;else(_0x4cb5bb['status']===_0x1a7ce4(0x507)||_0x4cb5bb['status']==='already-reverted')&&_0x3bab4b++;_0x4cb5bb['status']===_0x1a7ce4(0x473)&&_0x4cb5bb['remediation']&&_0x1ce9c0[_0x1a7ce4(0x359)](_0x4cb5bb['remediation']),_0x4cb5bb['status']==='manual'&&_0x4cb5bb['remediation']&&_0x345d89['push'](_0x4cb5bb['remediation']);}return{'workingDir':_0x9b4f70,'steps':_0x40ecef,'summary':{'reverted':_0x47f0d6,'skipped':_0x3bab4b,'warnings':_0x1ce9c0,'manualSteps':_0x345d89}};}var _0x2f5cc6,_0x559f04,_0x5ac651,_0x44416d,_0x32cf9d=_0x4d3071({'src/uninstall/walkthrough.ts'(){'use strict';_0x1ecc92(),_0x1c9166(),_0x2477a0(),_0x4fcba6(),_0x28f550(),_0x25614a(),_0xa7ca1d(),_0x4a4dae(),_0x15447a(),_0x130ec9(),_0xb98eca(),_0x1dbe7f(),_0x3683d8(),_0x5ac651=![],_0x44416d=async _0x3c4da5=>({'exitCode':0x0});}}),_0x16dbe1={};_0x22ce2d(_0x16dbe1,{'formatStepLine':()=>_0x3198d2,'formatSummary':()=>_0x463243,'parseArgs':()=>_0x31b281,'runUninstallCli':()=>_0x44027c});import{spawn as _0x1149c9}from'child_process';import{stat as _0x4c0c18}from'fs/promises';import{join as _0x5c683d}from'path';async function _0x44027c(_0x587687){const _0x5e3a34=_0x5ccc4b,_0x259590=_0x31b281(_0x587687[_0x5e3a34(0x575)]);if(_0x259590['help']){if(_0x5e3a34(0x4e7)!=='WxRQy')return _0x136036(_0x4bd4b7,_0x587687),{'exitCode':0x0,'walkthrough':null,'parsedFlags':_0x259590};else{const _0x60da33='\x0a[mcp_servers.react-native-mcp]\x0acommand\x20=\x20\x22npx\x22\x0aargs\x20=\x20[\x22-y\x22,\x20\x22@ceraph/react-native-mcp@latest\x22]\x0a';_0x16d0ba=_0x21ecac+_0x60da33;}}if(_0x259590['unknown']['length']>0x0)return _0x136036(_0x5e3a34(0x390)+_0x259590[_0x5e3a34(0x50a)][_0x5e3a34(0x3aa)](',\x20')+'\x0a\x0a'+_0x4bd4b7,_0x587687),{'exitCode':0x1,'walkthrough':null,'parsedFlags':_0x259590};const _0xd14b32=_0x259590['projectDir']??_0x587687['cwd']??process['cwd']();if(_0x259590[_0x5e3a34(0x298)]!=null){const _0x4345d4=await _0x3dd9c1(_0x259590['projectDir']);if(_0x4345d4!==null)return _0x136036(_0x4345d4+'\x0a',_0x587687),{'exitCode':0x1,'walkthrough':null,'parsedFlags':_0x259590};}let _0x53527e=_0x259590[_0x5e3a34(0x202)],_0x10b029=_0x259590['global'];if(!_0x259590[_0x5e3a34(0x393)]&&!_0x259590['dryRun']){_0x136036(_0x5e3a34(0x1a2),_0x587687),_0x136036('\x20\x20Project:\x20'+_0xd14b32+'\x0a',_0x587687),_0x136036(_0x5e3a34(0x2b2),_0x587687),_0x136036('\x20\x20Default-safe:\x20leaves\x20.ceraph/\x20and\x20~/.ceraph/auth.json\x20untouched.\x0a\x0a',_0x587687);const _0x3c50b0=await _0x98335a(_0x5e3a34(0x179),{..._0x587687,'defaultYes':![]});if(!_0x3c50b0)return _0x136036('\x0aAborted\x20—\x20no\x20changes\x20made.\x0a',_0x587687),{'exitCode':0x0,'walkthrough':null,'parsedFlags':_0x259590};!_0x53527e&&(_0x53527e=await _0x98335a(_0x5e3a34(0x349),{..._0x587687,'defaultYes':![]})),!_0x10b029&&(_0x10b029=await _0x98335a('Also\x20sign\x20out\x20(delete\x20~/.ceraph/auth.json)?',{..._0x587687,'defaultYes':![]}));}_0x259590[_0x5e3a34(0x26e)]&&(_0x136036(_0x5e3a34(0x15d),_0x587687),_0x136036(_0x5e3a34(0x2ed)+_0xd14b32+'\x0a\x0a',_0x587687));const _0x546178=await _0x403979({'projectDir':_0xd14b32,'rootDir':_0x2d729b(_0x259590[_0x5e3a34(0x298)]??void 0x0,_0x587687['cwd']??process['cwd']()),'purgeImages':_0x53527e,'global':_0x10b029,'dryRun':_0x259590[_0x5e3a34(0x26e)],'nonInteractive':_0x259590['yes'],'homeDir':_0x587687['homeDir'],'spawnRemove':_0x587687[_0x5e3a34(0x249)]??_0x47cc76,'onStep':_0x166361=>{_0x136036(_0x3198d2(_0x166361),_0x587687);}});_0x136036(_0x463243(_0x546178),_0x587687);const _0x2e6f4b=_0x546178['steps']['some'](_0x2bb984=>_0x2bb984['status']==='error'||_0x2bb984['status']==='manual');return{'exitCode':_0x2e6f4b?0x1:0x0,'walkthrough':_0x546178,'parsedFlags':{..._0x259590,'purgeImages':_0x53527e,'global':_0x10b029}};}function _0x3198d2(_0x2d6c36){const _0xfb548a=_0x5ccc4b,_0x527879=_0x2bbfcb(_0x2d6c36['status']),_0x3727e2=_0x52abde(_0x2d6c36);return'\x20\x20'+_0x527879+'\x20'+_0x2d6c36[_0xfb548a(0x34d)]['padEnd'](0xd)+'\x20'+_0x3727e2+'\x0a';}function _0x2bbfcb(_0x3acc10){const _0x36c014=_0x5ccc4b;switch(_0x3acc10){case _0x36c014(0x28d):return'[ok]';case'already-reverted':return'[--]';case'skipped':return'[--]';case'warning':return _0x36c014(0x3da);case'manual':return _0x36c014(0x3da);case'error':return _0x36c014(0x403);}}function _0x52abde(_0x55df1a){const _0x49811d=_0x5ccc4b;switch(_0x55df1a[_0x49811d(0x416)]){case _0x49811d(0x28d):return'reverted'+(_0x55df1a['details']?.['dryRun']?_0x49811d(0x30c):'');case'already-reverted':return'nothing\x20to\x20do'+(_0x55df1a[_0x49811d(0x56b)]?.['dryRun']?_0x49811d(0x30c):'');case _0x49811d(0x507):return _0x49811d(0x504)+(_0x55df1a[_0x49811d(0x2c8)]??_0x49811d(0x49c));case'warning':return'reverted\x20with\x20warning\x20—\x20'+(_0x55df1a[_0x49811d(0x2c8)]??'');case _0x49811d(0x1f3):return _0x49811d(0x4c2)+(_0x55df1a[_0x49811d(0x2c8)]??'');case'error':return'error\x20—\x20'+(_0x55df1a[_0x49811d(0x2c8)]??_0x55df1a['details']?.[_0x49811d(0x51e)]??_0x49811d(0x498));}}function _0x463243(_0x4787d4){const _0x589a05=_0x5ccc4b,{reverted:_0x527557,skipped:_0x755987,warnings:_0x204ab4,manualSteps:_0x31f4ba}=_0x4787d4['summary'],_0x183130=['\x0aSummary:\x0a'];_0x183130[_0x589a05(0x359)]('\x20\x20Reverted:\x20\x20\x20\x20\x20\x20\x20\x20'+_0x527557+'\x0a'),_0x183130[_0x589a05(0x359)]('\x20\x20Skipped/no-op:\x20\x20\x20'+_0x755987+'\x0a'),_0x183130[_0x589a05(0x359)](_0x589a05(0x4cb)+_0x204ab4[_0x589a05(0x471)]+'\x0a'),_0x183130['push'](_0x589a05(0x41f)+_0x31f4ba[_0x589a05(0x471)]+'\x0a');if(_0x204ab4['length']>0x0){_0x183130['push']('\x0aWarnings:\x0a');for(const _0x2c177c of _0x204ab4)_0x183130['push']('\x20\x20-\x20'+_0x2c177c+'\x0a');}if(_0x31f4ba[_0x589a05(0x471)]>0x0){_0x183130[_0x589a05(0x359)](_0x589a05(0x3f5));for(const _0x510092 of _0x31f4ba)_0x183130[_0x589a05(0x359)](_0x589a05(0x1b9)+_0x510092+'\x0a');}return _0x183130[_0x589a05(0x3aa)]('');}function _0x31b281(_0x32e2bf){const _0x291ac5=_0x5ccc4b,_0x578431={'yes':![],'purgeImages':![],'global':![],'dryRun':![],'projectDir':null,'help':![],'unknown':[]};for(let _0x4ca547=0x0;_0x4ca547<_0x32e2bf['length'];_0x4ca547++){const _0x102cf6=_0x32e2bf[_0x4ca547];switch(_0x102cf6){case'-y':case _0x291ac5(0x3a2):_0x578431['yes']=!![];break;case _0x291ac5(0x3c7):_0x578431['purgeImages']=!![];break;case _0x291ac5(0x15c):_0x578431['global']=!![];break;case _0x291ac5(0x3f9):_0x578431[_0x291ac5(0x26e)]=!![];break;case _0x291ac5(0x295):{const _0xae5541=_0x32e2bf[_0x4ca547+0x1];_0xae5541==null?_0x291ac5(0x150)!==_0x291ac5(0x150)?_0x31291a=_0x16e6d8[_0x291ac5(0x398)](_0x3bd4ac):_0x578431[_0x291ac5(0x50a)]['push'](_0x102cf6+_0x291ac5(0x342)):(_0x578431['projectDir']=_0xae5541,_0x4ca547++);break;}case'-h':case _0x291ac5(0x553):_0x578431[_0x291ac5(0x50b)]=!![];break;default:if(_0x102cf6!==void 0x0)_0x578431['unknown']['push'](_0x102cf6);}}return _0x578431;}async function _0x3dd9c1(_0x26c62b){const _0x372c71=_0x5ccc4b;let _0x220953;try{_0x220953=await _0x4c0c18(_0x26c62b);}catch{return _0x372c71(0x3bd)+_0x26c62b;}if(!_0x220953['isDirectory']())return _0x372c71(0x300)==='aRgdk'?{'changed':![],'previousScheme':void 0x0,'nextScheme':void 0x0}:_0x372c71(0x2c7)+_0x26c62b;try{await _0x4c0c18(_0x5c683d(_0x26c62b,_0x372c71(0x16f)));}catch{return _0x372c71(0x397)+_0x5c683d(_0x26c62b,_0x372c71(0x16f))+')';}return null;}function _0x47cc76(_0x46a4bc){return new Promise(_0x41caa6=>{const _0x1fedbe=_0x4997,_0x15b714=_0x1149c9(_0x46a4bc[_0x1fedbe(0x319)],_0x46a4bc[_0x1fedbe(0x4e2)],{'cwd':_0x46a4bc['cwd'],'stdio':'inherit'});_0x15b714['on'](_0x1fedbe(0x51e),()=>_0x41caa6({'exitCode':0x7f})),_0x15b714['on'](_0x1fedbe(0x55b),_0x4d8c9=>_0x41caa6({'exitCode':_0x4d8c9??0x1}));});}var _0x4bd4b7,_0x30757a=_0x4d3071({'src/uninstall/cli-runner.ts'(){'use strict';_0x30ec70(),_0x15ef18(),_0x32cf9d(),_0x4bd4b7='Usage:\x20npx\x20@ceraph/react-native-mcp\x20uninstall\x20[flags]\x0a\x0aRemoves\x20Ceraph\x20from\x20the\x20current\x20React\x20Native\x20/\x20Expo\x20project.\x20By\x20default:\x0a-\x20Reverts\x20source-tree\x20edits\x20(CameraView,\x20layout\x20boot,\x20ceraph\x20URL\x20scheme)\x0a-\x20Strips\x20MCP\x20client\x20configs\x20(.mcp.json,\x20.cursor/,\x20.vscode/,\x20.codex/)\x0a-\x20Removes\x20gitignore\x20entries\x0a-\x20Removes\x20CERAPH_SIGNAL_HOST\x20from\x20your\x20shell\x20rc\x0a-\x20Removes\x20@ceraph/react-native-mcp\x20from\x20package.json\x0a-\x20LEAVES\x20.ceraph/\x20(test\x20images,\x20design\x20snapshots)\x20in\x20place\x0a-\x20LEAVES\x20~/.ceraph/auth.json\x20in\x20place\x20(token\x20is\x20user-global)\x0a\x0aFlags:\x0a\x20\x20-y,\x20--yes\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Skip\x20confirmation\x20prompts.\x0a\x20\x20\x20\x20\x20\x20--purge-images\x20\x20\x20\x20\x20Also\x20delete\x20.ceraph/\x20(camera\x20images\x20+\x20snapshots).\x0a\x20\x20\x20\x20\x20\x20--global\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Also\x20delete\x20~/.ceraph/auth.json\x20(logs\x20you\x20out\x20of\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20every\x20Ceraph\x20install\x20on\x20this\x20machine).\x0a\x20\x20\x20\x20\x20\x20--dry-run\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Preview\x20the\x20revert\x20without\x20mutating\x20anything.\x0a\x20\x20\x20\x20\x20\x20--project-dir\x20<p>\x20\x20Operate\x20on\x20this\x20subpackage.\x20Required\x20when\x20a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20monorepo\x20has\x20more\x20than\x20one\x20RN\x20app.\x0a\x20\x20-h,\x20--help\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Print\x20this\x20help\x20and\x20exit.\x0a';}});function _0x3a3e14(_0x3a4c3e){const _0x4be998=_0x5ccc4b;let _0x582966;for(let _0x3c6eed=0x0;_0x3c6eed<_0x3a4c3e['length'];_0x3c6eed++){const _0x461865=_0x3a4c3e[_0x3c6eed];let _0x1b82a2;if(_0x461865==='--tier')_0x1b82a2=_0x3a4c3e[_0x3c6eed+0x1];else _0x461865[_0x4be998(0x425)]('--tier=')&&(_0x1b82a2=_0x461865[_0x4be998(0x54d)](_0x4be998(0x4f1)['length']));(_0x1b82a2==='pro'||_0x1b82a2==='starter')&&(_0x582966=_0x1b82a2);}return _0x582966;}if(process.env.VITEST){}else await _0x89c3ea();async function _0x89c3ea(){const _0xd477d5=_0x5ccc4b,_0x29d34d=process[_0xd477d5(0x575)][_0xd477d5(0x54d)](0x2),_0x4d8cd5=_0x29d34d[0x0],_0x747f7a=new Set(_0x29d34d['slice'](0x1)),_0x43543c=_0xd477d5(0x3f7);(_0x4d8cd5==='--help'||_0x4d8cd5==='-h'||_0x4d8cd5===_0xd477d5(0x50b))&&(process['stdout'][_0xd477d5(0x2c9)](_0x43543c),process['exit'](0x0));if(_0x4d8cd5==='init'){const _0x59f5f4=_0x747f7a[_0xd477d5(0x466)](_0xd477d5(0x31c))||process.env.CERAPH_AGENT_MODE==='1',_0x72cfdf=_0x3a3e14(_0x29d34d[_0xd477d5(0x54d)](0x1)),{runInit:_0x59e985}=await Promise[_0xd477d5(0x22f)]()[_0xd477d5(0x341)](()=>(_0x331bb0(),_0x537b6c));await _0x59e985({'agentMode':_0x59f5f4,'tier':_0x72cfdf})['catch'](_0x28a16f=>{const _0x4be725=_0xd477d5;console['error'](_0x4be725(0x19f),_0x28a16f),process['exit'](0x1);});}else{if(_0x4d8cd5===_0xd477d5(0x531)){const {runUninstallCli:_0x4d1747}=await Promise['resolve']()[_0xd477d5(0x341)](()=>(_0x30757a(),_0x16dbe1));try{const _0x5c28a4=await _0x4d1747({'argv':process['argv']['slice'](0x3)});process[_0xd477d5(0x55b)](_0x5c28a4['exitCode']);}catch(_0x139b94){console['error']('Uninstall\x20failed:',_0x139b94),process[_0xd477d5(0x55b)](0x1);}}else await import('./index.js');}}export{_0x3a3e14 as parseTierFlag};
|
|
2
|
+
(function(_0x12f015,_0x375a3f){const _0x140a0e=_0xa6e1,_0x1ee474=_0x12f015();while(!![]){try{const _0xb6dcd4=-parseInt(_0x140a0e(0x521))/0x1+-parseInt(_0x140a0e(0x319))/0x2*(-parseInt(_0x140a0e(0x1d0))/0x3)+parseInt(_0x140a0e(0x419))/0x4+parseInt(_0x140a0e(0x249))/0x5*(parseInt(_0x140a0e(0x4e5))/0x6)+-parseInt(_0x140a0e(0x1cf))/0x7*(-parseInt(_0x140a0e(0x2f3))/0x8)+parseInt(_0x140a0e(0x332))/0x9+parseInt(_0x140a0e(0x21d))/0xa*(-parseInt(_0x140a0e(0x580))/0xb);if(_0xb6dcd4===_0x375a3f)break;else _0x1ee474['push'](_0x1ee474['shift']());}catch(_0x193372){_0x1ee474['push'](_0x1ee474['shift']());}}}(_0x5f11,0xe6b1f));var _0x25c107=Object['defineProperty'],_0x681c70=Object['getOwnPropertyNames'],_0x1b53f6=(_0x18107b,_0x20a03e)=>function _0x98f2c8(){return _0x18107b&&(_0x20a03e=(0x0,_0x18107b[_0x681c70(_0x18107b)[0x0]])(_0x18107b=0x0)),_0x20a03e;},_0x2c4819=(_0x32cc8e,_0x564c0d)=>{for(var _0xe6e102 in _0x564c0d)_0x25c107(_0x32cc8e,_0xe6e102,{'get':_0x564c0d[_0xe6e102],'enumerable':!![]});};import{readFile,access}from'fs/promises';import{join}from'path';async function _0x2a8e7b(_0x3eb7d6){const _0x4249b1=_0xa6e1;try{if(_0x4249b1(0x51f)!=='nztkO'){const _0x26553e=_0x2815b7(_0x46b965[_0x4249b1(0x4dc)],_0x451f69[_0x4249b1(0x43c)],{'cwd':_0x74d92['cwd'],'stdio':_0x4249b1(0x237)});_0x26553e['on']('error',()=>_0x14df0e({'exitCode':0x7f})),_0x26553e['on']('exit',_0x5501ec=>_0x465d31({'exitCode':_0x5501ec??0x1}));}else return await access(_0x3eb7d6),!![];}catch{return![];}}async function _0x5be9b1(_0xa54778){const _0x24cf5b=_0xa6e1;for(const {file:_0x251330,pm:_0x528b1f}of _0x376227){if(await _0x2a8e7b(join(_0xa54778,_0x251330))){if(_0x24cf5b(0x55b)==='BxYej'){_0x43a962({'code':0x7f,'stdout':'','stderr':_0x1b15ff instanceof _0x2b4a03?_0x2f032c['message']:_0x5acf39(_0xdda87c)});return;}else return _0x528b1f;}}return'npm';}function _0xa55a6f(_0x4e1f9d,_0x257821='@ceraph/react-native-mcp'){const _0x2a8088=_0xa6e1;switch(_0x4e1f9d){case'pnpm':return{'bin':'pnpm','args':['add',_0x257821]};case _0x2a8088(0x24e):return{'bin':_0x2a8088(0x24e),'args':[_0x2a8088(0x3f7),_0x257821]};case _0x2a8088(0x42b):return{'bin':'bun','args':[_0x2a8088(0x3f7),_0x257821]};case _0x2a8088(0x1f0):return{'bin':'npm','args':[_0x2a8088(0x48e),_0x257821]};}}async function _0x50b1ae(_0x8fcbfb,_0x2cb48a='@ceraph/react-native-mcp'){const _0x4fc396=_0xa6e1;let _0x3945e3;try{_0x3945e3=await readFile(join(_0x8fcbfb,_0x4fc396(0x575)),_0x4fc396(0x2fd));}catch{return![];}let _0x1a48aa;try{_0x1a48aa=JSON[_0x4fc396(0x2ee)](_0x3945e3);}catch{return![];}if(!_0x1a48aa||typeof _0x1a48aa!==_0x4fc396(0x2d2))return![];const _0x4de1e0=_0x1a48aa,_0x79dcdd=_0x4de1e0[_0x4fc396(0x18d)],_0x2d75ae=_0x4de1e0[_0x4fc396(0x181)];return Boolean(_0x79dcdd?.[_0x2cb48a]||_0x2d75ae?.[_0x2cb48a]);}var _0x376227,_0x228cd7=_0x1b53f6({'src/init/package-manager.ts'(){'use strict';const _0x16b5a1=_0xa6e1;_0x376227=[{'file':_0x16b5a1(0x3e4),'pm':'pnpm'},{'file':'yarn.lock','pm':_0x16b5a1(0x24e)},{'file':'bun.lockb','pm':_0x16b5a1(0x42b)},{'file':'bun.lock','pm':'bun'},{'file':_0x16b5a1(0x488),'pm':_0x16b5a1(0x1f0)}];}});import{promises as _0x198f75,constants as _0x3bec8b}from'fs';import{homedir,platform}from'os';import{join as _0xe0e072,dirname}from'path';import{spawn}from'child_process';import{randomBytes}from'crypto';import{createServer}from'http';import{createInterface}from'readline';function _0x15985b(){const _0x45123d=_0xa6e1,_0x212b06=process.env.CERAPH_WEB_BASE_URL?.['trim']();if(_0x212b06)return _0x212b06;const _0x3eaa49=process.env.CERAPH_API_URL?.[_0x45123d(0x531)]();if(_0x3eaa49){const _0x5d190d=_0x3eaa49['replace'](/\/+$/,'')[_0x45123d(0x2c4)](/\/api\/mcp$/,'');if(_0x5d190d&&_0x5d190d!==_0x3eaa49['replace'](/\/+$/,''))return _0x5d190d;}return'https://ceraph.dev';}function _0x182af8(_0x2bf598={}){const _0x541566=_0xa6e1,_0x14497e=_0x15985b()[_0x541566(0x2c4)](/\/+$/,''),_0x4a1363=_0x2bf598[_0x541566(0x326)]==='pro'?_0x541566(0x429):'';return _0x14497e+'/cli-auth'+_0x4a1363;}async function _0x25a657(_0x216c74={}){const _0x5d18ba=_0xa6e1,_0x2dd1db=_0x216c74['token']?.['trim']()||process.env.CERAPH_AUTH_TOKEN?.['trim']();if(_0x2dd1db)return _0x2339dc(_0x2dd1db,void 0x0,_0x216c74['authFilePath']);const _0x278e03=_0x216c74['timeoutMs']??_0x35aede,_0x5c735e=(_0x216c74['webBaseUrl']??_0x15985b())['replace'](/\/+$/,''),_0x26d347=randomBytes(0x10)[_0x5d18ba(0x360)](_0x5d18ba(0x555)),_0x2aa688=await _0x57f9d5(_0x26d347,_0x5c735e),_0x37a7d4=_0x216c74['intent']==='pro'?'&intent=pro':'',_0x47d100=_0x5c735e+'/cli-auth?port='+_0x2aa688[_0x5d18ba(0x304)]+_0x5d18ba(0x38b)+encodeURIComponent(_0x26d347)+_0x37a7d4,_0x56d8ea=new AbortController();if(_0x216c74['signal']){if(_0x216c74['signal'][_0x5d18ba(0x18e)]){_0x2aa688['close']();throw new DOMException('aborted',_0x5d18ba(0x4e6));}_0x216c74[_0x5d18ba(0x528)][_0x5d18ba(0x562)]('abort',()=>{const _0x3d8ca7=_0x5d18ba;_0x2aa688[_0x3d8ca7(0x4c4)](new DOMException('aborted','AbortError')),_0x56d8ea[_0x3d8ca7(0x4c4)]();},{'once':!![]});}_0x1dfd06(_0x47d100),process['stderr'][_0x5d18ba(0x3bf)](_0x5d18ba(0x275)+_0x5c735e+_0x5d18ba(0x183)+_0x47d100+'\x0a');try{const _0xe72dc8=await _0x11d3bf(_0x2aa688[_0x5d18ba(0x487)],_0x278e03);return _0x2339dc(_0xe72dc8[_0x5d18ba(0x268)],_0xe72dc8['email'],_0x216c74[_0x5d18ba(0x21f)]);}catch(_0x57a59f){if(_0x57a59f instanceof _0x5c703a){process[_0x5d18ba(0x461)]['write']('Sign-in\x20timed\x20out.\x20Reload\x20the\x20browser\x20tab\x20to\x20retry\x20—\x20or\x20paste\x20your\x20token\x20below:\x0a');const _0x521278=await Promise['race']([_0x2aa688[_0x5d18ba(0x487)][_0x5d18ba(0x298)](_0x177c0e=>({'kind':_0x5d18ba(0x470),'payload':_0x177c0e})),_0x18b521(_0x56d8ea['signal'])[_0x5d18ba(0x298)](_0x4666c0=>({'kind':_0x5d18ba(0x26c),'line':_0x4666c0}))]);if(_0x521278[_0x5d18ba(0x15f)]==='listener')return _0x56d8ea[_0x5d18ba(0x4c4)](),_0x2339dc(_0x521278[_0x5d18ba(0x196)][_0x5d18ba(0x268)],_0x521278[_0x5d18ba(0x196)]['email'],_0x216c74['authFilePath']);if(!_0x521278['line']){if(_0x216c74[_0x5d18ba(0x528)]?.[_0x5d18ba(0x18e)])throw new DOMException('aborted','AbortError');throw new Error(_0x5d18ba(0x3ae));}return _0x2339dc(_0x521278['line'],void 0x0,_0x216c74[_0x5d18ba(0x21f)]);}throw _0x57a59f;}finally{_0x2aa688[_0x5d18ba(0x2cb)]();}}async function _0x428588(_0x2719f9){return new Promise(_0x1da366=>{let _0x4d5576=0x0;const _0x495ade=[];_0x2719f9['on']('data',_0x2e5f70=>{const _0x5e3736=_0xa6e1;if(_0x5e3736(0x455)!==_0x5e3736(0x1fb)){_0x4d5576+=_0x2e5f70['length'];if(_0x4d5576>_0x2dd3a8){_0x2719f9['destroy'](),_0x1da366(null);return;}_0x495ade['push'](_0x2e5f70);}else _0x2a235e='manual';}),_0x2719f9['on']('end',()=>{const _0x470d29=_0xa6e1,_0x1905c9=Buffer[_0x470d29(0x216)](_0x495ade)['toString'](_0x470d29(0x4a1));if(!_0x1905c9){_0x1da366(null);return;}try{const _0x15da5b=JSON['parse'](_0x1905c9);_0x15da5b&&typeof _0x15da5b===_0x470d29(0x2d2)?_0x1da366(_0x15da5b):_0x1da366(null);}catch{_0x1da366(null);}}),_0x2719f9['on']('error',()=>_0x1da366(null));});}async function _0x57f9d5(_0x5afc70,_0x37e7ae){const _0x389088=_0xa6e1;let _0x5dcbe5,_0x3dd7a2;const _0xbf1e70=new Promise((_0xa3ad96,_0xecfe72)=>{_0x5dcbe5=_0xa3ad96,_0x3dd7a2=_0xecfe72;});let _0x2d3077=![],_0x4bd0ef=![],_0x3de856,_0x2511ad;try{_0x2511ad=new URL(_0x37e7ae)['origin'];}catch(_0x187bad){throw new Error(_0x389088(0x515)+_0x37e7ae+'\x22\x20—\x20must\x20be\x20a\x20valid\x20URL\x20with\x20scheme\x20(e.g.\x20https://ceraph.dev\x20or\x20http://localhost:3000).\x20Original\x20error:\x20'+(_0x187bad instanceof Error?_0x187bad[_0x389088(0x2aa)]:String(_0x187bad)));}_0x3de856=createServer((_0x513702,_0x17cea8)=>{const _0x3afd2e=_0x389088;_0x17cea8['setHeader'](_0x3afd2e(0x512),_0x2511ad),_0x17cea8['setHeader']('Access-Control-Allow-Methods',_0x3afd2e(0x27e)),_0x17cea8[_0x3afd2e(0x484)](_0x3afd2e(0x40c),_0x3afd2e(0x3ee));if(_0x513702['method']===_0x3afd2e(0x1df)){_0x17cea8[_0x3afd2e(0x31a)]=0xcc,_0x17cea8['end']();return;}const _0x56dbe9=new URL(_0x513702['url']??'/',_0x3afd2e(0x57d)+_0x293128);if(_0x56dbe9['pathname']!==_0x3afd2e(0x553)){_0x17cea8['statusCode']=0x194,_0x17cea8['end'](_0x3afd2e(0x505));return;}const _0x223f4d=_0x56dbe9['searchParams']['get']('state')??'';if(_0x223f4d!==_0x5afc70){_0x17cea8['statusCode']=0x190,_0x17cea8[_0x3afd2e(0x354)]('invalid\x20state');return;}if(_0x4bd0ef||_0x2d3077){_0x17cea8[_0x3afd2e(0x31a)]=0x199,_0x17cea8['end'](_0x4bd0ef?'already-handled':_0x3afd2e(0x18b));return;}if(_0x513702[_0x3afd2e(0x566)]!==_0x3afd2e(0x3ba)){_0x17cea8['statusCode']=0x195,_0x17cea8['end'](_0x3afd2e(0x4ac));return;}_0x2d3077=!![],void _0x428588(_0x513702)['then'](_0x261fdc=>{const _0x52095a=_0x3afd2e,_0x3a6fd4=_0x261fdc&&typeof _0x261fdc[_0x52095a(0x268)]==='string'?_0x261fdc[_0x52095a(0x268)][_0x52095a(0x531)]():'',_0x313620=_0x261fdc&&typeof _0x261fdc[_0x52095a(0x42e)]==='string'?_0x261fdc[_0x52095a(0x42e)]:'';if(!_0x3a6fd4){_0x2d3077=![],_0x17cea8['statusCode']=0x190,_0x17cea8['end']('missing\x20token');return;}_0x4bd0ef=!![],_0x17cea8['statusCode']=0xc8,_0x17cea8[_0x52095a(0x484)](_0x52095a(0x3ee),'text/html;\x20charset=utf-8'),_0x17cea8[_0x52095a(0x354)](_0x52095a(0x4ec));try{_0x3de856[_0x52095a(0x2cb)]();}catch{}_0x5dcbe5({'token':_0x3a6fd4,'email':_0x313620||void 0x0});});return;});const _0x293128=await new Promise((_0x9d508e,_0xda0312)=>{const _0x2dfd2a=_0x389088;_0x3de856[_0x2dfd2a(0x40b)](_0x2dfd2a(0x48f),_0xda0312),_0x3de856[_0x2dfd2a(0x409)](0x0,'127.0.0.1',()=>{const _0x5c4529=_0x2dfd2a,_0x29b3a2=_0x3de856[_0x5c4529(0x4ce)]();if(!_0x29b3a2||typeof _0x29b3a2===_0x5c4529(0x2c6)||typeof _0x29b3a2[_0x5c4529(0x304)]!=='number'){try{_0x5c4529(0x42a)!=='FVpRh'?_0x3de856[_0x5c4529(0x2cb)]():_0x910c28[_0x5c4529(0x2d0)]='revert-camera\x20removed\x20imageKey\x20props\x20from\x20'+_0x2a6615+_0x5c4529(0x17c);}catch{}_0xda0312(new Error('Could\x20not\x20bind\x20a\x20free\x20port\x20for\x20the\x20auth\x20listener.'));return;}_0x9d508e(_0x29b3a2['port']);});});return _0x3de856['on'](_0x389088(0x48f),_0x27dabf=>_0x3dd7a2(_0x27dabf)),{'port':_0x293128,'tokenPromise':_0xbf1e70,'close':()=>{const _0x402c41=_0x389088;try{_0x3de856[_0x402c41(0x2cb)]();}catch{}},'abort':_0x2bdf7a=>{const _0x3677c6=_0x389088;if('NhwSk'!==_0x3677c6(0x46a)){_0x3dd7a2(_0x2bdf7a);try{_0x3de856['close']();}catch{}}else _0x215afd['close']();}};}function _0x1dfd06(_0x48bd2b){const _0x1d421f=_0xa6e1;try{const _0x14bd5d=platform();let _0xdfebb0,_0x1f60a0;if(_0x14bd5d==='darwin')_0xdfebb0=_0x1d421f(0x34e),_0x1f60a0=[_0x48bd2b];else _0x14bd5d==='win32'?(_0xdfebb0=_0x1d421f(0x3c5),_0x1f60a0=['/c',_0x1d421f(0x565),'',_0x48bd2b]):(_0xdfebb0=_0x1d421f(0x428),_0x1f60a0=[_0x48bd2b]);const _0x2c010b=spawn(_0xdfebb0,_0x1f60a0,{'stdio':'ignore','detached':!![]});_0x2c010b['on']('error',()=>{}),_0x2c010b['unref']();}catch{}}function _0x11d3bf(_0x21d109,_0x24651f){return new Promise((_0x1598c0,_0x558e6b)=>{const _0x493369=setTimeout(()=>_0x558e6b(new _0x5c703a()),_0x24651f);_0x21d109['then'](_0x3636a8=>{clearTimeout(_0x493369),_0x1598c0(_0x3636a8);},_0xe3536a=>{clearTimeout(_0x493369),_0x558e6b(_0xe3536a);});});}function _0x18b521(_0x27518a){return new Promise(_0x280f5e=>{const _0x284025=_0xa6e1,_0x3f1eed=createInterface({'input':process[_0x284025(0x26c)],'crlfDelay':Infinity});let _0x1d0b46=![];const _0x1c53ab=_0x66ae43=>{const _0x426b89=_0x284025;if(_0x1d0b46)return;_0x1d0b46=!![];try{'swOtS'!==_0x426b89(0x309)?_0x103570=_0x30c695['parse'](_0x3eb5c0):_0x3f1eed['close']();}catch{}_0x280f5e(_0x66ae43);};_0x3f1eed['once']('line',_0xb23240=>_0x1c53ab(_0xb23240['trim']()||null)),_0x3f1eed['once']('close',()=>_0x1c53ab(null));if(_0x27518a['aborted']){_0x1c53ab(null);return;}_0x27518a[_0x284025(0x562)]('abort',()=>_0x1c53ab(null),{'once':!![]});});}function _0x33b6b5(_0x1b72b5){const _0x5b6199=_0xa6e1;return _0x1b72b5??_0xe0e072(homedir(),_0x5b6199(0x454),_0x5b6199(0x2ef));}async function _0x2339dc(_0x4db64f,_0x1ccae1,_0x205fab){const _0x4e1336={'accessToken':_0x4db64f,'expiresAt':0x0,'githubUser':{'login':'','id':0x0},'storedAt':new Date()['toISOString'](),..._0x1ccae1?{'email':_0x1ccae1}:{}};return await _0xa222ff(_0x4e1336,_0x205fab),{'token':_0x4db64f,..._0x1ccae1?{'email':_0x1ccae1}:{}};}async function _0xa222ff(_0x321cf1,_0x519fa2){const _0x194945=_0xa6e1,_0x2688ed=_0x33b6b5(_0x519fa2);await _0x198f75['mkdir'](dirname(_0x2688ed),{'recursive':!![],'mode':0x1c0});const _0x9520bd=JSON[_0x194945(0x278)](_0x321cf1,null,0x2)+'\x0a',_0x4e13f5=_0x2688ed+'.tmp.'+process['pid']+'.'+Math[_0x194945(0x4e2)]()[_0x194945(0x360)](0x24)[_0x194945(0x554)](0x2);try{const _0x30bf1c=await _0x198f75[_0x194945(0x34e)](_0x4e13f5,_0x3bec8b[_0x194945(0x1eb)]|_0x3bec8b[_0x194945(0x30c)]|_0x3bec8b['O_EXCL'],0x180);try{'QYZse'===_0x194945(0x4ff)?_0x3020b9 in _0x1eb27d&&(delete _0x483403[_0x23b0fd],_0x4fee58=!![]):await _0x30bf1c['writeFile'](_0x9520bd);}finally{await _0x30bf1c['close']();}await _0x198f75['rename'](_0x4e13f5,_0x2688ed);}catch(_0x976864){if('DEeFd'===_0x194945(0x35a)){try{await _0x198f75[_0x194945(0x1c5)](_0x4e13f5);}catch{}throw _0x976864;}else return _0x194945(0x253);}try{await _0x198f75[_0x194945(0x47e)](dirname(_0x2688ed),0x1c0);}catch{}}var _0x35aede,_0x2dd3a8,_0x5c703a,_0x324a47=_0x1b53f6({'src/init/browser-auth.ts'(){'use strict';_0x35aede=0x5*0x3c*0x3e8,_0x2dd3a8=0x10*0x400,_0x5c703a=class extends Error{constructor(){const _0x590bd4=_0xa6e1;if('XdlKH'===_0x590bd4(0x55c))return new _0x1aa36b(_0x590bd4(0x475),_0x31ff84,'Flow\x20intelligence\x20(rn_list_flows\x20/\x20rn_find_flows\x20/\x20rn_test_flows)\x20is\x20a\x20Pro\x20feature\x20—\x20upgrade\x20at\x20https://ceraph.dev/#pricing.\x20If\x20you\x20just\x20upgraded,\x20re-run\x20this\x20—\x20your\x20Pro\x20access\x20refreshes\x20automatically.');else super('listener-timeout'),this[_0x590bd4(0x273)]=_0x590bd4(0x258);}};}});import{promises as _0xcb1115}from'fs';import{homedir as _0x2c9742}from'os';import{join as _0x57020f}from'path';function _0x4b43d8(){const _0x110fad=_0xa6e1;return _0x57020f(_0x2c9742(),'.ceraph',_0x110fad(0x2ef));}function _0x531165(_0x406c44){const _0x3384e6=_0xa6e1;if(!_0x406c44||typeof _0x406c44!=='object')return![];const _0x1ec957=_0x406c44;if(typeof _0x1ec957[_0x3384e6(0x233)]!=='string'||_0x1ec957[_0x3384e6(0x233)]['length']===0x0)return![];if(typeof _0x1ec957['expiresAt']!=='number')return![];if(_0x1ec957[_0x3384e6(0x1be)]!==void 0x0){if(!_0x1ec957['githubUser']||typeof _0x1ec957['githubUser']!=='object')return![];const _0x543084=_0x1ec957[_0x3384e6(0x1be)];if(typeof _0x543084['login']!==_0x3384e6(0x2c6)||typeof _0x543084['id']!=='number')return![];}if(typeof _0x1ec957[_0x3384e6(0x52c)]!=='string')return![];return!![];}function _0x3f1126(_0x2921b1){const _0x4eddb6=_0xa6e1;if(_0x2921b1[_0x4eddb6(0x1be)])return _0x2921b1;return{..._0x2921b1,'githubUser':{'login':'','id':0x0}};}async function _0x1976b2(_0x505ce7={}){const _0x3b2214=_0xa6e1,_0x35d096=_0x505ce7['filePath']??_0x4b43d8();let _0x2a3270;try{_0x2a3270=await _0xcb1115['readFile'](_0x35d096,_0x3b2214(0x2fd));}catch{return null;}let _0x20c20d;try{_0x20c20d=JSON['parse'](_0x2a3270);}catch{return null;}if(!_0x531165(_0x20c20d))return null;if(_0x20c20d[_0x3b2214(0x1a4)]>0x0&&_0x20c20d[_0x3b2214(0x1a4)]<Date[_0x3b2214(0x1ec)]())return null;const _0x5704a4=_0x3f1126(_0x20c20d);if(_0x5704a4['accessToken']===_0x4758ae)return null;return _0x5704a4;}var _0x4758ae,_0x10d22=_0x1b53f6({'src/auth.ts'(){'use strict';const _0x47739d=_0xa6e1;_0x4758ae=_0x47739d(0x217);}});import{readFile as _0x4c2f7f,writeFile,readdir}from'fs/promises';import{basename,dirname as _0x22dfbd,join as _0x17a978,relative,sep}from'path';async function _0x51d453(){if(_0x46bd02)return;const _0x4ebf67=await import('ts-morph');({IndentationText:_0x4d4163,Project:_0x56191a,SyntaxKind:_0x393182,Node:_0x54f126}=_0x4ebf67,_0x46bd02=!![]);}function _0x5d48b3(_0x4b3ea9){const _0x4f8500=_0xa6e1,_0xdb2bcc=basename(_0x4b3ea9)['replace'](/\.(tsx|jsx)$/i,''),_0x4ad438=basename(_0x22dfbd(_0x4b3ea9)),_0x1032ec=new Set([_0x4f8500(0x45e),'index','screen',_0x4f8500(0x58f),'layout']),_0x151be2=_0x1032ec[_0x4f8500(0x3b6)](_0xdb2bcc['toLowerCase']())?_0x4ad438:_0xdb2bcc,_0x140539=_0x151be2['replace'](/([a-z0-9])([A-Z])/g,_0x4f8500(0x251))['toLowerCase']()['replace'](/[^a-z0-9]+/g,'-')[_0x4f8500(0x2c4)](/^-+|-+$/g,'');return _0x140539['length']>0x0?_0x140539:_0x4f8500(0x365);}async function _0x9abcaf(_0xecf8ed){const _0x3b6e3e=_0xa6e1,_0x35a2fd=[];async function _0xa44985(_0x37ad3e){const _0x3a7d79=_0xa6e1;let _0x4a2814;try{if('NryFe'==='qSzJU')return{'changed':![],'previousScheme':[..._0x25f381],'nextScheme':[..._0x49a5a1]};else _0x4a2814=await readdir(_0x37ad3e,{'withFileTypes':!![]});}catch{if('wJDgb'==='shEKU')return{'kind':'ok','value':_0x4d856b['parse'](_0x24841e)};else return;}for(const _0x3bed5c of _0x4a2814){const _0x28f078=_0x17a978(_0x37ad3e,_0x3bed5c[_0x3a7d79(0x273)]);if(_0x3bed5c[_0x3a7d79(0x330)]()){if(_0x35508f['has'](_0x3bed5c[_0x3a7d79(0x273)]))continue;await _0xa44985(_0x28f078);continue;}if(!_0x3bed5c['isFile']())continue;const _0x219b2b=_0x3bed5c['name'][_0x3a7d79(0x2b4)]('.');if(_0x219b2b<0x0)continue;const _0x3639bd=_0x3bed5c['name']['slice'](_0x219b2b)[_0x3a7d79(0x55a)]();if(!_0x127a0d['has'](_0x3639bd))continue;_0x35a2fd[_0x3a7d79(0x407)](_0x28f078);}}for(const _0x318de9 of _0x275657){if(_0x3b6e3e(0x426)==='ulerS')return[];else await _0xa44985(_0x17a978(_0xecf8ed,_0x318de9));}for(const _0x5c645c of[_0x3b6e3e(0x3f5),'App.jsx']){_0x35a2fd[_0x3b6e3e(0x407)](_0x17a978(_0xecf8ed,_0x5c645c));}return _0x35a2fd;}function _0x1d34c1(_0x311851){const _0x26bb6c=_0xa6e1,_0x15f22f=new _0x56191a({'useInMemoryFileSystem':![],'skipAddingFilesFromTsConfig':!![],'skipFileDependencyResolution':!![],'skipLoadingLibFiles':!![],'compilerOptions':{'allowJs':!![],'jsx':0x1},'manipulationSettings':{'indentationText':_0x4d4163[_0x26bb6c(0x256)]}});for(const _0xa11f50 of _0x311851){try{_0x15f22f[_0x26bb6c(0x16f)](_0xa11f50);}catch{}}return _0x15f22f;}function _0x4b461e(_0x57a0dd,_0x319ca2){const _0x431f70=_0xa6e1,_0x49d023=[];return _0x57a0dd[_0x431f70(0x568)](_0x3a77e1=>{const _0xc3f2b2=_0x431f70;if(_0x54f126['isJsxOpeningElement'](_0x3a77e1)||_0x54f126[_0xc3f2b2(0x188)](_0x3a77e1)){if(_0xc3f2b2(0x4b3)!==_0xc3f2b2(0x357)){const _0x2b20f6=_0x3a77e1[_0xc3f2b2(0x459)]();_0x2b20f6['getText']()===_0x319ca2&&_0x49d023[_0xc3f2b2(0x407)](_0x3a77e1);}else{'use strict';_0x4b31e6(),_0x233412(),_0x40a822(),_0x2ec64a=[_0xc3f2b2(0x38e),_0xc3f2b2(0x224),'screens'],_0x5dc907=new _0x4cb7cd([_0xc3f2b2(0x56f),_0xc3f2b2(0x3f0)]),_0x26dc54=new _0x5a0c80([_0xc3f2b2(0x514),_0xc3f2b2(0x20e),'build',_0xc3f2b2(0x35c),'.ceraph','.expo',_0xc3f2b2(0x1f7),'ios','android']);}}}),_0x49d023;}function _0x380eb3(_0x346501){const _0x17450f=_0xa6e1,_0x544a68=_0x346501['getAttributes']();for(const _0x3d28c6 of _0x544a68){if(_0x17450f(0x2df)===_0x17450f(0x390)){const _0x43ba72=_0x2e2ac7['match'](/\n(\s+)"/),_0x261274=_0x43ba72?.[0x1]??'\x20\x20',_0x11fbcb=_0x28c69d[_0x17450f(0x25c)]('\x0a'),_0x566db3=_0x3ac00a[_0x17450f(0x278)](_0x2303c4,null,_0x261274);return _0x11fbcb?_0x566db3+'\x0a':_0x566db3;}else{if(_0x54f126['isJsxAttribute'](_0x3d28c6)){const _0x260405=_0x3d28c6['getNameNode']();if(_0x260405[_0x17450f(0x424)]()===_0x17450f(0x4b7))return!![];}}}return![];}async function _0x252adf(_0x3eb544){const _0x51393c=_0xa6e1;await _0x51d453();const _0x2f8fdd=await _0x9abcaf(_0x3eb544),_0x35beff=_0x1d34c1(_0x2f8fdd),_0x1022ad=[];for(const _0x584cb1 of _0x35beff['getSourceFiles']()){const _0xad88=_0x4b461e(_0x584cb1,'CameraView');if(_0xad88[_0x51393c(0x358)]===0x0)continue;for(const _0x34f853 of _0xad88){const _0x23228c=_0x34f853['getStart'](),_0x143b33=_0x584cb1['getLineAndColumnAtPos'](_0x23228c);_0x1022ad[_0x51393c(0x407)]({'filePath':_0x584cb1['getFilePath'](),'relPath':relative(_0x3eb544,_0x584cb1['getFilePath']())['split'](sep)['join']('/'),'line':_0x143b33[_0x51393c(0x31b)],'suggestedKey':_0x5d48b3(_0x584cb1['getFilePath']()),'alreadyHasImageKey':_0x380eb3(_0x34f853)});}}return _0x1022ad['sort']((_0x415608,_0x20f1dd)=>_0x415608[_0x51393c(0x539)]===_0x20f1dd[_0x51393c(0x539)]?_0x415608[_0x51393c(0x31b)]-_0x20f1dd[_0x51393c(0x31b)]:_0x415608[_0x51393c(0x539)]<_0x20f1dd['relPath']?-0x1:0x1),{'edits':_0x1022ad,'filesScanned':_0x35beff[_0x51393c(0x1d9)]()['length']};}async function _0x4423bb(_0x3fe3c2,_0x4d61d9,_0x5a05b1={}){const _0x1ec9b9=_0xa6e1;await _0x51d453();const _0x42b523=new Map();for(const _0x1df99d of _0x4d61d9){const _0x4c93a6=_0x42b523[_0x1ec9b9(0x3a8)](_0x1df99d[_0x1ec9b9(0x3e1)])??[];_0x4c93a6['push'](_0x1df99d),_0x42b523['set'](_0x1df99d['filePath'],_0x4c93a6);}const _0x484696=_0x1d34c1(Array[_0x1ec9b9(0x3d3)](_0x42b523[_0x1ec9b9(0x3d4)]())),_0x32ab09=[];let _0x385f58=0x0;for(const [_0x1e283e,_0x3e7fbf]of _0x42b523){const _0x8d584f=_0x484696['getSourceFile'](_0x1e283e);if(!_0x8d584f)continue;let _0x2a6ba4=0x0;for(const _0x12128d of _0x3e7fbf){const _0x889b87=_0x4b461e(_0x8d584f,'CameraView'),_0xc5b327=_0x889b87['find'](_0xca896=>{const _0x33b59e=_0x1ec9b9,_0x2d52a4=_0x8d584f['getLineAndColumnAtPos'](_0xca896[_0x33b59e(0x1ed)]());return _0x2d52a4['line']===_0x12128d[_0x33b59e(0x31b)];});if(!_0xc5b327)continue;_0xc5b327[_0x1ec9b9(0x459)]()[_0x1ec9b9(0x397)](_0x1ec9b9(0x53f));if(_0x54f126[_0x1ec9b9(0x2fe)](_0xc5b327)){const _0x1ab342=_0xc5b327[_0x1ec9b9(0x437)](_0x393182['JsxElement']);if(_0x1ab342){const _0x4fc9a5=_0x1ab342[_0x1ec9b9(0x19c)]();_0x4fc9a5[_0x1ec9b9(0x459)]()[_0x1ec9b9(0x397)](_0x1ec9b9(0x53f));}}!_0x12128d[_0x1ec9b9(0x47a)]&&!_0x5a05b1[_0x1ec9b9(0x403)]&&_0xc5b327['addAttribute']({'name':'imageKey','initializer':'\x22'+_0x12128d['suggestedKey']+'\x22'}),_0x2a6ba4++,_0x385f58++;}const _0x32cf44=_0x8d584f[_0x1ec9b9(0x53c)](_0x476ec2);if(_0x32cf44){if(_0x1ec9b9(0x3e5)!==_0x1ec9b9(0x3e5))return _0x1bceb0(_0x4c15b4+':\x20existing\x20config\x20at\x20'+_0x23ccd5+_0x1ec9b9(0x1b5)),![];else{const _0x11bbe9=_0x32cf44['getNamedImports']();!_0x11bbe9[_0x1ec9b9(0x179)](_0x4431f4=>_0x4431f4['getName']()===_0xcac55)&&_0x32cf44[_0x1ec9b9(0x439)](_0xcac55);}}else _0x8d584f['addImportDeclaration']({'moduleSpecifier':_0x476ec2,'namedImports':[_0xcac55]});const _0x5a3316=_0x8d584f['getImportDeclaration'](_0x1ec9b9(0x395));if(_0x5a3316){const _0x4a744c=_0x4b461e(_0x8d584f,_0x1ec9b9(0x3c6));if(_0x4a744c['length']===0x0){const _0x13929d=_0x5a3316['getNamedImports'](),_0x5865a6=_0x13929d['find'](_0x2733f7=>_0x2733f7[_0x1ec9b9(0x1ff)]()==='CameraView');if(_0x5865a6){_0x5865a6[_0x1ec9b9(0x375)]();const _0x260480=_0x5a3316['getNamedImports'](),_0x3981da=_0x5a3316['getDefaultImport']()!=null;if(_0x260480['length']===0x0&&!_0x3981da){if(_0x1ec9b9(0x288)===_0x1ec9b9(0x3f6)){const _0xd1971c=_0x182a49[_0x1ec9b9(0x1cb)]();if(_0x21a18b[_0x1ec9b9(0x3de)](_0xd1971c)&&_0xd1971c[_0x1ec9b9(0x424)]()===_0x2f58c7)return _0x1ec9b9(0x1d1);}else _0x5a3316['remove']();}}}}if(_0x2a6ba4>0x0){const _0x3a8d25=_0x8d584f['getFullText']();await writeFile(_0x1e283e,_0x3a8d25,_0x1ec9b9(0x2fd)),_0x32ab09[_0x1ec9b9(0x407)](_0x1e283e);}}return{'filesEdited':_0x32ab09,'totalReplacements':_0x385f58};}async function _0x3e51e0(_0x828042){try{return await _0x4c2f7f(_0x828042,'utf-8');}catch{return null;}}async function _0x5b2be0(_0x1408c6,_0x4128e6){await writeFile(_0x1408c6,_0x4128e6,'utf-8');}var _0x4d4163,_0x56191a,_0x393182,_0x54f126,_0x46bd02,_0x275657,_0x127a0d,_0x35508f,_0x476ec2,_0xcac55,_0x2cd108=_0x1b53f6({'src/init/ast-camera.ts'(){'use strict';const _0x2b4b74=_0xa6e1;_0x46bd02=![],_0x275657=['app','src','screens'],_0x127a0d=new Set(['.tsx',_0x2b4b74(0x3f0)]),_0x35508f=new Set([_0x2b4b74(0x514),'dist',_0x2b4b74(0x37a),'.git',_0x2b4b74(0x454),_0x2b4b74(0x462),'.next','ios','android']),_0x476ec2=_0x2b4b74(0x2e5),_0xcac55=_0x2b4b74(0x53f);}});import{readFile as _0x4a3d93,writeFile as _0x56ad9b}from'fs/promises';import{dirname as _0x24d4f9,join as _0x1461eb,relative as _0x8f4b41,sep as _0x349833}from'path';async function _0x36b382(){const _0x42a1e2=_0xa6e1;if(_0x1edd71)return;const _0x580d8b=await import(_0x42a1e2(0x4c6));({IndentationText:_0x117c68,Project:_0x3651a9,Node:_0x131ca2,SyntaxKind:_0x54cdd4}=_0x580d8b,_0x1edd71=!![]);}function _0x301ca7(_0x2170a1){const _0x5c646d=_0xa6e1,_0x6505ec=_0x24d4f9(_0x2170a1[_0x5c646d(0x3e1)]),_0x495ef7=_0x2170a1['kind']==='expo-router'?_0x24d4f9(_0x6505ec):_0x6505ec,_0x27182e=_0x1461eb(_0x495ef7,_0x56db4f);let _0xe28998=_0x8f4b41(_0x6505ec,_0x27182e);if(_0x349833!=='/')_0xe28998=_0xe28998['split'](_0x349833)[_0x5c646d(0x3c0)]('/');if(!_0xe28998[_0x5c646d(0x317)]('./')&&!_0xe28998[_0x5c646d(0x317)](_0x5c646d(0x52f)))_0xe28998='./'+_0xe28998;return _0xe28998;}function _0x1583c8(_0x16ac53){const _0x1061ba=_0xa6e1,_0x226dc9=_0x301ca7(_0x16ac53);return _0x6a9834+_0x1061ba(0x557)+_0x226dc9+'\x22);\x20}\x20catch\x20{\x20return\x20null;\x20}\x20}\x20})';}async function _0x35ce46(_0x2c5099){try{return await _0x4a3d93(_0x2c5099,'utf-8'),!![];}catch{return![];}}async function _0x40d878(_0x17cd4d){const _0x51ac5d=_0xa6e1,_0x30ea67=_0x1461eb(_0x17cd4d,_0x51ac5d(0x38e),_0x51ac5d(0x379));if(await _0x35ce46(_0x30ea67))return{'kind':'expo-router','filePath':_0x30ea67};const _0x3a18ad=_0x1461eb(_0x17cd4d,_0x51ac5d(0x38e),'_layout.jsx');if(await _0x35ce46(_0x3a18ad))return{'kind':'expo-router','filePath':_0x3a18ad};for(const _0x22a528 of[_0x51ac5d(0x3f5),_0x51ac5d(0x500)]){const _0xf681a5=_0x1461eb(_0x17cd4d,_0x22a528);if(await _0x35ce46(_0xf681a5))return{'kind':'bare-rn','filePath':_0xf681a5};}return null;}function _0xefa2e3(_0x5ad675){const _0x4f1dff=_0xa6e1;for(const _0x867a4d of _0x5ad675['getFunctions']()){if(_0x867a4d['isDefaultExport']())return _0x867a4d;}const _0x557af1=_0x5ad675[_0x4f1dff(0x476)]()['find'](_0x8b7327=>_0x131ca2[_0x4f1dff(0x463)](_0x8b7327));if(_0x557af1&&_0x131ca2['isExportAssignment'](_0x557af1)){if('CvlrG'!=='CvlrG')return _0x391806('\x0aAborted\x20—\x20no\x20changes\x20made.\x0a',_0x4099cb),{'exitCode':0x0,'walkthrough':null,'parsedFlags':_0x1aa6ff};else{const _0x8e1e29=_0x557af1[_0x4f1dff(0x1cb)]();if(_0x131ca2['isIdentifier'](_0x8e1e29)){const _0x5e36a7=_0x8e1e29[_0x4f1dff(0x292)]();if(_0x5e36a7){const _0x2be8c7=_0x5e36a7[_0x4f1dff(0x43f)]()[0x0];if(_0x2be8c7&&_0x131ca2['isVariableDeclaration'](_0x2be8c7)){if('OJkjm'!=='OJkjm'){const _0x2e70f8=_0x272cef[_0x4f1dff(0x2ee)](_0x2b7b4f);if(!_0x2e70f8||typeof _0x2e70f8!=='object'||_0x5f0739[_0x4f1dff(0x310)](_0x2e70f8))return{'ok':![],'parsed':{}};return{'ok':!![],'parsed':_0x2e70f8};}else{const _0x3cdc7c=_0x2be8c7['getInitializer']();if(_0x3cdc7c&&_0x131ca2[_0x4f1dff(0x18c)](_0x3cdc7c))return _0x3cdc7c;if(_0x3cdc7c&&_0x131ca2[_0x4f1dff(0x16a)](_0x3cdc7c))return _0x3cdc7c;}}}}if(_0x131ca2['isArrowFunction'](_0x8e1e29))return _0x8e1e29;if(_0x131ca2[_0x4f1dff(0x16a)](_0x8e1e29))return _0x8e1e29;}}return null;}function _0x243b19(_0x401687){const _0x3be72d=_0xa6e1,_0xc6ad4f=_0x401687[_0x3be72d(0x53c)]('react');if(!_0xc6ad4f)return _0x401687['addImportDeclaration']({'moduleSpecifier':_0x3be72d(0x2ca),'namedImports':['useEffect']}),!![];const _0x227042=_0xc6ad4f['getNamedImports']();if(!_0x227042['some'](_0x171916=>_0x171916[_0x3be72d(0x1ff)]()===_0x3be72d(0x4cb)))return _0xc6ad4f[_0x3be72d(0x439)](_0x3be72d(0x4cb)),!![];return![];}function _0x2dda4b(_0x47bb71){const _0x25c08d=_0xa6e1,_0x24dab9=_0x47bb71[_0x25c08d(0x53c)](_0x1e9f68);if(!_0x24dab9)return _0x47bb71['addImportDeclaration']({'moduleSpecifier':_0x1e9f68,'namedImports':[_0x6a9834]}),!![];const _0xe6a114=_0x24dab9[_0x25c08d(0x46b)]();if(!_0xe6a114['some'](_0xe119cf=>_0xe119cf['getName']()===_0x6a9834))return _0x24dab9[_0x25c08d(0x439)](_0x6a9834),!![];return![];}function _0x3de9eb(_0x1f17cf){const _0x1bf5b0=_0xa6e1,_0x470f51=_0x1f17cf['getBody']();if(!_0x470f51||!_0x131ca2['isBlock'](_0x470f51))return null;let _0x3b1715=null,_0x33659b=null;return _0x470f51[_0x1bf5b0(0x568)]((_0x5c5334,_0x46ab10)=>{const _0x55f006=_0x1bf5b0;if(_0x33659b){_0x46ab10[_0x55f006(0x28d)]();return;}if(_0x131ca2[_0x55f006(0x58d)](_0x5c5334)){const _0xe91f0b=_0x5c5334[_0x55f006(0x1cb)]();if(_0x131ca2['isIdentifier'](_0xe91f0b)&&_0xe91f0b[_0x55f006(0x424)]()===_0x6a9834){if(_0x3b1715===null)_0x3b1715=_0x5c5334;_0x5c5334[_0x55f006(0x445)]()['length']===0x0&&(_0x33659b=_0x5c5334,_0x46ab10[_0x55f006(0x28d)]());}}}),_0x33659b??_0x3b1715;}function _0x3d85bf(_0x1c078d){return _0x3de9eb(_0x1c078d)!==null;}function _0x3d36cc(_0x284189,_0x5fbb40){const _0x288af2=_0xa6e1;if(_0x284189['getArguments']()[_0x288af2(0x358)]>0x0)return![];const _0x21136b=_0x301ca7(_0x5fbb40);return _0x284189['addArgument']('{\x20readTestidConfig:\x20()\x20=>\x20{\x20try\x20{\x20return\x20require(\x22'+_0x21136b+_0x288af2(0x532)),!![];}async function _0x54d79a(_0xe098a2){const _0x5d6398=_0xa6e1;await _0x36b382();let _0x1f8195;try{const _0x463628=new _0x3651a9({'useInMemoryFileSystem':![],'skipAddingFilesFromTsConfig':!![],'skipFileDependencyResolution':!![],'skipLoadingLibFiles':!![],'compilerOptions':{'allowJs':!![],'jsx':0x1}});_0x1f8195=_0x463628[_0x5d6398(0x16f)](_0xe098a2);}catch{return _0x5d6398(0x38d);}const _0xf4ae1f=_0xefa2e3(_0x1f8195);if(!_0xf4ae1f)return'none';const _0x2646ab=_0x3de9eb(_0xf4ae1f);if(!_0x2646ab)return'none';return _0x2646ab['getArguments']()['length']===0x0?_0x5d6398(0x4df):_0x5d6398(0x2e4);}function _0x298644(_0x1942f3,_0x43d450){const _0x2a283b=_0xa6e1;if(_0x3d85bf(_0x1942f3))return![];if(_0x131ca2[_0x2a283b(0x18c)](_0x1942f3)){const _0x4f00a8=_0x1942f3['getBody']();if(!_0x131ca2['isBlock'](_0x4f00a8)){const _0x259974=_0x4f00a8[_0x2a283b(0x424)]();_0x4f00a8['replaceWithText'](_0x2a283b(0x165)+_0x259974+_0x2a283b(0x2a9));}}const _0x18b704=_0x1942f3['getBody']();if(!_0x18b704||!_0x131ca2['isBlock'](_0x18b704))return![];return _0x18b704['insertStatements'](0x0,'useEffect(()\x20=>\x20{\x20'+_0x1583c8(_0x43d450)+';\x20},\x20[]);'),!![];}async function _0x2a896e(_0x188206){const _0x5f330b=_0xa6e1;await _0x36b382();const _0x27c4f5=new _0x3651a9({'useInMemoryFileSystem':![],'skipAddingFilesFromTsConfig':!![],'skipFileDependencyResolution':!![],'skipLoadingLibFiles':!![],'compilerOptions':{'allowJs':!![],'jsx':0x1},'manipulationSettings':{'indentationText':_0x117c68['TwoSpaces']}}),_0x4d7499=_0x27c4f5[_0x5f330b(0x16f)](_0x188206[_0x5f330b(0x3e1)]),_0xefca18=_0xefa2e3(_0x4d7499);if(!_0xefca18)return{'applied':![],'alreadyPresent':![],'reason':_0x5f330b(0x4d0)+_0x188206['filePath']+':\x0a\x20\x20import\x20{\x20installCeraph\x20}\x20from\x20\x22'+_0x1e9f68+'\x22;\x0a\x20\x20useEffect(()\x20=>\x20{\x20'+_0x1583c8(_0x188206)+_0x5f330b(0x2a8)};const _0x44cd4a=_0x3de9eb(_0xefca18);if(_0x44cd4a){const _0x442cda=_0x3d36cc(_0x44cd4a,_0x188206),_0x39f0c8=_0x2dda4b(_0x4d7499),_0x255f63=_0x243b19(_0x4d7499),_0x4688ce=_0x442cda||_0x39f0c8||_0x255f63;return _0x4688ce&&await _0x56ad9b(_0x188206[_0x5f330b(0x3e1)],_0x4d7499['getFullText'](),'utf-8'),{'applied':_0x4688ce,'alreadyPresent':!![],'reason':_0x442cda?'Upgraded\x20existing\x20installCeraph()\x20with\x20the\x20testID\x20sentinel\x20seam.':_0x4688ce?_0x5f330b(0x493):_0x5f330b(0x3ac)};}const _0x373c0e=_0x298644(_0xefca18,_0x188206);if(!_0x373c0e)return _0x5f330b(0x4d1)===_0x5f330b(0x4d1)?{'applied':![],'alreadyPresent':![],'reason':_0x5f330b(0x3be)+_0x188206['filePath']+_0x5f330b(0x2d1)+_0x1e9f68+_0x5f330b(0x2ac)+_0x1583c8(_0x188206)+_0x5f330b(0x2a8)}:![];_0x2dda4b(_0x4d7499),_0x243b19(_0x4d7499);const _0x995519=_0x4d7499[_0x5f330b(0x2f4)]();return await _0x56ad9b(_0x188206['filePath'],_0x995519,'utf-8'),{'applied':!![],'alreadyPresent':![]};}async function _0xf258d(_0x24699f){const _0xf7a279=_0xa6e1;try{return await _0x4a3d93(_0x24699f[_0xf7a279(0x3e1)],'utf-8');}catch{return null;}}async function _0x2fa7fe(_0x4aec72,_0x3fece4){const _0x2dcf33=_0xa6e1;await _0x56ad9b(_0x4aec72[_0x2dcf33(0x3e1)],_0x3fece4,'utf-8');}var _0x117c68,_0x3651a9,_0x131ca2,_0x54cdd4,_0x1edd71,_0x1e9f68,_0x6a9834,_0x56db4f,_0x45872c=_0x1b53f6({'src/init/ast-layout.ts'(){'use strict';const _0x531c72=_0xa6e1;_0x1edd71=![],_0x1e9f68='@ceraph/react-native-mcp/shim',_0x6a9834=_0x531c72(0x3e6),_0x56db4f=_0x1461eb(_0x531c72(0x454),'testid-config.json');}});import{createInterface as _0x30ce3b}from'readline';function _0x4390ec(_0x60ea9b){const _0x272b9a=_0xa6e1;if(_0x60ea9b[_0x272b9a(0x412)]!==void 0x0)return _0x60ea9b[_0x272b9a(0x412)];if(process.env.CERAPH_NON_INTERACTIVE==='1')return!![];return!process[_0x272b9a(0x26c)][_0x272b9a(0x347)];}function _0x10eb22(_0x1540ac){return new Promise(_0x310299=>{const _0x2a8ca7=_0xa6e1;if(_0x2a8ca7(0x366)==='wipIM'){_0x224a70({'code':0x7f,'stdout':'','stderr':_0x5cd5d2 instanceof _0x259c47?_0x216669['message']:_0x470df7(_0x2660d7)});return;}else{const _0x184312=_0x30ce3b({'input':process['stdin'],'output':process['stdout']});_0x184312['question'](_0x1540ac,_0x207afb=>{const _0x327578=_0x2a8ca7;_0x184312[_0x327578(0x2cb)](),_0x310299(_0x207afb);});}});}async function _0x2a4875(_0x230568,_0x29d6de={}){const _0x4012ad=_0xa6e1,_0x1e3e5f=_0x29d6de['defaultYes']??!![];if(_0x4390ec(_0x29d6de))return _0x1e3e5f;const _0x68f497=_0x29d6de[_0x4012ad(0x4da)]??_0x10eb22,_0x31a589=_0x1e3e5f?_0x4012ad(0x186):_0x4012ad(0x1e1),_0x43c83d=(await _0x68f497(_0x230568+_0x31a589))[_0x4012ad(0x531)]()[_0x4012ad(0x55a)]();if(_0x43c83d[_0x4012ad(0x358)]===0x0)return _0x1e3e5f;return _0x43c83d==='y'||_0x43c83d==='yes';}function _0x7c81a8(_0x4ad511,_0x1d2836={}){const _0xc093b5=_0xa6e1,_0x5ed714=_0x1d2836['write']??(_0x4658be=>process['stdout'][_0xc093b5(0x3bf)](_0x4658be));_0x5ed714(_0x4ad511);}function _0x4079d9(_0xe41cc6,_0x38613c){const _0x3977d6=_0xa6e1,_0x41a976=_0x38613c??_0xe41cc6;if(process['stdout'][_0x3977d6(0x347)]!==!![]||process[_0x3977d6(0x461)][_0x3977d6(0x347)]!==!![])return _0x41a976;return'\x1b]8;;'+_0xe41cc6+'\x07'+_0x41a976+'\x1b]8;;\x07';}async function _0x199723(_0x3a1377,_0x3d2c35,_0x86718b={}){const _0x41e331=_0xa6e1;if(_0x3d2c35[_0x41e331(0x358)]===0x0)return null;if(_0x4390ec(_0x86718b))return 0x0;const _0x32eaa3=_0x86718b['ask']??_0x10eb22,_0x5e9af1=[_0x3a1377];_0x3d2c35['forEach']((_0x257d9a,_0xad42c1)=>{_0x5e9af1['push']('\x20\x20'+(_0xad42c1+0x1)+'.\x20'+_0x257d9a);}),_0x5e9af1[_0x41e331(0x407)]('');const _0x4604c5=_0x5e9af1[_0x41e331(0x3c0)]('\x0a')+(_0x41e331(0x225)+_0x3d2c35['length']+_0x41e331(0x473)),_0x5da3d7=(await _0x32eaa3(_0x4604c5))[_0x41e331(0x531)]();if(_0x5da3d7['length']===0x0)return 0x0;const _0xff209a=Number['parseInt'](_0x5da3d7,0xa)-0x1;if(Number[_0x41e331(0x438)](_0xff209a)||_0xff209a<0x0||_0xff209a>=_0x3d2c35['length'])return null;return _0xff209a;}var _0x460a52=_0x1b53f6({'src/init/prompt.ts'(){'use strict';}});import{readdir as _0x2e7028,readFile as _0x5496c0,writeFile as _0x1df2ae,mkdir,stat}from'fs/promises';import{join as _0x5aa5d0,relative as _0x4720dd}from'path';function _0x2088e2(_0x3d2571){const _0x1e8c5d=_0xa6e1;return _0x21f8d6[_0x1e8c5d(0x3bb)](_0x3d2571);}function _0x5d43fc(_0x325552){return _0x21f8d6['indexOf'](_0x325552);}function _0x4653d6(_0x8d1aca){const _0x19b410=_0xa6e1,_0x9c6e12=_0x8d1aca[_0x19b410(0x2b4)]('.');if(_0x9c6e12<=0x0)return null;const _0x11a6e5=_0x8d1aca[_0x19b410(0x554)](0x0,_0x9c6e12),_0x547866=_0x8d1aca['slice'](_0x9c6e12)[_0x19b410(0x55a)]();if(!_0x2088e2(_0x547866))return null;if(_0x11a6e5['length']===0x0)return null;return{'stem':_0x11a6e5,'ext':_0x547866};}function _0x509ed1(_0x5e3874){const _0x38e643=_0xa6e1,_0xa3c622=_0x38e643(0x594);if(_0x5e3874['length']===0x0)return _0xa3c622+_0x38e643(0x1e9);const _0x214852=Math[_0x38e643(0x241)](..._0x5e3874[_0x38e643(0x471)](_0xcc5f4c=>_0xcc5f4c[_0x38e643(0x289)]['length']+0x2)),_0x3f323e=_0x5e3874[_0x38e643(0x471)](_0x57d9ce=>{const _0xf3cd64='\x22'+_0x57d9ce['key']+'\x22,',_0x5153aa=_0xf3cd64['padEnd'](_0x214852+0x1,'\x20');return'\x20\x20configureTestImage('+_0x5153aa+'\x20require(\x22'+_0x57d9ce['relativePath']+'\x22));';});return _0xa3c622+_0x3f323e[_0x38e643(0x3c0)]('\x0a')+_0x38e643(0x3c9);}async function _0xd5f358(_0x57ac45){const _0x35140d=_0xa6e1,_0x22c9e4=_0x5aa5d0(_0x57ac45,_0xab7ca3),_0x30828a=_0x5aa5d0(_0x22c9e4,_0xdf5570);let _0xbf381;try{const _0x4e63e4=await stat(_0x22c9e4);if(!_0x4e63e4[_0x35140d(0x330)]()){if(_0x35140d(0x57f)==='mNpSd')return{'registered':[],'registryPath':_0x30828a,'writtenOrUnchanged':_0x35140d(0x50b)};else{if(typeof _0x24caf6==='string')_0x17fc26[_0x35140d(0x3f7)](_0x571197);}}_0xbf381=await _0x2e7028(_0x22c9e4);}catch{return{'registered':[],'registryPath':_0x30828a,'writtenOrUnchanged':'missing-dir'};}const _0x11e1b1=new Map();for(const _0x3ae939 of _0xbf381){if(_0x3ae939===_0xdf5570)continue;if(_0x3ae939[_0x35140d(0x317)]('_')||_0x3ae939['startsWith']('.'))continue;if(_0x3ae939===_0x35140d(0x481))continue;const _0x11fa5b=_0x4653d6(_0x3ae939);if(!_0x11fa5b)continue;const _0x291c9a={'key':_0x11fa5b['stem'],'relativePath':'./'+_0x3ae939,'ext':_0x11fa5b[_0x35140d(0x315)]},_0x8f3410=_0x11e1b1[_0x35140d(0x3a8)](_0x11fa5b['stem']);if(!_0x8f3410){_0x11e1b1[_0x35140d(0x293)](_0x11fa5b[_0x35140d(0x4a7)],_0x291c9a);continue;}_0x5d43fc(_0x291c9a['ext'])<_0x5d43fc(_0x8f3410[_0x35140d(0x315)])&&_0x11e1b1['set'](_0x11fa5b[_0x35140d(0x4a7)],_0x291c9a);}const _0x132f77=Array[_0x35140d(0x3d3)](_0x11e1b1['values']())['sort']((_0x2e559c,_0x50bc9c)=>_0x2e559c[_0x35140d(0x289)]<_0x50bc9c[_0x35140d(0x289)]?-0x1:_0x2e559c['key']>_0x50bc9c['key']?0x1:0x0),_0x26b503=_0x509ed1(_0x132f77);let _0x3437c6=null;try{_0x3437c6=await _0x5496c0(_0x30828a,_0x35140d(0x2fd));}catch{_0x3437c6=null;}if(_0x3437c6===_0x26b503)return{'registered':_0x132f77,'registryPath':_0x30828a,'writtenOrUnchanged':_0x35140d(0x176)};return await mkdir(_0x22c9e4,{'recursive':!![]}),await _0x1df2ae(_0x30828a,_0x26b503,'utf-8'),{'registered':_0x132f77,'registryPath':_0x30828a,'writtenOrUnchanged':'written'};}function _0x1f0a95(_0xf364f9,_0x393c69){const _0x4274b9=_0x4720dd(_0xf364f9,_0x393c69);return _0x4274b9['length']>0x0?_0x4274b9:_0x393c69;}var _0x21f8d6,_0xdf5570,_0xab7ca3,_0x5479af=_0x1b53f6({'src/camera-registry-sync.ts'(){'use strict';const _0x371e10=_0xa6e1;_0x21f8d6=[_0x371e10(0x517),_0x371e10(0x1da),'.png','.webp',_0x371e10(0x3b0)],_0xdf5570=_0x371e10(0x199),_0xab7ca3=_0x5aa5d0('.ceraph',_0x371e10(0x3dc));}});import{readFile as _0x2259ea,readdir as _0x121388,stat as _0x398d3d}from'fs/promises';import{join as _0x7d2ce2,relative as _0x4ed948,sep as _0xfcaaa2}from'path';async function _0x203260(_0x15f8da){try{return await _0x398d3d(_0x15f8da),!![];}catch{return![];}}async function _0x360b5d(_0x2af2f4){const _0x497512=_0xa6e1;try{const _0x13e4e8=await _0x2259ea(_0x2af2f4,_0x497512(0x2fd)),_0x6b3427=JSON[_0x497512(0x2ee)](_0x13e4e8);if(!_0x6b3427||typeof _0x6b3427!==_0x497512(0x2d2))return null;return _0x6b3427;}catch{return null;}}function _0x42d8e8(_0x1b6d5d){const _0x320716=_0xa6e1;if(!_0x1b6d5d)return{'expo':![],'rn':![]};const _0x5df77d=_0x1b6d5d[_0x320716(0x18d)]??{},_0x5b9a3e=_0x1b6d5d['devDependencies']??{},_0x596768={..._0x5df77d,..._0x5b9a3e};return{'expo':Boolean(_0x596768['expo']||_0x596768['expo-router']),'rn':Boolean(_0x596768['react-native'])};}async function _0x280439(_0x24aa3e){const _0x333d18=_0xa6e1,_0x31f562=_0x7d2ce2(_0x24aa3e,'pnpm-workspace.yaml');let _0x53de0c;try{_0x53de0c=await _0x2259ea(_0x31f562,_0x333d18(0x2fd));}catch{return null;}return _0x61fc41(_0x53de0c);}function _0x61fc41(_0x2ca84a){const _0x3801cf=_0xa6e1,_0x3c1964=[];let _0x126b68=![];for(const _0x116d02 of _0x2ca84a[_0x3801cf(0x41d)](/\r?\n/)){const _0x1bf3a8=_0x116d02[_0x3801cf(0x2c4)](/#.*$/,'')[_0x3801cf(0x2ed)]();if(_0x1bf3a8[_0x3801cf(0x358)]===0x0)continue;if(/^packages\s*:\s*$/[_0x3801cf(0x3a0)](_0x1bf3a8)){_0x126b68=!![];continue;}if(!_0x116d02[_0x3801cf(0x317)]('\x20')&&!_0x116d02['startsWith']('-')&&_0x1bf3a8[_0x3801cf(0x25c)](':')){_0x126b68=![];continue;}if(!_0x126b68)continue;const _0x2b76f8=_0x1bf3a8['match'](/^\s*-\s*['"]?([^'"]+?)['"]?\s*$/);if(_0x2b76f8&&_0x2b76f8[0x1])_0x3c1964[_0x3801cf(0x407)](_0x2b76f8[0x1]);}return _0x3c1964;}async function _0x2d1327(_0x3cd82e,_0x5194fd){const _0x3337da=_0xa6e1,_0x1926c2=_0x5194fd['replace'](/^\.\//,'')[_0x3337da(0x2c4)](/\/+$/,'');if(_0x1926c2[_0x3337da(0x358)]===0x0)return[];if(!_0x1926c2['includes']('*')){const _0x1d34aa=_0x7d2ce2(_0x3cd82e,_0x1926c2),_0x1259c7=await _0x203260(_0x1d34aa);return _0x1259c7?[_0x1d34aa]:[];}const _0x265275=_0x1926c2['match'](/^([^*]+)\/\*$/);if(!_0x265275||!_0x265275[0x1])return[];const _0x46fdeb=_0x265275[0x1]['replace'](/\/+$/,''),_0x3d2e46=_0x7d2ce2(_0x3cd82e,_0x46fdeb);let _0x5cfa7e;try{_0x5cfa7e=await _0x121388(_0x3d2e46,{'withFileTypes':!![]});}catch{return'BlseS'!=='rAVEd'?[]:{'ok':!![],'severity':'error','message':_0x3337da(0x277)+_0x38dfdf['lockState']+').','details':{'lockState':_0x3646f0[_0x3337da(0x417)]}};}const _0x27df1e=[];for(const _0x1fd071 of _0x5cfa7e){if(!_0x1fd071[_0x3337da(0x330)]())continue;if(_0x1fd071[_0x3337da(0x273)][_0x3337da(0x317)]('.'))continue;_0x27df1e[_0x3337da(0x407)](_0x7d2ce2(_0x3d2e46,_0x1fd071[_0x3337da(0x273)]));}return _0x27df1e;}async function _0x142561(_0x295f77){const _0x803930=_0xa6e1,_0x400628=new Set();let _0x224317=![];const _0x32b4fa=await _0x360b5d(_0x7d2ce2(_0x295f77,'package.json'));if(_0x32b4fa?.[_0x803930(0x4b1)]){_0x224317=!![];if(Array[_0x803930(0x310)](_0x32b4fa['workspaces'])){if('SxuQP'!==_0x803930(0x49f)){for(const _0x5b41a7 of _0x32b4fa[_0x803930(0x4b1)])_0x400628['add'](_0x5b41a7);}else{_0x3e0439('Claude\x20Code\x20hook:\x20'+_0x2367cb+'\x20is\x20malformed\x20JSON\x20—\x20preserving\x20it.\x20Fix\x20the\x20file\x20manually\x20then\x20re-run\x20init.');return;}}else{if(_0x32b4fa[_0x803930(0x4b1)]&&typeof _0x32b4fa['workspaces']===_0x803930(0x2d2)&&Array[_0x803930(0x310)](_0x32b4fa['workspaces']['packages']))for(const _0x726f1d of _0x32b4fa[_0x803930(0x4b1)]['packages']){_0x400628[_0x803930(0x3f7)](_0x726f1d);}}}const _0x4266ff=await _0x280439(_0x295f77);if(_0x4266ff!=null){_0x224317=!![];for(const _0x571380 of _0x4266ff)_0x400628[_0x803930(0x3f7)](_0x571380);}const _0xce6992=await _0x360b5d(_0x7d2ce2(_0x295f77,'lerna.json'));if(_0xce6992){const _0x2eccd0=_0xce6992['packages'];if(Array[_0x803930(0x310)](_0x2eccd0)){_0x224317=!![];for(const _0x5e7e54 of _0x2eccd0){if(typeof _0x5e7e54==='string')_0x400628[_0x803930(0x3f7)](_0x5e7e54);}}else await _0x203260(_0x7d2ce2(_0x295f77,_0x803930(0x53b)))&&(_0x224317=!![]);}if(!_0x224317)return null;return Array['from'](_0x400628);}async function _0x23c9dd(_0xffc8a9){const _0x3fb01d=_0xa6e1,_0x3f882a=await _0x360b5d(_0x7d2ce2(_0xffc8a9,'package.json')),_0x31f07a=_0x42d8e8(_0x3f882a);if(_0x31f07a[_0x3fb01d(0x467)]||_0x31f07a['rn'])return{'kind':'none','matches':[],'rootIsRnApp':!![],'isMonorepo':await _0x142561(_0xffc8a9)!=null};const _0x292a2d=await _0x142561(_0xffc8a9);if(_0x292a2d==null)return{'kind':'none','matches':[],'rootIsRnApp':![],'isMonorepo':![]};const _0x319d3e=new Set();for(const _0x5469e7 of _0x292a2d){for(const _0x18e527 of await _0x2d1327(_0xffc8a9,_0x5469e7)){_0x319d3e[_0x3fb01d(0x3f7)](_0x18e527);}}const _0x18d617=[];for(const _0x362799 of _0x319d3e){const _0x120dff=_0x7d2ce2(_0x362799,_0x3fb01d(0x575)),_0x26ab73=await _0x360b5d(_0x120dff),_0x3d668c=_0x42d8e8(_0x26ab73),_0x2c7666=await _0x203260(_0x7d2ce2(_0x362799,_0x3fb01d(0x4ca))),_0xe29e13=[];if(_0x3d668c['expo'])_0xe29e13['push']('expo');if(_0x3d668c['rn'])_0xe29e13['push']('react-native');if(_0x2c7666)_0xe29e13['push']('app.json');if(_0xe29e13['length']===0x0)continue;const _0xda5e21=_0x4ed948(_0xffc8a9,_0x362799)[_0x3fb01d(0x41d)](_0xfcaaa2)['join']('/');_0x18d617['push']({'absPath':_0x362799,'relPath':_0xda5e21['length']>0x0?_0xda5e21:'.','signals':_0xe29e13});}_0x18d617[_0x3fb01d(0x192)]((_0x51b9ad,_0x8c41ca)=>_0x51b9ad[_0x3fb01d(0x539)]<_0x8c41ca['relPath']?-0x1:_0x51b9ad[_0x3fb01d(0x539)]>_0x8c41ca[_0x3fb01d(0x539)]?0x1:0x0);const _0x1050b3=_0x18d617['length']===0x0?'none':_0x18d617['length']===0x1?_0x3fb01d(0x2c9):_0x3fb01d(0x26b);return{'kind':_0x1050b3,'matches':_0x18d617,'rootIsRnApp':![],'isMonorepo':!![]};}var _0x52a119=_0x1b53f6({'src/init/monorepo.ts'(){'use strict';}});import{readFile as _0x3ca917,writeFile as _0xf060f,access as _0x4d1e0f}from'fs/promises';import{join as _0x3383eb}from'path';async function _0x31b993(_0x5c0316){try{return await _0x4d1e0f(_0x5c0316),!![];}catch{return![];}}async function _0x341c61(_0xcd11ce,_0x258254={}){const _0x3a6607=_0xa6e1,_0x5f28d3=_0x258254['fileExists']??_0x31b993,_0x2bec10=_0x258254['readFile']??(_0x5ee4cc=>_0x3ca917(_0x5ee4cc,_0x3a6607(0x2fd))),_0x4a3717=_0x258254['writeFile']??((_0x23ba3f,_0x5b986a)=>_0xf060f(_0x23ba3f,_0x5b986a,'utf-8')),_0x42a0cc=_0x3383eb(_0xcd11ce,_0x3a6607(0x4ca)),_0x20783e=_0x3383eb(_0xcd11ce,_0x3a6607(0x234)),_0x5b2364=_0x3383eb(_0xcd11ce,_0x3a6607(0x3a5)),_0x51732b=_0x3383eb(_0xcd11ce,_0x3a6607(0x331)),_0x56ca76=_0x3383eb(_0xcd11ce,'android'),_0x463c25=await _0x5f28d3(_0x20783e),_0x5de58f=await _0x5f28d3(_0x5b2364);if(_0x463c25||_0x5de58f)return{'kind':'expo-config-needs-manual','path':_0x5de58f?_0x5b2364:_0x20783e};if(await _0x5f28d3(_0x42a0cc)){const _0x33f3ca=await _0x2bec10(_0x42a0cc),_0xe843b5=_0x3cc91b(_0x33f3ca);if(!_0xe843b5['ok'])return{'kind':'expo-config-needs-manual','path':_0x42a0cc};const _0x3ea928=_0x5f1289(_0xe843b5['parsed'],_0x506866);if(_0x3ea928['action']==='already')return{'kind':'expo-json-already-registered','scheme':_0x3ea928[_0x3a6607(0x541)],'path':_0x42a0cc};return await _0x4a3717(_0x42a0cc,_0x4bde98(_0xe843b5['parsed'],_0x33f3ca)),{'kind':_0x3a6607(0x396),'previousScheme':_0x3ea928['previousScheme'],'nextScheme':_0x3ea928[_0x3a6607(0x3d7)],'path':_0x42a0cc};}if(await _0x5f28d3(_0x51732b)||await _0x5f28d3(_0x56ca76))return{'kind':'bare-rn-needs-manual'};return{'kind':'no-rn-project'};}function _0x3cc91b(_0x593c16){const _0x27b670=_0xa6e1;try{const _0x4999bd=JSON['parse'](_0x593c16);if(!_0x4999bd||typeof _0x4999bd!==_0x27b670(0x2d2)||Array['isArray'](_0x4999bd))return{'ok':![],'parsed':{}};return{'ok':!![],'parsed':_0x4999bd};}catch{return{'ok':![],'parsed':{}};}}function _0x4bde98(_0x2a3957,_0x15eefe){const _0x10ffea=_0xa6e1,_0x3c2157=_0x15eefe[_0x10ffea(0x382)](/\n(\s+)"/),_0x575fd0=_0x3c2157?.[0x1]??'\x20\x20',_0x501037=_0x15eefe['endsWith']('\x0a'),_0x434295=JSON['stringify'](_0x2a3957,null,_0x575fd0);return _0x501037?_0x434295+'\x0a':_0x434295;}function _0x5f1289(_0x3026e0,_0x133c63){const _0x517c9c=_0xa6e1;(!_0x3026e0['expo']||typeof _0x3026e0[_0x517c9c(0x467)]!==_0x517c9c(0x2d2))&&(_0x3026e0['expo']={});const _0x495cd5=_0x3026e0[_0x517c9c(0x467)],_0x54555=_0x495cd5[_0x517c9c(0x541)];if(typeof _0x54555===_0x517c9c(0x2c6)&&_0x54555===_0x133c63)return{'action':_0x517c9c(0x4a8),'scheme':_0x54555,'previousScheme':_0x54555,'nextScheme':[_0x54555]};if(Array['isArray'](_0x54555)&&_0x54555[_0x517c9c(0x3bb)](_0x133c63))return{'action':'already','scheme':_0x54555,'previousScheme':_0x54555,'nextScheme':[..._0x54555]};if(_0x54555===void 0x0)return _0x495cd5['scheme']=_0x133c63,{'action':_0x517c9c(0x45f),'scheme':_0x133c63,'previousScheme':void 0x0,'nextScheme':[_0x133c63]};if(typeof _0x54555===_0x517c9c(0x2c6)){const _0xeb8c58=[_0x54555,_0x133c63];return _0x495cd5['scheme']=_0xeb8c58,{'action':_0x517c9c(0x45f),'scheme':_0xeb8c58,'previousScheme':_0x54555,'nextScheme':_0xeb8c58};}if(Array[_0x517c9c(0x310)](_0x54555)){if(_0x517c9c(0x246)!=='AxwTa')return[];else{const _0xd9844e=[..._0x54555,_0x133c63];return _0x495cd5[_0x517c9c(0x541)]=_0xd9844e,{'action':_0x517c9c(0x45f),'scheme':_0xd9844e,'previousScheme':_0x54555,'nextScheme':_0xd9844e};}}return _0x495cd5[_0x517c9c(0x541)]=_0x133c63,{'action':'added','scheme':_0x133c63,'previousScheme':_0x54555,'nextScheme':[_0x133c63]};}function _0x5f272c(){const _0x30a235=_0xa6e1;return'\x0aAdd\x20Ceraph\x27s\x20custom\x20URL\x20scheme\x20so\x20deep\x20links\x20(ceraph://reload,\x0aceraph://reset,\x20ceraph://storage)\x20reach\x20the\x20running\x20app.\x0a\x0aiOS\x20—\x20edit\x20ios/<YourApp>/Info.plist:\x0a\x0a\x20\x20<key>CFBundleURLTypes</key>\x0a\x20\x20<array>\x0a\x20\x20\x20\x20<dict>\x0a\x20\x20\x20\x20\x20\x20<key>CFBundleURLName</key>\x0a\x20\x20\x20\x20\x20\x20<string>com.yourcompany.yourapp</string>\x0a\x20\x20\x20\x20\x20\x20<key>CFBundleURLSchemes</key>\x0a\x20\x20\x20\x20\x20\x20<array>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<string>ceraph</string>\x0a\x20\x20\x20\x20\x20\x20</array>\x0a\x20\x20\x20\x20</dict>\x0a\x20\x20</array>\x0a\x0aAndroid\x20—\x20edit\x20android/app/src/main/AndroidManifest.xml\x20inside\x20the\x0aMainActivity\x20<activity>\x20block:\x0a\x0a\x20\x20<intent-filter>\x0a\x20\x20\x20\x20<action\x20android:name=\x22android.intent.action.VIEW\x22\x20/>\x0a\x20\x20\x20\x20<category\x20android:name=\x22android.intent.category.DEFAULT\x22\x20/>\x0a\x20\x20\x20\x20<category\x20android:name=\x22android.intent.category.BROWSABLE\x22\x20/>\x0a\x20\x20\x20\x20<data\x20android:scheme=\x22ceraph\x22\x20/>\x0a\x20\x20</intent-filter>\x0a\x0aThen\x20rebuild\x20the\x20native\x20app\x20(pod\x20install\x20+\x20xcodebuild\x20on\x20iOS,\x20./gradlew\x0aassembleDebug\x20on\x20Android).\x20Existing\x20JS-only\x20reloads\x20do\x20not\x20pick\x20up\x0anative\x20config\x20changes.\x0a'[_0x30a235(0x282)]();}function _0x36c875(_0x4d7dea){const _0x445a3c=_0xa6e1;return(_0x445a3c(0x3b2)+_0x4d7dea+_0x445a3c(0x41f))['trimStart']();}var _0x506866,_0x569aea=_0x1b53f6({'src/init/url-scheme.ts'(){'use strict';const _0x4888dc=_0xa6e1;_0x506866=_0x4888dc(0x399);}});import{createHash}from'crypto';import{join as _0x1fa57c}from'path';import{readFile as _0xc8e6ef}from'fs/promises';import{Project as _0x50ae4c,Node as _0x2c5fc9,SyntaxKind as _0x3a0517}from'ts-morph';function _0x383dcd(_0x1cad06){const _0x1e7d33=_0xa6e1;return createHash('sha256')[_0x1e7d33(0x187)](_0x1cad06)[_0x1e7d33(0x33d)]('hex')[_0x1e7d33(0x554)](0x0,0x10);}function _0x9afc2f(_0x3fe420,_0x3c078c){const _0x1be875=_0xa6e1;if(_0x2c5fc9['isStringLiteral'](_0x3fe420)||_0x2c5fc9['isNoSubstitutionTemplateLiteral'](_0x3fe420))return _0x3fe420['getLiteralText']()===_0x3c078c;if(_0x2c5fc9[_0x1be875(0x2b8)](_0x3fe420)){const _0x1bdc16=_0x3fe420['getElements']()[0x0];return!!_0x1bdc16&&_0x9afc2f(_0x1bdc16,_0x3c078c);}if(_0x2c5fc9['isCallExpression'](_0x3fe420)){const _0x549ed6=_0x3fe420['getExpression']();if(_0x2c5fc9[_0x1be875(0x3de)](_0x549ed6)&&_0x549ed6['getText']()===_0x1be875(0x1f4)){const _0x58690e=_0x3fe420['getArguments']()[0x0];return!!_0x58690e&&_0x9afc2f(_0x58690e,_0x3c078c);}}return![];}function _0x53682a(_0x4f89ce){const _0x375c00=_0xa6e1,_0x1b2a9b=new _0x50ae4c({'useInMemoryFileSystem':!![],'compilerOptions':{'allowJs':!![]}}),_0x517801=_0x1b2a9b['createSourceFile']('babel.config.js',_0x4f89ce);for(const _0x2ff82f of _0x517801[_0x375c00(0x30e)](_0x3a0517[_0x375c00(0x4f9)])){if(_0x2ff82f[_0x375c00(0x1ff)]()!==_0x375c00(0x416))continue;const _0x2eedee=_0x2ff82f[_0x375c00(0x341)]();if(_0x2eedee&&_0x2c5fc9['isArrayLiteralExpression'](_0x2eedee))return{'array':_0x2eedee,'sourceText':_0x517801['getFullText']()};}return null;}var _0xe3b707,_0x323fce,_0x735732=_0x1b53f6({'src/init/babel-config-hash.ts'(){'use strict';const _0x5bfa9d=_0xa6e1;_0xe3b707=_0x5bfa9d(0x4f2),_0x323fce=['babel.config.js','babel.config.cjs','.babelrc.js'];}});import{join as _0x48111d}from'path';import{readFile as _0x3ed38f,writeFile as _0x6350ab,access as _0x43bfb4,mkdir as _0x292fa8}from'fs/promises';function _0x66f259(_0x122bcd){return'module.exports\x20=\x20function\x20(api)\x20{\x0a\x20\x20api.cache(true);\x0a\x20\x20return\x20{\x0a\x20\x20\x20\x20presets:\x20[\x27'+_0x122bcd+'\x27],\x0a\x20\x20\x20\x20plugins:\x20[\x27'+_0xe3b707+'\x27],\x0a\x20\x20};\x0a};\x0a';}async function _0x3878e1(_0x533fd1){try{return await _0x43bfb4(_0x533fd1),!![];}catch{return![];}}function _0xa6e1(_0x473d77,_0x1a8694){_0x473d77=_0x473d77-0x15e;const _0x5f11c6=_0x5f11();let _0xa6e113=_0x5f11c6[_0x473d77];return _0xa6e113;}async function _0x377f1b(_0x4a8b2a,_0x1a3fcf){for(const _0x2b2ffa of _0x323fce){const _0x5deb4f=_0x48111d(_0x4a8b2a,_0x2b2ffa);if(await _0x1a3fcf(_0x5deb4f))return _0x5deb4f;}return null;}async function _0x198e81(_0x1b1cfd,_0x3f6355={}){const _0x20958b=_0xa6e1,_0x71634a=_0x3f6355[_0x20958b(0x529)]??(_0x29c534=>_0x3ed38f(_0x29c534,'utf-8')),_0x39145b=_0x3f6355['writeFile']??((_0x168f8f,_0x53d16f)=>_0x6350ab(_0x168f8f,_0x53d16f,_0x20958b(0x2fd))),_0x4f103d=_0x3f6355[_0x20958b(0x266)]??_0x3878e1,_0x183403=await _0x377f1b(_0x1b1cfd,_0x4f103d);if(!_0x183403){let _0x3b9e3f='babel-preset-expo';try{const _0x21d326=JSON[_0x20958b(0x2ee)](await _0x71634a(_0x48111d(_0x1b1cfd,'package.json'))),_0x48dc1f={..._0x21d326[_0x20958b(0x18d)],..._0x21d326[_0x20958b(0x181)]};if(!_0x48dc1f['expo'])_0x3b9e3f='@react-native/babel-preset';}catch{}const _0x5be083=_0x48111d(_0x1b1cfd,_0x20958b(0x2da)),_0x397925=_0x66f259(_0x3b9e3f);return await _0x39145b(_0x5be083,_0x397925),await _0x20fd5e(_0x1b1cfd,_0x397925,_0x3f6355,_0x39145b),{'kind':_0x20958b(0x3d2),'path':_0x5be083,'preset':_0x3b9e3f};}let _0x18cdea;try{_0x18cdea=await _0x71634a(_0x183403);}catch{return{'kind':'needs-manual','path':_0x183403,'reason':'could\x20not\x20read\x20the\x20file'};}const _0x2989ed=_0x53682a(_0x18cdea);if(_0x2989ed){const _0x16d5f5=_0x2989ed['array'][_0x20958b(0x25f)]();if(_0x16d5f5[_0x20958b(0x179)](_0xdab4f9=>_0x9afc2f(_0xdab4f9,_0xe3b707))){if('OtgwI'!=='VaBuQ')return await _0x20fd5e(_0x1b1cfd,_0x18cdea,_0x3f6355,_0x39145b),{'kind':'already-present','path':_0x183403};else _0x589979[_0x20958b(0x407)](_0x36594e),_0x18d2a1[_0x20958b(0x2a0)]?.(_0x1c67d8);}const _0x47f243=_0x16d5f5[_0x20958b(0x41e)](_0x3d3f96=>_0x9afc2f(_0x3d3f96,_0x4eb2d3)),_0x3f2c51=_0x47f243>=0x0?_0x47f243:_0x16d5f5[_0x20958b(0x358)];_0x2989ed[_0x20958b(0x247)]['insertElement'](_0x3f2c51,'\x22'+_0xe3b707+'\x22');const _0x24b802=_0x2989ed['array']['getSourceFile']()['getFullText']();return await _0x39145b(_0x183403,_0x24b802),await _0x20fd5e(_0x1b1cfd,_0x24b802,_0x3f6355,_0x39145b),{'kind':_0x20958b(0x45f),'path':_0x183403,'beforeReanimated':_0x47f243>=0x0};}return{'kind':_0x20958b(0x248),'path':_0x183403,'reason':'no\x20`plugins:\x20[...]`\x20array\x20found\x20to\x20edit\x20safely\x20(dynamic\x20config?).\x20Add\x20\x22'+_0xe3b707+_0x20958b(0x551)+_0x4eb2d3+_0x20958b(0x34c)};}async function _0x20fd5e(_0x6e99a7,_0x4f1f23,_0x5142fd,_0x366893){const _0x3e0005=_0xa6e1,_0x5c8d3a=_0x48111d(_0x6e99a7,_0x3e0005(0x454));if(!_0x5142fd[_0x3e0005(0x2bc)]){if(_0x3e0005(0x19b)!==_0x3e0005(0x19b))_0x14c7bb['set'](_0x4d846f[_0x3e0005(0x4a7)],_0x75c0c3);else try{await _0x292fa8(_0x5c8d3a,{'recursive':!![]});}catch{}}const _0x1f7bea={'pluginVersion':_0x5142fd[_0x3e0005(0x2c8)]??_0x47b8a7,'babelConfigHash':_0x383dcd(_0x4f1f23)};await _0x366893(_0x48111d(_0x5c8d3a,'testid-config.json'),JSON[_0x3e0005(0x278)](_0x1f7bea,null,0x2)+'\x0a');}var _0x4eb2d3,_0x47b8a7,_0x3ea95e=_0x1b53f6({'src/init/babel-config.ts'(){'use strict';_0x735732(),_0x4eb2d3='react-native-reanimated/plugin',_0x47b8a7='0.2.2';}});import{execFile}from'child_process';import{constants as _0x230570,promises as _0x218d02}from'fs';import{isAbsolute,join as _0x136446,normalize,relative as _0x2580f4}from'path';import{promisify}from'util';function _0xa6f174(_0x7f0d59){const _0x283778=_0xa6e1,_0x37185c=_0x7f0d59['toLowerCase']();for(const _0x154eaf of _0x8459c5){if(_0x154eaf['test'](_0x37185c))return![];}const _0x3a34d2=_0x37185c['split']('/')['pop']()??'';if(/[._-]tokens?($|[._-])/['test'](_0x3a34d2))return![];const _0x2b5449=_0x7f0d59['lastIndexOf']('.');if(_0x2b5449<0x0)return![];const _0x404409=_0x7f0d59[_0x283778(0x554)](_0x2b5449)[_0x283778(0x55a)]();return _0xc47b05['has'](_0x404409);}async function _0x47bc4a(_0x2f6de2){const _0xf2cba5=_0xa6e1;try{const {stdout:_0x455edd}=await _0x51960b(_0xf2cba5(0x207),['rev-parse','--abbrev-ref',_0xf2cba5(0x2a4)],{'cwd':_0x2f6de2});return _0x455edd[_0xf2cba5(0x531)]();}catch{return _0xf2cba5(0x548);}}async function _0x224b34(_0xe54c12,_0x4f5b6b){try{const {stdout:_0x38dd87}=await _0x51960b('git',['rev-parse',_0x4f5b6b],{'cwd':_0xe54c12});return _0x38dd87['trim']();}catch{return _0x4f5b6b;}}async function _0x299307(_0x46da9){const _0x44c78b=_0xa6e1;try{const {stdout:_0x4af347}=await _0x51960b(_0x44c78b(0x207),[_0x44c78b(0x547)],{'cwd':_0x46da9,'maxBuffer':0x8*0x400*0x400});return _0x4af347[_0x44c78b(0x41d)]('\x0a')[_0x44c78b(0x471)](_0x4040e4=>_0x4040e4['trim']())[_0x44c78b(0x422)](Boolean)[_0x44c78b(0x422)](_0xa6f174);}catch{return[];}}var _0x51960b,_0xc47b05,_0x8459c5,_0x128ec9=_0x1b53f6({'src/git.ts'(){'use strict';const _0x2ea037=_0xa6e1;_0x51960b=promisify(execFile),_0xc47b05=new Set(['.tsx',_0x2ea037(0x232),'.jsx',_0x2ea037(0x2e7),'.cjs','.mjs','.json']),_0x8459c5=[/(^|\/)\.env(\.|$)/,/\.pem$/,/\.key$/,/\.p12$/,/\.pfx$/,/\.keystore$/,/\.jks$/,/\.mobileprovision$/,/(^|\/)credentials?\b/,/(^|\/)secrets?\b/,/private[_-]?key/];}});import{execFile as _0x5c6cea}from'child_process';import{promisify as _0x1e58d9}from'util';async function _0x193f25(_0xe3beef){const _0x5bb1c5=_0xa6e1,{stdout:_0x284cb6}=await _0x40d9b5('git',['config','--get','remote.origin.url'],{'cwd':_0xe3beef,'encoding':_0x5bb1c5(0x2fd)}),_0x143a63=_0x284cb6[_0x5bb1c5(0x531)](),_0x49c1dd=_0x143a63['replace'](/\.git$/,''),_0x43d36a=_0x49c1dd[_0x5bb1c5(0x382)](/^(?:https?:\/\/(?:[^/@]+@)?github\.com(?::\d+)?\/|git@github\.com:|ssh:\/\/git@github\.com(?::\d+)?\/)([^/]+)\/([^/]+?)$/);if(!_0x43d36a)throw new Error(_0x5bb1c5(0x328));return{'owner':_0x43d36a[0x1],'repo':_0x43d36a[0x2]};}var _0x40d9b5,_0x3338e8=_0x1b53f6({'src/github.ts'(){'use strict';_0x40d9b5=_0x1e58d9(_0x5c6cea);}});function _0x1a0857(_0x9ae94f){const _0x3cf51e=_0xa6e1;let _0x26bdff;try{_0x26bdff=new URL(_0x9ae94f);}catch{throw new Error(_0x3cf51e(0x402)+_0x9ae94f+_0x3cf51e(0x4bb));}if(_0x26bdff[_0x3cf51e(0x280)]==='https:')return _0x9ae94f;if(_0x26bdff[_0x3cf51e(0x280)]==='http:'){const _0x481622=_0x26bdff['hostname'][_0x3cf51e(0x55a)]();if(_0x372039['has'](_0x481622))return _0x9ae94f;throw new Error('Refusing\x20to\x20send\x20your\x20Ceraph\x20token\x20over\x20plaintext\x20HTTP\x20to\x20a\x20non-local\x20host:\x20\x22'+_0x9ae94f+'\x22.\x20Use\x20https://\x20for\x20remote\x20endpoints\x20(http://\x20is\x20only\x20allowed\x20for\x20localhost\x20/\x20127.0.0.1).');}throw new Error(_0x3cf51e(0x2cf)+_0x26bdff[_0x3cf51e(0x280)]+_0x3cf51e(0x295)+_0x9ae94f+_0x3cf51e(0x591));}var _0x372039,_0x4ad8de=_0x1b53f6({'src/utils/validate-base-url.ts'(){'use strict';const _0x28aa74=_0xa6e1;_0x372039=new Set(['localhost','127.0.0.1','[::1]','::1','[::ffff:7f00:1]',_0x28aa74(0x4f8)]);}});async function _0x311fd3(_0x57adac){const _0x2755a7=_0xa6e1,_0x2c3675=_0x57adac[_0x2755a7(0x17a)];if(_0x2c3675===0x191)return new _0x4e5dc9('account-invalid',0x191,_0x2755a7(0x58b));if(_0x2c3675===0x192||_0x2c3675===0x193)return'JDWoW'!=='JDWoW'?('\x0aYour\x20project\x20uses\x20'+_0x5104d4+'\x20(dynamic\x20Expo\x20config)\x20—\x20we\x20can\x27t\x0asafely\x20auto-edit\x20a\x20JS/TS\x20file.\x20Add\x20Ceraph\x27s\x20URL\x20scheme\x20manually:\x0a\x0a\x20\x20export\x20default\x20({\x20config\x20})\x20=>\x20({\x0a\x20\x20\x20\x20...config,\x0a\x20\x20\x20\x20scheme:\x20Array.isArray(config.scheme)\x0a\x20\x20\x20\x20\x20\x20?\x20[...config.scheme,\x20\x22ceraph\x22]\x0a\x20\x20\x20\x20\x20\x20:\x20config.scheme\x0a\x20\x20\x20\x20\x20\x20\x20\x20?\x20[config.scheme,\x20\x22ceraph\x22]\x0a\x20\x20\x20\x20\x20\x20\x20\x20:\x20\x22ceraph\x22,\x0a\x20\x20\x20\x20//\x20...\x20rest\x20of\x20your\x20expo\x20config\x0a\x20\x20});\x0a\x0aThen\x20re-run\x20`expo\x20prebuild\x20--clean`\x20if\x20you\x27ve\x20ejected,\x20or\x20just\x0arestart\x20the\x20dev\x20client.\x0a')['trimStart']():new _0x4e5dc9(_0x2755a7(0x475),_0x2c3675,_0x2755a7(0x220));if(_0x2c3675===0x1ad)return new _0x4e5dc9('rate-limited',0x1ad,_0x2755a7(0x25b));if(_0x2c3675>=0x1f4)return new _0x4e5dc9('server-error',_0x2c3675,_0x2755a7(0x38f)+_0x2c3675+').\x20Try\x20again\x20in\x20a\x20few\x20seconds.');let _0x543341,_0xf99490;try{const _0x354600=await _0x57adac['json']();if(_0x354600&&typeof _0x354600===_0x2755a7(0x2d2)){_0xf99490=_0x354600;const _0x24c047=_0x354600,_0x30bfb8=typeof _0x24c047[_0x2755a7(0x2aa)]===_0x2755a7(0x2c6)&&_0x24c047[_0x2755a7(0x2aa)]||typeof _0x24c047['error']===_0x2755a7(0x2c6)&&_0x24c047[_0x2755a7(0x48f)]||void 0x0;if(_0x30bfb8)_0x543341=_0x30bfb8;}}catch{}return new _0x4e5dc9('bad-response',_0x2c3675,_0x2755a7(0x482)+_0x2c3675+(_0x543341?':\x20'+_0x543341:'')+').',void 0x0,_0xf99490);}function _0x1ce078(_0x4493ad){const _0x34c411=_0x4493ad?.['apiBase']?.['trim']()||process.env.CERAPH_API_URL?.['trim']()||_0x1fe699;return _0x1a0857(_0x34c411),_0x34c411['replace'](/\/+$/,'');}async function _0x33590c(_0x24250a,_0x1cdec4,_0x3f9928,_0x2d18df){const _0x3cdbfe=_0xa6e1;if(!_0x3f9928)throw new _0x4e5dc9(_0x3cdbfe(0x36b),0x191,'Your\x20Ceraph\x20session\x20is\x20no\x20longer\x20valid\x20(the\x20account\x20may\x20have\x20been\x20deleted,\x20or\x20your\x20token\x20expired).\x20Run\x20`npx\x20@ceraph/react-native-mcp\x20init`\x20to\x20sign\x20in\x20again.\x20Your\x20local\x20screenshots\x20and\x20flows\x20are\x20preserved\x20—\x20only\x20the\x20server-side\x20identity\x20needs\x20refreshing.');const _0x4e2b05=_0x2d18df?.['timeoutMs']??_0x5d547c,_0x11b7e7=_0x1ce078(_0x2d18df),_0x979224=''+_0x11b7e7+(_0x24250a['startsWith']('/')?_0x24250a:'/'+_0x24250a),_0x246489=new AbortController(),_0x5227f8=setTimeout(()=>_0x246489['abort'](),_0x4e2b05);let _0x10a0de;try{_0x10a0de=await fetch(_0x979224,{'method':'POST','headers':{'Content-Type':_0x3cdbfe(0x384),'Authorization':_0x3cdbfe(0x2ab)+_0x3f9928[_0x3cdbfe(0x233)]},'body':JSON['stringify'](_0x1cdec4??{}),'signal':_0x246489['signal']});}catch(_0x557069){const _0x3b3aff=_0x557069;if(_0x3b3aff?.['name']===_0x3cdbfe(0x4e6))throw new _0x4e5dc9('network-error',0x0,_0x3cdbfe(0x44d)+_0x4e2b05+'ms).\x20Check\x20your\x20network\x20connection\x20and\x20try\x20again.',_0x557069);throw new _0x4e5dc9('network-error',0x0,_0x3cdbfe(0x36c),_0x557069);}finally{clearTimeout(_0x5227f8);}if(!_0x10a0de['ok'])throw await _0x311fd3(_0x10a0de);let _0x8c91ac;try{if('jmDUu'==='oeJGf'){'use strict';_0x2e5cdc(),_0x382fc0(),_0x2ad630(),_0x478547(),_0x51f989(),_0x1fd590(),_0x2b4cba(),_0x3c1e1c(),_0x5684b3(),_0x1dbe84(),_0x946441(),_0x5b8194(),_0x148b4f(),_0x1b404b=![],_0x2c9167=async _0x12d1b0=>({'exitCode':0x0});}else _0x8c91ac=await _0x10a0de[_0x3cdbfe(0x21a)]();}catch(_0x1a33f1){const _0x23d732=_0x1a33f1;throw new _0x4e5dc9('bad-response',_0x10a0de[_0x3cdbfe(0x17a)],'Ceraph\x20server\x20returned\x20malformed\x20JSON\x20for\x20'+_0x24250a+':\x20'+(_0x23d732?.[_0x3cdbfe(0x2aa)]??String(_0x1a33f1)),_0x1a33f1);}if(!_0x8c91ac||typeof _0x8c91ac!==_0x3cdbfe(0x2d2)||Array['isArray'](_0x8c91ac)){if('wftBG'!==_0x3cdbfe(0x161))throw new _0x4e5dc9('bad-response',_0x10a0de[_0x3cdbfe(0x17a)],_0x3cdbfe(0x238)+_0x24250a+_0x3cdbfe(0x318));else{_0x5c4353(null);return;}}return _0x8c91ac;}var _0x1fe699,_0x5d547c,_0x4e5dc9,_0x2f0094=_0x1b53f6({'src/api-client.ts'(){'use strict';const _0x35d198=_0xa6e1;_0x4ad8de(),_0x1fe699='https://ceraph.dev/api/mcp',_0x5d547c=0x7530,_0x4e5dc9=class extends Error{['kind'];['status'];['agentMessage'];[_0x35d198(0x200)];constructor(_0xdea4be,_0x2fd597,_0x3522ef,_0x386230,_0x60d32d){const _0x211951=_0x35d198;super(_0x3522ef),this['name']='CeraphServerError',this[_0x211951(0x15f)]=_0xdea4be,this[_0x211951(0x17a)]=_0x2fd597,this['agentMessage']=_0x3522ef;if(_0x386230!==void 0x0)this['cause']=_0x386230;if(_0x60d32d!==void 0x0)this['details']=_0x60d32d;}};}});import{promises as _0x2ff319}from'fs';import{join as _0x2dadf8}from'path';async function _0xc45372(_0x28d290,_0x3013c2={}){const _0x157022=_0xa6e1,_0x104ea9=_0x3013c2['fetcher']??_0x33590c,_0x2a8f01=_0x3013c2['listFiles']??_0x299307,_0x1eb737=_0x3013c2['resolveRepo']??(async _0x13937e=>{const _0x2cd6b9=_0xa6e1;if('GYVon'!==_0x2cd6b9(0x386))try{return await _0x193f25(_0x13937e);}catch{return null;}else{if(!_0x39bf32['isExpressionStatement'](_0x264cb5))return![];const _0x2f1f8d=_0x4a82f3[_0x2cd6b9(0x1cb)]();if(!_0xbf5dbe['isCallExpression'](_0x2f1f8d))return![];const _0xdbcb40=_0x2f1f8d[_0x2cd6b9(0x1cb)]();return _0x892d90['isIdentifier'](_0xdbcb40)&&_0xdbcb40['getText']()===_0x2cd6b9(0x3e6);}}),_0x1893df=_0x3013c2[_0x157022(0x1e4)]??_0x224b34,_0x20437e=_0x3013c2['resolveBranch']??_0x47bc4a,_0x56135b=_0x3013c2['readFile']??(_0x4f9bbe=>_0x2ff319[_0x157022(0x529)](_0x4f9bbe,_0x157022(0x2fd))),_0x4a3285=await _0x1eb737(_0x28d290['workingDir'])['catch'](()=>null);if(!_0x4a3285)return{'status':'skipped','reason':_0x157022(0x560),'message':_0x157022(0x58c)};const _0x3ebc79=await _0x20437e(_0x28d290['workingDir']),_0x50d36a=await _0x1893df(_0x28d290['workingDir'],'HEAD');if(_0x50d36a==='HEAD'||_0x50d36a[_0x157022(0x358)]<0x7||_0x3ebc79===_0x157022(0x548)){if(_0x157022(0x393)===_0x157022(0x393))return{'status':'skipped','reason':_0x157022(0x468),'message':_0x157022(0x28c)};else _0x23a695(_0x16ae6b(_0x468fa4[_0x157022(0x42e)]?_0x157022(0x593)+_0x25c6e9[_0x157022(0x42e)]+'\x20[cached]':'Signed\x20in\x20[cached]'));}const _0x8b5c55=await _0x2a8f01(_0x28d290['workingDir']);if(_0x8b5c55['length']===0x0)return{'status':_0x157022(0x1a6),'reason':'no-graph-files','message':'No\x20graph-relevant\x20files\x20found\x20in\x20the\x20repo\x20—\x20nothing\x20to\x20seed.'};const _0x385838={};let _0x4d1207=![],_0x5e5283=0x0;for(const _0x3d01e5 of _0x8b5c55){if(!_0xa6f174(_0x3d01e5))continue;if(Object['keys'](_0x385838)['length']>=_0x40d2af){_0x4d1207=!![];break;}let _0xb97ba2;try{_0xb97ba2=await _0x56135b(_0x2dadf8(_0x28d290['workingDir'],_0x3d01e5));}catch{continue;}const _0x42d275=Buffer[_0x157022(0x526)](_0xb97ba2);if(_0x42d275>_0x27916a)continue;if(_0x5e5283+_0x42d275>_0x278d5f){_0x4d1207=!![];break;}_0x385838[_0x3d01e5]=_0xb97ba2,_0x5e5283+=_0x42d275;}if(Object['keys'](_0x385838)[_0x157022(0x358)]===0x0)return'bmPNc'==='bmPNc'?{'status':_0x157022(0x1a6),'reason':'no-graph-files','message':_0x157022(0x3f2)}:'installCeraph-only';let _0x3b33dc;_0x385838[_0x157022(0x4ca)]&&(_0x3b33dc=_0x385838[_0x157022(0x4ca)]);try{const _0x72f040=await _0x104ea9(_0x157022(0x3c3),{'repoOwner':_0x4a3285[_0x157022(0x2b6)],'repoName':_0x4a3285['repo'],'branch':_0x3ebc79,'headSha':_0x50d36a,'appFiles':_0x385838,..._0x3b33dc?{'appJsonContent':_0x3b33dc}:{}},_0x28d290['auth']);if(_0x72f040['ok']&&_0x72f040['flavor']&&typeof _0x72f040[_0x157022(0x27b)]===_0x157022(0x2f7)&&typeof _0x72f040['layoutCount']==='number')return{'status':'seeded','flavor':_0x72f040['flavor'],'screenCount':_0x72f040['screenCount'],'layoutCount':_0x72f040[_0x157022(0x239)],'bundleId':_0x72f040[_0x157022(0x4ad)]??null,'persisted':_0x72f040['persisted']===!![]};return{'status':'skipped','reason':_0x157022(0x212),'message':'Graph\x20cache\x20seed\x20returned\x20an\x20unexpected\x20response\x20shape.'};}catch(_0x15cf90){if(_0x157022(0x1b9)!==_0x157022(0x1b9)){const _0x4d7b89=_0x276887(_0x403726['label']??_0x9e12e1['name']??'')[_0x157022(0x55a)]();_0x4c8c07['push']({'rect':_0x2aeaed,'labelledBack':_0x4d7b89['includes']('back')});}else{if(_0x15cf90 instanceof _0x4e5dc9){if(_0x157022(0x2e1)==='DyRyO')return{'success':![],'error':_0x297484 instanceof _0x20edc8?_0x53a5a4[_0x157022(0x2aa)]:'Unknown\x20error\x20during\x20unlock'};else{const _0x264771=_0x15cf90['kind']==='bad-response'&&_0x15cf90[_0x157022(0x2e8)]['includes'](_0x157022(0x29c))?_0x157022(0x29c):'server-error';return{'status':'skipped','reason':_0x264771,'message':_0x4d1207?_0x15cf90['agentMessage']+_0x157022(0x3cf)+_0x40d2af+_0x157022(0x175):_0x15cf90['agentMessage']};}}return{'status':'skipped','reason':_0x157022(0x212),'message':_0x15cf90 instanceof Error?_0x15cf90['message']:_0x157022(0x4f0)};}}}var _0x27916a,_0x40d2af,_0x278d5f,_0x4ff041=_0x1b53f6({'src/init/graph-seed.ts'(){'use strict';_0x128ec9(),_0x3338e8(),_0x2f0094(),_0x27916a=0x7a120,_0x40d2af=0x1f4,_0x278d5f=0x8*0x400*0x400;}});import{promises as _0x18549}from'fs';import{homedir as _0x4e1c9f}from'os';import{join as _0x4eff36,dirname as _0x1fec5d}from'path';function _0x2cd703(){const _0x55394a=_0xa6e1;return _0x4eff36(_0x4e1c9f(),_0x55394a(0x454),'init-tier.json');}async function _0x55b0ac(_0xe65ca,_0x4039d5,_0x453f2a=Date['now']){const _0x5b1af7=_0xa6e1,_0xe37c69=_0x4039d5??_0x2cd703(),_0x13d946={'tier':_0xe65ca,'selectedAt':new Date(_0x453f2a())['toISOString']()};return await _0x18549[_0x5b1af7(0x3a1)](_0x1fec5d(_0xe37c69),{'recursive':!![],'mode':0x1c0}),await _0x18549[_0x5b1af7(0x2bc)](_0xe37c69,JSON[_0x5b1af7(0x278)](_0x13d946,null,0x2)+'\x0a','utf-8'),_0x13d946;}var _0x428b89=_0x1b53f6({'src/init/tier-store.ts'(){'use strict';}});function _0xa6ddb4(_0x4ca8f8){const _0x3f24ab=_0xa6e1,_0x4d8e6a=_0x4ca8f8[_0x3f24ab(0x26e)]?.['trim']()||process.env.CERAPH_API_URL?.[_0x3f24ab(0x531)]()||_0x26894b;return _0x4d8e6a[_0x3f24ab(0x2c4)](/\/+$/,'')+_0x3f24ab(0x1e0);}async function _0x5e1d42(_0x483c9e={}){return _0x17fe8c(_0x483c9e,'mobilePro');}async function _0x17fe8c(_0x3b90a5,_0x367d1b){const _0x1b6028=_0xa6e1,_0x371eea=_0x3b90a5[_0x1b6028(0x4b2)]??_0x30fcb3,_0x3c72e6=_0x3b90a5['now']??Date[_0x1b6028(0x1ec)],_0x471e86=_0x3b90a5[_0x1b6028(0x506)]??_0x1976b2,_0x3734a0=_0x3b90a5['fetcher']??((_0x3120d0,_0x141f50)=>globalThis[_0x1b6028(0x404)](_0x3120d0,_0x141f50)),_0x6ff78b=()=>_0x367d1b===_0x1b6028(0x283)?_0x15dee6:_0x3bce2a,_0x7cfe0b=_0x1ce4c7=>{if(_0x367d1b==='mobilePro')_0x15dee6=_0x1ce4c7;else _0x3bce2a=_0x1ce4c7;},_0x5ea621=_0x6ff78b();if(_0x5ea621&&_0x3c72e6()-_0x5ea621[_0x1b6028(0x348)]<_0x371eea)return _0x5ea621['value'];let _0x1dfaf6=![];try{const _0x52e81d=await _0x471e86();if(!_0x52e81d?.[_0x1b6028(0x233)])return _0x7cfe0b({'value':![],'fetchedAt':_0x3c72e6()}),![];const _0x138233=_0xa6ddb4(_0x3b90a5),_0x1d3dd9=await _0x3734a0(_0x138233,{'headers':{'Authorization':_0x1b6028(0x2ab)+_0x52e81d['accessToken'],'Accept':'application/json'}});if(!_0x1d3dd9['ok'])return _0x7cfe0b({'value':![],'fetchedAt':_0x3c72e6()}),![];const _0x3929b6=await _0x1d3dd9[_0x1b6028(0x21a)]();_0x1dfaf6=_0x3929b6!==null&&typeof _0x3929b6===_0x1b6028(0x2d2)&&_0x3929b6[_0x367d1b]===!![];}catch{_0x1dfaf6=![];}return _0x7cfe0b({'value':_0x1dfaf6,'fetchedAt':_0x3c72e6()}),_0x1dfaf6;}var _0x30fcb3,_0x3bce2a,_0x15dee6,_0x26894b,_0x202e4a=_0x1b53f6({'src/check-pro-tier.ts'(){'use strict';const _0xfb10c6=_0xa6e1;_0x10d22(),_0x30fcb3=0x5*0x3c*0x3e8,_0x3bce2a=null,_0x15dee6=null,_0x26894b=_0xfb10c6(0x2f5);}});import{spawn as _0xec6a55}from'child_process';import{join as _0x480ea5}from'path';async function _0x20ae7d(){return _0x1976b2();}function _0x3b719f(_0x1bf7ef){return new Promise(_0x279f9c=>{const _0x526a3d=_0xa6e1,_0x295b3a=_0xec6a55(_0x1bf7ef['bin'],_0x1bf7ef[_0x526a3d(0x43c)],{'cwd':_0x1bf7ef['cwd'],'stdio':_0x1bf7ef['stdioToStderr']?[_0x526a3d(0x3e2),0x2,0x2]:_0x526a3d(0x237)});_0x295b3a['on'](_0x526a3d(0x48f),()=>_0x279f9c({'exitCode':0x7f})),_0x295b3a['on'](_0x526a3d(0x542),_0x23872c=>_0x279f9c({'exitCode':_0x23872c??0x1}));});}function _0x4818da(_0x3a5ba5){return'\x20\x20'+_0x3a5ba5+'\x0a';}async function _0x517d0e(_0x228d3f,_0x5ba510={}){const _0x59689e=_0xa6e1,_0x371a6a=_0x32cc17=>_0x7c81a8(_0x32cc17,_0x5ba510),_0x586514=()=>{_0x371a6a('\x0a');},_0x205557=await _0x35f9ac(_0x228d3f,_0x5ba510),_0x1c899d=await _0x5be9b1(_0x205557),_0x33cb08=await _0x50b1ae(_0x205557);let _0x4a94c4=_0x33cb08;if(!_0x5ba510['skipInstall']){_0x586514();const _0x5b1094=_0xa55a6f(_0x1c899d,_0x59689e(0x3b3));_0x371a6a(_0x4818da((_0x33cb08?'Updating':'Installing')+_0x59689e(0x1a2)+_0x1c899d+')…'));const _0x4e6594=_0x5ba510[_0x59689e(0x3f1)]??_0x3b719f,_0x5f5d14=await _0x4e6594({'bin':_0x5b1094['bin'],'args':_0x5b1094[_0x59689e(0x43c)],'cwd':_0x205557,'stdioToStderr':_0x5ba510[_0x59689e(0x508)]===!![]});if(_0x5f5d14[_0x59689e(0x4d9)]!==0x0)throw new Error(_0x1c899d+_0x59689e(0x182)+_0x5f5d14['exitCode']+'.\x20Fix\x20the\x20error\x20above\x20and\x20re-run\x20`npx\x20@ceraph/react-native-mcp\x20init`.');_0x4a94c4=!![];}let _0x2d78ef;if(_0x5ba510['tier'])_0x2d78ef=_0x5ba510['tier'];else{_0x586514(),_0x371a6a(_0x4818da('More\x20about\x20the\x20plans\x20→\x20'+_0x4079d9(_0x469c66))),_0x371a6a('\x0a');const _0x3b5db2=await _0x199723(_0x53423b,_0x17a37c,_0x5ba510);_0x2d78ef=_0x3b5db2===0x1?_0x59689e(0x545):_0x59689e(0x550);}const _0x5225f1=_0x5ba510[_0x59689e(0x4ed)]??(_0x2a4441=>_0x55b0ac(_0x2a4441)['then'](()=>void 0x0));await _0x5225f1(_0x2d78ef)[_0x59689e(0x3e8)](()=>void 0x0);const _0x4d61c0=_0x5ba510['loadAuth']??_0x20ae7d;let _0x39d45f=null,_0x1a13d5=null;_0x586514();if(_0x2d78ef===_0x59689e(0x550))_0x371a6a(_0x4818da(_0x59689e(0x173)));else{const _0x5ab420=await _0x4d61c0(),_0x1cc45b=_0x5ab420!==null&&(_0x5ab420['githubUser']['id']!==0x0||_0x5ab420['githubUser']['login']!=='');_0x39d45f=_0x5ab420;if(_0x5ab420&&!_0x1cc45b)_0x371a6a(_0x4818da(_0x5ab420[_0x59689e(0x42e)]?_0x59689e(0x593)+_0x5ab420['email']+_0x59689e(0x36f):_0x59689e(0x415)));else{if('NxqJw'===_0x59689e(0x259)){_0x1cc45b&&_0x371a6a(_0x4818da(_0x59689e(0x33a)));_0x371a6a(_0x4818da(process.env.CERAPH_AUTH_TOKEN?.[_0x59689e(0x531)]()?'Signing\x20in\x20with\x20the\x20provided\x20token…':_0x59689e(0x24a)));const _0x5ed75c=_0x5ba510['authenticate']??_0x34ece4;_0x39d45f=await _0x5ed75c(),_0x371a6a(_0x4818da(_0x39d45f['email']?'Signed\x20in\x20as\x20'+_0x39d45f[_0x59689e(0x42e)]:'Signed\x20in'));}else _0x23a8fd[_0x59689e(0x576)]();}const _0x74be47=_0x5ba510['checkMobilePro']??_0x5e1d42,_0x57c90e=await _0x74be47()['catch'](()=>![]);_0x1a13d5=_0x57c90e?'active':'pending',!_0x57c90e?_0x371a6a(_0x4818da(_0x59689e(0x281)+_0x4079d9(_0x469c66)+_0x59689e(0x4d2))):_0x371a6a(_0x4818da(_0x59689e(0x209)));}const _0x100455=await _0x252adf(_0x205557),_0x4d58b8=new Map();let _0xe48312={'filesEdited':[],'totalReplacements':0x0};_0x586514();if(_0x100455['edits']['length']===0x0)_0x371a6a(_0x4818da(_0x59689e(0x596)));else{if('tjfKW'==='edzvh'){const _0x53bd38=_0x362473[_0x59689e(0x341)]();if(_0x53bd38&&_0x515162[_0x59689e(0x18c)](_0x53bd38))return _0x53bd38;if(_0x53bd38&&_0x236fbf['isFunctionExpression'](_0x53bd38))return _0x53bd38;}else{_0x371a6a(_0x4818da(_0x59689e(0x28e)+_0x100455['edits'][_0x59689e(0x358)]+'\x20<CameraView>\x20usage(s)\x20across\x20'+_0x100455['filesScanned']+_0x59689e(0x3cc)));for(const _0x5d5f8b of _0x100455['edits']){_0x371a6a(_0x4818da(_0x59689e(0x2a3)+_0x5d5f8b['relPath']+':'+_0x5d5f8b[_0x59689e(0x31b)]+'\x20→\x20<CeraphCamera\x20/>'+(_0x5d5f8b['alreadyHasImageKey']?'\x20(existing\x20imageKey\x20preserved)':'')));}_0x371a6a(_0x4818da(_0x59689e(0x24c)));const _0xfbb21d=await _0x2a4875(_0x59689e(0x4d8)+_0x100455['edits'][_0x59689e(0x358)]+'\x20<CameraView>\x20to\x20<CeraphCamera>?',{..._0x5ba510,'defaultYes':!![]});_0xfbb21d?_0xe48312=await _0x3ed1d0(_0x205557,_0x100455[_0x59689e(0x3e9)],_0x4d58b8,_0x5ba510,{'omitImageKey':!![]}):_0x371a6a(_0x4818da('Skipped\x20<CameraView>\x20rewrite.\x20Re-run\x20`npx\x20@ceraph/react-native-mcp\x20init`\x20to\x20apply.'));}}const _0x270945=await _0x40d878(_0x205557);let _0x4bcb09={'applied':![],'target':_0x270945};const _0x389a44=_0x270945?await _0x54d79a(_0x270945[_0x59689e(0x3e1)]):'none';_0x586514();if(!_0x270945)_0x371a6a(_0x4818da(_0x59689e(0x4f3)));else{if(_0x389a44===_0x59689e(0x2e4))_0x371a6a(_0x4818da('installCeraph()\x20already\x20wired\x20in\x20'+_0x6da8bb(_0x205557,_0x270945[_0x59689e(0x3e1)]))),_0x4bcb09={'applied':![],'target':_0x270945,'reason':_0x59689e(0x4b0)};else{const _0x71a127=_0x389a44==='bare'?_0x59689e(0x1a5):'Wire';_0x371a6a(_0x4818da(_0x59689e(0x57a)));const _0x2597a3=await _0x2a4875(_0x71a127+'\x20installCeraph()\x20in\x20'+_0x6da8bb(_0x205557,_0x270945[_0x59689e(0x3e1)])+'?',{..._0x5ba510,'defaultYes':!![]});if(_0x2597a3){const _0x401def=await _0xf258d(_0x270945);try{const _0x42c2ff=await _0x2a896e(_0x270945);_0x4bcb09={'applied':_0x42c2ff[_0x59689e(0x491)],'target':_0x270945,'reason':_0x42c2ff['reason']},_0x42c2ff['applied']?_0x59689e(0x3a9)===_0x59689e(0x3a9)?_0x371a6a(_0x4818da('installCeraph()\x20wired\x20in\x20'+_0x6da8bb(_0x205557,_0x270945[_0x59689e(0x3e1)]))):_0x3d4ab0['remove']():_0x371a6a(_0x4818da(_0x59689e(0x255)+(_0x42c2ff[_0x59689e(0x3c8)]??'unknown\x20reason')));}catch(_0x4e3f78){if(_0x401def!=null)await _0x2fa7fe(_0x270945,_0x401def);throw _0x4e3f78;}}else _0x371a6a(_0x4818da('Skipped\x20installCeraph()\x20injection.\x20Re-run\x20`npx\x20@ceraph/react-native-mcp\x20init`\x20to\x20wire\x20it.'));}}let _0x416611=null;const _0xccdc90=_0x5ba510[_0x59689e(0x34f)]??_0x341c61,_0x373944=await _0xccdc90(_0x205557);_0x416611=_0x373944;if(_0x373944[_0x59689e(0x15f)]!==_0x59689e(0x563))_0x586514();switch(_0x373944[_0x59689e(0x15f)]){case'expo-json-added':{const _0x2abaf6=_0x373944[_0x59689e(0x4e3)],_0x571fd9=_0x6da8bb(_0x205557,_0x373944[_0x59689e(0x1e5)]);if(_0x2abaf6===void 0x0)_0x371a6a(_0x4818da(_0x59689e(0x425)+_0x571fd9+_0x59689e(0x3e7)));else{const _0x138d47=Array[_0x59689e(0x310)](_0x2abaf6)?_0x2abaf6['join'](',\x20'):_0x2abaf6;_0x371a6a(_0x4818da('Added\x20ceraph://\x20to\x20your\x20'+_0x571fd9+_0x59689e(0x540)+_0x138d47+_0x59689e(0x401)+_0x138d47+_0x59689e(0x52b)));}break;}case _0x59689e(0x3ea):_0x371a6a(_0x4818da('ceraph://\x20URL\x20scheme\x20already\x20registered\x20in\x20'+_0x6da8bb(_0x205557,_0x373944['path'])));break;case'expo-config-needs-manual':_0x371a6a(_0x4818da('Detected\x20'+_0x6da8bb(_0x205557,_0x373944[_0x59689e(0x1e5)])+'\x20(dynamic\x20Expo\x20config).')),_0x371a6a(_0x36c875(_0x6da8bb(_0x205557,_0x373944[_0x59689e(0x1e5)])));break;case'bare-rn-needs-manual':_0x371a6a(_0x4818da(_0x59689e(0x430))),_0x371a6a(_0x5f272c());break;case _0x59689e(0x563):break;}let _0x32bf80=null;const _0x317859=_0x5ba510['ensureBabelPlugin']??_0x198e81,_0x54fa36=await _0x317859(_0x205557);_0x32bf80=_0x54fa36,_0x586514();switch(_0x54fa36[_0x59689e(0x15f)]){case'added':_0x371a6a(_0x4818da(_0x59689e(0x567)+_0x6da8bb(_0x205557,_0x54fa36[_0x59689e(0x1e5)])+(_0x54fa36['beforeReanimated']?'\x20(before\x20reanimated)':'')+'.'));break;case _0x59689e(0x1c0):_0x371a6a(_0x4818da('testID\x20injector\x20already\x20wired\x20in\x20'+_0x6da8bb(_0x205557,_0x54fa36[_0x59689e(0x1e5)])));break;case'needs-manual':_0x371a6a(_0x4818da(_0x59689e(0x250)+_0x54fa36[_0x59689e(0x3c8)]));break;case'created':_0x371a6a(_0x4818da('Created\x20'+_0x6da8bb(_0x205557,_0x54fa36['path'])+'\x20('+_0x54fa36['preset']+'\x20+\x20testID\x20injector)\x20—\x20your\x20app\x20had\x20no\x20babel\x20config,\x20so\x20we\x20added\x20one.\x20Rebuild\x20your\x20dev\x20client\x20once\x20to\x20activate.'));break;}let _0x2c0c17={'state':'missing-dir','registered':0x0};if(_0xe48312[_0x59689e(0x308)]>0x0){_0x586514();const _0x33986e=await _0xd5f358(_0x205557);_0x2c0c17={'state':_0x33986e['writtenOrUnchanged'],'registered':_0x33986e[_0x59689e(0x583)][_0x59689e(0x358)]},_0x33986e[_0x59689e(0x1c7)]===_0x59689e(0x50b)?_0x371a6a(_0x4818da(_0x59689e(0x4c8)+_0x480ea5('.ceraph',_0x59689e(0x3dc))+_0x59689e(0x58a))):_0x371a6a(_0x4818da('Test\x20image\x20registry\x20'+_0x33986e[_0x59689e(0x1c7)]+'\x20('+_0x33986e['registered'][_0x59689e(0x358)]+'\x20image(s))\x20at\x20'+_0x1f0a95(_0x205557,_0x33986e[_0x59689e(0x205)])+'.'));}let _0x51def6=null;if(_0x39d45f&&_0x1a13d5===_0x59689e(0x4a5))try{const _0xfa4539=_0x5ba510['seedMobileGraph']??_0xc45372;_0x51def6=await _0xfa4539({'workingDir':_0x205557,'auth':_0x39d45f}),_0x51def6['status']==='seeded'&&(_0x586514(),_0x371a6a(_0x4818da('Project\x20cached\x20server-side:\x20'+_0x51def6['screenCount']+_0x59689e(0x41a)+_0x51def6['layoutCount']+'\x20layout(s)\x20('+_0x51def6[_0x59689e(0x20f)]+').')));}catch{_0x51def6=null;}else _0x39d45f&&_0x1a13d5==='pending'&&(_0x51def6={'status':'skipped','reason':_0x59689e(0x2a6),'message':_0x59689e(0x236)+_0x469c66+'.'});let _0x485f53=null;if(_0x5ba510['runDoctor']){_0x586514(),_0x485f53=await _0x5ba510[_0x59689e(0x374)](),_0x371a6a(_0x4818da('Doctor:\x20'+_0x485f53[_0x59689e(0x189)]+'/'+_0x485f53['totalCount']+'\x20'+(_0x485f53['ok']?'passed':'failed')));if(_0x485f53[_0x59689e(0x2a5)])_0x371a6a(_0x485f53['summary']);}_0x586514();let _0x4e3fd0=![];if(_0x2d78ef===_0x59689e(0x550))_0x371a6a(_0x4818da('You\x27re\x20set\x20up\x20on\x20Starter\x20—\x20local\x20build,\x20run,\x20and\x20device\x20tools.')),_0x371a6a(_0x4818da(_0x59689e(0x581))),_0x371a6a(_0x4818da('More\x20about\x20the\x20plans\x20→\x20'+_0x4079d9(_0x469c66))),_0x4e3fd0=!![];else _0x1a13d5==='pending'&&(!_0x5ba510['agentMode']&&process[_0x59689e(0x376)][_0x59689e(0x347)]===!![]&&_0x1dfd06(_0x469c66),_0x371a6a(_0x4818da(_0x59689e(0x383)+_0x4079d9(_0x469c66)+',\x20then\x20re-run\x20any\x20flow\x20tool\x20—')),_0x371a6a(_0x4818da(_0x59689e(0x38a))),_0x4e3fd0=!![]);if(_0x4e3fd0)_0x371a6a('\x0a');_0x371a6a(_0x4818da(_0x59689e(0x254)));_0x5ba510[_0x59689e(0x1e6)]&&_0x371a6a(_0x4818da(_0x59689e(0x1b1)));_0x371a6a('\x0a'),_0x371a6a(_0x4818da(_0x59689e(0x1ce))),_0x371a6a(_0x4818da('\x22Run\x20ceraph_init_status\x20to\x20confirm\x20the\x20project\x20is\x20wired\x20up.\x22')),_0x371a6a('\x0a');const _0x3a0eeb=_0x100455[_0x59689e(0x3e9)]['map'](_0x14e0fd=>({'file':_0x14e0fd[_0x59689e(0x539)],'line':_0x14e0fd[_0x59689e(0x31b)],'suggestedKey':_0x14e0fd[_0x59689e(0x20a)]})),_0x2b2715=_0x5ba510['agentMode']?{'cameras':_0x3a0eeb,'setupRequired':_0x3a0eeb['length']>0x0,'hintText':_0x3a0eeb[_0x59689e(0x358)]===0x0?_0x59689e(0x2f1):'For\x20each\x20<CeraphCamera>\x20below,\x20ask\x20the\x20user\x20which\x20scenario\x20this\x20camera\x20serves\x20and\x20call\x20ceraph_init_replace_camera\x20with\x20the\x20chosen\x20imageKey.\x20Three\x20options:\x20(A)\x20imageKey=\x22default\x22\x20—\x20bundled\x20black\x20PNG\x20fallback.\x20Right\x20answer\x20when\x20the\x20test\x20doesn\x27t\x20care\x20about\x20image\x20content\x20(most\x20form-submit\x20/\x20file-upload\x20flows).\x20(B)\x20imageKey=\x22<key>\x22\x20—\x20a\x20specific\x20test\x20image.\x20Ask\x20the\x20user\x20for\x20a\x20descriptive\x20lowercase-dashes\x20name\x20AND\x20drop\x20the\x20file\x20at\x20.ceraph/camera-images/<key>.{jpg,png,webp},\x20then\x20call\x20rn_sync_camera_registry.\x20(C)\x20imageKey=\x22@runtime\x22\x20—\x20the\x20camera\x20serves\x20multiple\x20scenarios\x20per\x20flow;\x20the\x20planner\x20picks\x20the\x20image\x20per-step\x20at\x20runtime.\x20Use\x20when\x20one\x20camera\x20screen\x20feeds\x20different\x20outcomes.'}:null;return _0x5ba510['agentMode']&&_0x2b2715&&_0x371a6a(''+_0x541b4e+JSON['stringify'](_0x2b2715)+'\x0a'),{'packageInstalled':_0x4a94c4,'packageManager':_0x1c899d,'tier':_0x2d78ef,'proStatus':_0x1a13d5,'authLogin':_0x39d45f?.['email']??null,'cameraEdits':_0xe48312,'layoutInjection':_0x4bcb09,'graphSeed':_0x51def6,'cameraRegistrySync':_0x2c0c17,'doctor':_0x485f53,'workingDir':_0x205557,'urlScheme':_0x416611,'babelConfig':_0x32bf80,'agentHint':_0x2b2715};}async function _0x35f9ac(_0x3d5b30,_0x3762a5){const _0x45ed5a=_0xa6e1,_0x535f12=_0x3762a5['detectMonorepo']??_0x23c9dd,_0x783af3=await _0x535f12(_0x3d5b30);if(_0x783af3['kind']==='none'){if(_0x783af3['isMonorepo']&&!_0x783af3['rootIsRnApp'])throw new Error('Detected\x20a\x20monorepo\x20at\x20the\x20current\x20directory\x20but\x20could\x20not\x20find\x20a\x20React\x20Native\x20or\x20Expo\x20subpackage.\x20Re-run\x20`npx\x20@ceraph/react-native-mcp\x20init`\x20from\x20inside\x20the\x20RN/Expo\x20app\x20folder,\x20or\x20add\x20the\x20app\x20to\x20your\x20workspaces.');return _0x3d5b30;}if(_0x783af3['kind']==='single'){const _0x2ace76=_0x783af3['matches'][0x0];if(!_0x2ace76)return _0x3d5b30;return _0x7c81a8('\x0a',_0x3762a5),_0x7c81a8(_0x4818da(_0x45ed5a(0x40f)+_0x2ace76['relPath']+'/\x20—\x20working\x20from\x20there'),_0x3762a5),_0x2ace76['absPath'];}_0x7c81a8('\x0a',_0x3762a5),_0x7c81a8(_0x4818da(_0x45ed5a(0x312)),_0x3762a5);const _0x3d2f6d=_0x783af3[_0x45ed5a(0x452)]['map'](_0x500318=>_0x500318[_0x45ed5a(0x539)]+_0x45ed5a(0x4d4)+_0x500318[_0x45ed5a(0x4b4)][_0x45ed5a(0x3c0)](',\x20')+']'),_0x3702a7=await _0x199723('Which\x20one\x20should\x20init\x20configure?',_0x3d2f6d,_0x3762a5);if(_0x3702a7==null)throw new Error(_0x45ed5a(0x2dd));const _0x235345=_0x783af3[_0x45ed5a(0x452)][_0x3702a7];if(!_0x235345)throw new Error('Picked\x20index\x20out\x20of\x20range.');return _0x7c81a8(_0x4818da(_0x45ed5a(0x4cc)+_0x235345['relPath']+'/'),_0x3762a5),_0x235345['absPath'];}function _0x6da8bb(_0x1911db,_0x28242f){const _0x56d08a=_0xa6e1;if(_0x28242f['startsWith'](_0x1911db)){const _0x3612ee=_0x28242f[_0x56d08a(0x554)](_0x1911db[_0x56d08a(0x358)]+0x1);return _0x3612ee['length']>0x0?_0x3612ee:_0x28242f;}return _0x28242f;}async function _0x34ece4(){const _0x408538=_0xa6e1,_0x51f1c0=await _0x25a657();return{'accessToken':_0x51f1c0[_0x408538(0x268)],'expiresAt':0x0,'githubUser':{'login':'','id':0x0},'storedAt':new Date()['toISOString'](),..._0x51f1c0[_0x408538(0x42e)]?{'email':_0x51f1c0['email']}:{}};}async function _0x3ed1d0(_0x42df2f,_0x509df7,_0x1307d6,_0x46b063,_0x556216={}){const _0x15818c=_0xa6e1;for(const _0x1b28be of _0x509df7){if(!_0x1307d6['has'](_0x1b28be[_0x15818c(0x3e1)])){if('XBnER'!=='vESgV')_0x1307d6[_0x15818c(0x293)](_0x1b28be['filePath'],await _0x3e51e0(_0x1b28be['filePath']));else{if(_0x364ccc)return!![];if(_0x1eee93.env.CERAPH_NON_INTERACTIVE==='1')return!![];return!_0x678789[_0x15818c(0x26c)][_0x15818c(0x347)];}}}try{const _0x3e118e=await _0x4423bb(_0x42df2f,_0x509df7,_0x556216);return _0x7c81a8(_0x4818da('Replaced\x20'+_0x3e118e[_0x15818c(0x308)]+'\x20<CameraView>\x20→\x20<CeraphCamera>\x20across\x20'+_0x3e118e['filesEdited']['length']+_0x15818c(0x27c)),_0x46b063),_0x3e118e;}catch(_0x12df37){for(const [_0x26c481,_0x24f1d1]of _0x1307d6){if(_0x24f1d1!=null)try{await _0x5b2be0(_0x26c481,_0x24f1d1);}catch(_0x26860e){console[_0x15818c(0x48f)]('[ceraph]\x20rollback\x20failed\x20for\x20'+_0x26c481+':',_0x26860e instanceof Error?_0x26860e['message']:_0x26860e);}}throw _0x12df37;}}var _0x541b4e,_0x469c66,_0x53423b,_0x17dcf1,_0xc55a28,_0x17a37c,_0x19ffbe=_0x1b53f6({'src/init/walkthrough.ts'(){'use strict';const _0x271540=_0xa6e1;_0x228cd7(),_0x324a47(),_0x10d22(),_0x2cd108(),_0x45872c(),_0x460a52(),_0x5479af(),_0x52a119(),_0x569aea(),_0x3ea95e(),_0x4ff041(),_0x428b89(),_0x202e4a(),_0x541b4e='CERAPH_INIT_AGENT_HINT=',_0x469c66='https://ceraph.dev/#pricing',_0x53423b=_0x271540(0x2b1),_0x17dcf1='Starter\x20·\x20Free\x20—\x20local\x20build,\x20run,\x20and\x20device\x20tools.\x20No\x20sign-in.',_0xc55a28=_0x271540(0x265),_0x17a37c=[_0x17dcf1,_0xc55a28];}});import{spawn as _0x35ee9f}from'child_process';function _0x26bc67(_0xc3434,_0x43ef26,_0x57448b={}){return new Promise(_0x18dff1=>{const _0x82b36b=_0xa6e1;if(_0x82b36b(0x235)!=='Kyyov')return{'success':![],'error':'The\x20`ceraph://`\x20URL\x20scheme\x20isn\x27t\x20registered\x20in\x20the\x20app\x20under\x20test,\x20so\x20this\x20deep\x20link\x20couldn\x27t\x20be\x20delivered.\x20`init`\x20adds\x20the\x20scheme\x20to\x20app.json,\x20but\x20it\x20only\x20lands\x20in\x20the\x20native\x20Info.plist\x20after\x20a\x20rebuild\x20—\x20run\x20`npx\x20expo\x20prebuild`\x20then\x20rebuild/reinstall\x20the\x20dev\x20client\x20(or\x20your\x20EAS/Xcode\x20build),\x20and\x20retry.\x20Tools\x20affected:\x20rn_reset_state,\x20rn_reload,\x20and\x20camera/auth-bypass\x20deep\x20links.'};else{let _0x4ead35='',_0x5c6d3a='',_0x48131a;try{_0x48131a=_0x35ee9f(_0xc3434,_0x43ef26,{'stdio':['ignore','pipe',_0x82b36b(0x1e3)]});}catch(_0x3e7bde){if(_0x82b36b(0x47f)!==_0x82b36b(0x33f)){_0x18dff1({'code':0x7f,'stdout':'','stderr':_0x3e7bde instanceof Error?_0x3e7bde[_0x82b36b(0x2aa)]:String(_0x3e7bde)});return;}else return null;}const _0x9b1da6=setTimeout(()=>{const _0x173bd9=_0x82b36b;if('eGqRs'==='jgZHu')_0x47900b=_0x324ade[_0x173bd9(0x554)](0x1,-0x1);else try{_0x48131a['kill']('SIGKILL');}catch{}},_0x57448b['timeoutMs']??0x3a98);_0x48131a[_0x82b36b(0x376)]?.['on']('data',_0x1d1d54=>{const _0x36ac06=_0x82b36b;_0x4ead35+=_0x1d1d54[_0x36ac06(0x360)]();}),_0x48131a[_0x82b36b(0x461)]?.['on'](_0x82b36b(0x586),_0xcfd22=>{_0x5c6d3a+=_0xcfd22['toString']();});let _0xfc01fe=![];_0x48131a['on']('error',_0x4bcd94=>{const _0x67de9e=_0x82b36b;if(_0x67de9e(0x361)!==_0x67de9e(0x361))return{'name':_0x67de9e(0x2af),'status':_0x67de9e(0x48f),'details':{'error':_0x456403(_0x2409f6),..._0x211bf6?{'dryRun':!![]}:{}}};else{if(_0xfc01fe)return;_0xfc01fe=!![],clearTimeout(_0x9b1da6),_0x18dff1({'code':0x7f,'stdout':_0x4ead35,'stderr':_0x5c6d3a+(_0x4bcd94['message']??String(_0x4bcd94))});}}),_0x48131a['on'](_0x82b36b(0x542),_0x543d68=>{if(_0xfc01fe)return;_0xfc01fe=!![],clearTimeout(_0x9b1da6),_0x18dff1({'code':_0x543d68??0x1,'stdout':_0x4ead35,'stderr':_0x5c6d3a});});}});}async function _0x3ff87a(_0x41671c){const _0x5a2a71=_0xa6e1,_0x324dad=await _0x26bc67('which',[_0x41671c],{'timeoutMs':0x7d0});return _0x324dad['code']===0x0&&_0x324dad[_0x5a2a71(0x376)][_0x5a2a71(0x531)]()['length']>0x0;}function _0x4c0b80(_0x3d92ac){const _0x2ad704=_0xa6e1,_0x3478f8=[];let _0x21842e=0x0,_0x4c414e=![],_0x242da0=null,_0x230124=null,_0xf0c053=null,_0x148bdc=null,_0x5890f2=null,_0x41c7a0=null;const _0x222b7e=_0x45f471=>{const _0x35957e=_0xa6e1;let _0x2eca9a=_0x45f471[_0x35957e(0x531)]();if(_0x2eca9a[_0x35957e(0x25c)](';'))_0x2eca9a=_0x2eca9a[_0x35957e(0x554)](0x0,-0x1)[_0x35957e(0x531)]();return(_0x2eca9a['startsWith']('\x22')&&_0x2eca9a['endsWith']('\x22')||_0x2eca9a['startsWith']('\x27')&&_0x2eca9a[_0x35957e(0x25c)]('\x27'))&&(_0x2eca9a=_0x2eca9a['slice'](0x1,-0x1)),_0x2eca9a;};for(const _0x43c9b3 of _0x3d92ac[_0x2ad704(0x41d)]('\x0a')){const _0x573130=_0x43c9b3['trim']();if(_0x573130['length']===0x0)continue;if(_0x21842e===0x1&&!_0x4c414e&&_0x573130['endsWith']('{')){const _0xd82d3f=_0x573130[_0x2ad704(0x368)]('=');if(_0xd82d3f>0x0){const _0x2d2ce6=_0x222b7e(_0x573130['slice'](0x0,_0xd82d3f));_0x242da0=_0x2d2ce6,_0x230124=_0x2d2ce6,_0xf0c053=null,_0x148bdc=null,_0x5890f2=null,_0x41c7a0=null,_0x4c414e=!![];}_0x21842e+=0x1;continue;}if(_0x573130['endsWith']('{')){_0x21842e+=0x1;continue;}if(_0x573130==='};'||_0x573130==='}'){if(_0x4c414e&&_0x21842e===0x2){const _0x39de8d=_0x230124??_0x242da0;_0x39de8d&&_0x3478f8[_0x2ad704(0x407)]({'bundleId':_0x39de8d,'name':_0x148bdc??_0xf0c053??_0x39de8d,'version':_0x5890f2??_0x41c7a0??void 0x0}),_0x4c414e=![],_0x242da0=null,_0x230124=null,_0xf0c053=null,_0x148bdc=null,_0x5890f2=null,_0x41c7a0=null;}_0x21842e=Math['max'](0x0,_0x21842e-0x1);continue;}if(_0x4c414e&&_0x21842e===0x2){const _0x3a1cbc=_0x573130[_0x2ad704(0x368)]('=');if(_0x3a1cbc<0x0)continue;const _0x19d284=_0x573130['slice'](0x0,_0x3a1cbc)[_0x2ad704(0x531)](),_0x3d65c7=_0x222b7e(_0x573130['slice'](_0x3a1cbc+0x1));switch(_0x19d284){case'CFBundleIdentifier':_0x230124=_0x3d65c7;break;case _0x2ad704(0x34d):_0xf0c053=_0x3d65c7;break;case _0x2ad704(0x301):_0x148bdc=_0x3d65c7;break;case'CFBundleShortVersionString':_0x5890f2=_0x3d65c7;break;case'CFBundleVersion':_0x41c7a0=_0x3d65c7;break;default:break;}}}return _0x3478f8;}var _0x1007f8,_0xe2e688=_0x1b53f6({'src/app-lifecycle.ts'(){'use strict';const _0x1573e0=_0xa6e1;_0x1007f8=class _0x3dc888{constructor(_0x5a8374,_0x425e11){const _0x3f9390=_0xa6e1;this[_0x3f9390(0x2bf)]=_0x5a8374,this[_0x3f9390(0x29f)]=_0x425e11;}['udid']=null;['udidResolved']=![];[_0x1573e0(0x17f)]=0x0;static [_0x1573e0(0x3d5)]=0x1388;['udidInflight']=null;[_0x1573e0(0x4a9)]=null;['idbAvailable']=null;[_0x1573e0(0x260)]=null;['INSTALLED_CACHE_MS']=0x7530;[_0x1573e0(0x1c4)](_0x4186ba){const _0x18e067=_0x1573e0;this[_0x18e067(0x29f)]=_0x4186ba;}async['pickTransport'](){const _0x1b398f=_0x1573e0;if(!this['targetResolver'])return{'preferSimulator':![],'simulatorUdid':_0x1b398f(0x27a)};const _0x4532ab=await this['targetResolver'][_0x1b398f(0x3f8)](),_0x383f93=_0x4532ab['target']===_0x1b398f(0x44c),_0x4ea6d8=_0x4532ab['target']===_0x1b398f(0x44c)&&_0x4532ab[_0x1b398f(0x1bd)]?_0x4532ab[_0x1b398f(0x1bd)]:_0x1b398f(0x27a);return{'preferSimulator':_0x383f93,'simulatorUdid':_0x4ea6d8};}async[_0x1573e0(0x39c)](){const _0x4b5ff5=_0x1573e0;if(this['udidResolved']&&this['udid']&&Date[_0x4b5ff5(0x1ec)]()-this['udidResolvedAt']<_0x3dc888['UDID_TTL_MS'])return this['udid'];if(this[_0x4b5ff5(0x435)])return this[_0x4b5ff5(0x435)];const _0x19ddf7=((async()=>{const _0x130deb=_0x4b5ff5;try{const _0x4fbe8f=await _0x3ff87a('xcrun');if(!_0x4fbe8f)return null;const _0x6b996d=await _0x26bc67('xcrun',[_0x130deb(0x243),'list',_0x130deb(0x177),'--json-output','-'],{'timeoutMs':0x1f40});if(_0x6b996d[_0x130deb(0x359)]!==0x0)return null;const _0x2c1c95=JSON[_0x130deb(0x2ee)](_0x6b996d[_0x130deb(0x376)]),_0x35bc5e=_0x2c1c95['result']?.['devices']??[],_0x275234=_0x35bc5e[_0x130deb(0x320)](_0x4ef719=>{const _0x2c0cdb=_0x130deb;if('dCWPJ'!=='dCWPJ'){const _0x3e952b=_0x4a11e2(_0x3c6867)['replace'](/\.(tsx|jsx)$/i,''),_0x3133de=_0x11ecd9(_0x319404(_0x29d106)),_0x33f811=new _0x2e7fb8(['page','index',_0x2c0cdb(0x2bf),'route',_0x2c0cdb(0x24d)]),_0xb18327=_0x33f811['has'](_0x3e952b['toLowerCase']())?_0x3133de:_0x3e952b,_0x3c8e77=_0xb18327[_0x2c0cdb(0x2c4)](/([a-z0-9])([A-Z])/g,'$1-$2')[_0x2c0cdb(0x55a)]()[_0x2c0cdb(0x2c4)](/[^a-z0-9]+/g,'-')['replace'](/^-+|-+$/g,'');return _0x3c8e77['length']>0x0?_0x3c8e77:'camera';}else{const _0x379bb8=_0x4ef719[_0x2c0cdb(0x51a)]?.['platform']?.[_0x2c0cdb(0x55a)]()??'',_0x437b06=_0x4ef719[_0x2c0cdb(0x346)]?.['tunnelState']?.['toLowerCase']()??'';return _0x379bb8['includes'](_0x2c0cdb(0x331))&&_0x437b06===_0x2c0cdb(0x46d);}});if(_0x275234?.['identifier'])return this[_0x130deb(0x1bd)]=_0x275234['identifier'],this['udidResolved']=!![],this['udidResolvedAt']=Date[_0x130deb(0x1ec)](),this['udid'];const _0x39a1fd=_0x35bc5e[_0x130deb(0x320)](_0x1c00f3=>(_0x1c00f3['hardwareProperties']?.[_0x130deb(0x546)]?.[_0x130deb(0x55a)]()??'')[_0x130deb(0x3bb)](_0x130deb(0x331)));if(_0x39a1fd?.['identifier']){if('JKUaa'!==_0x130deb(0x3b4)){if(_0xedfee8(_0xd0c967))_0x21f4bc['push'](_0x4ce2cf);else _0x3da156[_0x130deb(0x407)](_0x5c7c75);}else return this['udid']=_0x39a1fd['identifier'],this['udidResolved']=!![],this[_0x130deb(0x17f)]=Date[_0x130deb(0x1ec)](),this[_0x130deb(0x1bd)];}}catch{}return null;})());this[_0x4b5ff5(0x435)]=_0x19ddf7;try{return await _0x19ddf7;}finally{this['udidInflight']=null;}}async['checkDevicectl'](){const _0x5c528b=_0x1573e0;if(this[_0x5c528b(0x4a9)]!==null)return this['devicectlAvailable'];const _0x1f9896=await _0x3ff87a(_0x5c528b(0x588));if(!_0x1f9896)return this['devicectlAvailable']=![],![];const _0x7a5dc1=await _0x26bc67(_0x5c528b(0x588),[_0x5c528b(0x243),'--help'],{'timeoutMs':0xfa0});return this['devicectlAvailable']=_0x7a5dc1[_0x5c528b(0x359)]===0x0,this['devicectlAvailable'];}async['checkIdb'](){const _0x4d5406=_0x1573e0;if(this[_0x4d5406(0x18a)]!==null)return this['idbAvailable'];return this['idbAvailable']=await _0x3ff87a('idb'),this[_0x4d5406(0x18a)];}async['launchApp'](_0xf7fef3){const _0x410ead=_0x1573e0,_0xa8aac6=await this[_0x410ead(0x2a1)]();if(_0xa8aac6[_0x410ead(0x29b)]){const _0x272d86=_0xa8aac6['simulatorUdid'],_0x19b819=await _0x26bc67(_0x410ead(0x588),[_0x410ead(0x1a3),'launch',_0x272d86,_0xf7fef3],{'timeoutMs':0x3a98});if(_0x19b819[_0x410ead(0x359)]===0x0)return{'success':!![],'transport':'simctl','details':{'udid':_0x272d86}};return{'success':![],'transport':'simctl','error':'simctl\x20launch\x20failed:\x20'+(_0x19b819['stderr']||_0x19b819['stdout'])['trim'](),'details':{'udid':_0x272d86}};}const _0x2ab090=await this['getUdid']();if(_0x2ab090&&await this['checkDevicectl']()){const _0x2cf0cb=await _0x26bc67(_0x410ead(0x588),[_0x410ead(0x243),_0x410ead(0x2c0),_0x410ead(0x52d),_0x410ead(0x57e),_0x410ead(0x300),_0x2ab090,_0x410ead(0x2f0),_0xf7fef3],{'timeoutMs':0x7530});if(_0x2cf0cb[_0x410ead(0x359)]===0x0)return{'success':!![],'transport':'devicectl','details':{'udid':_0x2ab090}};const _0x3488fb=_0x2cf0cb['stderr']||_0x2cf0cb['stdout'];if(!await this[_0x410ead(0x3a2)]())return{'success':![],'transport':'devicectl','error':'devicectl\x20launch\x20failed:\x20'+_0x3488fb['trim']()};}if(await this['checkIdb']()){const _0x5bbc09=['launch',_0xf7fef3];if(_0x2ab090)_0x5bbc09[_0x410ead(0x407)](_0x410ead(0x219),_0x2ab090);const _0x1d3f58=await _0x26bc67('idb',_0x5bbc09,{'timeoutMs':0x7530});if(_0x1d3f58[_0x410ead(0x359)]===0x0)return{'success':!![],'transport':'idb','details':{'udid':_0x2ab090}};if(!_0x2ab090){}else return{'success':![],'transport':_0x410ead(0x272),'error':'idb\x20launch\x20failed:\x20'+(_0x1d3f58[_0x410ead(0x461)]||_0x1d3f58['stdout'])['trim']()};}if(!_0x2ab090){const _0x69cb27=await _0x26bc67('xcrun',[_0x410ead(0x1a3),'launch','booted',_0xf7fef3],{'timeoutMs':0x3a98});if(_0x69cb27['code']===0x0)return _0x410ead(0x204)!==_0x410ead(0x204)?![]:{'success':!![],'transport':_0x410ead(0x1a3)};return{'success':![],'transport':_0x410ead(0x1a3),'error':'simctl\x20launch\x20failed:\x20'+(_0x69cb27[_0x410ead(0x461)]||_0x69cb27[_0x410ead(0x376)])[_0x410ead(0x531)]()};}return{'success':![],'transport':_0x410ead(0x38d),'error':_0x410ead(0x340)};}async['terminateApp'](_0x27c5df){const _0x5bf1cd=_0x1573e0,_0x47887c=await this[_0x5bf1cd(0x2a1)]();if(_0x47887c['preferSimulator']){const _0xdc80ae=_0x47887c[_0x5bf1cd(0x2d7)],_0x55d5ec=await _0x26bc67('xcrun',[_0x5bf1cd(0x1a3),_0x5bf1cd(0x30b),_0xdc80ae,_0x27c5df],{'timeoutMs':0x2710});if(_0x55d5ec['code']===0x0){if('ROxPX'==='ROxPX')return{'success':!![],'transport':_0x5bf1cd(0x1a3),'details':{'udid':_0xdc80ae}};else{const _0x5a7d05=_0xea7ad5['getNameNode']();_0x5a7d05['getText']()===_0x5bf1cd(0x4b7)&&_0x32336e['remove']();}}return{'success':![],'transport':_0x5bf1cd(0x1a3),'error':_0x5bf1cd(0x28b)+(_0x55d5ec['stderr']||_0x55d5ec[_0x5bf1cd(0x376)])[_0x5bf1cd(0x531)](),'details':{'udid':_0xdc80ae}};}if(this['screen']){const _0x2f71bd=await this[_0x5bf1cd(0x2bf)][_0x5bf1cd(0x1d3)]();if(_0x2f71bd){const _0x34895f=await this[_0x5bf1cd(0x2bf)]['terminateAppViaWDA'](_0x27c5df);if(_0x34895f[_0x5bf1cd(0x197)])return{'success':!![],'transport':_0x5bf1cd(0x44a)};}}const _0x2ebb70=await this['getUdid']();if(_0x2ebb70&&await this[_0x5bf1cd(0x507)]()){const _0x5766f6=await this[_0x5bf1cd(0x3f4)](_0x2ebb70,_0x27c5df);if(_0x5766f6!==null){const _0x3c6ad3=await _0x26bc67(_0x5bf1cd(0x588),['devicectl','device','process','terminate','--device',_0x2ebb70,'--pid',String(_0x5766f6)],{'timeoutMs':0x3a98});if(_0x3c6ad3[_0x5bf1cd(0x359)]===0x0)return{'success':!![],'transport':'devicectl','details':{'pid':_0x5766f6}};}}if(await this['checkIdb']()){if(_0x5bf1cd(0x4dd)!=='vIiCF')_0x304958[_0x5bf1cd(0x407)](_0x45c443[_0x5bf1cd(0x4bf)]);else{const _0x487c1f=[_0x5bf1cd(0x30b),_0x27c5df];if(_0x2ebb70)_0x487c1f[_0x5bf1cd(0x407)]('--udid',_0x2ebb70);const _0x47fa52=await _0x26bc67('idb',_0x487c1f,{'timeoutMs':0x3a98});if(_0x47fa52[_0x5bf1cd(0x359)]===0x0)return{'success':!![],'transport':_0x5bf1cd(0x272)};}}if(!_0x2ebb70){const _0x567246=await _0x26bc67(_0x5bf1cd(0x588),['simctl','terminate','booted',_0x27c5df],{'timeoutMs':0x2710});if(_0x567246['code']===0x0)return{'success':!![],'transport':_0x5bf1cd(0x1a3)};return{'success':![],'transport':_0x5bf1cd(0x1a3),'error':'simctl\x20terminate\x20failed:\x20'+(_0x567246[_0x5bf1cd(0x461)]||_0x567246['stdout'])['trim']()};}return{'success':![],'transport':_0x5bf1cd(0x38d),'error':'Failed\x20to\x20terminate\x20via\x20WDA,\x20devicectl,\x20or\x20idb.\x20The\x20app\x20may\x20not\x20be\x20running,\x20or\x20(devicectl\x20path)\x20it\x20is\x20not\x20a\x20user-installed\x20app\x20so\x20its\x20PID\x20could\x20not\x20be\x20resolved.'};}async[_0x1573e0(0x3f4)](_0x1d9d7e,_0x5c6ac9){const _0x3a85eb=_0x1573e0,_0x5592db=await _0x26bc67('xcrun',['devicectl','device','info',_0x3a85eb(0x44e),'--device',_0x1d9d7e,_0x3a85eb(0x448),'-'],{'timeoutMs':0x4e20});if(_0x5592db[_0x3a85eb(0x359)]!==0x0)return null;let _0x10ea1c=null;try{const _0x4a37c2=JSON[_0x3a85eb(0x2ee)](_0x5592db[_0x3a85eb(0x376)]);_0x10ea1c=(_0x4a37c2[_0x3a85eb(0x1c3)]?.[_0x3a85eb(0x44e)]??[])[_0x3a85eb(0x320)](_0x5e34b2=>_0x5e34b2['bundleIdentifier']===_0x5c6ac9)?.['url']??null;}catch{return null;}if(!_0x10ea1c)return null;const _0x1b5877=_0x10ea1c['endsWith']('/')?_0x10ea1c:_0x10ea1c+'/',_0x1a39dc=await _0x26bc67(_0x3a85eb(0x588),[_0x3a85eb(0x243),'device','info',_0x3a85eb(0x44f),_0x3a85eb(0x300),_0x1d9d7e,'--json-output','-'],{'timeoutMs':0x4e20});if(_0x1a39dc[_0x3a85eb(0x359)]!==0x0)return null;try{const _0x19b0b4=JSON['parse'](_0x1a39dc['stdout']),_0x184b09=(_0x19b0b4[_0x3a85eb(0x1c3)]?.[_0x3a85eb(0x56b)]??[])[_0x3a85eb(0x422)](_0xaf678f=>typeof _0xaf678f['processIdentifier']==='number'&&(_0xaf678f['executable']??'')['startsWith'](_0x1b5877));if(_0x184b09['length']===0x0)return null;const _0x3b0b71=_0x184b09[_0x3a85eb(0x320)](_0x4bd2e7=>!_0x4bd2e7['executable']['slice'](_0x1b5877[_0x3a85eb(0x358)])[_0x3a85eb(0x3bb)]('/'));return(_0x3b0b71??_0x184b09[0x0])[_0x3a85eb(0x389)];}catch{return null;}}async['activateApp'](_0x1f6acf){const _0x48a92d=_0x1573e0;if(this['screen']){const _0x2fa30b=await this[_0x48a92d(0x2bf)][_0x48a92d(0x1d3)]();if(_0x2fa30b){const _0x42714a=await this[_0x48a92d(0x2bf)][_0x48a92d(0x279)](_0x1f6acf);if(_0x42714a['success'])return{'success':!![],'transport':'wda'};}}return this['launchApp'](_0x1f6acf);}async['listInstalledApps'](){const _0x1f6312=_0x1573e0,_0xe3329e=await this[_0x1f6312(0x2a1)](),_0x57902f=_0xe3329e['preferSimulator']?null:await this['getUdid'](),_0x4ced07=_0xe3329e['preferSimulator']?'sim:'+_0xe3329e['simulatorUdid']:_0x1f6312(0x169)+(_0x57902f??'none');if(this[_0x1f6312(0x260)]&&this['installedAppsCache'][_0x1f6312(0x289)]===_0x4ced07&&Date[_0x1f6312(0x1ec)]()-this[_0x1f6312(0x260)]['at']<this['INSTALLED_CACHE_MS'])return{'success':!![],'apps':this['installedAppsCache']['apps']};if(_0xe3329e['preferSimulator'])return this['listInstalledAppsSimulator'](_0xe3329e['simulatorUdid'],_0x4ced07);const _0x57c673=_0x57902f;if(!_0x57c673)return{'success':![],'apps':[],'error':'No\x20real\x20iOS\x20device\x20connected.\x20Connect\x20a\x20device\x20via\x20USB-C\x20and\x20trust\x20this\x20Mac.'};if(!await this['checkDevicectl']())return{'success':![],'apps':[],'error':'xcrun\x20devicectl\x20not\x20available\x20—\x20install\x20Xcode\x2015\x20or\x20newer.'};const _0x2e5e2f=await _0x26bc67(_0x1f6312(0x588),[_0x1f6312(0x243),_0x1f6312(0x2c0),_0x1f6312(0x180),_0x1f6312(0x44e),_0x1f6312(0x300),_0x57c673,'--json-output','-'],{'timeoutMs':0x4e20});if(_0x2e5e2f[_0x1f6312(0x359)]!==0x0)return{'success':![],'apps':[],'error':_0x1f6312(0x37b)+(_0x2e5e2f['stderr']||_0x2e5e2f[_0x1f6312(0x376)])[_0x1f6312(0x531)]()};try{const _0x309a04=JSON['parse'](_0x2e5e2f[_0x1f6312(0x376)]),_0x29eaf1=(_0x309a04[_0x1f6312(0x1c3)]?.[_0x1f6312(0x44e)]??[])[_0x1f6312(0x422)](_0x46a5bd=>!!_0x46a5bd['bundleIdentifier'])['map'](_0x14bd8d=>({'bundleId':_0x14bd8d[_0x1f6312(0x178)],'name':_0x14bd8d[_0x1f6312(0x273)]??_0x14bd8d['bundleIdentifier'],'version':_0x14bd8d['shortVersionString']??_0x14bd8d[_0x1f6312(0x483)]}));return this[_0x1f6312(0x260)]={'at':Date[_0x1f6312(0x1ec)](),'key':_0x4ced07,'apps':_0x29eaf1},{'success':!![],'apps':_0x29eaf1};}catch(_0x595577){return{'success':![],'apps':[],'error':_0x1f6312(0x3b5)+(_0x595577 instanceof Error?_0x595577['message']:String(_0x595577))};}}async['listInstalledAppsSimulator'](_0x24bacf,_0x1d7428){const _0x4f2a90=_0x1573e0,_0x31eb9d=await _0x26bc67('xcrun',['simctl',_0x4f2a90(0x2fc),_0x24bacf],{'timeoutMs':0x3a98});if(_0x31eb9d['code']!==0x0){if(_0x4f2a90(0x53e)==='umxcP')return{'success':![],'apps':[],'error':_0x4f2a90(0x42f)+(_0x31eb9d[_0x4f2a90(0x461)]||_0x31eb9d[_0x4f2a90(0x376)])[_0x4f2a90(0x531)]()};else _0xa89430[_0x4f2a90(0x2ea)](_0x4f2a90(0x464));}const _0x492d53=_0x4c0b80(_0x31eb9d['stdout']);return this[_0x4f2a90(0x260)]={'at':Date['now'](),'key':_0x1d7428,'apps':_0x492d53},{'success':!![],'apps':_0x492d53};}async['getActiveApp'](){if(!this['screen'])return{'success':![],'error':'ScreenManager\x20not\x20provided\x20—\x20cannot\x20query\x20active\x20app\x20via\x20WDA.'};return this['screen']['getActiveAppInfo']();}['reset'](){const _0x579445=_0x1573e0;this['udid']=null,this[_0x579445(0x574)]=![],this[_0x579445(0x17f)]=0x0,this['devicectlAvailable']=null,this['idbAvailable']=null,this[_0x579445(0x260)]=null;}};}});import{spawn as _0x5b2a13}from'child_process';function _0x351854(_0x104f6d,_0x526c8c,_0x23a512={}){return new Promise(_0x2c645a=>{const _0x3e7903=_0xa6e1;let _0x478fa8='',_0x4e1aff='',_0x278bd3;try{_0x278bd3=_0x5b2a13(_0x104f6d,_0x526c8c,{'stdio':['ignore','pipe',_0x3e7903(0x1e3)]});}catch(_0x34994e){_0x2c645a({'code':0x7f,'stdout':'','stderr':_0x34994e instanceof Error?_0x34994e[_0x3e7903(0x2aa)]:String(_0x34994e)});return;}const _0x4c1ca3=setTimeout(()=>{try{_0x278bd3['kill']('SIGKILL');}catch{}},_0x23a512['timeoutMs']??0x1f40);_0x278bd3[_0x3e7903(0x376)]?.['on']('data',_0xb06b5e=>{const _0x4e77fb=_0x3e7903;if(_0x4e77fb(0x25d)!=='kbQOG')_0x478fa8+=_0xb06b5e['toString']();else{const _0x441435=_0x3a8e1f(_0x4d4cec[_0x4e77fb(0x554)](0x0,_0x5ee822));_0x474655=_0x441435,_0x28c622=_0x441435,_0xb84e8d=null,_0xfcf67a=null,_0x1bdd98=null,_0x3ae362=null,_0x180b1d=!![];}}),_0x278bd3['stderr']?.['on'](_0x3e7903(0x586),_0x36b1f2=>{const _0x247168=_0x3e7903;if('VpZiJ'===_0x247168(0x339))_0x4e1aff+=_0x36b1f2[_0x247168(0x360)]();else{_0x20bc0e=!![];if(_0x46d99e['isArray'](_0xe50325[_0x247168(0x4b1)])){for(const _0x1f8b12 of _0xfabef['workspaces'])_0x51cd73[_0x247168(0x3f7)](_0x1f8b12);}else{if(_0x68e5cd['workspaces']&&typeof _0x5b98bb['workspaces']==='object'&&_0x1c5a12[_0x247168(0x310)](_0x4f81d5['workspaces'][_0x247168(0x223)]))for(const _0x30c5fb of _0x3c61bc['workspaces']['packages']){_0x17ac8f['add'](_0x30c5fb);}}}});let _0x41341a=![];_0x278bd3['on']('error',_0x19881b=>{if(_0x41341a)return;_0x41341a=!![],clearTimeout(_0x4c1ca3),_0x2c645a({'code':0x7f,'stdout':_0x478fa8,'stderr':_0x4e1aff+(_0x19881b['message']??String(_0x19881b))});}),_0x278bd3['on']('exit',_0x5419cb=>{if(_0x41341a)return;_0x41341a=!![],clearTimeout(_0x4c1ca3),_0x2c645a({'code':_0x5419cb??0x1,'stdout':_0x478fa8,'stderr':_0x4e1aff});});});}function _0x2bba2(_0xd61934){const _0x239f21=_0xa6e1,_0x1e988e=(_0xd61934??'')[_0x239f21(0x531)]()['toLowerCase']();if(_0x1e988e==='device')return'device';if(_0x1e988e==='simulator'||_0x1e988e===_0x239f21(0x168))return'simulator';return'auto';}async function _0x18af60(){const _0xc8366b=_0xa6e1,_0x1f85fc=await _0x351854('xcrun',['simctl','list','devices','booted','-j']);if(_0x1f85fc['code']!==0x0)return[];try{const _0x5d684d=JSON[_0xc8366b(0x2ee)](_0x1f85fc[_0xc8366b(0x376)]),_0x3ad189=[],_0xcddd50=_0x5d684d['devices']??{};for(const [_0x2755b7,_0x242b66]of Object['entries'](_0xcddd50)){const _0x39342d=_0x2755b7['toLowerCase']()['includes'](_0xc8366b(0x331))||_0x2755b7['toLowerCase']()[_0xc8366b(0x3bb)]('iphone');if(!_0x39342d)continue;if(!Array['isArray'](_0x242b66))continue;for(const _0x323190 of _0x242b66){if('frTqH'===_0xc8366b(0x4a6))return;else{if(!_0x323190[_0xc8366b(0x1bd)])continue;if((_0x323190[_0xc8366b(0x1bb)]??'')[_0xc8366b(0x55a)]()!=='booted')continue;_0x3ad189[_0xc8366b(0x407)]({'udid':_0x323190['udid'],'name':_0x323190['name']??_0x323190['udid'],'runtime':_0x323190['runtime']??_0x2755b7});}}}return _0x3ad189;}catch{return[];}}function _0x5cf10f(_0x5d54b2){const _0x33fdb2=_0xa6e1;return _0x33fdb2(0x49e)+_0x5d54b2;}var _0x2f3432,_0x10193d,_0x1ed23b=_0x1b53f6({'src/target.ts'(){'use strict';const _0x26da4c=_0xa6e1;_0x2f3432=_0x26da4c(0x211),_0x10193d=class{['apps'];[_0x26da4c(0x372)];['cached']=null;['cachedAt']=0x0;['cacheTtlMs'];['inflight']=null;[_0x26da4c(0x19a)]=0x0;['simulatorWdaPort']=null;['simulatorWdaUdid']=null;['realDeviceHook']=null;[_0x26da4c(0x1ba)]=new Set();[_0x26da4c(0x577)]=new Map();[_0x26da4c(0x1f6)];constructor(_0x5ad399={}){const _0x211a61=_0x26da4c;this['apps']=_0x5ad399[_0x211a61(0x44e)]??null,this['readPreference']=_0x5ad399[_0x211a61(0x372)]??(()=>_0x2bba2(process.env.CERAPH_TARGET)),this[_0x211a61(0x502)]=_0x5ad399[_0x211a61(0x502)]??0x1388,this['listBooted']=_0x5ad399['listBooted']??_0x18af60;}['setAppLifecycle'](_0x5d61aa){const _0x50a900=_0x26da4c;this[_0x50a900(0x44e)]=_0x5d61aa,this[_0x50a900(0x33e)]=null,this['stateVersion']++;}['setSimulatorWdaPort'](_0x5abbef,_0x59588b){const _0x1ddda5=_0x26da4c;this['simulatorWdaPort']=_0x5abbef,this['simulatorWdaUdid']=_0x59588b,this[_0x1ddda5(0x33e)]=null,this['stateVersion']++;}[_0x26da4c(0x21e)](){const _0x58d858=_0x26da4c;this[_0x58d858(0x286)]=null,this['simulatorWdaUdid']=null,this[_0x58d858(0x33e)]=null,this[_0x58d858(0x19a)]++;}[_0x26da4c(0x226)](){const _0x2a4f5c=_0x26da4c;return this[_0x2a4f5c(0x286)];}['getSimulatorWdaUdid'](){return this['simulatorWdaUdid'];}[_0x26da4c(0x1a8)](){this['cached']=null,this['stateVersion']++;}[_0x26da4c(0x30f)](_0x3a5595){const _0x361aa4=_0x26da4c;if('AidWt'==='krHoN')'use strict';else this[_0x361aa4(0x306)]=_0x3a5595;}async['getBaseUrl'](){const _0x5db367=await this['resolve']();return _0x5db367['baseUrl'];}async['getTarget'](){const _0x428021=await this['resolve']();return _0x428021['target'];}async[_0x26da4c(0x3f8)](){const _0x815f7d=_0x26da4c;if(_0x815f7d(0x15e)==='ZOqli'){if(this[_0x815f7d(0x33e)]&&this['cacheTtlMs']>0x0&&Date[_0x815f7d(0x1ec)]()-this[_0x815f7d(0x48c)]<this['cacheTtlMs'])return this['cached'];if(this[_0x815f7d(0x1f5)])return this['inflight'];const _0x4f3ad0=this[_0x815f7d(0x19a)],_0x349e36=((async()=>{const _0x3a3618=_0x815f7d,_0xb9318a=this['readPreference']();if(_0xb9318a===_0x3a3618(0x2c0)){const _0x3705a0=await this['apps']?.[_0x3a3618(0x39c)]()??null;return{'target':_0x3a3618(0x2c0),'udid':_0x3705a0,'baseUrl':_0x2f3432,'wdaReady':!![],'reason':'env-override-device'};}if(_0xb9318a==='simulator'){const _0x158c19=await this[_0x3a3618(0x1f6)](),_0x318caf=this[_0x3a3618(0x1bf)]?_0x158c19[_0x3a3618(0x320)](_0x5b0a53=>_0x5b0a53['udid']===this[_0x3a3618(0x1bf)])??_0x158c19[0x0]:_0x158c19[0x0],_0xb9c228=_0x318caf?.['udid']??this['simulatorWdaUdid']??null,_0x406fa6=this[_0x3a3618(0x1bf)]!==null&&_0x158c19[_0x3a3618(0x179)](_0x52a238=>_0x52a238[_0x3a3618(0x1bd)]===this[_0x3a3618(0x1bf)]),_0xae0d3e=this[_0x3a3618(0x286)]!==null&&this['simulatorWdaUdid']!==null&&_0x406fa6&&_0xb9c228===this[_0x3a3618(0x1bf)];return{'target':_0x3a3618(0x44c),'udid':_0xb9c228,'baseUrl':_0xae0d3e?_0x5cf10f(this[_0x3a3618(0x286)]):_0x2f3432,'wdaReady':_0xae0d3e,'reason':_0x3a3618(0x22a)};}const [_0x38a356,_0x5920df]=await Promise['all']([this[_0x3a3618(0x44e)]?.['getUdid']()??Promise[_0x3a3618(0x3f8)](null),this[_0x3a3618(0x1f6)]()]);if(_0x38a356)return{'target':'device','udid':_0x38a356,'baseUrl':_0x2f3432,'wdaReady':!![],'reason':'auto-prefer-device'};if(_0x5920df[_0x3a3618(0x358)]>0x0){const _0x4316d8=this[_0x3a3618(0x1bf)]?_0x5920df['find'](_0xf75ef2=>_0xf75ef2['udid']===this['simulatorWdaUdid'])??_0x5920df[0x0]:_0x5920df[0x0],_0x961d37=this[_0x3a3618(0x1bf)]!==null&&_0x5920df['some'](_0x1f506d=>_0x1f506d['udid']===this['simulatorWdaUdid']),_0x6b1d86=this['simulatorWdaPort']!==null&&this['simulatorWdaUdid']!==null&&_0x961d37&&_0x4316d8['udid']===this['simulatorWdaUdid'];return{'target':'simulator','udid':_0x4316d8[_0x3a3618(0x1bd)],'baseUrl':_0x6b1d86?_0x5cf10f(this['simulatorWdaPort']):_0x2f3432,'wdaReady':_0x6b1d86,'reason':'auto-only-simulator'};}return{'target':_0x3a3618(0x2c0),'udid':null,'baseUrl':_0x2f3432,'wdaReady':!![],'reason':'auto-no-target-found'};})());this[_0x815f7d(0x1f5)]=_0x349e36;try{const _0x23ce0a=await _0x349e36;this[_0x815f7d(0x19a)]===_0x4f3ad0&&(this[_0x815f7d(0x33e)]=_0x23ce0a,this[_0x815f7d(0x48c)]=Date['now']());if(this['realDeviceHook']&&_0x23ce0a['target']==='device'&&_0x23ce0a['udid']&&!this[_0x815f7d(0x1ba)][_0x815f7d(0x3b6)](_0x23ce0a['udid'])&&!this['realDeviceHookInflight'][_0x815f7d(0x3b6)](_0x23ce0a[_0x815f7d(0x1bd)])){const _0x208bb1=_0x23ce0a['udid'];this['realDeviceHookFiredFor']['add'](_0x208bb1);const _0xc1403f=Promise['resolve']()[_0x815f7d(0x298)](()=>this[_0x815f7d(0x306)]?.(_0x23ce0a))[_0x815f7d(0x3e8)](()=>{})['finally'](()=>{const _0x3f837f=_0x815f7d;this[_0x3f837f(0x577)]['delete'](_0x208bb1);});this['realDeviceHookInflight'][_0x815f7d(0x293)](_0x208bb1,_0xc1403f);}return _0x23ce0a;}finally{this['inflight']=null;}}else return{'success':![],'matchCount':_0x199158['matchCount'],'error':_0x197efa['error']??'No\x20element\x20found\x20matching\x20'+_0x513d7c[_0x815f7d(0x278)](_0x198c3c)};}async['__awaitRealDeviceHookForTests'](_0x4971dc){const _0x4324df=_0x26da4c,_0x14fb6f=this[_0x4324df(0x577)]['get'](_0x4971dc);if(_0x14fb6f)await _0x14fb6f;}[_0x26da4c(0x39e)](){const _0x58a6c0=_0x26da4c;this[_0x58a6c0(0x33e)]=null,this[_0x58a6c0(0x1f5)]=null,this[_0x58a6c0(0x286)]=null,this[_0x58a6c0(0x1bf)]=null,this[_0x58a6c0(0x1ba)][_0x58a6c0(0x544)](),this[_0x58a6c0(0x577)][_0x58a6c0(0x544)](),this['stateVersion']++;}};}}),_0x1d83d4,_0x226263,_0x48ae99=_0x1b53f6({'src/screen.ts'(){'use strict';const _0x58a562=_0xa6e1;_0x1ed23b(),_0x1d83d4=0x1388,_0x226263=class{[_0x58a562(0x21b)]=null;[_0x58a562(0x54a)]=null;[_0x58a562(0x29f)];['sessionBaseUrl']=null;[_0x58a562(0x36d)]=null;constructor(_0x589d0d={}){const _0x36e380=_0x58a562;this[_0x36e380(0x29f)]=_0x589d0d['targetResolver']??new _0x10193d();}async['tapAtPoint'](_0x49bcbb,_0x43b783,_0x550ffe){const _0x3298dc=_0x58a562;if(this[_0x3298dc(0x36d)]!=='legacy'){const _0x1cfabe=await this['sendW3CActions'](_0x49bcbb,[{'type':'pointer','id':_0x3298dc(0x418),'parameters':{'pointerType':_0x3298dc(0x406)},'actions':this['buildTapPointerActions'](_0x43b783,_0x550ffe)}]);if(_0x1cfabe)return _0x3298dc(0x4ea)!=='OucLs'?(this['tapTransport']=_0x3298dc(0x1ac),{'ok':!![]}):![];if(this['tapTransport']==='actions')return{'ok':![],'error':_0x3298dc(0x4ba)};}const _0x152468=await this[_0x3298dc(0x427)]('/session/'+_0x49bcbb+_0x3298dc(0x1c6),{'method':'POST','body':JSON[_0x3298dc(0x278)]({'x':_0x43b783,'y':_0x550ffe})});if(_0x152468['ok'])return this[_0x3298dc(0x36d)]='legacy',{'ok':!![]};const _0x5b43b9=await _0x152468[_0x3298dc(0x48a)]()['catch'](()=>_0x3298dc(0x548));return{'ok':![],'error':'WDA\x20tap\x20failed:\x20/actions\x20rejected\x20the\x20tap\x20and\x20legacy\x20/wda/tap/0\x20returned\x20'+_0x152468['status']+'\x20'+_0x5b43b9};}async[_0x58a562(0x4fb)](){const _0x5da77a=_0x58a562;try{const _0x4c6c40=await this[_0x5da77a(0x29f)]['resolve']();return{'baseUrl':_0x4c6c40[_0x5da77a(0x4ab)],'ready':_0x4c6c40[_0x5da77a(0x4d3)]};}catch{return{'baseUrl':_0x2f3432,'ready':!![]};}}async[_0x58a562(0x2b0)](_0x4540ce,_0x52ab0c,_0x42932b={},_0x25df73=_0x1d83d4){const _0x27d630=_0x58a562,_0x301a21=''+_0x4540ce+_0x52ab0c,_0x320b78=new AbortController(),_0x11937a=setTimeout(()=>_0x320b78['abort'](),_0x25df73);try{const _0x5cbbff=await fetch(_0x301a21,{..._0x42932b,'signal':_0x320b78['signal'],'headers':{'Content-Type':'application/json',..._0x42932b[_0x27d630(0x1fe)]}});return _0x5cbbff;}finally{clearTimeout(_0x11937a);}}async['wdaFetch'](_0x41ff73,_0x28423f={},_0x16d69b=_0x1d83d4){const _0x183fd1=_0x58a562,_0x4142a5=await this[_0x183fd1(0x4fb)]();if(!_0x4142a5[_0x183fd1(0x2bb)]){if(_0x183fd1(0x3ad)===_0x183fd1(0x3ad))throw new Error('WDA\x20unavailable\x20—\x20call\x20rn_wda_start\x20first\x20if\x20testing\x20on\x20a\x20simulator.');else return{'success':![],'transport':'idb','error':_0x183fd1(0x356)+(_0x3267f6[_0x183fd1(0x461)]||_0xfd92ee['stdout'])['trim']()};}const _0x3b6416=this['sessionBaseUrl']??_0x4142a5[_0x183fd1(0x4ab)];return this[_0x183fd1(0x2b0)](_0x3b6416,_0x41ff73,_0x28423f,_0x16d69b);}async['currentBaseUrl'](){const _0x53fa95=_0x58a562;if(this['sessionBaseUrl'])return this['sessionBaseUrl'];const _0x5c8746=await this[_0x53fa95(0x4fb)]();return _0x5c8746[_0x53fa95(0x4ab)];}async['isAvailable'](){const _0x386b11=_0x58a562,_0x355d8b=await this['snapshotTarget']();if(!_0x355d8b[_0x386b11(0x2bb)])return![];try{const _0xd39bc1=await this['wdaFetchAt'](_0x355d8b[_0x386b11(0x4ab)],_0x386b11(0x2d9));return _0xd39bc1['ok'];}catch{return![];}}async['ensureSession'](){const _0x3ebeaa=_0x58a562,_0x4e4666=await this['snapshotTarget']();if(!_0x4e4666[_0x3ebeaa(0x2bb)])throw new Error('WDA\x20unavailable\x20—\x20call\x20rn_wda_start\x20first\x20if\x20testing\x20on\x20a\x20simulator.');const _0x196296=_0x4e4666['baseUrl'];this[_0x3ebeaa(0x58e)]&&this['sessionBaseUrl']!==_0x196296&&(this[_0x3ebeaa(0x21b)]=null,this['pixelRatio']=null);this[_0x3ebeaa(0x58e)]=_0x196296;if(this[_0x3ebeaa(0x21b)]){try{const _0x599392=await this[_0x3ebeaa(0x2b0)](_0x196296,'/session/'+this[_0x3ebeaa(0x21b)]);if(_0x599392['ok'])return this[_0x3ebeaa(0x21b)];}catch{}this['sessionId']=null;}try{const _0x109173=await this[_0x3ebeaa(0x2b0)](_0x196296,_0x3ebeaa(0x2d9));if(_0x109173['ok']){const _0x1bc093=await _0x109173['json'](),_0x13102f=_0x1bc093['sessionId']||_0x1bc093[_0x3ebeaa(0x267)]?.[_0x3ebeaa(0x21b)];if(_0x13102f)return this['sessionId']=_0x13102f,_0x13102f;}}catch{}const _0x5143dc=await this['wdaFetchAt'](_0x196296,_0x3ebeaa(0x52e),{'method':_0x3ebeaa(0x3ba),'body':JSON[_0x3ebeaa(0x278)]({'capabilities':{'alwaysMatch':{}}})});if(!_0x5143dc['ok']){const _0x2bdb64=await _0x5143dc[_0x3ebeaa(0x48a)]()[_0x3ebeaa(0x3e8)](()=>'unknown\x20error');throw new Error(_0x3ebeaa(0x513)+_0x5143dc['status']+'\x20'+_0x2bdb64);}const _0xa18f29=await _0x5143dc['json'](),_0x3ed332=_0xa18f29['sessionId']||_0xa18f29['value']?.['sessionId'];if(!_0x3ed332){if('YzWGX'==='NzvsC')return{'registered':[],'registryPath':_0x44e71f,'writtenOrUnchanged':_0x3ebeaa(0x50b)};else throw new Error(_0x3ebeaa(0x536));}return this[_0x3ebeaa(0x21b)]=_0x3ed332,_0x3ed332;}async[_0x58a562(0x27d)](){const _0x3a878d=_0x58a562;if(this[_0x3a878d(0x54a)])return this[_0x3a878d(0x54a)];const _0x36ffec=await this['ensureSession'](),_0x3b03e2=await this['wdaFetch'](_0x3a878d(0x349)+_0x36ffec+_0x3a878d(0x3cd));if(!_0x3b03e2['ok'])throw new Error(_0x3a878d(0x453)+_0x3b03e2[_0x3a878d(0x17a)]);const _0xa28ce2=await _0x3b03e2[_0x3a878d(0x21a)](),_0xd44e5e=_0xa28ce2['value'][_0x3a878d(0x1f9)],_0x1bdf37=await this[_0x3a878d(0x427)](_0x3a878d(0x349)+_0x36ffec+'/screenshot');if(!_0x1bdf37['ok'])return this['pixelRatio']=0x3,this['pixelRatio'];const _0xe2119c=await _0x1bdf37[_0x3a878d(0x21a)](),_0x242b4a=_0xe2119c[_0x3a878d(0x267)],_0x401ced=Buffer['from'](_0x242b4a,_0x3a878d(0x229));if(_0x401ced['length']<0x18)return this['pixelRatio']=0x3,this['pixelRatio'];const _0x39a3ec=_0x401ced[_0x3a878d(0x584)](0x10);return this['pixelRatio']=Math[_0x3a878d(0x1f3)](_0x39a3ec/_0xd44e5e),(this['pixelRatio']<0x1||this[_0x3a878d(0x54a)]>0x4)&&(this[_0x3a878d(0x54a)]=0x3),this[_0x3a878d(0x54a)];}async['getWindowSize'](){const _0x1bd641=_0x58a562,_0x3cb3f2=await this[_0x1bd641(0x17e)](),_0x30c18e=await this[_0x1bd641(0x427)](_0x1bd641(0x349)+_0x3cb3f2+'/window/size');if(!_0x30c18e['ok']){if(_0x1bd641(0x291)===_0x1bd641(0x291))throw new Error('Failed\x20to\x20get\x20window\x20size:\x20'+_0x30c18e['status']);else{if(!_0x2574a4[_0x1bd641(0x1be)]||typeof _0x42d233['githubUser']!=='object')return![];const _0x14d982=_0x1c20f7[_0x1bd641(0x1be)];if(typeof _0x14d982[_0x1bd641(0x51d)]!==_0x1bd641(0x2c6)||typeof _0x14d982['id']!=='number')return![];}}const _0x57547c=await _0x30c18e[_0x1bd641(0x21a)]();return _0x57547c[_0x1bd641(0x267)];}async[_0x58a562(0x214)](_0x116ae3,_0x4f47f5,_0x4a4475=!![]){const _0x27d1b5=_0x58a562;try{const _0x4003b0=await this[_0x27d1b5(0x17e)](),_0x1cd963=await this[_0x27d1b5(0x27d)](),_0x1bd4d0=_0x4a4475?_0x116ae3/_0x1cd963:_0x116ae3,_0x2e49db=_0x4a4475?_0x4f47f5/_0x1cd963:_0x4f47f5,_0x6ad1bc=await this['tapAtPoint'](_0x4003b0,_0x1bd4d0,_0x2e49db);if(!_0x6ad1bc['ok'])return{'success':![],'tappedAt':{'x':_0x1bd4d0,'y':_0x2e49db},'pixelRatio':_0x1cd963,'correction':_0x4a4475?_0x27d1b5(0x56e)+_0x1cd963+_0x27d1b5(0x20d)+_0x116ae3+','+_0x4f47f5+_0x27d1b5(0x535)+_0x1bd4d0[_0x27d1b5(0x297)](0x1)+','+_0x2e49db[_0x27d1b5(0x297)](0x1)+')':_0x27d1b5(0x446),'error':_0x6ad1bc[_0x27d1b5(0x48f)]??_0x27d1b5(0x4c9)};return{'success':!![],'tappedAt':{'x':_0x1bd4d0,'y':_0x2e49db},'pixelRatio':_0x1cd963,'correction':_0x4a4475?'Divided\x20by\x20'+_0x1cd963+'x:\x20('+_0x116ae3+','+_0x4f47f5+_0x27d1b5(0x535)+_0x1bd4d0['toFixed'](0x1)+','+_0x2e49db[_0x27d1b5(0x297)](0x1)+')':'No\x20correction\x20(device\x20coordinates)'};}catch(_0x28eca0){return{'success':![],'tappedAt':{'x':_0x116ae3,'y':_0x4f47f5},'pixelRatio':this[_0x27d1b5(0x54a)]??0x0,'correction':'Failed\x20before\x20correction\x20could\x20be\x20applied','error':_0x28eca0 instanceof Error?_0x28eca0['message']:'Unknown\x20error\x20during\x20tap'};}}async[_0x58a562(0x4fc)](_0x2fcbc5){const _0x18e40=_0x58a562;try{const _0x298f4b=await this['ensureSession'](),_0x4b3470=await this['wdaFetch']('/session/'+_0x298f4b+'/source?format=json');if(!_0x4b3470['ok'])return{'success':![],'error':_0x18e40(0x589)+_0x4b3470['status']};const _0x1c6937=await _0x4b3470['json'](),_0x184fc5=_0x1c6937['value'],_0xf03f5e=this[_0x18e40(0x440)](_0x184fc5,_0x2fcbc5);if(_0xf03f5e[_0x18e40(0x358)]===0x0){const _0x20d0eb=this[_0x18e40(0x4f5)](_0x184fc5,0x32);return{'success':![],'matchCount':0x0,'availableElements':_0x20d0eb,'error':_0x18e40(0x323)+JSON[_0x18e40(0x278)](_0x2fcbc5)};}const _0x50e5bb=_0x2fcbc5['index']??0x0;if(_0x50e5bb>=_0xf03f5e['length'])return{'success':![],'matchCount':_0xf03f5e['length'],'error':'Index\x20'+_0x50e5bb+'\x20out\x20of\x20range.\x20Found\x20'+_0xf03f5e[_0x18e40(0x358)]+'\x20matching\x20element(s).','availableElements':_0xf03f5e['map'](_0x1f1e0d=>({'type':_0x1f1e0d[_0x18e40(0x3ca)]??'unknown','label':_0x1f1e0d[_0x18e40(0x47c)]??'','text':String(_0x1f1e0d['value']??_0x1f1e0d[_0x18e40(0x47c)]??'')}))};const _0x255528=_0xf03f5e[_0x50e5bb],_0x5313c6=_0x255528[_0x18e40(0x32e)];if(!_0x5313c6){if('oBeFr'==='gDliF')_0x149789[_0x18e40(0x407)]({'path':_0x206b3e,'status':_0x18e40(0x4af)});else return{'success':![],'matchCount':_0xf03f5e['length'],'error':'Matched\x20element\x20has\x20no\x20bounds/rect\x20information.'};}const _0x536dde=_0x5313c6['x']+_0x5313c6['width']/0x2,_0x262d14=_0x5313c6['y']+_0x5313c6[_0x18e40(0x221)]/0x2,_0xc75c16=await this['tapAtPoint'](_0x298f4b,_0x536dde,_0x262d14);if(!_0xc75c16['ok'])return _0x18e40(0x270)!==_0x18e40(0x270)?{'result':{'success':![],'error':_0x29f93d instanceof _0x2b6058?_0x1d3dcf['message']:'Unknown\x20error\x20during\x20findAndTapReturningTree'},'tree':null}:{'success':![],'matchCount':_0xf03f5e['length'],'error':_0xc75c16['error']??_0x18e40(0x4c9),'element':{'type':_0x255528['type']??_0x18e40(0x548),'label':_0x255528[_0x18e40(0x47c)]??_0x255528['name']??'','bounds':_0x5313c6},'tappedAt':{'x':_0x536dde,'y':_0x262d14}};return{'success':!![],'matchCount':_0xf03f5e['length'],'element':{'type':_0x255528['type']??_0x18e40(0x548),'label':_0x255528['label']??_0x255528[_0x18e40(0x273)]??'','bounds':_0x5313c6},'tappedAt':{'x':_0x536dde,'y':_0x262d14}};}catch(_0x40356e){return{'success':![],'error':_0x40356e instanceof Error?_0x40356e[_0x18e40(0x2aa)]:'Unknown\x20error\x20during\x20findAndTap'};}}async[_0x58a562(0x18f)](_0x2066b2){const _0x166144=_0x58a562;try{if('gYslw'!=='SnYzN'){const _0x474255=await this['ensureSession'](),_0x1266d3=await this[_0x166144(0x427)]('/session/'+_0x474255+'/source?format=json');if(!_0x1266d3['ok'])return{'success':![],'error':'Failed\x20to\x20get\x20element\x20tree:\x20'+_0x1266d3[_0x166144(0x17a)]};const _0x2cf4cd=await _0x1266d3[_0x166144(0x21a)](),_0x38a940=this['searchElements'](_0x2cf4cd[_0x166144(0x267)],_0x2066b2);if(_0x38a940['length']===0x0)return{'success':![],'matchCount':0x0};const _0x490f85=_0x2066b2['index']??0x0;if(_0x490f85>=_0x38a940['length'])return{'success':![],'matchCount':_0x38a940[_0x166144(0x358)]};return{'success':!![],'element':_0x38a940[_0x490f85],'matchCount':_0x38a940[_0x166144(0x358)]};}else{const _0x5c0bc8=_0x4bb7a0['getElements']()[0x0];return!!_0x5c0bc8&&_0x5aea02(_0x5c0bc8,_0x2fd7fc);}}catch(_0x1dfede){return{'success':![],'error':_0x1dfede instanceof Error?_0x1dfede['message']:'Unknown\x20error\x20during\x20findElement'};}}async['swipe'](_0x2d9f63){const _0x4474b1=_0x58a562;try{if(_0x4474b1(0x3ce)==='KdYOW'){const _0x54f7dc=await this['ensureSession'](),_0x1fcacb=await this[_0x4474b1(0x334)](),_0x5883d9=await this['getPixelRatio'](),_0x30db43=(_0x2d9f63[_0x4474b1(0x465)]??_0x4474b1(0x2c0))===_0x4474b1(0x370);let _0x475932=_0x2d9f63[_0x4474b1(0x3d3)]?.['x']??_0x1fcacb[_0x4474b1(0x1f9)]/0x2,_0x4f79b9=_0x2d9f63['from']?.['y']??_0x1fcacb[_0x4474b1(0x221)]/0x2;_0x30db43&&(_0x475932=_0x475932/_0x5883d9,_0x4f79b9=_0x4f79b9/_0x5883d9);const _0x26d30f=_0x2d9f63[_0x4474b1(0x4f6)]==='up'||_0x2d9f63[_0x4474b1(0x4f6)]===_0x4474b1(0x3a4)?_0x1fcacb['height']:_0x1fcacb[_0x4474b1(0x1f9)],_0x3012b6=_0x2d9f63['distancePx']??Math['floor'](_0x26d30f*0.6);let _0x40e623=_0x475932,_0x5a883b=_0x4f79b9;switch(_0x2d9f63[_0x4474b1(0x4f6)]){case'up':_0x5a883b=_0x4f79b9-_0x3012b6;break;case'down':_0x5a883b=_0x4f79b9+_0x3012b6;break;case _0x4474b1(0x174):_0x40e623=_0x475932-_0x3012b6;break;case _0x4474b1(0x3f3):_0x40e623=_0x475932+_0x3012b6;break;}_0x40e623=Math[_0x4474b1(0x241)](0x0,Math[_0x4474b1(0x595)](_0x1fcacb[_0x4474b1(0x1f9)]-0x1,_0x40e623)),_0x5a883b=Math[_0x4474b1(0x241)](0x0,Math['min'](_0x1fcacb['height']-0x1,_0x5a883b)),_0x475932=Math['max'](0x0,Math[_0x4474b1(0x595)](_0x1fcacb[_0x4474b1(0x1f9)]-0x1,_0x475932)),_0x4f79b9=Math['max'](0x0,Math[_0x4474b1(0x595)](_0x1fcacb[_0x4474b1(0x221)]-0x1,_0x4f79b9));const _0x429ae0=_0x2d9f63[_0x4474b1(0x3a7)]??0x12c,_0x23bf1e=await this[_0x4474b1(0x427)]('/session/'+_0x54f7dc+'/wda/dragfromtoforduration',{'method':'POST','body':JSON['stringify']({'fromX':_0x475932,'fromY':_0x4f79b9,'toX':_0x40e623,'toY':_0x5a883b,'duration':_0x429ae0/0x3e8})});if(!_0x23bf1e['ok']){const _0x3c7013=await _0x23bf1e[_0x4474b1(0x48a)]()[_0x4474b1(0x3e8)](()=>_0x4474b1(0x548));return{'success':![],'from':{'x':_0x475932,'y':_0x4f79b9},'to':{'x':_0x40e623,'y':_0x5a883b},'durationMs':_0x429ae0,'error':_0x4474b1(0x1b6)+_0x23bf1e['status']+'\x20'+_0x3c7013};}return{'success':!![],'from':{'x':_0x475932,'y':_0x4f79b9},'to':{'x':_0x40e623,'y':_0x5a883b},'durationMs':_0x429ae0};}else _0x4a0016(_0x4a4411);}catch(_0x3ddff1){return{'success':![],'from':{'x':0x0,'y':0x0},'to':{'x':0x0,'y':0x0},'durationMs':_0x2d9f63[_0x4474b1(0x3a7)]??0x12c,'error':_0x3ddff1 instanceof Error?_0x3ddff1['message']:'Unknown\x20error\x20during\x20swipe'};}}async['scrollToElement'](_0x1392de,_0x3d22a1={}){const _0x408b20=_0x58a562,_0x32c08c=_0x3d22a1['maxSwipes']??0xa,_0x29bf31=_0x3d22a1['direction']??'up';let _0xb4b12f=void 0x0;for(let _0x5a498b=0x0;_0x5a498b<=_0x32c08c;_0x5a498b++){const _0x4a4245=await this['findElement'](_0x1392de);if(_0x4a4245[_0x408b20(0x197)]&&_0x4a4245[_0x408b20(0x432)]?.['rect'])return _0x408b20(0x23f)!=='yDIxe'?(_0x25ae5f(_0x46ea65+_0x408b20(0x4eb)+_0x4a4604+_0x408b20(0x538)+(_0x5cef20[_0x408b20(0x310)](_0x25c2cd)?_0x408b20(0x247):typeof _0x40d949)+')\x20—\x20preserving\x20the\x20file.'),![]):{'success':!![],'swipes':_0x5a498b,'element':{'type':_0x4a4245['element']['type']??'unknown','label':_0x4a4245['element']['label']??_0x4a4245[_0x408b20(0x432)][_0x408b20(0x273)]??'','bounds':_0x4a4245['element'][_0x408b20(0x32e)]}};_0x4a4245['matchCount']!==void 0x0&&(_0xb4b12f=_0xb4b12f===void 0x0?_0x4a4245[_0x408b20(0x16d)]:Math[_0x408b20(0x241)](_0xb4b12f,_0x4a4245['matchCount']));if(_0x5a498b===_0x32c08c)break;const _0x59e099=await this[_0x408b20(0x350)]({'direction':_0x29bf31,'distancePx':_0x3d22a1['distancePx']});if(!_0x59e099[_0x408b20(0x197)])return{'success':![],'swipes':_0x5a498b,'error':_0x59e099['error']??'Swipe\x20failed\x20during\x20scrollToElement'};}return{'success':![],'swipes':_0x32c08c,'matchCount':_0xb4b12f,'error':_0x408b20(0x421)+_0x32c08c+_0x408b20(0x1d5)+JSON[_0x408b20(0x278)](_0x1392de)};}async['longPress'](_0x5b7b2a,_0x59decd,_0x1ea463=0x3e8,_0x31c10a=![]){const _0x2aaa8e=_0x58a562;try{const _0x19c54d=await this[_0x2aaa8e(0x17e)]();let _0x27796b=_0x5b7b2a,_0x501498=_0x59decd;if(_0x31c10a){const _0x46194c=await this[_0x2aaa8e(0x27d)]();_0x27796b=_0x5b7b2a/_0x46194c,_0x501498=_0x59decd/_0x46194c;}const _0x518c89=await this['wdaFetch']('/session/'+_0x19c54d+_0x2aaa8e(0x1bc),{'method':'POST','body':JSON['stringify']({'x':_0x27796b,'y':_0x501498,'duration':_0x1ea463/0x3e8})});if(!_0x518c89['ok']){const _0x4546ed=await _0x518c89['text']()[_0x2aaa8e(0x3e8)](()=>_0x2aaa8e(0x548));return{'success':![],'error':_0x2aaa8e(0x585)+_0x518c89[_0x2aaa8e(0x17a)]+'\x20'+_0x4546ed};}return{'success':!![],'details':{'x':_0x27796b,'y':_0x501498,'durationMs':_0x1ea463}};}catch(_0x4e532c){return{'success':![],'error':_0x4e532c instanceof Error?_0x4e532c['message']:'Unknown\x20error\x20during\x20longPress'};}}async[_0x58a562(0x398)](_0x18a624,_0x15ca33=0x3e8){const _0x1defdb=_0x58a562,_0x37e5b9=await this[_0x1defdb(0x18f)](_0x18a624);if(!_0x37e5b9[_0x1defdb(0x197)]||!_0x37e5b9[_0x1defdb(0x432)]?.['rect'])return{'success':![],'matchCount':_0x37e5b9[_0x1defdb(0x16d)],'error':_0x37e5b9['error']??'No\x20element\x20found\x20matching\x20'+JSON['stringify'](_0x18a624)};const _0x50386a=_0x37e5b9[_0x1defdb(0x432)][_0x1defdb(0x32e)],_0x2174d7=_0x50386a['x']+_0x50386a[_0x1defdb(0x1f9)]/0x2,_0x33126e=_0x50386a['y']+_0x50386a[_0x1defdb(0x221)]/0x2,_0x209ff5=await this['longPress'](_0x2174d7,_0x33126e,_0x15ca33,![]);return{..._0x209ff5,'matchCount':_0x37e5b9[_0x1defdb(0x16d)],'element':{'type':_0x37e5b9['element'][_0x1defdb(0x3ca)]??_0x1defdb(0x548),'label':_0x37e5b9['element']['label']??_0x37e5b9[_0x1defdb(0x432)][_0x1defdb(0x273)]??'','bounds':_0x50386a}};}async['type'](_0x1faa16,_0x498105={}){const _0x1133a8=_0x58a562;try{const _0x44fc84=await this['ensureSession'](),_0x1cec06=Array['from'](_0x1faa16),_0x46ac0d=await this['wdaFetch'](_0x1133a8(0x349)+_0x44fc84+_0x1133a8(0x3d9),{'method':_0x1133a8(0x3ba),'body':JSON[_0x1133a8(0x278)]({'value':_0x1cec06})});if(!_0x46ac0d['ok']){const _0x455180=await _0x46ac0d['text']()[_0x1133a8(0x3e8)](()=>'unknown');return{'success':![],'error':'WDA\x20keys\x20failed:\x20'+_0x46ac0d['status']+'\x20'+_0x455180};}if(_0x498105[_0x1133a8(0x28a)]){if('pIVYW'!==_0x1133a8(0x32c))return{'name':_0x1133a8(0x1ee),'status':_0x1133a8(0x48f),'details':{'error':_0x43329a(_0x41e4c2),..._0x4bb8b7?{'dryRun':!![]}:{}}};else await this[_0x1133a8(0x427)](_0x1133a8(0x349)+_0x44fc84+'/wda/keys',{'method':'POST','body':JSON['stringify']({'value':['\x0a']})})[_0x1133a8(0x3e8)](()=>void 0x0);}return{'success':!![]};}catch(_0x10c548){return{'success':![],'error':_0x10c548 instanceof Error?_0x10c548[_0x1133a8(0x2aa)]:'Unknown\x20error\x20during\x20type'};}}async[_0x58a562(0x2b3)](_0x1bce24){const _0x1145ae=_0x58a562;try{const _0x1087de=await this[_0x1145ae(0x18f)](_0x1bce24);if(!_0x1087de['success']||!_0x1087de[_0x1145ae(0x432)]?.[_0x1145ae(0x32e)])return{'success':![],'error':_0x1087de[_0x1145ae(0x48f)]??'No\x20element\x20found\x20matching\x20'+JSON['stringify'](_0x1bce24)};const _0x3517ed=_0x1087de[_0x1145ae(0x432)]['rect'],_0x4edafa=String(_0x1087de['element']['value']??'');if(_0x4edafa[_0x1145ae(0x358)]===0x0)return{'success':!![]};const _0x116c0f=await this[_0x1145ae(0x214)](_0x3517ed['x']+_0x3517ed['width']/0x2,_0x3517ed['y']+_0x3517ed['height']/0x2,![]);if(!_0x116c0f[_0x1145ae(0x197)])return{'success':![],'error':_0x116c0f['error']??'Failed\x20to\x20focus\x20element\x20before\x20clearing'};const _0x5bd309=new Array(_0x4edafa['length'])['fill'](''),_0x2ee6ef=await this[_0x1145ae(0x17e)](),_0x52ceb8=await this['wdaFetch']('/session/'+_0x2ee6ef+'/wda/keys',{'method':'POST','body':JSON['stringify']({'value':_0x5bd309})});if(!_0x52ceb8['ok']){const _0x2b13da=await _0x52ceb8['text']()['catch'](()=>'unknown');return{'success':![],'error':_0x1145ae(0x420)+_0x52ceb8['status']+'\x20'+_0x2b13da};}return{'success':!![],'details':{'cleared':_0x4edafa['length']}};}catch(_0x96ce04){if(_0x1145ae(0x569)===_0x1145ae(0x569))return{'success':![],'error':_0x96ce04 instanceof Error?_0x96ce04[_0x1145ae(0x2aa)]:_0x1145ae(0x410)};else _0x223186[_0x1145ae(0x407)](_0x5342a1[_0x1145ae(0x2d0)]);}}async[_0x58a562(0x2c7)](_0x5e7e0b){const _0x1ff466=_0x58a562;try{const _0x27ca2a=await this[_0x1ff466(0x17e)]();if(_0x5e7e0b==='lock'){const _0x14c8ba=await this[_0x1ff466(0x427)]('/session/'+_0x27ca2a+'/wda/lock',{'method':'POST','body':JSON[_0x1ff466(0x278)]({})});if(!_0x14c8ba['ok']){const _0x3900e5=await _0x14c8ba[_0x1ff466(0x48a)]()['catch'](()=>'unknown');return{'success':![],'error':'WDA\x20lock\x20failed:\x20'+_0x14c8ba[_0x1ff466(0x17a)]+'\x20'+_0x3900e5};}return{'success':!![]};}if(_0x5e7e0b===_0x1ff466(0x1ae)){if(_0x1ff466(0x4b5)!==_0x1ff466(0x516))return await this['_systemBack']();else try{const _0x48af62=_0x27377a(import.meta.url),_0x58f8b8=_0x48af62(_0x1ff466(0x414));return _0x58f8b8[_0x1ff466(0x483)]??_0x1ff466(0x1d8);}catch{return'0.0.0';}}if(_0x5e7e0b!==_0x1ff466(0x45d)&&_0x5e7e0b!==_0x1ff466(0x43e)&&_0x5e7e0b!==_0x1ff466(0x1ab))return{'success':![],'error':_0x1ff466(0x31c)+String(_0x5e7e0b)};const _0x1640c8=_0x5e7e0b==='home'?_0x1ff466(0x45d):_0x5e7e0b===_0x1ff466(0x43e)?'volumeup':'volumedown',_0x41ac25=await this[_0x1ff466(0x427)](_0x1ff466(0x349)+_0x27ca2a+_0x1ff466(0x3db),{'method':'POST','body':JSON[_0x1ff466(0x278)]({'name':_0x1640c8})});if(!_0x41ac25['ok']){const _0x284a2d=await _0x41ac25['text']()['catch'](()=>_0x1ff466(0x548));return{'success':![],'error':_0x1ff466(0x208)+_0x41ac25[_0x1ff466(0x17a)]+'\x20'+_0x284a2d};}return{'success':!![]};}catch(_0x1c3c8d){return{'success':![],'error':_0x1c3c8d instanceof Error?_0x1c3c8d['message']:_0x1ff466(0x1ea)};}}async[_0x58a562(0x3aa)](){const _0x2a70f6=_0x58a562,_0x2e8f2d=await this['_findNavBarBackButton']();if(_0x2e8f2d){const _0xd5defa=_0x2e8f2d['x']+_0x2e8f2d['width']/0x2,_0x44419b=_0x2e8f2d['y']+_0x2e8f2d[_0x2a70f6(0x221)]/0x2,_0x263ffa=await this['ensureSession'](),_0x4a89aa=await this['tapAtPoint'](_0x263ffa,_0xd5defa,_0x44419b);if(_0x4a89aa['ok'])return{'success':!![],'details':{'method':_0x2a70f6(0x1de),'tappedAt':{'x':_0xd5defa,'y':_0x44419b}}};}const _0x2455d1=await this['getWindowSize'](),_0x9cc22=await this[_0x2a70f6(0x350)]({'direction':_0x2a70f6(0x3f3),'from':{'x':0x0,'y':Math['floor'](_0x2455d1[_0x2a70f6(0x221)]/0x2)},'coordinateSource':_0x2a70f6(0x2c0)});return{'success':_0x9cc22['success'],'error':_0x9cc22['error'],'details':{'method':_0x2a70f6(0x51b),'from':_0x9cc22['from'],'to':_0x9cc22['to']}};}async[_0x58a562(0x2b2)](){const _0x100335=_0x58a562,_0x203436=await this['getSource']();if(!_0x203436['success']||!_0x203436[_0x100335(0x385)])return null;const _0x42a2f8=await this[_0x100335(0x334)](),_0xe1ad60=_0x42a2f8['width']/0x2,_0x2f5c14=0x8c,_0x2da923=[],_0xb0a7ea=_0x56280b=>{const _0x149483=_0x100335,_0x466e19=String(_0x56280b[_0x149483(0x3ca)]??''),_0x4c8aa7=_0x56280b['rect'],_0x9f9429=_0x466e19[_0x149483(0x55a)]()['includes']('button');if(_0x9f9429&&_0x4c8aa7&&typeof _0x4c8aa7['x']===_0x149483(0x2f7)){const _0x14a4cd=_0x4c8aa7['x']<_0xe1ad60&&_0x4c8aa7['y']<_0x2f5c14;if(_0x14a4cd&&_0x4c8aa7['width']>0x0&&_0x4c8aa7[_0x149483(0x221)]>0x0){const _0x40bf4f=String(_0x56280b['label']??_0x56280b[_0x149483(0x273)]??'')[_0x149483(0x55a)]();_0x2da923['push']({'rect':_0x4c8aa7,'labelledBack':_0x40bf4f[_0x149483(0x3bb)]('back')});}}const _0xf49114=_0x56280b[_0x149483(0x264)];if(Array['isArray'](_0xf49114)){for(const _0x59fc7b of _0xf49114)_0xb0a7ea(_0x59fc7b);}};_0xb0a7ea(_0x203436[_0x100335(0x385)]);if(_0x2da923['length']===0x0)return null;return _0x2da923[_0x100335(0x192)]((_0xa3d1db,_0x51f197)=>{const _0x15b624=_0x100335;if(_0xa3d1db[_0x15b624(0x456)]!==_0x51f197['labelledBack'])return _0xa3d1db[_0x15b624(0x456)]?-0x1:0x1;if(_0xa3d1db['rect']['x']!==_0x51f197['rect']['x'])return _0xa3d1db[_0x15b624(0x32e)]['x']-_0x51f197['rect']['x'];return _0xa3d1db['rect']['y']-_0x51f197[_0x15b624(0x32e)]['y'];}),_0x2da923[0x0]['rect'];}async['unlock'](){const _0x583cd3=_0x58a562;if('qzRvA'==='qzRvA')try{const _0x4fc1eb=await this['ensureSession'](),_0x5a9c46=await this['wdaFetch'](_0x583cd3(0x349)+_0x4fc1eb+'/wda/unlock',{'method':'POST','body':JSON[_0x583cd3(0x278)]({})});if(!_0x5a9c46['ok']){const _0x5651a9=await _0x5a9c46['text']()['catch'](()=>_0x583cd3(0x548));return{'success':![],'error':_0x583cd3(0x1d2)+_0x5a9c46[_0x583cd3(0x17a)]+'\x20'+_0x5651a9};}return{'success':!![]};}catch(_0x1a7f82){return{'success':![],'error':_0x1a7f82 instanceof Error?_0x1a7f82['message']:'Unknown\x20error\x20during\x20unlock'};}else _0x8065f0(_0x528031(_0x583cd3(0x255)+(_0x231e41['reason']??'unknown\x20reason')));}async['isLocked'](){const _0x5c0b83=_0x58a562;try{const _0x5b9522=await this['ensureSession'](),_0x207525=await this[_0x5c0b83(0x427)]('/session/'+_0x5b9522+_0x5c0b83(0x23d));if(!_0x207525['ok'])return null;const _0x43a65c=await _0x207525[_0x5c0b83(0x21a)]();return typeof _0x43a65c[_0x5c0b83(0x267)]==='boolean'?_0x43a65c['value']:null;}catch{return null;}}async['screenshot'](){const _0x19e8dd=_0x58a562;try{const _0x237fa0=await this[_0x19e8dd(0x17e)](),_0x2a0f5c=await this[_0x19e8dd(0x427)](_0x19e8dd(0x349)+_0x237fa0+'/screenshot');if(!_0x2a0f5c['ok']){const _0x59c9ff=await _0x2a0f5c['text']()['catch'](()=>'unknown');return{'success':![],'error':'WDA\x20screenshot\x20failed:\x20'+_0x2a0f5c['status']+'\x20'+_0x59c9ff};}const _0x496581=await _0x2a0f5c['json']();return{'success':!![],'base64':_0x496581['value']};}catch(_0x4c8c76){return{'success':![],'error':_0x4c8c76 instanceof Error?_0x4c8c76[_0x19e8dd(0x2aa)]:_0x19e8dd(0x26a)};}}async[_0x58a562(0x50e)](){const _0x2d01f6=_0x58a562;try{const _0xef54d7=await this['ensureSession'](),_0x4b723c=await this[_0x2d01f6(0x427)]('/session/'+_0xef54d7+_0x2d01f6(0x2dc));if(!_0x4b723c['ok']){const _0x1e5273=await _0x4b723c[_0x2d01f6(0x48a)]()[_0x2d01f6(0x3e8)](()=>_0x2d01f6(0x548));return{'success':![],'error':'WDA\x20source\x20failed:\x20'+_0x4b723c['status']+'\x20'+_0x1e5273};}const _0x3cf969=await _0x4b723c['json']();return{'success':!![],'source':_0x3cf969[_0x2d01f6(0x267)]};}catch(_0x54088b){return{'success':![],'error':_0x54088b instanceof Error?_0x54088b[_0x2d01f6(0x2aa)]:_0x2d01f6(0x338)};}}async['waitFor'](_0x50919c,_0x5baec8={}){const _0x16f6fe=_0x58a562;if(_0x16f6fe(0x1cd)===_0x16f6fe(0x1cd)){const _0x2dac60=_0x5baec8['timeoutMs']??0x1388,_0x40c043=_0x5baec8['pollIntervalMs']??0x96,_0x4b93df=_0x5baec8['disappear']??![],_0x130360=Date[_0x16f6fe(0x1ec)]();while(Date['now']()-_0x130360<_0x2dac60){const _0x3af045=await this['findElement'](_0x50919c),_0x5e076a=_0x3af045['success']&&!!_0x3af045['element'];if(!_0x4b93df&&_0x5e076a){const _0x435b39=_0x3af045['element'][_0x16f6fe(0x32e)];return{'success':!![],'found':!![],'elapsedMs':Date['now']()-_0x130360,'element':_0x435b39?{'type':_0x3af045['element']['type']??'unknown','label':_0x3af045[_0x16f6fe(0x432)][_0x16f6fe(0x47c)]??_0x3af045['element'][_0x16f6fe(0x273)]??'','bounds':_0x435b39}:void 0x0};}if(_0x4b93df&&!_0x5e076a)return{'success':!![],'found':![],'elapsedMs':Date['now']()-_0x130360};await new Promise(_0x32eb36=>setTimeout(_0x32eb36,_0x40c043));}return{'success':![],'found':!_0x4b93df,'elapsedMs':Date[_0x16f6fe(0x1ec)]()-_0x130360,'error':_0x4b93df?_0x16f6fe(0x423)+_0x2dac60+_0x16f6fe(0x2e0)+JSON[_0x16f6fe(0x278)](_0x50919c):_0x16f6fe(0x552)+_0x2dac60+'ms:\x20'+JSON[_0x16f6fe(0x278)](_0x50919c)};}else{const _0x1e4b4f=_0x2cdcaa['getExpression']();if(_0x37f1f[_0x16f6fe(0x3de)](_0x1e4b4f)&&_0x1e4b4f['getText']()===_0x49f099)return!![];}}async[_0x58a562(0x40e)](_0x149568){const _0x181a89=_0x58a562,_0x2986cd=await this['findElement'](_0x149568);if(_0x2986cd['error'])return{'success':![],'visible':![],'error':_0x2986cd['error']};if(_0x2986cd['success']&&_0x2986cd['element']?.[_0x181a89(0x32e)])return{'success':!![],'visible':!![],'element':{'type':_0x2986cd['element']['type']??'unknown','label':_0x2986cd[_0x181a89(0x432)]['label']??_0x2986cd['element']['name']??'','bounds':_0x2986cd['element'][_0x181a89(0x32e)]}};return{'success':!![],'visible':![]};}async[_0x58a562(0x2e3)](_0x1a4f54){const _0x4463a9=_0x58a562,_0x6fe3ba=await this[_0x4463a9(0x18f)](_0x1a4f54);if(_0x6fe3ba[_0x4463a9(0x48f)])return{'success':![],'visible':![],'error':_0x6fe3ba[_0x4463a9(0x48f)]};const _0x342c8e=_0x6fe3ba[_0x4463a9(0x197)]&&!!_0x6fe3ba[_0x4463a9(0x432)];return{'success':!![],'visible':_0x342c8e};}async['fetchSourceTree'](_0x26d445){const _0xf47961=_0x58a562;try{if(_0xf47961(0x2cc)===_0xf47961(0x2cc)){const _0x4b4351=_0x26d445??await this[_0xf47961(0x17e)](),_0x337482=await this[_0xf47961(0x427)]('/session/'+_0x4b4351+_0xf47961(0x2dc));if(!_0x337482['ok']){if(!_0x26d445){this[_0xf47961(0x21b)]=null;const _0x7d800c=await this['ensureSession'](),_0x5569b8=await this['wdaFetch'](_0xf47961(0x349)+_0x7d800c+'/source?format=json');if(!_0x5569b8['ok'])return null;const _0x1d17e1=await _0x5569b8[_0xf47961(0x21a)]();return _0x1d17e1['value']??null;}return null;}const _0x501c46=await _0x337482[_0xf47961(0x21a)]();return _0x501c46['value']??null;}else try{_0x4dc4a2[_0xf47961(0x16f)](_0x425e91);}catch{}}catch{return null;}}['findElementFromTree'](_0x287d00,_0x24cb50){const _0x284ecc=_0x58a562;return this[_0x284ecc(0x440)](_0x287d00,_0x24cb50);}async['findAndTapReturningTree'](_0x152152){const _0x353e97=_0x58a562;try{if('DPJRk'==='DPJRk'){const _0x2f9fd=await this[_0x353e97(0x17e)](),_0x33f3e7=await this['fetchSourceTree'](_0x2f9fd);if(!_0x33f3e7)return{'result':{'success':![],'error':'Failed\x20to\x20get\x20element\x20tree'},'tree':null};const _0x1fe57d=this['searchElements'](_0x33f3e7,_0x152152);if(_0x1fe57d[_0x353e97(0x358)]===0x0){const _0x334cd6=this[_0x353e97(0x4f5)](_0x33f3e7,0x32);return{'result':{'success':![],'matchCount':0x0,'availableElements':_0x334cd6,'error':_0x353e97(0x323)+JSON['stringify'](_0x152152)},'tree':_0x33f3e7};}const _0x56b3c3=_0x152152['index']??0x0;if(_0x56b3c3>=_0x1fe57d['length'])return{'result':{'success':![],'matchCount':_0x1fe57d['length'],'error':'Index\x20'+_0x56b3c3+_0x353e97(0x34a)+_0x1fe57d[_0x353e97(0x358)]+'\x20matching\x20element(s).','availableElements':_0x1fe57d[_0x353e97(0x471)](_0x139a3e=>({'type':_0x139a3e['type']??_0x353e97(0x548),'label':_0x139a3e[_0x353e97(0x47c)]??'','text':String(_0x139a3e[_0x353e97(0x267)]??_0x139a3e['label']??'')}))},'tree':_0x33f3e7};const _0x2ef7d9=_0x1fe57d[_0x56b3c3],_0x4c5525=_0x2ef7d9[_0x353e97(0x32e)];if(!_0x4c5525)return{'result':{'success':![],'matchCount':_0x1fe57d[_0x353e97(0x358)],'error':_0x353e97(0x2b7)},'tree':_0x33f3e7};const _0xa12173=_0x4c5525['x']+_0x4c5525['width']/0x2,_0x59ba44=_0x4c5525['y']+_0x4c5525['height']/0x2,_0x1327dd=await this[_0x353e97(0x4d6)](_0x2f9fd,_0xa12173,_0x59ba44);if(!_0x1327dd['ok'])return{'result':{'success':![],'matchCount':_0x1fe57d['length'],'error':_0x1327dd['error']??'WDA\x20tap\x20failed','element':{'type':_0x2ef7d9['type']??'unknown','label':_0x2ef7d9['label']??_0x2ef7d9['name']??'','bounds':_0x4c5525},'tappedAt':{'x':_0xa12173,'y':_0x59ba44}},'tree':_0x33f3e7};return{'result':{'success':!![],'matchCount':_0x1fe57d[_0x353e97(0x358)],'element':{'type':_0x2ef7d9['type']??_0x353e97(0x548),'label':_0x2ef7d9[_0x353e97(0x47c)]??_0x2ef7d9['name']??'','bounds':_0x4c5525},'tappedAt':{'x':_0xa12173,'y':_0x59ba44}},'tree':_0x33f3e7};}else _0x243a66['error']('Uninstall\x20failed:',_0x47c24a),_0x53a1b5['exit'](0x1);}catch(_0x20e0e2){return{'result':{'success':![],'error':_0x20e0e2 instanceof Error?_0x20e0e2['message']:'Unknown\x20error\x20during\x20findAndTapReturningTree'},'tree':null};}}async[_0x58a562(0x1a0)](_0x12bad3,_0x12d59c){const _0x1b5c8c=_0x58a562;try{const _0x2627cb=await this[_0x1b5c8c(0x427)]('/session/'+_0x12bad3+'/actions',{'method':_0x1b5c8c(0x3ba),'body':JSON[_0x1b5c8c(0x278)]({'actions':_0x12d59c})});return _0x2627cb['ok'];}catch{return![];}}[_0x58a562(0x193)](_0x377e64,_0x2c67be){const _0x2d2a2b=_0x58a562;return[{'type':'pointerMove','duration':0x0,'x':_0x377e64,'y':_0x2c67be},{'type':_0x2d2a2b(0x19d),'button':0x0},{'type':_0x2d2a2b(0x244),'duration':0x32},{'type':_0x2d2a2b(0x1fd),'button':0x0}];}async['tapAndVerify'](_0x42c75e,_0x1dedc1={}){const _0x33dbf4=_0x58a562;try{if('hHolX'!==_0x33dbf4(0x442)){const _0x50404c=_0x295764[_0x33dbf4(0x2c4)](/\.(tsx|jsx)$/i,''),_0x4083ab=_0x50404c['split'](/[\\/]/)['filter'](_0x2a6e8a=>_0x2a6e8a[_0x33dbf4(0x358)]>0x0);if(_0x4083ab['length']===0x0)return'camera';const _0x242221=_0x4083ab[_0x4083ab[_0x33dbf4(0x358)]-0x1],_0x36f049=_0x4083ab['length']>0x1?_0x4083ab[_0x4083ab[_0x33dbf4(0x358)]-0x2]:_0x242221,_0x3a5604=new _0x13dbce(['page','index','screen',_0x33dbf4(0x58f),'layout']),_0x237815=_0x3a5604[_0x33dbf4(0x3b6)](_0x242221['toLowerCase']())?_0x36f049:_0x242221,_0x68ea38=_0x237815['replace'](/([a-z0-9])([A-Z])/g,'$1-$2')['toLowerCase']()['replace'](/[^a-z0-9]+/g,'-')['replace'](/^-+|-+$/g,'');return _0x68ea38['length']>0x0?_0x68ea38:'camera';}else{const _0x51e403=_0x1dedc1[_0x33dbf4(0x21b)]??await this['ensureSession'](),_0x3f69b8=await this['fetchSourceTree'](_0x51e403);if(!_0x3f69b8)return{'success':![],'error':'Failed\x20to\x20get\x20element\x20tree','batched':![]};const _0x1137a0=this['searchElements'](_0x3f69b8,_0x42c75e);if(_0x1137a0[_0x33dbf4(0x358)]===0x0)return{'success':![],'error':'No\x20element\x20found\x20matching\x20query:\x20'+JSON['stringify'](_0x42c75e),'batched':![]};const _0x2a3a24=_0x42c75e[_0x33dbf4(0x261)]??0x0,_0x5a3612=_0x1137a0[_0x2a3a24];if(!_0x5a3612||!_0x5a3612[_0x33dbf4(0x32e)])return{'success':![],'error':_0x2a3a24>=_0x1137a0['length']?'Index\x20'+_0x2a3a24+_0x33dbf4(0x34a)+_0x1137a0[_0x33dbf4(0x358)]+'\x20matching\x20element(s).':_0x33dbf4(0x2b7),'batched':![]};const _0xd42f14=_0x5a3612['rect'],_0x2f1296=_0xd42f14['x']+_0xd42f14[_0x33dbf4(0x1f9)]/0x2,_0x149965=_0xd42f14['y']+_0xd42f14['height']/0x2,_0xf6a298={'type':_0x5a3612['type']??'unknown','label':_0x5a3612['label']??_0x5a3612['name']??'','bounds':_0xd42f14},_0x48ca2c=await this[_0x33dbf4(0x1a0)](_0x51e403,[{'type':'pointer','id':'finger1','parameters':{'pointerType':'touch'},'actions':this[_0x33dbf4(0x193)](_0x2f1296,_0x149965)}]);let _0x557ac2=_0x48ca2c;if(!_0x48ca2c){const _0x152727=await this[_0x33dbf4(0x214)](_0x2f1296,_0x149965,![]);if(!_0x152727['success'])return{'success':![],'error':_0x152727['error']??_0x33dbf4(0x400),'element':_0xf6a298,'tappedAt':{'x':_0x2f1296,'y':_0x149965},'batched':![]};_0x557ac2=![];}let _0x1984e9,_0xff4fd4,_0x322150=!![];if(_0x1dedc1['verifySelector']){let _0x2ac862,_0x350279;if(_0x1dedc1['sessionId']){const _0x1377d4=Date[_0x33dbf4(0x1ec)]()+0xbb8;for(;;){if('QFlqn'==='QFlqn'){const _0x327080=await this[_0x33dbf4(0x299)](_0x1dedc1[_0x33dbf4(0x21b)]);if(_0x327080){const _0x4aab5e=this['searchElements'](_0x327080,_0x1dedc1['verifySelector']);if(_0x4aab5e[_0x33dbf4(0x358)]>0x0&&_0x4aab5e[0x0]){_0x2ac862=_0x4aab5e[0x0];break;}}if(Date[_0x33dbf4(0x1ec)]()>=_0x1377d4){_0x350279=_0x327080?_0x33dbf4(0x215)+JSON[_0x33dbf4(0x278)](_0x1dedc1['verifySelector']):'Failed\x20to\x20get\x20element\x20tree\x20on\x20the\x20pinned\x20session';break;}await new Promise(_0x2d01d1=>setTimeout(_0x2d01d1,0x1f4));}else return{'name':_0x5883c6,'ok':![],'severity':_0x2d575f,'message':_0x38b189 instanceof _0x6b0136?_0x9546c2['message']:_0x27ea6e(_0x37f5bc)};}_0x1984e9={'visible':!!_0x2ac862,'element':_0x2ac862&&_0x2ac862['rect']?{'type':_0x2ac862[_0x33dbf4(0x3ca)]??'unknown','label':_0x2ac862['label']??_0x2ac862[_0x33dbf4(0x273)]??'','bounds':_0x2ac862['rect']}:void 0x0},_0x322150=!!_0x2ac862,!_0x322150&&(_0xff4fd4=_0x33dbf4(0x2e2)+_0x350279);}else{const _0x391274=await this[_0x33dbf4(0x2ba)](_0x1dedc1['verifySelector'],{'timeoutMs':0xbb8});_0x1984e9={'visible':_0x391274[_0x33dbf4(0x50a)]&&_0x391274['success'],'element':_0x391274[_0x33dbf4(0x432)]},_0x322150=_0x391274[_0x33dbf4(0x197)]&&_0x391274[_0x33dbf4(0x50a)],!_0x322150&&(_0xff4fd4='tap\x20succeeded\x20but\x20post-tap\x20verify\x20failed:\x20'+(_0x391274[_0x33dbf4(0x48f)]??_0x33dbf4(0x480)+JSON['stringify'](_0x1dedc1[_0x33dbf4(0x2ad)])+'\x20not\x20visible'));}}return{'success':_0x322150,'element':_0xf6a298,'tappedAt':{'x':_0x2f1296,'y':_0x149965},'verifyResult':_0x1984e9,'batched':_0x557ac2,..._0xff4fd4?{'error':_0xff4fd4}:{}};}}catch(_0x25cd8a){return{'success':![],'error':_0x25cd8a instanceof Error?_0x25cd8a['message']:'Unknown\x20error\x20during\x20tapAndVerify','batched':![]};}}async[_0x58a562(0x276)](_0x1e6879,_0x208964,_0x47b357={}){const _0xd4c74=_0x58a562;try{const _0x4266e7=await this[_0xd4c74(0x17e)](),_0xa7bce8=await this['fetchSourceTree'](_0x4266e7);if(!_0xa7bce8)return _0xd4c74(0x313)!=='KxciD'?_0x41741c['indexOf'](_0x584e7a):{'success':![],'error':'Failed\x20to\x20get\x20element\x20tree','batched':![]};const _0x40dedf=this['searchElements'](_0xa7bce8,_0x1e6879);if(_0x40dedf['length']===0x0)return{'success':![],'matchCount':0x0,'error':_0xd4c74(0x1c2)+JSON[_0xd4c74(0x278)](_0x1e6879),'batched':![]};const _0x52e221=_0x1e6879['index']??0x0,_0x17406e=_0x40dedf[_0x52e221];if(!_0x17406e||!_0x17406e[_0xd4c74(0x32e)])return{'success':![],'matchCount':_0x40dedf[_0xd4c74(0x358)],'error':_0x52e221>=_0x40dedf[_0xd4c74(0x358)]?'Index\x20'+_0x52e221+_0xd4c74(0x34a)+_0x40dedf['length']+_0xd4c74(0x3d6):'Matched\x20element\x20has\x20no\x20bounds/rect\x20information.','batched':![]};const _0x3b1571=_0x17406e[_0xd4c74(0x32e)],_0x40635f=_0x3b1571['x']+_0x3b1571['width']/0x2,_0x13c56a=_0x3b1571['y']+_0x3b1571['height']/0x2,_0x56ac09={'type':_0x17406e[_0xd4c74(0x3ca)]??_0xd4c74(0x548),'label':_0x17406e['label']??_0x17406e[_0xd4c74(0x273)]??'','bounds':_0x3b1571};if(_0x47b357['clearFirst']){const _0x5e93c1=await this['clearText'](_0x1e6879);if(!_0x5e93c1[_0xd4c74(0x197)])return{'success':![],'matchCount':_0x40dedf['length'],'element':_0x56ac09,'error':_0x5e93c1[_0xd4c74(0x48f)]??_0xd4c74(0x4c2),'batched':![]};}const _0x23209d=Array[_0xd4c74(0x3d3)](_0x208964),_0xf3f78f=[],_0x4a17ba=0x4;for(let _0x1f92b7=0x0;_0x1f92b7<_0x4a17ba;_0x1f92b7++){_0xf3f78f[_0xd4c74(0x407)]({'type':'pause','duration':0x0});}_0xf3f78f['push']({'type':_0xd4c74(0x244),'duration':0x12c});for(const _0x8236f6 of _0x23209d){_0xf3f78f['push']({'type':'keyDown','value':_0x8236f6}),_0xf3f78f[_0xd4c74(0x407)]({'type':'keyUp','value':_0x8236f6});}const _0x24c355=await this[_0xd4c74(0x1a0)](_0x4266e7,[{'type':'pointer','id':'finger1','parameters':{'pointerType':_0xd4c74(0x406)},'actions':this['buildTapPointerActions'](_0x40635f,_0x13c56a)},{'type':'key','id':'keyboard','actions':_0xf3f78f}]);if(_0x24c355)return{'success':!![],'matchCount':_0x40dedf['length'],'element':_0x56ac09,'batched':!![]};const _0x2f60b3=await this['findAndTap'](_0x1e6879);if(!_0x2f60b3['success'])return{'success':![],'matchCount':_0x40dedf['length'],'element':_0x56ac09,'error':_0x2f60b3[_0xd4c74(0x48f)]??'Failed\x20to\x20focus\x20field\x20(serial\x20fallback)','batched':![]};const _0x422365=await this[_0xd4c74(0x3ca)](_0x208964);if(!_0x422365['success'])return{'success':![],'matchCount':_0x40dedf[_0xd4c74(0x358)],'element':_0x56ac09,'error':_0x422365['error']??_0xd4c74(0x434),'batched':![]};return{'success':!![],'matchCount':_0x40dedf['length'],'element':_0x56ac09,'batched':![]};}catch(_0x43aec1){return{'success':![],'error':_0x43aec1 instanceof Error?_0x43aec1[_0xd4c74(0x2aa)]:'Unknown\x20error\x20during\x20typeIntoField','batched':![]};}}async['tapChain'](_0x4af080){const _0x133b52=_0x58a562;if(_0x4af080['length']===0x0)return{'success':![],'results':[],'batched':![],'error':'tapChain\x20called\x20with\x20empty\x20queries\x20array'};try{const _0x58b06a=await this['ensureSession'](),_0x60b965=await this[_0x133b52(0x299)](_0x58b06a);if(!_0x60b965)return{'success':![],'results':[],'batched':![],'error':'Failed\x20to\x20get\x20element\x20tree'};const _0x2953c4=[];for(const _0x88e9 of _0x4af080){if('tmNIa'!=='WabRN'){const _0x5ced21=this[_0x133b52(0x440)](_0x60b965,_0x88e9);if(_0x5ced21[_0x133b52(0x358)]===0x0){if(_0x133b52(0x191)!=='faWQB')return{'success':![],'results':[..._0x2953c4[_0x133b52(0x471)](_0x2ce5a1=>({'query':_0x2ce5a1['query'],'element':_0x2ce5a1[_0x133b52(0x432)],'tappedAt':_0x2ce5a1[_0x133b52(0x218)]})),{'query':_0x88e9,'error':'No\x20element\x20found\x20matching\x20query:\x20'+JSON['stringify'](_0x88e9)}],'batched':![],'error':_0x133b52(0x3b8)+_0x2953c4[_0x133b52(0x358)]};else throw new _0xa39036('Failed\x20to\x20get\x20window\x20size:\x20'+_0x1fde52[_0x133b52(0x17a)]);}const _0x12da3b=_0x88e9[_0x133b52(0x261)]??0x0,_0xb3ca01=_0x5ced21[_0x12da3b];if(!_0xb3ca01||!_0xb3ca01[_0x133b52(0x32e)])return{'success':![],'results':[..._0x2953c4[_0x133b52(0x471)](_0x1908ab=>({'query':_0x1908ab['query'],'element':_0x1908ab['element'],'tappedAt':_0x1908ab[_0x133b52(0x218)]})),{'query':_0x88e9,'error':_0x12da3b>=_0x5ced21[_0x133b52(0x358)]?'Index\x20'+_0x12da3b+_0x133b52(0x34a)+_0x5ced21[_0x133b52(0x358)]+_0x133b52(0x3d6):'Matched\x20element\x20has\x20no\x20bounds/rect\x20information.'}],'batched':![],'error':_0x133b52(0x1ef)+_0x2953c4['length']};_0x2953c4[_0x133b52(0x407)]({'query':_0x88e9,'element':{'type':_0xb3ca01[_0x133b52(0x3ca)]??'unknown','label':_0xb3ca01[_0x133b52(0x47c)]??_0xb3ca01['name']??'','bounds':_0xb3ca01[_0x133b52(0x32e)]},'center':{'x':_0xb3ca01[_0x133b52(0x32e)]['x']+_0xb3ca01['rect']['width']/0x2,'y':_0xb3ca01['rect']['y']+_0xb3ca01[_0x133b52(0x32e)][_0x133b52(0x221)]/0x2}});}else _0x3fc779(_0x12d8c9);}const _0x22773d=[];for(let _0x4bdcc1=0x0;_0x4bdcc1<_0x2953c4['length'];_0x4bdcc1++){if('CfZym'!==_0x133b52(0x510)){let _0x41d824;try{_0x41d824=new _0x262c14(_0x3ea85a);}catch{throw new _0x5b1120('Invalid\x20Ceraph\x20endpoint\x20URL:\x20\x22'+_0x21bffe+_0x133b52(0x4bb));}if(_0x41d824['protocol']===_0x133b52(0x1c1))return _0x1700fa;if(_0x41d824['protocol']===_0x133b52(0x2b9)){const _0x4658e5=_0x41d824[_0x133b52(0x352)]['toLowerCase']();if(_0x1e9a44['has'](_0x4658e5))return _0x195f24;throw new _0x407b22(_0x133b52(0x3ec)+_0x5781fc+'\x22.\x20Use\x20https://\x20for\x20remote\x20endpoints\x20(http://\x20is\x20only\x20allowed\x20for\x20localhost\x20/\x20127.0.0.1).');}throw new _0x2bf298('Refusing\x20to\x20send\x20your\x20Ceraph\x20token\x20to\x20a\x20\x22'+_0x41d824[_0x133b52(0x280)]+_0x133b52(0x295)+_0x39438f+'\x22.\x20Only\x20https://\x20(or\x20http://\x20for\x20localhost\x20/\x20127.0.0.1)\x20endpoints\x20are\x20allowed.');}else{const _0x2673d9=_0x2953c4[_0x4bdcc1];_0x22773d[_0x133b52(0x407)](...this['buildTapPointerActions'](_0x2673d9['center']['x'],_0x2673d9[_0x133b52(0x218)]['y'])),_0x4bdcc1<_0x2953c4[_0x133b52(0x358)]-0x1&&_0x22773d[_0x133b52(0x407)]({'type':_0x133b52(0x244),'duration':0x64});}}const _0x4d1c4d=await this['sendW3CActions'](_0x58b06a,[{'type':_0x133b52(0x353),'id':_0x133b52(0x418),'parameters':{'pointerType':'touch'},'actions':_0x22773d}]);if(_0x4d1c4d)return{'success':!![],'results':_0x2953c4[_0x133b52(0x471)](_0x25ec00=>({'query':_0x25ec00['query'],'element':_0x25ec00['element'],'tappedAt':_0x25ec00['center']})),'batched':!![]};const _0x269a9e=[];for(const _0x5e2d9d of _0x2953c4){const _0x293670=await this['tap'](_0x5e2d9d['center']['x'],_0x5e2d9d[_0x133b52(0x218)]['y'],![]);if(!_0x293670['success'])return _0x269a9e['push']({'query':_0x5e2d9d[_0x133b52(0x213)],'element':_0x5e2d9d[_0x133b52(0x432)],'tappedAt':_0x5e2d9d[_0x133b52(0x218)],'error':_0x293670['error']??'Serial\x20tap\x20failed'}),{'success':![],'results':_0x269a9e,'batched':![],'error':'Serial\x20fallback\x20tap\x20failed\x20at\x20index\x20'+(_0x269a9e[_0x133b52(0x358)]-0x1)};_0x269a9e['push']({'query':_0x5e2d9d[_0x133b52(0x213)],'element':_0x5e2d9d[_0x133b52(0x432)],'tappedAt':_0x5e2d9d[_0x133b52(0x218)]});}return{'success':!![],'results':_0x269a9e,'batched':![]};}catch(_0xbe2336){return{'success':![],'results':[],'batched':![],'error':_0xbe2336 instanceof Error?_0xbe2336['message']:'Unknown\x20error\x20during\x20tapChain'};}}async[_0x58a562(0x39d)](){const _0x1d6c22=_0x58a562;if(_0x1d6c22(0x40a)!==_0x1d6c22(0x40a))return{'success':![],'matchCount':_0x50d069[_0x1d6c22(0x358)]};else try{const _0x24b29f=await this[_0x1d6c22(0x17e)](),_0x3e6cc8=await this[_0x1d6c22(0x427)]('/session/'+_0x24b29f+'/orientation');if(!_0x3e6cc8['ok'])return null;const _0x2f1e9b=await _0x3e6cc8['json']();return _0x2f1e9b['value']??null;}catch{return null;}}async['setOrientation'](_0x2cf5d3){const _0x11a3a8=_0x58a562;try{const _0x524921=await this[_0x11a3a8(0x17e)](),_0x4ac74b=await this[_0x11a3a8(0x427)]('/session/'+_0x524921+_0x11a3a8(0x227),{'method':_0x11a3a8(0x3ba),'body':JSON['stringify']({'orientation':_0x2cf5d3['toUpperCase']()})});if(!_0x4ac74b['ok']){const _0x2e2af1=await _0x4ac74b['text']()['catch'](()=>'unknown');return{'success':![],'error':'WDA\x20setOrientation\x20failed:\x20'+_0x4ac74b[_0x11a3a8(0x17a)]+'\x20'+_0x2e2af1};}return{'success':!![]};}catch(_0x1771b7){return{'success':![],'error':_0x1771b7 instanceof Error?_0x1771b7['message']:'Unknown\x20error\x20during\x20setOrientation'};}}async['getActiveAppInfo'](){const _0x46911b=_0x58a562;try{const _0x8bad6f=await this[_0x46911b(0x17e)](),_0x1f115f=await this[_0x46911b(0x427)](_0x46911b(0x349)+_0x8bad6f+_0x46911b(0x4ae));if(!_0x1f115f['ok']){const _0x446f9e=await _0x1f115f[_0x46911b(0x48a)]()[_0x46911b(0x3e8)](()=>_0x46911b(0x548));return{'success':![],'error':'WDA\x20activeAppInfo\x20failed:\x20'+_0x1f115f['status']+'\x20'+_0x446f9e};}const _0x24e024=await _0x1f115f[_0x46911b(0x21a)]();return{'success':!![],'bundleId':_0x24e024['value']?.['bundleId'],'pid':_0x24e024['value']?.['pid'],'name':_0x24e024[_0x46911b(0x267)]?.[_0x46911b(0x273)]};}catch(_0x4623ab){return{'success':![],'error':_0x4623ab instanceof Error?_0x4623ab['message']:_0x46911b(0x37c)};}}async['activateApp'](_0x3face4){const _0x4f7bcc=_0x58a562;try{const _0x5ea8d8=await this[_0x4f7bcc(0x17e)](),_0x45da82=await this['wdaFetch']('/session/'+_0x5ea8d8+'/wda/apps/launch',{'method':'POST','body':JSON[_0x4f7bcc(0x278)]({'bundleId':_0x3face4})});if(!_0x45da82['ok']){const _0x19b24f=await _0x45da82['text']()[_0x4f7bcc(0x3e8)](()=>'unknown');return{'success':![],'error':_0x4f7bcc(0x391)+_0x45da82[_0x4f7bcc(0x17a)]+'\x20'+_0x19b24f};}return{'success':!![]};}catch(_0x21d917){return{'success':![],'error':_0x21d917 instanceof Error?_0x21d917[_0x4f7bcc(0x2aa)]:'Unknown\x20error\x20during\x20activateApp'};}}async[_0x58a562(0x2f9)](_0xbc3441){const _0x468578=_0x58a562;try{const _0x2c8e6e=await this[_0x468578(0x17e)](),_0x2cda1a=await this['wdaFetch'](_0x468578(0x349)+_0x2c8e6e+_0x468578(0x50f),{'method':'POST','body':JSON['stringify']({'url':_0xbc3441})});if(!_0x2cda1a['ok']){const _0x11089b=await _0x2cda1a[_0x468578(0x48a)]()[_0x468578(0x3e8)](()=>_0x468578(0x548)),_0xaa870=_0x11089b[_0x468578(0x3bb)](_0x468578(0x4a3))&&_0x11089b[_0x468578(0x3bb)](_0x468578(0x3b9));if(_0xaa870&&_0xbc3441['startsWith'](_0x468578(0x3d0))){if('NXPwF'===_0x468578(0x2cd))return{'success':![],'error':'The\x20`ceraph://`\x20URL\x20scheme\x20isn\x27t\x20registered\x20in\x20the\x20app\x20under\x20test,\x20so\x20this\x20deep\x20link\x20couldn\x27t\x20be\x20delivered.\x20`init`\x20adds\x20the\x20scheme\x20to\x20app.json,\x20but\x20it\x20only\x20lands\x20in\x20the\x20native\x20Info.plist\x20after\x20a\x20rebuild\x20—\x20run\x20`npx\x20expo\x20prebuild`\x20then\x20rebuild/reinstall\x20the\x20dev\x20client\x20(or\x20your\x20EAS/Xcode\x20build),\x20and\x20retry.\x20Tools\x20affected:\x20rn_reset_state,\x20rn_reload,\x20and\x20camera/auth-bypass\x20deep\x20links.'};else{if(_0x40ca58['isMonorepo']&&!_0x37cd75[_0x468578(0x42d)])throw new _0x4557ec(_0x468578(0x314));return _0x1774d6;}}return{'success':![],'error':_0x468578(0x31d)+_0x2cda1a[_0x468578(0x17a)]+'\x20'+_0x11089b};}return{'success':!![]};}catch(_0x320952){return{'success':![],'error':_0x320952 instanceof Error?_0x320952[_0x468578(0x2aa)]:'Unknown\x20error\x20during\x20openUrl'};}}async['terminateAppViaWDA'](_0xb2b32c){const _0x3e8cab=_0x58a562;try{const _0x258f65=await this['ensureSession'](),_0x538373=await this['wdaFetch']('/session/'+_0x258f65+_0x3e8cab(0x4e8),{'method':'POST','body':JSON['stringify']({'bundleId':_0xb2b32c})});if(!_0x538373['ok']){const _0x6f8949=await _0x538373[_0x3e8cab(0x48a)]()['catch'](()=>_0x3e8cab(0x548));return{'success':![],'error':'WDA\x20apps/terminate\x20failed:\x20'+_0x538373[_0x3e8cab(0x17a)]+'\x20'+_0x6f8949};}return this['sessionId']=null,{'success':!![]};}catch(_0x561387){return{'success':![],'error':_0x561387 instanceof Error?_0x561387['message']:'Unknown\x20error\x20during\x20terminateAppViaWDA'};}}async['pingStatus'](){const _0x34684e=_0x58a562;try{const _0x240a87=await this[_0x34684e(0x427)]('/status',{},0x7d0);return _0x240a87['ok'];}catch{return'JCGks'===_0x34684e(0x3e0)?![]:(_0x5dece3['scheme']=_0x2c05da,{'action':'added','scheme':_0x5a2d97,'previousScheme':void 0x0,'nextScheme':[_0x2aac95]});}}['searchElements'](_0x217093,_0x2080d7){const _0x4c6bda=_0x58a562,_0x351ba5=[];this[_0x4c6bda(0x39a)](_0x217093,_0x2080d7)&&_0x351ba5['push'](_0x217093);const _0x5a8881=_0x217093[_0x4c6bda(0x264)];if(Array['isArray'](_0x5a8881))for(const _0x1dcb34 of _0x5a8881){_0x351ba5[_0x4c6bda(0x407)](...this['searchElements'](_0x1dcb34,_0x2080d7));}return _0x351ba5;}[_0x58a562(0x39a)](_0x2a2f82,_0x1503ec){const _0x322f64=_0x58a562;if('cxTMK'===_0x322f64(0x42c)){if(_0x1503ec[_0x322f64(0x48a)]!==void 0x0){const _0x57bb04=_0x1503ec['text'][_0x322f64(0x55a)](),_0x402628=[_0x2a2f82[_0x322f64(0x267)],_0x2a2f82['label'],_0x2a2f82[_0x322f64(0x273)]][_0x322f64(0x422)](Boolean)[_0x322f64(0x471)](_0x4b1882=>String(_0x4b1882)[_0x322f64(0x55a)]());if(!_0x402628['some'](_0x5f335d=>_0x5f335d[_0x322f64(0x3bb)](_0x57bb04)))return![];}if(_0x1503ec['accessibilityLabel']!==void 0x0){const _0x4279fc=String(_0x2a2f82['label']??_0x2a2f82['name']??'');if(!_0x4279fc['toLowerCase']()['includes'](_0x1503ec[_0x322f64(0x351)]['toLowerCase']()))return![];}if(_0x1503ec['type']!==void 0x0){const _0x558f3e=String(_0x2a2f82['type']??'');if(!_0x558f3e['toLowerCase']()[_0x322f64(0x3bb)](_0x1503ec['type']['toLowerCase']()))return![];}return _0x1503ec['text']!==void 0x0||_0x1503ec['accessibilityLabel']!==void 0x0||_0x1503ec['type']!==void 0x0||_0x1503ec[_0x322f64(0x261)]!==void 0x0;}else _0x35f0b7(_0x231e63(_0x322f64(0x1b1)));}['collectVisibleElements'](_0x5631a6,_0x5dfa58){const _0x110bd1=_0x58a562,_0x471287=[];if(_0x5dfa58<=0x0)return _0x471287;const _0x3df06b=String(_0x5631a6[_0x110bd1(0x47c)]??_0x5631a6['name']??''),_0x1a1558=String(_0x5631a6[_0x110bd1(0x267)]??''),_0xaaded2=String(_0x5631a6['type']??'');(_0x3df06b||_0x1a1558)&&_0x471287['push']({'type':_0xaaded2,'label':_0x3df06b,'text':_0x1a1558});const _0x5cb34b=_0x5631a6[_0x110bd1(0x264)];if(Array[_0x110bd1(0x310)](_0x5cb34b))for(const _0x7da933 of _0x5cb34b){if('aiGqe'==='jwSci')return{'success':!![],'apps':this['installedAppsCache'][_0x110bd1(0x44e)]};else{const _0x393335=_0x5dfa58-_0x471287[_0x110bd1(0x358)];if(_0x393335<=0x0)break;_0x471287[_0x110bd1(0x407)](...this[_0x110bd1(0x4f5)](_0x7da933,_0x393335));}}return _0x471287;}[_0x58a562(0x39e)](){const _0x1063c3=_0x58a562;this['sessionId']=null,this['pixelRatio']=null,this[_0x1063c3(0x58e)]=null;}};}}),_0x5e9958,_0x57366c=_0x1b53f6({'src/device-autonomy.ts'(){'use strict';const _0x45d3c6=_0xa6e1;_0x5e9958=class{constructor(_0x19b14e){const _0x45c746=_0xa6e1;this[_0x45c746(0x2bf)]=_0x19b14e;}async[_0x45d3c6(0x33c)](){const _0x37f778=_0x45d3c6,_0x3d8891=await this[_0x37f778(0x2bf)][_0x37f778(0x1d3)]();if(!_0x3d8891){const _0x581496=await this[_0x37f778(0x2bf)][_0x37f778(0x363)]()['catch'](()=>'http://localhost:8100'),_0x3d4a2c=_0x581496['replace'](/^https?:\/\//,'');return{'awake':![],'lockState':'unknown','remediation':'WebDriverAgent\x20is\x20not\x20reachable\x20at\x20'+_0x3d4a2c+'.\x20Open\x20Xcode,\x20run\x20the\x20WebDriverAgentRunner\x20target\x20on\x20your\x20connected\x20iPhone\x20once,\x20then\x20try\x20again\x20on\x20real\x20devices.\x20Simulator\x20support\x20is\x20available\x20via\x20rn_wda_start.'};}const _0x135153=await this[_0x37f778(0x343)]();if(_0x135153===_0x37f778(0x1e8))return{'awake':!![],'lockState':_0x37f778(0x1e8)};if(_0x135153===_0x37f778(0x39f)||_0x135153===_0x37f778(0x49a)){if('sUIQW'==='sUIQW'){const _0x4d9915=await this[_0x37f778(0x2bf)][_0x37f778(0x163)]();if(_0x4d9915[_0x37f778(0x197)]){if('OEqVp'===_0x37f778(0x3c2)){const _0x3b1d30=_0x554dac(_0x56f7bb);return _0x4b162a+_0x37f778(0x557)+_0x3b1d30+'\x22);\x20}\x20catch\x20{\x20return\x20null;\x20}\x20}\x20})';}else{const _0x185ee1=await this[_0x37f778(0x343)]();if(_0x185ee1===_0x37f778(0x1e8))return{'awake':!![],'lockState':_0x37f778(0x1e8)};}}await this['screen'][_0x37f778(0x2c7)](_0x37f778(0x45d))[_0x37f778(0x3e8)](()=>void 0x0);const _0x2cfdcb=await this[_0x37f778(0x343)]();if(_0x2cfdcb===_0x37f778(0x1e8))return{'awake':!![],'lockState':_0x37f778(0x1e8)};return{'awake':![],'lockState':_0x2cfdcb,'remediation':_0x37f778(0x378)};}else return _0x3fc1e3();}return{'awake':![],'lockState':_0x135153,'remediation':_0x37f778(0x485)};}['keepAliveHeartbeat'](_0x5a5be4={}){const _0xe881cb=_0x45d3c6,_0x447bc6=_0x5a5be4[_0xe881cb(0x457)]??0x5dc,_0x48945c=setInterval(()=>{const _0x2e1000=_0xe881cb;this['screen'][_0x2e1000(0x2d8)]()[_0x2e1000(0x3e8)](()=>void 0x0);},_0x447bc6);if(typeof _0x48945c['unref']===_0xe881cb(0x4aa))_0x48945c[_0xe881cb(0x302)]();let _0x38ceb4=![];return{'intervalMs':_0x447bc6,'stop':()=>{if(_0x38ceb4)return;_0x38ceb4=!![],clearInterval(_0x48945c);}};}async['getLockState'](){const _0x1e13b2=_0x45d3c6,_0x4ecc4e=await this[_0x1e13b2(0x2bf)][_0x1e13b2(0x3c4)]();if(_0x4ecc4e===!![])return'locked';if(_0x4ecc4e===![]){const _0x273835=await this['hasCoverSheet']();return _0x273835?_0x1e13b2(0x39f):_0x1e13b2(0x1e8);}const _0x411027=await this['hasCoverSheet']();if(_0x411027===null)return _0x1e13b2(0x548);return _0x411027?_0x1e13b2(0x39f):'unlocked';}async[_0x45d3c6(0x55e)](){const _0x1486a7=_0x45d3c6,_0x187e9e=await this['screen'][_0x1486a7(0x50e)]();if(!_0x187e9e[_0x1486a7(0x197)]||!_0x187e9e[_0x1486a7(0x385)])return null;const _0x142bd1=['sbcoversheet',_0x1486a7(0x1f2),'lockscreen'];let _0x254b45=![];const _0x275051=_0x53d302=>{const _0x363373=_0x1486a7;if(_0x254b45)return;const _0x3bee63=[_0x53d302[_0x363373(0x273)],_0x53d302[_0x363373(0x47c)],_0x53d302['type']][_0x363373(0x422)](Boolean)[_0x363373(0x3c0)]('\x20')['toLowerCase']();if(_0x142bd1['some'](_0x1da77d=>_0x3bee63['includes'](_0x1da77d))){if(_0x363373(0x29a)!==_0x363373(0x29a)){const _0x2cbc3a=_0x3dd25f[_0x363373(0x48a)]['toLowerCase'](),_0x17421d=[_0x4da17a['value'],_0x3de359['label'],_0x4be567['name']]['filter'](_0x5c79de)['map'](_0x5bb544=>_0x25ccf6(_0x5bb544)[_0x363373(0x55a)]());if(!_0x17421d[_0x363373(0x179)](_0x5064e6=>_0x5064e6['includes'](_0x2cbc3a)))return![];}else{_0x254b45=!![];return;}}const _0x14c3cc=_0x53d302['children'];if(Array[_0x363373(0x310)](_0x14c3cc)){for(const _0x3919f2 of _0x14c3cc)_0x275051(_0x3919f2);}};return _0x275051(_0x187e9e[_0x1486a7(0x385)]),_0x254b45;}async[_0x45d3c6(0x1d6)](_0x5e554b){return this['screen']['setOrientation'](_0x5e554b);}[_0x45d3c6(0x2bd)](){return{'success':![],'message':'iOS\x20does\x20not\x20expose\x20an\x20API\x20for\x20disabling\x20Auto-Lock.\x20Open\x20Settings\x20→\x20Display\x20&\x20Brightness\x20→\x20Auto-Lock\x20→\x20Never\x20on\x20the\x20device\x20before\x20running\x20long\x20flows.\x20The\x20flow\x20runner\x20keeps\x20WDA\x27s\x20session\x20warm\x20with\x20a\x20heartbeat,\x20but\x20it\x20cannot\x20prevent\x20Auto-Lock\x20by\x20itself.'};}};}});import{spawn as _0x544388}from'child_process';import{mkdir as _0x3bf22a,rm,stat as _0x22b983}from'fs/promises';import{dirname as _0x4c011b,join as _0x1d892d}from'path';function _0x2de1c3(){return _0x32089b;}var _0x32089b,_0x2f2b88,_0xb8aac8=_0x1b53f6({'src/video-recorder.ts'(){'use strict';const _0x52563e=_0xa6e1;_0x32089b='unverified',_0x2f2b88=_0x52563e(0x294);}});import{spawn as _0x547c2f}from'child_process';import{createRequire}from'module';import{createServer as _0x111c5b}from'net';import{dirname as _0x33ee2b,join as _0x3b2537}from'path';function _0x49eef0(_0x1465f8){const _0x2a409d=_0xa6e1,_0x25066e=_0x16b4e9=>{const _0x2b1308=_0xa6e1;try{const _0x4c841e=createRequire(_0x16b4e9),_0x26f1a1=_0x4c841e['resolve']('appium-webdriveragent/package.json'),_0x7baa34=_0x33ee2b(_0x26f1a1);return _0x3b2537(_0x7baa34,_0x2b1308(0x534));}catch{return null;}};if(_0x1465f8){if('Ilhwz'==='Ilhwz'){const _0x11a7a4=_0x25066e(new URL('package.json','file://'+(_0x1465f8['endsWith']('/')?_0x1465f8:_0x1465f8+'/')));if(_0x11a7a4)return _0x11a7a4;}else{const _0x43173e=_0xe5a4cc[_0x2a409d(0x477)]['getFirstAncestorByKind'](_0x5896f7[_0x2a409d(0x32d)]);_0x43173e&&(_0x43173e['remove'](),_0x7863fc=!![]);}}return _0x25066e(import.meta.url);}var _0x46e68b=_0x1b53f6({'src/wda-simulator.ts'(){'use strict';_0x1ed23b();}});import{spawn as _0x291574}from'child_process';import{access as _0x1d3d40}from'fs/promises';import{join as _0x439ec7}from'path';function _0x39040e(_0x7f60b){const _0x57cbca=_0xa6e1;switch(_0x7f60b){case _0x57cbca(0x1f0):return{'bin':_0x57cbca(0x1f0),'args':[_0x57cbca(0x48e),'-D',_0x35f281]};case'pnpm':return{'bin':_0x57cbca(0x55f),'args':[_0x57cbca(0x3f7),'-D',_0x35f281]};case _0x57cbca(0x24e):return{'bin':'yarn','args':[_0x57cbca(0x3f7),'-D',_0x35f281]};case _0x57cbca(0x42b):return{'bin':'bun','args':['add','-D',_0x35f281]};}}function _0x2a8e3d(_0x490809){return _0x49eef0(_0x490809)!==null;}async function _0xc64dca(_0x46d84a){try{return await _0x1d3d40(_0x46d84a),!![];}catch{return![];}}async function _0xeefcef(_0x3bb034){for(const {file:_0x46efe9,pm:_0x43dff1}of _0x2c0b23){if(await _0xc64dca(_0x439ec7(_0x3bb034,_0x46efe9)))return _0x43dff1;}return'npm';}function _0x2bdd07(_0x362b08,_0x22a1c9){const {bin:_0x41ac76,args:_0xb7543}=_0x39040e(_0x362b08),_0x41abe1=0x5*0xea60;return new Promise(_0x3c7232=>{const _0x30d670=_0xa6e1;let _0x32ce0a;try{_0x32ce0a=_0x291574(_0x41ac76,_0xb7543,{'cwd':_0x22a1c9,'stdio':[_0x30d670(0x3e2),0x2,0x2]});}catch(_0x235abf){_0x3c7232({'ok':![],'error':'Failed\x20to\x20spawn\x20'+_0x41ac76+':\x20'+(_0x235abf instanceof Error?_0x235abf[_0x30d670(0x2aa)]:String(_0x235abf))});return;}let _0x4f448b=![];const _0x1c81fd=_0x1ba26d=>{if(_0x4f448b)return;_0x4f448b=!![],clearTimeout(_0x164d33),_0x3c7232(_0x1ba26d);},_0x164d33=setTimeout(()=>{const _0x152d11=_0x30d670;try{_0x32ce0a[_0x152d11(0x2ea)]('SIGKILL');}catch{}_0x1c81fd({'ok':![],'error':'`'+_0x41ac76+'\x20'+_0xb7543[_0x152d11(0x3c0)]('\x20')+'`\x20timed\x20out\x20after\x20'+_0x41abe1/0xea60+'min.'});},_0x41abe1);_0x32ce0a['on'](_0x30d670(0x48f),_0x2d857c=>_0x1c81fd({'ok':![],'error':'`'+_0x41ac76+'\x20'+_0xb7543[_0x30d670(0x3c0)]('\x20')+'`\x20failed\x20to\x20run:\x20'+_0x2d857c[_0x30d670(0x2aa)]})),_0x32ce0a['on']('exit',_0x116d00=>{_0x116d00===0x0?_0x1c81fd({'ok':!![]}):_0x1c81fd({'ok':![],'error':'`'+_0x41ac76+'\x20'+_0xb7543['join']('\x20')+'`\x20exited\x20with\x20code\x20'+(_0x116d00??0x1)+'.'});});});}async function _0x42b022(_0x2d2681,_0x193668={}){const _0x23985=_0xa6e1,_0x3e41db=_0x193668['isInstalled']??_0x2a8e3d,_0x50fbba=_0x193668['detectPackageManager']??_0xeefcef,_0x5cd86b=_0x193668['runInstall']??_0x2bdd07,_0x15bd64=_0x193668['log'];try{if(_0x3e41db(_0x2d2681))return'aQpER'==='ZFfpy'?{'success':![],'visible':![],'error':_0x2250f1['error']}:{'status':'present'};_0x15bd64?.(_0x23985(0x564));const _0x1d35f3=await _0x50fbba(_0x2d2681),_0x2a028f=await _0x5cd86b(_0x1d35f3,_0x2d2681);if(_0x3e41db(_0x2d2681))return{'status':'installed'};return{'status':'install-failed','error':_0x2a028f[_0x23985(0x48f)]??'appium-webdriveragent\x20still\x20isn\x27t\x20resolvable\x20after\x20`'+_0x39040e(_0x1d35f3)[_0x23985(0x4dc)]+'\x20'+_0x39040e(_0x1d35f3)['args'][_0x23985(0x3c0)]('\x20')+'`.'};}catch(_0x1a0dd3){return{'status':_0x23985(0x4fd),'error':_0x1a0dd3 instanceof Error?_0x1a0dd3['message']:String(_0x1a0dd3)};}}var _0x35f281,_0x2c0b23,_0x37bc84=_0x1b53f6({'src/ensure-appium.ts'(){'use strict';const _0x8f5394=_0xa6e1;_0x46e68b(),_0x35f281='appium-webdriveragent',_0x2c0b23=[{'file':_0x8f5394(0x3e4),'pm':'pnpm'},{'file':'yarn.lock','pm':'yarn'},{'file':'bun.lockb','pm':_0x8f5394(0x42b)},{'file':'bun.lock','pm':'bun'},{'file':'package-lock.json','pm':_0x8f5394(0x1f0)}];}});import{spawn as _0x5b16d1}from'child_process';import{readdir as _0x49bd3f,readFile as _0x35b2cd}from'fs/promises';import{join as _0x43e453,relative as _0x4cf812,sep as _0x5ea5e9}from'path';function _0x44c2f8(_0x3995a1,_0x23c9b4,_0x1e00b8=0xfa0){return new Promise(_0x88e284=>{const _0x284d86=_0xa6e1;let _0x541ccb='',_0x502282='',_0x1ad236;try{_0x1ad236=_0x5b16d1(_0x3995a1,_0x23c9b4,{'stdio':['ignore',_0x284d86(0x1e3),'pipe']});}catch(_0x587ad8){_0x88e284({'code':0x7f,'stdout':'','stderr':_0x587ad8 instanceof Error?_0x587ad8['message']:String(_0x587ad8)});return;}const _0x195ba7=setTimeout(()=>{const _0x425bd5=_0x284d86;try{_0x1ad236['kill'](_0x425bd5(0x464));}catch{}},_0x1e00b8);_0x1ad236[_0x284d86(0x376)]?.['on']('data',_0x14c854=>{_0x541ccb+=_0x14c854['toString']();}),_0x1ad236['stderr']?.['on']('data',_0x54c79d=>{const _0xd67f12=_0x284d86;_0x502282+=_0x54c79d[_0xd67f12(0x360)]();});let _0x3320d7=![];_0x1ad236['on']('error',_0x3dd444=>{if(_0x3320d7)return;_0x3320d7=!![],clearTimeout(_0x195ba7),_0x88e284({'code':0x7f,'stdout':_0x541ccb,'stderr':_0x502282+(_0x3dd444['message']??String(_0x3dd444))});}),_0x1ad236['on'](_0x284d86(0x542),_0x256c1a=>{if(_0x3320d7)return;_0x3320d7=!![],clearTimeout(_0x195ba7),_0x88e284({'code':_0x256c1a??0x1,'stdout':_0x541ccb,'stderr':_0x502282});});});}async function _0x3b9a3e(_0x488f2d,_0x18d1b2,_0x33f2cb){try{const _0x3fb61d=await _0x33f2cb();return{'name':_0x488f2d,..._0x3fb61d};}catch(_0x4bf5bc){return{'name':_0x488f2d,'ok':![],'severity':_0x18d1b2,'message':_0x4bf5bc instanceof Error?_0x4bf5bc['message']:String(_0x4bf5bc)};}}async function _0x427370(_0x5fba31,_0x3dbb3b){const _0x764ade=_0xa6e1,_0x594e04=Date[_0x764ade(0x1ec)]()+_0x3dbb3b[_0x764ade(0x4f4)];try{if(await _0x5fba31())return!![];}catch{}while(Date['now']()<_0x594e04){await new Promise(_0x496e8b=>setTimeout(_0x496e8b,_0x3dbb3b['intervalMs']));try{if(await _0x5fba31())return!![];}catch{}}return![];}async function _0x363ee3(){const _0x53d232=_0xa6e1,_0x231bc9=await _0x44c2f8(_0x53d232(0x4a2),['-getairportnetwork',_0x53d232(0x203)]);if(_0x231bc9['code']!==0x0)return null;const _0x102f4c=_0x231bc9['stdout'][_0x53d232(0x382)](/Current Wi-Fi Network:\s*(.+)$/m);if(!_0x102f4c)return null;const _0x2acae5=_0x102f4c[0x1]['trim']();if(!_0x2acae5||_0x2acae5[_0x53d232(0x55a)]()['includes'](_0x53d232(0x345)))return null;return _0x2acae5;}async function _0x38d98d(){const _0x2fba8e=_0xa6e1,_0x3da0b6=await _0x44c2f8('ipconfig',[_0x2fba8e(0x274),'en0']);if(_0x3da0b6['code']!==0x0)return null;const _0x35fe0d=_0x3da0b6['stdout'][_0x2fba8e(0x531)]();return _0x35fe0d['length']>0x0?_0x35fe0d:null;}async function _0x5cc73c(_0x3ea682){const _0x3ba0e4=[];async function _0x5ea6a7(_0x442a32){const _0x2bc777=_0xa6e1;let _0x3b314f;try{_0x3b314f=await _0x49bd3f(_0x442a32,{'withFileTypes':!![]});}catch{return;}for(const _0x23a89c of _0x3b314f){const _0x45f7af=_0x43e453(_0x442a32,_0x23a89c['name']);if(_0x23a89c['isDirectory']()){if(_0x471dd0[_0x2bc777(0x3b6)](_0x23a89c['name']))continue;await _0x5ea6a7(_0x45f7af);continue;}if(!_0x23a89c['isFile']())continue;const _0x3d4800=_0x23a89c['name'][_0x2bc777(0x2b4)]('.');if(_0x3d4800<0x0)continue;const _0x5a9374=_0x23a89c['name']['slice'](_0x3d4800)['toLowerCase']();if(!_0x18f7c3[_0x2bc777(0x3b6)](_0x5a9374))continue;let _0x20fff0;try{_0x20fff0=await _0x35b2cd(_0x45f7af,'utf-8');}catch{continue;}const _0x39ce1c=_0x4cf812(_0x3ea682,_0x45f7af)['split'](_0x5ea5e9)['join']('/');_0x3ba0e4[_0x2bc777(0x407)]({'absPath':_0x45f7af,'relPath':_0x39ce1c,'contents':_0x20fff0});}}for(const _0x3c015a of _0x2e7e77){await _0x5ea6a7(_0x43e453(_0x3ea682,_0x3c015a));}return _0x3ba0e4;}function _0x24704c(_0x269acd,_0x31a83b){const _0x5ea937=_0xa6e1,_0x3814c6=[],_0x59a299=_0x269acd['contents'],_0x1c2b1d=_0x31a83b['replace'](/[.*+?^${}()|[\]\\]/g,'\x5c$&'),_0x527e61=new RegExp('<'+_0x1c2b1d+'(?=[\x5cs/>])','g');let _0x115c52;while((_0x115c52=_0x527e61[_0x5ea937(0x342)](_0x59a299))!==null){const _0x3f1545=_0x115c52[_0x5ea937(0x261)],_0xe57aa3=_0x3f659a(_0x59a299,_0x3f1545+_0x115c52[0x0][_0x5ea937(0x358)]);if(_0xe57aa3===-0x1)continue;const _0x4dcb05=_0x59a299['slice'](_0x3f1545,_0xe57aa3+0x1),_0x2d5590=_0x59a299['slice'](0x0,_0x3f1545),_0x5057f7=(_0x2d5590[_0x5ea937(0x382)](/\n/g)?.['length']??0x0)+0x1;_0x3814c6[_0x5ea937(0x407)]({'file':_0x269acd,'line':_0x5057f7,'openingTag':_0x4dcb05});}return _0x3814c6;}function _0x3f659a(_0x5d853f,_0x7f1358){const _0x502d58=_0xa6e1;let _0x2b3455=0x0,_0x355592=![],_0x364071=![],_0x1971eb=![];for(let _0x52c219=_0x7f1358;_0x52c219<_0x5d853f['length'];_0x52c219++){const _0x5e7440=_0x5d853f[_0x52c219];if(_0x355592){if(_0x5e7440==='\x22'&&!_0x256bdf(_0x5d853f,_0x52c219))_0x355592=![];continue;}if(_0x364071){if(_0x5e7440==='\x27'&&!_0x256bdf(_0x5d853f,_0x52c219))_0x364071=![];continue;}if(_0x1971eb){if(_0x5e7440==='`'&&!_0x256bdf(_0x5d853f,_0x52c219))_0x1971eb=![];continue;}if(_0x5e7440==='\x22'){_0x355592=!![];continue;}if(_0x5e7440==='\x27'){if('NNQDU'!=='WGVTI'){_0x364071=!![];continue;}else return _0x5826d7[_0x502d58(0x4cd)]({'moduleSpecifier':_0x493af0,'namedImports':[_0x5337e7]}),!![];}if(_0x5e7440==='`'){_0x1971eb=!![];continue;}if(_0x5e7440==='{'){_0x2b3455++;continue;}if(_0x5e7440==='}'){_0x2b3455=Math['max'](0x0,_0x2b3455-0x1);continue;}if(_0x2b3455===0x0&&_0x5e7440==='>')return _0x52c219;}return-0x1;}function _0x256bdf(_0x2ec1c0,_0x49fcf5){let _0x2ef033=0x0,_0x2a6b7d=_0x49fcf5-0x1;while(_0x2a6b7d>=0x0&&_0x2ec1c0[_0x2a6b7d]==='\x5c'){_0x2ef033++,_0x2a6b7d--;}return _0x2ef033%0x2===0x1;}function _0x27ef10(_0x4c7e76){const _0x3a7930=_0xa6e1,_0x5277fd=_0x4c7e76['replace'](/\.(tsx|jsx)$/i,''),_0x262fac=_0x5277fd[_0x3a7930(0x41d)](/[\\/]/)['filter'](_0x1fefc2=>_0x1fefc2['length']>0x0);if(_0x262fac['length']===0x0)return _0x3a7930(0x365);const _0x28186c=_0x262fac[_0x262fac[_0x3a7930(0x358)]-0x1],_0x595572=_0x262fac['length']>0x1?_0x262fac[_0x262fac[_0x3a7930(0x358)]-0x2]:_0x28186c,_0x112678=new Set([_0x3a7930(0x45e),'index',_0x3a7930(0x2bf),'route','layout']),_0x479696=_0x112678[_0x3a7930(0x3b6)](_0x28186c[_0x3a7930(0x55a)]())?_0x595572:_0x28186c,_0x7995c3=_0x479696[_0x3a7930(0x2c4)](/([a-z0-9])([A-Z])/g,'$1-$2')['toLowerCase']()['replace'](/[^a-z0-9]+/g,'-')[_0x3a7930(0x2c4)](/^-+|-+$/g,'');return _0x7995c3[_0x3a7930(0x358)]>0x0?_0x7995c3:_0x3a7930(0x365);}function _0x31dcbe(_0x220681){const _0x49713f=_0xa6e1,_0x4a5b8a=/import\s*\{([^}]*)\}\s*from\s*["']expo-camera["']/g;let _0x24a484;while((_0x24a484=_0x4a5b8a['exec'](_0x220681))!==null){const _0x18c86f=_0x24a484[0x1]['split'](',')['map'](_0x244bdd=>_0x244bdd['trim']()[_0x49713f(0x41d)](/\s+as\s+/)[0x0][_0x49713f(0x531)]());if(_0x18c86f[_0x49713f(0x3bb)](_0x49713f(0x3c6)))return!![];}return![];}function _0x4df342(_0x5ded39){const _0xd29b7b=_0xa6e1,_0x832ee='imageKey';let _0x7556ed=0x0,_0x1cc47c=![],_0x26db66=![],_0x490664=![];for(let _0x3db1fc=0x0;_0x3db1fc<_0x5ded39['length'];_0x3db1fc++){const _0x1e623e=_0x5ded39[_0x3db1fc];if(_0x1cc47c){if(_0x1e623e==='\x22'&&!_0x256bdf(_0x5ded39,_0x3db1fc))_0x1cc47c=![];continue;}if(_0x26db66){if(_0x1e623e==='\x27'&&!_0x256bdf(_0x5ded39,_0x3db1fc))_0x26db66=![];continue;}if(_0x490664){if(_0x1e623e==='`'&&!_0x256bdf(_0x5ded39,_0x3db1fc))_0x490664=![];continue;}if(_0x1e623e==='\x22'){_0x1cc47c=!![];continue;}if(_0x1e623e==='\x27'){_0x26db66=!![];continue;}if(_0x1e623e==='`'){_0x490664=!![];continue;}if(_0x1e623e==='{'){_0x7556ed++;continue;}if(_0x1e623e==='}'){if(_0xd29b7b(0x1aa)==='DSBdc')return{'name':'mcp-clients','status':'error','details':{'error':_0x4d9324(_0xf56eb7),'dryRun':!![]}};else{_0x7556ed=Math[_0xd29b7b(0x241)](0x0,_0x7556ed-0x1);continue;}}if(_0x7556ed!==0x0)continue;if(_0x1e623e!=='i')continue;if(_0x5ded39[_0xd29b7b(0x201)](_0x3db1fc,_0x3db1fc+_0x832ee['length'])!==_0x832ee)continue;const _0x59ee3d=_0x3db1fc===0x0?'\x20':_0x5ded39[_0x3db1fc-0x1];if(/[A-Za-z0-9_$]/[_0xd29b7b(0x3a0)](_0x59ee3d))continue;const _0x31ef3e=_0x5ded39[_0x3db1fc+_0x832ee[_0xd29b7b(0x358)]]??'';if(_0x31ef3e!=='='&&!/\s/[_0xd29b7b(0x3a0)](_0x31ef3e))continue;let _0x365a59=_0x3db1fc+_0x832ee[_0xd29b7b(0x358)];while(_0x365a59<_0x5ded39[_0xd29b7b(0x358)]&&/\s/['test'](_0x5ded39[_0x365a59]))_0x365a59++;if(_0x5ded39[_0x365a59]!=='='){_0x3db1fc=_0x365a59-0x1;continue;}_0x365a59++;while(_0x365a59<_0x5ded39['length']&&/\s/[_0xd29b7b(0x3a0)](_0x5ded39[_0x365a59]))_0x365a59++;const _0x1869b2=_0x5ded39[_0x365a59];if(_0x1869b2==='\x22'||_0x1869b2==='\x27'){let _0x45b333=_0x365a59+0x1;while(_0x45b333<_0x5ded39[_0xd29b7b(0x358)]&&!(_0x5ded39[_0x45b333]===_0x1869b2&&!_0x256bdf(_0x5ded39,_0x45b333))){if(_0xd29b7b(0x4e9)!==_0xd29b7b(0x4e9))return{'kind':_0xd29b7b(0x248),'path':_0x11eb05,'reason':_0xd29b7b(0x2e9)};else _0x45b333++;}const _0x2a6082=_0x5ded39[_0xd29b7b(0x554)](_0x365a59+0x1,_0x45b333);if(_0x2a6082['trim']()[_0xd29b7b(0x358)]===0x0)return{'present':![]};return{'present':!![],'value':_0x2a6082};}if(_0x1869b2==='{')return{'present':!![],'value':null};return{'present':![]};}return{'present':![]};}async function _0xb3ba0e(_0x460892){const _0x2a459e=_0xa6e1,{screen:_0x4d9ee0,apps:_0x4b461c,autonomy:_0x4378a2,bundleId:_0x46068b,requiredEnv:_0x1c0e76,expectedNetwork:_0x4fd9f9,projectDir:projectDir=process['cwd'](),target:_0x3f51b0,excludeRuntimeChecks:excludeRuntimeChecks=![],screenRecordingStatus:screenRecordingStatus=_0x2de1c3,ensureAppium:ensureAppium=_0x42b022}=_0x460892,_0x4c5e75=!excludeRuntimeChecks&&_0x3f51b0?await _0x3f51b0[_0x2a459e(0x3f8)]()[_0x2a459e(0x3e8)](()=>null):null,_0x2c2232=_0x4c5e75?.[_0x2a459e(0x3ed)]==='simulator',_0x5e3a72=_0xd5f358(projectDir),_0x25350c=_0x5e3a72[_0x2a459e(0x298)](_0x518cd8=>{const _0x4bfcef=_0x2a459e;if(_0x518cd8[_0x4bfcef(0x1c7)]==='missing-dir')return{'name':'camera-registry-synced','ok':!![],'severity':_0x4bfcef(0x180),'message':'Skipped\x20—\x20no\x20.ceraph/camera-images/\x20directory.\x20Drop\x20test\x20images\x20there\x20to\x20enable\x20the\x20camera\x20shim.'};return{'name':'camera-registry-synced','ok':!![],'severity':'info','message':'Camera\x20image\x20registry\x20'+_0x518cd8['writtenOrUnchanged']+'\x20('+_0x518cd8['registered']['length']+'\x20image'+(_0x518cd8['registered'][_0x4bfcef(0x358)]===0x1?'':'s')+')\x20at\x20'+_0x1f0a95(projectDir,_0x518cd8['registryPath'])+'.','details':{'registered':_0x518cd8[_0x4bfcef(0x583)][_0x4bfcef(0x471)](_0x14572f=>_0x14572f['key']),'state':_0x518cd8['writtenOrUnchanged']}};},_0x58ca09=>({'name':_0x2a459e(0x4ef),'ok':![],'severity':'warning','message':_0x2a459e(0x46e)+(_0x58ca09 instanceof Error?_0x58ca09['message']:String(_0x58ca09))})),_0x4dfeb8=_0x5cc73c(projectDir),_0x909a4d=_0x3b9a3e('camera-views-unwrapped','warning',async()=>{const _0x208bec=_0x2a459e;if(_0x208bec(0x23e)!==_0x208bec(0x2fa)){const _0x3bef93=await _0x4dfeb8,_0x588587=[];for(const _0x3ea0cd of _0x3bef93){if(!_0x31dcbe(_0x3ea0cd[_0x208bec(0x388)]))continue;const _0x1164de=_0x24704c(_0x3ea0cd,_0x208bec(0x3c6));for(const _0x5ea53d of _0x1164de){_0x588587['push'](_0x5ea53d['file'][_0x208bec(0x539)]+':'+_0x5ea53d[_0x208bec(0x31b)]);}}if(_0x588587[_0x208bec(0x358)]===0x0)return{'ok':!![],'severity':_0x208bec(0x38c),'message':_0x208bec(0x1e2)};return{'ok':![],'severity':'warning','message':'Found\x20'+_0x588587[_0x208bec(0x358)]+_0x208bec(0x329),'remediation':_0x208bec(0x1b8),'details':{'offenders':_0x588587}};}else return{'success':!![],'results':_0x8b18d0[_0x208bec(0x471)](_0xd712a0=>({'query':_0xd712a0[_0x208bec(0x213)],'element':_0xd712a0['element'],'tappedAt':_0xd712a0['center']})),'batched':!![]};}),_0xb86f33=_0x3b9a3e('camera-imageKey-setup',_0x2a459e(0x180),async()=>{const _0x50a200=_0x2a459e,_0x2f6336=await _0x4dfeb8,_0x3045af=[];for(const _0x60e1e7 of _0x2f6336){const _0x36684a=_0x24704c(_0x60e1e7,_0x50a200(0x53f));for(const _0x4d42fb of _0x36684a){if('zxaSO'==='zxaSO'){const _0x501cc3=_0x4df342(_0x4d42fb['openingTag']);!_0x501cc3[_0x50a200(0x4c1)]&&_0x3045af[_0x50a200(0x407)]({'location':_0x4d42fb['file'][_0x50a200(0x539)]+':'+_0x4d42fb[_0x50a200(0x31b)],'file':_0x4d42fb[_0x50a200(0x362)][_0x50a200(0x539)],'line':_0x4d42fb['line'],'suggestedKey':_0x27ef10(_0x4d42fb['file']['relPath'])});}else return _0x3bc7f3['scheme']=_0xb3a3db[0x0],{'changed':!![],'previousScheme':_0x97b11e,'nextScheme':_0x3138fd[0x0]};}}if(_0x3045af['length']===0x0)return{'ok':!![],'severity':_0x50a200(0x180),'message':'All\x20<CeraphCamera>\x20components\x20have\x20an\x20explicit\x20imageKey\x20(or\x20use\x20a\x20runtime\x20sentinel).'};return{'ok':!![],'severity':_0x50a200(0x180),'message':_0x3045af['length']+_0x50a200(0x4e1)+(_0x3045af['length']===0x1?'':'s')+'\x20awaiting\x20imageKey\x20assignment\x20('+_0x3045af[_0x50a200(0x471)](_0x83b80e=>_0x83b80e['location'])[_0x50a200(0x3c0)](',\x20')+').','remediation':'Ask\x20the\x20user\x20about\x20each\x20camera\x20screen\x20and\x20use\x20`ceraph_init_replace_camera`\x20to\x20set\x20the\x20imageKey.\x20Three\x20options\x20per\x20camera:\x20(A)\x20imageKey=\x22default\x22\x20—\x20bundled\x201024x1024\x20black\x20PNG.\x20Right\x20for\x20tests\x20that\x20don\x27t\x20care\x20about\x20image\x20content\x20(most\x20form/upload\x20flows).\x20(B)\x20imageKey=\x22<scenario>\x22\x20—\x20a\x20specific\x20test\x20image.\x20Drop\x20the\x20file\x20at\x20.ceraph/camera-images/<scenario>.{jpg,png,webp}\x20(use\x20`ceraph_add_camera_image`\x20to\x20write\x20it\x20programmatically)\x20and\x20re-run\x20`rn_sync_camera_registry`.\x20(C)\x20imageKey=\x22@runtime\x22\x20—\x20multi-image\x20flows\x20where\x20the\x20planner\x20picks\x20the\x20image\x20per-step\x20at\x20runtime;\x20the\x20shim\x20won\x27t\x20lock\x20the\x20camera\x20to\x20any\x20static\x20key.','details':{'uninitializedCameras':_0x3045af}};}),_0xdb6273=_0x3b9a3e(_0x2a459e(0x4a0),'error',async()=>{const _0x341b38=_0x2a459e,[_0x346ca5,_0x2bd56a]=await Promise[_0x341b38(0x290)]([_0x5e3a72,_0x4dfeb8]),_0x5aa8ed=new Set(_0x346ca5['registered'][_0x341b38(0x471)](_0x5739ad=>_0x5739ad['key'])),_0x54ac7f=[];for(const _0x4ef5aa of _0x2bd56a){const _0x225db9=_0x24704c(_0x4ef5aa,_0x341b38(0x53f));for(const _0x25d44e of _0x225db9){const _0x13273d=_0x4df342(_0x25d44e[_0x341b38(0x2d3)]);if(!_0x13273d[_0x341b38(0x4c1)])continue;if(_0x13273d[_0x341b38(0x267)]===null)continue;if(_0x13273d['value']===_0x341b38(0x22c))continue;if(_0x13273d['value'][_0x341b38(0x317)]('@'))continue;!_0x5aa8ed[_0x341b38(0x3b6)](_0x13273d['value'])&&_0x54ac7f['push']({'location':_0x25d44e[_0x341b38(0x362)][_0x341b38(0x539)]+':'+_0x25d44e['line'],'key':_0x13273d['value']});}}if(_0x54ac7f['length']===0x0)return{'ok':!![],'severity':'error','message':'All\x20<CeraphCamera\x20imageKey>\x20values\x20resolve\x20to\x20files\x20in\x20.ceraph/camera-images/.'};const _0x590004=_0x54ac7f['map'](_0x2bd809=>_0x2bd809['location']+_0x341b38(0x240)+_0x2bd809['key']+'\x22)')[_0x341b38(0x3c0)](';\x20');return{'ok':![],'severity':'error','message':_0x341b38(0x28e)+_0x54ac7f[_0x341b38(0x358)]+'\x20orphan\x20imageKey\x20reference(s):\x20'+_0x590004+'.','remediation':_0x341b38(0x1c8),'details':{'orphans':_0x54ac7f}};}),_0x388c27=excludeRuntimeChecks?null:_0x3f51b0?Promise[_0x2a459e(0x3f8)]({'name':'target-selected','ok':!![],'severity':'info','message':_0x4c5e75?_0x2a459e(0x55d)+_0x4c5e75['target']+'\x20('+_0x4c5e75[_0x2a459e(0x3c8)]+').\x20WDA\x20base\x20URL:\x20'+_0x4c5e75['baseUrl']+(_0x4c5e75['udid']?_0x2a459e(0x32a)+_0x4c5e75[_0x2a459e(0x1bd)]:''):'Target:\x20unknown\x20(resolver\x20failed).\x20Falling\x20back\x20to\x20device\x20defaults.','details':_0x4c5e75?{'target':_0x4c5e75['target'],'reason':_0x4c5e75['reason'],'baseUrl':_0x4c5e75[_0x2a459e(0x4ab)],'udid':_0x4c5e75['udid'],'preferenceEnv':process.env.CERAPH_TARGET??null}:void 0x0}):null,_0x4725d0='Call\x20rn_wda_start\x20to\x20launch\x20WebDriverAgent\x20on\x20the\x20simulator,\x20then\x20retry\x20(first\x20launch\x20runs\x20a\x20one-time\x20xcodebuild\x20for\x20code\x20signing;\x20later\x20launches\x20reuse\x20the\x20cache).',_0x481a8e='Ensure\x20WebDriverAgent\x20is\x20running\x20on\x20the\x20device\x20(Xcode\x20→\x20run\x20WDA\x20target\x20on\x20your\x20iPhone,\x20or\x20check\x20`iproxy\x208100\x208100`).',_0xfbf625=_0x4c5e75?.[_0x2a459e(0x4d3)]??!![],_0x4a001e=_0xfbf625?_0x4c5e75?.[_0x2a459e(0x4ab)]??_0x2a459e(0x211):null;let _0x47a9ed,_0x32bce9;if(excludeRuntimeChecks)_0x47a9ed=null,_0x32bce9=null;else{if(!_0x2c2232&&_0x460892['iproxyManager']){const _0x24c5de=_0x460892[_0x2a459e(0x369)],_0x1abd38=(async()=>{const _0x57ddf5=_0x2a459e;let _0x31594f=await _0x4d9ee0['isAvailable'](),_0x86da7,_0x7c4da8=!![],_0x5d3741,_0x8ec128;if(_0x31594f){if('QCdLD'!==_0x57ddf5(0x19e)){const _0x4f0399=_0x4e94d3['getBody']();if(_0x430adb['isBlock'](_0x4f0399))_0xaa44eb=_0x4f0399;else{if(_0x293f75[_0x57ddf5(0x58d)](_0x4f0399)){const _0x3333f2=_0x4f0399[_0x57ddf5(0x1cb)]();if(_0x16bc0d['isIdentifier'](_0x3333f2)&&_0x3333f2['getText']()===_0x39d94d)return _0x57ddf5(0x1d1);}return _0x57ddf5(0x253);}}else _0x86da7='WebDriverAgent\x20already\x20reachable\x20—\x20skipped\x20iproxy\x20auto-bridge.';}else{const _0x3c6f7f=await _0x4b461c[_0x57ddf5(0x39c)]()['catch'](()=>null);if(!_0x3c6f7f)_0x7c4da8=![],_0x86da7=_0x57ddf5(0x287),_0x5d3741='Connect\x20your\x20iPhone\x20via\x20USB-C\x20and\x20trust\x20this\x20Mac,\x20then\x20re-run\x20doctor.';else{if('hSMDt'!=='hSMDt')return _0x2f9cb6;else{const _0x2ae36f=await _0x24c5de[_0x57ddf5(0x565)](_0x3c6f7f);if(_0x2ae36f['ok'])_0x31594f=await _0x427370(()=>_0x4d9ee0['isAvailable'](),{'intervalMs':0xfa,'timeoutMs':0x9c4}),_0x86da7=_0x57ddf5(0x2c2)+_0x2ae36f[_0x57ddf5(0x520)]+').',_0x8ec128={'pid':_0x2ae36f[_0x57ddf5(0x520)],'udid':_0x3c6f7f};else{if(_0x2ae36f['reason']===_0x57ddf5(0x1fa))_0x31594f=await _0x427370(()=>_0x4d9ee0[_0x57ddf5(0x1d3)](),{'intervalMs':0xfa,'timeoutMs':0x9c4}),_0x86da7=_0x57ddf5(0x4f7);else _0x2ae36f[_0x57ddf5(0x3c8)]===_0x57ddf5(0x24f)?(_0x7c4da8=![],_0x86da7=_0x57ddf5(0x4c5),_0x5d3741=_0x57ddf5(0x33b)):(_0x7c4da8=![],_0x86da7=_0x57ddf5(0x495)+(_0x2ae36f[_0x57ddf5(0x461)]?.[0x0]??_0x57ddf5(0x51c))+'.',_0x5d3741=_0x57ddf5(0x3bd),_0x8ec128={'stderr':_0x2ae36f[_0x57ddf5(0x461)]});}}}}const _0x2d2f7a={'name':'iproxy-bridge','ok':_0x7c4da8,'severity':'warning','message':_0x86da7,'remediation':_0x5d3741,'details':_0x8ec128},_0x1983ae=_0x31594f?{'name':_0x57ddf5(0x449),'ok':!![],'severity':'error','message':'WebDriverAgent\x20is\x20reachable\x20at\x20'+_0x4a001e+'.'}:{'name':_0x57ddf5(0x449),'ok':![],'severity':'error','message':_0x4a001e?'WebDriverAgent\x20is\x20not\x20reachable\x20at\x20'+_0x4a001e+'.':_0x57ddf5(0x3fc),'remediation':_0x481a8e};return{'bridge':_0x2d2f7a,'wda':_0x1983ae};})()['catch'](_0x13321e=>({'bridge':{'name':'iproxy-bridge','ok':![],'severity':_0x2a459e(0x38c),'message':_0x2a459e(0x549)+(_0x13321e instanceof Error?_0x13321e[_0x2a459e(0x2aa)]:String(_0x13321e))},'wda':{'name':_0x2a459e(0x449),'ok':![],'severity':_0x2a459e(0x48f),'message':'WDA\x20reachability\x20probe\x20threw:\x20'+(_0x13321e instanceof Error?_0x13321e['message']:String(_0x13321e))}}));_0x47a9ed=_0x1abd38['then'](_0x199d27=>_0x199d27['bridge']),_0x32bce9=_0x1abd38[_0x2a459e(0x298)](_0x4f378c=>_0x4f378c[_0x2a459e(0x44a)]);}else _0x47a9ed=Promise['resolve']({'name':'iproxy-bridge','ok':!![],'severity':'info','message':_0x2c2232?'Skipped\x20—\x20iproxy\x20auto-bridge\x20not\x20applicable\x20to\x20simulator\x20targets.':'Skipped\x20—\x20iproxy\x20auto-bridge\x20not\x20enabled\x20for\x20this\x20doctor\x20call.'}),_0x32bce9=_0x3b9a3e('wda-reachable',_0x2a459e(0x48f),async()=>{const _0x25d5d1=_0x2a459e,_0x3adfa5=await _0x4d9ee0['isAvailable']();if(_0x3adfa5)return{'ok':!![],'severity':_0x25d5d1(0x48f),'message':_0x25d5d1(0x2d4)+_0x4a001e+'.'};return{'ok':![],'severity':'error','message':_0x4a001e?_0x25d5d1(0x26f)+_0x4a001e+'.':'WebDriverAgent\x20is\x20not\x20ready\x20(simulator\x20selected,\x20no\x20port\x20captured\x20yet).','remediation':_0x2c2232?_0x4725d0:_0x481a8e};});}const _0x48d857=_0x2c2232?_0x2a459e(0x38c):_0x2a459e(0x48f),_0x3356a2=excludeRuntimeChecks?null:_0x3b9a3e('real-device-connected',_0x48d857,async()=>{const _0x2b51b8=_0x2a459e,_0x297954=await _0x4b461c['getUdid']();if(_0x297954)return{'ok':!![],'severity':_0x48d857,'message':'Real\x20iOS\x20device\x20connected\x20(udid\x20'+_0x297954+').','details':{'udid':_0x297954}};if(_0x2c2232)return{'ok':!![],'severity':'info','message':'No\x20real\x20iOS\x20device\x20detected\x20—\x20target\x20is\x20simulator,\x20so\x20this\x20is\x20fine.'};return{'ok':![],'severity':_0x48d857,'message':'No\x20iOS\x20target\x20available.','remediation':_0x2b51b8(0x20b)};}),_0x262c1b=excludeRuntimeChecks?null:_0x3b9a3e(_0x2a459e(0x377),_0x2a459e(0x48f),async()=>{const _0x1599ab=_0x2a459e,_0xe70e22=await _0x4378a2[_0x1599ab(0x33c)]();if(_0xe70e22['awake'])return{'ok':!![],'severity':'error','message':'Device\x20is\x20awake\x20(lockState:\x20'+_0xe70e22[_0x1599ab(0x417)]+').','details':{'lockState':_0xe70e22['lockState']}};return{'ok':![],'severity':_0x1599ab(0x48f),'message':_0x1599ab(0x494)+_0xe70e22['lockState']+').','remediation':_0xe70e22['remediation']??_0x1599ab(0x31e),'details':{'lockState':_0xe70e22[_0x1599ab(0x417)]}};}),_0x1d9ccf=excludeRuntimeChecks?null:Promise['resolve']({'name':_0x2a459e(0x35e),'ok':!![],'severity':'info','message':_0x2a459e(0x3e3)}),_0xaf1586=excludeRuntimeChecks?null:_0x3b9a3e('ffmpeg-installed','warning',async()=>{const _0x73ec7b=_0x2a459e;if(_0x2c2232)return{'ok':!![],'severity':'info','message':_0x73ec7b(0x2f2)};const _0x4342b3=await _0x44c2f8(_0x73ec7b(0x489),[_0x73ec7b(0x573)]),_0x169d1f=_0x4342b3[_0x73ec7b(0x359)]===0x0&&_0x4342b3['stdout'][_0x73ec7b(0x531)]()[_0x73ec7b(0x358)]>0x0;if(_0x169d1f)return{'ok':!![],'severity':'info','message':'ffmpeg\x20available\x20at\x20'+_0x4342b3[_0x73ec7b(0x376)]['trim']()+_0x73ec7b(0x305),'details':{'path':_0x4342b3[_0x73ec7b(0x376)][_0x73ec7b(0x531)]()}};return{'ok':![],'severity':'warning','message':'ffmpeg\x20not\x20found\x20—\x20continuous\x20chain-run\x20video\x20capture\x20will\x20be\x20skipped.\x20Tests\x20still\x20execute\x20normally.','remediation':_0x73ec7b(0x285)};}),_0x48bdb1=excludeRuntimeChecks||!_0x2c2232?null:_0x3b9a3e(_0x2a459e(0x56d),'error',async()=>{const _0x1edb58=_0x2a459e,_0x34d887=await ensureAppium(projectDir);if(_0x34d887[_0x1edb58(0x17a)]==='present')return{'ok':!![],'severity':'info','message':_0x1edb58(0x3d8),'details':{'status':_0x34d887['status']}};if(_0x34d887['status']===_0x1edb58(0x3ef))return{'ok':!![],'severity':_0x1edb58(0x180),'message':'Installed\x20appium-webdriveragent\x20—\x20simulator\x20WebDriverAgent\x20can\x20build.','details':{'status':_0x34d887['status']}};if(_0x34d887[_0x1edb58(0x17a)]==='skipped-not-needed')return{'ok':!![],'severity':'info','message':_0x1edb58(0x460),'details':{'status':_0x34d887['status']}};return{'ok':![],'severity':_0x1edb58(0x48f),'message':_0x1edb58(0x2e6)+_0x34d887[_0x1edb58(0x48f)],'remediation':'Couldn\x27t\x20auto-install\x20appium-webdriveragent\x20(the\x20optional\x20dep\x20the\x20simulator\x20WebDriverAgent\x20builds\x20from).\x20Install\x20it\x20manually\x20with\x20`npm\x20install\x20-D\x20appium-webdriveragent`\x20(or\x20`pnpm\x20add\x20-D\x20appium-webdriveragent`),\x20then\x20re-run\x20doctor.','details':{'status':_0x34d887[_0x1edb58(0x17a)]}};}),_0x2634a2=excludeRuntimeChecks||!screenRecordingStatus||_0x4c5e75?.[_0x2a459e(0x3ed)]!==_0x2a459e(0x2c0)?null:_0x3b9a3e('screen-recording-permission','warning',async()=>{const _0x52cd7f=_0x2a459e,_0x44165f=screenRecordingStatus();if(_0x44165f==='granted')return{'ok':!![],'severity':'info','message':_0x52cd7f(0x496),'details':{'status':_0x44165f}};const _0x830cab=_0x44165f===_0x52cd7f(0x1ad)?_0x52cd7f(0x355):'Screen\x20Recording\x20permission\x20denied\x20—\x20session\x20video\x20won\x27t\x20record\x20(tests\x20run\x20regardless).\x20Click\x20Allow\x20if\x20the\x20dialog\x20reappears,\x20or\x20grant\x20it\x20manually.';return{'ok':![],'severity':_0x52cd7f(0x38c),'message':_0x830cab,'remediation':_0x2f2b88,'details':{'status':_0x44165f}};}),_0x5e930e=excludeRuntimeChecks?null:_0x46068b?_0x3b9a3e(_0x2a459e(0x364),_0x2a459e(0x48f),async()=>{const _0x546eee=_0x2a459e,_0x4d323b=await _0x4b461c[_0x546eee(0x31f)]();if(!_0x4d323b['success'])return{'ok':![],'severity':'error','message':'Could\x20not\x20list\x20installed\x20apps:\x20'+(_0x4d323b[_0x546eee(0x48f)]??_0x546eee(0x51c)),'remediation':'Ensure\x20your\x20device\x20is\x20connected\x20and\x20Xcode\x20is\x20installed\x20(`xcrun\x20devicectl\x20list\x20devices`).'};const _0x48ce98=_0x4d323b[_0x546eee(0x44e)]['find'](_0x2a7207=>_0x2a7207[_0x546eee(0x4ad)]===_0x46068b);if(_0x48ce98)return{'ok':!![],'severity':'error','message':'App\x20'+_0x46068b+'\x20is\x20installed\x20('+_0x48ce98['name']+(_0x48ce98[_0x546eee(0x483)]?'\x20v'+_0x48ce98[_0x546eee(0x483)]:'')+').','details':{'bundleId':_0x46068b,'name':_0x48ce98[_0x546eee(0x273)],'version':_0x48ce98[_0x546eee(0x483)]}};return{'ok':![],'severity':'error','message':_0x546eee(0x4e4)+_0x46068b+_0x546eee(0x392),'remediation':_0x546eee(0x4b8),'details':{'bundleId':_0x46068b,'installedCount':_0x4d323b['apps']['length']}};}):Promise[_0x2a459e(0x3f8)]({'name':_0x2a459e(0x364),'ok':!![],'severity':'info','message':_0x2a459e(0x40d)}),_0x15bda7=excludeRuntimeChecks?null:_0x1c0e76&&_0x1c0e76[_0x2a459e(0x358)]>0x0?_0x3b9a3e(_0x2a459e(0x522),'error',async()=>{const _0x319b67=_0x2a459e;if(_0x319b67(0x2c1)==='GCwPa')_0x544805(_0x36eae8(_0x319b67(0x3fb)));else{const _0xb27818=_0x1c0e76['filter'](_0x103180=>{const _0x2ecdf4=process.env[_0x103180];return _0x2ecdf4===void 0x0||_0x2ecdf4==='';});if(_0xb27818['length']===0x0)return{'ok':!![],'severity':'error','message':'All\x20'+_0x1c0e76['length']+'\x20required\x20env\x20var(s)\x20present.','details':{'required':_0x1c0e76}};return{'ok':![],'severity':'error','message':_0x319b67(0x4d5)+_0xb27818[_0x319b67(0x3c0)](',\x20')+'.','remediation':'Set\x20the\x20missing\x20vars\x20before\x20running:\x20'+_0xb27818[_0x319b67(0x471)](_0x20b312=>_0x319b67(0x23b)+_0x20b312+_0x319b67(0x303))[_0x319b67(0x3c0)](';\x20')+'\x20(or\x20add\x20them\x20to\x20.env.local).','details':{'missing':_0xb27818,'required':_0x1c0e76}};}}):Promise[_0x2a459e(0x3f8)]({'name':'required-env-vars','ok':!![],'severity':_0x2a459e(0x180),'message':'Skipped\x20—\x20no\x20required\x20env\x20vars\x20declared.'}),_0x1d63fa=excludeRuntimeChecks?null:_0x3b9a3e('laptop-network',_0x2a459e(0x38c),async()=>{const _0x43e467=_0x2a459e,[_0x273584,_0x357178]=await Promise[_0x43e467(0x290)]([_0x363ee3(),_0x38d98d()]),_0x560096={'ssid':_0x273584,'ip':_0x357178};if(_0x4fd9f9&&_0x273584&&_0x273584!==_0x4fd9f9){if('ZjZvB'==='wUXsb'){const _0x16e347=_0xc14337['hardwareProperties']?.['platform']?.[_0x43e467(0x55a)]()??'',_0x1d6202=_0x2aa313['connectionProperties']?.['tunnelState']?.[_0x43e467(0x55a)]()??'';return _0x16e347['includes'](_0x43e467(0x331))&&_0x1d6202==='connected';}else return{'ok':![],'severity':_0x43e467(0x38c),'message':'Laptop\x20is\x20on\x20WiFi\x20\x27'+_0x273584+'\x27\x20at\x20'+(_0x357178??'<no\x20IP>')+'.\x20Expected\x20\x27'+_0x4fd9f9+'\x27.','remediation':'Join\x20the\x20same\x20WiFi\x20network\x20as\x20your\x20phone,\x20or\x20update\x20the\x20expectedNetwork\x20doctor\x20option.','details':_0x560096};}return{'ok':!![],'severity':_0x43e467(0x180),'message':_0x43e467(0x4db)+(_0x273584??'<unknown>')+_0x43e467(0x1dc)+(_0x357178??_0x43e467(0x371))+'.\x20If\x20you\x20see\x20network\x20timeout\x20errors\x20during\x20the\x20run,\x20verify\x20your\x20phone\x20is\x20on\x20the\x20same\x20network.','details':_0x560096};}),_0x34b8d8=excludeRuntimeChecks?null:Promise['resolve']({'name':_0x2a459e(0x21c),'ok':!![],'severity':'info','message':'Permission\x20interceptor\x20middleware\x20is\x20wired.\x20iOS\x20system\x20permission\x20dialogs\x20will\x20be\x20auto-accepted\x20during\x20flows\x20(configurable\x20via\x20the\x20`CERAPH_AUTO_ACCEPT_PERMISSIONS`\x20env\x20var:\x20`auto-accept`\x20|\x20`ask`\x20|\x20`off`).'}),_0x5f117b=await Promise[_0x2a459e(0x290)]([_0x25350c,_0x388c27,_0x47a9ed,_0x32bce9,_0x3356a2,_0x262c1b,_0x1d9ccf,_0x5e930e,_0x15bda7,_0x1d63fa,_0x34b8d8,_0xaf1586,_0x48bdb1,_0x2634a2,_0x909a4d,_0xb86f33,_0xdb6273][_0x2a459e(0x422)](_0x335007=>_0x335007!==null)),_0x1dec39=!_0x5f117b[_0x2a459e(0x179)](_0x1e1c57=>_0x1e1c57['severity']==='error'&&!_0x1e1c57['ok']),_0x52ee3b=_0x5f117b['find'](_0x15b17d=>_0x15b17d['name']==='ffmpeg-installed');let _0x42e4f1;return _0x52ee3b&&(_0x2c2232?_0x42e4f1=void 0x0:_0x42e4f1=_0x52ee3b['ok']),{'ok':_0x1dec39,'checks':_0x5f117b,'ffmpegInstalled':_0x42e4f1};}var _0x2e7e77,_0x18f7c3,_0x471dd0,_0x3152e0=_0x1b53f6({'src/doctor.ts'(){'use strict';const _0x4ab125=_0xa6e1;_0xb8aac8(),_0x5479af(),_0x37bc84(),_0x2e7e77=[_0x4ab125(0x38e),_0x4ab125(0x224),_0x4ab125(0x556)],_0x18f7c3=new Set([_0x4ab125(0x56f),'.jsx']),_0x471dd0=new Set(['node_modules',_0x4ab125(0x20e),_0x4ab125(0x37a),'.git',_0x4ab125(0x454),'.expo','.next','ios',_0x4ab125(0x469)]);}}),_0x2de720,_0x54f58f,_0x4ce409,_0x139e50,_0x238715,_0x372ba8,_0x27669c,_0x34c1ae,_0x1d6b36,_0x5e9a70=_0x1b53f6({'src/init/claude-hook-constants.ts'(){'use strict';const _0x57d0fd=_0xa6e1;_0x2de720='#!/bin/bash\x0a#\x20rn-error-notify.sh\x20—\x20Injected\x20by\x20@ceraph/react-native-mcp\x20init\x0a#\x20Reads\x20.rn-errors.json\x20and\x20injects\x20runtime\x20errors\x20into\x20Claude\x27s\x20context.\x0a\x0aERROR_FILE=\x22$CLAUDE_PROJECT_DIR/mobile/.rn-errors.json\x22\x0a\x0a#\x20Also\x20check\x20project\x20root\x20if\x20mobile/\x20doesn\x27t\x20exist\x0aif\x20[\x20!\x20-f\x20\x22$ERROR_FILE\x22\x20];\x20then\x0a\x20\x20ERROR_FILE=\x22$CLAUDE_PROJECT_DIR/.rn-errors.json\x22\x0afi\x0a\x0aif\x20[\x20!\x20-f\x20\x22$ERROR_FILE\x22\x20];\x20then\x0a\x20\x20exit\x200\x0afi\x0a\x0aERROR_COUNT=$(jq\x20-r\x20\x27.errors\x20|\x20length\x27\x20\x22$ERROR_FILE\x22\x202>/dev/null)\x0a\x0aif\x20[\x20\x22$ERROR_COUNT\x22\x20=\x20\x220\x22\x20]\x20||\x20[\x20-z\x20\x22$ERROR_COUNT\x22\x20];\x20then\x0a\x20\x20exit\x200\x0afi\x0a\x0aecho\x20\x22REACT\x20NATIVE\x20RUNTIME\x20ERROR\x20DETECTED:\x22\x0aecho\x20\x22\x22\x0ajq\x20-r\x20\x27.errors[]\x20|\x20\x22Error:\x20\x5c(.message)\x5cnStack:\x20\x5c(.stack)\x5cnTime:\x20\x5c(.timestamp)\x5cn---\x22\x27\x20\x22$ERROR_FILE\x22\x202>/dev/null\x0aecho\x20\x22\x22\x0aecho\x20\x22Use\x20rn_get_errors\x20for\x20full\x20details.\x20Fix\x20the\x20error\x20and\x20rebuild.\x22\x0a',_0x54f58f='#!/bin/bash\x0a#\x20rn-flow-progress-notify.sh\x20—\x20Injected\x20by\x20@ceraph/react-native-mcp\x20init\x0a#\x20Reads\x20.rn-flow-progress.json\x20and\x20injects\x20a\x20one-line\x20heartbeat\x20into\x0a#\x20Claude\x27s\x20context.\x20HEARTBEAT\x20ONLY\x20—\x20no\x20step-level\x20failure\x20details.\x0a\x0aENTRY_FILE=\x22$CLAUDE_PROJECT_DIR/mobile/.rn-flow-progress.json\x22\x0aif\x20[\x20!\x20-f\x20\x22$ENTRY_FILE\x22\x20];\x20then\x0a\x20\x20ENTRY_FILE=\x22$CLAUDE_PROJECT_DIR/.rn-flow-progress.json\x22\x0afi\x0aif\x20[\x20!\x20-f\x20\x22$ENTRY_FILE\x22\x20];\x20then\x0a\x20\x20exit\x200\x0afi\x0a\x0a#\x20If\x20jq\x20isn\x27t\x20installed,\x20exit\x20quietly\x20—\x20the\x20heartbeat\x20is\x20best-effort.\x0aif\x20!\x20command\x20-v\x20jq\x20>/dev/null\x202>&1;\x20then\x0a\x20\x20exit\x200\x0afi\x0a\x0aENTRY=$(jq\x20-r\x20\x27.entry\x27\x20\x22$ENTRY_FILE\x22\x202>/dev/null)\x0aif\x20[\x20\x22$ENTRY\x22\x20=\x20\x22null\x22\x20]\x20||\x20[\x20-z\x20\x22$ENTRY\x22\x20];\x20then\x0a\x20\x20exit\x200\x0afi\x0a\x0a#\x20jq\x20\x27//\x20\x22\x22\x27\x20(works\x20in\x20jq\x201.4+;\x20\x22//\x20empty\x22\x20needed\x201.5+\x20and\x20would\x20have\x0a#\x20silently\x20aborted\x20older\x20shells)\x20makes\x20jq\x20emit\x20an\x20empty\x20string\x20for\x0a#\x20missing\x20fields\x20rather\x20than\x20the\x20literal\x20\x22null\x22.\x20Defaults\x20below\x20keep\x0a#\x20set\x20-e\x20shells\x20happy\x20in\x20the\x20arithmetic\x20+\x20awk\x20expansions\x20even\x20when\x0a#\x20the\x20entry\x20is\x20partial\x20(transient\x20state\x20if\x20the\x20file\x20is\x20read\x0a#\x20mid-write).\x0aFLOW=$(jq\x20-r\x20\x27.entry.flow\x20//\x20\x22\x22\x27\x20\x22$ENTRY_FILE\x22\x202>/dev/null)\x0aINDEX=$(jq\x20-r\x20\x27.entry.index\x20//\x20\x22\x22\x27\x20\x22$ENTRY_FILE\x22\x202>/dev/null)\x0aTOTAL=$(jq\x20-r\x20\x27.entry.total\x20//\x20\x22\x22\x27\x20\x22$ENTRY_FILE\x22\x202>/dev/null)\x0aSUCCESS=$(jq\x20-r\x20\x27.entry.success\x20//\x20\x22\x22\x27\x20\x22$ENTRY_FILE\x22\x202>/dev/null)\x0aDURATION=$(jq\x20-r\x20\x27.entry.durationMs\x20//\x20\x22\x22\x27\x20\x22$ENTRY_FILE\x22\x202>/dev/null)\x0a\x0aINDEX=${INDEX:-0}\x0aTOTAL=${TOTAL:-0}\x0aDURATION=${DURATION:-0}\x0aFLOW=${FLOW:-unknown}\x0a\x0aDISPLAY_INDEX=$((INDEX\x20+\x201))\x0aif\x20[\x20\x22$SUCCESS\x22\x20=\x20\x22true\x22\x20];\x20then\x0a\x20\x20STATUS=\x22passed\x22\x0aelse\x0a\x20\x20STATUS=\x22failed\x22\x0afi\x0a\x0aecho\x20\x22Flow\x20$DISPLAY_INDEX/$TOTAL\x20—\x20$FLOW:\x20$STATUS\x20in\x20$(awk\x20\x22BEGIN\x20{printf\x20\x5c\x22%.1f\x5c\x22,\x20$DURATION/1000}\x22)s\x22\x0aecho\x20\x22(Wait\x20for\x20the\x20end-of-run\x20summary\x20before\x20making\x20any\x20code\x20changes\x20—\x20the\x20flows\x20in\x20this\x20run\x20reference\x20your\x20pre-edit\x20code.)\x22\x0a',_0x4ce409=[_0x57d0fd(0x3f9),_0x57d0fd(0x19f),'rn-error-notify.sh'],_0x139e50=[_0x57d0fd(0x3f9),_0x57d0fd(0x19f),_0x57d0fd(0x4b6)],_0x238715=_0x57d0fd(0x3da),_0x372ba8=_0x57d0fd(0x3fd),_0x27669c='\x22$CLAUDE_PROJECT_DIR\x22/.claude/hooks/rn-error-notify.sh',_0x34c1ae=_0x57d0fd(0x26d),_0x1d6b36=[[_0x57d0fd(0x3f9),'settings.json'],[_0x57d0fd(0x3f9),_0x57d0fd(0x29e)]];}});import{chmod,rename,stat as _0xdd3d98,unlink,writeFile as _0x449563}from'fs/promises';import{dirname as _0x229b42,join as _0x333067}from'path';async function _0x20d51c(_0x5f1170,_0x521e83){const _0x31246f=_0xa6e1,_0x3b9671=_0x229b42(_0x5f1170),_0x179e2d=_0x333067(_0x3b9671,_0x5f1170[_0x31246f(0x554)](_0x3b9671['length']+0x1)+_0x31246f(0x22b)+process['pid']+'.'+Math[_0x31246f(0x4e2)]()['toString'](0x24)[_0x31246f(0x554)](0x2));let _0x21c662;try{const _0x1c34ad=await _0xdd3d98(_0x5f1170);_0x21c662=_0x1c34ad[_0x31246f(0x39b)]&0x1ff;}catch{}try{await _0x449563(_0x179e2d,_0x521e83,_0x31246f(0x2fd)),_0x21c662!==void 0x0&&await chmod(_0x179e2d,_0x21c662),await rename(_0x179e2d,_0x5f1170);}catch(_0x5984c0){try{await unlink(_0x179e2d);}catch{}throw _0x5984c0;}}var _0x485e76=_0x1b53f6({'src/utils/atomic-write.ts'(){'use strict';}});import{readFile as _0x32adc6}from'fs/promises';async function _0x50682b(_0x33c46c){const _0x470960=_0xa6e1;let _0x1a0d84;try{_0x1a0d84=await _0x32adc6(_0x33c46c,_0x470960(0x2fd));}catch(_0x2c4010){if(_0x470960(0x34b)!==_0x470960(0x35f)){const _0x31fe20=_0x2c4010;if(_0x31fe20&&_0x31fe20[_0x470960(0x359)]===_0x470960(0x543))return{'kind':'missing'};throw _0x2c4010;}else'use strict';}try{return{'kind':'ok','value':JSON[_0x470960(0x2ee)](_0x1a0d84)};}catch(_0x55b92c){return{'kind':'malformed','raw':_0x1a0d84,'error':_0x55b92c};}}function _0x52ec4b(_0x3cc70a){return _0x3cc70a!=null&&typeof _0x3cc70a==='object'&&!Array['isArray'](_0x3cc70a);}var _0x550f34=_0x1b53f6({'src/utils/json-config.ts'(){'use strict';}});import{mkdir as _0x23b869}from'fs/promises';import{join as _0x1ab6a3}from'path';async function _0x50eb40(_0x46f452){const _0x5c8b92=_0xa6e1,_0x353d09=_0x1ab6a3(_0x46f452,..._0xdef223),_0x51d144=await _0x50682b(_0x353d09);if(_0x51d144['kind']===_0x5c8b92(0x48b))return{'status':_0x5c8b92(0x284),'settingsPath':_0x353d09,'reason':'existing\x20settings\x20at\x20'+_0x353d09+_0x5c8b92(0x447)};if(_0x51d144[_0x5c8b92(0x15f)]==='ok'&&!_0x52ec4b(_0x51d144['value']))return{'status':'preserved','settingsPath':_0x353d09,'reason':'existing\x20settings\x20at\x20'+_0x353d09+_0x5c8b92(0x538)+(Array[_0x5c8b92(0x310)](_0x51d144[_0x5c8b92(0x267)])?'array':typeof _0x51d144['value'])+')\x20—\x20preserved'};const _0x4169de=_0x51d144['kind']==='ok'?_0x51d144['value']:{};if(_0x4169de['enableAllProjectMcpServers']===!![])return{'status':_0x5c8b92(0x333),'settingsPath':_0x353d09};const _0xbd840d=_0x4169de['enabledMcpjsonServers'];if(_0xbd840d!==void 0x0){if(!Array['isArray'](_0xbd840d)||!_0xbd840d[_0x5c8b92(0x3b7)](_0x7c67ef=>typeof _0x7c67ef===_0x5c8b92(0x2c6)))return{'status':'preserved','settingsPath':_0x353d09,'reason':'existing\x20enabledMcpjsonServers\x20in\x20'+_0x353d09+_0x5c8b92(0x3af)};if(_0xbd840d['includes'](_0x47f78c))return{'status':_0x5c8b92(0x333),'settingsPath':_0x353d09};}const _0x5a0cac=Array[_0x5c8b92(0x310)](_0xbd840d)?[..._0xbd840d,_0x47f78c]:[_0x47f78c];return _0x4169de['enabledMcpjsonServers']=_0x5a0cac,await _0x23b869(_0x1ab6a3(_0x46f452,_0x5c8b92(0x3f9)),{'recursive':!![]}),await _0x20d51c(_0x353d09,JSON['stringify'](_0x4169de,null,0x2)+'\x0a'),{'status':'approved','settingsPath':_0x353d09};}var _0x47f78c,_0xdef223,_0x13e54c=_0x1b53f6({'src/init/claude-preapproval.ts'(){'use strict';const _0x375c12=_0xa6e1;_0x485e76(),_0x550f34(),_0x47f78c=_0x375c12(0x228),_0xdef223=[_0x375c12(0x3f9),'settings.local.json'];}});function _0x3cbaa8(_0x5ad613){const _0x32ba93=_0xa6e1,_0x311e4e=/^\[\[?([^[\]]*)\]\]?\s*(?:#.*)?$/[_0x32ba93(0x342)](_0x5ad613);return _0x311e4e?_0x311e4e[0x1][_0x32ba93(0x531)]():null;}var _0x3655b9=_0x1b53f6({'src/utils/toml.ts'(){'use strict';}});import{readFile as _0xb4ca27,unlink as _0x497f2c,access as _0x9ca091}from'fs/promises';import{homedir as _0x50a152}from'os';import{join as _0x1d4dec}from'path';function _0x18d53e(_0x4b620f){const _0x2c0484=_0xa6e1,_0x5eb494=_0x4b620f??_0x50a152();return _0x24c2a5[_0x2c0484(0x471)](_0x566275=>({'label':_0x566275['label'],'path':_0x1d4dec(_0x5eb494,..._0x566275[_0x2c0484(0x362)])}));}async function _0x375189(_0x4cb1ab){try{return await _0x9ca091(_0x4cb1ab),!![];}catch{return![];}}async function _0x2e323b(_0x3f00f0,_0x1b2f90={}){const _0x288d97=_0xa6e1,_0x1f378e=_0x1b2f90['readFile']??(_0x1ef6f9=>_0xb4ca27(_0x1ef6f9,'utf-8')),_0x24ff73=_0x1b2f90[_0x288d97(0x2bc)]??_0x20d51c,_0x5390dc=_0x1b2f90[_0x288d97(0x1c5)]??(_0xf3515a=>_0x497f2c(_0xf3515a)),_0x2105ed=_0x1b2f90[_0x288d97(0x266)]??_0x375189,_0x206292=[];for(const _0xde8f2 of _0x735cd3){const _0x1ab5de=_0x1d4dec(_0x3f00f0,_0xde8f2);if(!await _0x2105ed(_0x1ab5de)){_0x206292['push']({'path':_0x1ab5de,'status':'not-found'});continue;}_0x206292[_0x288d97(0x407)](await _0x2ee458(_0x1ab5de,{'read':_0x1f378e,'write':_0x24ff73,'unlink':_0x5390dc}));}for(const _0x5ec1bd of _0x7e0c8){if(_0x288d97(0x443)===_0x288d97(0x523))return{'success':![],'error':'No\x20element\x20found\x20matching\x20query:\x20'+_0x5e2370[_0x288d97(0x278)](_0x251f23),'batched':![]};else{const _0x2d6f3a=_0x1d4dec(_0x3f00f0,_0x5ec1bd);if(!await _0x2105ed(_0x2d6f3a)){_0x206292[_0x288d97(0x407)]({'path':_0x2d6f3a,'status':'not-found'});continue;}_0x206292[_0x288d97(0x407)](await _0x4f66ff(_0x2d6f3a,{'read':_0x1f378e,'write':_0x24ff73,'unlink':_0x5390dc}));}}const _0x46cf27=_0x1d4dec(_0x3f00f0,_0x547db5);return!await _0x2105ed(_0x46cf27)?_0x206292[_0x288d97(0x407)]({'path':_0x46cf27,'status':'not-found'}):_0x206292['push'](await _0x32853b(_0x46cf27,{'read':_0x1f378e,'write':_0x24ff73,'unlink':_0x5390dc})),{'files':_0x206292};}async function _0x2ee458(_0x17e12f,_0x4a502f){const _0x3ff39c=_0xa6e1,_0x148b41=await _0x4a502f['read'](_0x17e12f);let _0x44b9f8;try{_0x44b9f8=JSON['parse'](_0x148b41);}catch{return{'path':_0x17e12f,'status':'malformed'};}if(!_0x44b9f8||typeof _0x44b9f8!==_0x3ff39c(0x2d2)||Array['isArray'](_0x44b9f8))return{'path':_0x17e12f,'status':_0x3ff39c(0x48b)};const _0xaa02d9=_0x44b9f8,_0x5ee326=_0xaa02d9[_0x3ff39c(0x27f)];if(!_0x5ee326||typeof _0x5ee326!=='object'||Array[_0x3ff39c(0x310)](_0x5ee326))return{'path':_0x17e12f,'status':_0x3ff39c(0x4fe)};const _0x285e98=_0x5ee326,_0x4c307d=[];for(const _0xfb3786 of _0x25dc0d){_0xfb3786 in _0x285e98&&(delete _0x285e98[_0xfb3786],_0x4c307d[_0x3ff39c(0x407)](_0xfb3786));}if(_0x4c307d['length']===0x0)return{'path':_0x17e12f,'status':'no-changes'};const _0x547bfb=Object[_0x3ff39c(0x3d4)](_0xaa02d9)['filter'](_0x216b78=>_0x216b78!=='mcpServers'),_0x21814d=Object['keys'](_0x285e98)['length']===0x0;if(_0x21814d&&_0x547bfb[_0x3ff39c(0x358)]===0x0)return await _0x4a502f[_0x3ff39c(0x1c5)](_0x17e12f),{'path':_0x17e12f,'status':_0x3ff39c(0x47d),'removedKeys':_0x4c307d};const _0x1abb85=_0x148b41['match'](/\n(\s+)"/),_0x59e655=_0x1abb85?.[0x1]??'\x20\x20',_0x1e0461=_0x148b41[_0x3ff39c(0x25c)]('\x0a'),_0x524cb1=JSON['stringify'](_0xaa02d9,null,_0x59e655);return await _0x4a502f['write'](_0x17e12f,_0x1e0461?_0x524cb1+'\x0a':_0x524cb1),{'path':_0x17e12f,'status':_0x3ff39c(0x394),'removedKeys':_0x4c307d};}async function _0x32853b(_0x2ec195,_0x3229a2){const _0x4cf2ab=_0xa6e1,_0x266535=await _0x3229a2[_0x4cf2ab(0x3bc)](_0x2ec195);let _0x395956;try{if(_0x4cf2ab(0x373)!=='JAdlI'){const _0x29667d=_0x207619['parse'](_0xa99ee8);if(!_0x29667d||typeof _0x29667d!==_0x4cf2ab(0x2d2)||_0x3a4ae4['isArray'](_0x29667d))return null;return _0x29667d;}else _0x395956=JSON['parse'](_0x266535);}catch{return _0x4cf2ab(0x4a4)==='cskoR'?(this['devicectlAvailable']=![],![]):{'path':_0x2ec195,'status':'malformed'};}if(!_0x395956||typeof _0x395956!=='object'||Array['isArray'](_0x395956))return{'path':_0x2ec195,'status':'malformed'};const _0x3ec0c2=_0x395956,_0x3cb4a7=_0x3ec0c2[_0x4cf2ab(0x171)];if(!Array['isArray'](_0x3cb4a7)||!_0x3cb4a7['includes'](_0x47f78c))return{'path':_0x2ec195,'status':_0x4cf2ab(0x4fe)};const _0x1a059b=_0x3cb4a7[_0x4cf2ab(0x422)](_0x5c5e23=>_0x5c5e23!==_0x47f78c);_0x1a059b['length']===0x0?delete _0x3ec0c2['enabledMcpjsonServers']:_0x3ec0c2[_0x4cf2ab(0x171)]=_0x1a059b;if(Object['keys'](_0x3ec0c2)[_0x4cf2ab(0x358)]===0x0)return await _0x3229a2['unlink'](_0x2ec195),{'path':_0x2ec195,'status':_0x4cf2ab(0x47d),'removedKeys':[_0x47f78c]};const _0x5de82a=_0x266535[_0x4cf2ab(0x382)](/\n(\s+)"/),_0x1bbe91=_0x5de82a?.[0x1]??'\x20\x20',_0x4e9800=_0x266535['endsWith']('\x0a'),_0xabca3=JSON[_0x4cf2ab(0x278)](_0x3ec0c2,null,_0x1bbe91);return await _0x3229a2['write'](_0x2ec195,_0x4e9800?_0xabca3+'\x0a':_0xabca3),{'path':_0x2ec195,'status':'removed-entries','removedKeys':[_0x47f78c]};}function _0x4adc13(_0x35e0cd,_0x589f46){const _0x5bf940=_0xa6e1,_0x477ad6=_0x35e0cd[_0x5bf940(0x41d)](/\r?\n/),_0x4be2e3=_0x35e0cd[_0x5bf940(0x25c)]('\x0a');_0x4be2e3&&_0x477ad6[_0x5bf940(0x358)]>0x0&&_0x477ad6[_0x477ad6[_0x5bf940(0x358)]-0x1]===''&&_0x477ad6['pop']();const _0x34f689=[],_0x213011=[];let _0x191fd8=![],_0x1907c4=![];for(let _0x10ba31=0x0;_0x10ba31<_0x477ad6['length'];_0x10ba31++){const _0x401ad5=_0x477ad6[_0x10ba31],_0x105e2e=_0x401ad5[_0x5bf940(0x531)](),_0x26f436=_0x3cbaa8(_0x105e2e);if(_0x26f436!==null){const _0x3e3f48=_0x589f46['has'](_0x26f436);if(_0x3e3f48){_0x34f689[_0x5bf940(0x358)]>0x0&&_0x34f689[_0x34f689[_0x5bf940(0x358)]-0x1]===''&&_0x34f689[_0x5bf940(0x576)]();const _0x124978=_0x26f436[_0x5bf940(0x317)]('mcp_servers.')?_0x26f436['slice'](_0x5bf940(0x590)[_0x5bf940(0x358)]):_0x26f436;_0x213011[_0x5bf940(0x407)](_0x124978),_0x191fd8=!![],_0x1907c4=![];continue;}(_0x191fd8||_0x1907c4)&&_0x34f689['length']>0x0&&_0x34f689[_0x34f689['length']-0x1]!==''&&_0x34f689['push']('');_0x191fd8=![],_0x1907c4=![],_0x34f689[_0x5bf940(0x407)](_0x401ad5);continue;}if(_0x191fd8){_0x1907c4=!![];continue;}if(_0x1907c4){if(_0x105e2e==='')continue;_0x34f689['length']>0x0&&_0x34f689[_0x34f689['length']-0x1]!==''&&_0x34f689[_0x5bf940(0x407)]('');_0x1907c4=![],_0x34f689['push'](_0x401ad5);continue;}_0x34f689[_0x5bf940(0x407)](_0x401ad5);}while(_0x34f689['length']>0x0&&_0x34f689[_0x34f689['length']-0x1]===''){_0x34f689[_0x5bf940(0x576)]();}const _0x3c2664=_0x34f689[_0x5bf940(0x3c0)]('\x0a'),_0x31b732=_0x4be2e3&&_0x3c2664[_0x5bf940(0x358)]>0x0?_0x3c2664+'\x0a':_0x3c2664;return{'next':_0x31b732,'removedKeys':_0x213011};}async function _0x4f66ff(_0x2f414b,_0x336117){const _0x5a34d9=_0xa6e1,_0x14bca4=await _0x336117[_0x5a34d9(0x3bc)](_0x2f414b),_0x44cfea=new Set(_0x25dc0d['map'](_0x35344e=>'mcp_servers.'+_0x35344e)),{next:_0x49e745,removedKeys:_0x35c11d}=_0x4adc13(_0x14bca4,_0x44cfea);if(_0x35c11d['length']===0x0)return{'path':_0x2f414b,'status':'no-changes'};if(_0x49e745[_0x5a34d9(0x531)]()['length']===0x0)return await _0x336117[_0x5a34d9(0x1c5)](_0x2f414b),{'path':_0x2f414b,'status':'deleted-file','removedKeys':_0x35c11d};return await _0x336117[_0x5a34d9(0x3bf)](_0x2f414b,_0x49e745),{'path':_0x2f414b,'status':_0x5a34d9(0x394),'removedKeys':_0x35c11d};}async function _0x2b03b2(_0x98c87b={}){const _0x43fe75=_0xa6e1,_0x38894f=_0x98c87b[_0x43fe75(0x529)]??(_0x9eacd4=>_0xb4ca27(_0x9eacd4,'utf-8')),_0x39e08f=_0x98c87b['writeFile']??_0x20d51c,_0x4d2738=_0x98c87b[_0x43fe75(0x1c5)]??(_0x4fe5cb=>_0x497f2c(_0x4fe5cb)),_0x3c65fb=_0x98c87b['fileExists']??_0x375189,_0x396ee3=[];for(const {path:_0x159cdb}of _0x18d53e(_0x98c87b[_0x43fe75(0x45d)])){if(!await _0x3c65fb(_0x159cdb)){_0x396ee3['push']({'path':_0x159cdb,'status':'not-found'});continue;}_0x396ee3['push'](await _0x2ee458(_0x159cdb,{'read':_0x38894f,'write':_0x39e08f,'unlink':_0x4d2738}));}return{'files':_0x396ee3};}var _0x735cd3,_0x7e0c8,_0x547db5,_0x24c2a5,_0x25dc0d,_0x25f087,_0xbc4a64=_0x1b53f6({'src/uninstall/revert-mcp-clients.ts'(){'use strict';const _0x4cba4a=_0xa6e1;_0x485e76(),_0x3655b9(),_0x13e54c(),_0x735cd3=[_0x4cba4a(0x2ce),_0x1d4dec(_0x4cba4a(0x1a1),'mcp.json'),_0x1d4dec('.vscode',_0x4cba4a(0x164))],_0x7e0c8=[_0x1d4dec('.codex',_0x4cba4a(0x311))],_0x547db5=_0x1d4dec(_0x4cba4a(0x3f9),_0x4cba4a(0x29e)),_0x24c2a5=[{'label':_0x4cba4a(0x2de),'dir':['.codeium',_0x4cba4a(0x41b)],'file':['.codeium','windsurf','mcp_config.json']},{'label':_0x4cba4a(0x327),'dir':['.gemini','antigravity'],'file':[_0x4cba4a(0x46c),'antigravity',_0x4cba4a(0x4e7)]}],_0x25dc0d=[_0x4cba4a(0x22f),_0x4cba4a(0x228)],_0x25f087=['mobile-mcp'];}});import{createRequire as _0xe37e15}from'module';function _0x451095(_0xfa227f=_0x1eed8f){const _0x36905f=_0xa6e1;if(!_0xfa227f||_0xfa227f===_0x36905f(0x1d8))return _0x4b2c86;return _0x4b2c86+'@'+_0xfa227f;}function _0x188237(){return{'command':'npx','args':['-y',_0x451095()]};}function _0xb600a0(){const _0x35db1a=_0xa6e1;return _0x35db1a(0x4c0)+_0x451095()+'\x22]\x0a';}function _0x2cd4e1(){return'args\x20=\x20[\x22-y\x22,\x20\x22'+_0x451095()+'\x22]';}function _0x73252a(_0x222c12){const _0x32764a=_0xa6e1,_0x3345eb=_0x2cd4e1(),_0x3c5073=_0x222c12['split'](/\r?\n/);let _0xa98012=![],_0x55064b=![],_0x1fee96=![],_0xd1193d=![];for(let _0xf36eb1=0x0;_0xf36eb1<_0x3c5073['length'];_0xf36eb1++){const _0x92bab7=_0x3c5073[_0xf36eb1][_0x32764a(0x531)](),_0x11a606=_0x3cbaa8(_0x92bab7);if(_0x11a606!==null){_0xa98012=_0x11a606===_0x186c3e;if(_0xa98012)_0x55064b=!![];continue;}if(_0xa98012&&/^args\s*=/['test'](_0x92bab7)){if(_0x92bab7===_0x3345eb)_0xd1193d=!![];else/^args\s*=\s*\[[^[\]]*\]\s*(?:#.*)?$/['test'](_0x92bab7)&&(_0x3c5073[_0xf36eb1]=_0x3345eb,_0x1fee96=!![]);break;}}return{'next':_0x3c5073[_0x32764a(0x3c0)]('\x0a'),'replaced':_0x1fee96,'sectionPresent':_0x55064b,'alreadyCurrent':_0xd1193d};}function _0x15f166(_0x228758,_0x54b793=_0x188237()){const _0x18a4b4=_0xa6e1;if(!_0x52ec4b(_0x228758))return![];if(_0x228758['command']!==_0x54b793[_0x18a4b4(0x3ab)])return![];const _0x47aafc=_0x228758['args'];if(!Array[_0x18a4b4(0x310)](_0x47aafc)||_0x47aafc[_0x18a4b4(0x358)]!==_0x54b793[_0x18a4b4(0x43c)][_0x18a4b4(0x358)])return![];return _0x47aafc[_0x18a4b4(0x3b7)]((_0x147716,_0x2d73e2)=>_0x147716===_0x54b793['args'][_0x2d73e2]);}var _0x4b2c86,_0x1eed8f,_0x186c3e,_0x5679be=_0x1b53f6({'src/version.ts'(){'use strict';const _0xc32635=_0xa6e1;_0x550f34(),_0x3655b9(),_0x4b2c86='@ceraph/react-native-mcp',_0x1eed8f=((()=>{const _0xbca328=_0xa6e1;try{const _0x2e0e49=_0xe37e15(import.meta.url),_0x2470a5=_0x2e0e49(_0xbca328(0x414));return _0x2470a5[_0xbca328(0x483)]??_0xbca328(0x1d8);}catch{return'0.0.0';}})()),_0x186c3e=_0xc32635(0x559);}}),_0x491ef9={};_0x2c4819(_0x491ef9,{'runInit':()=>_0x2c2b1c,'setupClaudeHook':()=>_0x54ff95,'setupCodexToml':()=>_0x62410e,'setupJsonMcp':()=>_0x183c59,'setupMcpClients':()=>_0x17351a});import{readFile as _0x4cc0b7,writeFile as _0x54a612,mkdir as _0x23a272,access as _0x4e2854,chmod as _0xf7fe55}from'fs/promises';import{join as _0x449386}from'path';async function _0x2719ea(_0x4eb26b){try{return await _0x4e2854(_0x4eb26b),!![];}catch{return![];}}async function _0x5c352b(_0x20de24,_0x25500c){await _0x23a272(_0x449386(_0x20de24,'..'),{'recursive':!![]}),await _0x20d51c(_0x20de24,JSON['stringify'](_0x25500c,null,0x2)+'\x0a');}function _0xa27cb(_0x556263){console['log']('\x20\x20'+_0x556263);}async function _0x183c59(_0x5d8580,_0xb66740){const _0x368fe3=_0xa6e1,_0x14cb74=await _0x50682b(_0x5d8580);if(_0x14cb74[_0x368fe3(0x15f)]===_0x368fe3(0x48b))return _0xa27cb(_0xb66740+':\x20existing\x20config\x20at\x20'+_0x5d8580+'\x20is\x20malformed\x20JSON\x20—\x20preserving\x20it.\x20Fix\x20the\x20file\x20manually\x20then\x20re-run\x20init.'),![];const _0x129de4=_0x14cb74['kind']==='ok'?_0x14cb74['value']:{};if(_0x14cb74['kind']==='ok'&&!_0x52ec4b(_0x129de4))return _0xa27cb(_0xb66740+':\x20existing\x20config\x20at\x20'+_0x5d8580+_0x368fe3(0x538)+(Array['isArray'](_0x129de4)?_0x368fe3(0x247):typeof _0x129de4)+')\x20—\x20preserving\x20it.'),![];const _0x4b60be=_0x52ec4b(_0x129de4)?_0x129de4:{},_0x206e75=_0x4b60be[_0x368fe3(0x27f)];if(_0x206e75!==void 0x0&&!_0x52ec4b(_0x206e75))return _0xa27cb(_0xb66740+_0x368fe3(0x4eb)+_0x5d8580+_0x368fe3(0x538)+(Array['isArray'](_0x206e75)?'array':typeof _0x206e75)+')\x20—\x20preserving\x20the\x20file.'),![];const _0x245a2f=_0x52ec4b(_0x206e75)?_0x206e75:{};let _0x12b6d6=![];for(const _0x552ece of _0x25f087){_0x552ece in _0x245a2f&&(delete _0x245a2f[_0x552ece],_0x12b6d6=!![]);}const _0x5a5fcd=_0x188237(),_0x2f9629=_0x245a2f[_0x368fe3(0x228)];if(_0x15f166(_0x2f9629,_0x5a5fcd)&&!_0x12b6d6)return _0xa27cb(_0xb66740+':\x20already\x20configured'),![];const _0x5af384=_0x52ec4b(_0x2f9629)?{..._0x2f9629}:{};return _0x245a2f['react-native-mcp']={..._0x5af384,..._0x5a5fcd},_0x4b60be[_0x368fe3(0x27f)]=_0x245a2f,await _0x5c352b(_0x5d8580,_0x4b60be),_0xa27cb(_0xb66740+_0x368fe3(0x172)),!![];}async function _0x62410e(_0xfa5f35){const _0x594dc8=_0xa6e1;let _0x427d89='';try{_0x427d89=await _0x4cc0b7(_0xfa5f35,'utf-8');}catch{}const _0x122188=new Set(_0x25f087['map'](_0x49d991=>_0x594dc8(0x590)+_0x49d991)),_0x4b2369=_0x4adc13(_0x427d89,_0x122188);_0x427d89=_0x4b2369['next'];const _0x316adc=_0x4b2369['removedKeys'][_0x594dc8(0x358)]>0x0,_0x52b6a2=_0x73252a(_0x427d89);if(_0x52b6a2['sectionPresent']&&_0x52b6a2[_0x594dc8(0x231)]&&!_0x316adc)return _0xa27cb('Codex:\x20already\x20configured'),![];if(_0x52b6a2['replaced'])_0x427d89=_0x52b6a2['next'];else{if(_0x52b6a2['sectionPresent']&&!_0x52b6a2['alreadyCurrent']){const _0xc1a36b=_0x4adc13(_0x427d89,new Set(['mcp_servers.react-native-mcp']));_0x427d89=_0xc1a36b['next']+_0xb600a0();}else!_0x52b6a2[_0x594dc8(0x501)]?_0x427d89=_0x427d89+_0xb600a0():_0x427d89=_0x52b6a2['next'];}return await _0x23a272(_0x449386(_0xfa5f35,'..'),{'recursive':!![]}),await _0x20d51c(_0xfa5f35,_0x427d89),_0xa27cb('Codex:\x20configured\x20✓'),!![];}async function _0x54ff95(_0x473c0e=_0x189b1d){const _0x573027=_0xa6e1,_0x1cb0ed=_0x449386(_0x473c0e,'.claude','hooks'),_0x49bcdb=_0x449386(_0x1cb0ed,'rn-error-notify.sh'),_0x5cbb42=_0x449386(_0x1cb0ed,'rn-flow-progress-notify.sh');await _0x23a272(_0x1cb0ed,{'recursive':!![]}),await _0x20d51c(_0x49bcdb,_0x2de720),await _0xf7fe55(_0x49bcdb,0x1ed),_0xa27cb('Hook\x20script:\x20.claude/hooks/rn-error-notify.sh\x20✓'),await _0x20d51c(_0x5cbb42,_0x54f58f),await _0xf7fe55(_0x5cbb42,0x1ed),_0xa27cb(_0x573027(0x450));const _0x46820e=_0x449386(_0x473c0e,'.claude',_0x573027(0x4bd)),_0x33a9b0=_0x449386(_0x473c0e,_0x573027(0x3f9),'settings.local.json'),_0x6021bd=(_0x45613f,_0x365a23,_0x2960f0)=>{const _0x2ba023=_0x573027,_0x7dd0d1=_0x52ec4b(_0x45613f)?_0x45613f:{},_0x4cc05a=_0x7dd0d1['hooks'],_0x34a541=_0x52ec4b(_0x4cc05a)?_0x4cc05a:{},_0x2eb220=_0x34a541[_0x2ba023(0x533)];if(!Array['isArray'](_0x2eb220))return _0x2eb220!==void 0x0;return _0x2eb220[_0x2ba023(0x179)](_0x431564=>{const _0x201183=_0x2ba023;if(!_0x52ec4b(_0x431564))return![];if(_0x431564[_0x201183(0x1c9)]!==_0x365a23)return![];const _0x122158=_0x431564['hooks'];if(!Array[_0x201183(0x310)](_0x122158))return![];return _0x122158['some'](_0x2adb81=>{if(!_0x52ec4b(_0x2adb81))return![];const _0x1488f8=_0x2adb81['command'];return typeof _0x1488f8==='string'&&_0x1488f8===_0x2960f0;});});},_0x1b1bd7=await _0x50682b(_0x46820e),_0x522941=await _0x50682b(_0x33a9b0);if(_0x1b1bd7['kind']==='malformed'){_0xa27cb(_0x573027(0x2d5)+_0x46820e+'\x20is\x20malformed\x20JSON\x20—\x20preserving\x20it.\x20Fix\x20the\x20file\x20manually\x20then\x20re-run\x20init.');return;}if(_0x522941[_0x573027(0x15f)]==='malformed'){_0xa27cb('Claude\x20Code\x20hook:\x20'+_0x33a9b0+_0x573027(0x1b5));return;}const _0x1fbc3e=_0x1b1bd7['kind']==='ok'?_0x1b1bd7['value']:null,_0xcacff2=_0x522941[_0x573027(0x15f)]==='ok'?_0x522941[_0x573027(0x267)]:null;if(_0x1fbc3e!==null&&!_0x52ec4b(_0x1fbc3e)){_0xa27cb('Claude\x20Code\x20hook:\x20'+_0x46820e+_0x573027(0x24b));return;}if(_0xcacff2!==null&&!_0x52ec4b(_0xcacff2)){_0xa27cb(_0x573027(0x2d5)+_0x33a9b0+'\x20top-level\x20is\x20not\x20a\x20JSON\x20object\x20—\x20preserving\x20it.');return;}const _0x5dc597=_0x1fbc3e??{},_0x33ff23=_0x5dc597[_0x573027(0x19f)];if(_0x33ff23!==void 0x0&&!_0x52ec4b(_0x33ff23)){_0xa27cb(_0x573027(0x2d5)+_0x46820e+_0x573027(0x322));return;}const _0xd0f774=_0x52ec4b(_0x33ff23)?_0x33ff23:{},_0x3c36ea=_0xd0f774['FileChanged'],_0x5e9213=Array['isArray'](_0x3c36ea)?_0x3c36ea:[];let _0x597433=![];if(!_0x6021bd(_0x1fbc3e,_0x238715,_0x27669c)&&!_0x6021bd(_0xcacff2,_0x238715,_0x27669c)){if(_0x573027(0x51e)!=='ODIAW')return{'status':_0x573027(0x3fe),'path':_0x45cfbe};else _0x5e9213['push']({'matcher':_0x238715,'hooks':[{'type':'command','command':_0x27669c}]}),_0x597433=!![],_0xa27cb('Claude\x20Code\x20hook:\x20FileChanged\x20→\x20.rn-errors.json\x20✓');}else _0xa27cb('Claude\x20Code\x20hook\x20(.rn-errors.json):\x20already\x20configured');if(!_0x6021bd(_0x1fbc3e,_0x372ba8,_0x34c1ae)&&!_0x6021bd(_0xcacff2,_0x372ba8,_0x34c1ae)){if('ZyEko'===_0x573027(0x37d))_0x5e9213[_0x573027(0x407)]({'matcher':_0x372ba8,'hooks':[{'type':'command','command':_0x34c1ae}]}),_0x597433=!![],_0xa27cb(_0x573027(0x54d));else{const {reverted:_0x1da877,skipped:_0xfb32a2,warnings:_0x41be15,manualSteps:_0x5e9763}=_0x576fb1['summary'],_0x8be601=[_0x573027(0x210)];_0x8be601['push']('\x20\x20Reverted:\x20\x20\x20\x20\x20\x20\x20\x20'+_0x1da877+'\x0a'),_0x8be601[_0x573027(0x407)]('\x20\x20Skipped/no-op:\x20\x20\x20'+_0xfb32a2+'\x0a'),_0x8be601['push']('\x20\x20Warnings:\x20\x20\x20\x20\x20\x20\x20\x20'+_0x41be15[_0x573027(0x358)]+'\x0a'),_0x8be601['push']('\x20\x20Manual\x20actions:\x20\x20'+_0x5e9763['length']+'\x0a');if(_0x41be15['length']>0x0){_0x8be601['push']('\x0aWarnings:\x0a');for(const _0x2f9804 of _0x41be15)_0x8be601[_0x573027(0x407)]('\x20\x20-\x20'+_0x2f9804+'\x0a');}if(_0x5e9763['length']>0x0){_0x8be601[_0x573027(0x407)](_0x573027(0x587));for(const _0x4525f5 of _0x5e9763)_0x8be601['push']('\x20\x20-\x20'+_0x4525f5+'\x0a');}return _0x8be601['join']('');}}else _0xa27cb(_0x573027(0x3dd));_0x597433&&(_0xd0f774['FileChanged']=_0x5e9213,_0x5dc597['hooks']=_0xd0f774,await _0x5c352b(_0x46820e,_0x5dc597));}async function _0x2da5b9(){const _0x4398a5=_0xa6e1,_0x3196ff=_0x449386(_0x189b1d,'.ceraph',_0x4398a5(0x3dc));await _0x23a272(_0x3196ff,{'recursive':!![]});const _0x2a2786=_0x449386(_0x3196ff,'README.md');!await _0x2719ea(_0x2a2786)?(await _0x54a612(_0x2a2786,_0x5ebc75,'utf-8'),_0xa27cb('Camera\x20images:\x20.ceraph/camera-images/\x20+\x20README.md\x20✓')):_0xa27cb(_0x4398a5(0x441));}async function _0x7265c1(){const _0x1e2cde=_0xa6e1,_0x350881=_0x449386(_0x189b1d,'.gitignore');let _0x5a7b56='';try{_0x5a7b56=await _0x4cc0b7(_0x350881,'utf-8');}catch{}const _0x3aae24=[_0x1e2cde(0x3da),_0x1e2cde(0x3fd),'.ceraph/runs/','.ceraph/wda-derived/','.ceraph/last-build-snapshot.json'],_0x4fff1a=_0x3aae24[_0x1e2cde(0x422)](_0x3c8771=>!_0x5a7b56[_0x1e2cde(0x3bb)](_0x3c8771));if(_0x4fff1a[_0x1e2cde(0x358)]===0x0){_0xa27cb('.gitignore:\x20entries\x20already\x20present');return;}const _0x421c4f=_0x5a7b56===''||_0x5a7b56[_0x1e2cde(0x25c)]('\x0a')?'':'\x0a',_0x4fea37=_0x421c4f+_0x4fff1a[_0x1e2cde(0x3c0)]('\x0a')+'\x0a';await _0x20d51c(_0x350881,_0x5a7b56+_0x4fea37),_0xa27cb(_0x1e2cde(0x570)+_0x4fff1a[_0x1e2cde(0x3c0)](',\x20')+'\x20✓');}async function _0x17351a(){const _0x545b65=_0xa6e1;console['log']('MCP\x20configuration:'),await _0x183c59(_0x449386(_0x189b1d,'.mcp.json'),'Claude\x20Code');const _0x2f6269=await _0x50eb40(_0x189b1d);_0x2f6269[_0x545b65(0x17a)]===_0x545b65(0x284)?_0xa27cb(_0x545b65(0x405)+_0x2f6269['settingsPath']+'\x20has\x20an\x20unexpected\x20shape\x20—\x20preserving\x20it.\x20'+_0x2f6269['reason']):_0xa27cb(_0x545b65(0x1ca));await _0x183c59(_0x449386(_0x189b1d,'.cursor','mcp.json'),_0x545b65(0x431)),await _0x62410e(_0x449386(_0x189b1d,_0x545b65(0x344),_0x545b65(0x311))),await _0x183c59(_0x449386(_0x189b1d,_0x545b65(0x48d),_0x545b65(0x164)),_0x545b65(0x458));const _0xd24b96=process.env.HOME??process.env.USERPROFILE??'';if(_0xd24b96){const _0x221cbf=_0x449386(_0xd24b96,'.codeium',_0x545b65(0x41b),_0x545b65(0x4e7));await _0x2719ea(_0x449386(_0xd24b96,_0x545b65(0x2f6),_0x545b65(0x41b)))&&await _0x183c59(_0x221cbf,_0x545b65(0x2de));const _0x42302b=_0x449386(_0xd24b96,_0x545b65(0x46c),'antigravity',_0x545b65(0x4e7));await _0x2719ea(_0x449386(_0xd24b96,'.gemini',_0x545b65(0x3fa)))&&await _0x183c59(_0x42302b,_0x545b65(0x327));}return _0x2f6269;}function _0x3f7113(_0x3307f1){const _0x3c6c69=_0xa6e1,_0x2f9780=_0x3307f1[_0x3c6c69(0x422)](_0xd02271=>_0xd02271['severity']===_0x3c6c69(0x48f)&&!_0xd02271['ok']),_0x5768e5=_0x3307f1[_0x3c6c69(0x422)](_0x30b2b2=>_0x30b2b2[_0x3c6c69(0x498)]==='warning'&&!_0x30b2b2['ok']);if(_0x2f9780[_0x3c6c69(0x358)]===0x0&&_0x5768e5['length']===0x0)return'';const _0x6f3230=[];for(const _0x2c06bb of _0x2f9780){_0x6f3230['push'](_0x3c6c69(0x4ee)+_0x2c06bb[_0x3c6c69(0x273)]+':\x20'+_0x2c06bb['message']);if(_0x2c06bb[_0x3c6c69(0x2d0)])_0x6f3230['push']('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20→\x20'+_0x2c06bb[_0x3c6c69(0x2d0)]);}for(const _0x259814 of _0x5768e5){_0x6f3230['push'](_0x3c6c69(0x4cf)+_0x259814['name']+':\x20'+_0x259814[_0x3c6c69(0x2aa)]);if(_0x259814['remediation'])_0x6f3230[_0x3c6c69(0x407)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20→\x20'+_0x259814[_0x3c6c69(0x2d0)]);}return _0x6f3230['join']('\x0a')+'\x0a';}function _0x31b271(_0x23d809){const _0x5b75ed=_0xa6e1;if(_0x23d809)return!![];if(process.env.CERAPH_NON_INTERACTIVE==='1')return!![];return!process[_0x5b75ed(0x26c)][_0x5b75ed(0x347)];}async function _0x2c2b1c(_0x175de7={}){const _0x266090=_0xa6e1,_0x2d586f=console['log'];_0x175de7['outputToStderr']&&(console[_0x266090(0x492)]=(..._0x5789f5)=>{const _0x2b22d5=_0x266090;process['stderr'][_0x2b22d5(0x3bf)](_0x5789f5['map'](_0x1ab7a1=>typeof _0x1ab7a1==='string'?_0x1ab7a1:String(_0x1ab7a1))['join']('\x20')+'\x0a');});try{return await _0x3b2a9e(_0x175de7);}finally{if('TiJRz'==='JAkxP'){const _0x2350c2=_0x2fafdf(_0x417268,_0x266090(0x53f));for(const _0x23afbb of _0x2350c2){const _0x294278=_0x385fbe(_0x23afbb[_0x266090(0x2d3)]);!_0x294278['present']&&_0x3ce210['push']({'location':_0x23afbb['file']['relPath']+':'+_0x23afbb[_0x266090(0x31b)],'file':_0x23afbb[_0x266090(0x362)]['relPath'],'line':_0x23afbb[_0x266090(0x31b)],'suggestedKey':_0x14f802(_0x23afbb['file']['relPath'])});}}else _0x175de7['outputToStderr']&&(console['log']=_0x2d586f);}}async function _0x3b2a9e(_0x34e814){const _0x766bb1=_0xa6e1,_0x39c9ed=_0x34e814[_0x766bb1(0x162)]===!![],_0x333418=_0x34e814['outputToStderr']?_0x36e34a=>{const _0x4ac55f=_0x766bb1;process[_0x4ac55f(0x461)]['write'](_0x36e34a);}:void 0x0;if(_0x34e814['tier']===_0x766bb1(0x545)&&_0x31b271(_0x39c9ed))return await _0x55b0ac(_0x766bb1(0x545))['catch'](()=>void 0x0),console[_0x766bb1(0x492)](_0x766bb1(0x2b5)),console['log'](_0x766bb1(0x2a2)),console[_0x766bb1(0x492)]('\x20\x201.\x20Sign\x20in:\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x182af8({'intent':'pro'})),console['log'](_0x766bb1(0x486)),console[_0x766bb1(0x492)]('\x0aSelecting\x20Pro\x20isn\x27t\x20the\x20same\x20as\x20being\x20Pro\x20—\x20AI\x20flow\x20testing\x20unlocks\x20once\x0acheckout\x20completes.\x20Re-run\x20init\x20in\x20a\x20terminal\x20(or\x20use\x20the\x0aceraph_init_select_tier\x20tool)\x20to\x20finish\x20sign-in.\x0a'),{'proSignInDeferred':!![],'walkthrough':null};console['log']('\x0a@ceraph/react-native-mcp\x20init\x0a');const _0x4a406b=await _0x17351a();console[_0x766bb1(0x492)](_0x766bb1(0x45b)),await _0x54ff95(),console['log']('\x0aCamera\x20test\x20images:'),await _0x2da5b9(),console['log']('\x0aGitignore:'),await _0x7265c1();const _0x530199=await _0x517d0e(_0x189b1d,{'agentMode':_0x39c9ed,'nonInteractive':_0x39c9ed?!![]:void 0x0,'write':_0x333418,'installStdioToStderr':_0x34e814[_0x766bb1(0x195)]===!![],'tier':_0x34e814[_0x766bb1(0x530)],'claudePreApprovalPreserved':_0x4a406b['status']===_0x766bb1(0x284),'runDoctor':async()=>{const _0x43e27a=_0x766bb1;if(_0x43e27a(0x184)==='UUKtt'){let _0x25e2a2=_0xe9e6a1['trim']();if(_0x25e2a2['endsWith'](';'))_0x25e2a2=_0x25e2a2['slice'](0x0,-0x1)[_0x43e27a(0x531)]();return(_0x25e2a2['startsWith']('\x22')&&_0x25e2a2[_0x43e27a(0x25c)]('\x22')||_0x25e2a2['startsWith']('\x27')&&_0x25e2a2[_0x43e27a(0x25c)]('\x27'))&&(_0x25e2a2=_0x25e2a2[_0x43e27a(0x554)](0x1,-0x1)),_0x25e2a2;}else{const _0x47ee17=new _0x226263(),_0x481983=new _0x1007f8(_0x47ee17),_0x284094=new _0x5e9958(_0x47ee17),_0x5540e7=await _0xb3ba0e({'screen':_0x47ee17,'apps':_0x481983,'autonomy':_0x284094,'projectDir':_0x189b1d,'excludeRuntimeChecks':!![]}),_0x19d30b=_0x5540e7[_0x43e27a(0x387)]['filter'](_0x222020=>_0x222020['ok'])['length'];return{'ok':_0x5540e7['ok'],'summary':_0x3f7113(_0x5540e7[_0x43e27a(0x387)]),'passedCount':_0x19d30b,'totalCount':_0x5540e7[_0x43e27a(0x387)][_0x43e27a(0x358)]};}}});return{'proSignInDeferred':![],'walkthrough':_0x530199};}var _0x189b1d,_0x5ebc75,_0x177ec3,_0x2b1432=_0x1b53f6({'src/init.ts'(){'use strict';const _0x56ca62=_0xa6e1;_0x19ffbe(),_0x428b89(),_0x324a47(),_0xe2e688(),_0x48ae99(),_0x57366c(),_0x3152e0(),_0x5e9a70(),_0x485e76(),_0x550f34(),_0x13e54c(),_0xbc4a64(),_0x5679be(),_0x189b1d=process['cwd'](),_0x5ebc75='#\x20Ceraph\x20camera\x20test\x20images\x0a\x0aPer-screen\x20test\x20images\x20for\x20`<CeraphCamera\x20/>`\x20from\x0a`@ceraph/react-native-mcp/shim`.\x20The\x20filename\x20(without\x20extension)\x20is\x0athe\x20imageKey\x20you\x20pass\x20on\x20the\x20JSX\x20tag.\x0a\x0a##\x20Three\x20ways\x20to\x20wire\x20a\x20camera\x0a\x0a`<CeraphCamera\x20/>`\x20(no\x20`imageKey`)\x20—\x20uninitialized.\x20Falls\x20back\x20to\x20a\x0abundled\x201024x1024\x20black\x20PNG\x20that\x20ships\x20with\x20the\x20package,\x20so\x20the\x20screen\x0arenders.\x20The\x20MCP\x27s\x20`ceraph_doctor`\x20lists\x20these\x20as\x20info\x20findings\x20so\x20an\x0aAI\x20assistant\x20can\x20prompt\x20you\x20to\x20make\x20a\x20deliberate\x20choice.\x20Pick\x20from:\x0a\x0a1.\x20`<CeraphCamera\x20imageKey=\x22default\x22\x20/>`\x20—\x20explicit\x20acknowledgment\x20of\x0a\x20\x20\x20the\x20black\x20PNG.\x20Right\x20answer\x20for\x20most\x20form\x20/\x20upload\x20/\x20permission\x0a\x20\x20\x20flows\x20where\x20the\x20image\x20content\x20doesn\x27t\x20matter.\x0a2.\x20`<CeraphCamera\x20imageKey=\x22profile\x22\x20/>`\x20—\x20a\x20specific\x20test\x20image\x20you\x0a\x20\x20\x20provide\x20(this\x20folder).\x20Drop\x20`profile.jpg`\x20(or\x20`.png`\x20/\x20`.webp`\x20/\x0a\x20\x20\x20`.heic`)\x20here.\x20The\x20agent\x20can\x20write\x20the\x20file\x20for\x20you\x20via\x0a\x20\x20\x20`ceraph_add_camera_image`.\x0a3.\x20`<CeraphCamera\x20imageKey=\x22@runtime\x22\x20/>`\x20—\x20runtime\x20control.\x20The\x20flow\x0a\x20\x20\x20planner\x20picks\x20the\x20image\x20per-step\x20at\x20test\x20time.\x20Use\x20when\x20one\x20camera\x0a\x20\x20\x20screen\x20feeds\x20different\x20scenarios\x20across\x20multiple\x20flows.\x0a\x0a##\x20Naming\x0a\x0aLowercase\x20+\x20hyphen-separated,\x20descriptive\x20of\x20what\x20the\x20image\x20represents:\x0a\x0a-\x20`profile.jpg`\x20—\x20face\x20photo\x20for\x20a\x20profile\x20picture\x20screen\x0a-\x20`id-card.png`\x20—\x20government-issued\x20ID\x20for\x20a\x20KYC\x20scan\x20screen\x0a-\x20`product-photo.jpg`\x20—\x20a\x20product\x20image\x20for\x20an\x20upload\x20screen\x0a\x0aSupported\x20extensions:\x20`.jpg`,\x20`.jpeg`,\x20`.png`,\x20`.webp`,\x20`.heic`.\x0aExtension\x20priority\x20on\x20collision:\x20jpg\x20>\x20jpeg\x20>\x20png\x20>\x20webp\x20>\x20heic.\x0a\x0a##\x20Workflow\x0a\x0a1.\x20Drop\x20the\x20image\x20into\x20this\x20folder\x20with\x20the\x20right\x20filename.\x0a2.\x20Reference\x20it\x20on\x20the\x20tag:\x0a\x20\x20\x20```tsx\x0a\x20\x20\x20import\x20{\x20CeraphCamera\x20}\x20from\x20\x22@ceraph/react-native-mcp/shim\x22;\x0a\x20\x20\x20<CeraphCamera\x20imageKey=\x22profile\x22\x20/>\x0a\x20\x20\x20```\x0a3.\x20Regenerate\x20the\x20registry:\x20call\x20the\x20MCP\x20tool\x0a\x20\x20\x20`rn_sync_camera_registry`,\x20or\x20just\x20call\x20`ceraph_doctor`\x20—\x20it\x0a\x20\x20\x20syncs\x20the\x20registry\x20automatically.\x0a4.\x20In\x20`App.tsx`\x20or\x20your\x20root\x20layout\x20(once):\x0a\x20\x20\x20```tsx\x0a\x20\x20\x20import\x20{\x20installCeraph\x20}\x20from\x20\x22@ceraph/react-native-mcp/shim\x22;\x0a\x20\x20\x20useEffect(()\x20=>\x20{\x20installCeraph();\x20},\x20[]);\x0a\x20\x20\x20```\x0a\x20\x20\x20`installCeraph()`\x20loads\x20the\x20generated\x20registry\x20from\x0a\x20\x20\x20`./.ceraph/camera-images/_registry`\x20and\x20wires\x20the\x20deep-link\x0a\x20\x20\x20handlers\x20the\x20flow\x20planner\x20uses.\x0a\x0aCommit\x20these\x20images\x20so\x20flows\x20are\x20reproducible\x20across\x20machines\x20and\x20CI.\x0a',_0x177ec3=process[_0x56ca62(0x35d)][0x1]??'';if(_0x177ec3[_0x56ca62(0x25c)]('init.js')||_0x177ec3[_0x56ca62(0x25c)](_0x56ca62(0x54e))){const _0x15a46f=process.env.CERAPH_AGENT_MODE==='1'||process['argv']['includes']('--agent');_0x2c2b1c({'agentMode':_0x15a46f})['catch'](_0x221213=>{const _0x43622c=_0x56ca62;console['error']('Init\x20failed:',_0x221213),process[_0x43622c(0x542)](0x1);});}}});import{existsSync,readFileSync,readdirSync}from'fs';import{isAbsolute as _0x4ca10d,join as _0xf193eb,relative as _0x232869,resolve,sep as _0x40bf96}from'path';function _0x53d91d(_0x39a583,_0x2fa2a4){const _0x3e8e09=_0xa6e1;if(!_0x39a583||_0x39a583['length']===0x0)return _0x2fa2a4;const _0x50e6fc=_0x4ca10d(_0x39a583)?_0x39a583:resolve(_0x2fa2a4,_0x39a583),_0x26723a=_0x232869(_0x2fa2a4,_0x50e6fc),_0xe8833e=_0x26723a===''||_0x26723a!=='..'&&!_0x26723a[_0x3e8e09(0x317)]('..'+_0x40bf96)&&!_0x4ca10d(_0x26723a);return _0xe8833e?_0x2fa2a4:_0x50e6fc;}var _0x210e1c=_0x1b53f6({'src/resolve-project-dir.ts'(){'use strict';_0x52a119();}});import{readFile as _0x3cbde7,unlink as _0x15e07a,writeFile as _0xa802ff}from'fs/promises';import{join as _0x42867a}from'path';async function _0x33a4a4(_0x45650b,_0x24545a={}){const _0x32d8ab=_0xa6e1,_0x276a4b=_0x42867a(_0x45650b,'.gitignore'),_0x5893b9=_0x24545a['readFile']??(_0x3bd05d=>_0x3cbde7(_0x3bd05d,_0x32d8ab(0x2fd))),_0x3f2b1d=_0x24545a['writeFile']??((_0x1ceeb7,_0xaf09a3)=>_0xa802ff(_0x1ceeb7,_0xaf09a3,'utf-8')),_0x580642=_0x24545a['unlink']??(_0x24e714=>_0x15e07a(_0x24e714)),_0x4e6d89=[];for(const _0x2c73e7 of _0x2a6bd6){const _0x4198dd=_0x42867a(_0x45650b,_0x2c73e7);try{await _0x580642(_0x4198dd),_0x4e6d89['push'](_0x2c73e7);}catch{}}let _0x5ac067;try{_0x5ac067=await _0x5893b9(_0x276a4b);}catch{return{'status':_0x32d8ab(0x380),'path':_0x276a4b,'removedRuntimeFiles':_0x4e6d89};}const _0x3bb05a=_0x5ac067[_0x32d8ab(0x25c)]('\x0a'),_0x4dddee=_0x5ac067['split'](/\r?\n/);_0x3bb05a&&_0x4dddee['length']>0x0&&_0x4dddee[_0x4dddee['length']-0x1]===''&&_0x4dddee['pop']();const _0x1cc388=new Set(_0x572488),_0x6b9489=[],_0x53f358=[];for(const _0xf57f74 of _0x4dddee){if(_0x1cc388[_0x32d8ab(0x3b6)](_0xf57f74[_0x32d8ab(0x531)]())){if(_0x32d8ab(0x3a6)==='cSWpu'){_0x6b9489[_0x32d8ab(0x407)](_0xf57f74);continue;}else{if(_0x3da45f['isCallExpression'](_0x22b80f)){const _0x43ccf1=_0x42a1a3['getExpression']();_0x4606a7[_0x32d8ab(0x3de)](_0x43ccf1)&&_0x43ccf1[_0x32d8ab(0x424)]()===_0x32d8ab(0x4cb)&&_0x1c0f57['push'](_0x5dad40);}}}_0x53f358[_0x32d8ab(0x407)](_0xf57f74);}if(_0x6b9489[_0x32d8ab(0x358)]===0x0)return{'status':_0x32d8ab(0x3fe),'path':_0x276a4b,'removedRuntimeFiles':_0x4e6d89};const _0x34a63f=_0x3bb05a?_0x53f358[_0x32d8ab(0x3c0)]('\x0a')+'\x0a':_0x53f358[_0x32d8ab(0x3c0)]('\x0a');return await _0x3f2b1d(_0x276a4b,_0x34a63f),{'status':'reverted','path':_0x276a4b,'removedLines':_0x6b9489,'removedRuntimeFiles':_0x4e6d89};}var _0x572488,_0x2a6bd6,_0x33c85d=_0x1b53f6({'src/uninstall/revert-gitignore.ts'(){'use strict';const _0x1cd51f=_0xa6e1;_0x572488=['.rn-errors.json','.rn-flow-progress.json',_0x1cd51f(0x45a),_0x1cd51f(0x230),'.ceraph/last-build-snapshot.json'],_0x2a6bd6=['.rn-errors.json','.rn-flow-progress.json'];}});import{readFile as _0x5e5c9f,writeFile as _0xd56076}from'fs/promises';import{homedir as _0x5a2669}from'os';import{join as _0x40543a}from'path';function _0x23883c(_0x4dab17={}){const _0x44d0b3=_0xa6e1,_0x3e7e33=_0x4dab17['env']??process.env,_0x3b7865=_0x4dab17['home']??_0x5a2669(),_0x327b5a=_0x3e7e33[_0x44d0b3(0x54b)]??'';if(_0x327b5a[_0x44d0b3(0x25c)](_0x44d0b3(0x1a7)))return{'path':_0x40543a(_0x3b7865,_0x44d0b3(0x472)),'shell':'bash'};return{'path':_0x40543a(_0x3b7865,'.zshrc'),'shell':_0x44d0b3(0x579)};}async function _0x55a421(_0x4afd52={}){const _0x2f41bd=_0xa6e1,_0x42e07f=_0x4afd52['target']??_0x23883c({'env':_0x4afd52[_0x2f41bd(0x16c)],'home':_0x4afd52['home']}),_0x2f0fed=_0x4afd52['readFile']??(_0x4b5492=>_0x5e5c9f(_0x4b5492,'utf-8')),_0x1c8e07=_0x4afd52[_0x2f41bd(0x2bc)]??((_0x5c05e7,_0x5d960c)=>_0xd56076(_0x5c05e7,_0x5d960c,'utf-8'));let _0x50fa7d;try{_0x50fa7d=await _0x2f0fed(_0x42e07f['path']);}catch{return{'status':'no-profile','path':_0x42e07f[_0x2f41bd(0x1e5)],'shell':_0x42e07f['shell']};}const _0x41c0f2=_0x50fa7d[_0x2f41bd(0x368)](_0x4c02f5);if(_0x41c0f2===-0x1)return{'status':'already-reverted','path':_0x42e07f[_0x2f41bd(0x1e5)],'shell':_0x42e07f[_0x2f41bd(0x451)]};const _0x1189be=_0x50fa7d['indexOf'](_0x29441d,_0x41c0f2);if(_0x1189be===-0x1)return{'status':'already-reverted','path':_0x42e07f[_0x2f41bd(0x1e5)],'shell':_0x42e07f['shell']};const _0x2310e6=_0x1189be+_0x29441d['length'],_0x5a12e1=_0x50fa7d[_0x2310e6]==='\x0a'?_0x2310e6+0x1:_0x2310e6,_0x56d925=_0x50fa7d['slice'](_0x41c0f2,_0x5a12e1),_0x1a2996=_0x56d925[_0x2f41bd(0x382)](/export\s+CERAPH_SIGNAL_HOST=(\S+)/),_0x422861=_0x1a2996?_0x1a2996[0x1]:null;let _0xf3a286=_0x41c0f2;_0xf3a286>=0x1&&_0x50fa7d[_0xf3a286-0x1]==='\x0a'&&(_0xf3a286>=0x2&&_0x50fa7d[_0xf3a286-0x2]==='\x0a'&&(_0xf3a286-=0x1));const _0x86f982=_0x50fa7d[_0x2f41bd(0x554)](0x0,_0xf3a286)+_0x50fa7d['slice'](_0x5a12e1);return await _0x1c8e07(_0x42e07f[_0x2f41bd(0x1e5)],_0x86f982),{'status':'reverted','path':_0x42e07f[_0x2f41bd(0x1e5)],'shell':_0x42e07f['shell'],'removedIp':_0x422861};}var _0x4c02f5,_0x29441d,_0x167683=_0x1b53f6({'src/uninstall/revert-signal-host-env.ts'(){'use strict';const _0x4848c2=_0xa6e1;_0x4c02f5='#\x20Ceraph\x20signal\x20host\x20—\x20auto-set\x20by\x20@ceraph/react-native-mcp\x20init',_0x29441d=_0x4848c2(0x242);}});import{rm as _0x4ee0bb,readdir as _0x1f45e3,stat as _0x5ead7f}from'fs/promises';import{join as _0x43206d}from'path';async function _0x1a0641(_0x20b6ee,_0x3af9af){const _0x4db381=_0xa6e1;try{if('qFNLx'===_0x4db381(0x325)){const _0x4253fe=await _0x3af9af(_0x20b6ee);return _0x4253fe[_0x4db381(0x330)]();}else _0x2b7095=_0x2c7d93[_0x45893f+0x1];}catch{return![];}}async function _0x5b59da(_0x39669f,_0x55b1f7={}){const _0x22d188=_0xa6e1,_0x159168=_0x43206d(_0x39669f['projectDir'],_0x22d188(0x454)),_0x2b91ea=_0x55b1f7['rm']??((_0x8a7d6a,_0x1d6fd4)=>_0x4ee0bb(_0x8a7d6a,_0x1d6fd4)),_0x3fb965=_0x55b1f7[_0x22d188(0x25a)]??(_0x3e7a92=>_0x1f45e3(_0x3e7a92)),_0x2bdb6c=_0x55b1f7[_0x22d188(0x2fb)]??(_0x4b7d08=>_0x5ead7f(_0x4b7d08)),_0x1a1eec=await _0x1a0641(_0x159168,_0x2bdb6c);if(!_0x1a1eec)return{'status':_0x22d188(0x3fe),'path':_0x159168};let _0x4dde26=[];try{_0x4dde26=await _0x3fb965(_0x159168);}catch{_0x4dde26=[];}_0x4dde26[_0x22d188(0x192)]();if(!_0x39669f[_0x22d188(0x47b)])return{'status':_0x22d188(0x17b),'path':_0x159168,'paths':_0x4dde26['map'](_0x34b5ff=>_0x43206d(_0x159168,_0x34b5ff))};return await _0x2b91ea(_0x159168,{'recursive':!![],'force':!![]}),{'status':'deleted','path':_0x159168,'deletedEntries':_0x4dde26};}var _0x3ecc48=_0x1b53f6({'src/uninstall/revert-ceraph-dir.ts'(){'use strict';}});import{rmdir,unlink as _0x4a09ee}from'fs/promises';import{homedir as _0x18e92a}from'os';import{dirname as _0x4dcd99,join as _0x3b950e}from'path';function _0x534d01(_0x16a9d8={}){const _0x149cf3=_0xa6e1;return _0x3b950e(_0x16a9d8['home']??_0x18e92a(),_0x149cf3(0x454),'auth.json');}async function _0x507b90(_0x50d887,_0x73c526={}){const _0x1d94f5=_0xa6e1,_0x44e94e=_0x534d01({'home':_0x73c526['home']}),_0x533e3f=_0x73c526[_0x1d94f5(0x1c5)]??(_0x3a5650=>_0x4a09ee(_0x3a5650));if(!_0x50d887[_0x1d94f5(0x3d1)])return{'status':_0x1d94f5(0x1a6),'path':_0x44e94e,'note':_0x1d94f5(0x592)};const _0x4876fc=_0x73c526['rmdir']??(_0x262fb7=>rmdir(_0x262fb7));try{await _0x533e3f(_0x44e94e);try{await _0x4876fc(_0x4dcd99(_0x44e94e));}catch{}return{'status':'deleted','path':_0x44e94e};}catch(_0x23c198){const _0x44360e=typeof _0x23c198===_0x1d94f5(0x2d2)&&_0x23c198!==null&&_0x1d94f5(0x359)in _0x23c198&&_0x23c198[_0x1d94f5(0x359)]==='ENOENT';if(_0x44360e){try{await _0x4876fc(_0x4dcd99(_0x44e94e));}catch{}return{'status':_0x1d94f5(0x3fe),'path':_0x44e94e};}throw _0x23c198;}}var _0x140b62=_0x1b53f6({'src/uninstall/revert-auth.ts'(){'use strict';}});import{readFile as _0x48a03f,writeFile as _0x3723f7,unlink as _0x222a77}from'fs/promises';import{join as _0x6ec1dc}from'path';import{Project as _0x5e55cf,SyntaxKind as _0x28cb29}from'ts-morph';async function _0x1a60ed(_0x3a916f){const _0xcd9769=_0xa6e1,_0x113e16=_0x3a916f['readFile']??(_0x4c31f4=>_0x48a03f(_0x4c31f4,'utf-8')),_0x5ef661=_0x3a916f['writeFile']??((_0x42e9bd,_0x81524d)=>_0x3723f7(_0x42e9bd,_0x81524d,'utf-8')),_0x4510b5=_0x3a916f['unlink']??(_0xcb5c61=>_0x222a77(_0xcb5c61));let _0x35fec7,_0x5deda0;for(const _0x2ad6f9 of _0x323fce){if(_0xcd9769(0x185)!==_0xcd9769(0x499)){const _0x222653=_0x6ec1dc(_0x3a916f[_0xcd9769(0x54c)],_0x2ad6f9);try{_0x5deda0=await _0x113e16(_0x222653),_0x35fec7=_0x222653;break;}catch{}}else{_0x1b6fda[_0xcd9769(0x31a)]=0xcc,_0x368435['end']();return;}}if(!_0x35fec7||_0x5deda0===void 0x0)return{'status':_0xcd9769(0x37f)};if(!_0x5deda0[_0xcd9769(0x3bb)](_0xe3b707)){if('ZPyMa'==='ZPyMa')return{'status':'already-reverted','path':_0x35fec7};else{const _0x3b144e=[_0x2169bd,_0x4ecf27];return _0x2cc2df[_0xcd9769(0x541)]=_0x3b144e,{'action':_0xcd9769(0x45f),'scheme':_0x3b144e,'previousScheme':_0x4f40c1,'nextScheme':_0x3b144e};}}if(_0x245443[_0xcd9769(0x3bb)](_0x5deda0))return await _0x4510b5(_0x35fec7),{'status':'reverted','path':_0x35fec7,'action':'deleted'};const _0x81ff1e=new _0x5e55cf({'useInMemoryFileSystem':!![]}),_0x5914a5=_0x81ff1e[_0xcd9769(0x1f8)]('babel.config.js',_0x5deda0);let _0x4d95e1=![];_0x5914a5[_0xcd9769(0x568)](_0x29366=>{const _0x1f6010=_0xcd9769;if(_0x4d95e1)return;if(_0x29366['getKind']()!==_0x28cb29['ArrayLiteralExpression'])return;const _0x49a0a2=_0x29366,_0x968b74=_0x49a0a2[_0x1f6010(0x25f)]();for(let _0x131bae=0x0;_0x131bae<_0x968b74[_0x1f6010(0x358)];_0x131bae++){if(_0x968b74[_0x131bae][_0x1f6010(0x424)]()[_0x1f6010(0x3bb)](_0xe3b707)){_0x49a0a2[_0x1f6010(0x2eb)](_0x131bae),_0x4d95e1=!![];break;}}});if(!_0x4d95e1)return{'status':_0xcd9769(0x3fe),'path':_0x35fec7};return await _0x5ef661(_0x35fec7,_0x5914a5['getFullText']()),{'status':_0xcd9769(0x16e),'path':_0x35fec7,'action':_0xcd9769(0x32f)};}var _0x245443,_0x2cb360=_0x1b53f6({'src/uninstall/revert-babel-config.ts'(){'use strict';const _0x3b0040=_0xa6e1;_0x3ea95e(),_0x245443=[_0x66f259(_0x3b0040(0x433)),_0x66f259(_0x3b0040(0x436))];}});import{readFile as _0x3613ff,writeFile as _0x502637,access as _0x1a042a}from'fs/promises';import{join as _0x389376}from'path';async function _0xf0a849(_0xd09f84){try{return await _0x1a042a(_0xd09f84),!![];}catch{return![];}}function _0x4bc512(_0x13f7c1){const _0x3f4528=_0xa6e1;if(!_0x13f7c1['expo']||typeof _0x13f7c1['expo']!=='object')return{'changed':![],'previousScheme':void 0x0,'nextScheme':void 0x0};const _0x55faf0=_0x13f7c1[_0x3f4528(0x467)],_0x6ede2e=_0x55faf0[_0x3f4528(0x541)];if(typeof _0x6ede2e===_0x3f4528(0x2c6)){if(_0x6ede2e===_0x327815)return delete _0x55faf0['scheme'],{'changed':!![],'previousScheme':_0x6ede2e,'nextScheme':void 0x0};return{'changed':![],'previousScheme':_0x6ede2e,'nextScheme':_0x6ede2e};}if(Array['isArray'](_0x6ede2e)){const _0x5deb31=_0x6ede2e[_0x3f4528(0x3bb)](_0x327815);if(!_0x5deb31)return{'changed':![],'previousScheme':[..._0x6ede2e],'nextScheme':[..._0x6ede2e]};const _0xf97668=_0x6ede2e[_0x3f4528(0x422)](_0x21630d=>_0x21630d!==_0x327815),_0x456f8c=[..._0x6ede2e];if(_0xf97668['length']===0x0)return delete _0x55faf0['scheme'],{'changed':!![],'previousScheme':_0x456f8c,'nextScheme':void 0x0};if(_0xf97668[_0x3f4528(0x358)]===0x1)return _0x55faf0['scheme']=_0xf97668[0x0],{'changed':!![],'previousScheme':_0x456f8c,'nextScheme':_0xf97668[0x0]};return _0x55faf0['scheme']=_0xf97668,{'changed':!![],'previousScheme':_0x456f8c,'nextScheme':_0xf97668};}return{'changed':![],'previousScheme':void 0x0,'nextScheme':void 0x0};}function _0x462386(_0x385655){const _0x556359=_0xa6e1;try{const _0x16f0d6=JSON[_0x556359(0x2ee)](_0x385655);if(!_0x16f0d6||typeof _0x16f0d6!=='object'||Array['isArray'](_0x16f0d6))return null;return _0x16f0d6;}catch{return null;}}function _0xe5e6b8(_0x1e4a21,_0x2f38c8){const _0x59bda9=_0xa6e1,_0x26c299=_0x2f38c8['match'](/\n(\s+)"/),_0x120c5d=_0x26c299?.[0x1]??'\x20\x20',_0x58ede5=_0x2f38c8['endsWith']('\x0a'),_0x530bfa=JSON[_0x59bda9(0x278)](_0x1e4a21,null,_0x120c5d);return _0x58ede5?_0x530bfa+'\x0a':_0x530bfa;}function _0x117c0d(_0x2802b4){const _0x5e4c59=_0xa6e1;return'Your\x20project\x20uses\x20'+_0x2802b4+_0x5e4c59(0x194);}async function _0x307a71(_0xe326e5,_0x35a44c={}){const _0x5de32d=_0xa6e1,_0x144a63=_0x35a44c[_0x5de32d(0x266)]??_0xf0a849,_0x2e7fcf=_0x35a44c[_0x5de32d(0x529)]??(_0x2cdb05=>_0x3613ff(_0x2cdb05,_0x5de32d(0x2fd))),_0x5b04ae=_0x35a44c[_0x5de32d(0x2bc)]??((_0x5dbbb4,_0x46e9c8)=>_0x502637(_0x5dbbb4,_0x46e9c8,_0x5de32d(0x2fd))),_0x1f9c44=_0x389376(_0xe326e5,'app.json'),_0x37ee6f=_0x389376(_0xe326e5,'app.config.js'),_0x7c85db=_0x389376(_0xe326e5,_0x5de32d(0x3a5)),_0x5baa22=_0x389376(_0xe326e5,_0x5de32d(0x331)),_0x2ce001=_0x389376(_0xe326e5,'android'),_0x37668a=await _0x144a63(_0x37ee6f),_0x1fd399=await _0x144a63(_0x7c85db);if(_0x37668a||_0x1fd399){const _0x4afa4a=_0x1fd399?_0x7c85db:_0x37ee6f;return{'status':'manual','kind':_0x5de32d(0x2ae),'path':_0x4afa4a,'remediation':_0x117c0d(_0x4afa4a)};}if(await _0x144a63(_0x1f9c44)){const _0xc047=await _0x2e7fcf(_0x1f9c44),_0x3ea856=_0x462386(_0xc047);if(!_0x3ea856){if('XCHtV'==='DAAsJ'){if(_0x440d30(_0x3559f7))return![];if(_0x2400ef['isArrowFunction'](_0x141fbb)){const _0x2a6b79=_0x496f31[_0x5de32d(0x408)]();if(!_0xb0eaeb[_0x5de32d(0x336)](_0x2a6b79)){const _0x173b89=_0x2a6b79['getText']();_0x2a6b79['replaceWithText'](_0x5de32d(0x165)+_0x173b89+_0x5de32d(0x2a9));}}const _0x456637=_0x485df4['getBody']();if(!_0x456637||!_0x495f52['isBlock'](_0x456637))return![];return _0x456637[_0x5de32d(0x3a3)](0x0,'useEffect(()\x20=>\x20{\x20'+_0x25a66d(_0x5467b1)+_0x5de32d(0x2a8)),!![];}else return{'status':_0x5de32d(0x3fe),'path':_0x1f9c44};}const {changed:_0x5cdd4f,previousScheme:_0x4604ce,nextScheme:_0x55502e}=_0x4bc512(_0x3ea856);if(!_0x5cdd4f)return{'status':_0x5de32d(0x3fe),'path':_0x1f9c44};return await _0x5b04ae(_0x1f9c44,_0xe5e6b8(_0x3ea856,_0xc047)),{'status':'reverted','path':_0x1f9c44,'previousScheme':_0x4604ce,'nextScheme':_0x55502e};}if(await _0x144a63(_0x5baa22)||await _0x144a63(_0x2ce001)){if('GNEPR'==='Gnktq')_0x3821bc+=_0x46d18c[_0x5de32d(0x360)]();else return{'status':_0x5de32d(0x466),'kind':'bare-rn','remediation':_0xfed568};}return{'status':_0x5de32d(0x563)};}var _0x327815,_0xfed568,_0x133df7=_0x1b53f6({'src/uninstall/revert-scheme.ts'(){'use strict';const _0x5ed23b=_0xa6e1;_0x327815='ceraph',_0xfed568=_0x5ed23b(0x2db);}});import{access as _0xa18fca,readFile as _0x2f3ff6,unlink as _0x307092}from'fs/promises';import{join as _0x3832c2}from'path';async function _0xfb6f5a(_0x553e84){try{return await _0xa18fca(_0x553e84),!![];}catch{return![];}}async function _0x10a8bd(_0x3b9ddb,_0x56265f={}){const _0x3befe2=_0xa6e1,_0x4a0079=_0x56265f[_0x3befe2(0x529)]??(_0xf66ed5=>_0x2f3ff6(_0xf66ed5,_0x3befe2(0x2fd))),_0x5edb7f=_0x56265f[_0x3befe2(0x2bc)]??_0x20d51c,_0x480824=_0x56265f['unlink']??(_0xf9477c=>_0x307092(_0xf9477c)),_0x4d371f=_0x56265f[_0x3befe2(0x266)]??_0xfb6f5a,_0x5dfdcb=[{'scriptAbsPath':_0x3832c2(_0x3b9ddb['projectDir'],..._0x4ce409),'canonicalScript':_0x2de720,'matcher':_0x238715,'command':_0x27669c},{'scriptAbsPath':_0x3832c2(_0x3b9ddb['projectDir'],..._0x139e50),'canonicalScript':_0x54f58f,'matcher':_0x372ba8,'command':_0x34c1ae}],_0x2fb372=[],_0x2c5849=[];for(const _0x5422d9 of _0x5dfdcb){if(!await _0x4d371f(_0x5422d9['scriptAbsPath']))continue;let _0xf8131d;try{_0xf8131d=await _0x4a0079(_0x5422d9[_0x3befe2(0x4bf)]);}catch{_0x2c5849['push'](_0x5422d9['scriptAbsPath']);continue;}_0xf8131d===_0x5422d9['canonicalScript']?(await _0x480824(_0x5422d9['scriptAbsPath']),_0x2fb372[_0x3befe2(0x407)](_0x5422d9[_0x3befe2(0x4bf)])):_0x2c5849[_0x3befe2(0x407)](_0x5422d9[_0x3befe2(0x4bf)]);}const _0x3e045d=[],_0x364bcd=[];for(const _0x5481b9 of _0x1d6b36){const _0x1649ea=_0x3832c2(_0x3b9ddb[_0x3befe2(0x54c)],..._0x5481b9);if(!await _0x4d371f(_0x1649ea))continue;let _0x5901f7;try{_0x5901f7=await _0x4a0079(_0x1649ea);}catch{_0x364bcd['push'](_0x1649ea);continue;}let _0x5ed208;try{_0x5ed208=JSON['parse'](_0x5901f7);}catch{_0x364bcd[_0x3befe2(0x407)](_0x1649ea);continue;}if(!_0x5ed208||typeof _0x5ed208!=='object'||Array[_0x3befe2(0x310)](_0x5ed208)){_0x364bcd[_0x3befe2(0x407)](_0x1649ea);continue;}const _0x48bd6f=_0x113590(_0x5ed208,_0x5dfdcb);if(!_0x48bd6f['mutated']){_0x364bcd['push'](_0x1649ea);continue;}const _0xf074a9=_0x5901f7[_0x3befe2(0x382)](/\n(\s+)"/),_0x421f67=_0xf074a9?.[0x1]??'\x20\x20',_0x3a687c=_0x5901f7[_0x3befe2(0x25c)]('\x0a'),_0x1cf89d=JSON[_0x3befe2(0x278)](_0x48bd6f[_0x3befe2(0x20c)],null,_0x421f67);await _0x5edb7f(_0x1649ea,_0x3a687c?_0x1cf89d+'\x0a':_0x1cf89d),_0x3e045d['push'](_0x1649ea);}const _0x128087=_0x2fb372['length']>0x0||_0x3e045d['length']>0x0;let _0x28051d;if(_0x2c5849[_0x3befe2(0x358)]>0x0)_0x28051d=_0x3befe2(0x466);else _0x128087?_0x28051d='reverted':_0x28051d=_0x3befe2(0x3fe);return{'status':_0x28051d,'details':{'scriptsDeleted':_0x2fb372,'scriptsLeftAlone':_0x2c5849,'settingsFilesModified':_0x3e045d,'settingsFilesUntouched':_0x364bcd}};}function _0x113590(_0x12ff2a,_0xcc087a){const _0x39b86a=_0xa6e1,_0x15f37e=_0x12ff2a['hooks'];if(!_0x15f37e||typeof _0x15f37e!==_0x39b86a(0x2d2)||Array['isArray'](_0x15f37e))return{'mutated':![],'next':_0x12ff2a};const _0x56f93c=_0x15f37e,_0x2c4e8b=_0x56f93c['FileChanged'];if(!Array['isArray'](_0x2c4e8b)){if(_0x39b86a(0x3df)!==_0x39b86a(0x49d))return{'mutated':![],'next':_0x12ff2a};else _0x2fd2bd=![],_0x56d310='WDA\x20unreachable\x20and\x20no\x20iOS\x20device\x20detected\x20—\x20cannot\x20auto-bridge.',_0xbe438b=_0x39b86a(0x4c7);}const _0x55197e=new Map();for(const _0x470202 of _0xcc087a)_0x55197e[_0x39b86a(0x293)](_0x470202[_0x39b86a(0x1c9)],_0x470202);const _0x35e974=[];let _0x2f5c01=![];for(const _0x25a2e8 of _0x2c4e8b){if(!_0x25a2e8||typeof _0x25a2e8!=='object'||Array['isArray'](_0x25a2e8)){_0x35e974['push'](_0x25a2e8);continue;}const _0x403b48=_0x25a2e8,_0x107f63=_0x403b48[_0x39b86a(0x1c9)];if(typeof _0x107f63!=='string'){_0x35e974[_0x39b86a(0x407)](_0x25a2e8);continue;}const _0x4de3e5=_0x55197e[_0x39b86a(0x3a8)](_0x107f63);if(!_0x4de3e5){_0x35e974[_0x39b86a(0x407)](_0x25a2e8);continue;}const _0x5d9aea=_0x403b48['hooks'];if(!Array['isArray'](_0x5d9aea)){_0x35e974[_0x39b86a(0x407)](_0x25a2e8);continue;}const _0x27b06a=[];let _0x349690=![];for(const _0x234b58 of _0x5d9aea){if('ZObts'===_0x39b86a(0x257))_0x38dbf5=_0x28130e['ok'];else{if(!_0x234b58||typeof _0x234b58!=='object'||Array['isArray'](_0x234b58)){_0x27b06a['push'](_0x234b58);continue;}const _0x12560d=_0x234b58,_0x28028e=_0x12560d['command'];if(typeof _0x28028e==='string'&&_0x28028e===_0x4de3e5[_0x39b86a(0x3ab)]){_0x349690=!![];continue;}_0x27b06a['push'](_0x234b58);}}if(!_0x349690){if(_0x39b86a(0x2ff)==='JbYVv'){_0x35e974['push'](_0x25a2e8);continue;}else return this[_0x39b86a(0x440)](_0x5bafb2,_0x190979);}_0x2f5c01=!![];if(_0x27b06a[_0x39b86a(0x358)]===0x0)continue;_0x35e974['push']({..._0x403b48,'hooks':_0x27b06a});}if(!_0x2f5c01)return{'mutated':![],'next':_0x12ff2a};const _0x206b7b={..._0x56f93c};_0x35e974[_0x39b86a(0x358)]===0x0?delete _0x206b7b[_0x39b86a(0x533)]:_0x206b7b['FileChanged']=_0x35e974;const _0x5238a7={..._0x12ff2a};return Object['keys'](_0x206b7b)[_0x39b86a(0x358)]===0x0?delete _0x5238a7['hooks']:_0x5238a7[_0x39b86a(0x19f)]=_0x206b7b,{'mutated':!![],'next':_0x5238a7};}var _0x4ccfc8=_0x1b53f6({'src/uninstall/revert-claude-hooks.ts'(){'use strict';_0x5e9a70(),_0x485e76();}});import{readFile as _0x35bcac,writeFile as _0xeed32b}from'fs/promises';import{join as _0x520f34}from'path';async function _0x5e3124(){if(_0xa09b48)return;const _0x1f1594=await import('ts-morph');({IndentationText:_0x37edea,Node:_0x2549e7,Project:_0x2abf85,SyntaxKind:_0x43948e}=_0x1f1594,_0xa09b48=!![]);}async function _0x41a763(_0x1dc24d){try{return await _0x35bcac(_0x1dc24d,'utf-8'),!![];}catch{return![];}}async function _0x12b52c(_0x3aeec7){const _0xce844d=_0xa6e1,_0x27d12b=_0x520f34(_0x3aeec7,'app','_layout.tsx');if(await _0x41a763(_0x27d12b))return{'kind':'expo-router','filePath':_0x27d12b};const _0x53a44f=_0x520f34(_0x3aeec7,_0xce844d(0x38e),_0xce844d(0x1d4));if(await _0x41a763(_0x53a44f))return{'kind':'expo-router','filePath':_0x53a44f};for(const _0x38c2cf of[_0xce844d(0x3f5),'App.jsx']){const _0x51d41a=_0x520f34(_0x3aeec7,_0x38c2cf);if(await _0x41a763(_0x51d41a))return{'kind':'bare-rn','filePath':_0x51d41a};}return null;}function _0x48137b(_0x3806da){const _0x4d4de3=_0xa6e1;for(const _0x3a56a7 of _0x3806da['getFunctions']()){if(_0x3a56a7[_0x4d4de3(0x4f1)]())return _0x3a56a7;}const _0x407425=_0x3806da['getStatements']()[_0x4d4de3(0x320)](_0x235b31=>_0x2549e7[_0x4d4de3(0x463)](_0x235b31));if(_0x407425&&_0x2549e7[_0x4d4de3(0x463)](_0x407425)){const _0xad14bd=_0x407425['getExpression']();if(_0x2549e7['isIdentifier'](_0xad14bd)){const _0x528058=_0xad14bd[_0x4d4de3(0x292)]();if(_0x528058){const _0x4c9b71=_0x528058[_0x4d4de3(0x43f)]()[0x0];if(_0x4c9b71&&_0x2549e7[_0x4d4de3(0x307)](_0x4c9b71)){if('zWSjy'==='ULHpE'){const _0xb78aad=_0x4ce4b4[_0x4d4de3(0x1cb)]();if(_0x140ef4['isIdentifier'](_0xb78aad)&&_0xb78aad[_0x4d4de3(0x424)]()===_0x5add86){if(_0x30dad===null)_0x466fb9=_0x17b36b;_0x5af5d4['getArguments']()[_0x4d4de3(0x358)]===0x0&&(_0x2a26c7=_0x38bf6f,_0x2f1e56[_0x4d4de3(0x28d)]());}}else{const _0x147aeb=_0x4c9b71[_0x4d4de3(0x341)]();if(_0x147aeb&&_0x2549e7[_0x4d4de3(0x18c)](_0x147aeb))return _0x147aeb;if(_0x147aeb&&_0x2549e7[_0x4d4de3(0x16a)](_0x147aeb))return _0x147aeb;}}}}if(_0x2549e7['isArrowFunction'](_0xad14bd))return _0xad14bd;if(_0x2549e7[_0x4d4de3(0x16a)](_0xad14bd))return _0xad14bd;}return null;}function _0x50a625(_0x12e727){const _0x2c5be1=_0xa6e1;if(_0x2549e7['isExpressionStatement'](_0x12e727)){if(_0x2c5be1(0x2d6)!=='KCgAW'){const _0x51da81=_0x12e727[_0x2c5be1(0x1cb)]();if(_0x2549e7['isCallExpression'](_0x51da81)){if('PYzoJ'===_0x2c5be1(0x3b1))return null;else{const _0x2419fd=_0x51da81[_0x2c5be1(0x1cb)]();if(_0x2549e7[_0x2c5be1(0x3de)](_0x2419fd)&&_0x2419fd[_0x2c5be1(0x424)]()===_0x38fcbd)return!![];}}}else _0x578d7c='reverted';}return![];}function _0x1a5ba5(_0x51dc71){const _0x170811=_0xa6e1,_0x145c42=_0x51dc71[_0x170811(0x445)]();if(_0x145c42[_0x170811(0x358)]===0x0)return _0x170811(0x253);const _0x52d691=_0x145c42[0x0];let _0x231156=null;if(_0x2549e7[_0x170811(0x18c)](_0x52d691)||_0x2549e7['isFunctionExpression'](_0x52d691)){const _0x2b5f49=_0x52d691[_0x170811(0x408)]();if(_0x2549e7[_0x170811(0x336)](_0x2b5f49))_0x231156=_0x2b5f49;else{if(_0x2549e7[_0x170811(0x58d)](_0x2b5f49)){const _0x1c674a=_0x2b5f49['getExpression']();if(_0x2549e7['isIdentifier'](_0x1c674a)&&_0x1c674a[_0x170811(0x424)]()===_0x38fcbd)return'installCeraph-only';}return _0x170811(0x253);}}else return'unrelated';if(!_0x231156)return'unrelated';const _0x361f96=_0x231156['getStatements']();if(_0x361f96[_0x170811(0x358)]===0x0)return'unrelated';let _0x3c6025=![],_0x836e1f=![];for(const _0x2d2e83 of _0x361f96){if(_0x50a625(_0x2d2e83))_0x3c6025=!![];else{if('EPMrN'!=='HmeNN')_0x836e1f=!![];else return _0x4d8ffe;}}if(!_0x3c6025)return'unrelated';return _0x836e1f?_0x170811(0x170):_0x170811(0x1d1);}function _0x3fddd2(_0x3dea37){const _0x235531=_0xa6e1,_0x43e854=_0x3dea37['getBody']();if(!_0x43e854||!_0x2549e7[_0x235531(0x336)](_0x43e854))return[];const _0x17753d=[];return _0x43e854['forEachDescendant'](_0x14b707=>{const _0x579621=_0x235531;if(_0x2549e7['isCallExpression'](_0x14b707)){const _0xce6f49=_0x14b707['getExpression']();_0x2549e7['isIdentifier'](_0xce6f49)&&_0xce6f49['getText']()===_0x579621(0x4cb)&&_0x17753d['push'](_0x14b707);}}),_0x17753d;}function _0x696e58(_0x473f4b){const _0x44a339=_0xa6e1,_0x4f1e39=_0x473f4b['getImportDeclaration']('react');if(!_0x4f1e39)return![];const _0xcde771=_0x4f1e39[_0x44a339(0x46b)](),_0x179cb6=_0xcde771['find'](_0x299174=>_0x299174['getName']()===_0x44a339(0x4cb));if(!_0x179cb6)return![];const _0x5d0fd4=_0x179cb6['getAliasNode']();if(_0x5d0fd4)return![];let _0x1ac0cb=![];_0x473f4b['forEachDescendant'](_0x27a8fb=>{const _0x43fe66=_0x44a339;if(_0x1ac0cb)return;if(_0x2549e7[_0x43fe66(0x3de)](_0x27a8fb)&&_0x27a8fb[_0x43fe66(0x424)]()===_0x43fe66(0x4cb)){const _0x323f04=_0x27a8fb[_0x43fe66(0x50d)]();if(_0x323f04&&(_0x2549e7['isImportSpecifier'](_0x323f04)||_0x2549e7['isImportClause'](_0x323f04)))return;_0x1ac0cb=!![];}});if(_0x1ac0cb)return![];_0x179cb6[_0x44a339(0x375)]();const _0x291f31=_0x4f1e39[_0x44a339(0x46b)](),_0x4cc048=_0x4f1e39[_0x44a339(0x43b)]()!=null,_0x875fe=_0x4f1e39['getNamespaceImport']()!=null;return _0x291f31['length']===0x0&&!_0x4cc048&&!_0x875fe&&_0x4f1e39[_0x44a339(0x375)](),!![];}function _0x2b9fba(_0x2437db){const _0x1ad4d9=_0xa6e1,_0x195393=_0x2437db['getImportDeclaration'](_0x39ca53);if(!_0x195393)return![];const _0x59a823=_0x195393['getNamedImports'](),_0x4f6375=_0x59a823['find'](_0x532cc5=>_0x532cc5[_0x1ad4d9(0x1ff)]()===_0x38fcbd);if(!_0x4f6375)return![];_0x4f6375[_0x1ad4d9(0x375)]();const _0x30517d=_0x195393['getNamedImports'](),_0x51300b=_0x195393['getDefaultImport']()!=null;return _0x30517d[_0x1ad4d9(0x358)]===0x0&&!_0x51300b&&_0x195393['remove'](),!![];}async function _0x3d3bfb(_0x5e9607){const _0x409786=_0xa6e1;await _0x5e3124();const _0x28fe81=await _0x12b52c(_0x5e9607);if(!_0x28fe81)return{'status':'no-layout-found'};const _0x4bf854=new _0x2abf85({'useInMemoryFileSystem':![],'skipAddingFilesFromTsConfig':!![],'skipFileDependencyResolution':!![],'skipLoadingLibFiles':!![],'compilerOptions':{'allowJs':!![],'jsx':0x1},'manipulationSettings':{'indentationText':_0x37edea[_0x409786(0x256)]}}),_0x152898=_0x4bf854[_0x409786(0x16f)](_0x28fe81['filePath']),_0x4bb515=_0x48137b(_0x152898);if(!_0x4bb515){const _0x10a49a=_0x2b9fba(_0x152898);if(_0x10a49a)return await _0xeed32b(_0x28fe81['filePath'],_0x152898[_0x409786(0x2f4)](),'utf-8'),{'status':'reverted','target':_0x28fe81,'removedUseEffect':![],'removedImport':!![]};return{'status':'already-reverted','target':_0x28fe81};}const _0x5b6477=_0x3fddd2(_0x4bb515),_0x567591=_0x5b6477[_0x409786(0x471)](_0xb5fac6=>({'call':_0xb5fac6,'kind':_0x1a5ba5(_0xb5fac6)})),_0x3ad999=_0x567591['filter'](_0xc24bfc=>_0xc24bfc['kind']===_0x409786(0x1d1)),_0x2fed73=_0x567591['filter'](_0x1cd994=>_0x1cd994[_0x409786(0x15f)]==='installCeraph-with-others');if(_0x2fed73[_0x409786(0x358)]>0x0)return{'status':_0x409786(0x1a6),'target':_0x28fe81,'reason':_0x409786(0x497)};let _0x37cf3c=![];for(const _0x242f89 of _0x3ad999){const _0x468ebf=_0x242f89[_0x409786(0x477)][_0x409786(0x582)](_0x43948e[_0x409786(0x32d)]);_0x468ebf&&(_0x468ebf['remove'](),_0x37cf3c=!![]);}const _0x3af456=_0x2b9fba(_0x152898);if(_0x37cf3c){if(_0x409786(0x3c7)==='fxDCp')'use strict';else _0x696e58(_0x152898);}if(!_0x37cf3c&&!_0x3af456)return{'status':'already-reverted','target':_0x28fe81};return await _0xeed32b(_0x28fe81[_0x409786(0x3e1)],_0x152898['getFullText'](),'utf-8'),{'status':_0x409786(0x16e),'target':_0x28fe81,'removedUseEffect':_0x37cf3c,'removedImport':_0x3af456};}var _0x37edea,_0x2549e7,_0x2abf85,_0x43948e,_0xa09b48,_0x39ca53,_0x38fcbd,_0x4b19cf=_0x1b53f6({'src/uninstall/revert-boot.ts'(){'use strict';const _0x58ed31=_0xa6e1;_0xa09b48=![],_0x39ca53=_0x58ed31(0x2e5),_0x38fcbd=_0x58ed31(0x3e6);}});import{writeFile as _0x3108f2,readdir as _0x524181}from'fs/promises';import{join as _0x42ff98,relative as _0x216449,sep as _0x3f59ae}from'path';async function _0x35b70e(){if(_0x5a8648)return;const _0x301ce0=await import('ts-morph');({IndentationText:_0x3b5e38,Node:_0x42e58d,Project:_0x2fcb04,SyntaxKind:_0x48e6bd}=_0x301ce0,_0x5a8648=!![]);}async function _0x36d3e3(_0xdeeeeb){const _0x4ead44=_0xa6e1,_0x42a70f=[];async function _0x361cd8(_0x1e1c30){const _0x41fcd5=_0xa6e1;if(_0x41fcd5(0x245)!=='DidGl'){let _0x3cbb32;try{_0x3cbb32=await _0x524181(_0x1e1c30,{'withFileTypes':!![]});}catch{if(_0x41fcd5(0x321)!=='hSwbS'){'use strict';_0x4f8631(),_0x4da513(),_0xd64b7='@ceraph/react-native-mcp',_0x393fed=((()=>{const _0x23f36d=_0x41fcd5;try{const _0x406347=_0x161a77(import.meta.url),_0x17ddf6=_0x406347(_0x23f36d(0x414));return _0x17ddf6[_0x23f36d(0x483)]??'0.0.0';}catch{return _0x23f36d(0x1d8);}})()),_0x15a0c1='mcp_servers.react-native-mcp';}else return;}for(const _0x1e6dd of _0x3cbb32){const _0x4176c0=_0x42ff98(_0x1e1c30,_0x1e6dd[_0x41fcd5(0x273)]);if(_0x1e6dd['isDirectory']()){if(_0xdf3b95['has'](_0x1e6dd[_0x41fcd5(0x273)]))continue;await _0x361cd8(_0x4176c0);continue;}if(!_0x1e6dd[_0x41fcd5(0x17d)]())continue;const _0x5c1425=_0x1e6dd[_0x41fcd5(0x273)][_0x41fcd5(0x2b4)]('.');if(_0x5c1425<0x0)continue;const _0x240cc8=_0x1e6dd[_0x41fcd5(0x273)]['slice'](_0x5c1425)[_0x41fcd5(0x55a)]();if(!_0x5807d8[_0x41fcd5(0x3b6)](_0x240cc8))continue;_0x42a70f['push'](_0x4176c0);}}else{'use strict';_0x31d7e5=![],_0x3b5b53='@ceraph/react-native-mcp/shim',_0xba81ac=_0x41fcd5(0x3e6),_0x1094ef=_0x48748f(_0x41fcd5(0x454),'testid-config.json');}}for(const _0x3a9c26 of _0x30e46b){if(_0x4ead44(0x269)!==_0x4ead44(0x269)){const _0x5250c1=_0x38902e[_0x4ead44(0x1cb)]();if(_0x176177[_0x4ead44(0x58d)](_0x5250c1)){const _0xaf4a51=_0x5250c1[_0x4ead44(0x1cb)]();if(_0x359a6c['isIdentifier'](_0xaf4a51)&&_0xaf4a51[_0x4ead44(0x424)]()===_0x1cc24e)return!![];}}else await _0x361cd8(_0x42ff98(_0xdeeeeb,_0x3a9c26));}for(const _0x4b76d7 of['App.tsx',_0x4ead44(0x500)]){_0x42a70f[_0x4ead44(0x407)](_0x42ff98(_0xdeeeeb,_0x4b76d7));}return _0x42a70f;}function _0xfb6a1c(_0x88fa5b){const _0x182468=_0xa6e1,_0x28630e=new _0x2fcb04({'useInMemoryFileSystem':![],'skipAddingFilesFromTsConfig':!![],'skipFileDependencyResolution':!![],'skipLoadingLibFiles':!![],'compilerOptions':{'allowJs':!![],'jsx':0x1},'manipulationSettings':{'indentationText':_0x3b5e38[_0x182468(0x256)]}});for(const _0x110d3f of _0x88fa5b){try{_0x28630e['addSourceFileAtPath'](_0x110d3f);}catch{}}return _0x28630e;}function _0x208d86(_0x21cc4d,_0x4afdc4){const _0x3f47ea=_0xa6e1,_0x3fefd2=[];return _0x21cc4d[_0x3f47ea(0x568)](_0x2c9ff1=>{const _0xb1aa6f=_0x3f47ea;if(_0x42e58d[_0xb1aa6f(0x2fe)](_0x2c9ff1)||_0x42e58d['isJsxSelfClosingElement'](_0x2c9ff1)){const _0x26aff1=_0x2c9ff1['getTagNameNode']();_0x26aff1[_0xb1aa6f(0x424)]()===_0x4afdc4&&_0x3fefd2[_0xb1aa6f(0x407)](_0x2c9ff1);}}),_0x3fefd2;}function _0x2fd34b(_0x43843e){const _0x4a8d59=_0xa6e1,_0x2ebd58=_0x43843e[_0x4a8d59(0x49c)]();for(const _0x5043d8 of _0x2ebd58){if(_0x42e58d[_0x4a8d59(0x23c)](_0x5043d8)){const _0x55bbc8=_0x5043d8[_0x4a8d59(0x3cb)]();_0x55bbc8[_0x4a8d59(0x424)]()==='imageKey'&&_0x5043d8['remove']();}}}function _0x107b8e(_0x1337a2){const _0x23af0c=_0xa6e1;let _0x8077f=0x0,_0x211aa4=Number[_0x23af0c(0x167)];for(let _0x13cbbe=0x0;_0x13cbbe<0x2710;_0x13cbbe++){const _0x4a461b=_0x208d86(_0x1337a2,_0x2d48f0);if(_0x4a461b['length']===0x0)break;if(_0x4a461b[_0x23af0c(0x358)]>=_0x211aa4)break;_0x211aa4=_0x4a461b['length'];const _0x24204f=_0x4a461b[0x0];_0x24204f[_0x23af0c(0x459)]()[_0x23af0c(0x397)](_0xf33cb4);if(_0x42e58d['isJsxOpeningElement'](_0x24204f)){const _0x314da5=_0x24204f['getParentIfKind'](_0x48e6bd[_0x23af0c(0x166)]);if(_0x314da5){const _0x194e6b=_0x314da5[_0x23af0c(0x19c)]();_0x194e6b[_0x23af0c(0x459)]()['replaceWithText'](_0xf33cb4);}}_0x2fd34b(_0x24204f),_0x8077f++;}return _0x8077f;}function _0x4b1a4c(_0x3be90d){const _0x5eed50=_0xa6e1,_0x26507f=_0x3be90d['getImportDeclaration'](_0x35410d);if(!_0x26507f)return![];const _0x5a738d=_0x26507f[_0x5eed50(0x46b)](),_0x24ef21=_0x5a738d['find'](_0x4ce286=>_0x4ce286[_0x5eed50(0x1ff)]()===_0x2d48f0);if(!_0x24ef21)return![];_0x24ef21[_0x5eed50(0x375)]();const _0x441563=_0x26507f[_0x5eed50(0x46b)](),_0xb0c111=_0x26507f['getDefaultImport']()!=null;return _0x441563[_0x5eed50(0x358)]===0x0&&!_0xb0c111&&_0x26507f[_0x5eed50(0x375)](),!![];}function _0x459444(_0x4834ac){const _0x5b8d80=_0xa6e1,_0x2e6f36=_0x4834ac['getImportDeclaration'](_0x237957);if(_0x2e6f36){const _0x41fb29=_0x2e6f36['getNamedImports']();if(_0x41fb29[_0x5b8d80(0x179)](_0x5cf30d=>_0x5cf30d[_0x5b8d80(0x1ff)]()===_0xf33cb4))return![];return _0x2e6f36[_0x5b8d80(0x439)](_0xf33cb4),!![];}return _0x4834ac[_0x5b8d80(0x4cd)]({'moduleSpecifier':_0x237957,'namedImports':[_0xf33cb4]}),!![];}async function _0x10bb04(_0x5e37ed){const _0x357aa3=_0xa6e1;await _0x35b70e();const _0x2c86c0=await _0x36d3e3(_0x5e37ed),_0x1c8390=_0xfb6a1c(_0x2c86c0),_0x53dc63=[];let _0xbf8d67=0x0;for(const _0x325a03 of _0x1c8390['getSourceFiles']()){if('DQqVG'==='WLyYp')_0x2a08e6[_0x357aa3(0x492)]('\x20\x20'+_0x5ed76b);else{_0xbf8d67++;const _0x2c65f6=_0x208d86(_0x325a03,_0x2d48f0);if(_0x2c65f6['length']===0x0){const _0x1adbb1=_0x325a03['getImportDeclaration'](_0x35410d),_0x1c828d=_0x1adbb1!=null&&_0x1adbb1[_0x357aa3(0x46b)]()[_0x357aa3(0x179)](_0x25cd0e=>_0x25cd0e['getName']()===_0x2d48f0);if(!_0x1c828d)continue;const _0x1c26a2=_0x4b1a4c(_0x325a03);if(!_0x1c26a2)continue;const _0x3e8aa9=_0x325a03[_0x357aa3(0x52a)]();await _0x3108f2(_0x3e8aa9,_0x325a03[_0x357aa3(0x2f4)](),_0x357aa3(0x2fd)),_0x53dc63['push']({'path':_0x3e8aa9,'relPath':_0x216449(_0x5e37ed,_0x3e8aa9)['split'](_0x3f59ae)[_0x357aa3(0x3c0)]('/'),'ceraphCamerasRemoved':0x0,'importDropped':!![],'importRestored':![]});continue;}const _0x1ce82c=_0x107b8e(_0x325a03),_0x24daa4=_0x208d86(_0x325a03,_0x2d48f0),_0x15ebb4=_0x24daa4['length']===0x0?_0x4b1a4c(_0x325a03):![],_0xdecc09=_0x208d86(_0x325a03,_0xf33cb4)['length']>0x0,_0x15b9a1=_0xdecc09?_0x459444(_0x325a03):![],_0x2d07f1=_0x325a03['getFilePath']();await _0x3108f2(_0x2d07f1,_0x325a03['getFullText'](),_0x357aa3(0x2fd)),_0x53dc63['push']({'path':_0x2d07f1,'relPath':_0x216449(_0x5e37ed,_0x2d07f1)['split'](_0x3f59ae)[_0x357aa3(0x3c0)]('/'),'ceraphCamerasRemoved':_0x1ce82c,'importDropped':_0x15ebb4,'importRestored':_0x15b9a1});}}return{'files':_0x53dc63,'filesScanned':_0xbf8d67};}var _0x3b5e38,_0x42e58d,_0x2fcb04,_0x48e6bd,_0x5a8648,_0x35410d,_0x2d48f0,_0x237957,_0xf33cb4,_0x30e46b,_0x5807d8,_0xdf3b95,_0x47835d=_0x1b53f6({'src/uninstall/revert-camera.ts'(){'use strict';const _0x4c5f76=_0xa6e1;_0x5a8648=![],_0x35410d=_0x4c5f76(0x2e5),_0x2d48f0=_0x4c5f76(0x53f),_0x237957=_0x4c5f76(0x395),_0xf33cb4=_0x4c5f76(0x3c6),_0x30e46b=['app','src','screens'],_0x5807d8=new Set(['.tsx',_0x4c5f76(0x3f0)]),_0xdf3b95=new Set(['node_modules',_0x4c5f76(0x20e),_0x4c5f76(0x37a),_0x4c5f76(0x35c),_0x4c5f76(0x454),'.expo','.next',_0x4c5f76(0x331),'android']);}});import{spawn as _0x560fc6}from'child_process';import{readFile as _0x3886a5,access as _0x497895}from'fs/promises';import{join as _0x1ce8f0}from'path';async function _0x422b17(_0x11a16c){try{return await _0x497895(_0x11a16c),!![];}catch{return![];}}async function _0x4b4324(_0x5a129e){const _0x5830e9=_0xa6e1;for(const {file:_0x7c11c4,pm:_0x1b6998}of _0x1d5764){if(await _0x422b17(_0x1ce8f0(_0x5a129e,_0x7c11c4))){if(_0x5830e9(0x57b)===_0x5830e9(0x1b0)){if(_0x3abfcf[_0x5830e9(0x528)][_0x5830e9(0x18e)]){_0x74bbf5[_0x5830e9(0x2cb)]();throw new _0x1a19f9('aborted',_0x5830e9(0x4e6));}_0x282910[_0x5830e9(0x528)][_0x5830e9(0x562)](_0x5830e9(0x4c4),()=>{const _0x32d1d=_0x5830e9;_0x3145aa[_0x32d1d(0x4c4)](new _0x588d26(_0x32d1d(0x18e),'AbortError')),_0x1b5cb3['abort']();},{'once':!![]});}else return _0x1b6998;}}return'npm';}function _0x227507(_0x1f62d9,_0x24e73e){const _0x3f232b=_0xa6e1;switch(_0x1f62d9){case'pnpm':return{'bin':_0x3f232b(0x55f),'args':[_0x3f232b(0x375),..._0x24e73e]};case'yarn':return{'bin':_0x3f232b(0x24e),'args':['remove',..._0x24e73e]};case _0x3f232b(0x42b):return{'bin':_0x3f232b(0x42b),'args':[_0x3f232b(0x375),..._0x24e73e]};case'npm':return{'bin':'npm','args':[_0x3f232b(0x56c),..._0x24e73e]};}}async function _0x328ea6(_0x52081a,_0x3418da){const _0x3eb41d=_0xa6e1;let _0x137df8;try{_0x137df8=await _0x3886a5(_0x1ce8f0(_0x52081a,_0x3eb41d(0x575)),_0x3eb41d(0x2fd));}catch{return[];}let _0x90d061;try{_0x90d061=JSON['parse'](_0x137df8);}catch{return[];}if(!_0x90d061||typeof _0x90d061!==_0x3eb41d(0x2d2))return[];const _0x480883=_0x90d061[_0x3eb41d(0x18d)]??{},_0x4fe673=_0x90d061['devDependencies']??{};return _0x3418da['filter'](_0x3e39bd=>Boolean(_0x480883[_0x3e39bd]||_0x4fe673[_0x3e39bd]));}async function _0x86b709(_0x327087,_0x313b3e={}){const _0x491fa4=_0xa6e1,_0x4168c0=await _0x4b4324(_0x327087),_0x1148c7=[_0x1378f9],_0x1a90cb=await _0x328ea6(_0x327087,_0x1148c7);if(_0x1a90cb[_0x491fa4(0x358)]===0x0)return{'status':'nothing-to-remove','pm':_0x4168c0,'removedPackages':[]};const _0x1bb3aa=_0x227507(_0x4168c0,_0x1a90cb),_0x1bfffe=_0x313b3e['spawnRemove']??_0x55d5eb,_0x3fca41=await _0x1bfffe({'bin':_0x1bb3aa['bin'],'args':_0x1bb3aa['args'],'cwd':_0x327087});if(_0x3fca41[_0x491fa4(0x4d9)]!==0x0)return{'status':_0x491fa4(0x30a),'pm':_0x4168c0,'removedPackages':[],'command':_0x1bb3aa,'exitCode':_0x3fca41[_0x491fa4(0x4d9)]};return{'status':'removed','pm':_0x4168c0,'removedPackages':_0x1a90cb,'command':_0x1bb3aa};}function _0x55d5eb(_0x4914d0){return new Promise(_0x15e036=>{const _0xc73885=_0xa6e1,_0x4f371e=_0x560fc6(_0x4914d0['bin'],_0x4914d0['args'],{'cwd':_0x4914d0[_0xc73885(0x28f)],'stdio':'inherit'});_0x4f371e['on']('error',()=>_0x15e036({'exitCode':0x7f})),_0x4f371e['on']('exit',_0x3133df=>_0x15e036({'exitCode':_0x3133df??0x1}));});}var _0x1d5764,_0x1378f9,_0x514ce2=_0x1b53f6({'src/uninstall/revert-package.ts'(){'use strict';const _0x585b55=_0xa6e1;_0x1d5764=[{'file':_0x585b55(0x3e4),'pm':'pnpm'},{'file':'yarn.lock','pm':'yarn'},{'file':'bun.lockb','pm':'bun'},{'file':'bun.lock','pm':_0x585b55(0x42b)},{'file':'package-lock.json','pm':'npm'}],_0x1378f9=_0x585b55(0x4e0);}});import{copyFile,mkdir as _0x2ea8a6,readFile as _0x343cf5,rm as _0x533ab2,stat as _0x5f4df0}from'fs/promises';import{tmpdir,homedir as _0x14aebe}from'os';import{dirname as _0x1e54f4,isAbsolute as _0x3f92a0,join as _0x58745a,relative as _0x2cd72a}from'path';async function _0x1c7812(){if(_0x569cfd)return;const _0x2b2197=await import('ts-morph');({Node:_0x39e9f6,Project:_0x37c94c}=_0x2b2197,_0x569cfd=!![]);}async function _0x1200e6(_0x56b8fd){const _0x4263cf=_0xa6e1,_0x21e18d=[],_0x567ed9=_0x70b869=>{const _0x2de311=_0xa6e1;_0x21e18d[_0x2de311(0x407)](_0x70b869),_0x56b8fd[_0x2de311(0x2a0)]?.(_0x70b869);},_0x332d56=await _0x33fb95(_0x56b8fd);if(_0x332d56['kind']===_0x4263cf(0x48f)){const _0x4c1457={'name':_0x4263cf(0x1fc),'status':_0x4263cf(0x48f),'details':{'matches':_0x332d56['matches']},'remediation':_0x332d56[_0x4263cf(0x2d0)]};return _0x567ed9(_0x4c1457),_0x566988(_0x56b8fd[_0x4263cf(0x54c)],_0x21e18d);}const _0x240105=_0x332d56['workingDir'],_0x4a69c1=_0x56b8fd['rootDir']??_0x56b8fd['projectDir'],_0x368abf=_0x56b8fd['dryRun']===!![],_0x406e8e=await _0x1af7fe(_0x240105,_0x56b8fd,_0x368abf);_0x567ed9(_0x406e8e);const _0x590e2c=await _0x2e5b4f(_0x240105,_0x56b8fd,_0x368abf);_0x567ed9(_0x590e2c);const _0x5b3fac=await _0x589547(_0x240105,_0x56b8fd,_0x368abf);_0x567ed9(_0x5b3fac);const _0x3d38b3=await _0x54caf9(_0x240105,_0x56b8fd,_0x368abf);_0x567ed9(_0x3d38b3);const _0xebda88=await _0x156466(_0x4a69c1,_0x56b8fd,_0x368abf);_0x567ed9(_0xebda88);const _0x548e51=await _0x1a232e(_0x4a69c1,_0x56b8fd,_0x368abf);_0x567ed9(_0x548e51);const _0x4cd251=await _0x2b2ed1(_0x240105,_0x56b8fd,_0x368abf);_0x567ed9(_0x4cd251);const _0x230ffe=await _0x4c71ee(_0x56b8fd,_0x368abf);_0x567ed9(_0x230ffe);const _0x15ac74=await _0x167937(_0x240105,_0x56b8fd,_0x368abf);_0x567ed9(_0x15ac74);const _0x51cf3b=await _0x2c9a25(_0x56b8fd,_0x368abf);_0x567ed9(_0x51cf3b);const _0x5c588a=await _0x23b1f4(_0x240105,_0x56b8fd,_0x368abf);return _0x567ed9(_0x5c588a),_0x566988(_0x240105,_0x21e18d);}async function _0x33fb95(_0x2f4414){const _0x2eea34=_0xa6e1,_0x2be634=_0x2f4414[_0x2eea34(0x524)]??_0x23c9dd,_0x51f8b0=await _0x2be634(_0x2f4414['projectDir']);if(_0x51f8b0[_0x2eea34(0x15f)]===_0x2eea34(0x38d))return{'kind':'ok','workingDir':_0x2f4414['projectDir']};if(_0x51f8b0[_0x2eea34(0x15f)]==='single'){const _0x29e621=_0x51f8b0[_0x2eea34(0x452)][0x0];if(!_0x29e621)return{'kind':'ok','workingDir':_0x2f4414['projectDir']};return{'kind':'ok','workingDir':_0x29e621['absPath']};}return{'kind':_0x2eea34(0x48f),'matches':_0x51f8b0['matches']['map'](_0xda4278=>({'relPath':_0xda4278['relPath'],'absPath':_0xda4278[_0x2eea34(0x190)]})),'remediation':'Multiple\x20React\x20Native\x20subpackages\x20detected.\x20Pass\x20--project-dir\x20to\x20target\x20a\x20specific\x20subpackage,\x20e.g.\x20`--project-dir\x20'+(_0x51f8b0['matches'][0x0]?.['relPath']??'apps/mobile')+'`.'};}async function _0x1af7fe(_0x5960bc,_0x1814a1,_0x4645e1){const _0x53cac4=_0xa6e1,_0x5b70f2=_0x1814a1['revertCamera']??_0x10bb04;if(_0x4645e1)try{const _0x5c73dd=await _0x33ebf6(_0x5960bc,_0x5b70f2);return _0x135621(_0x5c73dd,{'dryRun':!![]});}catch(_0xb54f3b){return{'name':_0x53cac4(0x365),'status':'error','details':{'error':_0x1d8222(_0xb54f3b)},'remediation':_0x53cac4(0x519)};}const _0x8da9ed=new Map();try{const _0x14342c=await _0x6b1a37(_0x5960bc);for(const _0x1646ba of _0x14342c){if('ONgOJ'===_0x53cac4(0x198))return null;else _0x8da9ed[_0x53cac4(0x293)](_0x1646ba,await _0x3e51e0(_0x1646ba));}const _0x350b77=await _0x5b70f2(_0x5960bc);return _0x135621(_0x350b77,{'dryRun':![]});}catch(_0x2d0a8f){const _0x32a50e=[];for(const [_0x2a5ec0,_0x266cda]of _0x8da9ed){if(_0x266cda==null)continue;try{await _0x5b2be0(_0x2a5ec0,_0x266cda);}catch(_0x1f7340){if(_0x53cac4(0x3ff)===_0x53cac4(0x3ff))_0x32a50e['push'](_0x2a5ec0+':\x20'+_0x1d8222(_0x1f7340));else return{'name':_0x53cac4(0x1af),'status':'error','details':{'error':_0x1e95df(_0x203b2d)}};}}const _0x21d98c=_0x53cac4(0x503)+_0x1d8222(_0x2d0a8f)+'.',_0xee9f72=_0x32a50e['length']===0x0?_0x21d98c+'\x20All\x20edited\x20files\x20were\x20restored\x20from\x20snapshots.':_0x21d98c+'\x20Some\x20files\x20could\x20not\x20be\x20restored:\x20'+_0x32a50e[_0x53cac4(0x3c0)](';\x20');return{'name':'camera','status':'error','details':{'error':_0x1d8222(_0x2d0a8f),'snapshotCount':_0x8da9ed[_0x53cac4(0x296)],'restoreFailures':_0x32a50e},'remediation':_0xee9f72};}}function _0x135621(_0x34b214,_0x2d1076){const _0x92f4dd=_0xa6e1,_0x4dbcf2=_0x34b214['files']['reduce']((_0x206c69,_0x11ab69)=>_0x206c69+_0x11ab69['ceraphCamerasRemoved'],0x0),_0x1e8f9f=_0x4dbcf2;if(_0x34b214['files']['length']===0x0)return{'name':'camera','status':'already-reverted','details':{'filesScanned':_0x34b214[_0x92f4dd(0x381)],..._0x2d1076['dryRun']?{'dryRun':!![]}:{}}};const _0x219659=_0x1e8f9f>0x0?_0x92f4dd(0x38c):_0x92f4dd(0x16e),_0x3e67b1={'name':'camera','status':_0x219659,'details':{'filesScanned':_0x34b214[_0x92f4dd(0x381)],'filesEdited':_0x34b214['files'][_0x92f4dd(0x471)](_0x1286f8=>_0x1286f8['relPath']),'ceraphCamerasRemoved':_0x4dbcf2,'importDropped':_0x34b214[_0x92f4dd(0x2ec)]['filter'](_0x199143=>_0x199143[_0x92f4dd(0x57c)])['length'],'importRestored':_0x34b214[_0x92f4dd(0x2ec)][_0x92f4dd(0x422)](_0x5cac5a=>_0x5cac5a['importRestored'])[_0x92f4dd(0x358)],'imageKeysStripped':_0x1e8f9f,..._0x2d1076[_0x92f4dd(0x1dd)]?{'dryRun':!![]}:{}}};return _0x219659==='warning'&&(_0x3e67b1['remediation']='revert-camera\x20removed\x20imageKey\x20props\x20from\x20'+_0x1e8f9f+'\x20<CeraphCamera>\x20tag(s).\x20If\x20any\x20of\x20those\x20keys\x20were\x20customer-set\x20(not\x20Ceraph-generated),\x20re-apply\x20them\x20after\x20install\x20rebuilds\x20the\x20camera\x20surface.'),_0x3e67b1;}async function _0x6b1a37(_0x227699){const _0x1fa277=_0xa6e1,_0x3d27ec=['app','src','screens'],_0x55cb1d=new Set(['.tsx','.jsx']),_0x27d9f4=new Set([_0x1fa277(0x514),'dist',_0x1fa277(0x37a),'.git',_0x1fa277(0x454),'.expo',_0x1fa277(0x1f7),_0x1fa277(0x331),_0x1fa277(0x469)]),_0xacbe94=[],_0x16e21c=async _0x5ebb56=>{const _0x8dae30=_0x1fa277;let _0x56c679;try{const {readdir:_0x17c8f5}=await import('fs/promises');_0x56c679=await _0x17c8f5(_0x5ebb56,{'withFileTypes':!![]});}catch{return;}for(const _0x24a91c of _0x56c679){if(_0x24a91c['isDirectory']()){if(_0x27d9f4[_0x8dae30(0x3b6)](_0x24a91c[_0x8dae30(0x273)]))continue;await _0x16e21c(_0x58745a(_0x5ebb56,_0x24a91c[_0x8dae30(0x273)]));continue;}if(!_0x24a91c[_0x8dae30(0x17d)]())continue;const _0x246225=_0x24a91c[_0x8dae30(0x273)][_0x8dae30(0x2b4)]('.');if(_0x246225<0x0)continue;const _0x3c041c=_0x24a91c['name'][_0x8dae30(0x554)](_0x246225)['toLowerCase']();if(!_0x55cb1d[_0x8dae30(0x3b6)](_0x3c041c))continue;_0xacbe94[_0x8dae30(0x407)](_0x58745a(_0x5ebb56,_0x24a91c['name']));}};for(const _0x46295b of _0x3d27ec){await _0x16e21c(_0x58745a(_0x227699,_0x46295b));}for(const _0x3af76a of['App.tsx','App.jsx']){_0xacbe94[_0x1fa277(0x407)](_0x58745a(_0x227699,_0x3af76a));}const _0x30ef71=[];for(const _0x53b335 of _0xacbe94){let _0x276c89;try{'kDwHl'===_0x1fa277(0x23a)?_0x276c89=await _0x343cf5(_0x53b335,_0x1fa277(0x2fd)):(this[_0x1fa277(0x21b)]=null,this[_0x1fa277(0x54a)]=null,this['sessionBaseUrl']=null);}catch{continue;}if(_0x276c89['includes']('<CeraphCamera'))_0x30ef71[_0x1fa277(0x407)](_0x53b335);}return _0x30ef71;}async function _0x33ebf6(_0x2bff06,_0x1501fd){const _0x114710=_0xa6e1,_0x2e4d5c=await _0x6b1a37(_0x2bff06),_0x508cbc=_0x58745a(tmpdir(),_0x114710(0x324)+Date[_0x114710(0x1ec)]()+'-'+Math[_0x114710(0x4e2)]()['toString'](0x24)[_0x114710(0x554)](0x2));try{await _0x2ea8a6(_0x508cbc,{'recursive':!![]});for(const _0x5d29f9 of _0x2e4d5c){const _0x91707a=_0x2cd72a(_0x2bff06,_0x5d29f9),_0x35be94=_0x58745a(_0x508cbc,_0x91707a);await _0x2ea8a6(_0x1e54f4(_0x35be94),{'recursive':!![]}),await copyFile(_0x5d29f9,_0x35be94);}return await _0x1501fd(_0x508cbc);}finally{try{await _0x533ab2(_0x508cbc,{'recursive':!![],'force':!![]});}catch{}}}async function _0x2e5b4f(_0x11bad5,_0x15f3b2,_0x19e121){const _0x13ebbc=_0xa6e1,_0xdc6181=_0x15f3b2['revertBoot']??_0x3d3bfb,_0x19b567=_0x15f3b2[_0x13ebbc(0x16b)]??_0x12b52c;if(_0x19e121)try{if(_0x13ebbc(0x262)!=='smwpp'){const _0x290d78=await _0x19b567(_0x11bad5);if(!_0x290d78)return{'name':_0x13ebbc(0x1db),'status':'already-reverted','details':{'reason':'no\x20layout\x20file\x20detected','dryRun':!![]}};const _0x40dc23=await _0x974713(_0x290d78[_0x13ebbc(0x3e1)],_0x11bad5);try{const _0xda197d=await _0xdc6181(_0x40dc23['projectDir']);return await _0x2a2601(_0xda197d,_0x11bad5,_0x290d78,_0x15f3b2,!![]);}finally{await _0x533ab2(_0x40dc23['tmpRoot'],{'recursive':!![],'force':!![]})[_0x13ebbc(0x3e8)](()=>void 0x0);}}else{const _0x338d49=_0x2f7b1b?_0x57a247:_0x5a8492;return{'status':_0x13ebbc(0x466),'kind':_0x13ebbc(0x2ae),'path':_0x338d49,'remediation':_0x4da06c(_0x338d49)};}}catch(_0x3d02d3){return{'name':_0x13ebbc(0x1db),'status':_0x13ebbc(0x48f),'details':{'error':_0x1d8222(_0x3d02d3),'dryRun':!![]},'remediation':_0x13ebbc(0x2c5)};}try{const _0x1abc42=await _0xdc6181(_0x11bad5),_0x363174=_0x1abc42[_0x13ebbc(0x17a)]==='no-layout-found'?null:_0x1abc42[_0x13ebbc(0x3ed)];return await _0x2a2601(_0x1abc42,_0x11bad5,_0x363174,_0x15f3b2,![]);}catch(_0x362554){return{'name':_0x13ebbc(0x1db),'status':_0x13ebbc(0x48f),'details':{'error':_0x1d8222(_0x362554)},'remediation':'Boot\x20revert\x20raised.\x20Check\x20the\x20layout\x20file\x20for\x20syntax\x20errors\x20before\x20re-running.'};}}async function _0x2a2601(_0x59b5cc,_0x595424,_0x285474,_0xb99593,_0x1be50b){const _0x1a51be=_0xa6e1;switch(_0x59b5cc['status']){case _0x1a51be(0x16e):return{'name':_0x1a51be(0x1db),'status':_0x1a51be(0x16e),'details':{'target':_0x59b5cc[_0x1a51be(0x3ed)],'removedUseEffect':_0x59b5cc[_0x1a51be(0x1cc)],'removedImport':_0x59b5cc['removedImport'],..._0x1be50b?{'dryRun':!![]}:{}}};case'already-reverted':return{'name':'boot','status':_0x1a51be(0x3fe),'details':{'target':_0x59b5cc[_0x1a51be(0x3ed)],..._0x1be50b?{'dryRun':!![]}:{}}};case'no-layout-found':return{'name':_0x1a51be(0x1db),'status':'already-reverted','details':{'reason':_0x1a51be(0x572),..._0x1be50b?{'dryRun':!![]}:{}}};case _0x1a51be(0x1a6):{const _0x33e276=await _0xbf2f1e(_0x59b5cc[_0x1a51be(0x3ed)]['filePath']);return{'name':'boot','status':_0x1a51be(0x466),'details':{'target':_0x59b5cc['target'],'reason':_0x59b5cc[_0x1a51be(0x3c8)],'location':_0x33e276[_0x1a51be(0x4de)],'otherStatements':_0x33e276[_0x1a51be(0x525)],..._0x33e276['parseError']!==void 0x0?{'parseError':_0x33e276[_0x1a51be(0x316)]}:{},..._0x1be50b?{'dryRun':!![]}:{}},'remediation':_0x1a51be(0x37e)+_0x59b5cc['target'][_0x1a51be(0x3e1)]+(_0x33e276[_0x1a51be(0x4de)]?':'+_0x33e276['location']['line']:'')+').\x20Remove\x20the\x20`installCeraph()`\x20call\x20by\x20hand\x20without\x20dropping\x20your\x20own\x20code,\x20then\x20re-run\x20`npx\x20@ceraph/react-native-mcp\x20uninstall`.'+(_0x33e276['parseError']!==void 0x0?_0x1a51be(0x25e)+_0x33e276[_0x1a51be(0x316)]+')':'')};}}return{'name':'boot','status':'error','details':{'result':_0x59b5cc},'remediation':_0x1a51be(0x45c)};}async function _0xbf2f1e(_0x1d6e5c){const _0xa03674=_0xa6e1;try{await _0x1c7812();const _0x2642ad=new _0x37c94c({'useInMemoryFileSystem':![],'skipAddingFilesFromTsConfig':!![],'skipFileDependencyResolution':!![],'skipLoadingLibFiles':!![],'compilerOptions':{'allowJs':!![],'jsx':0x1}}),_0x18c503=_0x2642ad['addSourceFileAtPath'](_0x1d6e5c),_0x101d22=_0x53e2be(_0x18c503);if(!_0x101d22)return{'location':null,'otherStatements':[]};const _0x30a991=_0x101d22['getBody']();if(!_0x30a991||!_0x39e9f6[_0xa03674(0x336)](_0x30a991))return{'location':null,'otherStatements':[]};let _0x20e0b4=null,_0x5e60f0=[];return _0x30a991['forEachDescendant'](_0xeed3ca=>{const _0x11973a=_0xa03674;if(_0x20e0b4)return;if(!_0x39e9f6['isCallExpression'](_0xeed3ca))return;const _0x49d69d=_0xeed3ca['getExpression']();if(!_0x39e9f6['isIdentifier'](_0x49d69d)||_0x49d69d[_0x11973a(0x424)]()!==_0x11973a(0x4cb))return;const _0x50a6a4=_0xeed3ca['getArguments'](),_0x8c1792=_0x50a6a4[0x0];if(!_0x8c1792)return;if(!_0x39e9f6[_0x11973a(0x18c)](_0x8c1792)&&!_0x39e9f6[_0x11973a(0x16a)](_0x8c1792))return;const _0x429aaa=_0x8c1792['getBody']();if(!_0x39e9f6[_0x11973a(0x336)](_0x429aaa))return;const _0x56988f=_0x429aaa['getStatements'](),_0x57a33c=[],_0x4fda19=[];for(const _0x444244 of _0x56988f){if(_0x1b0c08(_0x444244))_0x57a33c['push'](_0x444244);else _0x4fda19[_0x11973a(0x407)](_0x444244);}_0x57a33c['length']>0x0&&_0x4fda19['length']>0x0&&(_0x20e0b4={'line':_0xeed3ca[_0x11973a(0x202)]()},_0x5e60f0=_0x4fda19['map'](_0x327921=>_0x327921[_0x11973a(0x424)]()));}),{'location':_0x20e0b4,'otherStatements':_0x5e60f0};}catch(_0x5eede5){return{'location':null,'otherStatements':[],'parseError':_0x1d8222(_0x5eede5)};}}function _0x53e2be(_0x58e9e4){const _0x15c436=_0xa6e1;for(const _0x94aa0b of _0x58e9e4[_0x15c436(0x1b4)]()){if(_0x94aa0b['isDefaultExport']())return _0x94aa0b;}const _0x5cabc2=_0x58e9e4['getStatements']()[_0x15c436(0x320)](_0x377c62=>_0x39e9f6['isExportAssignment'](_0x377c62));if(_0x5cabc2&&_0x39e9f6[_0x15c436(0x463)](_0x5cabc2)){if('srJBq'!==_0x15c436(0x222)){const _0x6c0d00=_0x2add01[_0x15c436(0x341)]();if(_0x6c0d00&&_0x2346b5[_0x15c436(0x18c)](_0x6c0d00))return _0x6c0d00;if(_0x6c0d00&&_0x375628[_0x15c436(0x16a)](_0x6c0d00))return _0x6c0d00;}else{const _0x227c5=_0x5cabc2['getExpression']();if(_0x39e9f6[_0x15c436(0x3de)](_0x227c5)){const _0x518b5d=_0x227c5['getSymbol']();if(_0x518b5d){const _0x56d474=_0x518b5d[_0x15c436(0x43f)]()[0x0];if(_0x56d474&&_0x39e9f6[_0x15c436(0x307)](_0x56d474)){const _0x35f4e7=_0x56d474[_0x15c436(0x341)]();if(_0x35f4e7&&_0x39e9f6[_0x15c436(0x18c)](_0x35f4e7))return _0x35f4e7;if(_0x35f4e7&&_0x39e9f6[_0x15c436(0x16a)](_0x35f4e7))return _0x35f4e7;}}}if(_0x39e9f6[_0x15c436(0x18c)](_0x227c5))return _0x227c5;if(_0x39e9f6['isFunctionExpression'](_0x227c5))return _0x227c5;}}return null;}function _0x1b0c08(_0xaed294){const _0x4c97c1=_0xa6e1;if(!_0x39e9f6['isExpressionStatement'](_0xaed294))return![];const _0x6371e=_0xaed294['getExpression']();if(!_0x39e9f6[_0x4c97c1(0x58d)](_0x6371e))return![];const _0x558e82=_0x6371e['getExpression']();return _0x39e9f6[_0x4c97c1(0x3de)](_0x558e82)&&_0x558e82[_0x4c97c1(0x424)]()==='installCeraph';}async function _0x54caf9(_0x4fbc74,_0x355df1,_0x5ec239){const _0x522027=_0xa6e1,_0x6b7e04=_0x355df1['revertCeraphUrlScheme']??_0x307a71;if(_0x5ec239)try{if(_0x522027(0x558)===_0x522027(0x561))return this['pixelRatio']=0x3,this[_0x522027(0x54a)];else{const _0x2beae6=await _0x3b6eb6(_0x4fbc74);try{const _0xbc6626=await _0x6b7e04(_0x2beae6[_0x522027(0x54c)]);return _0x5b936b(_0xbc6626,!![]);}finally{await _0x533ab2(_0x2beae6['tmpRoot'],{'recursive':!![],'force':!![]})['catch'](()=>void 0x0);}}}catch(_0x58820d){return{'name':'scheme','status':_0x522027(0x48f),'details':{'error':_0x1d8222(_0x58820d),'dryRun':!![]}};}try{const _0x38f703=await _0x6b7e04(_0x4fbc74);return _0x5b936b(_0x38f703,![]);}catch(_0x2475b7){return{'name':'scheme','status':'error','details':{'error':_0x1d8222(_0x2475b7)}};}}function _0x5b936b(_0x394b59,_0x40a5f9){const _0x3b981a=_0xa6e1,_0x268294=_0x40a5f9?{'dryRun':!![]}:{};switch(_0x394b59['status']){case _0x3b981a(0x16e):return{'name':_0x3b981a(0x541),'status':_0x3b981a(0x16e),'details':{'path':_0x394b59['path'],'previousScheme':_0x394b59[_0x3b981a(0x4e3)],'nextScheme':_0x394b59['nextScheme'],..._0x268294}};case'already-reverted':return{'name':'scheme','status':_0x3b981a(0x3fe),'details':{'path':_0x394b59[_0x3b981a(0x1e5)],..._0x268294}};case _0x3b981a(0x466):return{'name':'scheme','status':_0x3b981a(0x466),'details':{'kind':_0x394b59[_0x3b981a(0x15f)],'path':_0x394b59['path'],..._0x268294},'remediation':_0x394b59['remediation']};case _0x3b981a(0x563):return{'name':_0x3b981a(0x541),'status':'already-reverted','details':{'reason':_0x3b981a(0x43a),..._0x268294}};}}async function _0x3b6eb6(_0x11bc81){const _0x1dd378=_0xa6e1,_0x262d33=_0x58745a(tmpdir(),_0x1dd378(0x509)+Date['now']()+'-'+Math['random']()[_0x1dd378(0x360)](0x24)['slice'](0x2));return _0x3ac8e9(_0x262d33,async()=>{const _0x18c1de=_0x1dd378;await _0x2ea8a6(_0x262d33,{'recursive':!![]});for(const _0x3624b3 of['app.json','app.config.js',_0x18c1de(0x3a5)]){const _0x382a15=_0x58745a(_0x11bc81,_0x3624b3);try{await copyFile(_0x382a15,_0x58745a(_0x262d33,_0x3624b3));}catch{}}for(const _0x16af2a of[_0x18c1de(0x331),'android']){try{await _0x5f4df0(_0x58745a(_0x11bc81,_0x16af2a)),await _0x2ea8a6(_0x58745a(_0x262d33,_0x16af2a),{'recursive':!![]});}catch{}}return{'projectDir':_0x262d33,'tmpRoot':_0x262d33};});}async function _0x156466(_0x35403e,_0xfbd868,_0x4cf4ff){const _0x4327ea=_0xa6e1,_0xbb6641=_0xfbd868[_0x4327ea(0x3c1)]??_0x2e323b,_0x443d6a=_0xfbd868['revertUserGlobalMcpClients']??_0x2b03b2,_0x36b83a=_0xfbd868[_0x4327ea(0x53d)]?.();if(_0x4cf4ff){let _0x6c4495=null,_0x2b51a1=null;try{_0x6c4495=await _0x51ae0b(_0x35403e),_0x2b51a1=await _0x4a9947(_0x36b83a);const _0x2c5bd9=await _0xbb6641(_0x6c4495['projectDir']),_0x5461f9=await _0x443d6a({'home':_0x2b51a1['tmpHome']});return _0x10b829(_0x2c5bd9,_0x5461f9,!![]);}catch(_0x44066a){return{'name':_0x4327ea(0x578),'status':_0x4327ea(0x48f),'details':{'error':_0x1d8222(_0x44066a),'dryRun':!![]}};}finally{if(_0x4327ea(0x263)!==_0x4327ea(0x263))return{'name':_0x4327ea(0x511),'status':_0x4327ea(0x48f),'details':{'error':_0x257e87(_0x38a5fe),'dryRun':!![]}};else _0x6c4495&&await _0x533ab2(_0x6c4495[_0x4327ea(0x56a)],{'recursive':!![],'force':!![]})['catch'](()=>void 0x0),_0x2b51a1&&await _0x533ab2(_0x2b51a1['tmpRoot'],{'recursive':!![],'force':!![]})['catch'](()=>void 0x0);}}try{const _0x53144e=await _0xbb6641(_0x35403e),_0x23608c=await _0x443d6a({'home':_0x36b83a});return _0x10b829(_0x53144e,_0x23608c,![]);}catch(_0x4440d0){return{'name':'mcp-clients','status':'error','details':{'error':_0x1d8222(_0x4440d0)}};}}function _0x10b829(_0x134987,_0x4fbd47,_0x317d5f){const _0xef1d6b=_0xa6e1,_0x4197c8=[..._0x134987[_0xef1d6b(0x2ec)],..._0x4fbd47[_0xef1d6b(0x2ec)]],_0x4568fb=_0x4197c8[_0xef1d6b(0x422)](_0x3af3e7=>_0x3af3e7['status']==='removed-entries'||_0x3af3e7[_0xef1d6b(0x17a)]==='deleted-file'),_0x22b120=_0x317d5f?{'dryRun':!![]}:{};if(_0x4568fb['length']===0x0)return{'name':_0xef1d6b(0x578),'status':'already-reverted','details':{'files':_0x134987['files'],'userGlobalFiles':_0x4fbd47['files'],..._0x22b120}};return{'name':_0xef1d6b(0x578),'status':'reverted','details':{'files':_0x134987[_0xef1d6b(0x2ec)],'userGlobalFiles':_0x4fbd47[_0xef1d6b(0x2ec)],'touched':_0x4568fb[_0xef1d6b(0x358)],..._0x22b120}};}async function _0x51ae0b(_0x3ecd00){const _0x25cc9b=_0xa6e1,_0x1c6e9e=_0x58745a(tmpdir(),_0x25cc9b(0x490)+Date[_0x25cc9b(0x1ec)]()+'-'+Math[_0x25cc9b(0x4e2)]()['toString'](0x24)[_0x25cc9b(0x554)](0x2));return _0x3ac8e9(_0x1c6e9e,async()=>{const _0x460eec=_0x25cc9b;await _0x2ea8a6(_0x1c6e9e,{'recursive':!![]});const _0x2849f=[_0x460eec(0x2ce),_0x58745a(_0x460eec(0x1a1),_0x460eec(0x164)),_0x58745a('.vscode','mcp.json'),_0x58745a(_0x460eec(0x344),'config.toml'),_0x58745a('.claude',_0x460eec(0x29e))];for(const _0x53b3ab of _0x2849f){const _0x1cef73=_0x58745a(_0x3ecd00,_0x53b3ab),_0x499129=_0x58745a(_0x1c6e9e,_0x53b3ab);try{await _0x2ea8a6(_0x1e54f4(_0x499129),{'recursive':!![]}),await copyFile(_0x1cef73,_0x499129);}catch{}}return{'projectDir':_0x1c6e9e,'tmpRoot':_0x1c6e9e};});}function _0x5f11(){const _0x40b1e2=['App.jsx','sectionPresent','cacheTtlMs','Camera\x20revert\x20failed:\x20','removedPackages','not\x20found','loadAuth','checkDevicectl','installStdioToStderr','ceraph-uninstall-scheme-preview-','found','missing-dir','nothing-to-remove','getParent','getSource','/url','CfZym','package','Access-Control-Allow-Origin','Failed\x20to\x20create\x20WDA\x20session:\x20','node_modules','Invalid\x20CERAPH_WEB_BASE_URL\x20or\x20CERAPH_API_URL:\x20\x22','xDARt','.jpg','hZGra','Dry-run\x20camera\x20preview\x20failed.\x20Re-run\x20without\x20--dry-run\x20after\x20fixing\x20the\x20error\x20above,\x20or\x20pass\x20--project-dir\x20if\x20the\x20path\x20is\x20wrong.','hardwareProperties','edge-swipe','unknown\x20error','login','ODIAW','nztkO','pid','1560250ZukyXg','required-env-vars','CqAlR','detectMonorepo','otherStatements','byteLength','[!]','signal','readFile','getFilePath',',\x20ceraph])','storedAt','process','/session','../','tier','trim','\x22);\x20}\x20catch\x20{\x20return\x20null;\x20}\x20}\x20}','FileChanged','WebDriverAgent.xcodeproj',')\x20->\x20(','WDA\x20session\x20creation\x20succeeded\x20but\x20no\x20sessionId\x20returned','manual\x20action\x20required\x20—\x20','\x20is\x20not\x20a\x20JSON\x20object\x20(got\x20','relPath','ceraph-uninstall-gitignore-preview-','lerna.json','getImportDeclaration','homeDir','umxcP','CeraphCamera','\x20scheme\x20(kept\x20your\x20existing\x20','scheme','exit','ENOENT','clear','pro','platform','ls-files','unknown','iproxy\x20auto-bridge\x20threw:\x20','pixelRatio','SHELL','projectDir','Claude\x20Code\x20hook:\x20FileChanged\x20→\x20.rn-flow-progress.json\x20✓','init.ts','removedRuntimeFiles','starter','\x22\x20to\x20your\x20babel\x20plugins,\x20before\x20any\x20\x22','Element\x20not\x20visible\x20after\x20','/callback','slice','base64url','screens','({\x20readTestidConfig:\x20()\x20=>\x20{\x20try\x20{\x20return\x20require(\x22','XOszz','mcp_servers.react-native-mcp','toLowerCase','hgkNp','JmAJJ','Target:\x20','hasCoverSheet','pnpm','no-github-remote','ZBFSv','addEventListener','no-rn-project','Installing\x20appium-webdriveragent\x20for\x20simulator\x20support\x20(one-time,\x20~200MB)…','start','method','Wired\x20the\x20testID\x20injector\x20into\x20','forEachDescendant','aYRrX','tmpRoot','runningProcesses','uninstall','appium-webdriveragent','Divided\x20by\x20','.tsx','.gitignore:\x20added\x20','help','no\x20layout\x20file\x20detected','ffmpeg','udidResolved','package.json','pop','realDeviceHookInflight','mcp-clients','zsh','installCeraph()\x20registers\x20Ceraph\x27s\x20dev-only\x20test\x20hooks\x20—\x20runtime-error\x20capture,\x20state\x20reset/reload,\x20keep-awake\x20—\x20at\x20app\x20start.\x20No-op\x20in\x20production\x20builds.','oenVG','importDropped','http://127.0.0.1:','launch','mNpSd','11xLfPuB','To\x20add\x20AI\x20flow\x20testing\x20on\x20your\x20real\x20device,\x20re-run\x20init\x20and\x20pick\x20Pro.','getFirstAncestorByKind','registered','readUInt32BE','WDA\x20touchAndHold\x20failed:\x20','data','\x0aManual\x20actions\x20needed:\x0a','xcrun','Failed\x20to\x20get\x20element\x20tree:\x20','/\x20and\x20call\x20`rn_sync_camera_registry`\x20to\x20regenerate.','Your\x20Ceraph\x20session\x20is\x20no\x20longer\x20valid\x20(the\x20account\x20may\x20have\x20been\x20deleted,\x20or\x20your\x20token\x20expired).\x20Run\x20`npx\x20@ceraph/react-native-mcp\x20init`\x20to\x20sign\x20in\x20again.\x20Your\x20local\x20screenshots\x20and\x20flows\x20are\x20preserved\x20—\x20only\x20the\x20server-side\x20identity\x20needs\x20refreshing.','No\x20GitHub\x20remote\x20detected\x20—\x20graph\x20cache\x20seed\x20skipped.\x20First\x20rn_test_*\x20call\x20will\x20build\x20the\x20graph\x20from\x20scratch.','isCallExpression','sessionBaseUrl','route','mcp_servers.','\x22.\x20Only\x20https://\x20(or\x20http://\x20for\x20localhost\x20/\x20127.0.0.1)\x20endpoints\x20are\x20allowed.','Pass\x20global:\x20true\x20to\x20remove\x20~/.ceraph/auth.json\x20—\x20the\x20token\x20is\x20user-global\x20and\x20removing\x20it\x20logs\x20you\x20out\x20of\x20every\x20Ceraph\x20install.','Signed\x20in\x20as\x20','//\x20AUTO-GENERATED\x20by\x20@ceraph/react-native-mcp\x20—\x20do\x20not\x20edit\x20by\x20hand.\x0a//\x20Re-run\x20`rn_sync_camera_registry`\x20after\x20adding\x20or\x20removing\x20images.\x0aimport\x20{\x20configureTestImage\x20}\x20from\x20\x22@ceraph/react-native-mcp/shim\x22;\x0a\x0aexport\x20function\x20applyCameraImageRegistry():\x20void\x20{\x0a','min','No\x20<CameraView>\x20usages\x20found\x20in\x20app/,\x20src/,\x20screens/,\x20App.tsx','ZOqli','kind','padEnd','mnQTA','agentMode','unlock','mcp.json','{\x20return\x20','JsxElement','POSITIVE_INFINITY','sim','device:','isFunctionExpression','detectBootTarget','env','matchCount','reverted','addSourceFileAtPath','installCeraph-with-others','enabledMcpjsonServers',':\x20configured\x20✓','Starter\x20selected\x20—\x20local\x20build,\x20run,\x20and\x20device\x20tools.\x20No\x20sign-in\x20needed.','left','\x20files).','unchanged','devices','bundleIdentifier','some','status','skipped-needs-confirmation','\x20<CeraphCamera>\x20tag(s).\x20If\x20any\x20of\x20those\x20keys\x20were\x20customer-set\x20(not\x20Ceraph-generated),\x20re-apply\x20them\x20after\x20install\x20rebuilds\x20the\x20camera\x20surface.','isFile','ensureSession','udidResolvedAt','info','devDependencies','\x20install\x20exited\x20with\x20code\x20','/cli-auth\x20in\x20your\x20browser\x20to\x20sign\x20in.\x20If\x20the\x20browser\x20didn\x27t\x20open,\x20visit\x20the\x20URL\x20manually:\x0a\x20\x20','aBRXt','lBNlO','\x20[Y/n]\x20','update','isJsxSelfClosingElement','passedCount','idbAvailable','in-flight','isArrowFunction','dependencies','aborted','findElement','absPath','xZuWY','sort','buildTapPointerActions','\x20(dynamic\x20Expo\x20config).\x20The\x20init\x20walkthrough\x20never\x20edited\x20this\x20file\x20automatically;\x20if\x20you\x20(or\x20a\x20teammate)\x20added\x20`ceraph`\x20to\x20its\x20`scheme`\x20value,\x20remove\x20that\x20entry\x20by\x20hand.\x20After\x20editing,\x20run\x20`expo\x20prebuild\x20--clean`\x20or\x20restart\x20the\x20dev\x20client.','outputToStderr','payload','success','mxrsF','_registry.ts','stateVersion','hqzgg','getClosingElement','pointerDown','QCdLD','hooks','sendW3CActions','.cursor','\x20@ceraph/react-native-mcp\x20(','simctl','expiresAt','Upgrade','skipped','/bash','invalidate','removed','zDmsA','volumeDown','actions','unverified','back','claude-hooks','uXaYq','Claude\x20Code\x20will\x20ask\x20you\x20to\x20approve\x20the\x20Ceraph\x20MCP\x20server\x20once\x20on\x20restart\x20—\x20your\x20.claude/settings.local.json\x20had\x20an\x20unexpected\x20shape,\x20so\x20it\x20was\x20left\x20untouched.\x20Approve\x20the\x20prompt,\x20or\x20add\x20\x22react-native-mcp\x22\x20to\x20enabledMcpjsonServers\x20in\x20that\x20file\x20by\x20hand.','--help','.\x20Fix\x20the\x20error\x20above\x20and\x20re-run\x20`npx\x20@ceraph/react-native-mcp\x20uninstall`.','getFunctions','\x20is\x20malformed\x20JSON\x20—\x20preserving\x20it.\x20Fix\x20the\x20file\x20manually\x20then\x20re-run\x20init.','WDA\x20swipe\x20failed:\x20','yes','Replace\x20each\x20<CameraView\x20/>\x20with\x20<CeraphCamera\x20imageKey=\x22...\x22\x20/>\x20from\x20\x22@ceraph/react-native-mcp/shim\x22.\x20The\x20shim\x20falls\x20through\x20to\x20expo-camera\x20in\x20production\x20builds.','LDkHJ','realDeviceHookFiredFor','state','/wda/touchAndHold','udid','githubUser','simulatorWdaUdid','already-present','https:','No\x20element\x20found\x20matching\x20field\x20query:\x20','result','setTargetResolver','unlink','/wda/tap/0','writtenOrUnchanged','Add\x20the\x20matching\x20image\x20file\x20to\x20.ceraph/camera-images/\x20(e.g.\x20<key>.jpg)\x20and\x20re-run\x20`rn_sync_camera_registry`,\x20or\x20fix\x20the\x20imageKey\x20prop\x20value.','matcher','Claude\x20Code:\x20pre-approved\x20the\x20Ceraph\x20MCP\x20server\x20(no\x20trust\x20prompt)\x20✓','getExpression','removedUseEffect','nzAcP','Next:\x20ask\x20your\x20AI\x20coding\x20assistant\x20(Claude\x20Code,\x20Cursor,\x20Codex,\x20etc.):','35eLTVyL','33eUxiLb','installCeraph-only','WDA\x20unlock\x20failed:\x20','isAvailable','_layout.jsx','\x20swipes:\x20','setOrientation','see\x20details','0.0.0','getSourceFiles','.jpeg','boot','\x27\x20at\x20','dryRun','nav-bar','OPTIONS','/tier-check','\x20[y/N]\x20','No\x20bare\x20<CameraView>\x20usages\x20from\x20expo-camera\x20found\x20in\x20app/src/screens.','pipe','resolveSha','path','claudePreApprovalPreserved','gVHIC','unlocked','\x20\x20//\x20No\x20images\x20registered\x20yet.\x20Drop\x20files\x20into\x20.ceraph/camera-images/\x0a\x20\x20//\x20and\x20re-run\x20`rn_sync_camera_registry`.\x0a}\x0a','Unknown\x20error\x20during\x20pressKey','O_CREAT','now','getStart','babel-config','Resolution\x20failed\x20for\x20query\x20at\x20index\x20','npm','@ceraph/react-native-mcp\x0a\x0aUSAGE\x0a\x20\x20npx\x20@ceraph/react-native-mcp\x20<command>\x20[flags]\x0a\x0aCOMMANDS\x0a\x20\x20init\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Wire\x20up\x20MCP\x20clients,\x20hooks,\x20AST\x20replacements,\x20and\x20doctor.\x0a\x20\x20uninstall\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Reverse\x20the\x20mutations\x20init\x20applied.\x0a\x20\x20(no\x20command)\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Start\x20the\x20MCP\x20server\x20over\x20stdio.\x0a\x0aFLAGS\x0a\x20\x20--agent\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Pass\x20when\x20an\x20AI\x20tool\x20is\x20driving\x20the\x20install\x20—\x20defers\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20interactive\x20camera\x20setup\x20to\x20the\x20agent\x20via\x20a\x20single\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CERAPH_INIT_AGENT_HINT={...}\x20JSON\x20line\x20emitted\x20on\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20stdout\x20at\x20completion.\x20Equivalent\x20to\x20CERAPH_AGENT_MODE=1.\x0a\x20\x20--tier=<pro|starter>\x20\x20Pre-select\x20the\x20plan,\x20skipping\x20the\x20interactive\x20prompt.\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Starter\x20is\x20free\x20(local\x20build/run/device\x20tools,\x20no\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20sign-in).\x20Pro\x20($10/mo)\x20adds\x20AI\x20flow\x20testing\x20on\x20a\x20real\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20device\x20and\x20requires\x20sign-in\x20+\x20checkout.\x0a\x20\x20--help,\x20-h\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Show\x20this\x20help\x20text.\x0a','lock\x20screen','round','require','inflight','listBooted','.next','createSourceFile','width','already-running','uMDBP','monorepo','pointerUp','headers','getName','details','substring','getStartLineNumber','en0','EeTPh','registryPath','hELBs','git','WDA\x20pressButton\x20failed:\x20','Pro\x20is\x20active\x20on\x20this\x20account.','suggestedKey','No\x20iOS\x20target\x20detected.\x20For\x20a\x20real\x20device:\x20tell\x20the\x20user\x20to\x20plug\x20in\x20their\x20iPhone\x20via\x20USB-C\x20and\x20trust\x20this\x20Mac,\x20then\x20call\x20`rn_wait_for_device`\x20(listens\x20on\x20macOS\x27s\x20usbmuxd\x20daemon\x20for\x20sub-second\x20event-driven\x20detection\x20—\x20no\x20polling,\x20no\x20timeout).\x20For\x20a\x20simulator:\x20boot\x20one\x20(Simulator.app\x20or\x20`xcrun\x20simctl\x20boot\x20<udid>`)\x20and\x20call\x20`rn_wda_start`\x20to\x20target\x20it.','next','x:\x20(','dist','flavor','\x0aSummary:\x0a','http://localhost:8100','server-error','query','tap','Element\x20not\x20visible\x20after\x203000ms:\x20','concat','__keychain__','center','--udid','json','sessionId','permission-interceptor-ready','46521390fDRiBz','clearSimulatorWdaPort','authFilePath','Flow\x20intelligence\x20(rn_list_flows\x20/\x20rn_find_flows\x20/\x20rn_test_flows)\x20is\x20a\x20Pro\x20feature\x20—\x20upgrade\x20at\x20https://ceraph.dev/#pricing.\x20If\x20you\x20just\x20upgraded,\x20re-run\x20this\x20—\x20your\x20Pro\x20access\x20refreshes\x20automatically.','height','srJBq','packages','src','Select\x20[1-','getSimulatorWdaPort','/orientation','react-native-mcp','base64','env-override-simulator','.tmp.','default','spawnRemove','Error:\x20--project-dir\x20is\x20not\x20a\x20directory:\x20','mobile-mcp','.ceraph/wda-derived/','alreadyCurrent','.ts','accessToken','app.config.js','Kyyov','Pro\x20selected\x20but\x20not\x20yet\x20active\x20—\x20server-side\x20caching\x20is\x20skipped\x20until\x20checkout\x20completes\x20at\x20','inherit','Ceraph\x20server\x20returned\x20an\x20unexpected\x20response\x20shape\x20for\x20','layoutCount','kDwHl','export\x20','isJsxAttribute','/wda/locked','EEMYp','yDIxe','\x20(imageKey=\x22','max','#\x20End\x20Ceraph\x20signal\x20host','devicectl','pause','edWbS','AxwTa','array','needs-manual','1803610XuMoqu','Opening\x20browser\x20to\x20sign\x20in…','\x20top-level\x20is\x20not\x20a\x20JSON\x20object\x20—\x20preserving\x20it.','<CeraphCamera>\x20is\x20a\x20drop-in\x20for\x20<CameraView>\x20(same\x20props):\x20during\x20a\x20flow\x20run\x20it\x20returns\x20your\x20test\x20image;\x20in\x20a\x20production\x20build\x20it\x20renders\x20the\x20real\x20camera.','layout','yarn','not-installed','Could\x20not\x20auto-wire\x20the\x20testID\x20injector:\x20','$1-$2','\x20\x20Reverted:\x20\x20\x20\x20\x20\x20\x20\x20','unrelated','Restart\x20Claude\x20Code\x20(or\x20your\x20MCP\x20client)\x20to\x20load\x20the\x20Ceraph\x20tools.','Skipped\x20(auto-injection):\x20','TwoSpaces','vafim','TimeoutError','NxqJw','readdir','Ceraph\x20rate\x20limit\x20hit.\x20Try\x20again\x20in\x20a\x20few\x20seconds.','endsWith','wPqFe','\x20(Note:\x20re-parse\x20failed\x20—\x20line\x20info\x20missing:\x20','getElements','installedAppsCache','index','qxhZs','UBiOa','children','Pro\x20·\x20$10/mo\x20—\x20AI\x20flow\x20testing\x20on\x20your\x20real\x20device.\x20Sign\x20in\x20to\x20start.','fileExists','value','token','yUPGN','Unknown\x20error\x20during\x20screenshot','multi','stdin','\x22$CLAUDE_PROJECT_DIR\x22/.claude/hooks/rn-flow-progress-notify.sh','apiBase','WebDriverAgent\x20is\x20not\x20reachable\x20at\x20','YYpAT','nothing\x20to\x20do','idb','name','getifaddr','Opening\x20','typeIntoField','Device\x20is\x20awake\x20(lockState:\x20','stringify','activateApp','booted','screenCount','\x20file(s)','getPixelRatio','POST,\x20GET,\x20OPTIONS','mcpServers','protocol','Pro\x20selected.\x20To\x20start\x20AI\x20flow\x20testing,\x20complete\x20checkout\x20at\x20','trimStart','mobilePro','preserved','Install\x20with\x20`brew\x20install\x20ffmpeg`\x20to\x20enable\x20per-chain\x20mp4\x20capture\x20on\x20real-device\x20runs.\x20Tests\x20will\x20continue\x20without\x20video\x20until\x20installed.','simulatorWdaPort','WDA\x20unreachable\x20and\x20no\x20iOS\x20device\x20detected\x20—\x20cannot\x20auto-bridge.','zozYK','key','hideKeyboardAfter','simctl\x20terminate\x20failed:\x20','Not\x20in\x20a\x20git\x20repo\x20(or\x20no\x20HEAD\x20commit\x20yet)\x20—\x20graph\x20cache\x20seed\x20skipped.\x20First\x20rn_test_*\x20call\x20will\x20build\x20the\x20graph\x20from\x20scratch.','stop','Found\x20','cwd','all','sLDeD','getSymbol','set','macOS\x20Screen\x20Recording\x20permission\x20not\x20granted.\x20Open\x20System\x20Settings\x20→\x20Privacy\x20&\x20Security\x20→\x20Screen\x20Recording\x20and\x20enable\x20your\x20terminal\x20app\x20(Terminal\x20/\x20iTerm\x20/\x20Warp\x20/\x20Cursor\x20/\x20VS\x20Code\x20—\x20whichever\x20launched\x20the\x20MCP).\x20After\x20granting,\x20fully\x20quit\x20and\x20relaunch\x20the\x20terminal,\x20then\x20unplug\x20and\x20replug\x20your\x20iPhone\x20before\x20retrying.','\x22\x20URL:\x20\x22','size','toFixed','then','fetchSourceTree','VebTu','preferSimulator','no-mobile-graph','xeRMq','settings.local.json','targetResolver','onStep','pickTransport','Pro\x20selected.\x0a','\x20\x20-\x20','HEAD','summary','not-pro','signal-host',';\x20},\x20[]);',';\x20}','message','Bearer\x20','\x22;\x0a\x20\x20useEffect(()\x20=>\x20{\x20','verifySelector','expo-dynamic','ceraph-dir','wdaFetchAt','Which\x20plan?','_findNavBarBackButton','clearText','lastIndexOf','\x0a@ceraph/react-native-mcp\x20init\x0a','owner','Matched\x20element\x20has\x20no\x20bounds/rect\x20information.','isArrayLiteralExpression','http:','waitFor','ready','writeFile','disableAutoLock','auth','screen','device','daOSk','iproxy\x20bridge\x20started\x20(pid\x20','\x0a@ceraph/react-native-mcp\x20uninstall\x0a','replace','Dry-run\x20boot\x20preview\x20failed;\x20re-run\x20without\x20--dry-run\x20to\x20see\x20the\x20real\x20error\x20path.','string','pressKey','pluginVersion','single','react','close','mSbaR','NXPwF','.mcp.json','Refusing\x20to\x20send\x20your\x20Ceraph\x20token\x20to\x20a\x20\x22','remediation',':\x0a\x20\x20import\x20{\x20installCeraph\x20}\x20from\x20\x22','object','openingTag','WebDriverAgent\x20is\x20reachable\x20at\x20','Claude\x20Code\x20hook:\x20','gQLRQ','simulatorUdid','pingStatus','/status','babel.config.js','Remove\x20the\x20ceraph\x20scheme\x20from\x20ios/<App>/Info.plist\x20CFBundleURLTypes\x20and\x20android/app/src/main/AndroidManifest.xml.\x20Both\x20files\x20were\x20never\x20written\x20by\x20init\x20—\x20they\x20require\x20manual\x20edits\x20because\x20they\x20are\x20inside\x20the\x20customer\x27s\x20native\x20project\x20tree.','/source?format=json','No\x20valid\x20selection.\x20Re-run\x20init\x20and\x20pick\x20a\x20numbered\x20option.','Windsurf','FLBvQ','ms:\x20','fPNie','tap\x20succeeded\x20but\x20post-tap\x20verify\x20failed:\x20','assertNotVisible','seamed','@ceraph/react-native-mcp/shim','Couldn\x27t\x20ensure\x20appium-webdriveragent:\x20','.js','agentMessage','could\x20not\x20read\x20the\x20file','kill','removeElement','files','trimEnd','parse','auth.json','--terminate-existing','No\x20<CeraphCamera>\x20components\x20detected.\x20No\x20camera-setup\x20conversation\x20needed;\x20proceed\x20with\x20the\x20rest\x20of\x20the\x20project\x20work.','ffmpeg\x20not\x20required\x20for\x20simulator\x20targets\x20—\x20`xcrun\x20simctl\x20io\x20recordVideo`\x20(shipped\x20with\x20Xcode)\x20handles\x20video\x20capture.','2156152KYBvxK','getFullText','https://ceraph.dev/api/mcp','.codeium','number','gitignore','openUrl','xzZWz','stat','listapps','utf-8','isJsxOpeningElement','JbYVv','--device','CFBundleDisplayName','unref','=...','port','\x20—\x20continuous\x20chain-run\x20video\x20capture\x20is\x20wired.','realDeviceHook','isVariableDeclaration','totalReplacements','swOtS','command-failed','terminate','O_WRONLY','deleted','getDescendantsOfKind','setRealDeviceHook','isArray','config.toml','Multiple\x20React\x20Native\x20subpackages\x20detected:','KxciD','Detected\x20a\x20monorepo\x20at\x20the\x20current\x20directory\x20but\x20could\x20not\x20find\x20a\x20React\x20Native\x20or\x20Expo\x20subpackage.\x20Re-run\x20`npx\x20@ceraph/react-native-mcp\x20init`\x20from\x20inside\x20the\x20RN/Expo\x20app\x20folder,\x20or\x20add\x20the\x20app\x20to\x20your\x20workspaces.','ext','parseError','startsWith','\x20(expected\x20an\x20object).','266998uFomQu','statusCode','line','Unsupported\x20pressKey:\x20','WDA\x20openUrl\x20failed:\x20','Unlock\x20the\x20device\x20manually\x20and\x20set\x20Auto-Lock\x20to\x20Never.','listInstalledApps','find','hSwbS','\x20`hooks`\x20is\x20not\x20a\x20JSON\x20object\x20—\x20preserving\x20it.','No\x20element\x20found\x20matching\x20query:\x20','ceraph-uninstall-preview-','qFNLx','intent','Antigravity','Could\x20not\x20resolve\x20GitHub\x20repo\x20from\x20git\x20remote.','\x20<CameraView>\x20usage(s)\x20not\x20wrapped\x20by\x20<CeraphCamera>.',';\x20udid\x20','gate\x20closed','pIVYW','ExpressionStatement','rect','stripped','isDirectory','ios','11310930ndXZtb','already-approved','getWindowSize','WDA\x20unavailable\x20—\x20call\x20rn_wda_start\x20first\x20if\x20testing\x20on\x20a\x20simulator.','isBlock','paths','Unknown\x20error\x20during\x20getSource','VpZiJ','Existing\x20sign-in\x20is\x20from\x20the\x20old\x20GitHub\x20OAuth\x20flow\x20—\x20re-authenticating\x20against\x20the\x20new\x20browser\x20flow.','Install\x20with\x20`brew\x20install\x20libimobiledevice`,\x20then\x20re-run\x20doctor.','ensureAwake','digest','cached','IopNo','No\x20working\x20launch\x20transport\x20found.\x20Install\x20Xcode\x20(for\x20devicectl)\x20or\x20idb\x20(https://fbidb.io/)\x20to\x20launch\x20apps\x20on\x20a\x20real\x20device.','getInitializer','exec','getLockState','.codex','not\x20associated','connectionProperties','isTTY','fetchedAt','/session/','\x20out\x20of\x20range.\x20Found\x20','FmukU','\x22\x20entry.','CFBundleName','open','ensureUrlScheme','swipe','accessibilityLabel','hostname','pointer','end','Screen\x20Recording\x20not\x20yet\x20verified\x20—\x20a\x20macOS\x20dialog\x20appears\x20the\x20first\x20time\x20Ceraph\x20drives\x20the\x20device\x20(click\x20Allow;\x20no\x20Settings\x20navigation\x20needed).\x20Session\x20video\x20only;\x20tests\x20run\x20regardless.','idb\x20launch\x20failed:\x20','RlWqq','length','code','DEeFd','--tier=','.git','argv','auto-lock-disabled','LIzte','toString','ViDMD','file','currentBaseUrl','app-installed','camera','wrHmi','.zshrc','indexOf','iproxyManager','aDLAQ','account-invalid','Could\x20not\x20reach\x20the\x20Ceraph\x20server.\x20Check\x20your\x20network\x20connection\x20and\x20try\x20again.','tapTransport','Error:\x20--project-dir\x20does\x20not\x20exist:\x20','\x20[cached]','screenshot','<no\x20IP>','readPreference','JAdlI','runDoctor','remove','stdout','device-awake','Device\x20is\x20locked.\x20Unlock\x20it\x20manually\x20once,\x20then\x20set\x20Settings\x20→\x20Display\x20&\x20Brightness\x20→\x20Auto-Lock\x20→\x20Never\x20so\x20it\x20stays\x20awake\x20while\x20flows\x20run.\x20WDA\x20can\x27t\x20bypass\x20Face\x20ID\x20or\x20a\x20passcode.','_layout.tsx','build','devicectl\x20info\x20apps\x20failed:\x20','Unknown\x20error\x20during\x20getActiveAppInfo','ZyEko','installCeraph()\x20is\x20wrapped\x20in\x20a\x20useEffect\x20that\x20also\x20contains\x20other\x20statements\x20(see\x20','no-config','no-gitignore','filesScanned','match','Pro\x20selected.\x20Complete\x20checkout\x20at\x20','application/json','source','uyywb','checks','contents','processIdentifier','your\x20Pro\x20access\x20refreshes\x20automatically.','&state=','warning','none','app','Ceraph\x20server\x20is\x20having\x20a\x20moment\x20(HTTP\x20','BkWDI','WDA\x20apps/launch\x20failed:\x20','\x20is\x20not\x20installed\x20on\x20the\x20device.','qOcoJ','removed-entries','expo-camera','expo-json-added','replaceWithText','longPressElement','ceraph','elementMatches','mode','getUdid','getOrientation','reset','locked','test','mkdir','checkIdb','insertStatements','down','app.config.ts','cSWpu','durationMs','get','QXttW','_systemBack','command','Already\x20wired\x20—\x20no\x20changes\x20needed.','rbyjj','No\x20token\x20provided.','\x20is\x20not\x20an\x20array\x20of\x20strings\x20—\x20preserved','.heic','UiEIb','\x0aYour\x20project\x20uses\x20','@ceraph/react-native-mcp@latest','JKUaa','Failed\x20to\x20parse\x20devicectl\x20output:\x20','has','every','No\x20element\x20found\x20for\x20query\x20at\x20index\x20','Code=115','POST','includes','read','Run\x20`iproxy\x208100\x208100\x20-u\x20<udid>`\x20manually\x20to\x20see\x20the\x20full\x20error.','Default\x20export\x20is\x20not\x20a\x20block-bodied\x20function.\x20Manually\x20add\x20the\x20following\x20at\x20the\x20top\x20of\x20your\x20root\x20component\x20in\x20','write','join','revertMcpClients','vklbo','/rn-init-graph','isLocked','cmd','CameraView','lyLbB','reason','\x0a}\x0a','type','getNameNode','\x20file(s):','/window/size','KdYOW','\x20(payload\x20was\x20capped\x20at\x20','ceraph://','global','created','from','keys','UDID_TTL_MS','\x20matching\x20element(s).','nextScheme','appium-webdriveragent\x20ready\x20—\x20simulator\x20WebDriverAgent\x20can\x20build.','/wda/keys','.rn-errors.json','/wda/pressButton','camera-images','Claude\x20Code\x20hook\x20(.rn-flow-progress.json):\x20already\x20configured','isIdentifier','vHtvr','JCGks','filePath','ignore','Verify\x20Settings\x20→\x20Display\x20&\x20Brightness\x20→\x20Auto-Lock\x20is\x20set\x20to\x20Never.\x20Otherwise\x20the\x20phone\x20will\x20sleep\x20mid-flow.','pnpm-lock.yaml','EphbF','installCeraph','\x20scheme\x20to\x20ceraph://','catch','edits','expo-json-already-registered','[--]','Refusing\x20to\x20send\x20your\x20Ceraph\x20token\x20over\x20plaintext\x20HTTP\x20to\x20a\x20non-local\x20host:\x20\x22','target','content-type','installed','.jsx','installPackage','No\x20readable\x20graph-relevant\x20files\x20in\x20the\x20repo\x20—\x20nothing\x20to\x20seed.','right','findDeviceAppPid','App.tsx','yayTl','add','resolve','.claude','antigravity','Skipped\x20installCeraph()\x20injection.\x20Re-run\x20`npx\x20@ceraph/react-native-mcp\x20init`\x20to\x20wire\x20it.','WebDriverAgent\x20is\x20not\x20ready\x20(simulator\x20selected,\x20no\x20port\x20captured\x20yet).','.rn-flow-progress.json','already-reverted','sCxgY','WDA\x20tap\x20failed\x20(serial\x20fallback)','\x20→\x20now\x20[','Invalid\x20Ceraph\x20endpoint\x20URL:\x20\x22','omitImageKey','fetch','Claude\x20Code:\x20','touch','push','getBody','listen','LiNfG','once','Access-Control-Allow-Headers','Skipped\x20—\x20no\x20bundleId\x20provided.','assertVisible','Detected\x20React\x20Native\x20app\x20at\x20','Unknown\x20error\x20during\x20clearText','revertBabelConfig','nonInteractive','revertPackage','../package.json','Signed\x20in\x20[cached]','plugins','lockState','finger1','6566296JLGvZP','\x20screen(s),\x20','windsurf','\x0aWarnings:\x0a','split','findIndex','\x20(dynamic\x20Expo\x20config)\x20—\x20we\x20can\x27t\x0asafely\x20auto-edit\x20a\x20JS/TS\x20file.\x20Add\x20Ceraph\x27s\x20URL\x20scheme\x20manually:\x0a\x0a\x20\x20export\x20default\x20({\x20config\x20})\x20=>\x20({\x0a\x20\x20\x20\x20...config,\x0a\x20\x20\x20\x20scheme:\x20Array.isArray(config.scheme)\x0a\x20\x20\x20\x20\x20\x20?\x20[...config.scheme,\x20\x22ceraph\x22]\x0a\x20\x20\x20\x20\x20\x20:\x20config.scheme\x0a\x20\x20\x20\x20\x20\x20\x20\x20?\x20[config.scheme,\x20\x22ceraph\x22]\x0a\x20\x20\x20\x20\x20\x20\x20\x20:\x20\x22ceraph\x22,\x0a\x20\x20\x20\x20//\x20...\x20rest\x20of\x20your\x20expo\x20config\x0a\x20\x20});\x0a\x0aThen\x20re-run\x20`expo\x20prebuild\x20--clean`\x20if\x20you\x27ve\x20ejected,\x20or\x20just\x0arestart\x20the\x20dev\x20client.\x0a','WDA\x20keys\x20(backspace)\x20failed:\x20','Element\x20not\x20found\x20after\x20','filter','Element\x20still\x20visible\x20after\x20','getText','Set\x20your\x20','bWTkG','wdaFetch','xdg-open','?intent=pro','EOFrF','bun','cxTMK','rootIsRnApp','email','simctl\x20listapps\x20failed:\x20','Detected\x20bare\x20React\x20Native\x20project\x20(ios/\x20and/or\x20android/).','Cursor','element','babel-preset-expo','Failed\x20to\x20type\x20text\x20(serial\x20fallback)','udidInflight','@react-native/babel-preset','getParentIfKind','isNaN','addNamedImport','no\x20RN\x20project\x20detected','getDefaultImport','args','ceraph-uninstall-shell-preview-','volumeUp','getDeclarations','searchElements','Camera\x20images:\x20.ceraph/camera-images/\x20already\x20exists','hHolX','MySBY','revertSignalHostEnv','getArguments','No\x20correction\x20(device\x20coordinates)','\x20is\x20malformed\x20JSON\x20—\x20preserved;\x20fix\x20it\x20manually\x20then\x20re-run','--json-output','wda-reachable','wda','ceraph-dir\x20preview\x20returned\x20an\x20unexpected\x20status;\x20pass\x20--purge-images\x20explicitly\x20to\x20delete\x20.ceraph/.','simulator','Could\x20not\x20reach\x20the\x20Ceraph\x20server\x20(request\x20timed\x20out\x20after\x20','apps','processes','Hook\x20script:\x20.claude/hooks/rn-flow-progress-notify.sh\x20✓','shell','matches','Failed\x20to\x20get\x20window\x20size:\x20','.ceraph','fnPjV','labelledBack','intervalMs','VS\x20Code','getTagNameNode','.ceraph/runs/','\x0aRuntime\x20error\x20hook:','Boot\x20revert\x20returned\x20an\x20unrecognised\x20status\x20shape.','home','page','added','appium-webdriveragent\x20not\x20required\x20for\x20this\x20target.','stderr','.expo','isExportAssignment','SIGKILL','coordinateSource','manual','expo','no-git-repo','android','aDvML','getNamedImports','.gemini','connected','Camera\x20registry\x20sync\x20failed:\x20','aoiFN','listener','map','.bashrc',']:\x20','purgeImages','tier-gated','getStatements','call','Usage:\x20npx\x20@ceraph/react-native-mcp\x20uninstall\x20[flags]\x0a\x0aRemoves\x20Ceraph\x20from\x20the\x20current\x20React\x20Native\x20/\x20Expo\x20project.\x20By\x20default:\x0a-\x20Reverts\x20source-tree\x20edits\x20(CameraView,\x20layout\x20boot,\x20ceraph\x20URL\x20scheme)\x0a-\x20Strips\x20MCP\x20client\x20configs\x20(.mcp.json,\x20.cursor/,\x20.vscode/,\x20.codex/)\x0a-\x20Removes\x20gitignore\x20entries\x0a-\x20Removes\x20CERAPH_SIGNAL_HOST\x20from\x20your\x20shell\x20rc\x0a-\x20Removes\x20@ceraph/react-native-mcp\x20from\x20package.json\x0a-\x20LEAVES\x20.ceraph/\x20(test\x20images,\x20design\x20snapshots)\x20in\x20place\x0a-\x20LEAVES\x20~/.ceraph/auth.json\x20in\x20place\x20(token\x20is\x20user-global)\x0a\x0aFlags:\x0a\x20\x20-y,\x20--yes\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Skip\x20confirmation\x20prompts.\x0a\x20\x20\x20\x20\x20\x20--purge-images\x20\x20\x20\x20\x20Also\x20delete\x20.ceraph/\x20(camera\x20images\x20+\x20snapshots).\x0a\x20\x20\x20\x20\x20\x20--global\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Also\x20delete\x20~/.ceraph/auth.json\x20(logs\x20you\x20out\x20of\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20every\x20Ceraph\x20install\x20on\x20this\x20machine).\x0a\x20\x20\x20\x20\x20\x20--dry-run\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Preview\x20the\x20revert\x20without\x20mutating\x20anything.\x0a\x20\x20\x20\x20\x20\x20--project-dir\x20<p>\x20\x20Operate\x20on\x20this\x20subpackage.\x20Required\x20when\x20a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20monorepo\x20has\x20more\x20than\x20one\x20RN\x20app.\x0a\x20\x20-h,\x20--help\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Print\x20this\x20help\x20and\x20exit.\x0a','--yes','alreadyHasImageKey','confirm','label','deleted-file','chmod','pyaoL','expected\x20element\x20','README.md','Ceraph\x20request\x20failed\x20(HTTP\x20','version','setHeader','Unable\x20to\x20determine\x20device\x20lock\x20state.\x20Make\x20sure\x20the\x20device\x20is\x20unlocked\x20and\x20the\x20screen\x20is\x20on,\x20then\x20re-run\x20the\x20flow.','\x20\x202.\x20Complete\x20checkout:\x20https://ceraph.dev/#pricing','tokenPromise','package-lock.json','which','text','malformed','cachedAt','.vscode','install','error','ceraph-uninstall-mcp-preview-','applied','log','Already\x20wired\x20—\x20added\x20missing\x20import(s).','Device\x20is\x20not\x20awake\x20(lockState:\x20','iproxy\x20auto-bridge\x20failed\x20to\x20start:\x20','Screen\x20Recording\x20granted\x20—\x20session\x20video\x20will\x20record.','useEffect\x20contains\x20other\x20statements','severity','GDTaO','screen-off','no\x20shell\x20profile','getAttributes','tQlCt','http://localhost:','MxlUG','camera-image-key-orphan','utf8','networksetup','LSApplicationWorkspaceErrorDomain','uVdMB','active','szDDd','stem','already','devicectlAvailable','function','baseUrl','method\x20not\x20allowed','bundleId','/wda/activeAppInfo','not-found','already-injected','workspaces','ttlMs','nEOjX','signals','InNUO','rn-flow-progress-notify.sh','imageKey','Build\x20and\x20install\x20the\x20app:\x20`expo\x20run:ios\x20--device\x20<udid>`\x20or\x20`npx\x20react-native\x20run-ios\x20--udid\x20<udid>`.','revertCeraphDir','WDA\x20actions\x20tap\x20failed','\x22\x20—\x20must\x20be\x20an\x20absolute\x20URL\x20with\x20a\x20scheme\x20(e.g.\x20https://ceraph.dev/api/mcp\x20or\x20http://localhost:3000/api/mcp).','--global','settings.json','Continue\x20with\x20uninstall?','scriptAbsPath','\x0a[mcp_servers.react-native-mcp]\x0acommand\x20=\x20\x22npx\x22\x0aargs\x20=\x20[\x22-y\x22,\x20\x22','present','Failed\x20to\x20clear\x20field\x20before\x20typing','\x20(preview)','abort','iproxy\x20is\x20not\x20installed\x20—\x20cannot\x20auto-bridge\x20WDA.','ts-morph','Connect\x20your\x20iPhone\x20via\x20USB-C\x20and\x20trust\x20this\x20Mac,\x20then\x20re-run\x20doctor.','Test\x20images:\x20call\x20`ceraph_add_camera_image`\x20(writes\x20+\x20auto-syncs\x20the\x20registry),\x20or\x20drop\x20files\x20into\x20','WDA\x20tap\x20failed','app.json','useEffect','Working\x20from\x20','addImportDeclaration','address','\x20\x20[WARN]\x20\x20\x20\x20','Could\x20not\x20locate\x20the\x20default-exported\x20function\x20component.\x20Manually\x20add\x20the\x20following\x20near\x20the\x20top\x20of\x20your\x20root\x20component\x20in\x20','EbGOh','\x20—\x20then\x20re-run\x20init\x20(or\x20any\x20flow\x20tool).\x20Your\x20Pro\x20access\x20refreshes\x20automatically.','wdaReady','/\x20\x20[','Missing\x20env\x20var(s):\x20','tapAtPoint','Also\x20sign\x20out\x20(delete\x20~/.ceraph/auth.json)?','Rewrite\x20','exitCode','ask','Laptop\x20is\x20on\x20WiFi\x20\x27','bin','vIiCF','location','bare','@ceraph/react-native-mcp','\x20<CeraphCamera>\x20component','random','previousScheme','App\x20','24TFxlOR','AbortError','mcp_config.json','/wda/apps/terminate','dnkFf','MmnsN',':\x20existing\x20mcpServers\x20in\x20','<!doctype\x20html><html><body\x20style=\x22font-family:system-ui;padding:32px;background:#0b0f14;color:#e6edf3;\x22><h1>CLI\x20signed\x20in</h1><p>You\x20can\x20close\x20this\x20tab.</p></body></html>','writeTier','\x20\x20[BLOCKER]\x20','camera-registry-synced','Graph\x20cache\x20seed\x20failed\x20(unknown\x20error).','isDefaultExport','@ceraph/react-native-mcp/babel-plugin','Could\x20not\x20find\x20app/_layout.tsx\x20or\x20App.tsx.\x20Add\x20this\x20to\x20your\x20root\x20component\x20manually\x20(the\x20require\x20path\x20is\x20relative\x20to\x20that\x20file\x20—\x20`./.ceraph/testid-config.json`\x20from\x20a\x20root\x20App.tsx,\x20`../.ceraph/testid-config.json`\x20from\x20app/_layout.tsx):\x0a\x20\x20useEffect(()\x20=>\x20{\x20installCeraph({\x20readTestidConfig:\x20()\x20=>\x20{\x20try\x20{\x20return\x20require(\x22./.ceraph/testid-config.json\x22);\x20}\x20catch\x20{\x20return\x20null;\x20}\x20}\x20});\x20},\x20[]);','timeoutMs','collectVisibleElements','direction','iproxy\x20bridge\x20already\x20running\x20(external).','::ffff:7f00:1','PropertyAssignment','AXSvP','snapshotTarget','findAndTap','install-failed','no-changes','RPohF'];_0x5f11=function(){return _0x40b1e2;};return _0x5f11();}async function _0x4a9947(_0x4f9a65){const _0x3132d6=_0xa6e1,_0x21d22e=_0x58745a(tmpdir(),'ceraph-uninstall-mcp-global-preview-'+Date[_0x3132d6(0x1ec)]()+'-'+Math['random']()['toString'](0x24)['slice'](0x2));return _0x3ac8e9(_0x21d22e,async()=>{const _0x307fcd=_0x3132d6,_0x4e0695=_0x58745a(_0x21d22e,_0x307fcd(0x45d));await _0x2ea8a6(_0x4e0695,{'recursive':!![]});const _0x1b2d9f=_0x18d53e(_0x4f9a65);for(let _0x375a0c=0x0;_0x375a0c<_0x24c2a5['length'];_0x375a0c++){if('proTG'==='WZpGj'){if(_0x3b30e7===_0x307fcd(0x283))_0x520ac7=_0x4aa18f;else _0x2f0ede=_0x35b8f2;}else{const _0x1d3856=_0x24c2a5[_0x375a0c],_0x46694e=_0x1b2d9f[_0x375a0c];if(!_0x1d3856||!_0x46694e)continue;const _0x281655=_0x58745a(_0x4e0695,..._0x1d3856['file']);try{await _0x2ea8a6(_0x1e54f4(_0x281655),{'recursive':!![]}),await copyFile(_0x46694e[_0x307fcd(0x1e5)],_0x281655);}catch{}}}return{'tmpHome':_0x4e0695,'tmpRoot':_0x21d22e};});}async function _0x1a232e(_0x257060,_0x32bef0,_0x5d0ceb){const _0x24c044=_0xa6e1,_0x51bb9a=_0x32bef0['revertClaudeHooks']??_0x10a8bd;if(_0x5d0ceb)try{const _0x5065c7=await _0x326f3d(_0x257060);try{const _0x10ab3e=await _0x51bb9a({'projectDir':_0x5065c7['projectDir']});return _0x3d7766(_0x10ab3e,!![]);}finally{await _0x533ab2(_0x5065c7['tmpRoot'],{'recursive':!![],'force':!![]})['catch'](()=>void 0x0);}}catch(_0x553a3d){return{'name':'claude-hooks','status':_0x24c044(0x48f),'details':{'error':_0x1d8222(_0x553a3d),'dryRun':!![]}};}try{const _0x44728a=await _0x51bb9a({'projectDir':_0x257060});return _0x3d7766(_0x44728a,![]);}catch(_0x550331){return _0x24c044(0x518)==='hZGra'?{'name':'claude-hooks','status':_0x24c044(0x48f),'details':{'error':_0x1d8222(_0x550331)}}:new _0x5316a4(_0x37bbad=>{const _0x28a9c4=_0x24c044,_0x42cd54=_0x5804c2(_0x4aeffe[_0x28a9c4(0x4dc)],_0x3009b8['args'],{'cwd':_0x532c58[_0x28a9c4(0x28f)],'stdio':'inherit'});_0x42cd54['on'](_0x28a9c4(0x48f),()=>_0x37bbad({'exitCode':0x7f})),_0x42cd54['on'](_0x28a9c4(0x542),_0x402b2c=>_0x37bbad({'exitCode':_0x402b2c??0x1}));});}}function _0x3d7766(_0x22fdf2,_0x508b8a){const _0x54d7d6=_0xa6e1,_0x483eb3=_0x508b8a?{'dryRun':!![]}:{};switch(_0x22fdf2['status']){case'reverted':return{'name':_0x54d7d6(0x1af),'status':_0x54d7d6(0x16e),'details':{..._0x22fdf2[_0x54d7d6(0x200)],..._0x483eb3}};case'already-reverted':return{'name':_0x54d7d6(0x1af),'status':'already-reverted','details':{..._0x22fdf2[_0x54d7d6(0x200)],..._0x483eb3}};case'manual':return{'name':_0x54d7d6(0x1af),'status':'manual','details':{..._0x22fdf2[_0x54d7d6(0x200)],..._0x483eb3},'remediation':'Hook\x20script(s)\x20were\x20customized\x20after\x20init\x20wrote\x20them,\x20so\x20the\x20reverter\x20left\x20them\x20in\x20place:\x20'+_0x22fdf2[_0x54d7d6(0x200)]['scriptsLeftAlone']['join'](',\x20')+'.\x20If\x20you\x20no\x20longer\x20need\x20the\x20customized\x20version,\x20delete\x20the\x20file\x20manually.\x20Settings\x20entries\x20pointing\x20at\x20the\x20script(s)\x20'+(_0x22fdf2['details']['settingsFilesModified'][_0x54d7d6(0x358)]>0x0?'were\x20removed\x20from\x20'+_0x22fdf2[_0x54d7d6(0x200)]['settingsFilesModified']['join'](',\x20')+'.':'were\x20not\x20touched\x20in\x20this\x20run.')};case _0x54d7d6(0x1a6):return{'name':'claude-hooks','status':_0x54d7d6(0x1a6),'details':{..._0x22fdf2[_0x54d7d6(0x200)],..._0x483eb3}};}}async function _0x326f3d(_0x375758){const _0x5ac909=_0xa6e1,_0x293c48=_0x58745a(tmpdir(),'ceraph-uninstall-claude-hooks-preview-'+Date[_0x5ac909(0x1ec)]()+'-'+Math[_0x5ac909(0x4e2)]()['toString'](0x24)['slice'](0x2));return _0x3ac8e9(_0x293c48,async()=>{const _0x29ffad=_0x5ac909;await _0x2ea8a6(_0x293c48,{'recursive':!![]});const _0x3b220b=[_0x58745a('.claude',_0x29ffad(0x19f),'rn-error-notify.sh'),_0x58745a(_0x29ffad(0x3f9),'hooks',_0x29ffad(0x4b6)),_0x58745a('.claude',_0x29ffad(0x4bd)),_0x58745a('.claude',_0x29ffad(0x29e))];for(const _0x1b1c2f of _0x3b220b){const _0x3fb69d=_0x58745a(_0x375758,_0x1b1c2f),_0x3a5600=_0x58745a(_0x293c48,_0x1b1c2f);try{await _0x2ea8a6(_0x1e54f4(_0x3a5600),{'recursive':!![]}),await copyFile(_0x3fb69d,_0x3a5600);}catch{}}return{'projectDir':_0x293c48,'tmpRoot':_0x293c48};});}async function _0x2b2ed1(_0x5df285,_0x42cda9,_0x7106fe){const _0x19e17d=_0xa6e1,_0x546c1c=_0x42cda9['revertGitignore']??_0x33a4a4;if(_0x7106fe){const _0x5a7ea1=_0x58745a(tmpdir(),_0x19e17d(0x53a)+Date[_0x19e17d(0x1ec)]()+'-'+Math[_0x19e17d(0x4e2)]()[_0x19e17d(0x360)](0x24)[_0x19e17d(0x554)](0x2));try{try{await _0x2ea8a6(_0x5a7ea1,{'recursive':!![]});try{await copyFile(_0x58745a(_0x5df285,'.gitignore'),_0x58745a(_0x5a7ea1,'.gitignore'));}catch{}for(const _0x51cf5b of['.rn-errors.json','.rn-flow-progress.json']){try{await copyFile(_0x58745a(_0x5df285,_0x51cf5b),_0x58745a(_0x5a7ea1,_0x51cf5b));}catch{}}const _0x54661f=await _0x546c1c(_0x5a7ea1);return _0x1d0929(_0x54661f,!![]);}finally{await _0x533ab2(_0x5a7ea1,{'recursive':!![],'force':!![]})[_0x19e17d(0x3e8)](()=>void 0x0);}}catch(_0x11ec5e){return{'name':_0x19e17d(0x2f8),'status':_0x19e17d(0x48f),'details':{'error':_0x1d8222(_0x11ec5e),'dryRun':!![]}};}}try{const _0x5d3583=await _0x546c1c(_0x5df285);return _0x1d0929(_0x5d3583,![]);}catch(_0x36756c){return{'name':'gitignore','status':_0x19e17d(0x48f),'details':{'error':_0x1d8222(_0x36756c)}};}}function _0x1d0929(_0x3ce7ae,_0x52a568){const _0x41d869=_0xa6e1,_0x3096e7=_0x52a568?{'dryRun':!![]}:{},_0x15967c=_0x3ce7ae[_0x41d869(0x54f)];switch(_0x3ce7ae['status']){case'reverted':return{'name':'gitignore','status':_0x41d869(0x16e),'details':{'path':_0x3ce7ae['path'],'removedLines':_0x3ce7ae['removedLines'],'removedRuntimeFiles':_0x15967c,..._0x3096e7}};case _0x41d869(0x3fe):return{'name':_0x41d869(0x2f8),'status':_0x15967c[_0x41d869(0x358)]>0x0?'reverted':_0x41d869(0x3fe),'details':{'path':_0x3ce7ae[_0x41d869(0x1e5)],'removedRuntimeFiles':_0x15967c,..._0x3096e7}};case'no-gitignore':return{'name':'gitignore','status':_0x15967c['length']>0x0?_0x41d869(0x16e):'already-reverted','details':{'reason':'no\x20.gitignore','removedRuntimeFiles':_0x15967c,..._0x3096e7}};}}async function _0x4c71ee(_0x104b62,_0x3b69bb){const _0x5eae91=_0xa6e1,_0x6549b9=_0x104b62[_0x5eae91(0x444)]??_0x55a421,_0x22bd44=_0x104b62['homeDir']?.();if(_0x3b69bb)try{if(_0x5eae91(0x29d)!=='xeRMq')return{'name':'signal-host','status':'error','details':{'error':_0x211eb6(_0x370e4b),'dryRun':!![]}};else{const _0x2cfe6c=await _0x4702d5(_0x22bd44);try{const _0x5bb970=await _0x6549b9({'home':_0x2cfe6c['tmpHome']});return _0x2ca420(_0x5bb970,!![]);}finally{await _0x533ab2(_0x2cfe6c[_0x5eae91(0x56a)],{'recursive':!![],'force':!![]})[_0x5eae91(0x3e8)](()=>void 0x0);}}}catch(_0x559842){return{'name':_0x5eae91(0x2a7),'status':'error','details':{'error':_0x1d8222(_0x559842),'dryRun':!![]}};}try{const _0x16fafb=await _0x6549b9({'home':_0x22bd44});return _0x2ca420(_0x16fafb,![]);}catch(_0x380cdd){return{'name':_0x5eae91(0x2a7),'status':'error','details':{'error':_0x1d8222(_0x380cdd)}};}}function _0x2ca420(_0x4eafac,_0x8e3b2d){const _0x4b185e=_0xa6e1,_0x1d9681=_0x8e3b2d?{'dryRun':!![]}:{};switch(_0x4eafac['status']){case _0x4b185e(0x16e):return{'name':_0x4b185e(0x2a7),'status':'reverted','details':{'path':_0x4eafac[_0x4b185e(0x1e5)],'shell':_0x4eafac[_0x4b185e(0x451)],'removedIp':_0x4eafac['removedIp'],..._0x1d9681}};case'already-reverted':return{'name':_0x4b185e(0x2a7),'status':'already-reverted','details':{'path':_0x4eafac['path'],'shell':_0x4eafac[_0x4b185e(0x451)],..._0x1d9681}};case'no-profile':return{'name':_0x4b185e(0x2a7),'status':_0x4b185e(0x3fe),'details':{'reason':_0x4b185e(0x49b),'path':_0x4eafac['path'],..._0x1d9681}};}}async function _0x4702d5(_0x42b2db){const _0x44c9ea=_0xa6e1,_0x41cfad=_0x42b2db??_0x14aebe(),_0x2f4e58=_0x58745a(tmpdir(),_0x44c9ea(0x43d)+Date[_0x44c9ea(0x1ec)]()+'-'+Math[_0x44c9ea(0x4e2)]()[_0x44c9ea(0x360)](0x24)[_0x44c9ea(0x554)](0x2));return _0x3ac8e9(_0x2f4e58,async()=>{const _0x317484=_0x44c9ea,_0x1c4af2=_0x58745a(_0x2f4e58,_0x317484(0x45d));await _0x2ea8a6(_0x1c4af2,{'recursive':!![]});for(const _0x3dcaf1 of[_0x317484(0x367),'.bashrc']){try{await copyFile(_0x58745a(_0x41cfad,_0x3dcaf1),_0x58745a(_0x1c4af2,_0x3dcaf1));}catch{}}return{'tmpHome':_0x1c4af2,'tmpRoot':_0x2f4e58};});}async function _0x167937(_0x2d12db,_0x14ef26,_0x5c0673){const _0x50413d=_0xa6e1,_0x129ff9=_0x14ef26[_0x50413d(0x4b9)]??_0x5b59da;if(!_0x14ef26[_0x50413d(0x474)])try{const _0x317c10=await _0x129ff9({'projectDir':_0x2d12db,'confirm':![]});if(_0x317c10['status']==='already-reverted'){if(_0x50413d(0x1e7)==='gVHIC')return{'name':'ceraph-dir','status':'already-reverted','details':{'path':_0x317c10[_0x50413d(0x1e5)],..._0x5c0673?{'dryRun':!![]}:{}}};else return;}if(_0x317c10['status']==='skipped-needs-confirmation')return{'name':_0x50413d(0x2af),'status':_0x50413d(0x1a6),'details':{'path':_0x317c10[_0x50413d(0x1e5)],'paths':_0x317c10[_0x50413d(0x337)],..._0x5c0673?{'dryRun':!![]}:{}},'remediation':'Re-run\x20with\x20--purge-images\x20to\x20delete\x20.ceraph/\x20(camera\x20images,\x20design\x20snapshots,\x20run\x20artifacts).\x20Default\x20leaves\x20them\x20in\x20place\x20so\x20a\x20re-install\x20picks\x20up\x20where\x20you\x20left\x20off.'};return{'name':_0x50413d(0x2af),'status':'error','details':{'unexpectedStatus':_0x317c10['status'],..._0x5c0673?{'dryRun':!![]}:{}},'remediation':_0x50413d(0x44b)};}catch(_0x19c227){return _0x50413d(0x4fa)==='DeAvr'?null:{'name':_0x50413d(0x2af),'status':'error','details':{'error':_0x1d8222(_0x19c227),..._0x5c0673?{'dryRun':!![]}:{}}};}if(_0x5c0673)try{const _0x2691a4=await _0x129ff9({'projectDir':_0x2d12db,'confirm':![]});if(_0x2691a4['status']==='already-reverted')return{'name':'ceraph-dir','status':_0x50413d(0x3fe),'details':{'path':_0x2691a4['path'],'dryRun':!![]}};if(_0x2691a4[_0x50413d(0x17a)]==='skipped-needs-confirmation')return{'name':'ceraph-dir','status':_0x50413d(0x16e),'details':{'path':_0x2691a4['path'],'paths':_0x2691a4[_0x50413d(0x337)],'dryRun':!![]}};return{'name':_0x50413d(0x2af),'status':_0x50413d(0x48f),'details':{'unexpectedStatus':_0x2691a4[_0x50413d(0x17a)],'dryRun':!![]}};}catch(_0x245ebf){return{'name':'ceraph-dir','status':'error','details':{'error':_0x1d8222(_0x245ebf),'dryRun':!![]}};}try{const _0x106d93=await _0x129ff9({'projectDir':_0x2d12db,'confirm':!![]});switch(_0x106d93[_0x50413d(0x17a)]){case _0x50413d(0x30d):return{'name':_0x50413d(0x2af),'status':'reverted','details':{'path':_0x106d93['path'],'deletedEntries':_0x106d93['deletedEntries']}};case _0x50413d(0x3fe):return{'name':'ceraph-dir','status':'already-reverted','details':{'path':_0x106d93['path']}};case _0x50413d(0x17b):return{'name':'ceraph-dir','status':_0x50413d(0x1a6),'details':{'path':_0x106d93['path'],'unexpected':!![]}};}}catch(_0x31c24c){return{'name':_0x50413d(0x2af),'status':_0x50413d(0x48f),'details':{'error':_0x1d8222(_0x31c24c)}};}}async function _0x2c9a25(_0x514d15,_0x3a57e3){const _0x5238d1=_0xa6e1,_0x25d77d=_0x514d15['revertAuth']??_0x507b90,_0x5e2400=_0x514d15[_0x5238d1(0x53d)]?.();if(!_0x514d15['global'])try{const _0x15f9f7=await _0x25d77d({'global':![]},{'home':_0x5e2400});return{'name':_0x5238d1(0x2be),'status':'skipped','details':{'path':_0x15f9f7['path'],..._0x3a57e3?{'dryRun':!![]}:{}},'remediation':'Re-run\x20with\x20--global\x20to\x20delete\x20~/.ceraph/auth.json.\x20Note:\x20this\x20token\x20is\x20shared\x20across\x20every\x20Ceraph\x20install\x20on\x20this\x20machine\x20—\x20removing\x20it\x20logs\x20you\x20out\x20everywhere.'};}catch(_0x4b68ec){return{'name':'auth','status':'error','details':{'error':_0x1d8222(_0x4b68ec),..._0x3a57e3?{'dryRun':!![]}:{}}};}if(_0x3a57e3)try{const _0x4befc7=_0x5e2400??_0x14aebe(),_0x169ab9=_0x58745a(_0x4befc7,_0x5238d1(0x454),'auth.json');let _0x5eb5b8=![];try{await _0x5f4df0(_0x169ab9),_0x5eb5b8=!![];}catch{_0x5eb5b8=![];}return{'name':_0x5238d1(0x2be),'status':_0x5eb5b8?_0x5238d1(0x16e):'already-reverted','details':{'path':_0x169ab9,'dryRun':!![],'wouldDelete':_0x5eb5b8}};}catch(_0x253f99){return{'name':_0x5238d1(0x2be),'status':'error','details':{'error':_0x1d8222(_0x253f99),'dryRun':!![]}};}try{const _0x4cb7b8=await _0x25d77d({'global':!![]},{'home':_0x5e2400});switch(_0x4cb7b8['status']){case'deleted':return{'name':_0x5238d1(0x2be),'status':'reverted','details':{'path':_0x4cb7b8['path']}};case _0x5238d1(0x3fe):return{'name':_0x5238d1(0x2be),'status':'already-reverted','details':{'path':_0x4cb7b8[_0x5238d1(0x1e5)]}};case _0x5238d1(0x1a6):return{'name':'auth','status':'skipped','details':{'path':_0x4cb7b8[_0x5238d1(0x1e5)],'unexpected':!![]}};}}catch(_0x4992b8){return{'name':'auth','status':'error','details':{'error':_0x1d8222(_0x4992b8)}};}}async function _0x23b1f4(_0x28b3ff,_0x5adef1,_0x16ba20){const _0x5c8831=_0xa6e1,_0x27fbf4=_0x5adef1[_0x5c8831(0x413)]??_0x86b709,_0x3c93f5=_0x5adef1[_0x5c8831(0x22d)];if(_0x16ba20)try{const _0x3e6213=await _0x27fbf4(_0x28b3ff,{'spawnRemove':_0x4da381});return _0x4d5a92(_0x3e6213,!![]);}catch(_0x1d0ab3){return{'name':_0x5c8831(0x511),'status':'error','details':{'error':_0x1d8222(_0x1d0ab3),'dryRun':!![]}};}try{if('KPBha'!=='KPBha')this[_0x5c8831(0x2bf)]['pingStatus']()['catch'](()=>void 0x0);else{const _0x520dc0=await _0x27fbf4(_0x28b3ff,_0x3c93f5?{'spawnRemove':_0x3c93f5}:{});return _0x4d5a92(_0x520dc0,![]);}}catch(_0x3b6e9f){return{'name':'package','status':_0x5c8831(0x48f),'details':{'error':_0x1d8222(_0x3b6e9f)}};}}function _0x4d5a92(_0xe1a3b9,_0x448539){const _0x219a49=_0xa6e1,_0x2cb3bc=_0x448539?{'dryRun':!![]}:{};switch(_0xe1a3b9['status']){case _0x219a49(0x1a9):return{'name':'package','status':_0x219a49(0x16e),'details':{'packageManager':_0xe1a3b9['pm'],'removedPackages':_0xe1a3b9[_0x219a49(0x504)],'command':_0xe1a3b9[_0x219a49(0x3ab)],..._0x2cb3bc}};case _0x219a49(0x50c):return{'name':'package','status':'already-reverted','details':{'packageManager':_0xe1a3b9['pm'],..._0x2cb3bc}};case _0x219a49(0x30a):return{'name':_0x219a49(0x511),'status':'error','details':{'packageManager':_0xe1a3b9['pm'],'command':_0xe1a3b9['command'],'exitCode':_0xe1a3b9['exitCode'],..._0x2cb3bc},'remediation':_0xe1a3b9['pm']+'\x20'+(_0xe1a3b9[_0x219a49(0x3ab)]?.[_0x219a49(0x43c)]['join']('\x20')??'')+'\x20exited\x20with\x20code\x20'+_0xe1a3b9[_0x219a49(0x4d9)]+_0x219a49(0x1b3)};}}function _0x1d8222(_0x470120){return _0x470120 instanceof Error?_0x470120['message']:String(_0x470120);}async function _0x589547(_0x24355f,_0x5502c2,_0x364817){const _0x153fbf=_0xa6e1,_0x4d0e88=_0x5502c2[_0x153fbf(0x411)]??(_0x21d7e0=>_0x1a60ed({'projectDir':_0x21d7e0,..._0x364817?{'writeFile':async()=>void 0x0,'unlink':async()=>void 0x0}:{}}));try{const _0x214226=await _0x4d0e88(_0x24355f);return _0x3b21e3(_0x214226,_0x364817);}catch(_0x13d43f){return{'name':_0x153fbf(0x1ee),'status':_0x153fbf(0x48f),'details':{'error':_0x1d8222(_0x13d43f),..._0x364817?{'dryRun':!![]}:{}}};}}function _0x3b21e3(_0x1a6c34,_0x4d34ec){const _0x3b8f44=_0xa6e1,_0x379570=_0x4d34ec?{'dryRun':!![]}:{};switch(_0x1a6c34['status']){case _0x3b8f44(0x16e):return{'name':_0x3b8f44(0x1ee),'status':'reverted','details':{'path':_0x1a6c34[_0x3b8f44(0x1e5)],'action':_0x1a6c34['action'],..._0x379570}};case'already-reverted':return{'name':'babel-config','status':_0x3b8f44(0x3fe),'details':{'path':_0x1a6c34[_0x3b8f44(0x1e5)],..._0x379570}};case'no-config':return{'name':_0x3b8f44(0x1ee),'status':'already-reverted','details':{..._0x379570}};}}async function _0x3ac8e9(_0x1c0a58,_0x4efb79){const _0x528ee9=_0xa6e1;try{return _0x528ee9(0x46f)!==_0x528ee9(0x206)?await _0x4efb79():{'mutated':![],'next':_0x1fc395};}catch(_0x2d295b){if('dOefS'==='dOefS'){try{await _0x533ab2(_0x1c0a58,{'recursive':!![],'force':!![]});}catch{}throw _0x2d295b;}else{try{_0x5f2df0[_0x528ee9(0x2cb)]();}catch{}_0x279537(new _0x41f93c('Could\x20not\x20bind\x20a\x20free\x20port\x20for\x20the\x20auth\x20listener.'));return;}}}async function _0x974713(_0x13b097,_0x456147){const _0x4b6da3=_0xa6e1,_0x27267e=_0x58745a(tmpdir(),'ceraph-uninstall-boot-preview-'+Date[_0x4b6da3(0x1ec)]()+'-'+Math[_0x4b6da3(0x4e2)]()[_0x4b6da3(0x360)](0x24)['slice'](0x2));return _0x3ac8e9(_0x27267e,async()=>{const _0x248a9b=_0x4b6da3,_0x24767c=_0x2cd72a(_0x456147,_0x13b097),_0x6d2c62=_0x3f92a0(_0x24767c)?_0x248a9b(0x3f5):_0x24767c,_0x3d85e2=_0x58745a(_0x27267e,_0x6d2c62);return await _0x2ea8a6(_0x1e54f4(_0x3d85e2),{'recursive':!![]}),await copyFile(_0x13b097,_0x3d85e2),{'projectDir':_0x27267e,'tmpRoot':_0x27267e};});}function _0x566988(_0xd39c94,_0x5a4505){const _0x3213fe=_0xa6e1,_0x556691=[],_0x1ecd25=[];let _0x566b78=0x0,_0x1dcee7=0x0;for(const _0x5641a8 of _0x5a4505){if(_0x5641a8[_0x3213fe(0x17a)]===_0x3213fe(0x16e)||_0x5641a8[_0x3213fe(0x17a)]===_0x3213fe(0x38c))_0x566b78++;else(_0x5641a8[_0x3213fe(0x17a)]===_0x3213fe(0x1a6)||_0x5641a8['status']==='already-reverted')&&_0x1dcee7++;_0x5641a8[_0x3213fe(0x17a)]===_0x3213fe(0x38c)&&_0x5641a8[_0x3213fe(0x2d0)]&&_0x556691['push'](_0x5641a8[_0x3213fe(0x2d0)]),_0x5641a8['status']===_0x3213fe(0x466)&&_0x5641a8['remediation']&&_0x1ecd25[_0x3213fe(0x407)](_0x5641a8[_0x3213fe(0x2d0)]);}return{'workingDir':_0xd39c94,'steps':_0x5a4505,'summary':{'reverted':_0x566b78,'skipped':_0x1dcee7,'warnings':_0x556691,'manualSteps':_0x1ecd25}};}var _0x39e9f6,_0x37c94c,_0x569cfd,_0x4da381,_0x565cae=_0x1b53f6({'src/uninstall/walkthrough.ts'(){'use strict';_0x52a119(),_0x2cd108(),_0x33c85d(),_0x167683(),_0x3ecc48(),_0x140b62(),_0x2cb360(),_0x133df7(),_0xbc4a64(),_0x4ccfc8(),_0x4b19cf(),_0x47835d(),_0x514ce2(),_0x569cfd=![],_0x4da381=async _0x241570=>({'exitCode':0x0});}}),_0x4e1a11={};_0x2c4819(_0x4e1a11,{'formatStepLine':()=>_0x40507b,'formatSummary':()=>_0x330496,'parseArgs':()=>_0x43fd3b,'runUninstallCli':()=>_0x2fd1b3});import{spawn as _0x4dbee8}from'child_process';import{stat as _0x1e5d32}from'fs/promises';import{join as _0x4f7c32}from'path';async function _0x2fd1b3(_0x5f1400){const _0x12b232=_0xa6e1,_0x5dba1a=_0x43fd3b(_0x5f1400[_0x12b232(0x35d)]);if(_0x5dba1a['help'])return _0x7c81a8(_0x52816b,_0x5f1400),{'exitCode':0x0,'walkthrough':null,'parsedFlags':_0x5dba1a};if(_0x5dba1a['unknown']['length']>0x0)return _0x7c81a8('Unknown\x20flag(s):\x20'+_0x5dba1a[_0x12b232(0x548)][_0x12b232(0x3c0)](',\x20')+'\x0a\x0a'+_0x52816b,_0x5f1400),{'exitCode':0x1,'walkthrough':null,'parsedFlags':_0x5dba1a};const _0x516709=_0x5dba1a['projectDir']??_0x5f1400['cwd']??process['cwd']();if(_0x5dba1a['projectDir']!=null){const _0x1175f9=await _0x146dc7(_0x5dba1a['projectDir']);if(_0x1175f9!==null)return _0x7c81a8(_0x1175f9+'\x0a',_0x5f1400),{'exitCode':0x1,'walkthrough':null,'parsedFlags':_0x5dba1a};}let _0x22b94a=_0x5dba1a['purgeImages'],_0x18c231=_0x5dba1a[_0x12b232(0x3d1)];if(!_0x5dba1a['yes']&&!_0x5dba1a['dryRun']){_0x7c81a8(_0x12b232(0x2c3),_0x5f1400),_0x7c81a8('\x20\x20Project:\x20'+_0x516709+'\x0a',_0x5f1400),_0x7c81a8('\x20\x20Mode:\x20\x20\x20\x20live\x20(no\x20--dry-run)\x0a',_0x5f1400),_0x7c81a8('\x20\x20Default-safe:\x20leaves\x20.ceraph/\x20and\x20~/.ceraph/auth.json\x20untouched.\x0a\x0a',_0x5f1400);const _0x3d7722=await _0x2a4875(_0x12b232(0x4be),{..._0x5f1400,'defaultYes':![]});if(!_0x3d7722)return _0x7c81a8('\x0aAborted\x20—\x20no\x20changes\x20made.\x0a',_0x5f1400),{'exitCode':0x0,'walkthrough':null,'parsedFlags':_0x5dba1a};!_0x22b94a&&(_0x22b94a=await _0x2a4875('Also\x20purge\x20camera\x20images\x20+\x20snapshots\x20at\x20.ceraph/?',{..._0x5f1400,'defaultYes':![]})),!_0x18c231&&(_0x18c231=await _0x2a4875(_0x12b232(0x4d7),{..._0x5f1400,'defaultYes':![]}));}_0x5dba1a[_0x12b232(0x1dd)]&&(_0x7c81a8('\x0a@ceraph/react-native-mcp\x20uninstall\x20—\x20dry-run\x20preview\x0a',_0x5f1400),_0x7c81a8('\x20\x20Project:\x20'+_0x516709+'\x0a\x0a',_0x5f1400));const _0x5e68b1=await _0x1200e6({'projectDir':_0x516709,'rootDir':_0x53d91d(_0x5dba1a['projectDir']??void 0x0,_0x5f1400[_0x12b232(0x28f)]??process['cwd']()),'purgeImages':_0x22b94a,'global':_0x18c231,'dryRun':_0x5dba1a['dryRun'],'nonInteractive':_0x5dba1a[_0x12b232(0x1b7)],'homeDir':_0x5f1400[_0x12b232(0x53d)],'spawnRemove':_0x5f1400[_0x12b232(0x22d)]??_0x33db6b,'onStep':_0x3d93a9=>{_0x7c81a8(_0x40507b(_0x3d93a9),_0x5f1400);}});_0x7c81a8(_0x330496(_0x5e68b1),_0x5f1400);const _0x20e983=_0x5e68b1['steps']['some'](_0x113572=>_0x113572['status']==='error'||_0x113572['status']===_0x12b232(0x466));return{'exitCode':_0x20e983?0x1:0x0,'walkthrough':_0x5e68b1,'parsedFlags':{..._0x5dba1a,'purgeImages':_0x22b94a,'global':_0x18c231}};}function _0x40507b(_0x5c64fa){const _0x3a9ef0=_0xa6e1,_0x124711=_0x1e669b(_0x5c64fa[_0x3a9ef0(0x17a)]),_0x291d54=_0x2fd8de(_0x5c64fa);return'\x20\x20'+_0x124711+'\x20'+_0x5c64fa[_0x3a9ef0(0x273)][_0x3a9ef0(0x160)](0xd)+'\x20'+_0x291d54+'\x0a';}function _0x1e669b(_0x29b65c){const _0x347e40=_0xa6e1;switch(_0x29b65c){case _0x347e40(0x16e):return'[ok]';case _0x347e40(0x3fe):return _0x347e40(0x3eb);case _0x347e40(0x1a6):return _0x347e40(0x3eb);case _0x347e40(0x38c):return _0x347e40(0x527);case _0x347e40(0x466):return'[!]';case _0x347e40(0x48f):return'[X]';}}function _0x2fd8de(_0x3fdcb7){const _0x29446d=_0xa6e1;switch(_0x3fdcb7[_0x29446d(0x17a)]){case _0x29446d(0x16e):return _0x29446d(0x16e)+(_0x3fdcb7['details']?.[_0x29446d(0x1dd)]?_0x29446d(0x4c3):'');case _0x29446d(0x3fe):return _0x29446d(0x271)+(_0x3fdcb7['details']?.[_0x29446d(0x1dd)]?'\x20(preview)':'');case'skipped':return'skipped\x20—\x20'+(_0x3fdcb7['remediation']??_0x29446d(0x32b));case'warning':return'reverted\x20with\x20warning\x20—\x20'+(_0x3fdcb7[_0x29446d(0x2d0)]??'');case _0x29446d(0x466):return _0x29446d(0x537)+(_0x3fdcb7['remediation']??'');case'error':return'error\x20—\x20'+(_0x3fdcb7[_0x29446d(0x2d0)]??_0x3fdcb7['details']?.[_0x29446d(0x48f)]??_0x29446d(0x1d7));}}function _0x330496(_0x17d17d){const _0x5e413e=_0xa6e1,{reverted:_0x4e7bab,skipped:_0x33487f,warnings:_0x169cee,manualSteps:_0x961097}=_0x17d17d['summary'],_0x2cc55b=['\x0aSummary:\x0a'];_0x2cc55b['push'](_0x5e413e(0x252)+_0x4e7bab+'\x0a'),_0x2cc55b['push']('\x20\x20Skipped/no-op:\x20\x20\x20'+_0x33487f+'\x0a'),_0x2cc55b[_0x5e413e(0x407)]('\x20\x20Warnings:\x20\x20\x20\x20\x20\x20\x20\x20'+_0x169cee['length']+'\x0a'),_0x2cc55b['push']('\x20\x20Manual\x20actions:\x20\x20'+_0x961097['length']+'\x0a');if(_0x169cee[_0x5e413e(0x358)]>0x0){_0x2cc55b[_0x5e413e(0x407)](_0x5e413e(0x41c));for(const _0x42cbc0 of _0x169cee)_0x2cc55b['push']('\x20\x20-\x20'+_0x42cbc0+'\x0a');}if(_0x961097[_0x5e413e(0x358)]>0x0){_0x2cc55b[_0x5e413e(0x407)](_0x5e413e(0x587));for(const _0x80ba6f of _0x961097)_0x2cc55b['push'](_0x5e413e(0x2a3)+_0x80ba6f+'\x0a');}return _0x2cc55b['join']('');}function _0x43fd3b(_0x12f037){const _0x3e5b21=_0xa6e1,_0x7cd3d={'yes':![],'purgeImages':![],'global':![],'dryRun':![],'projectDir':null,'help':![],'unknown':[]};for(let _0x13a618=0x0;_0x13a618<_0x12f037['length'];_0x13a618++){const _0x45a786=_0x12f037[_0x13a618];switch(_0x45a786){case'-y':case _0x3e5b21(0x479):_0x7cd3d['yes']=!![];break;case'--purge-images':_0x7cd3d[_0x3e5b21(0x474)]=!![];break;case _0x3e5b21(0x4bc):_0x7cd3d[_0x3e5b21(0x3d1)]=!![];break;case'--dry-run':_0x7cd3d[_0x3e5b21(0x1dd)]=!![];break;case'--project-dir':{if('SizcV'==='qHOFg')throw new _0x5cee15(_0x3e5b21(0x335));else{const _0xe41bd7=_0x12f037[_0x13a618+0x1];_0xe41bd7==null?_0x7cd3d[_0x3e5b21(0x548)]['push'](_0x45a786+'\x20(missing\x20value)'):(_0x7cd3d['projectDir']=_0xe41bd7,_0x13a618++);break;}}case'-h':case _0x3e5b21(0x1b2):_0x7cd3d[_0x3e5b21(0x571)]=!![];break;default:if(_0x45a786!==void 0x0)_0x7cd3d[_0x3e5b21(0x548)]['push'](_0x45a786);}}return _0x7cd3d;}async function _0x146dc7(_0x5f3b38){const _0x40bdad=_0xa6e1;let _0x10ba34;try{_0x10ba34=await _0x1e5d32(_0x5f3b38);}catch{return _0x40bdad(0x36e)+_0x5f3b38;}if(!_0x10ba34['isDirectory']())return _0x40bdad(0x22e)+_0x5f3b38;try{await _0x1e5d32(_0x4f7c32(_0x5f3b38,_0x40bdad(0x575)));}catch{return _0x40bdad(0x36a)==='aDLAQ'?'Error:\x20--project-dir\x20does\x20not\x20look\x20like\x20an\x20npm/RN\x20project\x20(no\x20package.json\x20at\x20'+_0x4f7c32(_0x5f3b38,_0x40bdad(0x575))+')':![];}return null;}function _0x33db6b(_0x1f8cf0){return new Promise(_0x200247=>{const _0x3dafbf=_0xa6e1,_0x54b0dd=_0x4dbee8(_0x1f8cf0['bin'],_0x1f8cf0[_0x3dafbf(0x43c)],{'cwd':_0x1f8cf0[_0x3dafbf(0x28f)],'stdio':_0x3dafbf(0x237)});_0x54b0dd['on'](_0x3dafbf(0x48f),()=>_0x200247({'exitCode':0x7f})),_0x54b0dd['on']('exit',_0x436ad7=>_0x200247({'exitCode':_0x436ad7??0x1}));});}var _0x52816b,_0x32b0a8=_0x1b53f6({'src/uninstall/cli-runner.ts'(){'use strict';const _0x19ab5a=_0xa6e1;_0x460a52(),_0x210e1c(),_0x565cae(),_0x52816b=_0x19ab5a(0x478);}});function _0x553d2a(_0x3a644a){const _0x2366b7=_0xa6e1;let _0x5d933d;for(let _0x15da65=0x0;_0x15da65<_0x3a644a[_0x2366b7(0x358)];_0x15da65++){const _0x356c51=_0x3a644a[_0x15da65];let _0x423da9;if(_0x356c51==='--tier')_0x423da9=_0x3a644a[_0x15da65+0x1];else _0x356c51[_0x2366b7(0x317)](_0x2366b7(0x35b))&&(_0x423da9=_0x356c51[_0x2366b7(0x554)](_0x2366b7(0x35b)['length']));(_0x423da9==='pro'||_0x423da9==='starter')&&(_0x5d933d=_0x423da9);}return _0x5d933d;}if(process.env.VITEST){}else await _0x4a1508();async function _0x4a1508(){const _0x94086f=_0xa6e1,_0x9f02a1=process[_0x94086f(0x35d)]['slice'](0x2),_0xb787d1=_0x9f02a1[0x0],_0x13d6c1=new Set(_0x9f02a1['slice'](0x1)),_0x33304b=_0x94086f(0x1f1);(_0xb787d1===_0x94086f(0x1b2)||_0xb787d1==='-h'||_0xb787d1==='help')&&(process['stdout'][_0x94086f(0x3bf)](_0x33304b),process['exit'](0x0));if(_0xb787d1==='init'){const _0x317cf1=_0x13d6c1['has']('--agent')||process.env.CERAPH_AGENT_MODE==='1',_0x535e60=_0x553d2a(_0x9f02a1['slice'](0x1)),{runInit:_0x5133b}=await Promise[_0x94086f(0x3f8)]()['then'](()=>(_0x2b1432(),_0x491ef9));await _0x5133b({'agentMode':_0x317cf1,'tier':_0x535e60})[_0x94086f(0x3e8)](_0x4b4578=>{const _0x3ed8f4=_0x94086f;console[_0x3ed8f4(0x48f)]('Init\x20failed:',_0x4b4578),process[_0x3ed8f4(0x542)](0x1);});}else{if(_0xb787d1===_0x94086f(0x56c)){const {runUninstallCli:_0x2afd2d}=await Promise['resolve']()['then'](()=>(_0x32b0a8(),_0x4e1a11));try{const _0x5069c1=await _0x2afd2d({'argv':process[_0x94086f(0x35d)][_0x94086f(0x554)](0x3)});process[_0x94086f(0x542)](_0x5069c1['exitCode']);}catch(_0x99cd02){console[_0x94086f(0x48f)]('Uninstall\x20failed:',_0x99cd02),process['exit'](0x1);}}else await import('./index.js');}}export{_0x553d2a as parseTierFlag};
|