yo-moss-ai 0.0.20 → 0.0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/bin/runtime-manifest.json +1 -1
  2. package/dist/assets/esp-flasher-CLKzE7JE.js +2 -2
  3. package/dist/assets/index-C1bPuFAs.js +45 -0
  4. package/dist/assets/{index-Bcf5kQZF.css → index-CzQKR67c.css} +1 -1
  5. package/dist/index.html +2 -2
  6. package/dist-server/board-presets.mjs +1 -1
  7. package/dist-server/camera.mjs +1 -1
  8. package/dist-server/dev-ui.mjs +1 -1
  9. package/dist-server/device-chat-sync.mjs +1 -1
  10. package/dist-server/device-config-view.mjs +1 -1
  11. package/dist-server/device-focus.mjs +1 -1
  12. package/dist-server/device-http.mjs +1 -1
  13. package/dist-server/device-identity.mjs +1 -1
  14. package/dist-server/device-presence.mjs +1 -1
  15. package/dist-server/device-probe.mjs +1 -1
  16. package/dist-server/device-registry.mjs +1 -1
  17. package/dist-server/device-routes.mjs +1 -1
  18. package/dist-server/device-runtime.mjs +1 -1
  19. package/dist-server/device-session.mjs +1 -1
  20. package/dist-server/ffmpeg.mjs +1 -1
  21. package/dist-server/gimbal-control.mjs +1 -1
  22. package/dist-server/home-path.mjs +1 -1
  23. package/dist-server/index.mjs +1 -1
  24. package/dist-server/ir-import-validate.mjs +1 -1
  25. package/dist-server/known-scan-device.mjs +1 -1
  26. package/dist-server/lan-discover.mjs +1 -1
  27. package/dist-server/listen-port.mjs +1 -1
  28. package/dist-server/mcp/backoff.mjs +1 -1
  29. package/dist-server/mcp/bridge-manager.mjs +1 -1
  30. package/dist-server/mcp/builtin-tools.mjs +1 -1
  31. package/dist-server/mcp/dedupe-servers.mjs +1 -1
  32. package/dist-server/mcp/doctor.mjs +1 -1
  33. package/dist-server/mcp/fixtures/echo-mcp.mjs +1 -1
  34. package/dist-server/mcp/fixtures/hotkey-mcp.mjs +1 -1
  35. package/dist-server/mcp/fixtures/mihome-mcp.mjs +1 -1
  36. package/dist-server/mcp/fixtures/onvif-mcp.mjs +1 -1
  37. package/dist-server/mcp/fixtures/shell-mcp.mjs +1 -1
  38. package/dist-server/mcp/fixtures/yunxiangji-mcp.mjs +1 -1
  39. package/dist-server/mcp/hotkey-agent-docs.mjs +1 -1
  40. package/dist-server/mcp/hotkey-driver.mjs +1 -1
  41. package/dist-server/mcp/hotkey-handlers.mjs +1 -1
  42. package/dist-server/mcp/hotkey-import-validate.mjs +1 -1
  43. package/dist-server/mcp/hotkey-store.mjs +1 -1
  44. package/dist-server/mcp/http-client.mjs +1 -1
  45. package/dist-server/mcp/http-pipe.mjs +1 -1
  46. package/dist-server/mcp/local-probe.mjs +1 -1
  47. package/dist-server/mcp/marketplace.mjs +1 -1
  48. package/dist-server/mcp/onvif-handlers.mjs +1 -1
  49. package/dist-server/mcp/parse-server-json.mjs +1 -1
  50. package/dist-server/mcp/paths.mjs +1 -1
  51. package/dist-server/mcp/routes.mjs +1 -1
  52. package/dist-server/mcp/schema.mjs +1 -1
  53. package/dist-server/mcp/settings.mjs +1 -1
  54. package/dist-server/mcp/shell-approval.mjs +1 -1
  55. package/dist-server/mcp/shell-policy.mjs +1 -1
  56. package/dist-server/mcp/shell-trash.mjs +1 -1
  57. package/dist-server/mcp/stdio-pipe.mjs +1 -1
  58. package/dist-server/mcp/store.mjs +1 -1
  59. package/dist-server/mcp/task-notify.mjs +1 -1
  60. package/dist-server/mcp/ws-connect.mjs +1 -1
  61. package/dist-server/mcp/yunxiangji.mjs +1 -1
  62. package/dist-server/media-cache.mjs +1 -1
  63. package/dist-server/mihome/cloud.mjs +1 -1
  64. package/dist-server/mihome/devices.mjs +1 -1
  65. package/dist-server/mihome/local.mjs +1 -1
  66. package/dist-server/mihome/mcp-desc.mjs +1 -1
  67. package/dist-server/mihome/queue.mjs +1 -1
  68. package/dist-server/mihome/rc4.mjs +1 -1
  69. package/dist-server/mihome/routes.mjs +1 -1
  70. package/dist-server/mihome/service.mjs +1 -1
  71. package/dist-server/mihome/sign.mjs +1 -1
  72. package/dist-server/mihome/spec.mjs +1 -1
  73. package/dist-server/mihome/store.mjs +1 -1
  74. package/dist-server/onboard-preview.mjs +1 -1
  75. package/dist-server/tab-focus.mjs +1 -1
  76. package/dist-server/voice-wake.mjs +1 -1
  77. package/package.json +1 -1
  78. package/dist/assets/index-DPFHeUnK.js +0 -45
@@ -1 +1 @@
1
- function _0x2bb8(_0x2cf738,_0x3c6a9b){_0x2cf738=_0x2cf738-0x1ad;var _0x954d44=_0x954d();var _0x2bb849=_0x954d44[_0x2cf738];if(_0x2bb8['ftqpfJ']===undefined){var _0xe1283a=function(_0x4289d8){var _0x8fcaea='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x123de1='',_0x4c41dd='';for(var _0x46b73a=0x0,_0x2283f0,_0x2e2aae,_0x5775ba=0x0;_0x2e2aae=_0x4289d8['charAt'](_0x5775ba++);~_0x2e2aae&&(_0x2283f0=_0x46b73a%0x4?_0x2283f0*0x40+_0x2e2aae:_0x2e2aae,_0x46b73a++%0x4)?_0x123de1+=String['fromCharCode'](0xff&_0x2283f0>>(-0x2*_0x46b73a&0x6)):0x0){_0x2e2aae=_0x8fcaea['indexOf'](_0x2e2aae);}for(var _0x173082=0x0,_0x58918e=_0x123de1['length'];_0x173082<_0x58918e;_0x173082++){_0x4c41dd+='%'+('00'+_0x123de1['charCodeAt'](_0x173082)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4c41dd);};_0x2bb8['lNqQio']=_0xe1283a,_0x2bb8['aUBjaP']={},_0x2bb8['ftqpfJ']=!![];}var _0x6cb853=_0x954d44[0x0],_0x3bd22c=_0x2cf738+_0x6cb853,_0x17328f=_0x2bb8['aUBjaP'][_0x3bd22c];return!_0x17328f?(_0x2bb849=_0x2bb8['lNqQio'](_0x2bb849),_0x2bb8['aUBjaP'][_0x3bd22c]=_0x2bb849):_0x2bb849=_0x17328f,_0x2bb849;}function _0x954d(){var _0x1594fe=['mta0mJa4z2P2quD6','mtGXmtrSvuLuCKu','mZy3otbdvNb2ywm','mtG3nZqZnfvRvK5zAG','owXfq0LIsq','mZzKrMDjsfu','nZuXnZe1y0vSr2Xl','ogLQAxftDG','odm2AxnoAKXT','n1r6CM5uvG','mZzHzNPnsuu','nda4nte2m2zuCvvPCG','nJu4ndi4DunkzvLw'];_0x954d=function(){return _0x1594fe;};return _0x954d();}(function(_0x14542f,_0x1f7791){var _0x4c36ee=_0x2bb8,_0x21373b=_0x14542f();while(!![]){try{var _0x4e933c=parseInt(_0x4c36ee(0x1ad))/0x1*(parseInt(_0x4c36ee(0x1b1))/0x2)+parseInt(_0x4c36ee(0x1b0))/0x3*(-parseInt(_0x4c36ee(0x1b8))/0x4)+-parseInt(_0x4c36ee(0x1b2))/0x5+parseInt(_0x4c36ee(0x1b9))/0x6*(-parseInt(_0x4c36ee(0x1b5))/0x7)+-parseInt(_0x4c36ee(0x1b3))/0x8*(-parseInt(_0x4c36ee(0x1b7))/0x9)+parseInt(_0x4c36ee(0x1ae))/0xa*(-parseInt(_0x4c36ee(0x1b4))/0xb)+parseInt(_0x4c36ee(0x1b6))/0xc*(parseInt(_0x4c36ee(0x1af))/0xd);if(_0x4e933c===_0x1f7791)break;else _0x21373b['push'](_0x21373b['shift']());}catch(_0x459b35){_0x21373b['push'](_0x21373b['shift']());}}}(_0x954d,0x426cd));export{resolveHomePath,mossGuardRedirect}from'../src/navigation/home-path.mjs';
1
+ (function(_0x16ea93,_0x3e14aa){var _0x22c7c2=_0x5e0f,_0x9ceeef=_0x16ea93();while(!![]){try{var _0x452e0c=parseInt(_0x22c7c2(0x6c))/0x1*(parseInt(_0x22c7c2(0x6f))/0x2)+-parseInt(_0x22c7c2(0x6a))/0x3+-parseInt(_0x22c7c2(0x74))/0x4*(-parseInt(_0x22c7c2(0x71))/0x5)+parseInt(_0x22c7c2(0x72))/0x6+-parseInt(_0x22c7c2(0x73))/0x7*(parseInt(_0x22c7c2(0x70))/0x8)+parseInt(_0x22c7c2(0x6e))/0x9+parseInt(_0x22c7c2(0x6d))/0xa*(-parseInt(_0x22c7c2(0x6b))/0xb);if(_0x452e0c===_0x3e14aa)break;else _0x9ceeef['push'](_0x9ceeef['shift']());}catch(_0x422e03){_0x9ceeef['push'](_0x9ceeef['shift']());}}}(_0x5985,0x5ea39));export{resolveHomePath,mossGuardRedirect}from'../src/navigation/home-path.mjs';function _0x5e0f(_0x232ca4,_0x6e4b35){_0x232ca4=_0x232ca4-0x6a;var _0x59854f=_0x5985();var _0x5e0fce=_0x59854f[_0x232ca4];if(_0x5e0f['PfmzGr']===undefined){var _0x5255da=function(_0xacb08b){var _0xcad049='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x1e7c6c='',_0x4f471c='';for(var _0x2ec5e7=0x0,_0x3d4b7e,_0x362508,_0x2b6905=0x0;_0x362508=_0xacb08b['charAt'](_0x2b6905++);~_0x362508&&(_0x3d4b7e=_0x2ec5e7%0x4?_0x3d4b7e*0x40+_0x362508:_0x362508,_0x2ec5e7++%0x4)?_0x1e7c6c+=String['fromCharCode'](0xff&_0x3d4b7e>>(-0x2*_0x2ec5e7&0x6)):0x0){_0x362508=_0xcad049['indexOf'](_0x362508);}for(var _0x5a2c60=0x0,_0x42b662=_0x1e7c6c['length'];_0x5a2c60<_0x42b662;_0x5a2c60++){_0x4f471c+='%'+('00'+_0x1e7c6c['charCodeAt'](_0x5a2c60)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4f471c);};_0x5e0f['MfLyTG']=_0x5255da,_0x5e0f['WRuIxa']={},_0x5e0f['PfmzGr']=!![];}var _0x2bd9ef=_0x59854f[0x0],_0x5a00d2=_0x232ca4+_0x2bd9ef,_0x392349=_0x5e0f['WRuIxa'][_0x5a00d2];return!_0x392349?(_0x5e0fce=_0x5e0f['MfLyTG'](_0x5e0fce),_0x5e0f['WRuIxa'][_0x5a00d2]=_0x5e0fce):_0x5e0fce=_0x392349,_0x5e0fce;}function _0x5985(){var _0x4baf5e=['mJiWA1Dvtuf2','nJiXnZqXnLvmCwLiva','nMPOrMvQuG','mZK3ntjAquDZwvu','mJaXnw5HtLH1EG','nJi5odGWAKPovLnh','otH6ChzUC2S','mJe5nNPOC3PryG','mJe4mZCWoxv3BM1xzq','mtCYnZK5shHRCerH','mtCXmJe5tenVsefL'];_0x5985=function(){return _0x4baf5e;};return _0x5985();}
@@ -1 +1 @@
1
- const _0x4c0f89=_0x12ea;(function(_0x5bf5bb,_0x5d605c){const _0x5353fe=_0x12ea,_0x1270d0=_0x5bf5bb();while(!![]){try{const _0x464625=parseInt(_0x5353fe(0x212))/0x1*(parseInt(_0x5353fe(0x2d2))/0x2)+parseInt(_0x5353fe(0x2e7))/0x3+-parseInt(_0x5353fe(0x266))/0x4+-parseInt(_0x5353fe(0x275))/0x5+parseInt(_0x5353fe(0x249))/0x6+-parseInt(_0x5353fe(0x229))/0x7*(parseInt(_0x5353fe(0x2a0))/0x8)+-parseInt(_0x5353fe(0x24a))/0x9;if(_0x464625===_0x5d605c)break;else _0x1270d0['push'](_0x1270d0['shift']());}catch(_0x49336e){_0x1270d0['push'](_0x1270d0['shift']());}}}(_0x7712,0xbad99));import _0x272431 from'node:fs';import _0x2599a5 from'node:os';import _0x19e5e3 from'node:path';import _0x4e3a0c from'node:http';import{execFile}from'node:child_process';import{fileURLToPath}from'node:url';import _0x48fa5d from'express';import _0xb0e372 from'cors';import{disconnectCamera,registerCameraRoutes,setCameraHooks,stripOnboardCameraConfig}from'./camera.mjs';import{findDevice,isBoardLabel,normalizeMac,resolveUpsertId}from'./device-identity.mjs';import{migrateLegacyConfig,requireActiveDevice,setCamera,upsertDevice}from'./device-registry.mjs';import{applyHealth,isOnline}from'./device-presence.mjs';import{probeDevice}from'./device-probe.mjs';import{applyChatDelta,chatSyncIntervalMs,shouldFetchChatSync}from'./device-chat-sync.mjs';import{createDeviceHttpQueue}from'./device-http.mjs';function _0x12ea(_0x3e4121,_0x193361){_0x3e4121=_0x3e4121-0x1b3;const _0x7712b0=_0x7712();let _0x12ea1d=_0x7712b0[_0x3e4121];if(_0x12ea['XAPjow']===undefined){var _0x19ab20=function(_0x4dfd86){const _0xadef89='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x272431='',_0x2599a5='';for(let _0x19e5e3=0x0,_0x4e3a0c,_0x48fa5d,_0xb0e372=0x0;_0x48fa5d=_0x4dfd86['charAt'](_0xb0e372++);~_0x48fa5d&&(_0x4e3a0c=_0x19e5e3%0x4?_0x4e3a0c*0x40+_0x48fa5d:_0x48fa5d,_0x19e5e3++%0x4)?_0x272431+=String['fromCharCode'](0xff&_0x4e3a0c>>(-0x2*_0x19e5e3&0x6)):0x0){_0x48fa5d=_0xadef89['indexOf'](_0x48fa5d);}for(let _0x5eb652=0x0,_0xd45483=_0x272431['length'];_0x5eb652<_0xd45483;_0x5eb652++){_0x2599a5+='%'+('00'+_0x272431['charCodeAt'](_0x5eb652)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2599a5);};_0x12ea['mBtiWa']=_0x19ab20,_0x12ea['yLNAMN']={},_0x12ea['XAPjow']=!![];}const _0x3e0e4e=_0x7712b0[0x0],_0x394cf9=_0x3e4121+_0x3e0e4e,_0x816a21=_0x12ea['yLNAMN'][_0x394cf9];return!_0x816a21?(_0x12ea1d=_0x12ea['mBtiWa'](_0x12ea1d),_0x12ea['yLNAMN'][_0x394cf9]=_0x12ea1d):_0x12ea1d=_0x816a21,_0x12ea1d;}import{shouldApplyRemoteVoice,voiceFromWakeAck}from'./voice-wake.mjs';import{registerDeviceRoutes}from'./device-routes.mjs';import{buildSessionView,withActiveDevice}from'./device-session.mjs';import{attachRequestDevice,getRequestDevice,voicesFromRuntime}from'./device-focus.mjs';import{createDeviceRuntime}from'./device-runtime.mjs';import{discoverMossDevices}from'./lan-discover.mjs';import{registerMcpRoutes}from'./mcp/routes.mjs';import{initBridgeWebSocket,bridgeManager}from'./mcp/bridge-manager.mjs';import{setTaskNotifyHooks}from'./mcp/task-notify.mjs';import{loadMcpSettings}from'./mcp/settings.mjs';import{exportYunxiangjiInbox,ingestDeviceYunxiangjiCreates,maybeAckYunxiangjiFromChat,maybeApplyYunxiangjiFromChat}from'./mcp/yunxiangji.mjs';import{prefetchFfmpeg}from'./ffmpeg.mjs';import{registerMediaRoutes}from'./media-cache.mjs';import{validateIrImportPayload}from'./ir-import-validate.mjs';import{applyDeviceHealthTo,normalizeCaps}from'./board-presets.mjs';import{registerMihomeRoutes}from'./mihome/routes.mjs';import{clearRuntime,nextListenPort,reclaimListenPort,sleep}from'./listen-port.mjs';import{attachViteDev,shouldAttachDevUi}from'./dev-ui.mjs';const PORT=Number(process['env'][_0x4c0f89(0x223)]||0xec4),ROOT_DIR=_0x19e5e3['join'](_0x19e5e3[_0x4c0f89(0x1e7)+'e'](fileURLToPath(import.meta.url)),'..'),DIST_DIR=_0x19e5e3['join'](ROOT_DIR,_0x4c0f89(0x269)),CONFIG_DIR=_0x19e5e3['join'](_0x2599a5[_0x4c0f89(0x2cf)+'r'](),_0x4c0f89(0x262)+_0x4c0f89(0x2e4)+'p'),CONFIG_PATH=_0x19e5e3[_0x4c0f89(0x279)](CONFIG_DIR,_0x4c0f89(0x2c8)+_0x4c0f89(0x28b)),RUNTIME_PATH=_0x19e5e3[_0x4c0f89(0x279)](CONFIG_DIR,'runtim'+_0x4c0f89(0x26f));function loadConfig(){const _0x2eba3=_0x4c0f89;try{return migrateLegacyConfig(JSON[_0x2eba3(0x257)](_0x272431['readFi'+_0x2eba3(0x2a8)](CONFIG_PATH,_0x2eba3(0x250))));}catch{return migrateLegacyConfig({'deviceBaseUrl':'','mqtt':null,'bound':![]});}}function saveConfig(_0x5eb652){const _0x2d5166=_0x4c0f89;_0x272431[_0x2d5166(0x2ba)+_0x2d5166(0x1ea)](CONFIG_DIR,{'recursive':!![]}),_0x272431[_0x2d5166(0x1fc)+_0x2d5166(0x2a4)+'c'](CONFIG_PATH,JSON[_0x2d5166(0x1ba)+_0x2d5166(0x2a6)](_0x5eb652,null,0x2));}function applyDeviceHealth(_0xd45483,_0xb40b6b={}){const _0x2f3ca2=_0x4c0f89;applyDeviceHealthTo(config,_0xd45483);if(!_0xd45483||typeof _0xd45483!==_0x2f3ca2(0x2ec))return null;const _0x19639a=String(_0xb40b6b[_0x2f3ca2(0x1d1)+'Id']||_0xd45483[_0x2f3ca2(0x1d1)+_0x2f3ca2(0x23e)]||'')[_0x2f3ca2(0x2eb)](),_0x104520=normalizeMac(_0xd45483[_0x2f3ca2(0x20a)]),_0x2f8e34=_0xb40b6b['id']||config[_0x2f3ca2(0x276)+_0x2f3ca2(0x290)+'Id'],_0x4c1fae=findDevice(config,{'mac':_0x104520,'clientId':_0x19639a,'id':_0x2f8e34}),_0x4132be=resolveUpsertId(config,{'mac':_0x104520,'clientId':_0x19639a,'id':_0x4c1fae?.['id']||_0x2f8e34});if(!_0x4132be)return null;const _0x34039b=_0xd45483[_0x2f3ca2(0x272)+_0x2f3ca2(0x1bf)]&&!isBoardLabel(_0xd45483[_0x2f3ca2(0x272)+_0x2f3ca2(0x1bf)])?_0xd45483[_0x2f3ca2(0x272)+_0x2f3ca2(0x1bf)]:undefined;upsertDevice(config,{'id':_0x4132be,'mac':_0x104520||undefined,'clientId':_0x19639a||_0x4c1fae?.[_0x2f3ca2(0x1d1)+'Id'],'board':_0xd45483[_0x2f3ca2(0x222)]||_0xd45483[_0x2f3ca2(0x284)],'product':_0xd45483[_0x2f3ca2(0x1fe)+'t'],'hostname':_0xd45483[_0x2f3ca2(0x1db)+'me'],'displayName':_0x34039b,'ip':_0xd45483['ip']});const _0x474ac9=applyHealth(config['device'+'s'][_0x4132be],_0xd45483);return config[_0x2f3ca2(0x2be)+'s'][_0x4132be]=_0x474ac9,_0x474ac9;}function _0x7712(){const _0x24f2a1=['CMvHzhK','C2LNBMfS','5PYQ5OM+5yIW5yMn56UV6Ag1','DMvUDhm','C3rHDhvZ','zgLYBMfT','5PEG5Rov5yAz5ywLihi','BgLZDgvU','Ew5J','C3rUyw1L','56km77Yi5y2h57QNl+A/Ga','B25Jzq','5O6L5y+J5zcm5lIa56UV5y+J','AxjFzgf0','zeLK','B2zM','BwfW','5lIk5lIa5QYH5zsK6yAs6l+y','77Ym5Ps55yMn56UV5lUJ56cb','y2f0y2G','Ew8TBw9Z','5Rs75lIT77Yj77Ym5PQc5PE2','l2LYl2rL','zMLSDgvY','5Rwp6kEi5zMO77YA','u0Lhsu5u','D3jPDgvg','Aw5IB3G','ChjVzhvJ','y2uVzgvS','CL0G5PYQ6io95OYc','Cgf0Aa','Chv0','l2LYl2v4','C3rHCNq','CI9JB21T','w21PAg9T','CM9Szq','sevbra','BgfZDeHV','BwfJ','zxzLBNq6','57Y65Bcr6kAb6k+v5y+r55Qe','v2L0Aa','zhK9','DfrPBwvV','C2vX','A2v5CW','mw5oDwjoyW','5OIw5zcn56EW5lIn5zci5Rov','ChjVBxb0','DgHLBG','z2v0','yw5NAMLD','D29Rzuf0','Cg9ZDa','Dg9ju09t','tu9tu19b','u3LUyW','rvjtsu9o','yw50','zxrL','q2fJAguT','zw5XDwv1','yM9HCMq','ue9sva','tu9tuYdLV5K','Bgv0zq','y2HHDc5T','ywnRzwq','AgvHBhrO','mtr0C2PHrvG','AwHVBwu','6z2I77Ym6k+35ywi5OMN6kgm','y29UBMvJ','v2KTrMNJGii','BMDQAv9V','5lQr5y+W5O6N5yI25AsX6lsL','zxzPy2uV','AwrSzq','DgvZDa','DhjLyw0','Bwv0Ag9K','tu9tu19p','AhrTBa','l2fWAs9P','A2LSBgvK','55s15zMO57g75z6l5lIn5zci','C3bLzwq','u0Lhvevs','DgLTzw91','ufvu','x2LK','5OMR5O+p5Bga5z+F572r5AsX','BgLNAhq','y3jLyxrL','y3vZDg9T','CMv3B3vU','C3rHCNrZ','A2LUza','6Akr57Mb77Ym6k+356In5ycz','BMDQAv9J','5z2h6kkR5y2G55sO','mZGXnJqXngL3BLHLzW','mtq4nJiYnfn4EwH4wa','Ahr0CdOV','CgXHDgzV','5lYA54oT5PU05PAW44cc','BMDQAu91','w3nLCNzL','DxrMoa','DM9Py2u','l2DPBwjH','AgfZ','CgLK','ywrKzwq','tu9tu19w','CgfYC2u','CMvWBgfJ','D2fYBG','C3rVCa','w21JCf0G','5lIn5lIk44cc6k+356gU6k6K','l2fWAs9I','6k6+5Ash5zYO5zcm5lIaia','BgvUz3rO','C2v0','CMvZzxrd','lM1VC3mT','Dw5Yzwy','DhLWzq','5BQp5y2G55sO77Ym5B2t5yMn','ota4nZG0rxLZDvLU','5PEG5Rov5BU656Ul6k+T6z+Z','tu9tuYdNPRS','zgLZDa','CL0G5BEY57Ut5P2F','rMXPz2H0','l2fWAs9K','C3rHDgLJ','DMvUDc1Z','zs5QC29U','5y2G55sO56UV5y+J55Qe5lIk','l2LYl2nV','zgLZCgXH','y2HHDf9Z','y2HHDen1','mte5ntu4nvbqExnJuW','ywn0AxzL','zxHPDa','igfUBM91','AM9PBG','5RkH6io955M76k6W6l+z5y+W','zMX1C2Hi','C2v0sgvH','D2LUmZi','AxnbCNjH','zwfKzxjZ','zY9KzxzP','Aw5N','zgvY','y2HHDa','BMfTzq','55s15zMOigLKia','5lIa5lU95Qgm6z2I5PYn5yQH','iowpIUwqJUE7REERR+wpOW','yw5NAMKV','yxjU','DgfYDcbT','lMPZB24','qMfZzvvY','CMvXDwvZ','l2LYl2LT','yw5K','rgv2AwnL','yxbWBgLJ','AxnJB3zL','vgfZA0nV','DgLVBG','l2LYl3rL','l2fJAW','l2H3','y21K','q29UDhjV','B3bLBG','t1Dtrvi','Bw1HBMq','C2XPy2u','CI9PBxbV','zgfYD2LU','ndqWmJe2u0XWEwf3','Bxf0Da','tu9tuYdML6a','DxnL','AwXLu3LU','y29TBwfU','Awz5','ywrK','BgvtEw5J','l2nVBMzP','zgvSzxrL','CL0G','Bw1HBMqV','55s16isr5zkmie1p','Eu5HBwu','6k+356gU6k6K55s16isr5zkm','r0vu','tK9erv9f','B3v0yM94','BwvZC2fN','lJaUmtO','zw52','C3LUyZ9Z','Cg9YDa','ios7JEIIQ+wfTUs7LUEOIW','5Asn77Ym6k+356In5ycz','BwTKAxjt','y2fTzxjH','57Y65Bcr5Asw6k6+5OIw5yQO','tu9tuYdMRAm','zgv2AwnL','D2fRzu9U','zxjYB3i','zMLUywXS','6l295BYa5y+r55wm6z2I77YA','5OM+5yIW5zYW5z2a5l2g6l+E','q29UDgvU','BMnLigzH','yNvZEq','w2LYlNrL','y29UzMLN','zM9SBg93','CM9S','CI9LEhbV','5Rov5zsK6yAs','l2LYl3jL','ue9tva','Ag9TzwrP','zwXLDgu','DxrIB3G','mta1mde5nfnYuxbzvW','CI9SzwfY','DMLJzs9K','l2nOyxq','CNnVCG','cMrHDge6','zxnZywDL','5zYO6l+E5O6L6k+T6z+Z5PYn','5OYj6zsU5zcn56EW5lIn5zci','DMLJzq','y2XVC2u','AgvHzgvY','yMfZzvvY','l2fWAs9L','yw5UB3vU','EgrNlw9W','CI9KzxzP','DgjVEa','zgvZA3rV','D2fRzq','C2vUzezP','mtaZnZaYmKnjqNzHCG','CMvZDgfY','C3rHDgu','u1mG5zYW5z2a','DhjPBq','B2jQzwn0','q29UBMvJ','ExvUEgLH','u1mG5zYO5zcm5lIa','zf9Pza','DY9ZDgf0','l3L1BNHP','Agf0l3DH','ywn0Aw9U','ANnVBG','5yQH77Ym6k+356In5zco5yAn','lZeYnY4W','yxrPB24V','C3rYAw5N','ifDPluzP','BM93','DfnLCNzL','DgLUzW','Ev9Uyw1L','zgv0ywLS','DMLJzxm','ruferfjj','l2fWAs9J','Dgv4Da','l2HLywX0','ie1pu1pJGii','y29Kzq','zw91Da','57Y65Bcr6kAb5yIG6zMK55Qe','D2fRzuLU','ywn0AxzH','56UV5y+Jia','yM9KEq','Cgf5Bg9H','AwqG5lIn5zci5Rov','5zYO562j5B6f6k6+5Ash5zUE','y2XPzw50','6k+35ywi6ycj5OUP6k6+5Ash','l2fWAs9O','l2LYl2XL','zv0GCMvZ','C3LZDgvT','A2vLCc1H','77Ym5BM25Qoa5P+LieK','Aw5Kl2XH','Bc9JB250','Ag9ZDg5H','Bg9N','AhCUC3rH','D3jPDgu','AxrLBxm','BgfZDfnL','l2nOyxqV'];_0x7712=function(){return _0x24f2a1;};return _0x7712();}function activeRecord(){const _0x14df24=_0x4c0f89;return config[_0x14df24(0x2be)+'s']?.[config['active'+'Device'+'Id']]||null;}function currentCaps(){const _0x19995c=_0x4c0f89,_0x34946b=focusedRecord();return normalizeCaps({'board':_0x34946b?.[_0x19995c(0x222)]||config['board'],'name':_0x34946b?.[_0x19995c(0x222)]||config[_0x19995c(0x222)],'product':_0x34946b?.[_0x19995c(0x1fe)+'t']||config['produc'+'t']});}function currentMossOnline(){const _0x150025=_0x4c0f89,_0x3a2508=focusedRecord();if(_0x3a2508&&isOnline(_0x3a2508['lastSe'+'en'],Date[_0x150025(0x1bc)]()))return!![];return![];}function writeRuntime(_0x186c99){const _0x33a38b=_0x4c0f89;try{_0x272431['mkdirS'+_0x33a38b(0x1ea)](CONFIG_DIR,{'recursive':!![]}),_0x272431[_0x33a38b(0x1fc)+_0x33a38b(0x2a4)+'c'](RUNTIME_PATH,JSON[_0x33a38b(0x1ba)+_0x33a38b(0x2a6)]({'port':_0x186c99,'pid':process[_0x33a38b(0x254)],'at':Date[_0x33a38b(0x1bc)]()}));}catch(_0x876d40){console['warn'](_0x33a38b(0x1e8)+'untime'+':',_0x876d40[_0x33a38b(0x2b3)+'e']);}}function clearListenRuntime(){clearRuntime(RUNTIME_PATH);}let config=loadConfig();for(const id of Object[_0x4c0f89(0x211)](config[_0x4c0f89(0x2be)+'s']||{})){const wrap={'camera':config['device'+'s'][id]['camera']};stripOnboardCameraConfig(wrap)&&(config[_0x4c0f89(0x2be)+'s'][id][_0x4c0f89(0x2bb)]=wrap[_0x4c0f89(0x2bb)],saveConfig(config));}let mqttStatus='ready';const runtime=createDeviceRuntime(),chatSyncTimers=new Map();let presenceTimer=null;const boardQueues=new Map();function focusedRecord(){const _0x94bbc4=_0x4c0f89,_0x471422=getRequestDevice();if(_0x471422?.['id']&&config[_0x94bbc4(0x2be)+'s']?.[_0x471422['id']])return config['device'+'s'][_0x471422['id']];return activeRecord();}function runtimeOf(_0x38b5c8){const _0x474b4c=_0x4c0f89;return runtime['of'](_0x38b5c8||focusedRecord()?.['id']||config[_0x474b4c(0x276)+_0x474b4c(0x290)+'Id']);}function deviceQueue(_0x147e61){const _0x411a0e=_0x4c0f89,_0x381701=_0x147e61||config[_0x411a0e(0x276)+_0x411a0e(0x290)+'Id']||'_';if(!boardQueues[_0x411a0e(0x253)](_0x381701))boardQueues[_0x411a0e(0x260)](_0x381701,createDeviceHttpQueue());return boardQueues[_0x411a0e(0x216)](_0x381701);}function initTaskNotify(){const _0x3c0d4c=_0x4c0f89;setTaskNotifyHooks({'emit':emit,'publishWakeAndText':_0x47255e=>{if(!currentMossOnline())return![];try{return publishWakeAndText(_0x47255e),!![];}catch{return![];}},'isWakeOnTaskCompleteEnabled':()=>loadMcpSettings()['wakeOn'+_0x3c0d4c(0x293)+'mplete']===!![]});}initTaskNotify();const sseClients=new Set();function emit(_0x1d9038,_0x27b5dd){const _0x7f6ce7=_0x4c0f89,_0x42d275=_0x7f6ce7(0x20b)+'\x20'+_0x1d9038+(_0x7f6ce7(0x2d7)+'\x20')+JSON[_0x7f6ce7(0x1ba)+_0x7f6ce7(0x2a6)](_0x27b5dd)+'\x0a\x0a';for(const _0x3e64f7 of sseClients){_0x3e64f7[_0x7f6ce7(0x1de)](_0x42d275);}}function statusPayload(_0x9b60c9={}){const _0x5f4b7d=_0x4c0f89;return{...buildSessionView(config,{'mqttStatus':_0x5f4b7d(0x1e2),'failCount':0x0,'lastError':'','voices':voicesFromRuntime(config,runtime)}),'status':_0x5f4b7d(0x1e2),'bound':!![],'failCount':0x0,'lastError':'',..._0x9b60c9};}function inferFetchKind(_0x58e798,_0x264843={}){const _0x5e53c4=_0x4c0f89;if(_0x264843['kind'])return _0x264843[_0x5e53c4(0x245)];if(_0x58e798[_0x5e53c4(0x244)+_0x5e53c4(0x20d)](_0x5e53c4(0x2d5)))return _0x5e53c4(0x283);if(_0x58e798===_0x5e53c4(0x1c5)+'h')return _0x5e53c4(0x228);if(_0x58e798['starts'+_0x5e53c4(0x20d)](_0x5e53c4(0x252)+'l'))try{const _0x30a1b5=JSON[_0x5e53c4(0x257)](_0x264843['body']||'{}');return _0x30a1b5[_0x5e53c4(0x1b5)]===_0x5e53c4(0x25a)?_0x5e53c4(0x25a):_0x5e53c4(0x2c9);}catch{return _0x5e53c4(0x2c9);}return'ir';}function enqueueBoard(_0x13ff6d,_0xde2fb,_0x25d8ad){return new Promise((_0x5c1aef,_0x80a571)=>{const _0x262ae8=_0x12ea;deviceQueue(_0x25d8ad)[_0x262ae8(0x221)+'e'](_0x13ff6d,async()=>{try{_0x5c1aef(await _0xde2fb());}catch(_0x131ae2){_0x80a571(_0x131ae2);}});});}async function rawDeviceFetch(_0x42ae90,_0x5e5f65={}){const _0x265e4b=_0x4c0f89,{baseUrl:_0x21bdd9,useLan:_0x722a89,kind:_0x24b58e,timeoutMs:_0x2616de,deviceId:_0x2eda5f,..._0x403eb2}=_0x5e5f65,_0x4a538e=getRequestDevice(),_0x59b374=_0x2eda5f||_0x4a538e?.['id']||config[_0x265e4b(0x276)+_0x265e4b(0x290)+'Id'];let _0x499b06=_0x21bdd9||'';!_0x499b06&&_0x722a89&&(_0x499b06=config['device'+_0x265e4b(0x28c)+'l']);!_0x499b06&&_0x4a538e?.[_0x265e4b(0x2de)+'l']&&(_0x499b06=_0x4a538e[_0x265e4b(0x2de)+'l']);!_0x499b06&&_0x59b374&&(_0x499b06=config[_0x265e4b(0x2be)+'s']?.[_0x59b374]?.['baseUr'+'l']||'');if(!_0x499b06)try{_0x499b06=requireActiveDevice(config)['baseUr'+'l'];}catch{_0x499b06=config['device'+_0x265e4b(0x28c)+'l'];}if(!_0x499b06){const _0x70064f=new Error(_0x265e4b(0x1d2));_0x70064f[_0x265e4b(0x1e6)]=0x199;throw _0x70064f;}const _0x31d848=''+_0x499b06+_0x42ae90,_0xb578e5=await fetch(_0x31d848,{..._0x403eb2,'signal':_0x5e5f65[_0x265e4b(0x1e3)]||AbortSignal[_0x265e4b(0x23c)+'t'](_0x2616de||0x1f40),'headers':{'Content-Type':_0x265e4b(0x291)+_0x265e4b(0x1b9)+_0x265e4b(0x1b6),..._0x5e5f65[_0x265e4b(0x2dd)+'s']||{}}}),_0x4cff23=await _0xb578e5[_0x265e4b(0x1c4)]();let _0x106dff={};try{_0x106dff=_0x4cff23?JSON[_0x265e4b(0x257)](_0x4cff23):{};}catch{_0x106dff={'raw':_0x4cff23};}if(!_0xb578e5['ok']){const _0x2136af=new Error(_0x106dff[_0x265e4b(0x2b3)+'e']||'MOSS\x20返'+'回\x20'+_0xb578e5[_0x265e4b(0x1e6)]);_0x2136af[_0x265e4b(0x1c0)]=_0x106dff;throw _0x2136af;}return _0x106dff;}function deviceFetch(_0xec83ac,_0xce0ed3={}){const _0x37bf8f=_0x4c0f89,_0x5e2183=getRequestDevice(),_0x4f4528=_0xce0ed3[_0x37bf8f(0x2be)+'Id']||_0x5e2183?.['id']||config[_0x37bf8f(0x276)+_0x37bf8f(0x290)+'Id'];return enqueueBoard(inferFetchKind(_0xec83ac,_0xce0ed3),()=>rawDeviceFetch(_0xec83ac,{..._0xce0ed3,'deviceId':_0x4f4528}),_0x4f4528);}function applyVoice(_0x18246f,_0x5708f2){const _0x222204=_0x4c0f89,_0x216d1c=_0x18246f||focusedRecord()?.['id']||config[_0x222204(0x276)+_0x222204(0x290)+'Id'],_0x59c09f=String(_0x5708f2||'')[_0x222204(0x2eb)]();if(!_0x216d1c||!_0x59c09f)return;const _0x4e2384=runtime['of'](_0x216d1c);if(config[_0x222204(0x2be)+'s']?.[_0x216d1c])config[_0x222204(0x2be)+'s'][_0x216d1c][_0x222204(0x251)]=_0x59c09f;_0x59c09f!==_0x4e2384[_0x222204(0x251)]&&(_0x4e2384[_0x222204(0x251)]=_0x59c09f,emit(_0x222204(0x1e6),statusPayload()));}function emitChatLines(_0x584899,_0x3c531f){const _0x4b5821=_0x4c0f89;for(const _0x41bd24 of _0x584899){emit(_0x4b5821(0x2a1),{'type':_0x4b5821(0x226)+_0x4b5821(0x2d8),'payload':{'role':_0x41bd24['role'],'text':_0x41bd24[_0x4b5821(0x1c4)],'state':_0x41bd24[_0x4b5821(0x2e9)],'deviceId':_0x3c531f}}),_0x41bd24[_0x4b5821(0x207)]==='assist'+_0x4b5821(0x21e)&&maybeAckYunxiangjiFromChat(_0x41bd24['text']),(_0x41bd24[_0x4b5821(0x207)]===_0x4b5821(0x1d6)||_0x41bd24['role']==='assist'+_0x4b5821(0x21e))&&maybeApplyYunxiangjiFromChat(_0x41bd24['text']);}}async function syncChatNow(_0x45fd91){const _0x509304=_0x4c0f89,_0x15af3e=_0x45fd91||focusedRecord()?.['id']||config[_0x509304(0x276)+_0x509304(0x290)+'Id'],_0x505ee0=config[_0x509304(0x2be)+'s']?.[_0x15af3e];if(!_0x505ee0?.['baseUr'+'l'])return;const _0x74fe3e=runtime['of'](_0x15af3e),_0x25f7cf=_0x1b1767=>deviceFetch(_0x509304(0x1e1)+_0x509304(0x2b6)+'ince='+_0x1b1767,{'timeoutMs':0x7d0,'kind':_0x509304(0x283),'deviceId':_0x15af3e,'baseUrl':_0x505ee0[_0x509304(0x2de)+'l']});let _0xc15ac9=await _0x25f7cf(_0x74fe3e['chatCu'+_0x509304(0x2d6)]),_0x309a57=applyChatDelta({'seq':_0x74fe3e['chatCu'+_0x509304(0x2d6)],'lines':[]},_0xc15ac9);_0x309a57[_0x509304(0x243)+'d']&&(_0xc15ac9=await _0x25f7cf(_0x309a57[_0x509304(0x210)]),_0x309a57=applyChatDelta({'seq':_0x309a57[_0x509304(0x210)],'lines':[]},_0xc15ac9)),_0x74fe3e[_0x509304(0x274)+'rsor']=_0x309a57[_0x509304(0x210)],ingestYunxiangjiFromDevicePayload(_0xc15ac9,_0x15af3e),_0xc15ac9[_0x509304(0x251)]&&shouldApplyRemoteVoice({'remoteVoice':_0xc15ac9[_0x509304(0x251)],'localVoice':_0x74fe3e[_0x509304(0x251)],'wokeAt':_0x74fe3e[_0x509304(0x218)]})&&applyVoice(_0x15af3e,_0xc15ac9['voice']),emitChatLines(_0x309a57[_0x509304(0x255)],_0x15af3e);}function scheduleChatSync(_0x18c94b){const _0x245764=_0x4c0f89,_0x20b117=_0x18c94b||focusedRecord()?.['id']||config[_0x245764(0x276)+_0x245764(0x290)+'Id'];if(!_0x20b117)return;const _0x54f58b=chatSyncTimers[_0x245764(0x216)](_0x20b117);_0x54f58b&&(clearTimeout(_0x54f58b),chatSyncTimers[_0x245764(0x2aa)](_0x20b117));const _0x55ff13=chatSyncIntervalMs({'voice':runtime['of'](_0x20b117)[_0x245764(0x251)]});if(!_0x55ff13)return;chatSyncTimers['set'](_0x20b117,setTimeout(()=>{const _0x5d182c=_0x245764;syncChatNow(_0x20b117)[_0x5d182c(0x1f5)](()=>{})[_0x5d182c(0x2c1)+'y'](()=>scheduleChatSync(_0x20b117));},_0x55ff13));}async function probeOne(_0x4013b1,_0x5332ee=Date[_0x4c0f89(0x1bc)]()){const _0x5579f5=_0x4c0f89,_0x4edefd=config[_0x5579f5(0x2be)+'s']?.[_0x4013b1];if(!_0x4edefd)return;const _0x2511d2=await enqueueBoard(_0x5579f5(0x228),()=>probeDevice(_0x4edefd,{'now':_0x5332ee,'timeoutMs':0x7d0}),_0x4013b1),_0x57db7b=_0x4edefd['lastSe'+'en'];Object['assign'](_0x4edefd,_0x2511d2[_0x5579f5(0x2be)]);_0x4013b1===config[_0x5579f5(0x276)+'Device'+'Id']&&(_0x2511d2['online']&&_0x2511d2['device']['baseUr'+'l']&&(config[_0x5579f5(0x2be)+'BaseUr'+'l']=_0x2511d2[_0x5579f5(0x2be)][_0x5579f5(0x2de)+'l']));const _0x208ea6=runtime['of'](_0x4013b1);_0x2511d2[_0x5579f5(0x228)]?.['voice']&&shouldApplyRemoteVoice({'remoteVoice':_0x2511d2[_0x5579f5(0x228)]['voice'],'localVoice':_0x208ea6[_0x5579f5(0x251)],'wokeAt':_0x208ea6[_0x5579f5(0x218)]})&&applyVoice(_0x4013b1,_0x2511d2[_0x5579f5(0x228)][_0x5579f5(0x251)]),_0x2511d2['health']&&shouldFetchChatSync({'voice':_0x2511d2[_0x5579f5(0x228)][_0x5579f5(0x251)]||_0x208ea6[_0x5579f5(0x251)],'remoteSeq':_0x2511d2[_0x5579f5(0x228)][_0x5579f5(0x273)+'eq'],'localSeq':_0x208ea6[_0x5579f5(0x274)+_0x5579f5(0x2d6)]})&&(syncChatNow(_0x4013b1)['catch'](()=>{}),scheduleChatSync(_0x4013b1)),Number(_0x2511d2[_0x5579f5(0x228)]?.[_0x5579f5(0x2ee)+_0x5579f5(0x22e)+_0x5579f5(0x2d1)]||_0x2511d2['device']?.[_0x5579f5(0x2ee)+_0x5579f5(0x24e)+_0x5579f5(0x2e3)]||0x0)>0x0&&pullYunxiangjiOutbox(_0x4013b1)[_0x5579f5(0x1f5)](()=>{}),_0x2511d2[_0x5579f5(0x2be)][_0x5579f5(0x1e0)+'en']!==_0x57db7b&&(emit(_0x5579f5(0x1e6),statusPayload()),_0x2511d2['online']&&scheduleYunxiangjiInboxPush(_0x4013b1));}function startPresenceWatch(){if(presenceTimer)return;const _0x209ce2=()=>{const _0xd5c20d=_0x12ea,_0x52744d=Object['keys'](config['device'+'s']||{});for(const _0x39b2de of _0x52744d[_0xd5c20d(0x29d)](0x0,0x4)){probeOne(_0x39b2de)['catch'](()=>{});}};_0x209ce2(),presenceTimer=setInterval(_0x209ce2,0x7d0);}function ingestYunxiangjiFromDevicePayload(_0x4a08ce,_0x74ec2f){const _0x5a9145=_0x4c0f89,_0x1b7097=_0x4a08ce?.['yunxia'+_0x5a9145(0x247)+'reates']||_0x4a08ce?.[_0x5a9145(0x1df)];if(!Array[_0x5a9145(0x27e)+'y'](_0x1b7097)||!_0x1b7097['length'])return;const _0x13263b=ingestDeviceYunxiangjiCreates(_0x1b7097),_0x31f0e2=_0x13263b[_0x5a9145(0x227)]||_0x1b7097[_0x5a9145(0x1f2)](_0x3bb611=>_0x3bb611?.['id'])[_0x5a9145(0x1f9)](Boolean);if(!_0x31f0e2[_0x5a9145(0x25f)])return;deviceFetch(_0x5a9145(0x1b3)+_0x5a9145(0x288)+_0x5a9145(0x2b2)+_0x5a9145(0x296),{'method':'POST','body':JSON[_0x5a9145(0x1ba)+_0x5a9145(0x2a6)]({'ids':_0x31f0e2}),'kind':_0x5a9145(0x283),'timeoutMs':0x7d0,'deviceId':_0x74ec2f})[_0x5a9145(0x1f5)](()=>{}),scheduleYunxiangjiInboxPush(_0x74ec2f);}async function pullYunxiangjiOutbox(_0x50459a){const _0x595e60=_0x4c0f89,_0x57e368=_0x50459a||focusedRecord()?.['id']||config[_0x595e60(0x276)+_0x595e60(0x290)+'Id'],_0x6a45dc=await deviceFetch(_0x595e60(0x1b3)+'angji/'+'outbox',{'timeoutMs':0x7d0,'kind':_0x595e60(0x283),'deviceId':_0x57e368});ingestYunxiangjiFromDevicePayload(_0x6a45dc,_0x57e368);}const inboxPushTimers=new Map();function scheduleYunxiangjiInboxPush(_0x391499){const _0x51e4cc=_0x4c0f89,_0x376d3b=_0x391499||focusedRecord()?.['id']||config['active'+_0x51e4cc(0x290)+'Id'];if(!_0x376d3b)return;const _0x1094a1=inboxPushTimers[_0x51e4cc(0x216)](_0x376d3b);if(_0x1094a1)clearTimeout(_0x1094a1);inboxPushTimers[_0x51e4cc(0x260)](_0x376d3b,setTimeout(()=>{const _0x225efa=_0x51e4cc;inboxPushTimers[_0x225efa(0x2aa)](_0x376d3b),pushYunxiangjiInbox(_0x376d3b)[_0x225efa(0x1f5)](()=>{});},0x12c));}async function pushYunxiangjiInbox(_0x172347){const _0x6a64a9=_0x4c0f89,_0x417c0f=_0x172347||focusedRecord()?.['id']||config[_0x6a64a9(0x276)+_0x6a64a9(0x290)+'Id'];if(!_0x417c0f)return;await deviceFetch(_0x6a64a9(0x1b3)+_0x6a64a9(0x288)+_0x6a64a9(0x1fd),{'method':'POST','body':JSON[_0x6a64a9(0x1ba)+'ify'](exportYunxiangjiInbox()),'kind':_0x6a64a9(0x283),'timeoutMs':0x7d0,'deviceId':_0x417c0f});}function requireDeviceOnline(){const _0x428fd2=_0x4c0f89;if(!currentMossOnline())throw new Error(_0x428fd2(0x268)+'线');}async function publishWakeAndText(_0x4349f6,_0x3dc653){const _0x249771=_0x4c0f89;requireDeviceOnline();const _0x399fbe=focusedRecord()?.['id']||config['active'+_0x249771(0x290)+'Id'],_0x2b440a={'text':String(_0x4349f6||'')};if(_0x3dc653)_0x2b440a[_0x249771(0x2e0)+'ce']=String(_0x3dc653);await deviceFetch('/chat/'+'say',{'method':_0x249771(0x2ce),'body':JSON[_0x249771(0x1ba)+_0x249771(0x2a6)](_0x2b440a),'kind':'chat','timeoutMs':0xfa0,'deviceId':_0x399fbe}),syncChatNow(_0x399fbe)[_0x249771(0x1f5)](()=>{}),scheduleChatSync(_0x399fbe);}const app=_0x48fa5d();app[_0x4c0f89(0x2a3)](_0xb0e372()),app['use'](_0x48fa5d['json']({'limit':'1mb'})),app[_0x4c0f89(0x2a3)](attachRequestDevice(()=>config)),registerMihomeRoutes(app,{'configDir':CONFIG_DIR,'onMcpAccessChanged':()=>{const _0x22f649=_0x4c0f89;try{bridgeManager[_0x22f649(0x2e8)+_0x22f649(0x1bd)+'r']('moss-m'+_0x22f649(0x22a));}catch(_0x2b0128){console[_0x22f649(0x259)](_0x22f649(0x206)+_0x22f649(0x1d5)+_0x22f649(0x28a)+'cp',_0x2b0128[_0x22f649(0x2b3)+'e']);}}}),registerDeviceRoutes(app,{'getConfig':()=>config,'saveConfig':()=>saveConfig(config),'getExtras':()=>{const _0x588330=_0x4c0f89,_0x52a7bf=focusedRecord(),_0x4bef3e=_0x52a7bf?.['id']||config[_0x588330(0x276)+_0x588330(0x290)+'Id'];return{'mqttStatus':_0x588330(0x1e2),'mossOnline':currentMossOnline(),'capabilities':currentCaps(),'failCount':0x0,'lastError':'','mossChatState':_0x4bef3e?runtime['of'](_0x4bef3e)[_0x588330(0x251)]:_0x588330(0x231),'focusedDeviceId':_0x4bef3e||'','voices':voicesFromRuntime(config,runtime)};},'onActivate':_0x120e9b=>{const _0x4afab4=_0x4c0f89;runtime[_0x4afab4(0x261)+'hat'](_0x120e9b[_0x4afab4(0x2be)]['id']),config[_0x4afab4(0x2be)+'BaseUr'+'l']=_0x120e9b[_0x4afab4(0x2be)][_0x4afab4(0x2de)+'l']||config[_0x4afab4(0x2be)+_0x4afab4(0x28c)+'l']||'',applyDeviceHealthTo(config,_0x120e9b[_0x4afab4(0x2be)]),emit(_0x4afab4(0x1e6),statusPayload()),probeOne(_0x120e9b[_0x4afab4(0x2be)]['id'])[_0x4afab4(0x1f5)](()=>{});}}),app['get'](_0x4c0f89(0x2df)+_0x4c0f89(0x1e5),(_0x5e1847,_0x51ac20)=>{const _0x47f747=_0x4c0f89;_0x51ac20[_0x47f747(0x27c)+_0x47f747(0x282)](_0x47f747(0x2c4)+'t-Type','text/e'+_0x47f747(0x26e)+_0x47f747(0x233)),_0x51ac20[_0x47f747(0x27c)+'der'](_0x47f747(0x220)+_0x47f747(0x299)+'l','no-cac'+'he'),_0x51ac20['setHea'+'der'](_0x47f747(0x2ed)+_0x47f747(0x294),_0x47f747(0x1d7)+'live'),_0x51ac20[_0x47f747(0x27b)+_0x47f747(0x27f)](),sseClients[_0x47f747(0x2a7)](_0x51ac20),_0x51ac20[_0x47f747(0x1de)](_0x47f747(0x20b)+'\x20statu'+'s\x0adata'+':\x20'+JSON[_0x47f747(0x1ba)+_0x47f747(0x2a6)](statusPayload())+'\x0a\x0a'),_0x5e1847['on'](_0x47f747(0x2dc),()=>sseClients[_0x47f747(0x2aa)](_0x51ac20));}),app[_0x4c0f89(0x219)](_0x4c0f89(0x26c)+_0x4c0f89(0x292)+'r',async(_0x34257f,_0x281077)=>{const _0x51e7e2=_0x4c0f89;try{const _0x35b117=await discoverMossDevices({'lastHostname':config[_0x51e7e2(0x209)+_0x51e7e2(0x1eb)],'lastBaseUrl':config['device'+'BaseUr'+'l']});_0x281077[_0x51e7e2(0x1b6)]({'devices':_0x35b117});}catch(_0x5425bc){_0x281077[_0x51e7e2(0x1e6)](0x1f4)['json']({'message':_0x5425bc[_0x51e7e2(0x2b3)+'e']||_0x51e7e2(0x23f)+'败'});}}),app['post']('/api/d'+_0x4c0f89(0x230)+'select',async(_0x46c0b4,_0x5ce19d)=>{const _0xc0645e=_0x4c0f89,_0x1526c1=String(_0x46c0b4[_0xc0645e(0x1cd)]?.[_0xc0645e(0x2de)+'l']||'')[_0xc0645e(0x258)+'e'](/\/$/,'');if(!_0x1526c1)return _0x5ce19d[_0xc0645e(0x1e6)](0x190)[_0xc0645e(0x1b6)]({'message':'请填写\x20MO'+_0xc0645e(0x2ea)});const _0x5b018e=config[_0xc0645e(0x2be)+_0xc0645e(0x28c)+'l'];config[_0xc0645e(0x2be)+_0xc0645e(0x28c)+'l']=_0x1526c1;try{const _0x161d98=await deviceFetch(_0xc0645e(0x1c5)+'h',{'baseUrl':_0x1526c1});_0x161d98[_0xc0645e(0x1db)+'me']&&(config['lastHo'+_0xc0645e(0x1eb)]=_0x161d98[_0xc0645e(0x1db)+'me']),applyDeviceHealthTo(config,_0x161d98),saveConfig(config),_0x5ce19d[_0xc0645e(0x1b6)]({'ok':!![],'health':_0x161d98});}catch(_0x2e411d){config[_0xc0645e(0x2be)+_0xc0645e(0x28c)+'l']=_0x5b018e,_0x5ce19d[_0xc0645e(0x1e6)](0x190)[_0xc0645e(0x1b6)]({'message':_0xc0645e(0x2c3)+_0xc0645e(0x25c)+_0xc0645e(0x2ad)+_0xc0645e(0x2ef)+_0xc0645e(0x1bb)+_0xc0645e(0x1d8)+'P。','detail':_0x2e411d['messag'+'e']});}}),app[_0x4c0f89(0x216)](_0x4c0f89(0x26c)+_0x4c0f89(0x230)+_0x4c0f89(0x228),async(_0x404dd2,_0x93c504)=>{const _0x368d30=_0x4c0f89;try{const _0x4752fe=await deviceFetch(_0x368d30(0x1c5)+'h');applyDeviceHealth(_0x4752fe,{'id':focusedRecord()?.['id']||config[_0x368d30(0x276)+_0x368d30(0x290)+'Id'],'clientId':focusedRecord()?.[_0x368d30(0x1d1)+'Id']}),saveConfig(config),_0x93c504[_0x368d30(0x1b6)](_0x4752fe);}catch(_0x539845){_0x93c504[_0x368d30(0x1e6)](0x190)['json']({'message':_0x539845[_0x368d30(0x2b3)+'e']});}}),app[_0x4c0f89(0x219)](_0x4c0f89(0x25d)+_0x4c0f89(0x1d9)+'n',async(_0x4001cb,_0x1dcc30)=>{const _0x26071f=_0x4c0f89,_0x46777b=String(_0x4001cb[_0x26071f(0x1cd)]?.[_0x26071f(0x2de)+'l']||config[_0x26071f(0x2be)+_0x26071f(0x28c)+'l']||'')[_0x26071f(0x258)+'e'](/\/$/,''),_0x231338=String(_0x4001cb[_0x26071f(0x1cd)]?.[_0x26071f(0x272)+_0x26071f(0x2ae)]||_0x4001cb[_0x26071f(0x1cd)]?.[_0x26071f(0x272)+'y_name']||'')['trim']();if(!_0x46777b)return _0x1dcc30[_0x26071f(0x1e6)](0x190)[_0x26071f(0x1b6)]({'message':'请先连接设备'});try{const _0x69e335=await deviceFetch('/healt'+'h',{'baseUrl':_0x46777b,'timeoutMs':0xbb8,'kind':_0x26071f(0x228)}),_0x118a14=resolveUpsertId(config,{'mac':_0x69e335[_0x26071f(0x20a)],'clientId':_0x69e335[_0x26071f(0x1d1)+_0x26071f(0x23e)],'id':config[_0x26071f(0x276)+_0x26071f(0x290)+'Id']}),_0x4b6931=upsertDevice(config,{'id':_0x118a14,'mac':normalizeMac(_0x69e335[_0x26071f(0x20a)])||undefined,'clientId':_0x69e335[_0x26071f(0x1d1)+_0x26071f(0x23e)],'displayName':_0x231338||(_0x69e335[_0x26071f(0x272)+_0x26071f(0x1bf)]&&!isBoardLabel(_0x69e335['displa'+'y_name'])?_0x69e335[_0x26071f(0x272)+_0x26071f(0x1bf)]:undefined),'board':_0x69e335[_0x26071f(0x222)]||_0x69e335['name'],'product':_0x69e335[_0x26071f(0x1fe)+'t'],'hostname':_0x69e335[_0x26071f(0x1db)+'me'],'baseUrl':_0x46777b,'ip':_0x69e335['ip'],'lastSeen':Date['now']()});config[_0x26071f(0x2be)+'BaseUr'+'l']=_0x46777b;if(_0x69e335['hostna'+'me'])config[_0x26071f(0x209)+_0x26071f(0x1eb)]=_0x69e335[_0x26071f(0x1db)+'me'];config['bound']=!![],config[_0x26071f(0x276)+_0x26071f(0x290)+'Id']=_0x4b6931['id'],saveConfig(config),emit(_0x26071f(0x1e6),statusPayload()),_0x1dcc30[_0x26071f(0x1b6)]({'ok':!![],'mossOnline':!![],'device':_0x4b6931});}catch(_0x1fd5d0){_0x1dcc30[_0x26071f(0x1e6)](0x190)[_0x26071f(0x1b6)]({'message':_0x26071f(0x27a)+_0x26071f(0x1c6)+_0x26071f(0x2af)+_0x26071f(0x25e)+_0x26071f(0x22d),'detail':_0x1fd5d0[_0x26071f(0x2b3)+'e']});}}),app['post'](_0x4c0f89(0x1c3)+_0x4c0f89(0x1b4)+'ke',async(_0x4bdfe0,_0x33be88)=>{const _0x1a5cfb=_0x4c0f89,_0x23087f=focusedRecord()?.['id']||config[_0x1a5cfb(0x276)+'Device'+'Id'],_0x57b2d1=runtime['of'](_0x23087f);try{requireDeviceOnline();if(_0x57b2d1['voice']===_0x1a5cfb(0x22c)+_0x1a5cfb(0x1be)||_0x57b2d1[_0x1a5cfb(0x251)]===_0x1a5cfb(0x1cb)+_0x1a5cfb(0x1be))throw new Error(_0x57b2d1[_0x1a5cfb(0x251)]===_0x1a5cfb(0x1cb)+_0x1a5cfb(0x1be)?'MOSS\x20忙'+'碌(升级/激'+_0x1a5cfb(0x1f7)+_0x1a5cfb(0x267)+'链路':_0x1a5cfb(0x2bd)+_0x1a5cfb(0x2d9)+_0x1a5cfb(0x1b7)+'试');if(_0x57b2d1[_0x1a5cfb(0x1ca)+_0x1a5cfb(0x26b)])throw new Error(_0x1a5cfb(0x1f3)+_0x1a5cfb(0x1d0)+_0x1a5cfb(0x2b9));if(Date['now']()-_0x57b2d1[_0x1a5cfb(0x218)]<0x9c4)throw new Error('唤醒操作过于'+_0x1a5cfb(0x246)+'再试');_0x57b2d1[_0x1a5cfb(0x1ca)+_0x1a5cfb(0x26b)]=!![],_0x57b2d1[_0x1a5cfb(0x218)]=Date[_0x1a5cfb(0x1bc)]();const _0x8688c7=await deviceFetch(_0x1a5cfb(0x1e1)+_0x1a5cfb(0x2e5),{'method':_0x1a5cfb(0x2ce),'body':'{}','kind':_0x1a5cfb(0x283),'timeoutMs':0xfa0}),_0x36d25a=voiceFromWakeAck(_0x8688c7);if(_0x36d25a[_0x1a5cfb(0x2c0)]){if(_0x36d25a[_0x1a5cfb(0x2c0)]===_0x1a5cfb(0x22c)+_0x1a5cfb(0x1be))throw new Error('MOSS\x20正'+_0x1a5cfb(0x2d9)+_0x1a5cfb(0x1b7)+'试');if(_0x36d25a[_0x1a5cfb(0x2c0)]===_0x1a5cfb(0x2c6))throw new Error(_0x1a5cfb(0x224)+_0x1a5cfb(0x1ec)+_0x1a5cfb(0x1f7)+_0x1a5cfb(0x267)+'链路');throw new Error(_0x36d25a[_0x1a5cfb(0x2c0)]||_0x1a5cfb(0x2a2)+_0x1a5cfb(0x2cc));}applyVoice(_0x23087f,_0x36d25a[_0x1a5cfb(0x251)]),syncChatNow(_0x23087f)[_0x1a5cfb(0x1f5)](()=>{}),scheduleChatSync(_0x23087f),_0x33be88[_0x1a5cfb(0x1b6)]({'ok':!![],'payload':_0x8688c7});}catch(_0x20e0aa){_0x33be88['status'](0x190)['json']({'message':_0x20e0aa[_0x1a5cfb(0x2b3)+'e']});}finally{_0x57b2d1[_0x1a5cfb(0x1ca)+_0x1a5cfb(0x26b)]=![];}}),app[_0x4c0f89(0x219)]('/api/h'+'w',async(_0xbf4bbb,_0x3e7923)=>{const _0x3ad8f0=_0x4c0f89;try{requireDeviceOnline();const _0x47258f=String(_0xbf4bbb[_0x3ad8f0(0x1cd)]?.[_0x3ad8f0(0x2be)]||'')[_0x3ad8f0(0x2eb)](),_0x257075=String(_0xbf4bbb['body']?.[_0x3ad8f0(0x1b5)]||'')['trim']();if(!_0x47258f||!_0x257075)throw new Error(_0x3ad8f0(0x2bc)+'作');const _0x45eed1={'device':_0x47258f,'action':_0x257075};if(_0xbf4bbb[_0x3ad8f0(0x1cd)]?.['speed']!=null)_0x45eed1[_0x3ad8f0(0x23a)]=Number(_0xbf4bbb[_0x3ad8f0(0x1cd)][_0x3ad8f0(0x23a)]);const _0x1617c6=await deviceFetch('/hw',{'method':'POST','body':JSON[_0x3ad8f0(0x1ba)+_0x3ad8f0(0x2a6)](_0x45eed1),'timeoutMs':0xfa0});emit(_0x3ad8f0(0x2a1),{'type':_0x3ad8f0(0x1dd)+'te','payload':_0x1617c6,'deviceId':focusedRecord()?.['id']||config['active'+'Device'+'Id']}),_0x3e7923[_0x3ad8f0(0x1b6)]({'ok':!![],..._0x1617c6});}catch(_0x5961ac){_0x3e7923[_0x3ad8f0(0x1e6)](0x190)[_0x3ad8f0(0x1b6)]({'message':_0x5961ac[_0x3ad8f0(0x2b3)+'e']});}}),app['post'](_0x4c0f89(0x1d3)+_0x4c0f89(0x2f1)+'us',async(_0x4a3352,_0x10f11f)=>{const _0x420330=_0x4c0f89;try{requireDeviceOnline();const _0xd38e0a=await deviceFetch(_0x420330(0x297),{'timeoutMs':0xfa0});emit(_0x420330(0x2a1),{'type':_0x420330(0x1dd)+'te','payload':_0xd38e0a,'deviceId':focusedRecord()?.['id']||config['active'+'Device'+'Id']}),_0x10f11f[_0x420330(0x1b6)]({'ok':!![],..._0xd38e0a});}catch(_0x289721){_0x10f11f['status'](0x190)[_0x420330(0x1b6)]({'message':_0x289721[_0x420330(0x2b3)+'e']});}});async function fetchDeviceConfig(){const _0x37a28b=_0x4c0f89,_0x3a5e9a=await deviceFetch(_0x37a28b(0x2a9)+_0x37a28b(0x280)+'ce');return{'ok':!![],..._0x3a5e9a};}async function saveDeviceConfig(_0x8bb8ee){const _0x284d61=_0x4c0f89;return deviceFetch(_0x284d61(0x2a9)+_0x284d61(0x280)+'ce',{'method':_0x284d61(0x23d),'body':JSON[_0x284d61(0x1ba)+_0x284d61(0x2a6)](_0x8bb8ee)});}app[_0x4c0f89(0x216)](_0x4c0f89(0x26c)+_0x4c0f89(0x230)+_0x4c0f89(0x2c8),withActiveDevice(()=>config),async(_0x3ed4f6,_0x31270a)=>{const _0x1238ad=_0x4c0f89;try{_0x31270a[_0x1238ad(0x1b6)](await fetchDeviceConfig());}catch(_0x47daa6){_0x31270a[_0x1238ad(0x1e6)](0x190)[_0x1238ad(0x1b6)]({'message':_0x47daa6[_0x1238ad(0x2b3)+'e']});}}),app[_0x4c0f89(0x202)](_0x4c0f89(0x26c)+_0x4c0f89(0x230)+_0x4c0f89(0x2c8),withActiveDevice(()=>config),async(_0x40f02b,_0x4ce9da)=>{const _0x456ffd=_0x4c0f89;try{_0x4ce9da[_0x456ffd(0x1b6)](await saveDeviceConfig(_0x40f02b[_0x456ffd(0x1cd)]||{}));}catch(_0x346b2b){_0x4ce9da[_0x456ffd(0x1e6)](0x190)['json']({'message':_0x346b2b[_0x456ffd(0x2b3)+'e']});}}),app[_0x4c0f89(0x216)](_0x4c0f89(0x237)+_0x4c0f89(0x2e2)+'ces',async(_0x294523,_0x267b00)=>{const _0x2f0cf1=_0x4c0f89;try{_0x267b00[_0x2f0cf1(0x1b6)](await deviceFetch(_0x2f0cf1(0x1f8)+_0x2f0cf1(0x1c1)));}catch(_0x4ecc0a){_0x267b00['status'](0x190)['json']({'message':_0x4ecc0a[_0x2f0cf1(0x2b3)+'e']});}}),app[_0x4c0f89(0x202)](_0x4c0f89(0x237)+_0x4c0f89(0x2e2)+'ce',async(_0x267c69,_0x530142)=>{const _0x5995ac=_0x4c0f89;try{const _0x5ca6cd=requireDevicePut(_0x267c69[_0x5995ac(0x1cd)]);_0x530142[_0x5995ac(0x1b6)](await deviceFetch(_0x5995ac(0x1f8)+_0x5995ac(0x2db),{'method':_0x5995ac(0x23d),'body':JSON['string'+'ify'](_0x5ca6cd)}));}catch(_0x24c75d){_0x530142[_0x5995ac(0x1e6)](0x190)[_0x5995ac(0x1b6)]({'message':_0x24c75d[_0x5995ac(0x2b3)+'e']});}}),app['post'](_0x4c0f89(0x237)+_0x4c0f89(0x2e2)+_0x4c0f89(0x1ff)+_0x4c0f89(0x21f),async(_0x192112,_0x278a1d)=>{const _0x508ce5=_0x4c0f89;try{const _0x180292=asObject(_0x192112['body']);if(!validId(String(_0x180292['id']||'')))throw new Error(_0x508ce5(0x1c9)+'电器');_0x278a1d[_0x508ce5(0x1b6)](await deviceFetch(_0x508ce5(0x1f8)+_0x508ce5(0x2d4)+_0x508ce5(0x2d0),{'method':_0x508ce5(0x2ce),'body':JSON['string'+_0x508ce5(0x2a6)]({'id':_0x180292['id']})}));}catch(_0x2f0506){_0x278a1d[_0x508ce5(0x1e6)](0x190)[_0x508ce5(0x1b6)]({'message':_0x2f0506['messag'+'e']});}}),app[_0x4c0f89(0x202)]('/api/i'+_0x4c0f89(0x205)+_0x4c0f89(0x28f),async(_0x31c58a,_0x3e62fe)=>{const _0xa661d3=_0x4c0f89;try{const _0x501727=requireCommandPut(_0x31c58a[_0xa661d3(0x1cd)]);_0x3e62fe[_0xa661d3(0x1b6)](await deviceFetch(_0xa661d3(0x271)+_0xa661d3(0x29c),{'method':'PUT','body':JSON[_0xa661d3(0x1ba)+'ify'](_0x501727)}));}catch(_0x2283cb){_0x3e62fe['status'](0x190)[_0xa661d3(0x1b6)]({'message':_0x2283cb[_0xa661d3(0x2b3)+'e']});}}),app[_0x4c0f89(0x219)](_0x4c0f89(0x237)+_0x4c0f89(0x205)+'and/de'+_0x4c0f89(0x225),async(_0x3f5036,_0x1453e2)=>{const _0x2b5411=_0x4c0f89;try{const _0x17cc57=requireCommandDelete(_0x3f5036['body']);_0x1453e2[_0x2b5411(0x1b6)](await deviceFetch(_0x2b5411(0x271)+_0x2b5411(0x2ac)+'delete',{'method':_0x2b5411(0x2ce),'body':JSON[_0x2b5411(0x1ba)+_0x2b5411(0x2a6)](_0x17cc57)}));}catch(_0x23687d){_0x1453e2[_0x2b5411(0x1e6)](0x190)[_0x2b5411(0x1b6)]({'message':_0x23687d[_0x2b5411(0x2b3)+'e']});}}),app['post'](_0x4c0f89(0x237)+'r/lear'+'n',async(_0x51a64b,_0x225a18)=>{const _0x4ecc2d=_0x4c0f89;try{_0x225a18[_0x4ecc2d(0x1b6)](await deviceFetch(_0x4ecc2d(0x1d4)+_0x4ecc2d(0x289),{'method':'POST','body':'{}'}));}catch(_0x2529fb){_0x225a18[_0x4ecc2d(0x1e6)](0x190)['json']({'message':_0x2529fb[_0x4ecc2d(0x2b3)+'e']});}}),app[_0x4c0f89(0x216)]('/api/i'+_0x4c0f89(0x2d3)+'ned',async(_0x1adfc5,_0xd0a363)=>{const _0x3fe0de=_0x4c0f89;try{const _0x3e3b45=Date[_0x3fe0de(0x1bc)]();while(Date['now']()-_0x3e3b45<0x3a98){const _0x129c4b=await deviceFetch(_0x3fe0de(0x2cd)+'ad');if(_0x129c4b[_0x3fe0de(0x1ef)+'a'])return _0xd0a363[_0x3fe0de(0x1b6)](_0x129c4b);await new Promise(_0x19a39d=>setTimeout(_0x19a39d,0x320));}_0xd0a363[_0x3fe0de(0x1b6)]({'ir_data':'','count':0x0});}catch(_0xe9a896){_0xd0a363[_0x3fe0de(0x1e6)](0x190)['json']({'message':_0xe9a896[_0x3fe0de(0x2b3)+'e']});}});function asObject(_0x52fcd3){const _0x513ce5=_0x4c0f89;if(!_0x52fcd3)return{};if(typeof _0x52fcd3===_0x513ce5(0x1ba))try{return JSON[_0x513ce5(0x257)](_0x52fcd3);}catch{return{};}return typeof _0x52fcd3===_0x513ce5(0x2ec)?_0x52fcd3:{};}function irTestPayload(_0x593329){const _0x13c6db=_0x4c0f89,_0x5b321c=asObject(_0x593329),_0x3a1140=typeof _0x5b321c[_0x13c6db(0x1c7)]===_0x13c6db(0x1ba)?_0x5b321c[_0x13c6db(0x1c7)][_0x13c6db(0x2eb)]():'',_0xdc7240=String(_0x5b321c[_0x13c6db(0x2be)+_0x13c6db(0x23e)]||_0x5b321c[_0x13c6db(0x2be)+'Id']||'')[_0x13c6db(0x2eb)](),_0x256d24=String(_0x5b321c['id']||_0x5b321c[_0x13c6db(0x2a5)+_0x13c6db(0x2f0)]||_0x5b321c['comman'+_0x13c6db(0x1f0)]||'')[_0x13c6db(0x2eb)](),_0x37ffe0={};if(_0x3a1140)_0x37ffe0[_0x13c6db(0x1c7)]=_0x3a1140;if(_0xdc7240)_0x37ffe0[_0x13c6db(0x2be)+_0x13c6db(0x23e)]=_0xdc7240;if(_0x256d24)_0x37ffe0['id']=_0x256d24;return _0x37ffe0;}function validId(_0xbb5f99){const _0x1acccf=_0x4c0f89;return typeof _0xbb5f99===_0x1acccf(0x1ba)&&_0xbb5f99[_0x1acccf(0x25f)]>0x0&&_0xbb5f99[_0x1acccf(0x25f)]<=0x20&&/^[A-Za-z0-9_-]+$/[_0x1acccf(0x232)](_0xbb5f99);}function validName(_0x4ff38f){const _0x54691b=_0x4c0f89;return typeof _0x4ff38f===_0x54691b(0x1ba)&&_0x4ff38f[_0x54691b(0x2eb)]()[_0x54691b(0x25f)]>0x0&&_0x4ff38f[_0x54691b(0x25f)]<=0x40;}function validType(_0x162b99){const _0x5de676=_0x4c0f89;return[_0x5de676(0x240),'ac','tv',_0x5de676(0x242)]['includ'+'es'](_0x162b99);}function validCode(_0x49f9d7){const _0x23b09a=_0x4c0f89;if(!_0x49f9d7)return!![];if(typeof _0x49f9d7!==_0x23b09a(0x1ba)||_0x49f9d7['length']>0x1000)return![];const _0x440b24=_0x49f9d7[_0x23b09a(0x258)+'e'](/^zf=/i,'')['replac'+'e'](/[\r\n]/g,'')[_0x23b09a(0x2eb)]();if(_0x440b24[_0x23b09a(0x244)+_0x23b09a(0x20d)]('xx'))return _0x440b24[_0x23b09a(0x25f)]<=0x8;return/^-?\d+(,-?\d+)*(,len=\d+)?$/[_0x23b09a(0x232)](_0x440b24);}function requireDevicePut(_0x9d1f71){const _0x19923e=_0x4c0f89,_0x259dd5=asObject(_0x9d1f71),_0x16e377=String(_0x259dd5['id']||'')['trim'](),_0x4dbfc9=String(_0x259dd5[_0x19923e(0x284)]||'')[_0x19923e(0x2eb)](),_0x4120ce=String(_0x259dd5[_0x19923e(0x264)]||'custom')[_0x19923e(0x2eb)]()||_0x19923e(0x242);if(!validId(_0x16e377)||!validName(_0x4dbfc9))throw new Error(_0x19923e(0x285)+_0x19923e(0x213));if(!validType(_0x4120ce))throw new Error(_0x19923e(0x239)+'法');return{'id':_0x16e377,'name':_0x4dbfc9,'type':_0x4120ce};}function requireCommandPut(_0x185f38){const _0x5054eb=_0x4c0f89,_0x3357e6=asObject(_0x185f38),_0x181fda=String(_0x3357e6['device'+_0x5054eb(0x23e)]||'')[_0x5054eb(0x2eb)](),_0xd8cdba=String(_0x3357e6['id']||'')[_0x5054eb(0x2eb)](),_0x59d6bf=_0x3357e6['name']==null?'':String(_0x3357e6[_0x5054eb(0x284)])[_0x5054eb(0x2eb)](),_0x2242a8=_0x3357e6[_0x5054eb(0x1c7)]==null?'':String(_0x3357e6[_0x5054eb(0x1c7)]);if(!validId(_0x181fda)||!validId(_0xd8cdba))throw new Error('电器或按键\x20'+_0x5054eb(0x1cf));if(_0x59d6bf&&!validName(_0x59d6bf))throw new Error(_0x5054eb(0x2da)+'法');if(!validCode(_0x2242a8))throw new Error('红外码格式不'+'合法');return{'device_id':_0x181fda,'id':_0xd8cdba,'name':_0x59d6bf,'code':_0x2242a8};}function requireCommandDelete(_0x243e2e){const _0x293bf8=_0x4c0f89,_0x1d4ddb=asObject(_0x243e2e),_0x208874=String(_0x1d4ddb[_0x293bf8(0x2be)+'_id']||'')['trim'](),_0x33e8df=String(_0x1d4ddb['id']||'')['trim']();if(!validId(_0x208874)||!validId(_0x33e8df))throw new Error('缺少要删除的'+'电器或按键');return{'device_id':_0x208874,'id':_0x33e8df};}app[_0x4c0f89(0x216)](_0x4c0f89(0x237)+_0x4c0f89(0x2cb)+'rt',async(_0x6bc190,_0x5c5104)=>{const _0x58093c=_0x4c0f89;try{const _0x1d3ded=await deviceFetch(_0x58093c(0x203)+_0x58093c(0x2b7));_0x5c5104[_0x58093c(0x1b6)]({'version':0x1,'exportedAt':new Date()[_0x58093c(0x21a)+'tring'](),'devices':_0x1d3ded[_0x58093c(0x2be)+'s']||[]});}catch(_0x382d45){_0x5c5104[_0x58093c(0x1e6)](0x190)[_0x58093c(0x1b6)]({'message':_0x382d45[_0x58093c(0x2b3)+'e']});}}),app[_0x4c0f89(0x219)]('/api/i'+_0x4c0f89(0x29e)+'rt',async(_0x41aeeb,_0x38d574)=>{const _0x20e33d=_0x4c0f89;try{const _0x3f2eaa=validateIrImportPayload(_0x41aeeb[_0x20e33d(0x1cd)]);_0x38d574[_0x20e33d(0x1b6)](await deviceFetch(_0x20e33d(0x28e)+_0x20e33d(0x2b7),{'method':_0x20e33d(0x2ce),'body':JSON[_0x20e33d(0x1ba)+_0x20e33d(0x2a6)](_0x3f2eaa)}));}catch(_0x9d3272){_0x38d574['status'](0x190)[_0x20e33d(0x1b6)]({'message':_0x9d3272[_0x20e33d(0x2b3)+'e']});}}),app[_0x4c0f89(0x219)](_0x4c0f89(0x237)+'r/test',async(_0x11dae1,_0xef9861)=>{const _0x25d133=_0x4c0f89;try{const _0x200d20=irTestPayload(_0x11dae1[_0x25d133(0x1cd)]);console[_0x25d133(0x1dc)](_0x25d133(0x2c7)+'st]\x20bo'+_0x25d133(0x20e),_0x11dae1[_0x25d133(0x1cd)],_0x25d133(0x1ce)+'d=',_0x200d20);if(!_0x200d20[_0x25d133(0x1c7)]&&(!_0x200d20[_0x25d133(0x2be)+'_id']||!_0x200d20['id']))throw new Error(_0x25d133(0x20c)+'按键');_0xef9861['json'](await deviceFetch(_0x25d133(0x295)+'st',{'method':_0x25d133(0x2ce),'body':JSON[_0x25d133(0x1ba)+_0x25d133(0x2a6)](_0x200d20)}));}catch(_0x3fe32d){_0xef9861['status'](0x190)[_0x25d133(0x1b6)]({'message':_0x3fe32d[_0x25d133(0x2b3)+'e']});}}),registerCameraRoutes(app,{'getConfig':()=>{return new Proxy(config,{'get'(_0x51354c,_0x4da5e9){const _0x3cb28d=_0x12ea,_0x7bcb23=getRequestDevice()?.['id']||_0x51354c[_0x3cb28d(0x276)+_0x3cb28d(0x290)+'Id'];if(_0x4da5e9===_0x3cb28d(0x2bb))return _0x7bcb23?_0x51354c[_0x3cb28d(0x2be)+'s']?.[_0x7bcb23]?.[_0x3cb28d(0x2bb)]:_0x51354c[_0x3cb28d(0x2bb)];return _0x51354c[_0x4da5e9];},'set'(_0x15032d,_0x10d09b,_0x5b48c5){const _0x4d374e=_0x12ea,_0x1cd99b=getRequestDevice()?.['id']||_0x15032d['active'+_0x4d374e(0x290)+'Id'];if(_0x10d09b==='camera'&&_0x1cd99b)return setCamera(_0x15032d,_0x1cd99b,_0x5b48c5),!![];return _0x15032d[_0x10d09b]=_0x5b48c5,!![];}});},'saveConfig':()=>saveConfig(config)}),setCameraHooks({'getDeviceBaseUrl':()=>getRequestDevice()?.[_0x4c0f89(0x2de)+'l']||focusedRecord()?.[_0x4c0f89(0x2de)+'l']||config[_0x4c0f89(0x2be)+'BaseUr'+'l'],'getDeviceCaps':()=>currentCaps(),'publishGimbal':async _0x370192=>{const _0x334f4f=_0x4c0f89;requireDeviceOnline();const _0x3cbfee=_0x370192?.[_0x334f4f(0x1b5)]===_0x334f4f(0x25a)?_0x334f4f(0x25a):_0x334f4f(0x2c9),_0x19d590=await deviceFetch(_0x334f4f(0x252)+_0x334f4f(0x1da)+_0x334f4f(0x2ca),{'method':_0x334f4f(0x2ce),'body':JSON[_0x334f4f(0x1ba)+_0x334f4f(0x2a6)](_0x370192||{}),'kind':_0x3cbfee,'timeoutMs':0x1f4});if(_0x19d590['ok']===![])throw new Error(_0x19d590[_0x334f4f(0x2b3)+'e']||_0x334f4f(0x22f));return _0x19d590;}});async function publishAnnounce(_0x189489){const _0x329eb0=_0x4c0f89;if(!currentMossOnline())return![];const _0x1404e6=typeof _0x189489===_0x329eb0(0x1ba)?_0x189489:_0x189489?.[_0x329eb0(0x214)],_0x2ca660=typeof _0x189489===_0x329eb0(0x1ba)?'':_0x189489?.['announ'+'ce'];try{return await publishWakeAndText(_0x1404e6,_0x2ca660),applyVoice(focusedRecord()?.['id']||config[_0x329eb0(0x276)+'Device'+'Id'],_0x329eb0(0x22c)+'ting'),!![];}catch(_0x1ac069){return console[_0x329eb0(0x259)]('[yunxi'+_0x329eb0(0x217)+_0x329eb0(0x278)+_0x329eb0(0x2c5)+'il',_0x1ac069[_0x329eb0(0x2b3)+'e']),![];}}registerMcpRoutes(app,{'getConfig':()=>config,'emit':emit,'publishWakeAndText':_0x26e9da=>{const _0x21dfed=_0x4c0f89;if(!currentMossOnline())return![];return publishWakeAndText(_0x26e9da)[_0x21dfed(0x1f5)](_0x21a781=>console[_0x21dfed(0x259)](_0x21dfed(0x25b)+_0x21dfed(0x2e5),_0x21a781[_0x21dfed(0x2b3)+'e'])),!![];},'publishAnnounce':publishAnnounce,'isAnnounceReady':()=>currentMossOnline(),'isWakeOnTaskCompleteEnabled':()=>loadMcpSettings()[_0x4c0f89(0x2bf)+_0x4c0f89(0x293)+'mplete']===!![],'syncYunxiangjiInbox':()=>scheduleYunxiangjiInboxPush()});function shouldServeUi(){const _0x3c3a48=_0x4c0f89;return process[_0x3c3a48(0x2b5)][_0x3c3a48(0x2b1)+'NV']===_0x3c3a48(0x1fe)+_0x3c3a48(0x294)||process[_0x3c3a48(0x2b5)]['MOSS_O'+'PEN_BR'+_0x3c3a48(0x29b)]==='1';}function openBrowser(_0x402159){const _0x4881f3=_0x4c0f89;try{if(process[_0x4881f3(0x24c)+'rm']===_0x4881f3(0x29f))execFile(_0x4881f3(0x29a),[_0x402159]);else{if(process[_0x4881f3(0x24c)+'rm']===_0x4881f3(0x27d))execFile(_0x4881f3(0x298),['/c',_0x4881f3(0x204),'',_0x402159]);else execFile(_0x4881f3(0x2e1)+'en',[_0x402159]);}}catch(_0x18636e){console[_0x4881f3(0x259)]('无法自动打开'+_0x4881f3(0x1fa),_0x18636e[_0x4881f3(0x2b3)+'e']);}}function serveProductionUi(){const _0x295ae6=_0x4c0f89,_0x327ac0=_0x19e5e3[_0x295ae6(0x279)](DIST_DIR,'index.'+_0x295ae6(0x236));if(_0x272431['exists'+_0x295ae6(0x21c)](_0x327ac0))return registerMediaRoutes(app,DIST_DIR),app[_0x295ae6(0x2a3)](_0x48fa5d[_0x295ae6(0x26d)](DIST_DIR)),app[_0x295ae6(0x2a3)]((_0x20a66f,_0x354886,_0x3e8f9a)=>{const _0x4d6885=_0x295ae6;if(_0x20a66f[_0x4d6885(0x234)]!==_0x4d6885(0x2b0)&&_0x20a66f[_0x4d6885(0x234)]!==_0x4d6885(0x208))return _0x3e8f9a();if(_0x20a66f[_0x4d6885(0x201)][_0x4d6885(0x244)+'With']('/api'))return _0x3e8f9a();_0x354886[_0x4d6885(0x2e6)+'le'](_0x327ac0);}),!![];return console['warn'](_0x295ae6(0x1e4)+_0x295ae6(0x22b)+'构建'),![];}shouldServeUi()&&!shouldAttachDevUi()&&serveProductionUi();let httpServer=null,viteDev=null,shuttingDown=![];function shutdown(){const _0x33695a=_0x4c0f89;if(shuttingDown)return;shuttingDown=!![];try{disconnectCamera();}catch{}clearListenRuntime();const _0xe4e301=()=>{const _0x3f95c9=_0x12ea;if(!httpServer){process['exit'](0x0);return;}httpServer[_0x3f95c9(0x2dc)](()=>process[_0x3f95c9(0x277)](0x0)),setTimeout(()=>process['exit'](0x0),0x320)[_0x3f95c9(0x263)]();};if(!viteDev){_0xe4e301();return;}viteDev[_0x33695a(0x2dc)]()[_0x33695a(0x215)](_0xe4e301,_0xe4e301);}function createHttpServer(){const _0x82a641=_0x4c0f89,_0x463534=_0x4e3a0c[_0x82a641(0x241)+'Server'](app);return _0x463534['timeou'+'t']=0x0,_0x463534['keepAl'+'iveTim'+_0x82a641(0x1c8)]=0x0,_0x463534['header'+'sTimeo'+'ut']=0x0,_0x463534[_0x82a641(0x28d)+_0x82a641(0x20f)+'ut']=0x0,_0x463534;}function attachServer(_0x5bba4e,_0x299c66){const _0x1ff5e1=_0x4c0f89;httpServer=_0x5bba4e,writeRuntime(_0x299c66),process[_0x1ff5e1(0x2b5)][_0x1ff5e1(0x223)]=String(_0x299c66),process[_0x1ff5e1(0x2b5)][_0x1ff5e1(0x21b)+'PI_POR'+'T']=String(_0x299c66);const _0x75741e=_0x1ff5e1(0x24b)+_0x1ff5e1(0x1b8)+_0x1ff5e1(0x2b4)+_0x299c66,_0x23dfad=process['env'][_0x1ff5e1(0x256)+'ERSION']?'\x20v'+process[_0x1ff5e1(0x2b5)]['MOSS_V'+_0x1ff5e1(0x21d)]:'';console[_0x1ff5e1(0x1dc)](_0x1ff5e1(0x1f6)+'s-ai'+_0x23dfad+'\x20\x20'+_0x75741e),viteDev&&console[_0x1ff5e1(0x1dc)](_0x1ff5e1(0x24f)+'r]\x20页面与'+_0x1ff5e1(0x1ee)+_0x1ff5e1(0x1f4)+_0x1ff5e1(0x24d)),_0x299c66!==PORT&&console[_0x1ff5e1(0x1dc)](_0x1ff5e1(0x24f)+_0x1ff5e1(0x2ab)+PORT+(_0x1ff5e1(0x2b8)+_0x1ff5e1(0x265)+_0x1ff5e1(0x1cc))+_0x299c66+'。'),process[_0x1ff5e1(0x2b5)][_0x1ff5e1(0x235)+'PEN_BR'+'OWSER']==='1'&&openBrowser(_0x75741e),prefetchFfmpeg(),initBridgeWebSocket(),startPresenceWatch();}function listenOn(_0xaf19a3,_0x574e53){return new Promise((_0xabccf8,_0x224145)=>{const _0xe6ac4=_0x12ea,_0x4b2006=_0x366f89=>{const _0x1363c0=_0x12ea;_0xaf19a3[_0x1363c0(0x1f1)](_0x1363c0(0x1e9)+'ing',_0x84a497),_0x224145(_0x366f89);},_0x84a497=()=>{const _0x20f63c=_0x12ea;_0xaf19a3['off'](_0x20f63c(0x2c0),_0x4b2006),_0xabccf8(_0xaf19a3);};_0xaf19a3[_0xe6ac4(0x1ed)](_0xe6ac4(0x2c0),_0x4b2006),_0xaf19a3[_0xe6ac4(0x1ed)](_0xe6ac4(0x1e9)+_0xe6ac4(0x281),_0x84a497),_0xaf19a3['listen'](_0x574e53);});}async function listenPreferred(_0x5b983b){const _0x3af725=_0x4c0f89,_0x381b10=await reclaimListenPort({'preferredPort':_0x5b983b,'runtimePath':RUNTIME_PATH});_0x381b10[_0x3af725(0x238)]&&console[_0x3af725(0x1dc)](_0x3af725(0x24f)+_0x3af725(0x26a)+_0x3af725(0x270)+_0x3af725(0x286)+',继续使用\x20'+_0x5b983b+'。');const _0xf9f149=createHttpServer();if(shouldAttachDevUi())try{viteDev=await attachViteDev(app,_0xf9f149,{'root':ROOT_DIR});}catch(_0x36c62a){console[_0x3af725(0x259)](_0x3af725(0x24f)+_0x3af725(0x200)+_0x3af725(0x2c2),_0x36c62a[_0x3af725(0x2b3)+'e']);}const _0x226beb=0x18;for(let _0x38e34a=0x0;_0x38e34a<_0x226beb;_0x38e34a+=0x1){const _0x4b3695=nextListenPort(_0x5b983b,_0x38e34a);try{await listenOn(_0xf9f149,_0x4b3695),attachServer(_0xf9f149,_0x4b3695);return;}catch(_0x3007c6){_0x3007c6[_0x3af725(0x1c7)]!==_0x3af725(0x1c2)+'NUSE'&&(console[_0x3af725(0x2c0)](_0x3007c6),process[_0x3af725(0x277)](0x1)),_0x38e34a<0x7&&(await reclaimListenPort({'preferredPort':_0x5b983b,'runtimePath':RUNTIME_PATH}),await sleep(0x78));}}console['error'](_0x3af725(0x24f)+_0x3af725(0x2ab)+_0x5b983b+(_0x3af725(0x287)+_0x3af725(0x248))),process[_0x3af725(0x277)](0x1);}process['on'](_0x4c0f89(0x23b)+'M',shutdown),process['on'](_0x4c0f89(0x1fb),shutdown),listenPreferred(PORT)[_0x4c0f89(0x1f5)](_0x1c04d3=>{const _0x3f96a2=_0x4c0f89;console[_0x3f96a2(0x2c0)](_0x1c04d3),process[_0x3f96a2(0x277)](0x1);});
1
+ const _0x48ebcd=_0x53b0;(function(_0x5e5b2e,_0x3aa207){const _0x2c25a2=_0x53b0,_0x1a5031=_0x5e5b2e();while(!![]){try{const _0x4637a1=parseInt(_0x2c25a2(0x202))/0x1+parseInt(_0x2c25a2(0x24f))/0x2*(-parseInt(_0x2c25a2(0x12c))/0x3)+parseInt(_0x2c25a2(0x1d0))/0x4*(parseInt(_0x2c25a2(0x1a6))/0x5)+-parseInt(_0x2c25a2(0x1f0))/0x6*(parseInt(_0x2c25a2(0x1f6))/0x7)+-parseInt(_0x2c25a2(0x213))/0x8*(parseInt(_0x2c25a2(0x149))/0x9)+-parseInt(_0x2c25a2(0x155))/0xa+parseInt(_0x2c25a2(0x1ab))/0xb;if(_0x4637a1===_0x3aa207)break;else _0x1a5031['push'](_0x1a5031['shift']());}catch(_0x541931){_0x1a5031['push'](_0x1a5031['shift']());}}}(_0x4ec2,0x98f20));import _0x24e640 from'node:fs';import _0x8ea7c3 from'node:os';import _0x30377c from'node:path';import _0x5907f2 from'node:http';import{execFile}from'node:child_process';import{fileURLToPath}from'node:url';import _0x5c053c from'express';import _0x4d0b15 from'cors';import{disconnectCamera,registerCameraRoutes,setCameraHooks,stripOnboardCameraConfig}from'./camera.mjs';import{findDevice,isBoardLabel,normalizeMac,resolveUpsertId}from'./device-identity.mjs';import{migrateLegacyConfig,requireActiveDevice,setCamera,upsertDevice}from'./device-registry.mjs';import{applyHealth,isOnline}from'./device-presence.mjs';import{probeDevice}from'./device-probe.mjs';import{applyChatDelta,chatSyncIntervalMs,shouldFetchChatSync}from'./device-chat-sync.mjs';import{createDeviceHttpQueue}from'./device-http.mjs';import{shouldApplyRemoteVoice,voiceFromWakeAck}from'./voice-wake.mjs';import{registerDeviceRoutes}from'./device-routes.mjs';import{buildSessionView,withActiveDevice}from'./device-session.mjs';import{attachRequestDevice,getRequestDevice,voicesFromRuntime}from'./device-focus.mjs';import{createDeviceRuntime}from'./device-runtime.mjs';import{discoverMossDevices}from'./lan-discover.mjs';import{registerMcpRoutes}from'./mcp/routes.mjs';import{initBridgeWebSocket,bridgeManager}from'./mcp/bridge-manager.mjs';import{setTaskNotifyHooks}from'./mcp/task-notify.mjs';import{loadMcpSettings}from'./mcp/settings.mjs';import{exportYunxiangjiInbox,ingestDeviceYunxiangjiCreates,maybeAckYunxiangjiFromChat,maybeApplyYunxiangjiFromChat}from'./mcp/yunxiangji.mjs';import{prefetchFfmpeg}from'./ffmpeg.mjs';import{registerMediaRoutes}from'./media-cache.mjs';import{validateIrImportPayload}from'./ir-import-validate.mjs';import{applyDeviceHealthTo,normalizeCaps}from'./board-presets.mjs';import{registerMihomeRoutes}from'./mihome/routes.mjs';import{clearRuntime,nextListenPort,reclaimListenPort,sleep}from'./listen-port.mjs';import{attachViteDev,shouldAttachDevUi}from'./dev-ui.mjs';const PORT=Number(process[_0x48ebcd(0x139)][_0x48ebcd(0x223)]||0xec4),ROOT_DIR=_0x30377c[_0x48ebcd(0x1b2)](_0x30377c[_0x48ebcd(0x217)+'e'](fileURLToPath(import.meta.url)),'..'),DIST_DIR=_0x30377c[_0x48ebcd(0x1b2)](ROOT_DIR,_0x48ebcd(0x231)),CONFIG_DIR=_0x30377c[_0x48ebcd(0x1b2)](_0x8ea7c3[_0x48ebcd(0x1d5)+'r'](),_0x48ebcd(0x22b)+_0x48ebcd(0x1c6)+'p'),CONFIG_PATH=_0x30377c[_0x48ebcd(0x1b2)](CONFIG_DIR,_0x48ebcd(0x1c4)+'.json'),RUNTIME_PATH=_0x30377c[_0x48ebcd(0x1b2)](CONFIG_DIR,_0x48ebcd(0x183)+_0x48ebcd(0x19b));function loadConfig(){const _0x4044d7=_0x48ebcd;try{return migrateLegacyConfig(JSON[_0x4044d7(0x1d1)](_0x24e640['readFi'+_0x4044d7(0x1be)](CONFIG_PATH,_0x4044d7(0x15b))));}catch{return migrateLegacyConfig({'deviceBaseUrl':'','mqtt':null,'bound':![]});}}function saveConfig(_0x551684){const _0x177aec=_0x48ebcd;_0x24e640['mkdirS'+'ync'](CONFIG_DIR,{'recursive':!![]}),_0x24e640['writeF'+_0x177aec(0x255)+'c'](CONFIG_PATH,JSON[_0x177aec(0x13a)+_0x177aec(0x147)](_0x551684,null,0x2));}function applyDeviceHealth(_0x262ba0,_0xfefc1c={}){const _0x110645=_0x48ebcd;applyDeviceHealthTo(config,_0x262ba0);if(!_0x262ba0||typeof _0x262ba0!==_0x110645(0x180))return null;const _0x3a09cd=String(_0xfefc1c[_0x110645(0x1b7)+'Id']||_0x262ba0[_0x110645(0x1b7)+_0x110645(0x153)]||'')[_0x110645(0x1b1)](),_0x392a61=normalizeMac(_0x262ba0[_0x110645(0x1a8)]),_0x2ededd=_0xfefc1c['id']||config[_0x110645(0x1e3)+_0x110645(0x247)+'Id'],_0x3940c2=findDevice(config,{'mac':_0x392a61,'clientId':_0x3a09cd,'id':_0x2ededd}),_0x54ac26=resolveUpsertId(config,{'mac':_0x392a61,'clientId':_0x3a09cd,'id':_0x3940c2?.['id']||_0x2ededd});if(!_0x54ac26)return null;const _0x462c6d=_0x262ba0[_0x110645(0x23c)+_0x110645(0x221)]&&!isBoardLabel(_0x262ba0[_0x110645(0x23c)+_0x110645(0x221)])?_0x262ba0[_0x110645(0x23c)+_0x110645(0x221)]:undefined;upsertDevice(config,{'id':_0x54ac26,'mac':_0x392a61||undefined,'clientId':_0x3a09cd||_0x3940c2?.['client'+'Id'],'board':_0x262ba0[_0x110645(0x1b0)]||_0x262ba0[_0x110645(0x167)],'product':_0x262ba0['produc'+'t'],'hostname':_0x262ba0[_0x110645(0x1a2)+'me'],'displayName':_0x462c6d,'ip':_0x262ba0['ip']});const _0x40be73=applyHealth(config[_0x110645(0x16b)+'s'][_0x54ac26],_0x262ba0);return config[_0x110645(0x16b)+'s'][_0x54ac26]=_0x40be73,_0x40be73;}function activeRecord(){const _0x11a7b5=_0x48ebcd;return config[_0x11a7b5(0x16b)+'s']?.[config[_0x11a7b5(0x1e3)+_0x11a7b5(0x247)+'Id']]||null;}function currentCaps(){const _0x4a19c4=_0x48ebcd,_0x227d4c=focusedRecord();return normalizeCaps({'board':_0x227d4c?.[_0x4a19c4(0x1b0)]||config[_0x4a19c4(0x1b0)],'name':_0x227d4c?.[_0x4a19c4(0x1b0)]||config[_0x4a19c4(0x1b0)],'product':_0x227d4c?.['produc'+'t']||config[_0x4a19c4(0x22a)+'t']});}function currentMossOnline(){const _0x4e9ce7=_0x48ebcd,_0x5cdef0=focusedRecord();if(_0x5cdef0&&isOnline(_0x5cdef0['lastSe'+'en'],Date[_0x4e9ce7(0x1e6)]()))return!![];return![];}function writeRuntime(_0x5d741a){const _0x5a1b6b=_0x48ebcd;try{_0x24e640[_0x5a1b6b(0x14a)+_0x5a1b6b(0x1fd)](CONFIG_DIR,{'recursive':!![]}),_0x24e640[_0x5a1b6b(0x172)+_0x5a1b6b(0x255)+'c'](RUNTIME_PATH,JSON['string'+_0x5a1b6b(0x147)]({'port':_0x5d741a,'pid':process[_0x5a1b6b(0x14e)],'at':Date[_0x5a1b6b(0x1e6)]()}));}catch(_0x750b1c){console[_0x5a1b6b(0x275)](_0x5a1b6b(0x24e)+_0x5a1b6b(0x150)+':',_0x750b1c[_0x5a1b6b(0x170)+'e']);}}function clearListenRuntime(){clearRuntime(RUNTIME_PATH);}let config=loadConfig();for(const id of Object[_0x48ebcd(0x19e)](config[_0x48ebcd(0x16b)+'s']||{})){const wrap={'camera':config[_0x48ebcd(0x16b)+'s'][id]['camera']};stripOnboardCameraConfig(wrap)&&(config[_0x48ebcd(0x16b)+'s'][id][_0x48ebcd(0x1e9)]=wrap[_0x48ebcd(0x1e9)],saveConfig(config));}let mqttStatus=_0x48ebcd(0x157);const runtime=createDeviceRuntime(),chatSyncTimers=new Map();let presenceTimer=null;const boardQueues=new Map();function focusedRecord(){const _0x283fdb=_0x48ebcd,_0x4af88a=getRequestDevice();if(_0x4af88a?.['id']&&config[_0x283fdb(0x16b)+'s']?.[_0x4af88a['id']])return config[_0x283fdb(0x16b)+'s'][_0x4af88a['id']];return activeRecord();}function runtimeOf(_0x5d7877){const _0x1546e8=_0x48ebcd;return runtime['of'](_0x5d7877||focusedRecord()?.['id']||config[_0x1546e8(0x1e3)+_0x1546e8(0x247)+'Id']);}function deviceQueue(_0x7dc161){const _0x222974=_0x48ebcd,_0x46213d=_0x7dc161||config[_0x222974(0x1e3)+_0x222974(0x247)+'Id']||'_';if(!boardQueues[_0x222974(0x132)](_0x46213d))boardQueues[_0x222974(0x17a)](_0x46213d,createDeviceHttpQueue());return boardQueues[_0x222974(0x19f)](_0x46213d);}function initTaskNotify(){const _0x21cfd2=_0x48ebcd;setTaskNotifyHooks({'emit':emit,'publishWakeAndText':_0x2b8039=>{if(!currentMossOnline())return![];try{return publishWakeAndText(_0x2b8039),!![];}catch{return![];}},'isWakeOnTaskCompleteEnabled':()=>loadMcpSettings()[_0x21cfd2(0x1d4)+'TaskCo'+_0x21cfd2(0x12d)]===!![]});}initTaskNotify();const sseClients=new Set();function emit(_0x4f164c,_0x18bdf4){const _0x56857d=_0x48ebcd,_0x39aec1=_0x56857d(0x1de)+'\x20'+_0x4f164c+(_0x56857d(0x15a)+'\x20')+JSON[_0x56857d(0x13a)+'ify'](_0x18bdf4)+'\x0a\x0a';for(const _0x438afd of sseClients){_0x438afd[_0x56857d(0x246)](_0x39aec1);}}function statusPayload(_0x222be6={}){const _0x4902cc=_0x48ebcd;return{...buildSessionView(config,{'mqttStatus':_0x4902cc(0x157),'failCount':0x0,'lastError':'','voices':voicesFromRuntime(config,runtime)}),'status':_0x4902cc(0x157),'bound':!![],'failCount':0x0,'lastError':'',..._0x222be6};}function inferFetchKind(_0x3d2672,_0x4bf37d={}){const _0x2d37d2=_0x48ebcd;if(_0x4bf37d[_0x2d37d2(0x18d)])return _0x4bf37d[_0x2d37d2(0x18d)];if(_0x3d2672['starts'+_0x2d37d2(0x1f7)](_0x2d37d2(0x263)))return _0x2d37d2(0x1ee);if(_0x3d2672===_0x2d37d2(0x1ae)+'h')return'health';if(_0x3d2672[_0x2d37d2(0x1d8)+_0x2d37d2(0x1f7)]('/gimba'+'l'))try{const _0x1f3215=JSON[_0x2d37d2(0x1d1)](_0x4bf37d[_0x2d37d2(0x197)]||'{}');return _0x1f3215[_0x2d37d2(0x21e)]==='stop'?'stop':_0x2d37d2(0x14b);}catch{return _0x2d37d2(0x14b);}return'ir';}function enqueueBoard(_0x3de7a1,_0x2b74a0,_0x28d4c9){return new Promise((_0x191d80,_0xab9614)=>{deviceQueue(_0x28d4c9)['enqueu'+'e'](_0x3de7a1,async()=>{try{_0x191d80(await _0x2b74a0());}catch(_0x4b6638){_0xab9614(_0x4b6638);}});});}async function rawDeviceFetch(_0x58ae73,_0x55e26a={}){const _0x244159=_0x48ebcd,{baseUrl:_0x24af59,useLan:_0x2857b2,kind:_0x389827,timeoutMs:_0xeffbc9,deviceId:_0x160e86,..._0x19835d}=_0x55e26a,_0xf4619c=getRequestDevice(),_0x246018=_0x160e86||_0xf4619c?.['id']||config[_0x244159(0x1e3)+_0x244159(0x247)+'Id'];let _0x24613b=_0x24af59||'';!_0x24613b&&_0x2857b2&&(_0x24613b=config[_0x244159(0x16b)+_0x244159(0x233)+'l']);!_0x24613b&&_0xf4619c?.[_0x244159(0x146)+'l']&&(_0x24613b=_0xf4619c[_0x244159(0x146)+'l']);!_0x24613b&&_0x246018&&(_0x24613b=config['device'+'s']?.[_0x246018]?.[_0x244159(0x146)+'l']||'');if(!_0x24613b)try{_0x24613b=requireActiveDevice(config)[_0x244159(0x146)+'l'];}catch{_0x24613b=config[_0x244159(0x16b)+_0x244159(0x233)+'l'];}if(!_0x24613b){const _0xd58754=new Error(_0x244159(0x1fb));_0xd58754[_0x244159(0x25e)]=0x199;throw _0xd58754;}const _0x444f22=''+_0x24613b+_0x58ae73,_0x5a909b=await fetch(_0x444f22,{..._0x19835d,'signal':_0x55e26a[_0x244159(0x20a)]||AbortSignal[_0x244159(0x1e8)+'t'](_0xeffbc9||0x1f40),'headers':{'Content-Type':_0x244159(0x22e)+_0x244159(0x21a)+_0x244159(0x25d),..._0x55e26a['header'+'s']||{}}}),_0x4eec12=await _0x5a909b[_0x244159(0x135)]();let _0x452050={};try{_0x452050=_0x4eec12?JSON[_0x244159(0x1d1)](_0x4eec12):{};}catch{_0x452050={'raw':_0x4eec12};}if(!_0x5a909b['ok']){const _0x29f10c=new Error(_0x452050[_0x244159(0x170)+'e']||_0x244159(0x144)+'回\x20'+_0x5a909b['status']);_0x29f10c[_0x244159(0x1c3)]=_0x452050;throw _0x29f10c;}return _0x452050;}function deviceFetch(_0x247783,_0xaa3eda={}){const _0x51750f=_0x48ebcd,_0x874d55=getRequestDevice(),_0x1e92ef=_0xaa3eda['device'+'Id']||_0x874d55?.['id']||config[_0x51750f(0x1e3)+_0x51750f(0x247)+'Id'];return enqueueBoard(inferFetchKind(_0x247783,_0xaa3eda),()=>rawDeviceFetch(_0x247783,{..._0xaa3eda,'deviceId':_0x1e92ef}),_0x1e92ef);}function applyVoice(_0x55ee0f,_0x2baabe){const _0x3eb09c=_0x48ebcd,_0x25567d=_0x55ee0f||focusedRecord()?.['id']||config['active'+_0x3eb09c(0x247)+'Id'],_0x1be622=String(_0x2baabe||'')[_0x3eb09c(0x1b1)]();if(!_0x25567d||!_0x1be622)return;const _0x5b655c=runtime['of'](_0x25567d);if(config[_0x3eb09c(0x16b)+'s']?.[_0x25567d])config[_0x3eb09c(0x16b)+'s'][_0x25567d]['voice']=_0x1be622;_0x1be622!==_0x5b655c[_0x3eb09c(0x131)]&&(_0x5b655c[_0x3eb09c(0x131)]=_0x1be622,emit(_0x3eb09c(0x25e),statusPayload()));}function emitChatLines(_0x2db09e,_0x847db5){const _0x34fed8=_0x48ebcd;for(const _0x1b3594 of _0x2db09e){emit(_0x34fed8(0x174),{'type':_0x34fed8(0x23b)+_0x34fed8(0x1cb),'payload':{'role':_0x1b3594['role'],'text':_0x1b3594[_0x34fed8(0x135)],'state':_0x1b3594[_0x34fed8(0x199)],'deviceId':_0x847db5}}),_0x1b3594[_0x34fed8(0x126)]===_0x34fed8(0x168)+'ant'&&maybeAckYunxiangjiFromChat(_0x1b3594[_0x34fed8(0x135)]),(_0x1b3594[_0x34fed8(0x126)]===_0x34fed8(0x1bb)||_0x1b3594[_0x34fed8(0x126)]==='assist'+_0x34fed8(0x18b))&&maybeApplyYunxiangjiFromChat(_0x1b3594['text']);}}async function syncChatNow(_0x3ebcf5){const _0x215d1a=_0x48ebcd,_0x1dad2e=_0x3ebcf5||focusedRecord()?.['id']||config['active'+_0x215d1a(0x247)+'Id'],_0x4b9079=config[_0x215d1a(0x16b)+'s']?.[_0x1dad2e];if(!_0x4b9079?.[_0x215d1a(0x146)+'l'])return;const _0x2e5feb=runtime['of'](_0x1dad2e),_0x3020d6=_0x39e483=>deviceFetch(_0x215d1a(0x12b)+'sync?s'+_0x215d1a(0x148)+_0x39e483,{'timeoutMs':0x7d0,'kind':_0x215d1a(0x1ee),'deviceId':_0x1dad2e,'baseUrl':_0x4b9079[_0x215d1a(0x146)+'l']});let _0x43d101=await _0x3020d6(_0x2e5feb[_0x215d1a(0x1f5)+_0x215d1a(0x159)]),_0x2ef7c4=applyChatDelta({'seq':_0x2e5feb[_0x215d1a(0x1f5)+_0x215d1a(0x159)],'lines':[]},_0x43d101);_0x2ef7c4[_0x215d1a(0x1c0)+'d']&&(_0x43d101=await _0x3020d6(_0x2ef7c4[_0x215d1a(0x13f)]),_0x2ef7c4=applyChatDelta({'seq':_0x2ef7c4[_0x215d1a(0x13f)],'lines':[]},_0x43d101)),_0x2e5feb[_0x215d1a(0x1f5)+_0x215d1a(0x159)]=_0x2ef7c4[_0x215d1a(0x13f)],ingestYunxiangjiFromDevicePayload(_0x43d101,_0x1dad2e),_0x43d101[_0x215d1a(0x131)]&&shouldApplyRemoteVoice({'remoteVoice':_0x43d101[_0x215d1a(0x131)],'localVoice':_0x2e5feb[_0x215d1a(0x131)],'wokeAt':_0x2e5feb[_0x215d1a(0x1b5)]})&&applyVoice(_0x1dad2e,_0x43d101[_0x215d1a(0x131)]),emitChatLines(_0x2ef7c4[_0x215d1a(0x16f)],_0x1dad2e);}function scheduleChatSync(_0x211293){const _0x1ca2a5=_0x48ebcd,_0x5837ff=_0x211293||focusedRecord()?.['id']||config[_0x1ca2a5(0x1e3)+_0x1ca2a5(0x247)+'Id'];if(!_0x5837ff)return;const _0x353d56=chatSyncTimers['get'](_0x5837ff);_0x353d56&&(clearTimeout(_0x353d56),chatSyncTimers['delete'](_0x5837ff));const _0x1f3b6e=chatSyncIntervalMs({'voice':runtime['of'](_0x5837ff)[_0x1ca2a5(0x131)]});if(!_0x1f3b6e)return;chatSyncTimers[_0x1ca2a5(0x17a)](_0x5837ff,setTimeout(()=>{const _0x4a0667=_0x1ca2a5;syncChatNow(_0x5837ff)[_0x4a0667(0x268)](()=>{})[_0x4a0667(0x1a7)+'y'](()=>scheduleChatSync(_0x5837ff));},_0x1f3b6e));}function _0x4ec2(){const _0x5b5c4=['DMvUDc1Z','BMfTzq','yxnZAxn0','5PEG5Rov5BU656Ul6k+T6z+Z','5PYQ5OM+5yIW5yMn56UV6Ag1','zgv2AwnL','y29TBwfU','q29UDgvU','57Y65Bcr6kAb6k+v5y+r55Qe','ywrKzwq','BwvZC2fN','ihn0yxr1','D3jPDgvg','y29UBMvJ','Bxf0Da','zxjYB3i','zgvY','AxnbCNjH','DxnL','5OMR5O+p5Bga5z+F572r5AsX','C2v0','Bc9JB250','5lQr5y+W5O6N5yI25AsX6lsL','yw5NAMKV','CMvZDgfY','Aw5Kl2XH','B2jQzwn0','rMXPz2H0','B2zM','CNvUDgLT','l2fWAs9J','yxjU','y2HHDf9Z','BgLZDgvU','l2DPBwjH','C2vSzwn0','Bwv0Ag9K','yw50','zw91Da','A2LUza','l3L1BNHP','B25SAw5L','6k+35AgR5yAzie1p','Ahr0CdOV','C2f5','5lIa5lU95Qgm6z2I5PYn5yQH','DMvUDhm','6l295BYa5y+r55wm6z2I77YA','DhLWzq','yM9KEq','lJaUmtO','C3rHDgu','BwfW','zs5QC29U','DhjPBMC','6Akr57Mb77Ym6k+356In5ycz','A2v5CW','z2v0','w21JCf0G','DhjLyw0','Ag9ZDg5H','y2uVzgvS','l2fWAq','DfnLCNzL','mteZmZG1DKjAqwzJ','zMLUywXS','BwfJ','AxnJB3zL','q2fJAguT','mJm4ntuYnJbSq21VBLm','vgfZA0nV','C3rHCNq','l2HLywX0','Agf0l3DH','yM9HCMq','DhjPBq','AM9PBG','6k6+5Ash5zYO5zcm5lIaia','A2LSBgvK','D29Rzuf0','Eu5HBwu','y2XPzw50','l2nVBMzP','tu9tuYdML6a','tu9tu19b','C3LZDgvT','Bw1HBMq','DMLJzs9K','BgvtEw5J','yw5K','CMv3B3vU','mw1I','tu9tuYdLV5K','zgv0ywLS','y29UzMLN','w3L1BNHP','zgvZA3rV','l2fJAW','w3nLCNzL','zhK9','uevox0js','zxnZywDL','ie1pu1pJGii','5OIw5zcn56EW5lIn5zci5Rov','l2LYl2nV','zxHPC3rZ','otjKwfHiAKe','CgfYC2u','CgXHDgzV','BMvK','D2fRzu9U','Ag9TzwrP','ufvu','rvjtsu9o','C3rHCNrZ','igfUBM91','DMLJzq','D2fRzuLU','y21K','zgvSzxrL','zxzLBNq6','tLvtrq','ruferfjj','yxnZAwDU','C3rVCa','ywn0AxzL','CMvHDgvZ','5y2G55sO56UV5y+J55Qe5lIk','BM93','5Rs75lIT77Yj77Ym5PQc5PE2','DgLTzw91','y2fTzxjH','ywn0AxzH','u2vYDMvY','57Y65Bcr5Asw6k6+5OIw5yQO','5zYO6l+E5O6L6k+T6z+Z5PYn','y2HHDa','ios7JEIIQ+wfTUs7LUEOIW','mtjgs3P2yvO','A2vLCefS','CI9KzxzP','Chv0','5RkH6io955M76k6W6l+z5y+W','y2HHDen1','mJu5nta2mwXLrhfvDW','v2L0Aa','AhrTBa','Cg9YDa','y3vZDg9T','6k+35ywi6ycj5OUP6k6+5Ash','6z2I77Ym6k+35ywi5OMN6kgm','Ew5J','56UV5y+Jia','zxzPy2uV','6k+356gU6k6K55s16isr5zkm','ue9tva','otKWmJu2sxvLsKzN','6k+35ywi6l+E5O6L6k6+5Ash','u3LUyW','BgfZDeHV','Ew8TBw9Z','Bw1HBMqV','C1rPBwvV','q29UBMvJ','C2LNBMfS','yNvZEq','5zsK6yAs5Pon5l2C6l+h5lQo','CMvZzxrd','l2fWAs9P','CI9PBxbV','yw5UB3vU','B3bLBG','C2v0sgvH','ntK0nen5u2TfAW','CI9SzwfY','w21PAg9T','u1mG5zYW5z2a','zgLYBMfT','CMvXDwvZ','Aw5N','yxrPB24V','Cgf0Aa','l2fWAs9L','B25Jzq','ywn0Aw9U','BMnLigzH','ExvUEgLH','Ev9Uyw1L','iowpIUwqJUE7REERR+wpOW','ue9sva','BM8Ty2fJ','Cg9ZDa','CY1HAq','Cgf5Bg9H','zeLK','zMLSDgvY','ChjVzhvJ','lM1VC3mT','D2fRzq','EgrNlw9W','yxbWBgLJ','tu9tuYdMRAm','DgvZDa','zgLZDa','CI90zxn0','qMfZzvvY','tK9erv9f','B3v0yM94','DMLJzxm','l2fWAs9O','ywrK','l2LYl3rL','5lIk5lIa5QYH5zsK6yAs6l+y','y2HHDc5T','zgLZCgXH','t1Dtrvi','y29Kzq','CMvWBgfJ','BgfZDfnL','l2LYl3jL','5O6L5y+J5zcm5lIa56UV5y+J','AgvHBhrO','lZeYnY4W','AhCUC3rH','D3jPDgu','rgv2AwnL','Dw5Yzwy','CL0G5PYQ6io95OYc','zwXLDgu','zxrL','sevbra','BMDQAv9V','5PEG5Rov5yAz5ywLihi','mJaXndzeChbLu2W','DgLUzW','CM9S','u0Lhsu5u','57Y65Bcr6kAb5yIG6zMK55Qe','C3bLzwq','AwXLu3LU','BMDQAv9J','zMX1C2Hi','CL0G5BEY57Ut5P2F','55s16isr5zkmie1p','ChjVBxb0','ueLFue9s','CI9JB21T','ANnVBG','C3rHDhvZ','CL0G','AwHVBwu','l2fWAs9I','zY9KzxzP','l2nOyxq','D2LUmZi','5PEG5Rov6iEQ5yQO5OMt5BYa','DgLVBG','y2vZ','y2f0y2G','l2LYl2v4','AxjFzgf0','DgjVEa','tu9tu19w','C3rUyw1L','77Ym5Ps55yMn56UV5lUJ56cb','77Ym57UN57UT5l2/55sOia','Aw5KzxGU','Dgv4Dc9L','AgvHzgvY','AxzLvgLT','5lYA54oT5PU05PAW44cc','D2fYBG','BgLNAhq','57QI5Asw56cb5Qc85BYp5lIn','CM9Szq','l2LYl2rL','AwrSzq','tu9tu19p','ywnRzwq','l2nOyxqV','mZaZDMjWtvzd','BxbSzxrL','AwqG5lIn5zci5Rov','DY9ZDgf0','Dc1uExbL','DM9Py2u','AgfZ','BgvUz3rO','5Asn77Ym6k+356In5ycz','Dgv4Da','tu9tuYdNPRS','l2H3','ifDPluzP','zw52','C3rYAw5N','C3rDigjV','zf9Pza','DxrIB3G','C2vUzezP','C2vX','5lIn5lIk44cc6k+356gU6k6K','Agf0','r0vu','y2XVC2u','tu9tuYdOV5q','55s15zMO57g75z6l5lIn5zci','yMfZzvvY','Awz5','Aw5Jzt0','mJaWn0TduLriDa','BwTKAxjt','zM9SBg93','5BQp5y2G55sO77Ym5B2t5yMn','Bg9N','CgLK','zxHPDa','Dw50Aw1L','5Rwp6kEi5zMO77YA','56km77Yi5y2h57QNl+A/Ga','x2LK','CL0G6Ag16z2I5lIo','mteYotuXntbVrfrUy3y','l2fWAs9K','CMvHzhK','5yQH77Ym6k+356In5zco5yAn','CNnVCG','cMrHDge6','DxrMoa','55s15zMO5OIw5OYj6zsUia','v2KTrMNJGii','zwfKzxjZ','5zYO562j5B6f6k6+5Ash5zUE','l2LYl2LT','y3jLyxrL','DgHLBG','DgfYDcbT','CWPKyxrH','zv0GCMvZ'];_0x4ec2=function(){return _0x5b5c4;};return _0x4ec2();}async function probeOne(_0x5a3e87,_0x40fd2c=Date[_0x48ebcd(0x1e6)]()){const _0x18e250=_0x48ebcd,_0x5e6ebd=config[_0x18e250(0x16b)+'s']?.[_0x5a3e87];if(!_0x5e6ebd)return;const _0x4eb8b4=await enqueueBoard(_0x18e250(0x243),()=>probeDevice(_0x5e6ebd,{'now':_0x40fd2c,'timeoutMs':0x7d0}),_0x5a3e87),_0x1a4fc4=_0x5e6ebd[_0x18e250(0x240)+'en'];Object[_0x18e250(0x1e1)](_0x5e6ebd,_0x4eb8b4[_0x18e250(0x16b)]);_0x5a3e87===config[_0x18e250(0x1e3)+_0x18e250(0x247)+'Id']&&(_0x4eb8b4[_0x18e250(0x18f)]&&_0x4eb8b4['device']['baseUr'+'l']&&(config[_0x18e250(0x16b)+_0x18e250(0x233)+'l']=_0x4eb8b4[_0x18e250(0x16b)][_0x18e250(0x146)+'l']));const _0x2c6cca=runtime['of'](_0x5a3e87);_0x4eb8b4['health']?.[_0x18e250(0x131)]&&shouldApplyRemoteVoice({'remoteVoice':_0x4eb8b4[_0x18e250(0x243)][_0x18e250(0x131)],'localVoice':_0x2c6cca[_0x18e250(0x131)],'wokeAt':_0x2c6cca[_0x18e250(0x1b5)]})&&applyVoice(_0x5a3e87,_0x4eb8b4[_0x18e250(0x243)][_0x18e250(0x131)]),_0x4eb8b4[_0x18e250(0x243)]&&shouldFetchChatSync({'voice':_0x4eb8b4[_0x18e250(0x243)][_0x18e250(0x131)]||_0x2c6cca[_0x18e250(0x131)],'remoteSeq':_0x4eb8b4[_0x18e250(0x243)][_0x18e250(0x186)+'eq'],'localSeq':_0x2c6cca[_0x18e250(0x1f5)+_0x18e250(0x159)]})&&(syncChatNow(_0x5a3e87)[_0x18e250(0x268)](()=>{}),scheduleChatSync(_0x5a3e87)),Number(_0x4eb8b4[_0x18e250(0x243)]?.[_0x18e250(0x220)+_0x18e250(0x24d)+_0x18e250(0x13d)]||_0x4eb8b4[_0x18e250(0x16b)]?.[_0x18e250(0x220)+'ngjiOu'+_0x18e250(0x26b)]||0x0)>0x0&&pullYunxiangjiOutbox(_0x5a3e87)[_0x18e250(0x268)](()=>{}),_0x4eb8b4[_0x18e250(0x16b)]['lastSe'+'en']!==_0x1a4fc4&&(emit(_0x18e250(0x25e),statusPayload()),_0x4eb8b4[_0x18e250(0x18f)]&&scheduleYunxiangjiInboxPush(_0x5a3e87));}function startPresenceWatch(){if(presenceTimer)return;const _0x3b64f4=()=>{const _0x46766e=_0x53b0,_0x2942ba=Object[_0x46766e(0x19e)](config['device'+'s']||{});for(const _0x3588fc of _0x2942ba['slice'](0x0,0x4)){probeOne(_0x3588fc)[_0x46766e(0x268)](()=>{});}};_0x3b64f4(),presenceTimer=setInterval(_0x3b64f4,0x7d0);}function ingestYunxiangjiFromDevicePayload(_0x101ca3,_0x2d76a0){const _0x26a14e=_0x48ebcd,_0x2cc2fc=_0x101ca3?.[_0x26a14e(0x220)+_0x26a14e(0x256)+_0x26a14e(0x1e4)]||_0x101ca3?.['items'];if(!Array[_0x26a14e(0x177)+'y'](_0x2cc2fc)||!_0x2cc2fc[_0x26a14e(0x133)])return;const _0x413cbb=ingestDeviceYunxiangjiCreates(_0x2cc2fc),_0x5225a5=_0x413cbb[_0x26a14e(0x12a)]||_0x2cc2fc[_0x26a14e(0x19a)](_0x1dd0ef=>_0x1dd0ef?.['id'])[_0x26a14e(0x229)](Boolean);if(!_0x5225a5[_0x26a14e(0x133)])return;deviceFetch('/yunxi'+_0x26a14e(0x17d)+_0x26a14e(0x235)+_0x26a14e(0x1c7),{'method':_0x26a14e(0x201),'body':JSON[_0x26a14e(0x13a)+_0x26a14e(0x147)]({'ids':_0x5225a5}),'kind':_0x26a14e(0x1ee),'timeoutMs':0x7d0,'deviceId':_0x2d76a0})['catch'](()=>{}),scheduleYunxiangjiInboxPush(_0x2d76a0);}async function pullYunxiangjiOutbox(_0x7e2267){const _0x3168e8=_0x48ebcd,_0xe7dfe7=_0x7e2267||focusedRecord()?.['id']||config['active'+_0x3168e8(0x247)+'Id'],_0x263d61=await deviceFetch('/yunxi'+'angji/'+_0x3168e8(0x235),{'timeoutMs':0x7d0,'kind':_0x3168e8(0x1ee),'deviceId':_0xe7dfe7});ingestYunxiangjiFromDevicePayload(_0x263d61,_0xe7dfe7);}const inboxPushTimers=new Map();function scheduleYunxiangjiInboxPush(_0x3d681e){const _0x31b35d=_0x48ebcd,_0x138cd8=_0x3d681e||focusedRecord()?.['id']||config[_0x31b35d(0x1e3)+_0x31b35d(0x247)+'Id'];if(!_0x138cd8)return;const _0x261434=inboxPushTimers[_0x31b35d(0x19f)](_0x138cd8);if(_0x261434)clearTimeout(_0x261434);inboxPushTimers['set'](_0x138cd8,setTimeout(()=>{inboxPushTimers['delete'](_0x138cd8),pushYunxiangjiInbox(_0x138cd8)['catch'](()=>{});},0x12c));}async function pushYunxiangjiInbox(_0x39bce6){const _0x2b4c91=_0x48ebcd,_0x4a3804=_0x39bce6||focusedRecord()?.['id']||config[_0x2b4c91(0x1e3)+_0x2b4c91(0x247)+'Id'];if(!_0x4a3804)return;await deviceFetch(_0x2b4c91(0x18e)+_0x2b4c91(0x17d)+'inbox',{'method':_0x2b4c91(0x201),'body':JSON['string'+'ify'](exportYunxiangjiInbox()),'kind':_0x2b4c91(0x1ee),'timeoutMs':0x7d0,'deviceId':_0x4a3804});}function requireDeviceOnline(){const _0x547980=_0x48ebcd;if(!currentMossOnline())throw new Error(_0x547980(0x136)+'线');}async function publishWakeAndText(_0x5a84fb,_0x2ebf23){const _0x268d88=_0x48ebcd;requireDeviceOnline();const _0xa0bc59=focusedRecord()?.['id']||config[_0x268d88(0x1e3)+_0x268d88(0x247)+'Id'],_0x173851={'text':String(_0x5a84fb||'')};if(_0x2ebf23)_0x173851[_0x268d88(0x210)+'ce']=String(_0x2ebf23);await deviceFetch(_0x268d88(0x12b)+_0x268d88(0x192),{'method':'POST','body':JSON[_0x268d88(0x13a)+'ify'](_0x173851),'kind':_0x268d88(0x1ee),'timeoutMs':0xfa0,'deviceId':_0xa0bc59}),syncChatNow(_0xa0bc59)[_0x268d88(0x268)](()=>{}),scheduleChatSync(_0xa0bc59);}const app=_0x5c053c();app['use'](_0x4d0b15()),app[_0x48ebcd(0x178)](_0x5c053c[_0x48ebcd(0x25d)]({'limit':_0x48ebcd(0x1c1)})),app[_0x48ebcd(0x178)](attachRequestDevice(()=>config)),registerMihomeRoutes(app,{'configDir':CONFIG_DIR,'onMcpAccessChanged':()=>{const _0x3cc9fc=_0x48ebcd;try{bridgeManager[_0x3cc9fc(0x17e)+_0x3cc9fc(0x1a5)+'r']('moss-m'+_0x3cc9fc(0x260));}catch(_0x2f16dc){console[_0x3cc9fc(0x275)](_0x3cc9fc(0x215)+_0x3cc9fc(0x165)+_0x3cc9fc(0x163)+'cp',_0x2f16dc[_0x3cc9fc(0x170)+'e']);}}}),registerDeviceRoutes(app,{'getConfig':()=>config,'saveConfig':()=>saveConfig(config),'getExtras':()=>{const _0x359b4f=_0x48ebcd,_0x1aa431=focusedRecord(),_0xb2c54a=_0x1aa431?.['id']||config['active'+_0x359b4f(0x247)+'Id'];return{'mqttStatus':_0x359b4f(0x157),'mossOnline':currentMossOnline(),'capabilities':currentCaps(),'failCount':0x0,'lastError':'','mossChatState':_0xb2c54a?runtime['of'](_0xb2c54a)[_0x359b4f(0x131)]:_0x359b4f(0x128),'focusedDeviceId':_0xb2c54a||'','voices':voicesFromRuntime(config,runtime)};},'onActivate':_0x475469=>{const _0x3fa782=_0x48ebcd;runtime[_0x3fa782(0x20d)+_0x3fa782(0x141)](_0x475469['device']['id']),config[_0x3fa782(0x16b)+_0x3fa782(0x233)+'l']=_0x475469[_0x3fa782(0x16b)][_0x3fa782(0x146)+'l']||config['device'+'BaseUr'+'l']||'',applyDeviceHealthTo(config,_0x475469[_0x3fa782(0x16b)]),emit(_0x3fa782(0x25e),statusPayload()),probeOne(_0x475469[_0x3fa782(0x16b)]['id'])[_0x3fa782(0x268)](()=>{});}}),app[_0x48ebcd(0x19f)](_0x48ebcd(0x21c)+_0x48ebcd(0x194),(_0x22652e,_0x416cac)=>{const _0x225c29=_0x48ebcd;_0x416cac[_0x225c29(0x212)+'der'](_0x225c29(0x16d)+_0x225c29(0x130),_0x225c29(0x271)+_0x225c29(0x166)+_0x225c29(0x1a1)),_0x416cac[_0x225c29(0x212)+'der'](_0x225c29(0x1aa)+'Contro'+'l',_0x225c29(0x224)+'he'),_0x416cac[_0x225c29(0x212)+_0x225c29(0x176)](_0x225c29(0x209)+_0x225c29(0x266),'keep-a'+'live'),_0x416cac[_0x225c29(0x257)+_0x225c29(0x15e)](),sseClients[_0x225c29(0x238)](_0x416cac),_0x416cac[_0x225c29(0x246)](_0x225c29(0x1de)+_0x225c29(0x171)+_0x225c29(0x164)+':\x20'+JSON[_0x225c29(0x13a)+_0x225c29(0x147)](statusPayload())+'\x0a\x0a'),_0x22652e['on'](_0x225c29(0x143),()=>sseClients[_0x225c29(0x1dd)](_0x416cac));}),app[_0x48ebcd(0x225)](_0x48ebcd(0x156)+_0x48ebcd(0x1a9)+'r',async(_0x6ab15,_0x3550be)=>{const _0x568a62=_0x48ebcd;try{const _0x1191cd=await discoverMossDevices({'lastHostname':config['lastHo'+_0x568a62(0x26d)],'lastBaseUrl':config['device'+_0x568a62(0x233)+'l']});_0x3550be['json']({'devices':_0x1191cd});}catch(_0x4b1304){_0x3550be[_0x568a62(0x25e)](0x1f4)[_0x568a62(0x25d)]({'message':_0x4b1304[_0x568a62(0x170)+'e']||_0x568a62(0x179)+'败'});}}),app['post'](_0x48ebcd(0x156)+_0x48ebcd(0x1ff)+_0x48ebcd(0x189),async(_0x1018fd,_0x50a71d)=>{const _0x410629=_0x48ebcd,_0x5ac28f=String(_0x1018fd[_0x410629(0x197)]?.['baseUr'+'l']||'')[_0x410629(0x23f)+'e'](/\/$/,'');if(!_0x5ac28f)return _0x50a71d[_0x410629(0x25e)](0x190)['json']({'message':_0x410629(0x190)+_0x410629(0x216)});const _0x3507c8=config[_0x410629(0x16b)+_0x410629(0x233)+'l'];config[_0x410629(0x16b)+'BaseUr'+'l']=_0x5ac28f;try{const _0x2f747d=await deviceFetch(_0x410629(0x1ae)+'h',{'baseUrl':_0x5ac28f});_0x2f747d['hostna'+'me']&&(config[_0x410629(0x205)+_0x410629(0x26d)]=_0x2f747d[_0x410629(0x1a2)+'me']),applyDeviceHealthTo(config,_0x2f747d),saveConfig(config),_0x50a71d[_0x410629(0x25d)]({'ok':!![],'health':_0x2f747d});}catch(_0x226844){config[_0x410629(0x16b)+_0x410629(0x233)+'l']=_0x3507c8,_0x50a71d[_0x410629(0x25e)](0x190)['json']({'message':'找到地址但连'+_0x410629(0x140)+_0x410629(0x259)+'SS\x20在同一'+_0x410629(0x138)+',并检查\x20I'+'P。','detail':_0x226844[_0x410629(0x170)+'e']});}}),app[_0x48ebcd(0x19f)](_0x48ebcd(0x156)+_0x48ebcd(0x1ff)+_0x48ebcd(0x243),async(_0x4a3f4b,_0x4de797)=>{const _0x48ed8c=_0x48ebcd;try{const _0xac52f8=await deviceFetch(_0x48ed8c(0x1ae)+'h');applyDeviceHealth(_0xac52f8,{'id':focusedRecord()?.['id']||config[_0x48ed8c(0x1e3)+_0x48ed8c(0x247)+'Id'],'clientId':focusedRecord()?.['client'+'Id']}),saveConfig(config),_0x4de797[_0x48ed8c(0x25d)](_0xac52f8);}catch(_0x3d6406){_0x4de797[_0x48ed8c(0x25e)](0x190)['json']({'message':_0x3d6406[_0x48ed8c(0x170)+'e']});}}),app[_0x48ebcd(0x225)](_0x48ebcd(0x261)+_0x48ebcd(0x17f)+'n',async(_0x34c116,_0x4b68f2)=>{const _0x1e2da7=_0x48ebcd,_0x3051f3=String(_0x34c116[_0x1e2da7(0x197)]?.[_0x1e2da7(0x146)+'l']||config['device'+_0x1e2da7(0x233)+'l']||'')[_0x1e2da7(0x23f)+'e'](/\/$/,''),_0x1fe744=String(_0x34c116[_0x1e2da7(0x197)]?.['displa'+_0x1e2da7(0x1b6)]||_0x34c116[_0x1e2da7(0x197)]?.['displa'+_0x1e2da7(0x221)]||'')[_0x1e2da7(0x1b1)]();if(!_0x3051f3)return _0x4b68f2[_0x1e2da7(0x25e)](0x190)[_0x1e2da7(0x25d)]({'message':_0x1e2da7(0x203)});try{const _0x912f23=await deviceFetch(_0x1e2da7(0x1ae)+'h',{'baseUrl':_0x3051f3,'timeoutMs':0xbb8,'kind':_0x1e2da7(0x243)}),_0x3d433c=resolveUpsertId(config,{'mac':_0x912f23[_0x1e2da7(0x1a8)],'clientId':_0x912f23[_0x1e2da7(0x1b7)+_0x1e2da7(0x153)],'id':config[_0x1e2da7(0x1e3)+'Device'+'Id']}),_0x1e86a0=upsertDevice(config,{'id':_0x3d433c,'mac':normalizeMac(_0x912f23[_0x1e2da7(0x1a8)])||undefined,'clientId':_0x912f23['client'+_0x1e2da7(0x153)],'displayName':_0x1fe744||(_0x912f23[_0x1e2da7(0x23c)+_0x1e2da7(0x221)]&&!isBoardLabel(_0x912f23[_0x1e2da7(0x23c)+'y_name'])?_0x912f23[_0x1e2da7(0x23c)+_0x1e2da7(0x221)]:undefined),'board':_0x912f23['board']||_0x912f23[_0x1e2da7(0x167)],'product':_0x912f23[_0x1e2da7(0x22a)+'t'],'hostname':_0x912f23[_0x1e2da7(0x1a2)+'me'],'baseUrl':_0x3051f3,'ip':_0x912f23['ip'],'lastSeen':Date[_0x1e2da7(0x1e6)]()});config[_0x1e2da7(0x16b)+_0x1e2da7(0x233)+'l']=_0x3051f3;if(_0x912f23[_0x1e2da7(0x1a2)+'me'])config[_0x1e2da7(0x205)+_0x1e2da7(0x26d)]=_0x912f23[_0x1e2da7(0x1a2)+'me'];config['bound']=!![],config[_0x1e2da7(0x1e3)+_0x1e2da7(0x247)+'Id']=_0x1e86a0['id'],saveConfig(config),emit('status',statusPayload()),_0x4b68f2['json']({'ok':!![],'mossOnline':!![],'device':_0x1e86a0});}catch(_0xa0dd88){_0x4b68f2[_0x1e2da7(0x25e)](0x190)[_0x1e2da7(0x25d)]({'message':_0x1e2da7(0x1f4)+_0x1e2da7(0x1cc)+_0x1e2da7(0x200)+_0x1e2da7(0x1b3)+_0x1e2da7(0x15d),'detail':_0xa0dd88[_0x1e2da7(0x170)+'e']});}}),app[_0x48ebcd(0x225)](_0x48ebcd(0x184)+_0x48ebcd(0x1af)+'ke',async(_0x181e93,_0x4077f7)=>{const _0x2c2e64=_0x48ebcd,_0x4ddfb1=focusedRecord()?.['id']||config['active'+_0x2c2e64(0x247)+'Id'],_0x22c968=runtime['of'](_0x4ddfb1);try{requireDeviceOnline();if(_0x22c968[_0x2c2e64(0x131)]===_0x2c2e64(0x173)+_0x2c2e64(0x250)||_0x22c968[_0x2c2e64(0x131)]===_0x2c2e64(0x1ea)+_0x2c2e64(0x250))throw new Error(_0x22c968[_0x2c2e64(0x131)]===_0x2c2e64(0x1ea)+_0x2c2e64(0x250)?'MOSS\x20忙'+_0x2c2e64(0x152)+_0x2c2e64(0x1e7)+_0x2c2e64(0x169)+'链路':_0x2c2e64(0x22f)+_0x2c2e64(0x1ed)+_0x2c2e64(0x158)+'试');if(_0x22c968[_0x2c2e64(0x1db)+_0x2c2e64(0x181)])throw new Error(_0x2c2e64(0x23a)+_0x2c2e64(0x15f)+_0x2c2e64(0x134));if(Date[_0x2c2e64(0x1e6)]()-_0x22c968[_0x2c2e64(0x1b5)]<0x9c4)throw new Error(_0x2c2e64(0x20c)+_0x2c2e64(0x19d)+'再试');_0x22c968[_0x2c2e64(0x1db)+_0x2c2e64(0x181)]=!![],_0x22c968[_0x2c2e64(0x1b5)]=Date[_0x2c2e64(0x1e6)]();const _0x5cd609=await deviceFetch('/chat/'+_0x2c2e64(0x22c),{'method':_0x2c2e64(0x201),'body':'{}','kind':_0x2c2e64(0x1ee),'timeoutMs':0xfa0}),_0xee0ca3=voiceFromWakeAck(_0x5cd609);if(_0xee0ca3[_0x2c2e64(0x175)]){if(_0xee0ca3['error']===_0x2c2e64(0x173)+_0x2c2e64(0x250))throw new Error(_0x2c2e64(0x22f)+_0x2c2e64(0x1ed)+_0x2c2e64(0x158)+'试');if(_0xee0ca3['error']===_0x2c2e64(0x20b))throw new Error(_0x2c2e64(0x1c2)+_0x2c2e64(0x152)+'活中),暂时'+'无法建立语音'+'链路');throw new Error(_0xee0ca3[_0x2c2e64(0x175)]||_0x2c2e64(0x1b9)+'法唤醒');}applyVoice(_0x4ddfb1,_0xee0ca3[_0x2c2e64(0x131)]),syncChatNow(_0x4ddfb1)['catch'](()=>{}),scheduleChatSync(_0x4ddfb1),_0x4077f7[_0x2c2e64(0x25d)]({'ok':!![],'payload':_0x5cd609});}catch(_0x48d859){_0x4077f7['status'](0x190)['json']({'message':_0x48d859[_0x2c2e64(0x170)+'e']});}finally{_0x22c968[_0x2c2e64(0x1db)+_0x2c2e64(0x181)]=![];}}),app[_0x48ebcd(0x225)](_0x48ebcd(0x237)+'w',async(_0x37576d,_0x1429b3)=>{const _0x1fc169=_0x48ebcd;try{requireDeviceOnline();const _0x5c9835=String(_0x37576d['body']?.[_0x1fc169(0x16b)]||'')[_0x1fc169(0x1b1)](),_0x20d33a=String(_0x37576d['body']?.[_0x1fc169(0x21e)]||'')[_0x1fc169(0x1b1)]();if(!_0x5c9835||!_0x20d33a)throw new Error(_0x1fc169(0x1ec)+'作');const _0xeba976={'device':_0x5c9835,'action':_0x20d33a};if(_0x37576d[_0x1fc169(0x197)]?.[_0x1fc169(0x254)]!=null)_0xeba976[_0x1fc169(0x254)]=Number(_0x37576d[_0x1fc169(0x197)][_0x1fc169(0x254)]);const _0x4c7cb7=await deviceFetch(_0x1fc169(0x137),{'method':'POST','body':JSON[_0x1fc169(0x13a)+_0x1fc169(0x147)](_0xeba976),'timeoutMs':0xfa0});emit(_0x1fc169(0x174),{'type':_0x1fc169(0x245)+'te','payload':_0x4c7cb7,'deviceId':focusedRecord()?.['id']||config[_0x1fc169(0x1e3)+_0x1fc169(0x247)+'Id']}),_0x1429b3[_0x1fc169(0x25d)]({'ok':!![],..._0x4c7cb7});}catch(_0x5ddeee){_0x1429b3[_0x1fc169(0x25e)](0x190)[_0x1fc169(0x25d)]({'message':_0x5ddeee[_0x1fc169(0x170)+'e']});}}),app[_0x48ebcd(0x225)](_0x48ebcd(0x237)+_0x48ebcd(0x12f)+'us',async(_0x52fce1,_0x372118)=>{const _0x2eb412=_0x48ebcd;try{requireDeviceOnline();const _0x4a9e52=await deviceFetch(_0x2eb412(0x137),{'timeoutMs':0xfa0});emit(_0x2eb412(0x174),{'type':_0x2eb412(0x245)+'te','payload':_0x4a9e52,'deviceId':focusedRecord()?.['id']||config[_0x2eb412(0x1e3)+_0x2eb412(0x247)+'Id']}),_0x372118[_0x2eb412(0x25d)]({'ok':!![],..._0x4a9e52});}catch(_0x2ecc87){_0x372118[_0x2eb412(0x25e)](0x190)[_0x2eb412(0x25d)]({'message':_0x2ecc87[_0x2eb412(0x170)+'e']});}});async function fetchDeviceConfig(){const _0x3d011a=_0x48ebcd,_0x2ee1d1=await deviceFetch(_0x3d011a(0x1b8)+'g/devi'+'ce');return{'ok':!![],..._0x2ee1d1};}function _0x53b0(_0x9bd63e,_0x1945d2){_0x9bd63e=_0x9bd63e-0x125;const _0x4ec2b1=_0x4ec2();let _0x53b041=_0x4ec2b1[_0x9bd63e];if(_0x53b0['MOeGCo']===undefined){var _0x12b9c5=function(_0x3a2eb3){const _0x4c5a3e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x24e640='',_0x8ea7c3='';for(let _0x30377c=0x0,_0x5907f2,_0x5c053c,_0x4d0b15=0x0;_0x5c053c=_0x3a2eb3['charAt'](_0x4d0b15++);~_0x5c053c&&(_0x5907f2=_0x30377c%0x4?_0x5907f2*0x40+_0x5c053c:_0x5c053c,_0x30377c++%0x4)?_0x24e640+=String['fromCharCode'](0xff&_0x5907f2>>(-0x2*_0x30377c&0x6)):0x0){_0x5c053c=_0x4c5a3e['indexOf'](_0x5c053c);}for(let _0x551684=0x0,_0x262ba0=_0x24e640['length'];_0x551684<_0x262ba0;_0x551684++){_0x8ea7c3+='%'+('00'+_0x24e640['charCodeAt'](_0x551684)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x8ea7c3);};_0x53b0['VMNJrZ']=_0x12b9c5,_0x53b0['nNMuIL']={},_0x53b0['MOeGCo']=!![];}const _0x40ac23=_0x4ec2b1[0x0],_0x2aafb7=_0x9bd63e+_0x40ac23,_0x4e721a=_0x53b0['nNMuIL'][_0x2aafb7];return!_0x4e721a?(_0x53b041=_0x53b0['VMNJrZ'](_0x53b041),_0x53b0['nNMuIL'][_0x2aafb7]=_0x53b041):_0x53b041=_0x4e721a,_0x53b041;}async function saveDeviceConfig(_0x2bad02){const _0x46c31b=_0x48ebcd;return deviceFetch(_0x46c31b(0x1b8)+_0x46c31b(0x262)+'ce',{'method':_0x46c31b(0x1d6),'body':JSON[_0x46c31b(0x13a)+'ify'](_0x2bad02)});}app['get']('/api/d'+_0x48ebcd(0x1ff)+_0x48ebcd(0x1c4),withActiveDevice(()=>config),async(_0x3b09ea,_0x1b025a)=>{const _0xe4d087=_0x48ebcd;try{_0x1b025a[_0xe4d087(0x25d)](await fetchDeviceConfig());}catch(_0x1469aa){_0x1b025a[_0xe4d087(0x25e)](0x190)[_0xe4d087(0x25d)]({'message':_0x1469aa[_0xe4d087(0x170)+'e']});}}),app[_0x48ebcd(0x1f3)](_0x48ebcd(0x156)+_0x48ebcd(0x1ff)+'config',withActiveDevice(()=>config),async(_0x4dec8b,_0xf9f87e)=>{const _0x19060=_0x48ebcd;try{_0xf9f87e[_0x19060(0x25d)](await saveDeviceConfig(_0x4dec8b['body']||{}));}catch(_0x3e10c4){_0xf9f87e[_0x19060(0x25e)](0x190)['json']({'message':_0x3e10c4[_0x19060(0x170)+'e']});}}),app[_0x48ebcd(0x19f)](_0x48ebcd(0x20e)+_0x48ebcd(0x1f2)+_0x48ebcd(0x267),async(_0x5e5a5d,_0xb90229)=>{const _0x3096fa=_0x48ebcd;try{_0xb90229['json'](await deviceFetch(_0x3096fa(0x127)+_0x3096fa(0x236)));}catch(_0x1e1157){_0xb90229['status'](0x190)[_0x3096fa(0x25d)]({'message':_0x1e1157[_0x3096fa(0x170)+'e']});}}),app[_0x48ebcd(0x1f3)](_0x48ebcd(0x20e)+_0x48ebcd(0x1f2)+'ce',async(_0xc9c8a6,_0x52a8a9)=>{const _0x4cdbfa=_0x48ebcd;try{const _0x2b988d=requireDevicePut(_0xc9c8a6[_0x4cdbfa(0x197)]);_0x52a8a9['json'](await deviceFetch('/ir/de'+_0x4cdbfa(0x1da),{'method':_0x4cdbfa(0x1d6),'body':JSON['string'+_0x4cdbfa(0x147)](_0x2b988d)}));}catch(_0xa5408d){_0x52a8a9[_0x4cdbfa(0x25e)](0x190)['json']({'message':_0xa5408d['messag'+'e']});}}),app['post'](_0x48ebcd(0x20e)+_0x48ebcd(0x1f2)+_0x48ebcd(0x1a3)+_0x48ebcd(0x24b),async(_0x4cf88f,_0x4efe98)=>{const _0x17f1ff=_0x48ebcd;try{const _0x3d0c4a=asObject(_0x4cf88f[_0x17f1ff(0x197)]);if(!validId(String(_0x3d0c4a['id']||'')))throw new Error(_0x17f1ff(0x253)+'电器');_0x4efe98[_0x17f1ff(0x25d)](await deviceFetch(_0x17f1ff(0x127)+_0x17f1ff(0x1bd)+_0x17f1ff(0x24a),{'method':_0x17f1ff(0x201),'body':JSON[_0x17f1ff(0x13a)+_0x17f1ff(0x147)]({'id':_0x3d0c4a['id']})}));}catch(_0x311e2b){_0x4efe98[_0x17f1ff(0x25e)](0x190)[_0x17f1ff(0x25d)]({'message':_0x311e2b['messag'+'e']});}}),app[_0x48ebcd(0x1f3)](_0x48ebcd(0x20e)+_0x48ebcd(0x25c)+_0x48ebcd(0x1bf),async(_0xcc5911,_0x1a78f0)=>{const _0x253538=_0x48ebcd;try{const _0x3d14b3=requireCommandPut(_0xcc5911[_0x253538(0x197)]);_0x1a78f0['json'](await deviceFetch(_0x253538(0x1ce)+_0x253538(0x1bc),{'method':_0x253538(0x1d6),'body':JSON[_0x253538(0x13a)+_0x253538(0x147)](_0x3d14b3)}));}catch(_0x4bc288){_0x1a78f0[_0x253538(0x25e)](0x190)[_0x253538(0x25d)]({'message':_0x4bc288[_0x253538(0x170)+'e']});}}),app[_0x48ebcd(0x225)](_0x48ebcd(0x20e)+_0x48ebcd(0x25c)+'and/de'+'lete',async(_0x9db827,_0x5b8a3d)=>{const _0x4b5963=_0x48ebcd;try{const _0x3264ff=requireCommandDelete(_0x9db827[_0x4b5963(0x197)]);_0x5b8a3d[_0x4b5963(0x25d)](await deviceFetch(_0x4b5963(0x1ce)+_0x4b5963(0x207)+_0x4b5963(0x1dd),{'method':_0x4b5963(0x201),'body':JSON['string'+_0x4b5963(0x147)](_0x3264ff)}));}catch(_0x4745db){_0x5b8a3d[_0x4b5963(0x25e)](0x190)[_0x4b5963(0x25d)]({'message':_0x4745db[_0x4b5963(0x170)+'e']});}}),app['post']('/api/i'+_0x48ebcd(0x214)+'n',async(_0x5e7f5b,_0x5295d3)=>{const _0x3aeada=_0x48ebcd;try{_0x5295d3['json'](await deviceFetch('/ir/le'+_0x3aeada(0x185),{'method':_0x3aeada(0x201),'body':'{}'}));}catch(_0x4d5f1a){_0x5295d3[_0x3aeada(0x25e)](0x190)[_0x3aeada(0x25d)]({'message':_0x4d5f1a[_0x3aeada(0x170)+'e']});}}),app[_0x48ebcd(0x19f)](_0x48ebcd(0x20e)+_0x48ebcd(0x214)+_0x48ebcd(0x1d3),async(_0x42b2cd,_0x1400a2)=>{const _0x5c66d1=_0x48ebcd;try{const _0xf4ae30=Date['now']();while(Date['now']()-_0xf4ae30<0x3a98){const _0x4ad18e=await deviceFetch(_0x5c66d1(0x241)+'ad');if(_0x4ad18e[_0x5c66d1(0x26a)+'a'])return _0x1400a2[_0x5c66d1(0x25d)](_0x4ad18e);await new Promise(_0x4609be=>setTimeout(_0x4609be,0x320));}_0x1400a2[_0x5c66d1(0x25d)]({'ir_data':'','count':0x0});}catch(_0x51eaae){_0x1400a2[_0x5c66d1(0x25e)](0x190)[_0x5c66d1(0x25d)]({'message':_0x51eaae[_0x5c66d1(0x170)+'e']});}});function asObject(_0x528048){const _0x5729d5=_0x48ebcd;if(!_0x528048)return{};if(typeof _0x528048===_0x5729d5(0x13a))try{return JSON[_0x5729d5(0x1d1)](_0x528048);}catch{return{};}return typeof _0x528048===_0x5729d5(0x180)?_0x528048:{};}function irTestPayload(_0x9a235e){const _0x26b459=_0x48ebcd,_0x1d6201=asObject(_0x9a235e),_0x7bb04c=typeof _0x1d6201[_0x26b459(0x23e)]===_0x26b459(0x13a)?_0x1d6201[_0x26b459(0x23e)][_0x26b459(0x1b1)]():'',_0x3179c8=String(_0x1d6201[_0x26b459(0x16b)+_0x26b459(0x153)]||_0x1d6201[_0x26b459(0x16b)+'Id']||'')[_0x26b459(0x1b1)](),_0x2fd9db=String(_0x1d6201['id']||_0x1d6201[_0x26b459(0x16c)+_0x26b459(0x13c)]||_0x1d6201['comman'+_0x26b459(0x228)]||'')[_0x26b459(0x1b1)](),_0x119a49={};if(_0x7bb04c)_0x119a49[_0x26b459(0x23e)]=_0x7bb04c;if(_0x3179c8)_0x119a49[_0x26b459(0x16b)+_0x26b459(0x153)]=_0x3179c8;if(_0x2fd9db)_0x119a49['id']=_0x2fd9db;return _0x119a49;}function validId(_0x202dcc){const _0x2abe70=_0x48ebcd;return typeof _0x202dcc==='string'&&_0x202dcc[_0x2abe70(0x133)]>0x0&&_0x202dcc[_0x2abe70(0x133)]<=0x20&&/^[A-Za-z0-9_-]+$/[_0x2abe70(0x230)](_0x202dcc);}function validName(_0x2162f0){const _0x37371e=_0x48ebcd;return typeof _0x2162f0===_0x37371e(0x13a)&&_0x2162f0[_0x37371e(0x1b1)]()[_0x37371e(0x133)]>0x0&&_0x2162f0[_0x37371e(0x133)]<=0x40;}function validType(_0x1557de){const _0x3d02cc=_0x48ebcd;return[_0x3d02cc(0x276),'ac','tv','custom']['includ'+'es'](_0x1557de);}function validCode(_0x485b51){const _0x28f356=_0x48ebcd;if(!_0x485b51)return!![];if(typeof _0x485b51!==_0x28f356(0x13a)||_0x485b51[_0x28f356(0x133)]>0x1000)return![];const _0x4d4cb7=_0x485b51[_0x28f356(0x23f)+'e'](/^zf=/i,'')['replac'+'e'](/[\r\n]/g,'')[_0x28f356(0x1b1)]();if(_0x4d4cb7[_0x28f356(0x1d8)+'With']('xx'))return _0x4d4cb7[_0x28f356(0x133)]<=0x8;return/^-?\d+(,-?\d+)*(,len=\d+)?$/[_0x28f356(0x230)](_0x4d4cb7);}function requireDevicePut(_0x108f47){const _0x2a3688=_0x48ebcd,_0x5991f4=asObject(_0x108f47),_0x11909a=String(_0x5991f4['id']||'')[_0x2a3688(0x1b1)](),_0x27f00e=String(_0x5991f4['name']||'')[_0x2a3688(0x1b1)](),_0x445cab=String(_0x5991f4[_0x2a3688(0x196)]||_0x2a3688(0x1fa))[_0x2a3688(0x1b1)]()||_0x2a3688(0x1fa);if(!validId(_0x11909a)||!validName(_0x27f00e))throw new Error('电器\x20id\x20'+_0x2a3688(0x1cd));if(!validType(_0x445cab))throw new Error(_0x2a3688(0x145)+'法');return{'id':_0x11909a,'name':_0x27f00e,'type':_0x445cab};}function requireCommandPut(_0x2474b3){const _0x338757=_0x48ebcd,_0x1e45ad=asObject(_0x2474b3),_0x12002e=String(_0x1e45ad[_0x338757(0x16b)+_0x338757(0x153)]||'')[_0x338757(0x1b1)](),_0x27bd7e=String(_0x1e45ad['id']||'')['trim'](),_0x37c74b=_0x1e45ad[_0x338757(0x167)]==null?'':String(_0x1e45ad['name'])[_0x338757(0x1b1)](),_0x3a2854=_0x1e45ad[_0x338757(0x23e)]==null?'':String(_0x1e45ad[_0x338757(0x23e)]);if(!validId(_0x12002e)||!validId(_0x27bd7e))throw new Error(_0x338757(0x15c)+_0x338757(0x12e));if(_0x37c74b&&!validName(_0x37c74b))throw new Error('按键名称不合'+'法');if(!validCode(_0x3a2854))throw new Error(_0x338757(0x125)+'合法');return{'device_id':_0x12002e,'id':_0x27bd7e,'name':_0x37c74b,'code':_0x3a2854};}function requireCommandDelete(_0x206b9a){const _0x209c29=_0x48ebcd,_0xce4fb=asObject(_0x206b9a),_0x924cb1=String(_0xce4fb[_0x209c29(0x16b)+_0x209c29(0x153)]||'')['trim'](),_0x1f2653=String(_0xce4fb['id']||'')[_0x209c29(0x1b1)]();if(!validId(_0x924cb1)||!validId(_0x1f2653))throw new Error(_0x209c29(0x253)+'电器或按键');return{'device_id':_0x924cb1,'id':_0x1f2653};}app[_0x48ebcd(0x19f)](_0x48ebcd(0x20e)+'r/expo'+'rt',async(_0x456ffd,_0x2f9639)=>{const _0x20e946=_0x48ebcd;try{const _0x5ae3cd=await deviceFetch(_0x20e946(0x269)+'port');_0x2f9639[_0x20e946(0x25d)]({'version':0x1,'exportedAt':new Date()['toISOS'+_0x20e946(0x19c)](),'devices':_0x5ae3cd[_0x20e946(0x16b)+'s']||[]});}catch(_0x1eedea){_0x2f9639[_0x20e946(0x25e)](0x190)['json']({'message':_0x1eedea[_0x20e946(0x170)+'e']});}}),app[_0x48ebcd(0x225)]('/api/i'+_0x48ebcd(0x20f)+'rt',async(_0x492046,_0x5a1311)=>{const _0x259b0a=_0x48ebcd;try{const _0x340b3c=validateIrImportPayload(_0x492046[_0x259b0a(0x197)]);_0x5a1311['json'](await deviceFetch(_0x259b0a(0x160)+_0x259b0a(0x1f9),{'method':'POST','body':JSON['string'+_0x259b0a(0x147)](_0x340b3c)}));}catch(_0x346d75){_0x5a1311[_0x259b0a(0x25e)](0x190)['json']({'message':_0x346d75[_0x259b0a(0x170)+'e']});}}),app[_0x48ebcd(0x225)](_0x48ebcd(0x20e)+_0x48ebcd(0x232),async(_0x2d49dd,_0x3a6e4a)=>{const _0x3777e1=_0x48ebcd;try{const _0x4445eb=irTestPayload(_0x2d49dd[_0x3777e1(0x197)]);console[_0x3777e1(0x14d)]('[ir.te'+_0x3777e1(0x13b)+_0x3777e1(0x1c9),_0x2d49dd[_0x3777e1(0x197)],_0x3777e1(0x227)+'d=',_0x4445eb);if(!_0x4445eb['code']&&(!_0x4445eb[_0x3777e1(0x16b)+_0x3777e1(0x153)]||!_0x4445eb['id']))throw new Error(_0x3777e1(0x16e)+'按键');_0x3a6e4a[_0x3777e1(0x25d)](await deviceFetch(_0x3777e1(0x239)+'st',{'method':'POST','body':JSON[_0x3777e1(0x13a)+_0x3777e1(0x147)](_0x4445eb)}));}catch(_0x5fb309){_0x3a6e4a[_0x3777e1(0x25e)](0x190)[_0x3777e1(0x25d)]({'message':_0x5fb309[_0x3777e1(0x170)+'e']});}}),registerCameraRoutes(app,{'getConfig':()=>{return new Proxy(config,{'get'(_0x347e03,_0x327723){const _0x2efe94=_0x53b0,_0x501e9c=getRequestDevice()?.['id']||_0x347e03[_0x2efe94(0x1e3)+_0x2efe94(0x247)+'Id'];if(_0x327723==='camera')return _0x501e9c?_0x347e03['device'+'s']?.[_0x501e9c]?.[_0x2efe94(0x1e9)]:_0x347e03['camera'];return _0x347e03[_0x327723];},'set'(_0x23498a,_0x565640,_0x2617ab){const _0x3b89bf=_0x53b0,_0x2fe3f2=getRequestDevice()?.['id']||_0x23498a[_0x3b89bf(0x1e3)+_0x3b89bf(0x247)+'Id'];if(_0x565640===_0x3b89bf(0x1e9)&&_0x2fe3f2)return setCamera(_0x23498a,_0x2fe3f2,_0x2617ab),!![];return _0x23498a[_0x565640]=_0x2617ab,!![];}});},'saveConfig':()=>saveConfig(config)}),setCameraHooks({'getDeviceBaseUrl':()=>getRequestDevice()?.[_0x48ebcd(0x146)+'l']||focusedRecord()?.[_0x48ebcd(0x146)+'l']||config[_0x48ebcd(0x16b)+_0x48ebcd(0x233)+'l'],'getDeviceCaps':()=>currentCaps(),'publishGimbal':async _0xd42fab=>{const _0x46fdd8=_0x48ebcd;requireDeviceOnline();const _0x4507cd=_0xd42fab?.[_0x46fdd8(0x21e)]===_0x46fdd8(0x1e2)?'stop':_0x46fdd8(0x14b),_0x3eb3e0=await deviceFetch(_0x46fdd8(0x188)+_0x46fdd8(0x17b)+_0x46fdd8(0x251),{'method':_0x46fdd8(0x201),'body':JSON[_0x46fdd8(0x13a)+_0x46fdd8(0x147)](_0xd42fab||{}),'kind':_0x4507cd,'timeoutMs':0x1f4});if(_0x3eb3e0['ok']===![])throw new Error(_0x3eb3e0['messag'+'e']||_0x46fdd8(0x17c));return _0x3eb3e0;}});async function publishAnnounce(_0x58ca75){const _0x306c0c=_0x48ebcd;if(!currentMossOnline())return![];const _0x1d88c4=typeof _0x58ca75===_0x306c0c(0x13a)?_0x58ca75:_0x58ca75?.[_0x306c0c(0x25a)],_0x56ffc0=typeof _0x58ca75===_0x306c0c(0x13a)?'':_0x58ca75?.[_0x306c0c(0x210)+'ce'];try{return await publishWakeAndText(_0x1d88c4,_0x56ffc0),applyVoice(focusedRecord()?.['id']||config[_0x306c0c(0x1e3)+_0x306c0c(0x247)+'Id'],_0x306c0c(0x173)+_0x306c0c(0x250)),!![];}catch(_0x57448b){return console[_0x306c0c(0x275)](_0x306c0c(0x1c5)+'angji]'+_0x306c0c(0x1d9)+_0x306c0c(0x21f)+'il',_0x57448b[_0x306c0c(0x170)+'e']),![];}}registerMcpRoutes(app,{'getConfig':()=>config,'emit':emit,'publishWakeAndText':_0x3551f2=>{const _0x1fc3af=_0x48ebcd;if(!currentMossOnline())return![];return publishWakeAndText(_0x3551f2)[_0x1fc3af(0x268)](_0x29622d=>console[_0x1fc3af(0x275)](_0x1fc3af(0x1a0)+_0x1fc3af(0x22c),_0x29622d[_0x1fc3af(0x170)+'e'])),!![];},'publishAnnounce':publishAnnounce,'isAnnounceReady':()=>currentMossOnline(),'isWakeOnTaskCompleteEnabled':()=>loadMcpSettings()['wakeOn'+_0x48ebcd(0x1ac)+'mplete']===!![],'syncYunxiangjiInbox':()=>scheduleYunxiangjiInboxPush()});function shouldServeUi(){const _0x56b719=_0x48ebcd;return process[_0x56b719(0x139)][_0x56b719(0x234)+'NV']===_0x56b719(0x22a)+_0x56b719(0x266)||process[_0x56b719(0x139)][_0x56b719(0x129)+_0x56b719(0x1ca)+_0x56b719(0x23d)]==='1';}function openBrowser(_0x5208f7){const _0x1b0de=_0x48ebcd;try{if(process[_0x1b0de(0x1d2)+'rm']==='darwin')execFile(_0x1b0de(0x211),[_0x5208f7]);else{if(process[_0x1b0de(0x1d2)+'rm']===_0x1b0de(0x264))execFile(_0x1b0de(0x1dc),['/c',_0x1b0de(0x1ad),'',_0x5208f7]);else execFile(_0x1b0de(0x22d)+'en',[_0x5208f7]);}}catch(_0x352ce4){console['warn'](_0x1b0de(0x265)+_0x1b0de(0x151),_0x352ce4[_0x1b0de(0x170)+'e']);}}function serveProductionUi(){const _0xde5814=_0x48ebcd,_0x1234a7=_0x30377c[_0xde5814(0x1b2)](DIST_DIR,_0xde5814(0x270)+_0xde5814(0x1f8));if(_0x24e640[_0xde5814(0x1cf)+_0xde5814(0x204)](_0x1234a7))return registerMediaRoutes(app,DIST_DIR),app[_0xde5814(0x178)](_0x5c053c['static'](DIST_DIR)),app[_0xde5814(0x178)]((_0x38134b,_0xd9c57d,_0x5c8e12)=>{const _0x286bb6=_0xde5814;if(_0x38134b[_0x286bb6(0x18a)]!==_0x286bb6(0x142)&&_0x38134b[_0x286bb6(0x18a)]!==_0x286bb6(0x24c))return _0x5c8e12();if(_0x38134b[_0x286bb6(0x21b)][_0x286bb6(0x1d8)+_0x286bb6(0x1f7)](_0x286bb6(0x1a4)))return _0x5c8e12();_0xd9c57d[_0x286bb6(0x13e)+'le'](_0x1234a7);}),!![];return console[_0xde5814(0x275)](_0xde5814(0x16a)+_0xde5814(0x1fc)+'构建'),![];}shouldServeUi()&&!shouldAttachDevUi()&&serveProductionUi();let httpServer=null,viteDev=null,shuttingDown=![];function shutdown(){const _0x21ca1e=_0x48ebcd;if(shuttingDown)return;shuttingDown=!![];try{disconnectCamera();}catch{}clearListenRuntime();const _0x28795b=()=>{const _0x3f6dfc=_0x53b0;if(!httpServer){process[_0x3f6dfc(0x14f)](0x0);return;}httpServer[_0x3f6dfc(0x143)](()=>process[_0x3f6dfc(0x14f)](0x0)),setTimeout(()=>process[_0x3f6dfc(0x14f)](0x0),0x320)[_0x3f6dfc(0x248)]();};if(!viteDev){_0x28795b();return;}viteDev[_0x21ca1e(0x143)]()[_0x21ca1e(0x162)](_0x28795b,_0x28795b);}function createHttpServer(){const _0x5eed9d=_0x48ebcd,_0x44bd1d=_0x5907f2[_0x5eed9d(0x161)+_0x5eed9d(0x1eb)](app);return _0x44bd1d[_0x5eed9d(0x1e8)+'t']=0x0,_0x44bd1d[_0x5eed9d(0x1f1)+_0x5eed9d(0x273)+_0x5eed9d(0x18c)]=0x0,_0x44bd1d[_0x5eed9d(0x272)+_0x5eed9d(0x208)+'ut']=0x0,_0x44bd1d[_0x5eed9d(0x218)+'tTimeo'+'ut']=0x0,_0x44bd1d;}function attachServer(_0x285825,_0x29ccdc){const _0x3cde83=_0x48ebcd;httpServer=_0x285825,writeRuntime(_0x29ccdc),process[_0x3cde83(0x139)][_0x3cde83(0x223)]=String(_0x29ccdc),process[_0x3cde83(0x139)][_0x3cde83(0x1ba)+_0x3cde83(0x25b)+'T']=String(_0x29ccdc);const _0x58d979=_0x3cde83(0x191)+_0x3cde83(0x244)+_0x3cde83(0x198)+_0x29ccdc,_0x5a30eb=process['env'][_0x3cde83(0x26c)+_0x3cde83(0x1d7)]?'\x20v'+process[_0x3cde83(0x139)][_0x3cde83(0x26c)+_0x3cde83(0x1d7)]:'';console[_0x3cde83(0x14d)](_0x3cde83(0x206)+_0x3cde83(0x226)+_0x5a30eb+'\x20\x20'+_0x58d979),viteDev&&console[_0x3cde83(0x14d)]('[serve'+_0x3cde83(0x154)+_0x3cde83(0x242)+_0x3cde83(0x26e)+_0x3cde83(0x274)),_0x29ccdc!==PORT&&console[_0x3cde83(0x14d)](_0x3cde83(0x1c8)+_0x3cde83(0x25f)+PORT+(_0x3cde83(0x1ef)+_0x3cde83(0x14c)+_0x3cde83(0x1fe))+_0x29ccdc+'。'),process['env']['MOSS_O'+_0x3cde83(0x1ca)+_0x3cde83(0x23d)]==='1'&&openBrowser(_0x58d979),prefetchFfmpeg(),initBridgeWebSocket(),startPresenceWatch();}function listenOn(_0x477e8f,_0x1ef609){return new Promise((_0x362c94,_0x379c8a)=>{const _0x398be3=_0x53b0,_0x2be98f=_0x566c2b=>{const _0x1e3740=_0x53b0;_0x477e8f[_0x1e3740(0x182)](_0x1e3740(0x187)+_0x1e3740(0x219),_0x369999),_0x379c8a(_0x566c2b);},_0x369999=()=>{const _0xaedc49=_0x53b0;_0x477e8f[_0xaedc49(0x182)]('error',_0x2be98f),_0x362c94(_0x477e8f);};_0x477e8f[_0x398be3(0x21d)]('error',_0x2be98f),_0x477e8f[_0x398be3(0x21d)](_0x398be3(0x187)+'ing',_0x369999),_0x477e8f[_0x398be3(0x187)](_0x1ef609);});}async function listenPreferred(_0x115535){const _0x5d0a38=_0x48ebcd,_0x4a2fd3=await reclaimListenPort({'preferredPort':_0x115535,'runtimePath':RUNTIME_PATH});_0x4a2fd3[_0x5d0a38(0x1b4)]&&console[_0x5d0a38(0x14d)]('[serve'+_0x5d0a38(0x258)+_0x5d0a38(0x1e5)+_0x5d0a38(0x193)+_0x5d0a38(0x26f)+_0x115535+'。');const _0x42d71b=createHttpServer();if(shouldAttachDevUi())try{viteDev=await attachViteDev(app,_0x42d71b,{'root':ROOT_DIR});}catch(_0x46b181){console[_0x5d0a38(0x275)](_0x5d0a38(0x1c8)+_0x5d0a38(0x249)+_0x5d0a38(0x195),_0x46b181[_0x5d0a38(0x170)+'e']);}const _0x3558c0=0x18;for(let _0x29937f=0x0;_0x29937f<_0x3558c0;_0x29937f+=0x1){const _0x276a32=nextListenPort(_0x115535,_0x29937f);try{await listenOn(_0x42d71b,_0x276a32),attachServer(_0x42d71b,_0x276a32);return;}catch(_0x48e758){_0x48e758[_0x5d0a38(0x23e)]!==_0x5d0a38(0x1e0)+_0x5d0a38(0x1df)&&(console[_0x5d0a38(0x175)](_0x48e758),process[_0x5d0a38(0x14f)](0x1)),_0x29937f<0x7&&(await reclaimListenPort({'preferredPort':_0x115535,'runtimePath':RUNTIME_PATH}),await sleep(0x78));}}console[_0x5d0a38(0x175)](_0x5d0a38(0x1c8)+'r]\x20'+_0x115535+(_0x5d0a38(0x222)+'均被占用')),process[_0x5d0a38(0x14f)](0x1);}process['on']('SIGTER'+'M',shutdown),process['on'](_0x48ebcd(0x252),shutdown),listenPreferred(PORT)['catch'](_0x121423=>{const _0x1ce3b7=_0x48ebcd;console[_0x1ce3b7(0x175)](_0x121423),process[_0x1ce3b7(0x14f)](0x1);});
@@ -1 +1 @@
1
- function _0x1ee3(_0x304518,_0x16a8e3){_0x304518=_0x304518-0x156;const _0x34ebc0=_0x34eb();let _0x1ee377=_0x34ebc0[_0x304518];if(_0x1ee3['lYBXqL']===undefined){var _0x577da2=function(_0x1bcff5){const _0xa1c30a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xeab803='',_0x24d26c='';for(let _0xfa007=0x0,_0x362581,_0x222aed,_0x36a14c=0x0;_0x222aed=_0x1bcff5['charAt'](_0x36a14c++);~_0x222aed&&(_0x362581=_0xfa007%0x4?_0x362581*0x40+_0x222aed:_0x222aed,_0xfa007++%0x4)?_0xeab803+=String['fromCharCode'](0xff&_0x362581>>(-0x2*_0xfa007&0x6)):0x0){_0x222aed=_0xa1c30a['indexOf'](_0x222aed);}for(let _0x2dc8d1=0x0,_0x47a358=_0xeab803['length'];_0x2dc8d1<_0x47a358;_0x2dc8d1++){_0x24d26c+='%'+('00'+_0xeab803['charCodeAt'](_0x2dc8d1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x24d26c);};_0x1ee3['ftzAQj']=_0x577da2,_0x1ee3['qSLoZa']={},_0x1ee3['lYBXqL']=!![];}const _0x2d1ce7=_0x34ebc0[0x0],_0x12a842=_0x304518+_0x2d1ce7,_0x610f6d=_0x1ee3['qSLoZa'][_0x12a842];return!_0x610f6d?(_0x1ee377=_0x1ee3['ftzAQj'](_0x1ee377),_0x1ee3['qSLoZa'][_0x12a842]=_0x1ee377):_0x1ee377=_0x610f6d,_0x1ee377;}const _0x47aba8=_0x1ee3;(function(_0x578f71,_0x5b0fd7){const _0x4b98d9=_0x1ee3,_0x249de1=_0x578f71();while(!![]){try{const _0x2ffddd=-parseInt(_0x4b98d9(0x191))/0x1+-parseInt(_0x4b98d9(0x177))/0x2*(-parseInt(_0x4b98d9(0x19f))/0x3)+-parseInt(_0x4b98d9(0x18f))/0x4*(-parseInt(_0x4b98d9(0x16a))/0x5)+parseInt(_0x4b98d9(0x164))/0x6+-parseInt(_0x4b98d9(0x157))/0x7*(parseInt(_0x4b98d9(0x189))/0x8)+parseInt(_0x4b98d9(0x161))/0x9+parseInt(_0x4b98d9(0x1a1))/0xa;if(_0x2ffddd===_0x5b0fd7)break;else _0x249de1['push'](_0x249de1['shift']());}catch(_0x2e2667){_0x249de1['push'](_0x249de1['shift']());}}}(_0x34eb,0x54746));const MAX_APPLIANCES=0x10,MAX_COMMANDS=0x30,MAX_CODE_LEN=0x1000,VALID_TYPES=new Set([_0x47aba8(0x178),'ac','tv',_0x47aba8(0x187)]);export function validIrId(_0xeab803){const _0x5af305=_0x47aba8;return typeof _0xeab803===_0x5af305(0x17c)&&_0xeab803[_0x5af305(0x192)]>0x0&&_0xeab803[_0x5af305(0x192)]<=0x20&&/^[A-Za-z0-9_-]+$/[_0x5af305(0x170)](_0xeab803);}function _0x34eb(){const _0x3cd92f=['ios4QUAmIEMuRG','57Y65Bcrihn0CG','5B+f6Ag75PIViePt','ioAvSoE7Ha','44cn55Qe57QI5Asw56cb5Qc8','m3DOvLnnvW','44cn5lIn5zci5Rov','ndq3otCWtevUzfj3','5A+85ywL5PAh5lU254Mi5PYS','zgvbDa','B3nZlwLY','5ywb6k645A2x5Q+n5PwW5A2x','ioAiLIbTzxi','44cn5OYj6zsU5PwW6yEpia','ChvZAa','mtrbBgrLz0i','6zsz6k+V77YA5Qc56iQc54k5','44cn57Y65BcrignV','44cn56YSia','6io95lI656M65lIu5lIn6io9','5Qc85BYp6zsz6k+V77Ym5B+f','C3rHCNrZ','zxmG5PwW57Ue','5BYp5lIn5zci5Rov','44cn5lIn5zci5Rov77Ym5lIn','mtK5odC4m3vRwM5YuW','lwnHDgfS','Bw1HBMrZ','mJm4mZC2ngvqruHZuW','44cn6yEn5Asn','Bw9Kzq','44cnDhLWzEoaJa','koEPUIK','CMvWBgfJ','mZqWC1bvquDq','DhLWzq','5A+85ywL5QIH5BYp5lIn5zci','44cn5lIn5zci5Rov77Ym5lUf','DhjPBq','AgfZ','DgvZDa','BwvYz2u','Aw5NioEXU+wEIW','iowVVowhUUEAHcbT','y29TBwfU','ioI2HEI/H+s4IUMzKca','55s15zMO44cm','mtyYmZe0sLjzq2H4','BgLNAhq','ig5HBwxJGiW','igrLDMLJ','55QeigLKiowTLW','C3rYAw5N','AxnbCNjH','5B+f6Ag75PIV5A2x56YM5lIY','5Rov77Ym5BQu5lI6ihi','6Ag75PIV5A+56lgH','44cn5lIn5zci5Rov77Ym5BQu','B2jQzwn0','5lIn5PsV5OYb77Ym6k+35l2/','igLK44cm','DI9JDxn0','55s15zMO5zcn56EW44cm','y3vZDg9T','55s15zMO5PwW6yEpia','odKXmZy4zw5sAgDT','5zcR5O6N5yI25A2x56YM','iowTL+AUTq','ywrK','y2HHCKnV','y29Kzq','mJK2nJHpvMDbEeC','t04G5A+56lgH','nJGWotiZv2Tervzs','BgvUz3rO','55sOie1pu1m','BMfTzq','Dc9HyY90','DMvYC2LV','ignVzguG','5A+85ywL5PAh5lU257Y65Bcr','zgv2AwnL'];_0x34eb=function(){return _0x3cd92f;};return _0x34eb();}export function validIrName(_0x24d26c){const _0x31568d=_0x47aba8;if(typeof _0x24d26c!==_0x31568d(0x17c)||_0x24d26c[_0x31568d(0x192)]===0x0||_0x24d26c[_0x31568d(0x192)]>0x40)return![];if(_0x24d26c[_0x31568d(0x16e)]()[_0x31568d(0x192)]===0x0)return![];for(let _0xfa007=0x0;_0xfa007<_0x24d26c[_0x31568d(0x192)];_0xfa007+=0x1){const _0x362581=_0x24d26c[_0x31568d(0x18d)+_0x31568d(0x1a3)](_0xfa007);if(_0x362581<0x20)return![];}return!![];}export function validIrType(_0x222aed){const _0x43b0e1=_0x47aba8;return typeof _0x222aed===_0x43b0e1(0x17c)&&VALID_TYPES[_0x43b0e1(0x16f)](_0x222aed);}export function validIrCode(_0x36a14c){const _0x361c7a=_0x47aba8;if(_0x36a14c===''||_0x36a14c==null)return!![];if(typeof _0x36a14c!==_0x361c7a(0x17c)||_0x36a14c[_0x361c7a(0x192)]>MAX_CODE_LEN)return![];const _0x2dc8d1=_0x36a14c[_0x361c7a(0x169)+'e'](/^zf=/i,'')['replac'+'e'](/[\r\n]/g,'')[_0x361c7a(0x16e)]();if(_0x2dc8d1[_0x361c7a(0x15d)+'With']('xx'))return _0x2dc8d1[_0x361c7a(0x192)]<=0x8&&/^xx[0-9a-fA-F]{0,6}$/[_0x361c7a(0x170)](_0x2dc8d1);return/^-?\d+(,-?\d+)*(,len=\d+)?$/[_0x361c7a(0x170)](_0x2dc8d1);}export function validateIrImportPayload(_0x47a358){const _0x56a89a=_0x47aba8;if(!_0x47a358||typeof _0x47a358!==_0x56a89a(0x182)||Array[_0x56a89a(0x17d)+'y'](_0x47a358))throw new Error('导入文件格式'+_0x56a89a(0x158)+_0x56a89a(0x19c)+_0x56a89a(0x190));const _0x410d76=_0x47a358;if(_0x410d76[_0x56a89a(0x196)+'n']!=null&&_0x410d76[_0x56a89a(0x196)+'n']!==0x1)throw new Error(_0x56a89a(0x1a2)+_0x56a89a(0x183)+_0x56a89a(0x193)+_0x56a89a(0x173)+_0x56a89a(0x1a4)+_0x56a89a(0x162)+'og.jso'+'n');if(!Array[_0x56a89a(0x17d)+'y'](_0x410d76[_0x56a89a(0x199)+'s']))throw new Error(_0x56a89a(0x198)+_0x56a89a(0x17a)+_0x56a89a(0x15e));if(_0x410d76[_0x56a89a(0x199)+'s'][_0x56a89a(0x192)]>MAX_APPLIANCES)throw new Error(_0x56a89a(0x188)+_0x410d76[_0x56a89a(0x199)+'s']['length']+_0x56a89a(0x175)+MAX_APPLIANCES);const _0x3550bb=new Set(),_0x40f56c=new Set(),_0x50b7c4=[];for(let _0x39fa29=0x0;_0x39fa29<_0x410d76[_0x56a89a(0x199)+'s'][_0x56a89a(0x192)];_0x39fa29+=0x1){const _0x3e4d9f=_0x410d76['device'+'s'][_0x39fa29],_0x23f672='第\x20'+(_0x39fa29+0x1)+'\x20个电器';if(!_0x3e4d9f||typeof _0x3e4d9f!==_0x56a89a(0x182)||Array[_0x56a89a(0x17d)+'y'](_0x3e4d9f))throw new Error(_0x23f672+(_0x56a89a(0x15c)+_0x56a89a(0x180)));const _0x54d5a2=_0x3e4d9f;if(typeof _0x54d5a2['id']!==_0x56a89a(0x17c))throw new Error(_0x23f672+(_0x56a89a(0x19b)+_0x56a89a(0x172)+_0x56a89a(0x17b)+'段'));if(typeof _0x54d5a2[_0x56a89a(0x194)]!==_0x56a89a(0x17c))throw new Error(_0x23f672+('缺少\x20str'+_0x56a89a(0x172)+'的\x20name'+_0x56a89a(0x18b)));if(typeof _0x54d5a2['type']!=='string')throw new Error(_0x23f672+(_0x56a89a(0x19b)+_0x56a89a(0x172)+'的\x20type'+_0x56a89a(0x18b)));if(!Array[_0x56a89a(0x17d)+'y'](_0x54d5a2[_0x56a89a(0x174)+'ds']))throw new Error('电器「'+(_0x54d5a2['name'][_0x56a89a(0x16e)]()||_0x54d5a2['id']['trim']())+(_0x56a89a(0x159)+_0x56a89a(0x163)+_0x56a89a(0x19d)));const _0x2c467c=_0x54d5a2['id']['trim'](),_0x21ad65=_0x54d5a2[_0x56a89a(0x194)][_0x56a89a(0x16e)](),_0x4cbef1=_0x54d5a2[_0x56a89a(0x16b)][_0x56a89a(0x16e)]();if(!validIrId(_0x2c467c))throw new Error(_0x23f672+'\x20id「'+(_0x2c467c||_0x56a89a(0x168))+(_0x56a89a(0x16d)+_0x56a89a(0x1a5)+'及\x20_-,最'+'长\x2032\x20字'+'符'));if(!validIrName(_0x21ad65))throw new Error(_0x23f672+'\x20name「'+(_0x21ad65||'(空)')+(_0x56a89a(0x160)+_0x56a89a(0x15b)+_0x56a89a(0x18a)));if(!validIrType(_0x4cbef1))throw new Error(_0x56a89a(0x176)+_0x21ad65+_0x56a89a(0x167)+_0x4cbef1+(_0x56a89a(0x181)+'为\x20ligh'+_0x56a89a(0x195)+_0x56a89a(0x185)+'om'));if(_0x3550bb['has'](_0x2c467c))throw new Error('电器\x20id「'+_0x2c467c+_0x56a89a(0x165));if(_0x40f56c['has'](_0x21ad65))throw new Error(_0x56a89a(0x186)+_0x21ad65+'」重复');_0x3550bb[_0x56a89a(0x18c)](_0x2c467c),_0x40f56c[_0x56a89a(0x18c)](_0x21ad65);if(_0x54d5a2[_0x56a89a(0x174)+'ds'][_0x56a89a(0x192)]>MAX_COMMANDS)throw new Error(_0x56a89a(0x176)+_0x21ad65+_0x56a89a(0x1a7)+_0x54d5a2[_0x56a89a(0x174)+'ds'][_0x56a89a(0x192)]+_0x56a89a(0x175)+MAX_COMMANDS);const _0x4f783d=new Set(),_0x41f43a=new Set(),_0xe42bae=[];for(let _0x5769bf=0x0;_0x5769bf<_0x54d5a2[_0x56a89a(0x174)+'ds'][_0x56a89a(0x192)];_0x5769bf+=0x1){const _0xca4b96=_0x54d5a2[_0x56a89a(0x174)+'ds'][_0x5769bf],_0x1d7b73=_0x56a89a(0x176)+_0x21ad65+_0x56a89a(0x15a)+(_0x5769bf+0x1)+_0x56a89a(0x19a);if(!_0xca4b96||typeof _0xca4b96!==_0x56a89a(0x182)||Array[_0x56a89a(0x17d)+'y'](_0xca4b96))throw new Error(_0x1d7b73+('格式错误,必'+_0x56a89a(0x180)));const _0x5bc486=_0xca4b96;if(typeof _0x5bc486['id']!==_0x56a89a(0x17c))throw new Error(_0x1d7b73+('缺少\x20str'+_0x56a89a(0x172)+_0x56a89a(0x17b)+'段'));if(typeof _0x5bc486['name']!=='string')throw new Error(_0x1d7b73+(_0x56a89a(0x19b)+_0x56a89a(0x172)+'的\x20name'+_0x56a89a(0x18b)));if(_0x5bc486[_0x56a89a(0x18e)]!=null&&typeof _0x5bc486[_0x56a89a(0x18e)]!=='string')throw new Error(_0x1d7b73+(_0x56a89a(0x197)+_0x56a89a(0x17e)));const _0x8ea2e5=_0x5bc486['id']['trim'](),_0x4cfe9c=_0x5bc486[_0x56a89a(0x194)][_0x56a89a(0x16e)](),_0x200bdb=_0x5bc486[_0x56a89a(0x18e)]==null?'':_0x5bc486['code'];if(!validIrId(_0x8ea2e5))throw new Error(_0x1d7b73+_0x56a89a(0x184)+(_0x8ea2e5||_0x56a89a(0x168))+_0x56a89a(0x1a0));if(!validIrName(_0x4cfe9c))throw new Error(_0x1d7b73+_0x56a89a(0x179)+(_0x4cfe9c||_0x56a89a(0x168))+_0x56a89a(0x1a0));if(!validIrCode(_0x200bdb))throw new Error(_0x1d7b73+'「'+_0x4cfe9c+(_0x56a89a(0x19e)+_0x56a89a(0x15f)));if(_0x4f783d['has'](_0x8ea2e5))throw new Error('电器「'+_0x21ad65+('」按键\x20id'+'「')+_0x8ea2e5+_0x56a89a(0x165));if(_0x41f43a[_0x56a89a(0x16f)](_0x4cfe9c))throw new Error(_0x56a89a(0x176)+_0x21ad65+'」按键名称「'+_0x4cfe9c+_0x56a89a(0x165));_0x4f783d[_0x56a89a(0x18c)](_0x8ea2e5),_0x41f43a[_0x56a89a(0x18c)](_0x4cfe9c),_0xe42bae[_0x56a89a(0x156)]({'id':_0x8ea2e5,'name':_0x4cfe9c,'code':_0x200bdb});}_0x50b7c4[_0x56a89a(0x156)]({'id':_0x2c467c,'name':_0x21ad65,'type':_0x4cbef1,'commands':_0xe42bae});}const _0x554587=_0x410d76['mode']==null?_0x56a89a(0x169)+'e':String(_0x410d76[_0x56a89a(0x166)])[_0x56a89a(0x16e)]();if(_0x554587!=='replac'+'e'&&_0x554587!==_0x56a89a(0x171))throw new Error(_0x56a89a(0x16c)+_0x56a89a(0x17f)+'eplace'+_0x56a89a(0x1a6)+'ge');return{'version':0x1,'mode':_0x554587,'devices':_0x50b7c4};}
1
+ const _0x573b5c=_0x3d75;(function(_0x5b7f01,_0x4975de){const _0x225e68=_0x3d75,_0x464ab2=_0x5b7f01();while(!![]){try{const _0x1f5215=parseInt(_0x225e68(0xe3))/0x1*(parseInt(_0x225e68(0x99))/0x2)+-parseInt(_0x225e68(0xa2))/0x3+-parseInt(_0x225e68(0xc6))/0x4*(-parseInt(_0x225e68(0xb5))/0x5)+parseInt(_0x225e68(0xaf))/0x6+parseInt(_0x225e68(0xd3))/0x7+-parseInt(_0x225e68(0xb7))/0x8*(-parseInt(_0x225e68(0xc2))/0x9)+-parseInt(_0x225e68(0xbb))/0xa*(parseInt(_0x225e68(0xb4))/0xb);if(_0x1f5215===_0x4975de)break;else _0x464ab2['push'](_0x464ab2['shift']());}catch(_0x7c3ba1){_0x464ab2['push'](_0x464ab2['shift']());}}}(_0x7e5b,0x3885b));const MAX_APPLIANCES=0x10,MAX_COMMANDS=0x30,MAX_CODE_LEN=0x1000,VALID_TYPES=new Set([_0x573b5c(0xa4),'ac','tv',_0x573b5c(0xbf)]);export function validIrId(_0x35aee9){const _0x131004=_0x573b5c;return typeof _0x35aee9===_0x131004(0xab)&&_0x35aee9['length']>0x0&&_0x35aee9[_0x131004(0x9e)]<=0x20&&/^[A-Za-z0-9_-]+$/[_0x131004(0xa9)](_0x35aee9);}export function validIrName(_0xe5e8ee){const _0x40028c=_0x573b5c;if(typeof _0xe5e8ee!=='string'||_0xe5e8ee['length']===0x0||_0xe5e8ee[_0x40028c(0x9e)]>0x40)return![];if(_0xe5e8ee['trim']()['length']===0x0)return![];for(let _0x517798=0x0;_0x517798<_0xe5e8ee[_0x40028c(0x9e)];_0x517798+=0x1){const _0x5b8f36=_0xe5e8ee['charCo'+_0x40028c(0x97)](_0x517798);if(_0x5b8f36<0x20)return![];}return!![];}export function validIrType(_0x1d9f0b){const _0x520591=_0x573b5c;return typeof _0x1d9f0b===_0x520591(0xab)&&VALID_TYPES[_0x520591(0xb8)](_0x1d9f0b);}export function validIrCode(_0x4958e9){const _0xdc3c7c=_0x573b5c;if(_0x4958e9===''||_0x4958e9==null)return!![];if(typeof _0x4958e9!==_0xdc3c7c(0xab)||_0x4958e9[_0xdc3c7c(0x9e)]>MAX_CODE_LEN)return![];const _0xba4e51=_0x4958e9[_0xdc3c7c(0xd5)+'e'](/^zf=/i,'')[_0xdc3c7c(0xd5)+'e'](/[\r\n]/g,'')[_0xdc3c7c(0xa3)]();if(_0xba4e51[_0xdc3c7c(0xde)+_0xdc3c7c(0xcf)]('xx'))return _0xba4e51[_0xdc3c7c(0x9e)]<=0x8&&/^xx[0-9a-fA-F]{0,6}$/[_0xdc3c7c(0xa9)](_0xba4e51);return/^-?\d+(,-?\d+)*(,len=\d+)?$/[_0xdc3c7c(0xa9)](_0xba4e51);}function _0x7e5b(){const _0x4f7170=['55s15zMO44cm','nJK3otm0uKPJtuv3','ChvZAa','BwvYz2u','5y+kif8T77Ym5PYa','ios4QUEuTEwzQa','BgvUz3rO','5zcR5O6N5yI25A2x56YM','44cn5OYj6zsU5zcn56EW44cm','ios4QUAmIEMuRG','mJy1otuWD0fhveXo','DhjPBq','BgLNAhq','ywrK','55s15zMO5PwW6yEpia','iowTL+AUTq','6zw/idmYiowTLW','DgvZDa','44cn6yEn5Asn','C3rYAw5N','55QeigLKiowTLW','DI9JDxn0','ignVzguG','mJu5nZG2ohfYC0fvBW','igrLDMLJ','B3nZlwLY','5Qc85BYp6zsz6k+V77Ym5B+f','57Y65Bcrihn0CG','mta4ndG5mZDrA0Pku2q','mte3nxfkvLDfvq','44cn5lIn5zci5Rov','mZmZmJK2veTktgv0','AgfZ','55s15zMOigLK44cm','DMvYC2LV','mtbzzLDKvvC','44cn5lIn5zci5Rov77Ym5lUf','55Qeihr5Cgu','5B+f6Ag75PIViePt','y3vZDg9T','55sOie1pu1m','5ywb6k645A2x5Q+n5PwW5A2x','otLIruLXEvC','lwnHDgfS','44cn56YSia','5A+85ywL5QIH5BYp5lIn5zci','mta1mNLAt1jkEq','Aw5NioEXU+wEIW','Bw1HBMrZ','ioI2HEI/H+s4IUMzKca','5BYp5lIn5zci5Rov','6Ag75PIV5A+56lgH','B2jQzwn0','B2CUANnV','ig5HBwxJGiW','v2L0Aa','44cn55Qe57QI5Asw56cb5Qc8','Bw9Kzq','igLK44cm','mZa4mdbdr0XOqLq','5A+85ywL5PAh5lU25Qc85BYp','CMvWBgfJ','5B+f6Ag75PIV5A2x56YM5lIY','5A+85ywL5PAh5lU254Mi5PYS','zgv2AwnL','55Qeig5HBwu','iowVVowhUUEAHcbT','44cn5OYj6zsU5PwW6yEpia','44cn57Y65BcrignV','y29Kzq','C3rHCNrZ','5lIn5PsV5OYb77Ym6k+35l2/','y29TBwfU','5lI6igXPz2G','koEPUIK','mwrlA1Hmtq','AxnbCNjH','55s15zMO5zcn56EW44cm','44cnDhLWzEoaJa','BMfTzq','ioAiLIbTzxi','t04G5A+56lgH','zgvbDa'];_0x7e5b=function(){return _0x4f7170;};return _0x7e5b();}function _0x3d75(_0x5653ce,_0x347d2d){_0x5653ce=_0x5653ce-0x94;const _0x7e5b92=_0x7e5b();let _0x3d7593=_0x7e5b92[_0x5653ce];if(_0x3d75['tNnBat']===undefined){var _0x21105c=function(_0x41a721){const _0x55501a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x35aee9='',_0xe5e8ee='';for(let _0x517798=0x0,_0x5b8f36,_0x1d9f0b,_0x4958e9=0x0;_0x1d9f0b=_0x41a721['charAt'](_0x4958e9++);~_0x1d9f0b&&(_0x5b8f36=_0x517798%0x4?_0x5b8f36*0x40+_0x1d9f0b:_0x1d9f0b,_0x517798++%0x4)?_0x35aee9+=String['fromCharCode'](0xff&_0x5b8f36>>(-0x2*_0x517798&0x6)):0x0){_0x1d9f0b=_0x55501a['indexOf'](_0x1d9f0b);}for(let _0xba4e51=0x0,_0x304a86=_0x35aee9['length'];_0xba4e51<_0x304a86;_0xba4e51++){_0xe5e8ee+='%'+('00'+_0x35aee9['charCodeAt'](_0xba4e51)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xe5e8ee);};_0x3d75['HGxozw']=_0x21105c,_0x3d75['bLOivu']={},_0x3d75['tNnBat']=!![];}const _0x4d7f3b=_0x7e5b92[0x0],_0x524420=_0x5653ce+_0x4d7f3b,_0x4a8538=_0x3d75['bLOivu'][_0x524420];return!_0x4a8538?(_0x3d7593=_0x3d75['HGxozw'](_0x3d7593),_0x3d75['bLOivu'][_0x524420]=_0x3d7593):_0x3d7593=_0x4a8538,_0x3d7593;}export function validateIrImportPayload(_0x304a86){const _0xea2bb6=_0x573b5c;if(!_0x304a86||typeof _0x304a86!==_0xea2bb6(0xcc)||Array[_0xea2bb6(0xe4)+'y'](_0x304a86))throw new Error(_0xea2bb6(0xd4)+'错误:根节点'+_0xea2bb6(0xbe)+_0xea2bb6(0x96));const _0x5ebcc6=_0x304a86;if(_0x5ebcc6[_0xea2bb6(0xba)+'n']!=null&&_0x5ebcc6[_0xea2bb6(0xba)+'n']!==0x1)throw new Error(_0xea2bb6(0xd7)+_0xea2bb6(0xdf)+_0xea2bb6(0xc0)+_0xea2bb6(0xda)+_0xea2bb6(0xb1)+_0xea2bb6(0xc3)+_0xea2bb6(0xcd)+'n');if(!Array[_0xea2bb6(0xe4)+'y'](_0x5ebcc6[_0xea2bb6(0xd8)+'s']))throw new Error('导入文件缺少'+_0xea2bb6(0xb0)+'es\x20数组');if(_0x5ebcc6[_0xea2bb6(0xd8)+'s'][_0xea2bb6(0x9e)]>MAX_APPLIANCES)throw new Error(_0xea2bb6(0xa6)+_0x5ebcc6['device'+'s'][_0xea2bb6(0x9e)]+_0xea2bb6(0xc9)+MAX_APPLIANCES);const _0x44c9e7=new Set(),_0x190428=new Set(),_0x5bbde6=[];for(let _0x17f125=0x0;_0x17f125<_0x5ebcc6[_0xea2bb6(0xd8)+'s'][_0xea2bb6(0x9e)];_0x17f125+=0x1){const _0x402c13=_0x5ebcc6[_0xea2bb6(0xd8)+'s'][_0x17f125],_0x151d36='第\x20'+(_0x17f125+0x1)+_0xea2bb6(0x9d);if(!_0x402c13||typeof _0x402c13!==_0xea2bb6(0xcc)||Array[_0xea2bb6(0xe4)+'y'](_0x402c13))throw new Error(_0x151d36+(_0xea2bb6(0xb2)+_0xea2bb6(0xcb)));const _0x2f3a14=_0x402c13;if(typeof _0x2f3a14['id']!==_0xea2bb6(0xab))throw new Error(_0x151d36+(_0xea2bb6(0xb3)+_0xea2bb6(0xc7)+'的\x20id\x20字'+'段'));if(typeof _0x2f3a14[_0xea2bb6(0x94)]!==_0xea2bb6(0xab))throw new Error(_0x151d36+(_0xea2bb6(0xb3)+_0xea2bb6(0xc7)+_0xea2bb6(0xd9)+_0xea2bb6(0xa7)));if(typeof _0x2f3a14['type']!==_0xea2bb6(0xab))throw new Error(_0x151d36+(_0xea2bb6(0xb3)+'ing\x20类型'+_0xea2bb6(0xbd)+_0xea2bb6(0xa7)));if(!Array[_0xea2bb6(0xe4)+'y'](_0x2f3a14[_0xea2bb6(0xe0)+'ds']))throw new Error(_0xea2bb6(0x98)+(_0x2f3a14[_0xea2bb6(0x94)][_0xea2bb6(0xa3)]()||_0x2f3a14['id'][_0xea2bb6(0xa3)]())+(_0xea2bb6(0xdc)+_0xea2bb6(0xc8)+'\x20数组'));const _0x1f4009=_0x2f3a14['id'][_0xea2bb6(0xa3)](),_0x2cdb52=_0x2f3a14[_0xea2bb6(0x94)][_0xea2bb6(0xa3)](),_0x392dad=_0x2f3a14['type'][_0xea2bb6(0xa3)]();if(!validIrId(_0x1f4009))throw new Error(_0x151d36+'\x20id「'+(_0x1f4009||'(空)')+(_0xea2bb6(0xbc)+_0xea2bb6(0xc1)+_0xea2bb6(0x9c)+_0xea2bb6(0xa8)+'符'));if(!validIrName(_0x2cdb52))throw new Error(_0x151d36+_0xea2bb6(0xce)+(_0x2cdb52||_0xea2bb6(0xe2))+('」不合法,不'+'能为空且不能'+_0xea2bb6(0x9f)));if(!validIrType(_0x392dad))throw new Error(_0xea2bb6(0x98)+_0x2cdb52+_0xea2bb6(0xe6)+_0x392dad+('」不合法,应'+_0xea2bb6(0xe1)+'t/ac/t'+_0xea2bb6(0xad)+'om'));if(_0x44c9e7[_0xea2bb6(0xb8)](_0x1f4009))throw new Error(_0xea2bb6(0xb9)+_0x1f4009+_0xea2bb6(0xaa));if(_0x190428[_0xea2bb6(0xb8)](_0x2cdb52))throw new Error(_0xea2bb6(0xe5)+_0x2cdb52+_0xea2bb6(0xaa));_0x44c9e7[_0xea2bb6(0xa5)](_0x1f4009),_0x190428[_0xea2bb6(0xa5)](_0x2cdb52);if(_0x2f3a14[_0xea2bb6(0xe0)+'ds'][_0xea2bb6(0x9e)]>MAX_COMMANDS)throw new Error(_0xea2bb6(0x98)+_0x2cdb52+_0xea2bb6(0xdb)+_0x2f3a14[_0xea2bb6(0xe0)+'ds'][_0xea2bb6(0x9e)]+_0xea2bb6(0xc9)+MAX_COMMANDS);const _0x146104=new Set(),_0x1c4bbe=new Set(),_0x26632c=[];for(let _0x477545=0x0;_0x477545<_0x2f3a14['comman'+'ds'][_0xea2bb6(0x9e)];_0x477545+=0x1){const _0x42152b=_0x2f3a14[_0xea2bb6(0xe0)+'ds'][_0x477545],_0x1a2300=_0xea2bb6(0x98)+_0x2cdb52+_0xea2bb6(0xc4)+(_0x477545+0x1)+_0xea2bb6(0xa1);if(!_0x42152b||typeof _0x42152b!=='object'||Array[_0xea2bb6(0xe4)+'y'](_0x42152b))throw new Error(_0x1a2300+(_0xea2bb6(0xb2)+'须是对象'));const _0x59453b=_0x42152b;if(typeof _0x59453b['id']!=='string')throw new Error(_0x1a2300+('缺少\x20str'+_0xea2bb6(0xc7)+_0xea2bb6(0xac)+'段'));if(typeof _0x59453b[_0xea2bb6(0x94)]!=='string')throw new Error(_0x1a2300+('缺少\x20str'+_0xea2bb6(0xc7)+_0xea2bb6(0xd9)+_0xea2bb6(0xa7)));if(_0x59453b[_0xea2bb6(0xdd)]!=null&&typeof _0x59453b[_0xea2bb6(0xdd)]!=='string')throw new Error(_0x1a2300+(_0xea2bb6(0xae)+_0xea2bb6(0xd6)));const _0x9a472b=_0x59453b['id'][_0xea2bb6(0xa3)](),_0x565619=_0x59453b[_0xea2bb6(0x94)][_0xea2bb6(0xa3)](),_0x580fcf=_0x59453b[_0xea2bb6(0xdd)]==null?'':_0x59453b[_0xea2bb6(0xdd)];if(!validIrId(_0x9a472b))throw new Error(_0x1a2300+_0xea2bb6(0xd2)+(_0x9a472b||_0xea2bb6(0xe2))+_0xea2bb6(0xb6));if(!validIrName(_0x565619))throw new Error(_0x1a2300+_0xea2bb6(0xce)+(_0x565619||_0xea2bb6(0xe2))+_0xea2bb6(0xb6));if(!validIrCode(_0x580fcf))throw new Error(_0x1a2300+'「'+_0x565619+(_0xea2bb6(0xd0)+_0xea2bb6(0xca)));if(_0x146104[_0xea2bb6(0xb8)](_0x9a472b))throw new Error(_0xea2bb6(0x98)+_0x2cdb52+('」按键\x20id'+'「')+_0x9a472b+'」重复');if(_0x1c4bbe[_0xea2bb6(0xb8)](_0x565619))throw new Error(_0xea2bb6(0x98)+_0x2cdb52+_0xea2bb6(0xa0)+_0x565619+_0xea2bb6(0xaa));_0x146104[_0xea2bb6(0xa5)](_0x9a472b),_0x1c4bbe[_0xea2bb6(0xa5)](_0x565619),_0x26632c[_0xea2bb6(0x9a)]({'id':_0x9a472b,'name':_0x565619,'code':_0x580fcf});}_0x5bbde6[_0xea2bb6(0x9a)]({'id':_0x1f4009,'name':_0x2cdb52,'type':_0x392dad,'commands':_0x26632c});}const _0x28c8f1=_0x5ebcc6[_0xea2bb6(0xd1)]==null?_0xea2bb6(0xd5)+'e':String(_0x5ebcc6[_0xea2bb6(0xd1)])[_0xea2bb6(0xa3)]();if(_0x28c8f1!==_0xea2bb6(0xd5)+'e'&&_0x28c8f1!==_0xea2bb6(0x9b))throw new Error(_0xea2bb6(0xc5)+'法,应为\x20r'+'eplace'+_0xea2bb6(0x95)+'ge');return{'version':0x1,'mode':_0x28c8f1,'devices':_0x5bbde6};}
@@ -1 +1 @@
1
- (function(_0x375b85,_0x3265c0){const _0x5e3ea4=_0xc1c0,_0x5957dd=_0x375b85();while(!![]){try{const _0x149db9=parseInt(_0x5e3ea4(0x204))/0x1+-parseInt(_0x5e3ea4(0x1fb))/0x2*(parseInt(_0x5e3ea4(0x1f7))/0x3)+parseInt(_0x5e3ea4(0x1f4))/0x4+-parseInt(_0x5e3ea4(0x1ff))/0x5*(-parseInt(_0x5e3ea4(0x1f2))/0x6)+parseInt(_0x5e3ea4(0x202))/0x7*(parseInt(_0x5e3ea4(0x1f9))/0x8)+parseInt(_0x5e3ea4(0x1f1))/0x9*(parseInt(_0x5e3ea4(0x201))/0xa)+-parseInt(_0x5e3ea4(0x203))/0xb;if(_0x149db9===_0x3265c0)break;else _0x5957dd['push'](_0x5957dd['shift']());}catch(_0x53e290){_0x5957dd['push'](_0x5957dd['shift']());}}}(_0x3321,0x8ba94));function _0xc1c0(_0x161adf,_0x216b08){_0x161adf=_0x161adf-0x1f1;const _0x33211e=_0x3321();let _0xc1c0a9=_0x33211e[_0x161adf];if(_0xc1c0['DewFxP']===undefined){var _0x22ab49=function(_0x236180){const _0x1e0edf='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2e569d='',_0x595d12='';for(let _0x2f7379=0x0,_0x101f46,_0x18fe5b,_0x7175bc=0x0;_0x18fe5b=_0x236180['charAt'](_0x7175bc++);~_0x18fe5b&&(_0x101f46=_0x2f7379%0x4?_0x101f46*0x40+_0x18fe5b:_0x18fe5b,_0x2f7379++%0x4)?_0x2e569d+=String['fromCharCode'](0xff&_0x101f46>>(-0x2*_0x2f7379&0x6)):0x0){_0x18fe5b=_0x1e0edf['indexOf'](_0x18fe5b);}for(let _0x4c2817=0x0,_0x23825c=_0x2e569d['length'];_0x4c2817<_0x23825c;_0x4c2817++){_0x595d12+='%'+('00'+_0x2e569d['charCodeAt'](_0x4c2817)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x595d12);};_0xc1c0['PUVNHh']=_0x22ab49,_0xc1c0['cCZkzi']={},_0xc1c0['DewFxP']=!![];}const _0x5d7cf6=_0x33211e[0x0],_0x167dfd=_0x161adf+_0x5d7cf6,_0x2ea77e=_0xc1c0['cCZkzi'][_0x167dfd];return!_0x2ea77e?(_0xc1c0a9=_0xc1c0['PUVNHh'](_0xc1c0a9),_0xc1c0['cCZkzi'][_0x167dfd]=_0xc1c0a9):_0xc1c0a9=_0x2ea77e,_0xc1c0a9;}import{normalizeMac}from'./device-identity.mjs';export function normalizeBaseUrl(_0x2e569d){const _0x2898f5=_0xc1c0;return String(_0x2e569d||'')['trim']()[_0x2898f5(0x1f6)+'e'](/\/$/,'');}export function isKnownScanDevice(_0x595d12=[],_0x2f7379={}){const _0x5bcf2e=_0xc1c0,_0x101f46=normalizeBaseUrl(_0x2f7379[_0x5bcf2e(0x1fd)+'l']),_0x18fe5b=normalizeMac(_0x2f7379[_0x5bcf2e(0x1f3)]);return(_0x595d12||[])[_0x5bcf2e(0x1f8)](_0x7175bc=>{const _0x37c506=_0x5bcf2e,_0x4c2817=normalizeMac(_0x7175bc[_0x37c506(0x1f3)])||normalizeMac(_0x7175bc['id']);if(_0x18fe5b&&_0x4c2817)return _0x18fe5b===_0x4c2817;if(_0x101f46&&_0x7175bc[_0x37c506(0x1fd)+'l']&&normalizeBaseUrl(_0x7175bc[_0x37c506(0x1fd)+'l'])===_0x101f46)return!![];const _0x23825c=String(_0x2f7379[_0x37c506(0x1fa)+'me']||'')[_0x37c506(0x1fe)]()[_0x37c506(0x1f5)+_0x37c506(0x1fc)](),_0x65cf8e=String(_0x7175bc[_0x37c506(0x1fa)+'me']||'')[_0x37c506(0x1fe)]()[_0x37c506(0x1f5)+_0x37c506(0x1fc)]();if(_0x23825c&&_0x65cf8e&&_0x23825c===_0x65cf8e)return!![];return![];});}export function filterNewScanDevices(_0x55236b,_0x24da06=[]){const _0x2fcbcb=_0xc1c0;return(_0x24da06||[])[_0x2fcbcb(0x200)](_0x566877=>!isKnownScanDevice(_0x55236b,_0x566877));}function _0x3321(){const _0x4e3332=['mty3ndm1uKnqt1vR','zMLSDgvY','mta4nte2otbHAu5NDLe','mZm0mJCYnhPyC1jzwG','mJe2ode3odfpENDsu2O','mZuZmdaXr2PSCLj4','ovnyCvjkta','mtiWrM92CNbo','BwfJ','mZaZnZiXnMnXrLzcqq','Dg9mB3DL','CMvWBgfJ','m25cBg9qqq','C29Tzq','ofr6txzKsa','Ag9ZDg5H','mtyWmZi0nKTlAhzWBa','CKnHC2u','yMfZzvvY','DhjPBq'];_0x3321=function(){return _0x4e3332;};return _0x3321();}
1
+ (function(_0x42631f,_0x3656d6){const _0x2a353b=_0x45b3,_0x216e9d=_0x42631f();while(!![]){try{const _0x2fffed=parseInt(_0x2a353b(0x1b1))/0x1+parseInt(_0x2a353b(0x1be))/0x2*(-parseInt(_0x2a353b(0x1ae))/0x3)+parseInt(_0x2a353b(0x1ad))/0x4+parseInt(_0x2a353b(0x1b5))/0x5*(parseInt(_0x2a353b(0x1bc))/0x6)+-parseInt(_0x2a353b(0x1b2))/0x7+-parseInt(_0x2a353b(0x1ba))/0x8+-parseInt(_0x2a353b(0x1b3))/0x9*(-parseInt(_0x2a353b(0x1b6))/0xa);if(_0x2fffed===_0x3656d6)break;else _0x216e9d['push'](_0x216e9d['shift']());}catch(_0x35e091){_0x216e9d['push'](_0x216e9d['shift']());}}}(_0xe3f6,0xa7ac9));import{normalizeMac}from'./device-identity.mjs';function _0xe3f6(){const _0x3e944c=['Ag9ZDg5H','mtC1ody2r2HmqK1I','CKnHC2u','mZa5oe9lAwjOrq','ndiYndKXmMzeDK9yAG','mJa1mMHfwxjeyG','CMvWBgfJ','DhjPBq','mtm0mZi3n2Liu3HOyG','odm3nJGWowLSsuzwDG','mJDvDhD6C0W','BwfJ','mZb3BfrOtMS','ndG0ndKYmg96wLPSCa','yMfZzvvY','C29Tzq','zMLSDgvY','ody4nJGWohLZEePdtq'];_0xe3f6=function(){return _0x3e944c;};return _0xe3f6();}export function normalizeBaseUrl(_0xca9180){const _0x5a9c81=_0x45b3;return String(_0xca9180||'')[_0x5a9c81(0x1b0)]()[_0x5a9c81(0x1af)+'e'](/\/$/,'');}function _0x45b3(_0xd5b0b5,_0x30d00a){_0xd5b0b5=_0xd5b0b5-0x1ad;const _0xe3f6de=_0xe3f6();let _0x45b387=_0xe3f6de[_0xd5b0b5];if(_0x45b3['iMjntv']===undefined){var _0x4286c4=function(_0x2a8cdd){const _0x29ed7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xca9180='',_0x1c4d8a='';for(let _0x110ae5=0x0,_0x33992a,_0x5bfa42,_0x41b467=0x0;_0x5bfa42=_0x2a8cdd['charAt'](_0x41b467++);~_0x5bfa42&&(_0x33992a=_0x110ae5%0x4?_0x33992a*0x40+_0x5bfa42:_0x5bfa42,_0x110ae5++%0x4)?_0xca9180+=String['fromCharCode'](0xff&_0x33992a>>(-0x2*_0x110ae5&0x6)):0x0){_0x5bfa42=_0x29ed7['indexOf'](_0x5bfa42);}for(let _0x30bbcd=0x0,_0x5a66af=_0xca9180['length'];_0x30bbcd<_0x5a66af;_0x30bbcd++){_0x1c4d8a+='%'+('00'+_0xca9180['charCodeAt'](_0x30bbcd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1c4d8a);};_0x45b3['zhfoTQ']=_0x4286c4,_0x45b3['NkcUVU']={},_0x45b3['iMjntv']=!![];}const _0x4f2cb1=_0xe3f6de[0x0],_0x3eceba=_0xd5b0b5+_0x4f2cb1,_0x2183d4=_0x45b3['NkcUVU'][_0x3eceba];return!_0x2183d4?(_0x45b387=_0x45b3['zhfoTQ'](_0x45b387),_0x45b3['NkcUVU'][_0x3eceba]=_0x45b387):_0x45b387=_0x2183d4,_0x45b387;}export function isKnownScanDevice(_0x1c4d8a=[],_0x110ae5={}){const _0x4a157d=_0x45b3,_0x33992a=normalizeBaseUrl(_0x110ae5[_0x4a157d(0x1b7)+'l']),_0x5bfa42=normalizeMac(_0x110ae5[_0x4a157d(0x1b4)]);return(_0x1c4d8a||[])[_0x4a157d(0x1b8)](_0x41b467=>{const _0x31a6a1=_0x4a157d,_0x30bbcd=normalizeMac(_0x41b467[_0x31a6a1(0x1b4)])||normalizeMac(_0x41b467['id']);if(_0x5bfa42&&_0x30bbcd)return _0x5bfa42===_0x30bbcd;if(_0x33992a&&_0x41b467['baseUr'+'l']&&normalizeBaseUrl(_0x41b467[_0x31a6a1(0x1b7)+'l'])===_0x33992a)return!![];const _0x5a66af=String(_0x110ae5[_0x31a6a1(0x1bb)+'me']||'')['trim']()['toLowe'+_0x31a6a1(0x1bd)](),_0x389467=String(_0x41b467[_0x31a6a1(0x1bb)+'me']||'')[_0x31a6a1(0x1b0)]()['toLowe'+_0x31a6a1(0x1bd)]();if(_0x5a66af&&_0x389467&&_0x5a66af===_0x389467)return!![];return![];});}export function filterNewScanDevices(_0x3fa918,_0x10aba2=[]){const _0x365e70=_0x45b3;return(_0x10aba2||[])[_0x365e70(0x1b9)](_0x58fbcf=>!isKnownScanDevice(_0x3fa918,_0x58fbcf));}
@@ -1 +1 @@
1
- const _0x4fc7cf=_0x4cbc;(function(_0x4bf30e,_0x566c07){const _0x4a6ac8=_0x4cbc,_0x3df1d8=_0x4bf30e();while(!![]){try{const _0x48c1fd=parseInt(_0x4a6ac8(0x15b))/0x1*(parseInt(_0x4a6ac8(0x165))/0x2)+-parseInt(_0x4a6ac8(0x16a))/0x3*(parseInt(_0x4a6ac8(0x176))/0x4)+parseInt(_0x4a6ac8(0x135))/0x5*(parseInt(_0x4a6ac8(0x15a))/0x6)+-parseInt(_0x4a6ac8(0x172))/0x7*(-parseInt(_0x4a6ac8(0x12f))/0x8)+-parseInt(_0x4a6ac8(0x147))/0x9*(parseInt(_0x4a6ac8(0x164))/0xa)+parseInt(_0x4a6ac8(0x143))/0xb+-parseInt(_0x4a6ac8(0x142))/0xc*(parseInt(_0x4a6ac8(0x14e))/0xd);if(_0x48c1fd===_0x566c07)break;else _0x3df1d8['push'](_0x3df1d8['shift']());}catch(_0x269e15){_0x3df1d8['push'](_0x3df1d8['shift']());}}}(_0x5c8f,0x4c2d1));import _0x561e40 from'node:os';import _0x1c7e11 from'bonjour-service';import{normalizeMac}from'./device-identity.mjs';const IPV4=/^(\d{1,3}\.){3}\d{1,3}$/;export function formatHttpHost(_0xe3377f){const _0x1a771c=_0x4cbc,_0xe8bf44=String(_0xe3377f||'')[_0x1a771c(0x157)]()[_0x1a771c(0x148)+'e'](/^\[|\]$/g,'')[_0x1a771c(0x148)+'e'](/\.$/,'');if(!_0xe8bf44)return'';if(_0xe8bf44[_0x1a771c(0x182)+'es'](':'))return'['+_0xe8bf44+']';return _0xe8bf44;}export function hostsFromBonjourService(_0x14b901={}){const _0x318910=_0x4cbc,_0x39faf=[];if(Array[_0x318910(0x180)+'y'](_0x14b901[_0x318910(0x131)+_0x318910(0x163)]))_0x39faf[_0x318910(0x17e)](..._0x14b901[_0x318910(0x131)+_0x318910(0x163)]);if(_0x14b901[_0x318910(0x171)+'r']?.['addres'+'s'])_0x39faf['push'](_0x14b901[_0x318910(0x171)+'r'][_0x318910(0x131)+'s']);if(_0x14b901['host'])_0x39faf[_0x318910(0x17e)](_0x14b901[_0x318910(0x178)]);const _0x2720fb=[],_0x1ed1d8=[],_0x48c0bb=[];for(const _0x3af5b3 of _0x39faf){const _0x742d47=String(_0x3af5b3||'')[_0x318910(0x157)]()[_0x318910(0x148)+'e'](/^\[|\]$/g,'')[_0x318910(0x148)+'e'](/\.$/,'');if(!_0x742d47||_0x742d47===_0x318910(0x129)+'0'||_0x742d47==='::')continue;if(IPV4[_0x318910(0x162)](_0x742d47)){if(!_0x742d47[_0x318910(0x144)+_0x318910(0x168)]('169.25'+'4.'))_0x2720fb[_0x318910(0x17e)](_0x742d47);continue;}if(_0x742d47[_0x318910(0x182)+'es'](':')){if(!_0x742d47[_0x318910(0x151)+_0x318910(0x150)]()[_0x318910(0x144)+_0x318910(0x168)](_0x318910(0x130)))_0x48c0bb[_0x318910(0x17e)](_0x742d47);continue;}_0x1ed1d8[_0x318910(0x17e)](_0x742d47);}return[...new Set([..._0x2720fb,..._0x1ed1d8,..._0x48c0bb])];}export function deviceFromService(_0x51a6ee){const _0x9ad299=_0x4cbc,_0x4543d2=Number(_0x51a6ee[_0x9ad299(0x15f)])||0x157c,_0x453ab9=_0x51a6ee[_0x9ad299(0x14b)]||_0x51a6ee[_0x9ad299(0x127)]?.['fn']||_0x9ad299(0x167);return hostsFromBonjourService(_0x51a6ee)[_0x9ad299(0x16f)](_0x4dcfa8=>({'name':_0x453ab9,'host':_0x4dcfa8,'port':_0x4543d2,'baseUrl':_0x9ad299(0x141)+'/'+formatHttpHost(_0x4dcfa8)+':'+_0x4543d2,'source':_0x9ad299(0x17a),'product':_0x51a6ee[_0x9ad299(0x127)]?.[_0x9ad299(0x17c)+'t']||'','board':_0x51a6ee['txt']?.[_0x9ad299(0x12b)]||''}));}export function isMossOnlineSignal(_0x5e0f46){const _0x3e040f=_0x4cbc,_0x31ec72=String(_0x5e0f46?.[_0x3e040f(0x14f)]||''),_0x76d82d=_0x5e0f46?.['payloa'+'d']&&typeof _0x5e0f46[_0x3e040f(0x16b)+'d']===_0x3e040f(0x15c)?_0x5e0f46[_0x3e040f(0x16b)+'d']:{};if(_0x31ec72===_0x3e040f(0x166)+_0x3e040f(0x139)+'e')return!![];if(_0x31ec72===_0x3e040f(0x12c)+'ck'&&_0x76d82d['messag'+'e']!==_0x3e040f(0x13c)+'d'&&_0x76d82d['ok']!==![])return!![];return![];}export function isLikelyMossHealth(_0x52d618){const _0x34994f=_0x4cbc;if(!_0x52d618||typeof _0x52d618!=='object')return![];if(_0x52d618[_0x34994f(0x17c)+'t']===_0x34994f(0x152)+_0x34994f(0x184)||_0x52d618[_0x34994f(0x17c)+'t']===_0x34994f(0x13f)+'amera')return!![];if(_0x52d618[_0x34994f(0x12b)]===_0x34994f(0x133)+_0x34994f(0x137)||_0x52d618['board']===_0x34994f(0x133)+_0x34994f(0x154))return!![];if(_0x52d618[_0x34994f(0x161)]==='ok'&&(_0x52d618['name']===_0x34994f(0x15e)+_0x34994f(0x136)||_0x52d618['name']==='moss-o'+_0x34994f(0x137)||_0x52d618[_0x34994f(0x14b)]===_0x34994f(0x133)+_0x34994f(0x154)||_0x52d618[_0x34994f(0x12e)+'me']))return!![];return Boolean(_0x52d618[_0x34994f(0x12e)+'me']&&_0x52d618[_0x34994f(0x138)+'ce']);}export function enrichFromHealth(_0x3c15ab,_0x381cdb){const _0x492b88=_0x4cbc;if(!isLikelyMossHealth(_0x381cdb))return{..._0x3c15ab};const _0x1cc90e=_0x381cdb['produc'+'t']||_0x3c15ab[_0x492b88(0x17c)+'t']||'',_0x4bc809=_0x381cdb[_0x492b88(0x12b)]||_0x381cdb[_0x492b88(0x14b)]||_0x3c15ab[_0x492b88(0x12b)]||'',_0x43d376=_0x381cdb[_0x492b88(0x138)+'ce']||_0x381cdb[_0x492b88(0x169)+_0x492b88(0x14c)]||_0x381cdb[_0x492b88(0x12e)+'me']||_0x3c15ab[_0x492b88(0x14b)];return{..._0x3c15ab,'name':_0x43d376,'product':_0x1cc90e,'board':_0x4bc809,'hostname':_0x381cdb[_0x492b88(0x12e)+'me']||_0x3c15ab[_0x492b88(0x12e)+'me']||'','mac':_0x381cdb[_0x492b88(0x12a)]||_0x3c15ab[_0x492b88(0x12a)]||'','ip':_0x381cdb['ip']||_0x3c15ab['ip']||'','bound':!!_0x381cdb['bound']};}export function mergeDevices(_0x5b708f,_0x49869a){const _0x141fb5=_0x4cbc;if(!_0x49869a?.[_0x141fb5(0x177)+'l'])return _0x5b708f;const _0xd33b24=String(_0x49869a[_0x141fb5(0x177)+'l'])['replac'+'e'](/\/$/,''),_0x225111={..._0x49869a,'baseUrl':_0xd33b24},_0x5cd870=_0x5b708f[_0x141fb5(0x13a)+_0x141fb5(0x17d)](_0xda5231=>sameScanDevice(_0xda5231,_0x225111));if(_0x5cd870<0x0)return _0x5b708f['push'](_0x225111),_0x5b708f;const _0x2cba3a=_0x5b708f[_0x5cd870];return _0x5b708f[_0x5cd870]={..._0x2cba3a,..._0x225111,'baseUrl':preferScanBaseUrl(_0x2cba3a[_0x141fb5(0x177)+'l'],_0xd33b24),'mac':normalizeMac(_0x225111[_0x141fb5(0x12a)])||_0x2cba3a[_0x141fb5(0x12a)]||'','hostname':_0x225111[_0x141fb5(0x12e)+'me']||_0x2cba3a['hostna'+'me']||''},_0x5b708f;}export function sameScanDevice(_0x258037={},_0x2d053b={}){const _0xcb2d75=_0x4cbc,_0x8b4e3a=String(_0x258037['baseUr'+'l']||'')[_0xcb2d75(0x148)+'e'](/\/$/,''),_0x1ae804=String(_0x2d053b[_0xcb2d75(0x177)+'l']||'')[_0xcb2d75(0x148)+'e'](/\/$/,'');if(_0x8b4e3a&&_0x1ae804&&_0x8b4e3a===_0x1ae804)return!![];const _0x551c89=normalizeMac(_0x258037[_0xcb2d75(0x12a)]),_0x597d17=normalizeMac(_0x2d053b['mac']);if(_0x551c89&&_0x597d17&&_0x551c89===_0x597d17)return!![];const _0x21f2d5=scanHostname(_0x258037),_0xd6fc3e=scanHostname(_0x2d053b);if(_0x21f2d5&&_0xd6fc3e&&_0x21f2d5===_0xd6fc3e)return!![];return![];}export function scanHostname(_0x25168f={}){const _0x4548b6=_0x4cbc,_0x11bfe4=[_0x25168f[_0x4548b6(0x12e)+'me'],_0x25168f[_0x4548b6(0x178)]]['map'](_0x240f67=>String(_0x240f67||'')[_0x4548b6(0x157)]()['toLowe'+_0x4548b6(0x150)]()['replac'+'e'](/\.$/,'')[_0x4548b6(0x148)+'e'](/\.local$/,''))['find'](_0x5e1193=>_0x5e1193&&!IPV4[_0x4548b6(0x162)](_0x5e1193)&&!_0x5e1193[_0x4548b6(0x182)+'es'](':'));if(_0x11bfe4)return _0x11bfe4;const _0x58fbbe=String(_0x25168f[_0x4548b6(0x177)+'l']||'')[_0x4548b6(0x148)+'e'](/^https?:\/\//i,'')[_0x4548b6(0x174)]('/')[0x0]['split'](':')[0x0][_0x4548b6(0x148)+'e'](/\[|\]/g,'')[_0x4548b6(0x151)+_0x4548b6(0x150)]()['replac'+'e'](/\.local$/,'');if(!_0x58fbbe||IPV4['test'](_0x58fbbe)||_0x58fbbe[_0x4548b6(0x182)+'es'](':'))return'';return _0x58fbbe;}function _0x5c8f(){const _0x3ec3f6=['zxnRDg9W','BNzPzG','Aw5ZDgfU','lM9UBgLU','zMLUzeLU','Axnoyu4','y2XLyxjL','DMvYxsbS','BMv0D29Y','Bw9ZCY1J','DgnW','Ahr0CdOV','mtaXndblsNzABKm','ntuWmZKYn2nKB091BW','C3rHCNrZ','Aw50zxjU','ywXS','mtuZA0Lst1Dl','CMvWBgfJ','BwLU','w2rPC2nV','BMfTzq','Ev9Uyw1L','C2f2zwq','ntm2oxnsA2j6uq','DhLWzq','CKnHC2u','Dg9mB3DL','Bw9ZCY14','C3rVCa','DJi2nda','BgfU','zMLUza','DhjPBq','5lIk5QYH6l+E5O6L','Bw9ZCY1O','otKYmZC2t1zYvuPi','nJyWnJH6wxjlrxK','B2jQzwn0','l2HLywX0','Bw9ZCY1K','Cg9YDa','zg5Z','C3rHDhvZ','DgvZDa','C2vZ','mty1ndyWug5usNPe','ogPrqMLfqW','zgv2AwnL','tu9tuW','v2L0Aa','zgLZCgXH','mZnUyMDRtNK','Cgf5Bg9H','zw50CMLL','zNjVBq','y2f0y2G','BwfW','svb2na','CMvMzxjL','mZi0mvLcs0XSva','C291CMnL','C3bSAxq','zMfJzxm','mtKWodq0qw5Owfvq','yMfZzvvY','Ag9ZDa','zgvZDhjV','BwrUCW','DhrW','ChjVzhvJ','zgv4','ChvZAa','ANnVBG','AxnbCNjH','zMfTAwX5','Aw5JBhvK','BgvUz3rO','AwfVEMHP','DMvYxsbT','DhH0','BwvZC2fN','mc4WlJaU','BwfJ','yM9HCMq','yMLUzc5H','D2fYBG','Ag9ZDg5H','oti4mgH2qLzcEq','zMu4mdO','ywrKCMvZ','lMXVy2fS','Bw9ZCY1V','DgLTzw91','nu5dv0nZtW'];_0x5c8f=function(){return _0x3ec3f6;};return _0x5c8f();}export function preferScanBaseUrl(_0x5e6ac3,_0x4777e5){const _0x15df9f=_0x4cbc,_0x488351=String(_0x5e6ac3||'')['replac'+'e'](/\/$/,''),_0x342148=String(_0x4777e5||'')[_0x15df9f(0x148)+'e'](/\/$/,'');if(isIpv4BaseUrl(_0x342148)&&!isIpv4BaseUrl(_0x488351))return _0x342148;if(isIpv4BaseUrl(_0x488351))return _0x488351;return _0x342148||_0x488351;}function isIpv4BaseUrl(_0xf896ed){const _0x180a9e=_0x4cbc,_0x5003dd=String(_0xf896ed||'')['replac'+'e'](/^https?:\/\//i,'')[_0x180a9e(0x174)]('/')[0x0][_0x180a9e(0x174)](':')[0x0];return IPV4[_0x180a9e(0x162)](_0x5003dd);}export function shouldScanIface(_0x515bcf,_0x9376e5){const _0x346d86=_0x4cbc,_0x495ab0=String(_0x515bcf||'')['toLowe'+_0x346d86(0x150)]();if(/^(docker|veth|br-|vmnet|vboxnet|lo|awdl|llw|utun|bridge|cni|flannel)/[_0x346d86(0x162)](_0x495ab0))return![];const _0x192a94=String(_0x9376e5||'')[_0x346d86(0x174)]('.')[_0x346d86(0x16f)](Number);if(_0x192a94[_0x346d86(0x183)]!==0x4||_0x192a94['some'](_0x39fefd=>Number[_0x346d86(0x13b)](_0x39fefd)))return![];const [_0x176b91,_0x342436]=_0x192a94;if(_0x176b91===0xa)return!![];if(_0x176b91===0xc0&&_0x342436===0xa8)return!![];if(_0x176b91===0xac&&_0x342436>=0x10&&_0x342436<=0x1f&&_0x342436!==0x11)return!![];return![];}export function listLanPrefixes(_0x40716d=_0x561e40[_0x4fc7cf(0x13e)+'kInter'+_0x4fc7cf(0x175)]()){const _0x4ba198=_0x4fc7cf,_0x59b11d=[];for(const [_0x19bc7f,_0x203c68]of Object[_0x4ba198(0x16c)+'s'](_0x40716d||{})){for(const _0x5b8674 of _0x203c68||[]){const _0x4be721=_0x5b8674[_0x4ba198(0x181)]===0x4||_0x5b8674['family']===_0x4ba198(0x170);if(_0x5b8674[_0x4ba198(0x145)+'al']||!_0x4be721)continue;if(!shouldScanIface(_0x19bc7f,_0x5b8674['addres'+'s']))continue;const _0x2e46e8=_0x5b8674[_0x4ba198(0x131)+'s'][_0x4ba198(0x174)]('.');_0x59b11d['push'](_0x2e46e8[0x0]+'.'+_0x2e46e8[0x1]+'.'+_0x2e46e8[0x2]);}}return[...new Set(_0x59b11d)];}function _0x4cbc(_0x48202f,_0x1abbde){_0x48202f=_0x48202f-0x126;const _0x5c8fb5=_0x5c8f();let _0x4cbc2c=_0x5c8fb5[_0x48202f];if(_0x4cbc['cQHNRK']===undefined){var _0x268ae2=function(_0x11defd){const _0x161845='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x561e40='',_0x1c7e11='';for(let _0xe3377f=0x0,_0xe8bf44,_0x14b901,_0x39faf=0x0;_0x14b901=_0x11defd['charAt'](_0x39faf++);~_0x14b901&&(_0xe8bf44=_0xe3377f%0x4?_0xe8bf44*0x40+_0x14b901:_0x14b901,_0xe3377f++%0x4)?_0x561e40+=String['fromCharCode'](0xff&_0xe8bf44>>(-0x2*_0xe3377f&0x6)):0x0){_0x14b901=_0x161845['indexOf'](_0x14b901);}for(let _0x2720fb=0x0,_0x1ed1d8=_0x561e40['length'];_0x2720fb<_0x1ed1d8;_0x2720fb++){_0x1c7e11+='%'+('00'+_0x561e40['charCodeAt'](_0x2720fb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1c7e11);};_0x4cbc['jHAjkB']=_0x268ae2,_0x4cbc['Hounjw']={},_0x4cbc['cQHNRK']=!![];}const _0x5d3155=_0x5c8fb5[0x0],_0x25ceb9=_0x48202f+_0x5d3155,_0xff0f88=_0x4cbc['Hounjw'][_0x25ceb9];return!_0xff0f88?(_0x4cbc2c=_0x4cbc['jHAjkB'](_0x4cbc2c),_0x4cbc['Hounjw'][_0x25ceb9]=_0x4cbc2c):_0x4cbc2c=_0xff0f88,_0x4cbc2c;}export async function probeMossHealth(_0x225688,{timeoutMs:timeoutMs=0x384,fetchImpl:fetchImpl=fetch}={}){const _0x1bf359=_0x4fc7cf,_0x3975b3=String(_0x225688||'')['replac'+'e'](/\/$/,'')+(_0x1bf359(0x15d)+'h');try{const _0x4e955d=await fetchImpl(_0x3975b3,{'signal':AbortSignal[_0x1bf359(0x134)+'t'](timeoutMs)});if(!_0x4e955d['ok'])return null;const _0x2d02c3=await _0x4e955d[_0x1bf359(0x17f)]();return isLikelyMossHealth(_0x2d02c3)?_0x2d02c3:null;}catch{return null;}}async function mapPool(_0x45c067,_0x589e12,_0x14767a){const _0x1411bc=_0x4fc7cf,_0xc76b9e=new Array(_0x45c067[_0x1411bc(0x183)]);let _0x1b3a5c=0x0;async function _0x125363(){const _0x3df354=_0x1411bc;while(_0x1b3a5c<_0x45c067[_0x3df354(0x183)]){const _0x6a0dd8=_0x1b3a5c++;_0xc76b9e[_0x6a0dd8]=await _0x14767a(_0x45c067[_0x6a0dd8],_0x6a0dd8);}}const _0x1993ea=Math['max'](0x1,Math[_0x1411bc(0x149)](_0x589e12,_0x45c067[_0x1411bc(0x183)]||0x1));return await Promise[_0x1411bc(0x146)](Array[_0x1411bc(0x16d)]({'length':_0x1993ea},()=>_0x125363())),_0xc76b9e;}export async function browseMossHttp(_0x2957ec=0xfa0){const _0x4c722c=_0x4fc7cf,_0x4478f8=[],_0xde410=new _0x1c7e11(),_0x42febc=_0xde410[_0x4c722c(0x156)]({'type':_0x4c722c(0x159)+_0x4c722c(0x17b),'protocol':_0x4c722c(0x140)},_0x221db3=>{for(const _0x4a67e5 of deviceFromService(_0x221db3))mergeDevices(_0x4478f8,_0x4a67e5);});await new Promise(_0x34481b=>setTimeout(_0x34481b,_0x2957ec));try{_0x42febc[_0x4c722c(0x153)]();}catch{}try{_0xde410[_0x4c722c(0x179)+'y']();}catch{}return _0x4478f8;}export async function scanLanMoss({port:port=0x157c,timeoutMs:timeoutMs=0x1f4,concurrency:concurrency=0x30,fetchImpl:fetchImpl=fetch,prefixes:prefixes=listLanPrefixes()}={}){const _0x1f135b=_0x4fc7cf,_0xfd4a1d=[],_0x4777c3=[];for(const _0x2693cd of prefixes){for(let _0x57c3e5=0x1;_0x57c3e5<=0xfe;_0x57c3e5+=0x1){_0x4777c3[_0x1f135b(0x17e)](_0x1f135b(0x141)+'/'+_0x2693cd+'.'+_0x57c3e5+':'+port);}}const _0x4c41e8=[...new Set(_0x4777c3)];return await mapPool(_0x4c41e8,concurrency,async _0x31773e=>{const _0x3108c9=_0x1f135b,_0x514465=await probeMossHealth(_0x31773e,{'timeoutMs':timeoutMs,'fetchImpl':fetchImpl});if(!_0x514465)return;mergeDevices(_0xfd4a1d,enrichFromHealth({'name':_0x514465[_0x3108c9(0x138)+'ce']||_0x514465[_0x3108c9(0x12e)+'me']||_0x3108c9(0x167),'host':_0x31773e[_0x3108c9(0x148)+'e'](/^https?:\/\//,'')[_0x3108c9(0x148)+'e'](/:\d+$/,''),'port':port,'baseUrl':_0x31773e,'source':_0x3108c9(0x155)},_0x514465));}),_0xfd4a1d;}export async function discoverMossDevices({lastHostname:lastHostname='',lastBaseUrl:lastBaseUrl='',mdnsMs:mdnsMs=0xfa0,fetchImpl:fetchImpl=fetch}={}){const _0x4e96bd=_0x4fc7cf,_0x5375e1=[],_0x4e012e=browseMossHttp(mdnsMs)[_0x4e96bd(0x16e)](_0x76ea83=>{const _0x2d0907=_0x4e96bd;return console[_0x2d0907(0x12d)]('[disco'+_0x2d0907(0x126)+_0x2d0907(0x160),_0x76ea83?.[_0x2d0907(0x128)+'e']||_0x76ea83),[];}),_0xaf0d67=scanLanMoss({'fetchImpl':fetchImpl})[_0x4e96bd(0x16e)](_0x267cea=>{const _0x11f856=_0x4e96bd;return console[_0x11f856(0x12d)](_0x11f856(0x14a)+_0x11f856(0x13d)+'an',_0x267cea?.[_0x11f856(0x128)+'e']||_0x267cea),[];}),_0x3f9170=[];if(lastBaseUrl)_0x3f9170[_0x4e96bd(0x17e)]({'name':_0x4e96bd(0x158),'baseUrl':String(lastBaseUrl)[_0x4e96bd(0x148)+'e'](/\/$/,''),'source':_0x4e96bd(0x14d)});lastHostname&&_0x3f9170['push']({'name':lastHostname,'baseUrl':_0x4e96bd(0x141)+'/'+lastHostname+(_0x4e96bd(0x132)+':5500'),'source':'hostna'+'me'});const [_0x1be697,_0x786ac2]=await Promise['all']([_0x4e012e,_0xaf0d67]);for(const _0x208c5b of[..._0x1be697,..._0x786ac2,..._0x3f9170])mergeDevices(_0x5375e1,_0x208c5b);const _0x1b628f=await mapPool(_0x5375e1,0x8,async _0x1c1c08=>{const _0x1071d0=_0x4e96bd,_0x41c819=await probeMossHealth(_0x1c1c08[_0x1071d0(0x177)+'l'],{'timeoutMs':0x4b0,'fetchImpl':fetchImpl});if(_0x41c819)return enrichFromHealth(_0x1c1c08,_0x41c819);if(_0x1c1c08['source']==='mdns'||_0x1c1c08[_0x1071d0(0x173)]===_0x1071d0(0x155))return _0x1c1c08;return null;}),_0x596187=[];for(const _0x3178bf of _0x1b628f){if(_0x3178bf)mergeDevices(_0x596187,_0x3178bf);}return _0x596187;}
1
+ const _0x9b3941=_0x1735;(function(_0x5d988c,_0x473671){const _0x33799c=_0x1735,_0x3494eb=_0x5d988c();while(!![]){try{const _0x457ccd=parseInt(_0x33799c(0x7d))/0x1*(parseInt(_0x33799c(0x9b))/0x2)+-parseInt(_0x33799c(0x86))/0x3+parseInt(_0x33799c(0xc2))/0x4+parseInt(_0x33799c(0x7c))/0x5+parseInt(_0x33799c(0xbf))/0x6*(-parseInt(_0x33799c(0xaf))/0x7)+parseInt(_0x33799c(0xa6))/0x8+-parseInt(_0x33799c(0x79))/0x9*(parseInt(_0x33799c(0x82))/0xa);if(_0x457ccd===_0x473671)break;else _0x3494eb['push'](_0x3494eb['shift']());}catch(_0x262223){_0x3494eb['push'](_0x3494eb['shift']());}}}(_0x40cc,0x5a4b2));import _0xb672d9 from'node:os';import _0x2b782c from'bonjour-service';import{normalizeMac}from'./device-identity.mjs';function _0x1735(_0x4c12fe,_0x465096){_0x4c12fe=_0x4c12fe-0x77;const _0x40cc1c=_0x40cc();let _0x17351b=_0x40cc1c[_0x4c12fe];if(_0x1735['JjqwIV']===undefined){var _0x1ffed5=function(_0x132d23){const _0x519741='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xb672d9='',_0x2b782c='';for(let _0x3e1483=0x0,_0x5dfb79,_0x25cd04,_0x4b3145=0x0;_0x25cd04=_0x132d23['charAt'](_0x4b3145++);~_0x25cd04&&(_0x5dfb79=_0x3e1483%0x4?_0x5dfb79*0x40+_0x25cd04:_0x25cd04,_0x3e1483++%0x4)?_0xb672d9+=String['fromCharCode'](0xff&_0x5dfb79>>(-0x2*_0x3e1483&0x6)):0x0){_0x25cd04=_0x519741['indexOf'](_0x25cd04);}for(let _0x56cccd=0x0,_0x2a6904=_0xb672d9['length'];_0x56cccd<_0x2a6904;_0x56cccd++){_0x2b782c+='%'+('00'+_0xb672d9['charCodeAt'](_0x56cccd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2b782c);};_0x1735['twuIfp']=_0x1ffed5,_0x1735['TdzksN']={},_0x1735['JjqwIV']=!![];}const _0x2dd2e4=_0x40cc1c[0x0],_0x97647e=_0x4c12fe+_0x2dd2e4,_0x597da8=_0x1735['TdzksN'][_0x97647e];return!_0x597da8?(_0x17351b=_0x1735['twuIfp'](_0x17351b),_0x1735['TdzksN'][_0x97647e]=_0x17351b):_0x17351b=_0x597da8,_0x17351b;}const IPV4=/^(\d{1,3}\.){3}\d{1,3}$/;export function formatHttpHost(_0x3e1483){const _0x565afd=_0x1735,_0x5dfb79=String(_0x3e1483||'')[_0x565afd(0x87)]()[_0x565afd(0xb6)+'e'](/^\[|\]$/g,'')['replac'+'e'](/\.$/,'');if(!_0x5dfb79)return'';if(_0x5dfb79[_0x565afd(0xbc)+'es'](':'))return'['+_0x5dfb79+']';return _0x5dfb79;}export function hostsFromBonjourService(_0x25cd04={}){const _0x5eb21c=_0x1735,_0x4b3145=[];if(Array[_0x5eb21c(0x84)+'y'](_0x25cd04[_0x5eb21c(0xc6)+'ses']))_0x4b3145[_0x5eb21c(0xb5)](..._0x25cd04[_0x5eb21c(0xc6)+_0x5eb21c(0x8a)]);if(_0x25cd04[_0x5eb21c(0x8e)+'r']?.[_0x5eb21c(0xc6)+'s'])_0x4b3145[_0x5eb21c(0xb5)](_0x25cd04[_0x5eb21c(0x8e)+'r'][_0x5eb21c(0xc6)+'s']);if(_0x25cd04[_0x5eb21c(0xb3)])_0x4b3145[_0x5eb21c(0xb5)](_0x25cd04[_0x5eb21c(0xb3)]);const _0x56cccd=[],_0x2a6904=[],_0x3b2ec0=[];for(const _0x460d49 of _0x4b3145){const _0x5e8cd5=String(_0x460d49||'')['trim']()[_0x5eb21c(0xb6)+'e'](/^\[|\]$/g,'')[_0x5eb21c(0xb6)+'e'](/\.$/,'');if(!_0x5e8cd5||_0x5e8cd5==='0.0.0.'+'0'||_0x5e8cd5==='::')continue;if(IPV4[_0x5eb21c(0x96)](_0x5e8cd5)){if(!_0x5e8cd5[_0x5eb21c(0xa3)+_0x5eb21c(0x80)](_0x5eb21c(0x8c)+'4.'))_0x56cccd[_0x5eb21c(0xb5)](_0x5e8cd5);continue;}if(_0x5e8cd5['includ'+'es'](':')){if(!_0x5e8cd5['toLowe'+_0x5eb21c(0x9f)]()[_0x5eb21c(0xa3)+_0x5eb21c(0x80)]('fe80:'))_0x3b2ec0['push'](_0x5e8cd5);continue;}_0x2a6904[_0x5eb21c(0xb5)](_0x5e8cd5);}return[...new Set([..._0x56cccd,..._0x2a6904,..._0x3b2ec0])];}export function deviceFromService(_0x44b5fa){const _0x4c0cc8=_0x1735,_0x1ab1d9=Number(_0x44b5fa['port'])||0x157c,_0x5b809e=_0x44b5fa['name']||_0x44b5fa[_0x4c0cc8(0x81)]?.['fn']||_0x4c0cc8(0xa0);return hostsFromBonjourService(_0x44b5fa)[_0x4c0cc8(0x83)](_0x14b790=>({'name':_0x5b809e,'host':_0x14b790,'port':_0x1ab1d9,'baseUrl':_0x4c0cc8(0x94)+'/'+formatHttpHost(_0x14b790)+':'+_0x1ab1d9,'source':_0x4c0cc8(0x92),'product':_0x44b5fa[_0x4c0cc8(0x81)]?.[_0x4c0cc8(0xc4)+'t']||'','board':_0x44b5fa[_0x4c0cc8(0x81)]?.[_0x4c0cc8(0x7f)]||''}));}export function isMossOnlineSignal(_0x514f0a){const _0x9c7d44=_0x1735,_0x5b09ed=String(_0x514f0a?.['type']||''),_0x53e45d=_0x514f0a?.[_0x9c7d44(0xc5)+'d']&&typeof _0x514f0a[_0x9c7d44(0xc5)+'d']===_0x9c7d44(0xa8)?_0x514f0a[_0x9c7d44(0xc5)+'d']:{};if(_0x5b09ed==='device'+_0x9c7d44(0xb2)+'e')return!![];if(_0x5b09ed===_0x9c7d44(0xb7)+'ck'&&_0x53e45d['messag'+'e']!==_0x9c7d44(0x7a)+'d'&&_0x53e45d['ok']!==![])return!![];return![];}export function isLikelyMossHealth(_0x54bf79){const _0x5a71db=_0x1735;if(!_0x54bf79||typeof _0x54bf79!==_0x5a71db(0xa8))return![];if(_0x54bf79[_0x5a71db(0xc4)+'t']==='moss-x'+_0x5a71db(0x90)||_0x54bf79['produc'+'t']===_0x5a71db(0xba)+'amera')return!![];if(_0x54bf79[_0x5a71db(0x7f)]===_0x5a71db(0xab)+_0x5a71db(0x9d)||_0x54bf79[_0x5a71db(0x7f)]===_0x5a71db(0xab)+_0x5a71db(0xb0))return!![];if(_0x54bf79[_0x5a71db(0xb9)]==='ok'&&(_0x54bf79[_0x5a71db(0xbb)]===_0x5a71db(0xaa)+_0x5a71db(0xb4)||_0x54bf79[_0x5a71db(0xbb)]===_0x5a71db(0xab)+_0x5a71db(0x9d)||_0x54bf79['name']===_0x5a71db(0xab)+_0x5a71db(0xb0)||_0x54bf79['hostna'+'me']))return!![];return Boolean(_0x54bf79[_0x5a71db(0xa2)+'me']&&_0x54bf79[_0x5a71db(0xac)+'ce']);}export function enrichFromHealth(_0x63856b,_0x2c3d9b){const _0x482daa=_0x1735;if(!isLikelyMossHealth(_0x2c3d9b))return{..._0x63856b};const _0x8a7c86=_0x2c3d9b[_0x482daa(0xc4)+'t']||_0x63856b[_0x482daa(0xc4)+'t']||'',_0x3e54e6=_0x2c3d9b[_0x482daa(0x7f)]||_0x2c3d9b[_0x482daa(0xbb)]||_0x63856b[_0x482daa(0x7f)]||'',_0x35a4eb=_0x2c3d9b['instan'+'ce']||_0x2c3d9b[_0x482daa(0xa1)+'y_name']||_0x2c3d9b[_0x482daa(0xa2)+'me']||_0x63856b[_0x482daa(0xbb)];return{..._0x63856b,'name':_0x35a4eb,'product':_0x8a7c86,'board':_0x3e54e6,'hostname':_0x2c3d9b[_0x482daa(0xa2)+'me']||_0x63856b[_0x482daa(0xa2)+'me']||'','mac':_0x2c3d9b[_0x482daa(0xc3)]||_0x63856b[_0x482daa(0xc3)]||'','ip':_0x2c3d9b['ip']||_0x63856b['ip']||'','bound':!!_0x2c3d9b['bound']};}export function mergeDevices(_0x232550,_0x12c2a7){const _0x4e9343=_0x1735;if(!_0x12c2a7?.[_0x4e9343(0x7e)+'l'])return _0x232550;const _0x1ff6b3=String(_0x12c2a7[_0x4e9343(0x7e)+'l'])[_0x4e9343(0xb6)+'e'](/\/$/,''),_0x5e3e23={..._0x12c2a7,'baseUrl':_0x1ff6b3},_0x3b36d7=_0x232550[_0x4e9343(0x8d)+_0x4e9343(0xb8)](_0x50e25f=>sameScanDevice(_0x50e25f,_0x5e3e23));if(_0x3b36d7<0x0)return _0x232550[_0x4e9343(0xb5)](_0x5e3e23),_0x232550;const _0x526b0d=_0x232550[_0x3b36d7];return _0x232550[_0x3b36d7]={..._0x526b0d,..._0x5e3e23,'baseUrl':preferScanBaseUrl(_0x526b0d[_0x4e9343(0x7e)+'l'],_0x1ff6b3),'mac':normalizeMac(_0x5e3e23[_0x4e9343(0xc3)])||_0x526b0d[_0x4e9343(0xc3)]||'','hostname':_0x5e3e23[_0x4e9343(0xa2)+'me']||_0x526b0d[_0x4e9343(0xa2)+'me']||''},_0x232550;}export function sameScanDevice(_0x17ac43={},_0xd5c4b5={}){const _0x24be1d=_0x1735,_0x3aae12=String(_0x17ac43['baseUr'+'l']||'')[_0x24be1d(0xb6)+'e'](/\/$/,''),_0x1ff486=String(_0xd5c4b5[_0x24be1d(0x7e)+'l']||'')[_0x24be1d(0xb6)+'e'](/\/$/,'');if(_0x3aae12&&_0x1ff486&&_0x3aae12===_0x1ff486)return!![];const _0x5a16e9=normalizeMac(_0x17ac43['mac']),_0x498c39=normalizeMac(_0xd5c4b5[_0x24be1d(0xc3)]);if(_0x5a16e9&&_0x498c39&&_0x5a16e9===_0x498c39)return!![];const _0x14ff21=scanHostname(_0x17ac43),_0x57db62=scanHostname(_0xd5c4b5);if(_0x14ff21&&_0x57db62&&_0x14ff21===_0x57db62)return!![];return![];}export function scanHostname(_0x5bba7f={}){const _0x5029d2=_0x1735,_0x3e22da=[_0x5bba7f[_0x5029d2(0xa2)+'me'],_0x5bba7f[_0x5029d2(0xb3)]]['map'](_0x5c3a6c=>String(_0x5c3a6c||'')['trim']()[_0x5029d2(0xae)+_0x5029d2(0x9f)]()['replac'+'e'](/\.$/,'')[_0x5029d2(0xb6)+'e'](/\.local$/,''))[_0x5029d2(0xc1)](_0x1920d3=>_0x1920d3&&!IPV4[_0x5029d2(0x96)](_0x1920d3)&&!_0x1920d3[_0x5029d2(0xbc)+'es'](':'));if(_0x3e22da)return _0x3e22da;const _0x4d004d=String(_0x5bba7f['baseUr'+'l']||'')[_0x5029d2(0xb6)+'e'](/^https?:\/\//i,'')['split']('/')[0x0]['split'](':')[0x0][_0x5029d2(0xb6)+'e'](/\[|\]/g,'')['toLowe'+_0x5029d2(0x9f)]()[_0x5029d2(0xb6)+'e'](/\.local$/,'');if(!_0x4d004d||IPV4[_0x5029d2(0x96)](_0x4d004d)||_0x4d004d[_0x5029d2(0xbc)+'es'](':'))return'';return _0x4d004d;}export function preferScanBaseUrl(_0x44f487,_0xd08d14){const _0xbab61a=_0x1735,_0x5b3b9e=String(_0x44f487||'')[_0xbab61a(0xb6)+'e'](/\/$/,''),_0x491f11=String(_0xd08d14||'')[_0xbab61a(0xb6)+'e'](/\/$/,'');if(isIpv4BaseUrl(_0x491f11)&&!isIpv4BaseUrl(_0x5b3b9e))return _0x491f11;if(isIpv4BaseUrl(_0x5b3b9e))return _0x5b3b9e;return _0x491f11||_0x5b3b9e;}function isIpv4BaseUrl(_0x2e388b){const _0x2c03c9=_0x1735,_0x3ff78e=String(_0x2e388b||'')[_0x2c03c9(0xb6)+'e'](/^https?:\/\//i,'')[_0x2c03c9(0xc7)]('/')[0x0][_0x2c03c9(0xc7)](':')[0x0];return IPV4[_0x2c03c9(0x96)](_0x3ff78e);}export function shouldScanIface(_0x5ce838,_0x4ab419){const _0x542840=_0x1735,_0x2d90fa=String(_0x5ce838||'')[_0x542840(0xae)+'rCase']();if(/^(docker|veth|br-|vmnet|vboxnet|lo|awdl|llw|utun|bridge|cni|flannel)/[_0x542840(0x96)](_0x2d90fa))return![];const _0x3d2e1c=String(_0x4ab419||'')[_0x542840(0xc7)]('.')[_0x542840(0x83)](Number);if(_0x3d2e1c[_0x542840(0x91)]!==0x4||_0x3d2e1c[_0x542840(0xa4)](_0x2e60d4=>Number[_0x542840(0xc8)](_0x2e60d4)))return![];const [_0x3b30c0,_0x2f57c1]=_0x3d2e1c;if(_0x3b30c0===0xa)return!![];if(_0x3b30c0===0xc0&&_0x2f57c1===0xa8)return!![];if(_0x3b30c0===0xac&&_0x2f57c1>=0x10&&_0x2f57c1<=0x1f&&_0x2f57c1!==0x11)return!![];return![];}export function listLanPrefixes(_0x28a64a=_0xb672d9[_0x9b3941(0x78)+'kInter'+_0x9b3941(0x77)]()){const _0x2cedf6=_0x9b3941,_0x36ecdb=[];for(const [_0x5a501d,_0x5c8d2c]of Object[_0x2cedf6(0x9a)+'s'](_0x28a64a||{})){for(const _0x1d0129 of _0x5c8d2c||[]){const _0x1c964f=_0x1d0129[_0x2cedf6(0x99)]===0x4||_0x1d0129[_0x2cedf6(0x99)]==='IPv4';if(_0x1d0129[_0x2cedf6(0xb1)+'al']||!_0x1c964f)continue;if(!shouldScanIface(_0x5a501d,_0x1d0129[_0x2cedf6(0xc6)+'s']))continue;const _0x14d70f=_0x1d0129['addres'+'s'][_0x2cedf6(0xc7)]('.');_0x36ecdb[_0x2cedf6(0xb5)](_0x14d70f[0x0]+'.'+_0x14d70f[0x1]+'.'+_0x14d70f[0x2]);}}return[...new Set(_0x36ecdb)];}export async function probeMossHealth(_0x299450,{timeoutMs:timeoutMs=0x384,fetchImpl:fetchImpl=fetch}={}){const _0x5c2411=_0x9b3941,_0x4f9c3d=String(_0x299450||'')[_0x5c2411(0xb6)+'e'](/\/$/,'')+(_0x5c2411(0xbd)+'h');try{const _0x4363cd=await fetchImpl(_0x4f9c3d,{'signal':AbortSignal[_0x5c2411(0x8f)+'t'](timeoutMs)});if(!_0x4363cd['ok'])return null;const _0x2810f9=await _0x4363cd['json']();return isLikelyMossHealth(_0x2810f9)?_0x2810f9:null;}catch{return null;}}async function mapPool(_0x164d5f,_0x4df0ac,_0x481de8){const _0x3fcd91=_0x9b3941,_0x1825a4=new Array(_0x164d5f[_0x3fcd91(0x91)]);let _0x284581=0x0;async function _0x393cda(){const _0x2d641f=_0x3fcd91;while(_0x284581<_0x164d5f[_0x2d641f(0x91)]){const _0x4c7248=_0x284581++;_0x1825a4[_0x4c7248]=await _0x481de8(_0x164d5f[_0x4c7248],_0x4c7248);}}const _0x45ec1f=Math[_0x3fcd91(0xa5)](0x1,Math['min'](_0x4df0ac,_0x164d5f[_0x3fcd91(0x91)]||0x1));return await Promise[_0x3fcd91(0x8b)](Array['from']({'length':_0x45ec1f},()=>_0x393cda())),_0x1825a4;}export async function browseMossHttp(_0x2b75b1=0xfa0){const _0x1c58f8=_0x9b3941,_0x29aecc=[],_0x3768b5=new _0x2b782c(),_0x18500b=_0x3768b5[_0x1c58f8(0xc1)]({'type':'moss-h'+_0x1c58f8(0x7b),'protocol':'tcp'},_0x3fda79=>{for(const _0x4a4c20 of deviceFromService(_0x3fda79))mergeDevices(_0x29aecc,_0x4a4c20);});await new Promise(_0x3cdeed=>setTimeout(_0x3cdeed,_0x2b75b1));try{_0x18500b[_0x1c58f8(0x98)]();}catch{}try{_0x3768b5[_0x1c58f8(0x95)+'y']();}catch{}return _0x29aecc;}export async function scanLanMoss({port:port=0x157c,timeoutMs:timeoutMs=0x1f4,concurrency:concurrency=0x30,fetchImpl:fetchImpl=fetch,prefixes:prefixes=listLanPrefixes()}={}){const _0x4c10cc=_0x9b3941,_0x4be3a8=[],_0x168667=[];for(const _0xfcd9af of prefixes){for(let _0xdc49d5=0x1;_0xdc49d5<=0xfe;_0xdc49d5+=0x1){_0x168667[_0x4c10cc(0xb5)](_0x4c10cc(0x94)+'/'+_0xfcd9af+'.'+_0xdc49d5+':'+port);}}const _0x5e100f=[...new Set(_0x168667)];return await mapPool(_0x5e100f,concurrency,async _0x1eb400=>{const _0x9f8387=_0x4c10cc,_0x389814=await probeMossHealth(_0x1eb400,{'timeoutMs':timeoutMs,'fetchImpl':fetchImpl});if(!_0x389814)return;mergeDevices(_0x4be3a8,enrichFromHealth({'name':_0x389814[_0x9f8387(0xac)+'ce']||_0x389814[_0x9f8387(0xa2)+'me']||_0x9f8387(0xa0),'host':_0x1eb400[_0x9f8387(0xb6)+'e'](/^https?:\/\//,'')[_0x9f8387(0xb6)+'e'](/:\d+$/,''),'port':port,'baseUrl':_0x1eb400,'source':'lan'},_0x389814));}),_0x4be3a8;}export async function discoverMossDevices({lastHostname:lastHostname='',lastBaseUrl:lastBaseUrl='',mdnsMs:mdnsMs=0xfa0,fetchImpl:fetchImpl=fetch}={}){const _0x1dc5df=_0x9b3941,_0x4e5d7e=[],_0xec627f=browseMossHttp(mdnsMs)[_0x1dc5df(0x97)](_0x4fcfa6=>{const _0x1a805f=_0x1dc5df;return console[_0x1a805f(0x88)]('[disco'+_0x1a805f(0x85)+'dns',_0x4fcfa6?.[_0x1a805f(0xad)+'e']||_0x4fcfa6),[];}),_0x2de6b1=scanLanMoss({'fetchImpl':fetchImpl})['catch'](_0xf0c23f=>{const _0x2195ee=_0x1dc5df;return console[_0x2195ee(0x88)](_0x2195ee(0x89)+_0x2195ee(0xa7)+'an',_0xf0c23f?.['messag'+'e']||_0xf0c23f),[];}),_0x18f494=[];if(lastBaseUrl)_0x18f494[_0x1dc5df(0xb5)]({'name':_0x1dc5df(0xc0),'baseUrl':String(lastBaseUrl)[_0x1dc5df(0xb6)+'e'](/\/$/,''),'source':_0x1dc5df(0xbe)});lastHostname&&_0x18f494['push']({'name':lastHostname,'baseUrl':_0x1dc5df(0x94)+'/'+lastHostname+(_0x1dc5df(0x93)+_0x1dc5df(0x9e)),'source':_0x1dc5df(0xa2)+'me'});const [_0x43b0cc,_0x5b67b7]=await Promise[_0x1dc5df(0x8b)]([_0xec627f,_0x2de6b1]);for(const _0x128ab0 of[..._0x43b0cc,..._0x5b67b7,..._0x18f494])mergeDevices(_0x4e5d7e,_0x128ab0);const _0x411fbc=await mapPool(_0x4e5d7e,0x8,async _0x319ad3=>{const _0x45ca26=_0x1dc5df,_0x4a5769=await probeMossHealth(_0x319ad3[_0x45ca26(0x7e)+'l'],{'timeoutMs':0x4b0,'fetchImpl':fetchImpl});if(_0x4a5769)return enrichFromHealth(_0x319ad3,_0x4a5769);if(_0x319ad3[_0x45ca26(0x9c)]==='mdns'||_0x319ad3['source']===_0x45ca26(0xa9))return _0x319ad3;return null;}),_0x42da30=[];for(const _0x5ba2d2 of _0x411fbc){if(_0x5ba2d2)mergeDevices(_0x42da30,_0x5ba2d2);}return _0x42da30;}function _0x40cc(){const _0x23b1b5=['DMvYxsbS','B2jQzwn0','BgfU','Bw9ZCY1K','Bw9ZCY1V','Aw5ZDgfU','BwvZC2fN','Dg9mB3DL','mZy5mZeZy0joqNbJ','DJi2nda','Aw50zxjU','lM9UBgLU','Ag9ZDa','zxnRDg9W','ChvZAa','CMvWBgfJ','yMLUzc5H','zgv4','C3rHDhvZ','Bw9ZCY1J','BMfTzq','Aw5JBhvK','l2HLywX0','C2f2zwq','nM9uDuzWua','5lIk5QYH6l+E5O6L','zMLUza','mta1ndqXnMrSv1jXrq','BwfJ','ChjVzhvJ','Cgf5Bg9H','ywrKCMvZ','C3bSAxq','Axnoyu4','zMfJzxm','BMv0D29Y','nZa0mZrZEhvmzLG','y2XLyxjL','DhrW','mtq5mde5meHmtM5NBG','nwXYEuzTuG','yMfZzvvY','yM9HCMq','v2L0Aa','DhH0','nZaWu1rrt3Ho','BwfW','AxnbCNjH','DMvYxsbT','nte2mdG0AgD5wKPm','DhjPBq','D2fYBG','w2rPC2nV','C2vZ','ywXS','mty5lJi1','zMLUzeLU','CMvMzxjL','DgLTzw91','AwfVEMHP','BgvUz3rO','BwrUCW','lMXVy2fS','Ahr0CdOV','zgvZDhjV','DgvZDa','y2f0y2G','C3rVCa','zMfTAwX5','zw50CMLL','mtq5mZC0DxbquwTh','C291CMnL','BNzPzG','oJu1mda','CKnHC2u','tu9tuW','zgLZCgXH','Ag9ZDg5H','C3rHCNrZ','C29Tzq','Bwf4','mty1odK3nLrAzg9rwa'];_0x40cc=function(){return _0x23b1b5;};return _0x40cc();}
@@ -1 +1 @@
1
- (function(_0x779e3,_0x2ae3d5){const _0x126251=_0x2b30,_0x1794a0=_0x779e3();while(!![]){try{const _0x16b524=parseInt(_0x126251(0xbc))/0x1+-parseInt(_0x126251(0xa3))/0x2*(-parseInt(_0x126251(0xae))/0x3)+parseInt(_0x126251(0xb0))/0x4+parseInt(_0x126251(0xaa))/0x5*(-parseInt(_0x126251(0xa5))/0x6)+-parseInt(_0x126251(0xa8))/0x7*(parseInt(_0x126251(0xa2))/0x8)+-parseInt(_0x126251(0xad))/0x9*(-parseInt(_0x126251(0x94))/0xa)+parseInt(_0x126251(0x92))/0xb*(-parseInt(_0x126251(0xa6))/0xc);if(_0x16b524===_0x2ae3d5)break;else _0x1794a0['push'](_0x1794a0['shift']());}catch(_0x35a69a){_0x1794a0['push'](_0x1794a0['shift']());}}}(_0x1640,0x1b4f3));import{execFileSync}from'node:child_process';import _0x52221a from'node:fs';export function sleep(_0x5070e5){return new Promise(_0x1a9ab0=>setTimeout(_0x1a9ab0,_0x5070e5));}export function parsePidList(_0x11d604){const _0x494964=_0x2b30;return[...new Set(String(_0x11d604||'')[_0x494964(0x9c)](/[\s,]+/)[_0x494964(0xb8)](_0x266ce5=>Number(_0x266ce5))[_0x494964(0x98)](_0x41d73b=>Number['isInte'+_0x494964(0xbb)](_0x41d73b)&&_0x41d73b>0x1))];}export function isMossDesktopCommand(_0x1eaf99){const _0x4cb395=_0x2b30,_0x39588d=String(_0x1eaf99||'');return/(?:^|[\\/\s])(?:server\/index\.mjs|dist-server\/index\.mjs)\b/[_0x4cb395(0x96)](_0x39588d)||/\byo-moss-ai\b/[_0x4cb395(0x96)](_0x39588d);}export function processCommand(_0x583b24){const _0xc0a519=_0x2b30,_0x445281=Number(_0x583b24);if(!Number[_0xc0a519(0xb6)+_0xc0a519(0xbb)](_0x445281)||_0x445281<=0x1)return'';try{return execFileSync('ps',['-p',String(_0x445281),'-o',_0xc0a519(0xb1)],{'encoding':_0xc0a519(0xaf),'timeout':0x3e8})[_0xc0a519(0x90)]();}catch{return'';}}export function pidsListeningOn(_0x38c3c7){const _0x568906=_0x2b30,_0x2ccde1=Number(_0x38c3c7);if(!Number[_0x568906(0xb6)+'ger'](_0x2ccde1)||_0x2ccde1<=0x0)return[];try{if(process['platfo'+'rm']===_0x568906(0x9f)){const _0x155070=execFileSync(_0x568906(0xb3)+'t',['-ano','-p',_0x568906(0x9e)],{'encoding':_0x568906(0xaf),'timeout':0xbb8,'windowsHide':!![]}),_0xadc59e=[],_0x1cb0f8=new RegExp(_0x568906(0xb2)+_0x2ccde1+(_0x568906(0x93)+_0x568906(0xa0)+_0x568906(0xb5)+_0x568906(0xa4)+_0x568906(0xa7)),'gi');let _0x54e6ea;while(_0x54e6ea=_0x1cb0f8['exec'](_0x155070))_0xadc59e[_0x568906(0x9a)](_0x54e6ea[0x1]);return parsePidList(_0xadc59e[_0x568906(0x9d)]('\x20'));}const _0x1e8c66=execFileSync('lsof',[_0x568906(0xb9),_0x568906(0xbd)+_0x2ccde1,'-sTCP:'+_0x568906(0xbe),'-t'],{'encoding':_0x568906(0xaf),'timeout':0xbb8});return parsePidList(_0x1e8c66);}catch{return[];}}export function isPidAlive(_0x18c470){const _0x4742dd=_0x2b30,_0x399995=Number(_0x18c470);if(!Number[_0x4742dd(0xb6)+_0x4742dd(0xbb)](_0x399995)||_0x399995<=0x1)return![];try{return process[_0x4742dd(0xab)](_0x399995,0x0),!![];}catch{return![];}}export function readRuntime(_0x291049){const _0x1de456=_0x2b30;try{const _0x214d13=JSON[_0x1de456(0xb4)](_0x52221a['readFi'+'leSync'](_0x291049,_0x1de456(0xaf))),_0x2d1d6d=Number(_0x214d13[_0x1de456(0x99)]),_0x37f915=Number(_0x214d13[_0x1de456(0x91)]);if(!Number[_0x1de456(0xb6)+_0x1de456(0xbb)](_0x2d1d6d)||_0x2d1d6d<=0x0)return null;return{'port':_0x2d1d6d,'pid':Number[_0x1de456(0xb6)+_0x1de456(0xbb)](_0x37f915)&&_0x37f915>0x1?_0x37f915:0x0,'at':Number(_0x214d13['at'])||0x0};}catch{return null;}}export function resolveApiTarget({runtimePath:_0x2d7583,preferredPort:preferredPort=0xec4}={}){const _0x134294=_0x2b30,_0x31fde6=readRuntime(_0x2d7583);if(_0x31fde6?.[_0x134294(0x99)]&&(!_0x31fde6['pid']||isPidAlive(_0x31fde6[_0x134294(0x91)])))return _0x134294(0x97)+_0x134294(0xac)+_0x134294(0xa9)+_0x31fde6[_0x134294(0x99)];return _0x134294(0x97)+_0x134294(0xac)+_0x134294(0xa9)+preferredPort;}export async function stopPid(_0x5b6668,{waitMs:waitMs=0x320}={}){const _0x48e291=_0x2b30,_0x17f54f=Number(_0x5b6668);if(!Number[_0x48e291(0xb6)+'ger'](_0x17f54f)||_0x17f54f<=0x1||_0x17f54f===process[_0x48e291(0x91)])return![];if(!isPidAlive(_0x17f54f))return!![];try{process[_0x48e291(0xab)](_0x17f54f,_0x48e291(0xa1)+'M');}catch{return!isPidAlive(_0x17f54f);}const _0x378ea4=Date['now']();while(Date[_0x48e291(0x9b)]()-_0x378ea4<waitMs){if(!isPidAlive(_0x17f54f))return!![];await sleep(0x28);}if(isPidAlive(_0x17f54f))try{process[_0x48e291(0xab)](_0x17f54f,_0x48e291(0x95)+'L');}catch{}return!isPidAlive(_0x17f54f);}export function clearRuntime(_0x6b1a91){const _0x488ca3=_0x2b30;try{_0x52221a[_0x488ca3(0xb7)+_0x488ca3(0xba)](_0x6b1a91);}catch{}}async function waitUntilGone(_0x34c14a,{sleepMs:_0x587eae,tries:_0x21d251}){for(let _0x44eb82=0x0;_0x44eb82<_0x21d251;_0x44eb82+=0x1){if(!isPidAlive(_0x34c14a))return!![];await sleep(_0x587eae);}return!isPidAlive(_0x34c14a);}export async function reclaimListenPort({preferredPort:_0x2bb34d,runtimePath:_0xc29e9b,sleepMs:sleepMs=0x50,tries:tries=0x8,hopRange:hopRange=0x14,listPids:listPids=pidsListeningOn,readCommand:readCommand=processCommand}={}){const _0xccf6e6=_0x2b30,_0x8af7e7=Number(_0x2bb34d)||0xec4,_0x17ccf7=readRuntime(_0xc29e9b);let _0x277fde=![],_0x1cf0ad=![];const _0x5182ab=_0x17ccf7?.[_0xccf6e6(0x91)]&&_0x17ccf7[_0xccf6e6(0x91)]!==process[_0xccf6e6(0x91)]&&Number[_0xccf6e6(0xb6)+_0xccf6e6(0xbb)](_0x17ccf7[_0xccf6e6(0x99)])&&_0x17ccf7[_0xccf6e6(0x99)]>=_0x8af7e7&&_0x17ccf7[_0xccf6e6(0x99)]<=_0x8af7e7+hopRange;if(_0x5182ab){_0x277fde=!![];if(!isPidAlive(_0x17ccf7[_0xccf6e6(0x91)]))clearRuntime(_0xc29e9b);else{_0x1cf0ad=await stopPid(_0x17ccf7[_0xccf6e6(0x91)]),await waitUntilGone(_0x17ccf7['pid'],{'sleepMs':sleepMs,'tries':tries});if(!isPidAlive(_0x17ccf7[_0xccf6e6(0x91)]))clearRuntime(_0xc29e9b);}}else _0x17ccf7&&!_0x17ccf7[_0xccf6e6(0x91)]&&(clearRuntime(_0xc29e9b),_0x277fde=!![]);const _0x12fb14=listPids(_0x8af7e7)[_0xccf6e6(0x98)](_0x179d69=>_0x179d69!==process[_0xccf6e6(0x91)]&&_0x179d69!==_0x17ccf7?.[_0xccf6e6(0x91)]&&isMossDesktopCommand(readCommand(_0x179d69)));for(const _0x2a032e of _0x12fb14){const _0x3197cc=await stopPid(_0x2a032e);if(_0x3197cc)_0x1cf0ad=!![];_0x277fde=!![],await waitUntilGone(_0x2a032e,{'sleepMs':sleepMs,'tries':tries});}return{'reclaimed':_0x277fde,'killed':_0x1cf0ad};}function _0x2b30(_0x1cc9ac,_0x1dacd8){_0x1cc9ac=_0x1cc9ac-0x90;const _0x1640f2=_0x1640();let _0x2b3064=_0x1640f2[_0x1cc9ac];if(_0x2b30['fNFMlc']===undefined){var _0x1ac4d5=function(_0x3a62b7){const _0x235003='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x52221a='',_0x5070e5='';for(let _0x1a9ab0=0x0,_0x11d604,_0x266ce5,_0x41d73b=0x0;_0x266ce5=_0x3a62b7['charAt'](_0x41d73b++);~_0x266ce5&&(_0x11d604=_0x1a9ab0%0x4?_0x11d604*0x40+_0x266ce5:_0x266ce5,_0x1a9ab0++%0x4)?_0x52221a+=String['fromCharCode'](0xff&_0x11d604>>(-0x2*_0x1a9ab0&0x6)):0x0){_0x266ce5=_0x235003['indexOf'](_0x266ce5);}for(let _0x1eaf99=0x0,_0x39588d=_0x52221a['length'];_0x1eaf99<_0x39588d;_0x1eaf99++){_0x5070e5+='%'+('00'+_0x52221a['charCodeAt'](_0x1eaf99)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5070e5);};_0x2b30['UqofSW']=_0x1ac4d5,_0x2b30['rrSmlf']={},_0x2b30['fNFMlc']=!![];}const _0x5722ce=_0x1640f2[0x0],_0x4f408b=_0x1cc9ac+_0x5722ce,_0x4edab3=_0x2b30['rrSmlf'][_0x4f408b];return!_0x4edab3?(_0x2b3064=_0x2b30['UqofSW'](_0x2b3064),_0x2b30['rrSmlf'][_0x4f408b]=_0x2b3064):_0x2b3064=_0x4edab3,_0x2b3064;}export function nextListenPort(_0x4f066d,_0x43f727,_0x132afe=0x8){const _0x1bd099=Number(_0x4f066d)||0xec4;if(_0x43f727<_0x132afe)return _0x1bd099;return _0x1bd099+(_0x43f727-_0x132afe+0x1);}function _0x1640(){const _0x10cc29=['DgvZDa','Ahr0CdOV','zMLSDgvY','Cg9YDa','ChvZAa','BM93','C3bSAxq','AM9PBG','venq','D2LUmZi','xhmPlIPm','u0Lhvevs','mteWmZi4ogHXqu9tBW','ntjir1LoEwK','tKDCCYSO','mtGXmZHytKnNENi','mJa4mZq0CKfqDw9d','xgqRkq','n2rRtxjOsa','lJaUmtO','mtvuwuz3zeu','A2LSBa','lZeYnY4W','mti2mZKWnKfqtNnQta','mty4otnIzvrSuMK','DxrMoa','mJm4mJy4wgfUs0zI','yxjNCZ0','wZPCw10','BMv0C3rH','CgfYC2u','svnuru5j','AxnjBNrL','Dw5SAw5R','BwfW','lw5q','u3LUyW','z2vY','mJa3ntG2suLxqLrw','lwLuq1a6','teLtvevo','DhjPBq','CgLK','mtG3sej6yxjX','kd86xf18','mtbxtM9xwNa','u0Lhs0Lm'];_0x1640=function(){return _0x10cc29;};return _0x1640();}
1
+ function _0x12e3(_0x3f87e7,_0x106ea2){_0x3f87e7=_0x3f87e7-0xc4;const _0xa55016=_0xa550();let _0x12e3f9=_0xa55016[_0x3f87e7];if(_0x12e3['zHTcbM']===undefined){var _0xcc7408=function(_0x5ad7dc){const _0x4a12be='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x271f3c='',_0x2b9576='';for(let _0x2bb5ac=0x0,_0x58fb0e,_0x3bd01d,_0x1c47aa=0x0;_0x3bd01d=_0x5ad7dc['charAt'](_0x1c47aa++);~_0x3bd01d&&(_0x58fb0e=_0x2bb5ac%0x4?_0x58fb0e*0x40+_0x3bd01d:_0x3bd01d,_0x2bb5ac++%0x4)?_0x271f3c+=String['fromCharCode'](0xff&_0x58fb0e>>(-0x2*_0x2bb5ac&0x6)):0x0){_0x3bd01d=_0x4a12be['indexOf'](_0x3bd01d);}for(let _0x46f61a=0x0,_0x5ceade=_0x271f3c['length'];_0x46f61a<_0x5ceade;_0x46f61a++){_0x2b9576+='%'+('00'+_0x271f3c['charCodeAt'](_0x46f61a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2b9576);};_0x12e3['UyrBeb']=_0xcc7408,_0x12e3['VsuomC']={},_0x12e3['zHTcbM']=!![];}const _0x3afd49=_0xa55016[0x0],_0x212aa4=_0x3f87e7+_0x3afd49,_0x494851=_0x12e3['VsuomC'][_0x212aa4];return!_0x494851?(_0x12e3f9=_0x12e3['UyrBeb'](_0x12e3f9),_0x12e3['VsuomC'][_0x212aa4]=_0x12e3f9):_0x12e3f9=_0x494851,_0x12e3f9;}function _0xa550(){const _0xb45705=['lxnuq1a6','otLuwuXRBwC','mte0mJe2ogLcAxr4wa','xhmPlIPm','DhjPBq','mti1nde2mK5xz0LhBG','u0Lhvevs','zMLSDgvY','nJm1nJa5vvjgrLfN','AxnjBNrL','DxrMoa','lZeYnY4W','ChvZAa','Ahr0CdOV','A2LSBa','venq','CgXHDgzV','u0Lhs0Lm','BhnVzG','CgLK','ndq5otm4nunhq1Phsq','xgqRkq','DgvZDa','wZPCw10','mJqWmJq1nLzZA3b0CW','BMv0C3rH','BM93','svnuru5j','z2vY','kd86xf18','Dw5SAw5R','C3bSAxq','D2LUmZi','u3LUyW','mJrtAeziENe','Cg9YDa','lJaUmtO','mJaXmJi4mhrXzKnzvW','lwLuq1a6','mti4ody1mgrlr1j2yq','BwfW'];_0xa550=function(){return _0xb45705;};return _0xa550();}(function(_0x1b1f91,_0x4bd836){const _0x56e471=_0x12e3,_0x34bbe9=_0x1b1f91();while(!![]){try{const _0x5efaf6=-parseInt(_0x56e471(0xd7))/0x1+-parseInt(_0x56e471(0xe7))/0x2+parseInt(_0x56e471(0xcd))/0x3+parseInt(_0x56e471(0xcb))/0x4+parseInt(_0x56e471(0xe3))/0x5+-parseInt(_0x56e471(0xc8))/0x6*(parseInt(_0x56e471(0xd4))/0x7)+parseInt(_0x56e471(0xd1))/0x8*(parseInt(_0x56e471(0xd0))/0x9);if(_0x5efaf6===_0x4bd836)break;else _0x34bbe9['push'](_0x34bbe9['shift']());}catch(_0x31cb03){_0x34bbe9['push'](_0x34bbe9['shift']());}}}(_0xa550,0xcf645));import{execFileSync}from'node:child_process';import _0x271f3c from'node:fs';export function sleep(_0x2b9576){return new Promise(_0x2bb5ac=>setTimeout(_0x2bb5ac,_0x2b9576));}export function parsePidList(_0x58fb0e){const _0x1d40c9=_0x12e3;return[...new Set(String(_0x58fb0e||'')[_0x1d40c9(0xc5)](/[\s,]+/)[_0x1d40c9(0xce)](_0x3bd01d=>Number(_0x3bd01d))[_0x1d40c9(0xd6)](_0x1c47aa=>Number[_0x1d40c9(0xd8)+_0x1d40c9(0xeb)](_0x1c47aa)&&_0x1c47aa>0x1))];}export function isMossDesktopCommand(_0x46f61a){const _0x1c322b=_0x12e3,_0x5ceade=String(_0x46f61a||'');return/(?:^|[\\/\s])(?:server\/index\.mjs|dist-server\/index\.mjs)\b/['test'](_0x5ceade)||/\byo-moss-ai\b/[_0x1c322b(0xe5)](_0x5ceade);}export function processCommand(_0x439308){const _0x428367=_0x12e3,_0x260a69=Number(_0x439308);if(!Number[_0x428367(0xd8)+_0x428367(0xeb)](_0x260a69)||_0x260a69<=0x1)return'';try{return execFileSync('ps',['-p',String(_0x260a69),'-o','args='],{'encoding':_0x428367(0xd9),'timeout':0x3e8})[_0x428367(0xd3)]();}catch{return'';}}export function pidsListeningOn(_0x3fa3d0){const _0x24e012=_0x12e3,_0xaa3094=Number(_0x3fa3d0);if(!Number[_0x24e012(0xd8)+_0x24e012(0xeb)](_0xaa3094)||_0xaa3094<=0x0)return[];try{if(process[_0x24e012(0xdf)+'rm']===_0x24e012(0xc6)){const _0x3adb57=execFileSync(_0x24e012(0xe8)+'t',['-ano','-p',_0x24e012(0xde)],{'encoding':_0x24e012(0xd9),'timeout':0xbb8,'windowsHide':!![]}),_0x4bbaa2=[],_0x5b4ef0=new RegExp(_0x24e012(0xe6)+_0xaa3094+(_0x24e012(0xec)+_0x24e012(0xd2)+_0x24e012(0xea)+'NG\x5cs+('+_0x24e012(0xe4)),'gi');let _0x3c91d4;while(_0x3c91d4=_0x5b4ef0['exec'](_0x3adb57))_0x4bbaa2[_0x24e012(0xdb)](_0x3c91d4[0x1]);return parsePidList(_0x4bbaa2['join']('\x20'));}const _0xd372d0=execFileSync(_0x24e012(0xe1),['-nP',_0x24e012(0xcc)+_0xaa3094,_0x24e012(0xcf)+'LISTEN','-t'],{'encoding':_0x24e012(0xd9),'timeout':0xbb8});return parsePidList(_0xd372d0);}catch{return[];}}export function isPidAlive(_0x1cde22){const _0x11c2dd=_0x12e3,_0x32f37d=Number(_0x1cde22);if(!Number[_0x11c2dd(0xd8)+_0x11c2dd(0xeb)](_0x32f37d)||_0x32f37d<=0x1)return![];try{return process[_0x11c2dd(0xdd)](_0x32f37d,0x0),!![];}catch{return![];}}export function readRuntime(_0xbbf320){const _0x27e1af=_0x12e3;try{const _0xeaa294=JSON['parse'](_0x271f3c['readFi'+'leSync'](_0xbbf320,_0x27e1af(0xd9))),_0x2e4ba3=Number(_0xeaa294[_0x27e1af(0xc9)]),_0x5196da=Number(_0xeaa294['pid']);if(!Number[_0x27e1af(0xd8)+_0x27e1af(0xeb)](_0x2e4ba3)||_0x2e4ba3<=0x0)return null;return{'port':_0x2e4ba3,'pid':Number['isInte'+_0x27e1af(0xeb)](_0x5196da)&&_0x5196da>0x1?_0x5196da:0x0,'at':Number(_0xeaa294['at'])||0x0};}catch{return null;}}export function resolveApiTarget({runtimePath:_0x458240,preferredPort:preferredPort=0xec4}={}){const _0x4b1cf3=_0x12e3,_0x252dd0=readRuntime(_0x458240);if(_0x252dd0?.[_0x4b1cf3(0xc9)]&&(!_0x252dd0[_0x4b1cf3(0xe2)]||isPidAlive(_0x252dd0[_0x4b1cf3(0xe2)])))return _0x4b1cf3(0xdc)+_0x4b1cf3(0xda)+_0x4b1cf3(0xca)+_0x252dd0[_0x4b1cf3(0xc9)];return _0x4b1cf3(0xdc)+_0x4b1cf3(0xda)+_0x4b1cf3(0xca)+preferredPort;}export async function stopPid(_0x2df102,{waitMs:waitMs=0x320}={}){const _0x3b4de0=_0x12e3,_0x4e9931=Number(_0x2df102);if(!Number[_0x3b4de0(0xd8)+_0x3b4de0(0xeb)](_0x4e9931)||_0x4e9931<=0x1||_0x4e9931===process['pid'])return![];if(!isPidAlive(_0x4e9931))return!![];try{process[_0x3b4de0(0xdd)](_0x4e9931,_0x3b4de0(0xd5)+'M');}catch{return!isPidAlive(_0x4e9931);}const _0x2a4b85=Date[_0x3b4de0(0xe9)]();while(Date[_0x3b4de0(0xe9)]()-_0x2a4b85<waitMs){if(!isPidAlive(_0x4e9931))return!![];await sleep(0x28);}if(isPidAlive(_0x4e9931))try{process[_0x3b4de0(0xdd)](_0x4e9931,_0x3b4de0(0xe0)+'L');}catch{}return!isPidAlive(_0x4e9931);}export function clearRuntime(_0x306f1c){const _0x44f68a=_0x12e3;try{_0x271f3c[_0x44f68a(0xc4)+_0x44f68a(0xc7)](_0x306f1c);}catch{}}async function waitUntilGone(_0x518675,{sleepMs:_0x53ccdd,tries:_0x14545b}){for(let _0x4feedc=0x0;_0x4feedc<_0x14545b;_0x4feedc+=0x1){if(!isPidAlive(_0x518675))return!![];await sleep(_0x53ccdd);}return!isPidAlive(_0x518675);}export async function reclaimListenPort({preferredPort:_0x1ca607,runtimePath:_0x242876,sleepMs:sleepMs=0x50,tries:tries=0x8,hopRange:hopRange=0x14,listPids:listPids=pidsListeningOn,readCommand:readCommand=processCommand}={}){const _0x3fd077=_0x12e3,_0x4357cb=Number(_0x1ca607)||0xec4,_0x5342e3=readRuntime(_0x242876);let _0x4d8cad=![],_0x5e7859=![];const _0x4efb03=_0x5342e3?.['pid']&&_0x5342e3[_0x3fd077(0xe2)]!==process[_0x3fd077(0xe2)]&&Number[_0x3fd077(0xd8)+_0x3fd077(0xeb)](_0x5342e3[_0x3fd077(0xc9)])&&_0x5342e3['port']>=_0x4357cb&&_0x5342e3[_0x3fd077(0xc9)]<=_0x4357cb+hopRange;if(_0x4efb03){_0x4d8cad=!![];if(!isPidAlive(_0x5342e3['pid']))clearRuntime(_0x242876);else{_0x5e7859=await stopPid(_0x5342e3[_0x3fd077(0xe2)]),await waitUntilGone(_0x5342e3[_0x3fd077(0xe2)],{'sleepMs':sleepMs,'tries':tries});if(!isPidAlive(_0x5342e3[_0x3fd077(0xe2)]))clearRuntime(_0x242876);}}else _0x5342e3&&!_0x5342e3[_0x3fd077(0xe2)]&&(clearRuntime(_0x242876),_0x4d8cad=!![]);const _0x1381d4=listPids(_0x4357cb)[_0x3fd077(0xd6)](_0x15282e=>_0x15282e!==process['pid']&&_0x15282e!==_0x5342e3?.[_0x3fd077(0xe2)]&&isMossDesktopCommand(readCommand(_0x15282e)));for(const _0x51353e of _0x1381d4){const _0x121530=await stopPid(_0x51353e);if(_0x121530)_0x5e7859=!![];_0x4d8cad=!![],await waitUntilGone(_0x51353e,{'sleepMs':sleepMs,'tries':tries});}return{'reclaimed':_0x4d8cad,'killed':_0x5e7859};}export function nextListenPort(_0x5a376c,_0x51c8d6,_0x4075da=0x8){const _0x17a053=Number(_0x5a376c)||0xec4;if(_0x51c8d6<_0x4075da)return _0x17a053;return _0x17a053+(_0x51c8d6-_0x4075da+0x1);}