@wujie-shell/core 1.0.6 → 1.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/wujie-shell.mjs +1 -1
- package/dist/src/agents/bundled-agent-skills.mjs +1 -1
- package/dist/src/agents/bundled-agents.mjs +1 -1
- package/dist/src/agents/codex-home.mjs +1 -1
- package/dist/src/agents/runtime-config.mjs +1 -1
- package/dist/src/chat/media-archive.mjs +1 -1
- package/dist/src/chat/queue.mjs +1 -1
- package/dist/src/common/cron-session-key.mjs +1 -1
- package/dist/src/common/diagnostics.mjs +1 -1
- package/dist/src/common/logging.mjs +1 -1
- package/dist/src/common/runtime-logger.mjs +1 -1
- package/dist/src/common/sqlite-paths.mjs +1 -1
- package/dist/src/common/user-events.mjs +1 -1
- package/dist/src/common/utils.mjs +1 -1
- package/dist/src/config/controller.mjs +1 -1
- package/dist/src/connectors/config-utils.mjs +1 -1
- package/dist/src/connectors/constants.mjs +1 -1
- package/dist/src/connectors/controller.mjs +1 -1
- package/dist/src/connectors/kdocs-cli.mjs +1 -1
- package/dist/src/connectors/lark-cli.mjs +1 -1
- package/dist/src/electron/instance-identity.mjs +1 -1
- package/dist/src/electron/main.mjs +1 -1
- package/dist/src/electron/preload.mjs +1 -1
- package/dist/src/electron/protocol-url-state.mjs +1 -1
- package/dist/src/events/domain-event-journal.mjs +1 -1
- package/dist/src/files/generated-files-store.mjs +1 -1
- package/dist/src/files/handlers.mjs +1 -1
- package/dist/src/gateway/chat-delta.mjs +1 -1
- package/dist/src/gateway/controller.mjs +1 -1
- package/dist/src/gateway/request-id-title-events.mjs +1 -1
- package/dist/src/gateway/ws-client.mjs +1 -1
- package/dist/src/index.mjs +1 -1
- package/dist/src/log-reporting/handlers.mjs +1 -1
- package/dist/src/log-reporting/report-logs.mjs +1 -1
- package/dist/src/models/handlers.mjs +1 -1
- package/dist/src/preferences/store.mjs +1 -1
- package/dist/src/request-id/handlers.mjs +1 -1
- package/dist/src/request-id/runtime-bridge.mjs +1 -1
- package/dist/src/request-id/session-store.mjs +1 -1
- package/dist/src/request-id/title.mjs +1 -1
- package/dist/src/review/controller.mjs +1 -1
- package/dist/src/runtime/cron-missed-run-policy.mjs +1 -1
- package/dist/src/runtime/index.mjs +1 -1
- package/dist/src/runtime/patch-channel-plugin-runtime.mjs +1 -1
- package/dist/src/runtime/patch-chat-attachment-base64.mjs +1 -1
- package/dist/src/runtime/patch-chat-history-mixed-tool-content.mjs +1 -1
- package/dist/src/runtime/patch-codex-isolated-auth.mjs +1 -1
- package/dist/src/runtime/patch-provider-request-id-header.mjs +1 -1
- package/dist/src/runtime/patch-qqbot-outbound-session-route.mjs +1 -1
- package/dist/src/runtime/patch-request-id-title-runtime.mjs +1 -1
- package/dist/src/runtime/patch-session-store-sqlite.mjs +1 -1
- package/dist/src/runtime/patch-weixin-outbound-session-route.mjs +1 -1
- package/dist/src/runtime/plugin-sync.mjs +1 -1
- package/dist/src/sessions/agent-sessions-map-store.mjs +1 -1
- package/dist/src/sessions/runtime-bridge.mjs +1 -1
- package/dist/src/sessions/session-data-service.mjs +1 -1
- package/dist/src/sessions/session-runtime-state-service.mjs +1 -1
- package/dist/src/sessions/session-runtime-state.mjs +1 -1
- package/dist/src/sessions/session-sqlite-store.mjs +1 -1
- package/dist/src/skills/import.mjs +1 -1
- package/dist/src/skills/market.mjs +1 -1
- package/dist/src/terminal/manager.mjs +1 -1
- package/dist/src/updates/controller.mjs +1 -1
- package/dist/src/updates/loader.mjs +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x19f4a4,_0x272ece){const _0x274764=_0x2e04,_0x1bdb66=_0x19f4a4();while(!![]){try{const _0x241814=-parseInt(_0x274764(0x194))/0x1*(parseInt(_0x274764(0x149))/0x2)+parseInt(_0x274764(0x164))/0x3+-parseInt(_0x274764(0x182))/0x4*(parseInt(_0x274764(0x1be))/0x5)+-parseInt(_0x274764(0x1d4))/0x6*(parseInt(_0x274764(0x1ce))/0x7)+-parseInt(_0x274764(0x1c5))/0x8+parseInt(_0x274764(0x175))/0x9+parseInt(_0x274764(0x19d))/0xa;if(_0x241814===_0x272ece)break;else _0x1bdb66['push'](_0x1bdb66['shift']());}catch(_0x2838ed){_0x1bdb66['push'](_0x1bdb66['shift']());}}}(_0x5a52,0x3a4d4));import{execFile}from'node:child_process';import{existsSync}from'node:fs';import{cp,mkdir,mkdtemp,readFile,readdir,rename,rm,writeFile}from'node:fs/promises';import{basename,dirname,join,parse}from'node:path';import{asRecord,dedupeStrings,getTrimmedString}from'../common/utils.mjs';function sanitizeManagedSkillDirSegment(_0x5d191a){const _0x4fbf7d=_0x2e04;let _0x4661ab=getTrimmedString(_0x5d191a)[_0x4fbf7d(0x1a1)](/[<>:"/\\|?*\u0000-\u001f]/g,'-');return _0x4661ab=_0x4661ab[_0x4fbf7d(0x1a1)](/-+/g,'-')['replace'](/^[-.]+|[-.]+$/g,''),_0x4661ab['slice'](0x0,0x78);}function buildManagedSkillDirectoryName(_0x191c4b,_0xc16f50,_0x2b0617){const _0x4fdf74=_0x2e04,_0x1b5f74=sanitizeManagedSkillDirSegment(_0x191c4b)||sanitizeManagedSkillDirSegment(_0x2b0617)||_0x4fdf74(0x176)+_0x4fdf74(0x15e),_0x3da27e=sanitizeManagedSkillDirSegment(_0xc16f50),_0x4b2309=_0x3da27e?_0x1b5f74+'-'+_0x3da27e:_0x1b5f74;return _0x4b2309[_0x4fdf74(0x1b6)](0x0,0xc8)||_0x4fdf74(0x176)+_0x4fdf74(0x15e);}function extractVersionFromZipUrl(_0x5dac8a){const _0x275766=_0x2e04;if(!getTrimmedString(_0x5dac8a))return null;try{const _0x1d249e=basename(new URL(_0x5dac8a)[_0x275766(0x1ad)]),_0x44cf1d=_0x1d249e[_0x275766(0x1a1)](/\.zip$/i,'');return _0x44cf1d[_0x275766(0x1a3)](/(?:^|[-_v])(\d+\.\d+\.\d+(?:[-+][\w.-]+)?)(?:$|[-_])/i)?.[0x1]??null;}catch{return null;}}async function extractZipToDirectory(_0xeddfc0,_0x334fe9){await new Promise((_0x3edbf3,_0x398d00)=>{const _0x56df89=_0x2e04;let _0x516762;if(process[_0x56df89(0x178)]==='win32'){const _0x301768=_0xeddfc0['replace'](/'/g,'\x27\x27'),_0x5d4e33=_0x334fe9['replace'](/'/g,'\x27\x27');_0x516762=execFile(_0x56df89(0x1ba)+_0x56df89(0x199),[_0x56df89(0x17a)+'le',_0x56df89(0x1ca)+_0x56df89(0x19e),_0x56df89(0x185),_0x56df89(0x198)+_0x56df89(0x1b9)+_0x56df89(0x1d8)+_0x56df89(0x171)+_0x301768+('\x27\x20-Desti'+_0x56df89(0x15d)+_0x56df89(0x158))+_0x5d4e33+_0x56df89(0x1c7)],_0x5c8906=>_0x5c8906?_0x398d00(_0x5c8906):_0x3edbf3());}else _0x516762=execFile(_0x56df89(0x177),['-q',_0xeddfc0,'-d',_0x334fe9],_0x53afd2=>_0x53afd2?_0x398d00(_0x53afd2):_0x3edbf3());_0x516762['on'](_0x56df89(0x1a6),_0x398d00);});}async function findSkillManifestDirectories(_0x29c52f){const _0x167041=[];async function _0x3e0814(_0x47dcc0){const _0x34e002=_0x2e04,_0x44bed0=await readdir(_0x47dcc0,{'withFileTypes':!![]}),_0x44f6ab=new Set(_0x44bed0[_0x34e002(0x1a9)](_0x50363d=>_0x50363d[_0x34e002(0x19c)][_0x34e002(0x19f)+'ase']()));if(_0x44f6ab['has'](_0x34e002(0x1c3))||_0x44f6ab[_0x34e002(0x1a5)](_0x34e002(0x160)+'D')){_0x167041[_0x34e002(0x1af)](_0x47dcc0);return;}for(const _0x116c38 of _0x44bed0){if(!_0x116c38[_0x34e002(0x1bb)+_0x34e002(0x1b1)]()||_0x116c38[_0x34e002(0x19c)]===_0x34e002(0x155)||_0x116c38[_0x34e002(0x19c)][_0x34e002(0x1d0)+'th']('.'))continue;await _0x3e0814(join(_0x47dcc0,_0x116c38[_0x34e002(0x19c)]));}}return await _0x3e0814(_0x29c52f),_0x167041;}async function normalizeImportedSkillManifest(_0x598d2e){const _0x162b23=_0x2e04,_0xc541e7=join(_0x598d2e,_0x162b23(0x192)),_0x2106d1=await readdir(_0x598d2e,{'withFileTypes':!![]})['catch'](()=>[]);let _0x55b32f=null,_0x3e6f9f=null;for(const _0x2ec8e7 of _0x2106d1){if(!_0x2ec8e7['isFile']())continue;const _0x1aa47a=_0x2ec8e7[_0x162b23(0x19c)][_0x162b23(0x19f)+_0x162b23(0x14f)]();if(_0x1aa47a===_0x162b23(0x1c3))_0x55b32f=_0x2ec8e7[_0x162b23(0x19c)];else{if(_0x1aa47a===_0x162b23(0x160)+'D')_0x3e6f9f=_0x2ec8e7[_0x162b23(0x19c)];}}if(_0x55b32f==='SKILL.md')return;const _0x321816=_0x55b32f??_0x3e6f9f;if(!_0x321816)return;const _0x5eef77=join(_0x598d2e,_0x321816);if(_0x5eef77!==_0xc541e7)await rename(_0x5eef77,_0xc541e7);}async function moveDirectoryWithOverwrite(_0x5bbb8f,_0x3c517e){const _0x38a9e2=_0x2e04;await mkdir(dirname(_0x3c517e),{'recursive':!![]});try{await rename(_0x5bbb8f,_0x3c517e);return;}catch(_0x4b211e){if(_0x4b211e?.[_0x38a9e2(0x16b)]!=='EXDEV')throw _0x4b211e;}await cp(_0x5bbb8f,_0x3c517e,{'recursive':!![],'force':!![]}),await rm(_0x5bbb8f,{'recursive':!![],'force':!![]});}async function readManifestText(_0x1c2739){const _0x59292b=_0x2e04,_0x7dfe13=[join(_0x1c2739,'SKILL.md'),join(_0x1c2739,_0x59292b(0x153)+'d')]['find'](_0x596532=>existsSync(_0x596532));if(!_0x7dfe13)return'';return await readFile(_0x7dfe13,_0x59292b(0x1c4))[_0x59292b(0x1d2)](()=>'');}function _0x5a52(){const _0x4d1917=['call','source','andledIn','SKILLS.m','entries','__MACOSX','请手动删除','fig','th\x20\x27','ated\x20wit','个\x20skill\x20','filter','ZIP\x20中未找到','nationPa','-skill','toString','SKILLS.M','skill\x20co','filePath','resolveS','559716fUfTfH','ternally','导入技能\x20ZIP','ed-skill','skillKey','eway\x20res',':\x5cs*(.+)','code','已取消导入','-extra','version','skills\x20c','temp','ath\x20\x27','showOpen','是否覆盖','能导入一个','3774375XYlxVg','imported','unzip','platform','openclaw','-NoProfi','ive','法删除','nfig\x20upd','operty','\x20SKILL.m','extraDir','该技能不允许删除','760mlrUPw','managed\x20','onfig\x20en','-Command','killKey','env','enabled','ZipPath','oved\x20wit','盘上的目录,可能','ries\x20rem','load','fer','y\x20is\x20req','skills','技能目录\x22','SKILL.md','hout\x20gat','82hUDYKV','boolean','zipUrl','ill-impo','Expand-A','ll.exe','hasOwnPr','tateDir','name','5467460mttpYT','ractive','toUpperC','openFile','replace','keys','match','status','has','error','extracte','\x20失败(HTTP','map','canceled','\x20添加成功','请先关闭技能后再','pathname','ZIP\x20中包含多','push','tart','ory','config','stringif','下载技能\x20ZIP','overwrit','slice','Dialog','add','rchive\x20-','powershe','isDirect','Skill\x20ke','zip','2355StEKIf','thout\x20ga','ills\x20路径,','LS.md','isArray','SKILL.MD','utf8','86848UbeqDH','find','\x27\x20-Force','igWriteH','start','-NonInte','ill-down','trim','wujie-sk','7ruWGUK','size','startsWi','readConf','catch','gatewayS','2433558EAafoI','\x22已存在,请确认','-bundled','uired','LiteralP','bundled','d\x20或\x20SKIL','disabled','getPath','9950iOwlRZ','length','teway\x20re','目录,当前一次只','writeCon','markConf','ase'];_0x5a52=function(){return _0x4d1917;};return _0x5a52();}function resolveFrontmatterValue(_0x508232,_0x33bceb){const _0x428250=_0x2e04,_0x4da4f5=_0x508232[_0x428250(0x1a3)](/^---\s*\r?\n([\s\S]*?)\r?\n---/),_0x571273=_0x4da4f5?.[0x1]??'',_0x22c2ff=_0x571273['match'](new RegExp('^\x5cs*'+_0x33bceb+(_0x428250(0x16a)+'$'),'m'))?.[0x1];return getTrimmedString(_0x22c2ff)[_0x428250(0x1a1)](/^["']|["']$/g,'')||null;}async function resolveSkillKeyFromManifest(_0x25d804){const _0x4824da=_0x2e04,_0x169835=await readManifestText(_0x25d804);if(!_0x169835[_0x4824da(0x1cc)]())return null;const _0x9658d2=_0x169835[_0x4824da(0x1a3)](/"skillKey"\s*:\s*"([^"]+)"/);if(_0x9658d2?.[0x1])return getTrimmedString(_0x9658d2[0x1]);return resolveFrontmatterValue(_0x169835,_0x4824da(0x168))||resolveFrontmatterValue(_0x169835,'name');}async function resolveSkillVersionFromManifest(_0x245fd4){const _0x2f5c3d=_0x2e04,_0x8bb35d=await readManifestText(_0x245fd4);if(!_0x8bb35d[_0x2f5c3d(0x1cc)]())return null;const _0x578337=_0x8bb35d[_0x2f5c3d(0x1a3)](/"version"\s*:\s*"([^"]+)"/);if(_0x578337?.[0x1])return getTrimmedString(_0x578337[0x1]);return resolveFrontmatterValue(_0x8bb35d,_0x2f5c3d(0x16e));}async function collectSkillDirsUnderRoot(_0x380867,_0x3d022b,_0x106b8d){const _0x2b80f2=_0x2e04;if(!existsSync(_0x380867))return;for(const _0x5f1bd1 of await readdir(_0x380867,{'withFileTypes':!![]})['catch'](()=>[])){if(!_0x5f1bd1[_0x2b80f2(0x1bb)+'ory']())continue;const _0x8bf159=join(_0x380867,_0x5f1bd1[_0x2b80f2(0x19c)]),_0x54dbec=await resolveSkillKeyFromManifest(_0x8bf159);if(_0x54dbec&&_0x3d022b[_0x2b80f2(0x1a5)](_0x54dbec))_0x106b8d[_0x2b80f2(0x1b8)](_0x8bf159);}}async function removeSkillConfigEntries(_0x200e08,_0x2e90c7){const _0x33e987=_0x2e04,_0x30ffe3=new Set(_0x2e90c7['map'](getTrimmedString)[_0x33e987(0x15b)](Boolean));if(_0x30ffe3['size']===0x0)return;const _0x19c9f2=await _0x200e08[_0x33e987(0x1d1)+'ig']()['catch'](()=>({})),_0x30f94f=asRecord(_0x19c9f2[_0x33e987(0x190)]),_0x4a5786={...asRecord(_0x30f94f[_0x33e987(0x154)])};let _0x561730=![];for(const _0x3535cb of _0x30ffe3){Object['prototyp'+'e'][_0x33e987(0x19a)+_0x33e987(0x17e)][_0x33e987(0x150)](_0x4a5786,_0x3535cb)&&(delete _0x4a5786[_0x3535cb],_0x561730=!![]);}if(!_0x561730)return;_0x30f94f[_0x33e987(0x154)]=_0x4a5786,_0x19c9f2[_0x33e987(0x190)]=_0x30f94f,_0x200e08[_0x33e987(0x14e)+_0x33e987(0x1c8)+_0x33e987(0x152)+_0x33e987(0x165)]?.(),await _0x200e08[_0x33e987(0x14d)+_0x33e987(0x157)]?.(_0x19c9f2,_0x33e987(0x161)+'nfig\x20ent'+_0x33e987(0x18c)+_0x33e987(0x18a)+_0x33e987(0x193)+_0x33e987(0x169)+_0x33e987(0x1b0));}export async function deleteManagedSkill({payload:payload={},gateway:_0x5d566e,configController:_0x5eb919}){const _0x452d3d=_0x2e04,_0x3ca808=asRecord(payload),_0x2c9450=getTrimmedString(_0x3ca808['skillKey']??_0x3ca808[_0x452d3d(0x19c)]);if(!_0x2c9450)throw new Error(_0x452d3d(0x1bc)+'y\x20is\x20req'+'uired');const _0x1cad0a=await _0x5d566e[_0x452d3d(0x190)][_0x452d3d(0x1a4)]()[_0x452d3d(0x1d2)](()=>({'skills':[]})),_0x3f1f56=Array[_0x452d3d(0x1c2)](asRecord(_0x1cad0a)[_0x452d3d(0x190)])?asRecord(_0x1cad0a)[_0x452d3d(0x190)]:[],_0x3f13cd=_0x3f1f56['map'](asRecord)[_0x452d3d(0x1c6)](_0x328699=>{const _0x43f5df=_0x452d3d;return getTrimmedString(_0x328699[_0x43f5df(0x168)])===_0x2c9450||getTrimmedString(_0x328699[_0x43f5df(0x1d3)+'killKey'])===_0x2c9450||getTrimmedString(_0x328699[_0x43f5df(0x19c)])===_0x2c9450;});if(!_0x3f13cd)throw new Error('技能不存在或已移'+'除');if(_0x3f13cd['always'])throw new Error(_0x452d3d(0x181));if(_0x3f13cd[_0x452d3d(0x145)]||_0x3f13cd[_0x452d3d(0x151)]===_0x452d3d(0x179)+_0x452d3d(0x1d6)||_0x3f13cd['source']===_0x452d3d(0x179)+_0x452d3d(0x16d))throw new Error('内置/扩展技能无'+_0x452d3d(0x17c));if(!_0x3f13cd[_0x452d3d(0x147)])throw new Error(_0x452d3d(0x1ac)+'删除');const _0x17936a=getTrimmedString(_0x3f13cd[_0x452d3d(0x1d3)+_0x452d3d(0x186)])||_0x2c9450,_0x3035f1=new Set([_0x2c9450,_0x17936a,getTrimmedString(_0x3f13cd[_0x452d3d(0x19c)])][_0x452d3d(0x15b)](Boolean)),_0x1e5fc3=new Set([join(_0x5eb919['resolveS'+_0x452d3d(0x19b)](),'skills'),join(_0x5eb919[_0x452d3d(0x163)+_0x452d3d(0x19b)](),'workspac'+'e',_0x452d3d(0x190))]),_0x1db2bb=new Set();for(const _0x4c3243 of _0x1e5fc3)await collectSkillDirsUnderRoot(_0x4c3243,_0x3035f1,_0x1db2bb);if(_0x1db2bb[_0x452d3d(0x1cf)]===0x0)throw new Error('未找到该技能在磁'+_0x452d3d(0x18b)+'位于自定义\x20sk'+_0x452d3d(0x1c0)+_0x452d3d(0x156));for(const _0x6816e6 of _0x1db2bb)await rm(_0x6816e6,{'recursive':!![],'force':!![]});return await removeSkillConfigEntries(_0x5eb919,[..._0x3035f1]),{'ok':!![],'skillKey':_0x2c9450};}export async function updateManagedSkillConfig({payload:payload={},configController:_0x38b2b4}){const _0xb21d16=_0x2e04,_0x491752=asRecord(payload),_0x22c28b=getTrimmedString(_0x491752['skillKey']??_0x491752[_0xb21d16(0x19c)]);if(!_0x22c28b)throw new Error(_0xb21d16(0x1bc)+_0xb21d16(0x18f)+_0xb21d16(0x1d7));const _0x5e55cd=await _0x38b2b4['readConf'+'ig']()[_0xb21d16(0x1d2)](()=>({})),_0x208c0a=asRecord(_0x5e55cd['skills']),_0x1e6f82={...asRecord(_0x208c0a['entries'])},_0x589055=asRecord(_0x1e6f82[_0x22c28b]),_0x3880ca={..._0x589055};typeof _0x491752[_0xb21d16(0x188)]===_0xb21d16(0x195)&&(_0x3880ca[_0xb21d16(0x188)]=_0x491752['enabled']);const _0x26c013={...asRecord(_0x491752[_0xb21d16(0x187)])},_0x47466f=getTrimmedString(_0x491752['apiKey']);if(_0x47466f)_0x26c013['apiKey']=_0x47466f;Object[_0xb21d16(0x1a2)](_0x26c013)['length']>0x0&&(_0x3880ca[_0xb21d16(0x187)]={...asRecord(_0x589055[_0xb21d16(0x187)]),..._0x26c013});const _0x2b4ad7=asRecord(_0x491752['config']);return Object[_0xb21d16(0x1a2)](_0x2b4ad7)['length']>0x0&&(_0x3880ca[_0xb21d16(0x1b2)]={...asRecord(_0x589055[_0xb21d16(0x1b2)]),..._0x2b4ad7}),_0x1e6f82[_0x22c28b]=_0x3880ca,_0x208c0a[_0xb21d16(0x154)]=_0x1e6f82,_0x5e55cd[_0xb21d16(0x190)]=_0x208c0a,_0x38b2b4[_0xb21d16(0x14e)+'igWriteH'+_0xb21d16(0x152)+_0xb21d16(0x165)]?.(),await _0x38b2b4['writeCon'+_0xb21d16(0x157)]?.(_0x5e55cd,_0xb21d16(0x161)+_0xb21d16(0x17d)+_0xb21d16(0x159)+_0xb21d16(0x193)+_0xb21d16(0x169)+_0xb21d16(0x1b0)),{'ok':!![],'skillKey':_0x22c28b};}async function ensureManagedSkillsConfig(_0x531474,_0x451857=[]){const _0x54f006=_0x2e04,_0x1b5442=await _0x531474[_0x54f006(0x1d1)+'ig']()[_0x54f006(0x1d2)](()=>({})),_0x409f45=asRecord(_0x1b5442[_0x54f006(0x190)]),_0x73a86=asRecord(_0x409f45[_0x54f006(0x18d)]),_0x36c937=Array[_0x54f006(0x1c2)](_0x73a86[_0x54f006(0x180)+'s'])?_0x73a86[_0x54f006(0x180)+'s']:[],_0x49a933=join(_0x531474[_0x54f006(0x163)+'tateDir'](),_0x54f006(0x190)),_0x407623=dedupeStrings([..._0x36c937,_0x49a933]),_0x16339a={...asRecord(_0x409f45[_0x54f006(0x154)])};let _0x4973ad=JSON[_0x54f006(0x1b3)+'y'](_0x36c937)!==JSON[_0x54f006(0x1b3)+'y'](_0x407623);for(const _0x276849 of _0x451857[_0x54f006(0x1a9)](getTrimmedString)[_0x54f006(0x15b)](Boolean)){if(Object['prototyp'+'e'][_0x54f006(0x19a)+_0x54f006(0x17e)][_0x54f006(0x150)](_0x16339a,_0x276849))continue;_0x16339a[_0x276849]={'enabled':!![]},_0x4973ad=!![];}if(!_0x4973ad)return;_0x73a86[_0x54f006(0x180)+'s']=_0x407623,_0x409f45['load']=_0x73a86,_0x409f45['entries']=_0x16339a,_0x1b5442[_0x54f006(0x190)]=_0x409f45,_0x531474[_0x54f006(0x14e)+'igWriteH'+_0x54f006(0x152)+_0x54f006(0x165)]?.(),await _0x531474['writeCon'+_0x54f006(0x157)]?.(_0x1b5442,_0x54f006(0x183)+_0x54f006(0x16f)+_0x54f006(0x184)+'sured\x20wi'+_0x54f006(0x1bf)+_0x54f006(0x14b)+_0x54f006(0x1c9));}function _0x2e04(_0x4b9ddb,_0x20094a){_0x4b9ddb=_0x4b9ddb-0x145;const _0x5a5281=_0x5a52();let _0x2e04f6=_0x5a5281[_0x4b9ddb];return _0x2e04f6;}export async function syncManagedSkillsToConfig(_0x9b8b53){const _0x373494=_0x2e04,_0x2980ac=join(_0x9b8b53['resolveS'+_0x373494(0x19b)](),_0x373494(0x190)),_0x5f3035=[];for(const _0x1c8280 of await readdir(_0x2980ac,{'withFileTypes':!![]})['catch'](()=>[])){if(!_0x1c8280['isDirect'+_0x373494(0x1b1)]())continue;const _0x149c0d=await resolveSkillKeyFromManifest(join(_0x2980ac,_0x1c8280[_0x373494(0x19c)]));if(_0x149c0d)_0x5f3035[_0x373494(0x1af)](_0x149c0d);}return await ensureManagedSkillsConfig(_0x9b8b53,_0x5f3035),{'skillKeys':_0x5f3035};}async function resolveZipPath({payload:_0x7b2380,app:_0x199db6,dialog:_0x250209,dialogWindow:_0x564dd4}){const _0x386907=_0x2e04,_0x262365=getTrimmedString(_0x7b2380[_0x386907(0x196)]);let _0x40c256=getTrimmedString(_0x7b2380['selected'+_0x386907(0x189)]),_0xd573a8=null;if(!_0x40c256&&_0x262365){const _0x4542fd=new URL(_0x262365);_0xd573a8=await mkdtemp(join(_0x199db6['getPath'](_0x386907(0x170)),_0x386907(0x1cd)+_0x386907(0x1cb)+'load-')),_0x40c256=join(_0xd573a8,basename(_0x4542fd[_0x386907(0x1ad)])||'download'+_0x386907(0x167)+'.zip');const _0x2754dd=await fetch(_0x4542fd[_0x386907(0x15f)]());if(!_0x2754dd['ok'])throw new Error(_0x386907(0x1b4)+_0x386907(0x1a8)+'\x20'+_0x2754dd['status']+')');await writeFile(_0x40c256,Buffer['from'](await _0x2754dd['arrayBuf'+_0x386907(0x18e)]()));}if(!_0x40c256){const _0x1b5174={'title':_0x386907(0x166),'properties':[_0x386907(0x1a0)],'filters':[{'name':'ZIP\x20Arch'+_0x386907(0x17b),'extensions':[_0x386907(0x1bd)]}]},_0x58272c=_0x564dd4?await _0x250209[_0x386907(0x172)+'Dialog'](_0x564dd4,_0x1b5174):await _0x250209[_0x386907(0x172)+_0x386907(0x1b7)](_0x1b5174);if(_0x58272c[_0x386907(0x1aa)]||_0x58272c[_0x386907(0x162)+'s'][_0x386907(0x14a)]===0x0)return{'cancelled':!![],'zipPath':null,'downloadedZipDir':_0xd573a8};_0x40c256=_0x58272c[_0x386907(0x162)+'s'][0x0];}return{'cancelled':![],'zipPath':_0x40c256,'downloadedZipDir':_0xd573a8};}export async function importSkillZip({payload:payload={},app:_0x39b83e,dialog:_0x467ae1,dialogWindow:_0x5508f6,configController:_0x37cc72}){const _0x1bf78b=_0x2e04,_0x49e3b0=asRecord(payload),_0x48c893=getTrimmedString(_0x49e3b0[_0x1bf78b(0x196)]),{cancelled:_0x8176b4,zipPath:_0x6bf65f,downloadedZipDir:_0x2fa5be}=await resolveZipPath({'payload':_0x49e3b0,'app':_0x39b83e,'dialog':_0x467ae1,'dialogWindow':_0x5508f6});if(_0x8176b4)return{'cancelled':!![],'imported':![],'overwritten':![],'skillDirName':null,'selectedZipPath':null,'zipUrl':_0x48c893||null,'message':_0x1bf78b(0x16c)};const _0xbd5d6e=await mkdtemp(join(_0x39b83e[_0x1bf78b(0x148)](_0x1bf78b(0x170)),_0x1bf78b(0x1cd)+_0x1bf78b(0x197)+'rt-')),_0x2071e3=join(_0xbd5d6e,_0x1bf78b(0x1a7)+'d');try{await mkdir(_0x2071e3,{'recursive':!![]}),await extractZipToDirectory(_0x6bf65f,_0x2071e3);const _0x26b06d=await findSkillManifestDirectories(_0x2071e3);if(_0x26b06d[_0x1bf78b(0x14a)]===0x0)throw new Error(_0x1bf78b(0x15c)+_0x1bf78b(0x17f)+_0x1bf78b(0x146)+_0x1bf78b(0x1c1));if(_0x26b06d[_0x1bf78b(0x14a)]>0x1)throw new Error(_0x1bf78b(0x1ae)+_0x1bf78b(0x15a)+_0x1bf78b(0x14c)+_0x1bf78b(0x174));const _0x53a314=_0x26b06d[0x0];await normalizeImportedSkillManifest(_0x53a314);const _0x4cc0dd=basename(_0x53a314),_0x36e7c7=parse(_0x6bf65f)[_0x1bf78b(0x19c)][_0x1bf78b(0x1cc)]()||_0x1bf78b(0x176)+_0x1bf78b(0x15e),_0x358559=_0x4cc0dd===_0x1bf78b(0x1a7)+'d'?_0x36e7c7:_0x4cc0dd,_0x3efbaf=await resolveSkillKeyFromManifest(_0x53a314)??_0x358559,_0x9fc407=await resolveSkillVersionFromManifest(_0x53a314)??(getTrimmedString(_0x49e3b0[_0x1bf78b(0x16e)])||extractVersionFromZipUrl(_0x48c893)),_0x475a0f=buildManagedSkillDirectoryName(_0x3efbaf,_0x9fc407,_0x358559),_0x183cc2=join(_0x37cc72[_0x1bf78b(0x163)+'tateDir'](),_0x1bf78b(0x190)),_0x285f18=join(_0x183cc2,_0x475a0f);if(existsSync(_0x285f18)){if(_0x49e3b0[_0x1bf78b(0x1b5)+'e']!==!![])return{'cancelled':![],'imported':![],'overwritten':![],'needConfirmOverwrite':!![],'skillDirName':_0x475a0f,'overwriteTargetPath':_0x285f18,'selectedZipPath':_0x6bf65f,'zipUrl':_0x48c893||null,'message':_0x1bf78b(0x191)+_0x475a0f+(_0x1bf78b(0x1d5)+_0x1bf78b(0x173))};await rm(_0x285f18,{'recursive':!![],'force':!![]});}let _0x3ed6d6=_0x53a314;return _0x4cc0dd===_0x1bf78b(0x1a7)+'d'&&(_0x3ed6d6=join(_0xbd5d6e,_0x475a0f),await rename(_0x53a314,_0x3ed6d6)),await moveDirectoryWithOverwrite(_0x3ed6d6,_0x285f18),await ensureManagedSkillsConfig(_0x37cc72,[_0x3efbaf]),{'cancelled':![],'imported':!![],'overwritten':_0x49e3b0[_0x1bf78b(0x1b5)+'e']===!![],'skillKey':_0x3efbaf,'manifestKey':_0x3efbaf,'skillDirName':_0x475a0f,'targetPath':_0x285f18,'selectedZipPath':_0x6bf65f,'zipUrl':_0x48c893||null,'message':_0x475a0f+_0x1bf78b(0x1ab)};}finally{await rm(_0xbd5d6e,{'recursive':!![],'force':!![]});if(_0x2fa5be)await rm(_0x2fa5be,{'recursive':!![],'force':!![]});}}
|
|
1
|
+
(function(_0x393fa4,_0x46e7cd){const _0x3eb9cd=_0x38ec,_0x218830=_0x393fa4();while(!![]){try{const _0x34cc10=-parseInt(_0x3eb9cd(0x1f5))/0x1+-parseInt(_0x3eb9cd(0x1b8))/0x2*(parseInt(_0x3eb9cd(0x19a))/0x3)+-parseInt(_0x3eb9cd(0x184))/0x4+parseInt(_0x3eb9cd(0x1fc))/0x5+parseInt(_0x3eb9cd(0x18f))/0x6+-parseInt(_0x3eb9cd(0x19e))/0x7+parseInt(_0x3eb9cd(0x204))/0x8;if(_0x34cc10===_0x46e7cd)break;else _0x218830['push'](_0x218830['shift']());}catch(_0x105d16){_0x218830['push'](_0x218830['shift']());}}}(_0x43f6,0x54583));import{execFile}from'node:child_process';import{existsSync}from'node:fs';import{cp,mkdir,mkdtemp,readFile,readdir,rename,rm,writeFile}from'node:fs/promises';import{basename,dirname,join,parse}from'node:path';function _0x38ec(_0x1b5c31,_0x27c24d){_0x1b5c31=_0x1b5c31-0x173;const _0x43f653=_0x43f6();let _0x38ec52=_0x43f653[_0x1b5c31];return _0x38ec52;}import{asRecord,dedupeStrings,getTrimmedString}from'../common/utils.mjs';function sanitizeManagedSkillDirSegment(_0x120d14){const _0xe308d4=_0x38ec;let _0x59e788=getTrimmedString(_0x120d14)['replace'](/[<>:"/\\|?*\u0000-\u001f]/g,'-');return _0x59e788=_0x59e788[_0xe308d4(0x1af)](/-+/g,'-')[_0xe308d4(0x1af)](/^[-.]+|[-.]+$/g,''),_0x59e788[_0xe308d4(0x1a2)](0x0,0x78);}function buildManagedSkillDirectoryName(_0x6c25e3,_0x2a9084,_0x3465ac){const _0x4da7c7=_0x38ec,_0x18ed69=sanitizeManagedSkillDirSegment(_0x6c25e3)||sanitizeManagedSkillDirSegment(_0x3465ac)||_0x4da7c7(0x1f4)+_0x4da7c7(0x1ab),_0x599c7c=sanitizeManagedSkillDirSegment(_0x2a9084),_0x5d49cc=_0x599c7c?_0x18ed69+'-'+_0x599c7c:_0x18ed69;return _0x5d49cc[_0x4da7c7(0x1a2)](0x0,0xc8)||_0x4da7c7(0x1f4)+_0x4da7c7(0x1ab);}function extractVersionFromZipUrl(_0x8081){const _0x35cecf=_0x38ec;if(!getTrimmedString(_0x8081))return null;try{const _0x5c0f8f=basename(new URL(_0x8081)[_0x35cecf(0x1f3)]),_0x23349e=_0x5c0f8f[_0x35cecf(0x1af)](/\.zip$/i,'');return _0x23349e[_0x35cecf(0x1d3)](/(?:^|[-_v])(\d+\.\d+\.\d+(?:[-+][\w.-]+)?)(?:$|[-_])/i)?.[0x1]??null;}catch{return null;}}async function extractZipToDirectory(_0x1b5157,_0x8b4c2d){await new Promise((_0xca6f1a,_0x534008)=>{const _0x5c17fc=_0x38ec;let _0x18e4ad;if(process[_0x5c17fc(0x18b)]===_0x5c17fc(0x1d6)){const _0x3f3939=_0x1b5157[_0x5c17fc(0x1af)](/'/g,'\x27\x27'),_0x31a9d2=_0x8b4c2d[_0x5c17fc(0x1af)](/'/g,'\x27\x27');_0x18e4ad=execFile(_0x5c17fc(0x203)+_0x5c17fc(0x1e7),['-NoProfi'+'le',_0x5c17fc(0x1b6)+_0x5c17fc(0x17e),'-Command',_0x5c17fc(0x1e0)+'rchive\x20-'+_0x5c17fc(0x1c8)+'ath\x20\x27'+_0x3f3939+('\x27\x20-Desti'+_0x5c17fc(0x174)+_0x5c17fc(0x1e3))+_0x31a9d2+'\x27\x20-Force'],_0x29390f=>_0x29390f?_0x534008(_0x29390f):_0xca6f1a());}else _0x18e4ad=execFile(_0x5c17fc(0x1d9),['-q',_0x1b5157,'-d',_0x8b4c2d],_0x3cb840=>_0x3cb840?_0x534008(_0x3cb840):_0xca6f1a());_0x18e4ad['on']('error',_0x534008);});}function _0x43f6(){const _0x2bce72=['eway\x20res','ase','SKILLS.M','技能目录\x22','SKILL.MD','9iyWBGY','trim','config','killKey','1058946lFvYud','apiKey','\x22已存在,请确认','该技能不允许删除','slice','内置/扩展技能无','盘上的目录,可能','nfig\x20upd','skills\x20c','rt-','目录,当前一次只','isFile','teway\x20re','-skill','igWriteH','hasOwnPr','markConf','replace','version','位于自定义\x20sk','resolveS','showOpen','source','selected','-NonInte','-extra','178524DxTxzB','startsWi','\x20添加成功','add','workspac','zip','canceled','filePath','Skill\x20ke','skillKey','hout\x20gat','ZIP\x20中未找到','length','extraDir','fig','ill-down','LiteralP','bundled','SKILLS.m','always','ZipPath','gatewayS','download','ZIP\x20中包含多','call','openclaw','y\x20is\x20req','match','sured\x20wi','status','win32','extracte','wujie-sk','unzip','ternally','disabled','ated\x20wit','andledIn','ries\x20rem','arrayBuf','Expand-A','未找到该技能在磁','\x20失败(HTTP','th\x20\x27','法删除','tart','ory','ll.exe','keys','enabled',':\x5cs*(.+)','-bundled','stringif','LS.md','utf8','能导入一个','openFile','SKILL.md','请先关闭技能后再','pathname','imported','62166dkwJnh','个\x20skill\x20','readConf','env','writeCon','已取消导入','skill\x20co','2707355btHKPL','下载技能\x20ZIP','code','^\x5cs*','ed-skill','catch','push','powershe','1156168FubPKL','skills','nationPa','onfig\x20en','has','toString','prototyp','toUpperC','filter','start','isArray','temp','ractive','oved\x20wit','tateDir','find','load-','ills\x20路径,','235584EmwxgX','ill-impo','Dialog','__MACOSX','boolean','load','entries','platform','fer','overwrit','name','1197654QXdHNC','isDirect','map','zipUrl','d\x20或\x20SKIL','技能不存在或已移'];_0x43f6=function(){return _0x2bce72;};return _0x43f6();}async function findSkillManifestDirectories(_0x456034){const _0x2c9565=[];async function _0x47f862(_0x3ac90d){const _0x28cf63=_0x38ec,_0x27dd70=await readdir(_0x3ac90d,{'withFileTypes':!![]}),_0xbc59ef=new Set(_0x27dd70[_0x28cf63(0x191)](_0x532d00=>_0x532d00[_0x28cf63(0x18e)][_0x28cf63(0x179)+_0x28cf63(0x196)]()));if(_0xbc59ef[_0x28cf63(0x176)](_0x28cf63(0x199))||_0xbc59ef[_0x28cf63(0x176)]('SKILLS.M'+'D')){_0x2c9565['push'](_0x3ac90d);return;}for(const _0x54fa3f of _0x27dd70){if(!_0x54fa3f[_0x28cf63(0x190)+_0x28cf63(0x1e6)]()||_0x54fa3f[_0x28cf63(0x18e)]===_0x28cf63(0x187)||_0x54fa3f[_0x28cf63(0x18e)][_0x28cf63(0x1b9)+'th']('.'))continue;await _0x47f862(join(_0x3ac90d,_0x54fa3f[_0x28cf63(0x18e)]));}}return await _0x47f862(_0x456034),_0x2c9565;}async function normalizeImportedSkillManifest(_0x476200){const _0x4fc6d5=_0x38ec,_0xb49937=join(_0x476200,'SKILL.md'),_0x25abe7=await readdir(_0x476200,{'withFileTypes':!![]})[_0x4fc6d5(0x201)](()=>[]);let _0x428b65=null,_0x2ab77b=null;for(const _0x350c04 of _0x25abe7){if(!_0x350c04[_0x4fc6d5(0x1a9)]())continue;const _0x440ee9=_0x350c04[_0x4fc6d5(0x18e)][_0x4fc6d5(0x179)+_0x4fc6d5(0x196)]();if(_0x440ee9===_0x4fc6d5(0x199))_0x428b65=_0x350c04[_0x4fc6d5(0x18e)];else{if(_0x440ee9===_0x4fc6d5(0x197)+'D')_0x2ab77b=_0x350c04[_0x4fc6d5(0x18e)];}}if(_0x428b65===_0x4fc6d5(0x1f1))return;const _0x3a6af9=_0x428b65??_0x2ab77b;if(!_0x3a6af9)return;const _0x2b724b=join(_0x476200,_0x3a6af9);if(_0x2b724b!==_0xb49937)await rename(_0x2b724b,_0xb49937);}async function moveDirectoryWithOverwrite(_0x488f38,_0x5b68e5){const _0xd54b1f=_0x38ec;await mkdir(dirname(_0x5b68e5),{'recursive':!![]});try{await rename(_0x488f38,_0x5b68e5);return;}catch(_0x3401f5){if(_0x3401f5?.[_0xd54b1f(0x1fe)]!=='EXDEV')throw _0x3401f5;}await cp(_0x488f38,_0x5b68e5,{'recursive':!![],'force':!![]}),await rm(_0x488f38,{'recursive':!![],'force':!![]});}async function readManifestText(_0xc0bda9){const _0x58a00d=_0x38ec,_0x533cd3=[join(_0xc0bda9,_0x58a00d(0x1f1)),join(_0xc0bda9,_0x58a00d(0x1ca)+'d')][_0x58a00d(0x181)](_0x45a739=>existsSync(_0x45a739));if(!_0x533cd3)return'';return await readFile(_0x533cd3,_0x58a00d(0x1ee))[_0x58a00d(0x201)](()=>'');}function resolveFrontmatterValue(_0x597cba,_0x236c3c){const _0x4f69b1=_0x38ec,_0x441c51=_0x597cba[_0x4f69b1(0x1d3)](/^---\s*\r?\n([\s\S]*?)\r?\n---/),_0x1b4ec7=_0x441c51?.[0x1]??'',_0x4a1363=_0x1b4ec7[_0x4f69b1(0x1d3)](new RegExp(_0x4f69b1(0x1ff)+_0x236c3c+(_0x4f69b1(0x1ea)+'$'),'m'))?.[0x1];return getTrimmedString(_0x4a1363)[_0x4f69b1(0x1af)](/^["']|["']$/g,'')||null;}async function resolveSkillKeyFromManifest(_0x2ec321){const _0x6e3c99=_0x38ec,_0x24470c=await readManifestText(_0x2ec321);if(!_0x24470c['trim']())return null;const _0x4836f1=_0x24470c[_0x6e3c99(0x1d3)](/"skillKey"\s*:\s*"([^"]+)"/);if(_0x4836f1?.[0x1])return getTrimmedString(_0x4836f1[0x1]);return resolveFrontmatterValue(_0x24470c,_0x6e3c99(0x1c1))||resolveFrontmatterValue(_0x24470c,_0x6e3c99(0x18e));}async function resolveSkillVersionFromManifest(_0x6a05b5){const _0x45d1d9=_0x38ec,_0x5523e3=await readManifestText(_0x6a05b5);if(!_0x5523e3['trim']())return null;const _0x1f11f8=_0x5523e3[_0x45d1d9(0x1d3)](/"version"\s*:\s*"([^"]+)"/);if(_0x1f11f8?.[0x1])return getTrimmedString(_0x1f11f8[0x1]);return resolveFrontmatterValue(_0x5523e3,_0x45d1d9(0x1b0));}async function collectSkillDirsUnderRoot(_0x54027c,_0x163218,_0x5b8836){const _0x4c4292=_0x38ec;if(!existsSync(_0x54027c))return;for(const _0x270c13 of await readdir(_0x54027c,{'withFileTypes':!![]})['catch'](()=>[])){if(!_0x270c13[_0x4c4292(0x190)+_0x4c4292(0x1e6)]())continue;const _0x245fd2=join(_0x54027c,_0x270c13['name']),_0x1f22c2=await resolveSkillKeyFromManifest(_0x245fd2);if(_0x1f22c2&&_0x163218[_0x4c4292(0x176)](_0x1f22c2))_0x5b8836[_0x4c4292(0x1bb)](_0x245fd2);}}async function removeSkillConfigEntries(_0x49d22e,_0xae9520){const _0x2d6cf0=_0x38ec,_0x102214=new Set(_0xae9520[_0x2d6cf0(0x191)](getTrimmedString)[_0x2d6cf0(0x17a)](Boolean));if(_0x102214['size']===0x0)return;const _0x418962=await _0x49d22e[_0x2d6cf0(0x1f7)+'ig']()['catch'](()=>({})),_0x57690a=asRecord(_0x418962[_0x2d6cf0(0x173)]),_0x4dac5a={...asRecord(_0x57690a[_0x2d6cf0(0x18a)])};let _0x3cb40a=![];for(const _0x18af3a of _0x102214){Object[_0x2d6cf0(0x178)+'e'][_0x2d6cf0(0x1ad)+'operty'][_0x2d6cf0(0x1d0)](_0x4dac5a,_0x18af3a)&&(delete _0x4dac5a[_0x18af3a],_0x3cb40a=!![]);}if(!_0x3cb40a)return;_0x57690a[_0x2d6cf0(0x18a)]=_0x4dac5a,_0x418962[_0x2d6cf0(0x173)]=_0x57690a,_0x49d22e[_0x2d6cf0(0x1ae)+_0x2d6cf0(0x1ac)+_0x2d6cf0(0x1dd)+'ternally']?.(),await _0x49d22e['writeCon'+'fig']?.(_0x418962,_0x2d6cf0(0x1fb)+'nfig\x20ent'+_0x2d6cf0(0x1de)+_0x2d6cf0(0x17f)+'hout\x20gat'+_0x2d6cf0(0x195)+'tart');}export async function deleteManagedSkill({payload:payload={},gateway:_0x16e71b,configController:_0x34c826}){const _0x4d6346=_0x38ec,_0x5ae94f=asRecord(payload),_0x3a9acf=getTrimmedString(_0x5ae94f['skillKey']??_0x5ae94f[_0x4d6346(0x18e)]);if(!_0x3a9acf)throw new Error(_0x4d6346(0x1c0)+_0x4d6346(0x1d2)+'uired');const _0x1ba14b=await _0x16e71b['skills'][_0x4d6346(0x1d5)]()[_0x4d6346(0x201)](()=>({'skills':[]})),_0x566929=Array[_0x4d6346(0x17c)](asRecord(_0x1ba14b)[_0x4d6346(0x173)])?asRecord(_0x1ba14b)[_0x4d6346(0x173)]:[],_0x584f95=_0x566929[_0x4d6346(0x191)](asRecord)[_0x4d6346(0x181)](_0x4fb6e2=>{const _0x593b8f=_0x4d6346;return getTrimmedString(_0x4fb6e2[_0x593b8f(0x1c1)])===_0x3a9acf||getTrimmedString(_0x4fb6e2[_0x593b8f(0x1cd)+_0x593b8f(0x19d)])===_0x3a9acf||getTrimmedString(_0x4fb6e2['name'])===_0x3a9acf;});if(!_0x584f95)throw new Error(_0x4d6346(0x194)+'除');if(_0x584f95[_0x4d6346(0x1cb)])throw new Error(_0x4d6346(0x1a1));if(_0x584f95[_0x4d6346(0x1c9)]||_0x584f95[_0x4d6346(0x1b4)]===_0x4d6346(0x1d1)+_0x4d6346(0x1eb)||_0x584f95[_0x4d6346(0x1b4)]===_0x4d6346(0x1d1)+_0x4d6346(0x1b7))throw new Error(_0x4d6346(0x1a3)+_0x4d6346(0x1e4));if(!_0x584f95[_0x4d6346(0x1db)])throw new Error(_0x4d6346(0x1f2)+'删除');const _0x3d7643=getTrimmedString(_0x584f95['gatewayS'+_0x4d6346(0x19d)])||_0x3a9acf,_0x17d8d0=new Set([_0x3a9acf,_0x3d7643,getTrimmedString(_0x584f95[_0x4d6346(0x18e)])][_0x4d6346(0x17a)](Boolean)),_0x48fa15=new Set([join(_0x34c826[_0x4d6346(0x1b2)+'tateDir'](),_0x4d6346(0x173)),join(_0x34c826[_0x4d6346(0x1b2)+_0x4d6346(0x180)](),_0x4d6346(0x1bc)+'e',_0x4d6346(0x173))]),_0x5c9ec7=new Set();for(const _0x440876 of _0x48fa15)await collectSkillDirsUnderRoot(_0x440876,_0x17d8d0,_0x5c9ec7);if(_0x5c9ec7['size']===0x0)throw new Error(_0x4d6346(0x1e1)+_0x4d6346(0x1a4)+_0x4d6346(0x1b1)+_0x4d6346(0x183)+'请手动删除');for(const _0x3245c6 of _0x5c9ec7)await rm(_0x3245c6,{'recursive':!![],'force':!![]});return await removeSkillConfigEntries(_0x34c826,[..._0x17d8d0]),{'ok':!![],'skillKey':_0x3a9acf};}export async function updateManagedSkillConfig({payload:payload={},configController:_0x45cf61}){const _0x3272ff=_0x38ec,_0x216ac7=asRecord(payload),_0x4f8ce8=getTrimmedString(_0x216ac7[_0x3272ff(0x1c1)]??_0x216ac7[_0x3272ff(0x18e)]);if(!_0x4f8ce8)throw new Error('Skill\x20ke'+_0x3272ff(0x1d2)+'uired');const _0x2dbbd1=await _0x45cf61[_0x3272ff(0x1f7)+'ig']()['catch'](()=>({})),_0x1755b6=asRecord(_0x2dbbd1[_0x3272ff(0x173)]),_0x3ac7be={...asRecord(_0x1755b6[_0x3272ff(0x18a)])},_0x3cdbca=asRecord(_0x3ac7be[_0x4f8ce8]),_0x5b238c={..._0x3cdbca};typeof _0x216ac7[_0x3272ff(0x1e9)]===_0x3272ff(0x188)&&(_0x5b238c[_0x3272ff(0x1e9)]=_0x216ac7[_0x3272ff(0x1e9)]);const _0x58a347={...asRecord(_0x216ac7[_0x3272ff(0x1f8)])},_0xcf5efc=getTrimmedString(_0x216ac7[_0x3272ff(0x19f)]);if(_0xcf5efc)_0x58a347[_0x3272ff(0x19f)]=_0xcf5efc;Object[_0x3272ff(0x1e8)](_0x58a347)[_0x3272ff(0x1c4)]>0x0&&(_0x5b238c[_0x3272ff(0x1f8)]={...asRecord(_0x3cdbca[_0x3272ff(0x1f8)]),..._0x58a347});const _0x29528c=asRecord(_0x216ac7[_0x3272ff(0x19c)]);return Object[_0x3272ff(0x1e8)](_0x29528c)['length']>0x0&&(_0x5b238c['config']={...asRecord(_0x3cdbca[_0x3272ff(0x19c)]),..._0x29528c}),_0x3ac7be[_0x4f8ce8]=_0x5b238c,_0x1755b6[_0x3272ff(0x18a)]=_0x3ac7be,_0x2dbbd1[_0x3272ff(0x173)]=_0x1755b6,_0x45cf61[_0x3272ff(0x1ae)+_0x3272ff(0x1ac)+_0x3272ff(0x1dd)+_0x3272ff(0x1da)]?.(),await _0x45cf61['writeCon'+_0x3272ff(0x1c6)]?.(_0x2dbbd1,_0x3272ff(0x1fb)+_0x3272ff(0x1a5)+_0x3272ff(0x1dc)+_0x3272ff(0x1c2)+_0x3272ff(0x195)+_0x3272ff(0x1e5)),{'ok':!![],'skillKey':_0x4f8ce8};}async function ensureManagedSkillsConfig(_0x1a0350,_0x286148=[]){const _0x3b74b8=_0x38ec,_0x496d6c=await _0x1a0350[_0x3b74b8(0x1f7)+'ig']()[_0x3b74b8(0x201)](()=>({})),_0x280b51=asRecord(_0x496d6c[_0x3b74b8(0x173)]),_0x5b8e33=asRecord(_0x280b51[_0x3b74b8(0x189)]),_0x127bae=Array[_0x3b74b8(0x17c)](_0x5b8e33[_0x3b74b8(0x1c5)+'s'])?_0x5b8e33[_0x3b74b8(0x1c5)+'s']:[],_0x1a6b6a=join(_0x1a0350[_0x3b74b8(0x1b2)+'tateDir'](),'skills'),_0x51b9f3=dedupeStrings([..._0x127bae,_0x1a6b6a]),_0x4a5e3c={...asRecord(_0x280b51['entries'])};let _0x230212=JSON[_0x3b74b8(0x1ec)+'y'](_0x127bae)!==JSON[_0x3b74b8(0x1ec)+'y'](_0x51b9f3);for(const _0x2ffe46 of _0x286148[_0x3b74b8(0x191)](getTrimmedString)[_0x3b74b8(0x17a)](Boolean)){if(Object[_0x3b74b8(0x178)+'e']['hasOwnPr'+'operty'][_0x3b74b8(0x1d0)](_0x4a5e3c,_0x2ffe46))continue;_0x4a5e3c[_0x2ffe46]={'enabled':!![]},_0x230212=!![];}if(!_0x230212)return;_0x5b8e33[_0x3b74b8(0x1c5)+'s']=_0x51b9f3,_0x280b51[_0x3b74b8(0x189)]=_0x5b8e33,_0x280b51[_0x3b74b8(0x18a)]=_0x4a5e3c,_0x496d6c[_0x3b74b8(0x173)]=_0x280b51,_0x1a0350[_0x3b74b8(0x1ae)+_0x3b74b8(0x1ac)+_0x3b74b8(0x1dd)+_0x3b74b8(0x1da)]?.(),await _0x1a0350[_0x3b74b8(0x1f9)+_0x3b74b8(0x1c6)]?.(_0x496d6c,'managed\x20'+_0x3b74b8(0x1a6)+_0x3b74b8(0x175)+_0x3b74b8(0x1d4)+'thout\x20ga'+_0x3b74b8(0x1aa)+_0x3b74b8(0x17b));}export async function syncManagedSkillsToConfig(_0x2d07fa){const _0x561751=_0x38ec,_0x1c8c3f=join(_0x2d07fa['resolveS'+_0x561751(0x180)](),_0x561751(0x173)),_0x546a9d=[];for(const _0x4648ba of await readdir(_0x1c8c3f,{'withFileTypes':!![]})[_0x561751(0x201)](()=>[])){if(!_0x4648ba[_0x561751(0x190)+'ory']())continue;const _0x1a7714=await resolveSkillKeyFromManifest(join(_0x1c8c3f,_0x4648ba['name']));if(_0x1a7714)_0x546a9d[_0x561751(0x202)](_0x1a7714);}return await ensureManagedSkillsConfig(_0x2d07fa,_0x546a9d),{'skillKeys':_0x546a9d};}async function resolveZipPath({payload:_0x43d386,app:_0x2d01f1,dialog:_0x450754,dialogWindow:_0x503c70}){const _0x35323a=_0x38ec,_0x1c63c5=getTrimmedString(_0x43d386[_0x35323a(0x192)]);let _0xf97fc3=getTrimmedString(_0x43d386[_0x35323a(0x1b5)+_0x35323a(0x1cc)]),_0x4ee464=null;if(!_0xf97fc3&&_0x1c63c5){const _0xe8a3c0=new URL(_0x1c63c5);_0x4ee464=await mkdtemp(join(_0x2d01f1['getPath'](_0x35323a(0x17d)),_0x35323a(0x1d8)+_0x35323a(0x1c7)+_0x35323a(0x182))),_0xf97fc3=join(_0x4ee464,basename(_0xe8a3c0['pathname'])||_0x35323a(0x1ce)+_0x35323a(0x200)+'.zip');const _0x2a876b=await fetch(_0xe8a3c0[_0x35323a(0x177)]());if(!_0x2a876b['ok'])throw new Error(_0x35323a(0x1fd)+_0x35323a(0x1e2)+'\x20'+_0x2a876b[_0x35323a(0x1d5)]+')');await writeFile(_0xf97fc3,Buffer['from'](await _0x2a876b[_0x35323a(0x1df)+_0x35323a(0x18c)]()));}if(!_0xf97fc3){const _0x5802d8={'title':'导入技能\x20ZIP','properties':[_0x35323a(0x1f0)],'filters':[{'name':'ZIP\x20Arch'+'ive','extensions':[_0x35323a(0x1bd)]}]},_0x2a1bbd=_0x503c70?await _0x450754[_0x35323a(0x1b3)+'Dialog'](_0x503c70,_0x5802d8):await _0x450754[_0x35323a(0x1b3)+_0x35323a(0x186)](_0x5802d8);if(_0x2a1bbd[_0x35323a(0x1be)]||_0x2a1bbd['filePath'+'s'][_0x35323a(0x1c4)]===0x0)return{'cancelled':!![],'zipPath':null,'downloadedZipDir':_0x4ee464};_0xf97fc3=_0x2a1bbd[_0x35323a(0x1bf)+'s'][0x0];}return{'cancelled':![],'zipPath':_0xf97fc3,'downloadedZipDir':_0x4ee464};}export async function importSkillZip({payload:payload={},app:_0x53600d,dialog:_0x2d91a7,dialogWindow:_0x3dd7be,configController:_0x53d555}){const _0x574925=_0x38ec,_0x588b85=asRecord(payload),_0x2d4623=getTrimmedString(_0x588b85[_0x574925(0x192)]),{cancelled:_0x5fb749,zipPath:_0x26642d,downloadedZipDir:_0x44c93c}=await resolveZipPath({'payload':_0x588b85,'app':_0x53600d,'dialog':_0x2d91a7,'dialogWindow':_0x3dd7be});if(_0x5fb749)return{'cancelled':!![],'imported':![],'overwritten':![],'skillDirName':null,'selectedZipPath':null,'zipUrl':_0x2d4623||null,'message':_0x574925(0x1fa)};const _0x3c6693=await mkdtemp(join(_0x53600d['getPath']('temp'),'wujie-sk'+_0x574925(0x185)+_0x574925(0x1a7))),_0x2490f0=join(_0x3c6693,_0x574925(0x1d7)+'d');try{await mkdir(_0x2490f0,{'recursive':!![]}),await extractZipToDirectory(_0x26642d,_0x2490f0);const _0x4972b3=await findSkillManifestDirectories(_0x2490f0);if(_0x4972b3[_0x574925(0x1c4)]===0x0)throw new Error(_0x574925(0x1c3)+'\x20SKILL.m'+_0x574925(0x193)+_0x574925(0x1ed));if(_0x4972b3[_0x574925(0x1c4)]>0x1)throw new Error(_0x574925(0x1cf)+_0x574925(0x1f6)+_0x574925(0x1a8)+_0x574925(0x1ef));const _0x31a1fc=_0x4972b3[0x0];await normalizeImportedSkillManifest(_0x31a1fc);const _0x597f92=basename(_0x31a1fc),_0x50ee5b=parse(_0x26642d)[_0x574925(0x18e)][_0x574925(0x19b)]()||_0x574925(0x1f4)+'-skill',_0x48f956=_0x597f92===_0x574925(0x1d7)+'d'?_0x50ee5b:_0x597f92,_0x2919d4=await resolveSkillKeyFromManifest(_0x31a1fc)??_0x48f956,_0x5a9f0b=await resolveSkillVersionFromManifest(_0x31a1fc)??(getTrimmedString(_0x588b85[_0x574925(0x1b0)])||extractVersionFromZipUrl(_0x2d4623)),_0x91ccf2=buildManagedSkillDirectoryName(_0x2919d4,_0x5a9f0b,_0x48f956),_0x44182f=join(_0x53d555['resolveS'+_0x574925(0x180)](),'skills'),_0x1ad17d=join(_0x44182f,_0x91ccf2);if(existsSync(_0x1ad17d)){if(_0x588b85[_0x574925(0x18d)+'e']!==!![])return{'cancelled':![],'imported':![],'overwritten':![],'needConfirmOverwrite':!![],'skillDirName':_0x91ccf2,'overwriteTargetPath':_0x1ad17d,'selectedZipPath':_0x26642d,'zipUrl':_0x2d4623||null,'message':_0x574925(0x198)+_0x91ccf2+(_0x574925(0x1a0)+'是否覆盖')};await rm(_0x1ad17d,{'recursive':!![],'force':!![]});}let _0x3a0886=_0x31a1fc;return _0x597f92===_0x574925(0x1d7)+'d'&&(_0x3a0886=join(_0x3c6693,_0x91ccf2),await rename(_0x31a1fc,_0x3a0886)),await moveDirectoryWithOverwrite(_0x3a0886,_0x1ad17d),await ensureManagedSkillsConfig(_0x53d555,[_0x2919d4]),{'cancelled':![],'imported':!![],'overwritten':_0x588b85[_0x574925(0x18d)+'e']===!![],'skillKey':_0x2919d4,'manifestKey':_0x2919d4,'skillDirName':_0x91ccf2,'targetPath':_0x1ad17d,'selectedZipPath':_0x26642d,'zipUrl':_0x2d4623||null,'message':_0x91ccf2+_0x574925(0x1ba)};}finally{await rm(_0x3c6693,{'recursive':!![],'force':!![]});if(_0x44c93c)await rm(_0x44c93c,{'recursive':!![],'force':!![]});}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x319bde=_0x118e;(function(_0x3f3267,_0x437b5e){const _0xbb2ca2=_0x118e,_0x10418b=_0x3f3267();while(!![]){try{const _0x247a05=-parseInt(_0xbb2ca2(0x12a))/0x1+-parseInt(_0xbb2ca2(0x133))/0x2*(-parseInt(_0xbb2ca2(0x114))/0x3)+-parseInt(_0xbb2ca2(0x125))/0x4*(parseInt(_0xbb2ca2(0x10b))/0x5)+parseInt(_0xbb2ca2(0x111))/0x6+parseInt(_0xbb2ca2(0x105))/0x7+parseInt(_0xbb2ca2(0x126))/0x8+parseInt(_0xbb2ca2(0x132))/0x9;if(_0x247a05===_0x437b5e)break;else _0x10418b['push'](_0x10418b['shift']());}catch(_0x26eb4d){_0x10418b['push'](_0x10418b['shift']());}}}(_0x1019,0x99257));import{readFile,readdir,rm}from'node:fs/promises';import{join}from'node:path';import{asRecord,getTrimmedString,writeJson}from'../common/utils.mjs';function _0x1019(){const _0x55c466=['market','ies','4468443QlAmQb','Name','skillKey','技能商店安装需要','resolveS','market-s','1405DbsKWt','source','mpare','manifest','gatewayS','replace','2861952SwYCXj',':\x5cs*(.+)','keys','81642AXDKQA','localeCo','aipc-mar','logo_url','isArray','entries','match','imported','length','kills.js','object','接口返回的\x20co','接口返回的\x20na','SKILL.md','trim','fromEntr','catch','14372JawMZB','3030392BQCemM','isDirect','name','code','741032NAZANP','descript','logoUrl','ion','version','ory','parse','sort','5260122iBGlTG','22Nqoymx','^\x5cs*','skills','killKey','filter','has','tateDir','skillDir'];_0x1019=function(){return _0x55c466;};return _0x1019();}const SKILL_SOURCE_MARKET=_0x319bde(0x116)+'ket';async function readMarketSkillRegistry(_0x2ab570){const _0x3eef52=_0x319bde;try{const _0x44c07b=JSON[_0x3eef52(0x130)](await readFile(_0x2ab570,'utf8'));if(!_0x44c07b||typeof _0x44c07b!==_0x3eef52(0x11e)||Array['isArray'](_0x44c07b))return{};return _0x44c07b;}catch{return{};}}export async function readSkillMarketRegistry(_0x2da90f){const _0x561e5c=_0x319bde;return await readMarketSkillRegistry(join(_0x2da90f,'market-s'+_0x561e5c(0x11d)+'on'));}async function upsertMarketSkillRegistryEntry(_0x456be2,_0xc77f61,_0x194588,_0x3cfa22,_0x27d461={}){const _0x33cc2b=_0x319bde,_0x323aa3=getTrimmedString(_0xc77f61),_0x2b9e89=getTrimmedString(_0x194588),_0xe72e21=getTrimmedString(_0x3cfa22);if(!_0x323aa3||!_0x2b9e89||!_0xe72e21)return;const _0x29b84e=await readMarketSkillRegistry(_0x456be2);_0x29b84e[_0x323aa3]={'version':_0xe72e21,'code':_0x2b9e89,...getTrimmedString(_0x27d461[_0x33cc2b(0x128)])?{'name':getTrimmedString(_0x27d461[_0x33cc2b(0x128)])}:{},...getTrimmedString(_0x27d461[_0x33cc2b(0x12c)])?{'logo_url':getTrimmedString(_0x27d461[_0x33cc2b(0x12c)])}:{},...getTrimmedString(_0x27d461[_0x33cc2b(0x12b)+_0x33cc2b(0x12d)])?{'description':getTrimmedString(_0x27d461['descript'+'ion'])}:{}};if(_0x29b84e[_0x2b9e89]&&_0x2b9e89!==_0x323aa3)delete _0x29b84e[_0x2b9e89];for(const [_0xc2ac23,_0x1f58ae]of Object[_0x33cc2b(0x119)](_0x29b84e)){if(_0xc2ac23!==_0x323aa3&&asRecord(_0x1f58ae)['code']===_0x2b9e89)delete _0x29b84e[_0xc2ac23];}const _0x54ca17=Object[_0x33cc2b(0x123)+_0x33cc2b(0x104)](Object['entries'](_0x29b84e)[_0x33cc2b(0x131)](([_0x5d70d8],[_0x1fb61f])=>_0x5d70d8[_0x33cc2b(0x115)+_0x33cc2b(0x10d)](_0x1fb61f)));await writeJson(_0x456be2,_0x54ca17);}async function removeMarketSkillRegistryKeys(_0x250495,_0x3207a1){const _0x37a07e=_0x319bde,_0x3e428b=new Set(_0x3207a1['map'](getTrimmedString)[_0x37a07e(0xff)](Boolean));if(_0x3e428b['size']===0x0)return;const _0x4bae2a=await readMarketSkillRegistry(_0x250495);let _0x538227=![];for(const _0x47941d of Object['keys'](_0x4bae2a)){const _0x9d1e59=asRecord(_0x4bae2a[_0x47941d]);(_0x3e428b['has'](_0x47941d)||_0x3e428b[_0x37a07e(0x100)](getTrimmedString(_0x9d1e59[_0x37a07e(0x129)])))&&(delete _0x4bae2a[_0x47941d],_0x538227=!![]);}if(_0x538227){const _0x23a29c=Object[_0x37a07e(0x123)+_0x37a07e(0x104)](Object[_0x37a07e(0x119)](_0x4bae2a)['sort'](([_0x14b210],[_0x1c0efe])=>_0x14b210[_0x37a07e(0x115)+'mpare'](_0x1c0efe)));await writeJson(_0x250495,_0x23a29c);}}async function readSkillManifestText(_0x3cbb56){const _0xf4d4f8=_0x319bde,_0x16e390=[join(_0x3cbb56,_0xf4d4f8(0x121)),join(_0x3cbb56,'SKILLS.m'+'d')];for(const _0x570ad6 of _0x16e390){const _0x5e9210=await readFile(_0x570ad6,'utf8')[_0xf4d4f8(0x124)](()=>'');if(_0x5e9210['trim']())return _0x5e9210;}return'';}function resolveFrontmatterValue(_0x49d6a9,_0x31fbf0){const _0x4214f8=_0x319bde,_0x45150a=_0x49d6a9[_0x4214f8(0x11a)](/^---\s*\r?\n([\s\S]*?)\r?\n---/),_0x4e182b=_0x45150a?.[0x1]??'',_0xad77a7=_0x4e182b[_0x4214f8(0x11a)](new RegExp(_0x4214f8(0xfc)+_0x31fbf0+(_0x4214f8(0x112)+'$'),'m'))?.[0x1];return getTrimmedString(_0xad77a7)[_0x4214f8(0x110)](/^["']|["']$/g,'')||null;}function _0x118e(_0x46069a,_0x26af9a){_0x46069a=_0x46069a-0xfc;const _0x101983=_0x1019();let _0x118e84=_0x101983[_0x46069a];return _0x118e84;}async function resolveSkillKeyFromManifest(_0x2d8336){const _0x5c4746=_0x319bde,_0x5469d0=await readSkillManifestText(_0x2d8336);if(!_0x5469d0[_0x5c4746(0x122)]())return null;const _0x4132a5=_0x5469d0[_0x5c4746(0x11a)](/"skillKey"\s*:\s*"([^"]+)"/);if(_0x4132a5?.[0x1])return getTrimmedString(_0x4132a5[0x1]);return resolveFrontmatterValue(_0x5469d0,_0x5c4746(0x107))||resolveFrontmatterValue(_0x5469d0,_0x5c4746(0x128));}async function removeOtherMarketSkillVersions(_0x5de4a1,_0x39eb18,_0x4b81aa){const _0xb87df0=_0x319bde,_0x4402de=getTrimmedString(_0x4b81aa);if(!_0x4402de)return;for(const _0x2ba8d2 of await readdir(_0x5de4a1,{'withFileTypes':!![]})['catch'](()=>[])){if(!_0x2ba8d2[_0xb87df0(0x127)+_0xb87df0(0x12f)]())continue;const _0x4058d4=join(_0x5de4a1,_0x2ba8d2[_0xb87df0(0x128)]);if(_0x4058d4===_0x39eb18)continue;const _0x37090f=await resolveSkillKeyFromManifest(_0x4058d4);_0x37090f&&_0x37090f['trim']()===_0x4402de&&await rm(_0x4058d4,{'recursive':!![],'force':!![]});}}export async function importMarketSkillZip({payload:payload={},importSkillZip:_0x1df0b0,configController:_0x4dcdaf}={}){const _0x41a02d=_0x319bde,_0x2703c8=asRecord(payload);if(_0x2703c8[_0x41a02d(0x10c)]!==_0x41a02d(0x103))return _0x1df0b0({'payload':payload});const _0x5846b9=getTrimmedString(_0x2703c8[_0x41a02d(0x129)]),_0x249387=getTrimmedString(_0x2703c8['version']),_0x3d457f=getTrimmedString(_0x2703c8[_0x41a02d(0x128)]);if(!_0x5846b9)throw new Error(_0x41a02d(0x108)+_0x41a02d(0x11f)+'de');if(!_0x249387)throw new Error(_0x41a02d(0x108)+'接口返回的\x20ve'+'rsion');if(!_0x3d457f)throw new Error('技能商店安装需要'+_0x41a02d(0x120)+'me');const _0x52b490=await _0x1df0b0({'payload':{..._0x2703c8,'version':_0x249387}});if(!_0x52b490?.[_0x41a02d(0x11b)])return _0x52b490;const _0x2e553b=getTrimmedString(_0x52b490[_0x41a02d(0x107)])||getTrimmedString(_0x52b490[_0x41a02d(0x10e)+'Key'])||getTrimmedString(_0x52b490[_0x41a02d(0x102)+_0x41a02d(0x106)]);return await removeOtherMarketSkillVersions(join(_0x4dcdaf['resolveS'+_0x41a02d(0x101)](),_0x41a02d(0xfd)),_0x52b490['targetPa'+'th'],_0x2e553b),await upsertMarketSkillRegistryEntry(join(_0x4dcdaf[_0x41a02d(0x109)+_0x41a02d(0x101)](),_0x41a02d(0x10a)+'kills.js'+'on'),_0x2e553b,_0x5846b9,_0x249387,{'name':_0x3d457f,'logoUrl':getTrimmedString(_0x2703c8['logoUrl']),'description':getTrimmedString(_0x2703c8[_0x41a02d(0x12b)+_0x41a02d(0x12d)])}),_0x52b490;}export async function deleteMarketSkillRegistryEntry({payload:payload={},deleteManagedSkill:_0x45b00f,configController:_0x9799b9}={}){const _0x22a115=_0x319bde,_0x124472=await _0x45b00f({'payload':payload}),_0x2964b8=asRecord(payload),_0x2a099c=getTrimmedString(_0x124472?.[_0x22a115(0x107)]??_0x2964b8['skillKey']??_0x2964b8[_0x22a115(0x128)]),_0x42f17e=[_0x2a099c,getTrimmedString(_0x2964b8[_0x22a115(0x10f)+_0x22a115(0xfe)]),getTrimmedString(_0x2964b8[_0x22a115(0x128)])];return await removeMarketSkillRegistryKeys(join(_0x9799b9[_0x22a115(0x109)+_0x22a115(0x101)](),_0x22a115(0x10a)+_0x22a115(0x11d)+'on'),_0x42f17e),_0x124472;}export function mapMarketRegisteredSkills(_0x186ef3,_0x294841){const _0x31dd3d=_0x319bde,_0x1f0604=Array[_0x31dd3d(0x118)](asRecord(_0x186ef3)[_0x31dd3d(0xfd)])?asRecord(_0x186ef3)[_0x31dd3d(0xfd)]:[];if(_0x1f0604[_0x31dd3d(0x11c)]===0x0||Object[_0x31dd3d(0x113)](_0x294841)[_0x31dd3d(0x11c)]===0x0)return _0x186ef3;const _0x5d931b=_0x1f0604['map'](_0x842810=>{const _0x2c09eb=_0x31dd3d,_0x321839=asRecord(_0x842810),_0x388304=getTrimmedString(_0x321839[_0x2c09eb(0x107)])||getTrimmedString(_0x321839[_0x2c09eb(0x128)]);let _0x441e38=_0x388304,_0x53cc65=asRecord(_0x294841[_0x388304]);if(!Object[_0x2c09eb(0x113)](_0x53cc65)['length'])for(const [_0xc970ff,_0xeccbc2]of Object['entries'](_0x294841)){const _0x52f1d2=asRecord(_0xeccbc2);if(getTrimmedString(_0x52f1d2[_0x2c09eb(0x129)])===_0x388304){_0x441e38=_0xc970ff,_0x53cc65=_0x52f1d2;break;}}if(!Object['keys'](_0x53cc65)[_0x2c09eb(0x11c)])return _0x842810;const _0x5d8120=getTrimmedString(_0x53cc65[_0x2c09eb(0x129)]),_0x59a38b=getTrimmedString(_0x53cc65[_0x2c09eb(0x128)]),_0x195877=getTrimmedString(_0x53cc65[_0x2c09eb(0x12b)+_0x2c09eb(0x12d)]),_0x114e53=getTrimmedString(_0x53cc65[_0x2c09eb(0x117)]),_0x4baa88=getTrimmedString(_0x53cc65[_0x2c09eb(0x12e)]);return{..._0x321839,'source':SKILL_SOURCE_MARKET,'skillKey':_0x5d8120||_0x388304,'gatewaySkillKey':_0x5d8120?_0x441e38:null,'marketInstalledVersion':_0x4baa88||null,..._0x59a38b?{'cnName':_0x59a38b}:{},..._0x195877?{'description':_0x195877}:{},..._0x114e53?{'logoUrl':_0x114e53}:{}};});return{...asRecord(_0x186ef3),'skills':_0x5d931b};}export function createMarketSkillRuntime({configController:_0x3ef777}){return{'mapSkillsStatus':async _0x24aa25=>{const _0x40ac8c=_0x118e,_0xf5843e=await readSkillMarketRegistry(_0x3ef777['resolveS'+'tateDir']())[_0x40ac8c(0x124)](()=>({}));return mapMarketRegisteredSkills(_0x24aa25,_0xf5843e);}};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4cbcc9,_0x56eea5){const _0x4a7360=_0x4b23,_0x2fbfcc=_0x4cbcc9();while(!![]){try{const _0x3ab0fe=parseInt(_0x4a7360(0x158))/0x1*(-parseInt(_0x4a7360(0x16f))/0x2)+-parseInt(_0x4a7360(0x159))/0x3+-parseInt(_0x4a7360(0x171))/0x4*(parseInt(_0x4a7360(0x169))/0x5)+parseInt(_0x4a7360(0x163))/0x6+parseInt(_0x4a7360(0x162))/0x7+-parseInt(_0x4a7360(0x15b))/0x8*(-parseInt(_0x4a7360(0x174))/0x9)+parseInt(_0x4a7360(0x16a))/0xa*(parseInt(_0x4a7360(0x180))/0xb);if(_0x3ab0fe===_0x56eea5)break;else _0x2fbfcc['push'](_0x2fbfcc['shift']());}catch(_0x53e603){_0x2fbfcc['push'](_0x2fbfcc['shift']());}}}(_0x5c46,0x665d7));import{spawn}from'node:child_process';function _0x4b23(_0x1ca42c,_0x56c4f3){_0x1ca42c=_0x1ca42c-0x149;const _0x5c46c3=_0x5c46();let _0x4b23da=_0x5c46c3[_0x1ca42c];return _0x4b23da;}import{randomUUID}from'node:crypto';import{accessSync,constants,existsSync}from'node:fs';import{mkdir}from'node:fs/promises';function _0x5c46(){const _0xa19453=['ase','57051FLekif','truecolo','keys','data','No\x20suppo','PATH','clear','pipe','kill','string','message','\x20session','396FLgteI','pwsh','cwd','trim','rted\x20Win','env','xterm-25','/opt/hom','values','split','ebrew/bi','win32','child','platform','toString','stdout','darwin','/usr/loc','delete','ll\x20found','set','get','2Pkvjmi','2381163rMxRKP','--login','16fLsFgi','powershe','find','/bin/bas','includes','bash','.cmd','4160758TsRbOv','2378592tqFKbf','sessionI','dows\x20she','push','n/zsh','-NoLogo','30djPFdi','179020LMmqjD','toLowerC','Terminal','/bin/zsh','path','78622XTHQaf','al/bin/z','237564dUWSdv','stderr'];_0x5c46=function(){return _0xa19453;};return _0x5c46();}import{basename,delimiter,join}from'node:path';const FILE_EXTENSION_REGEX=/\.[a-z0-9]+$/i;function resolvePathEntries(_0x41b3d3){const _0x1255eb=_0x4b23,_0x22cf13=Object[_0x1255eb(0x176)](_0x41b3d3)[_0x1255eb(0x15d)](_0x3d9bb8=>_0x3d9bb8[_0x1255eb(0x16b)+_0x1255eb(0x173)]()===_0x1255eb(0x16e))??_0x1255eb(0x179);return String(_0x41b3d3[_0x22cf13]||'')[_0x1255eb(0x14b)](delimiter)['filter'](Boolean);}function canExecute(_0x4de066){const _0x5b45fd=_0x4b23;try{return accessSync(_0x4de066,process[_0x5b45fd(0x14f)]===_0x5b45fd(0x14d)?constants['F_OK']:constants['X_OK']),!![];}catch{return![];}}function resolveExecutableOnPath(_0x4c54d5,_0x2731a5){const _0x517504=_0x4b23,_0x442d5c=String(_0x4c54d5||'')['trim']();if(!_0x442d5c)return null;if(_0x442d5c[_0x517504(0x15f)]('/')||_0x442d5c[_0x517504(0x15f)]('\x5c'))return existsSync(_0x442d5c)?_0x442d5c:null;const _0x47e13a=[_0x442d5c];process[_0x517504(0x14f)]===_0x517504(0x14d)&&!FILE_EXTENSION_REGEX['test'](_0x442d5c)&&_0x47e13a[_0x517504(0x166)](_0x442d5c+'.exe',_0x442d5c+_0x517504(0x161),_0x442d5c+'.bat');for(const _0x2cf528 of resolvePathEntries(_0x2731a5)){for(const _0x53d3c8 of _0x47e13a){const _0x563021=join(_0x2cf528,_0x53d3c8);if(canExecute(_0x563021))return _0x563021;}}return null;}function resolveShellLaunchConfig(_0x1bed2f){const _0x485271=_0x4b23;if(process['platform']===_0x485271(0x14d)){const _0x236d60=resolveExecutableOnPath(_0x485271(0x181),_0x1bed2f)??resolveExecutableOnPath(_0x485271(0x15c)+'ll',_0x1bed2f);if(_0x236d60)return{'command':_0x236d60,'args':[_0x485271(0x168)]};const _0x16bd7c=resolveExecutableOnPath('cmd',_0x1bed2f);if(_0x16bd7c)return{'command':_0x16bd7c,'args':['/Q']};throw new Error('No\x20suppo'+_0x485271(0x184)+_0x485271(0x165)+_0x485271(0x155));}if(process['platform']===_0x485271(0x152)){const _0x545178=[_0x485271(0x16d),_0x485271(0x153)+_0x485271(0x170)+'sh',_0x485271(0x149)+_0x485271(0x14c)+_0x485271(0x167)][_0x485271(0x15d)](canExecute);if(_0x545178)return{'command':_0x545178,'args':['-i']};const _0x52e732=[_0x485271(0x15e)+'h',_0x485271(0x153)+'al/bin/b'+'ash',_0x485271(0x149)+'ebrew/bi'+'n/bash'][_0x485271(0x15d)](canExecute);if(_0x52e732)return{'command':_0x52e732,'args':[_0x485271(0x15a),'-i']};}const _0x384eb9=resolveExecutableOnPath(process.env.SHELL||'',_0x1bed2f)??resolveExecutableOnPath(_0x485271(0x160),_0x1bed2f)??resolveExecutableOnPath('sh',_0x1bed2f);if(!_0x384eb9)throw new Error(_0x485271(0x178)+'rted\x20she'+'ll\x20found');return{'command':_0x384eb9,'args':['-l','-i']};}export function createTerminalManager({cwd:_0x349f4d,emitData:_0x4582ca,emitExit:_0xbc8207}){const _0x3aaac4=new Map();function _0x5b24c9(_0x387d27){const _0x235ab=_0x4b23,_0x321b4d=_0x3aaac4[_0x235ab(0x157)](_0x387d27);if(!_0x321b4d)throw new Error(_0x235ab(0x16c)+_0x235ab(0x17f)+'\x20not\x20fou'+'nd');return _0x321b4d;}async function _0x1a9375(_0x95595e={}){const _0x448bff=_0x4b23,_0x55034b={...process.env,'TERM':_0x448bff(0x186)+'6color','COLORTERM':_0x448bff(0x175)+'r',..._0x95595e[_0x448bff(0x185)]&&typeof _0x95595e[_0x448bff(0x185)]==='object'?_0x95595e[_0x448bff(0x185)]:{}},_0x39daf2=typeof _0x95595e[_0x448bff(0x182)]===_0x448bff(0x17d)&&_0x95595e[_0x448bff(0x182)][_0x448bff(0x183)]()?_0x95595e[_0x448bff(0x182)]:'',_0x14cd21=_0x39daf2||_0x349f4d;await mkdir(_0x14cd21,{'recursive':!![]});const {command:_0x56bd3c,args:_0x3fb609}=resolveShellLaunchConfig(_0x55034b),_0x5661ed=randomUUID(),_0x46e42f=spawn(_0x56bd3c,_0x3fb609,{'cwd':_0x14cd21,'env':_0x55034b,'stdio':_0x448bff(0x17b)});return _0x3aaac4[_0x448bff(0x156)](_0x5661ed,{'sessionId':_0x5661ed,'child':_0x46e42f}),_0x46e42f[_0x448bff(0x151)]['on']('data',_0x2b41cb=>_0x4582ca({'sessionId':_0x5661ed,'data':_0x2b41cb[_0x448bff(0x150)]()})),_0x46e42f[_0x448bff(0x172)]['on'](_0x448bff(0x177),_0x16faf0=>_0x4582ca({'sessionId':_0x5661ed,'data':_0x16faf0['toString']()})),_0x46e42f['on']('close',(_0x2fe23f,_0x381066)=>{_0x3aaac4['delete'](_0x5661ed),_0xbc8207({'sessionId':_0x5661ed,'exitCode':_0x2fe23f,'signal':_0x381066});}),_0x46e42f['on']('error',_0x399f78=>{const _0x55cc9a=_0x448bff;_0x4582ca({'sessionId':_0x5661ed,'data':_0x399f78[_0x55cc9a(0x17e)]+'\x0a'});}),{'sessionId':_0x5661ed,'shell':basename(_0x56bd3c),'cwd':_0x14cd21};}function _0x43cf1a(_0x378b47={}){const _0x1b5014=_0x4b23,_0x4015af=_0x5b24c9(String(_0x378b47['sessionI'+'d']||''));return _0x4015af[_0x1b5014(0x14e)]['stdin']['write'](String(_0x378b47['data']||'')),{'ok':!![]};}function _0x54e19b(_0x408b8={}){const _0x1595b0=_0x4b23,_0x370e6b=String(_0x408b8[_0x1595b0(0x164)+'d']||'');return _0x5b24c9(_0x370e6b),{'ok':!![],'ignored':!![]};}function _0x3a1318(_0x16cb29={}){const _0x26dbaf=_0x4b23,_0x17c30b=String(_0x16cb29['sessionI'+'d']||''),_0x3614d4=_0x3aaac4[_0x26dbaf(0x157)](_0x17c30b);if(!_0x3614d4)return{'ok':!![],'closed':![]};return _0x3aaac4[_0x26dbaf(0x154)](_0x17c30b),_0x3614d4[_0x26dbaf(0x14e)]['kill'](),{'ok':!![],'closed':!![]};}function _0xae2c53(){const _0x840061=_0x4b23;for(const _0x3b610a of _0x3aaac4[_0x840061(0x14a)]())_0x3b610a['child'][_0x840061(0x17c)]();_0x3aaac4[_0x840061(0x17a)]();}return{'create':_0x1a9375,'input':_0x43cf1a,'resize':_0x54e19b,'close':_0x3a1318,'dispose':_0xae2c53};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x544a6e=_0x5986;(function(_0x15f481,_0x68b129){const _0x16e1b3=_0x5986,_0x206728=_0x15f481();while(!![]){try{const _0x1efe3c=-parseInt(_0x16e1b3(0x187))/0x1+-parseInt(_0x16e1b3(0x1e8))/0x2+-parseInt(_0x16e1b3(0xd9))/0x3*(parseInt(_0x16e1b3(0xf2))/0x4)+-parseInt(_0x16e1b3(0x1b6))/0x5*(-parseInt(_0x16e1b3(0x17c))/0x6)+-parseInt(_0x16e1b3(0x1ae))/0x7*(-parseInt(_0x16e1b3(0x188))/0x8)+-parseInt(_0x16e1b3(0xe9))/0x9+parseInt(_0x16e1b3(0x148))/0xa*(parseInt(_0x16e1b3(0xfe))/0xb);if(_0x1efe3c===_0x68b129)break;else _0x206728['push'](_0x206728['shift']());}catch(_0x10b953){_0x206728['push'](_0x206728['shift']());}}}(_0x4e63,0xe147e));import{existsSync,readFileSync,readdirSync,rmSync,statSync,writeFileSync}from'node:fs';import{spawnSync}from'node:child_process';import{homedir}from'node:os';import{basename,join}from'node:path';import _0x1b0681 from'electron-updater';function _0x4e63(){const _0xf00d56=['red','update\x20n','Local','remoteVe','当前使用\x20Alp','ending_p','alidated','efetch_f','当前没有可下载的','776842WBERHz','led','动更新','Library','-updater','text\x20loa','sPath','update_q','uit_star','acheDirN','utMs','updates','packageB','dataDir','context','resolve','datePref','exec','taleMs','now','update-i','isArray','uit\x20and\x20','pending','nstall_w','true','ewer','Quit','errorCod','releaseD','r\x20starte','sha512','fore\x20nat','o\x20clear\x20','status','leted','string','phase-co','AppData','message','ded','-for-upd','install_','enabled','called','o\x20archiv','uit_and_','getAllWi','schedule','for\x20nati','nstall\x20p','install\x20','text_sta','Squirrel','darwin','更新准备失败','nts','flatMap','unknown','rsion','ts\x20skipp','xt\x20ignor','info','pathname','ing','efetch_s','nstall\x20d','path','one','fileName','transfer','te-state','trim','includes','nstall\x20q','complete','o\x20read\x20p','hase_con','efore\x20in','releaseN','parse','l\x20phase\x20','it_obser','MacEnabl','outMs','pdater\x20q','update\x20q','stener','41091RRRxPB','length','stall\x20ca','nstall','ailed\x20be','ha\x20更新渠道','正在下载\x20','e\x20prefet','ch\x20skipp','appId','find','-error','defaults','\x20will\x20us','unsuppor','ending\x20p','4507227eItNJm','stall','-bool','eted','platform','ontentsW','within\x20t','rrel\x20dir','quested','524BVchra','isPackag','ve\x20mac\x20u','Second','update_a','_default','ate','当前已经是最新版','repare\x20q','update_m','catch','write','5773889wPQkoC','packageN','ersion','o\x20inspec','自动更新已禁用','efetch\x20b','ive\x20upda','win32','same-ver','ndCheckI','running','新版本','\x20fallbac','update_b','update\x20p','ror','e\x20check\x20','oot','installi','efore\x20qu','o\x20read\x20a','vailable','max','allOnApp','ac\x20updat','phase','ytes','kipped','o\x20persis','squirrel','s_enable','stringif','app_id','nstall_p','total','nd\x20updat','update\x20i','pp-updat','启应用','ct_write','ignore','app-upda','ative_pr','lable','warn','ac_squir','sion','efetch_d','update\x20b','rel_dire','ing\x20upda','load','backgrou','包后再试','number','te.yml','imeout','安装更新失败','error','te\x20packa','installQ','ts\x20faile','l\x20packag','Percent','map','toISOStr','package\x20','-after-b','nativeUp','uitTimeo','uit_done','edVersio','autoDown','phase\x20co','30fOIKrv','isFile','send','remote-n','update-d','ect\x20writ','ait_done','currentV','后的安装包中可用','自动更新仅在打包','requeste','size','efetch_i','supporte','percent','quitAndI','then','otes','正在安装更新并重','pdate\x20pr','uitAndIn','nfo.json','Updates','se\x20conte','mileston','not-avai','e\x20defaul','function','consumed','object','native\x20m','eDirectC','重试下载更新','kage','更新包校验完成但','test','\x20AppImag','no\x20match','rite','e\x20instal','ackageBy','当前没有可安装的','channel','navailab','isDestro','url','ailed','tart','e.yml','auto\x20upd','自动更新失败','dater','1182lUSmft','ts\x20enabl','d;\x20insta','uit\x20star','ch\x20timed','isFinite','hell.con','stale\x20up','bytesPer','note','native-u','500259fFciNv','296XrZZQY','fig\x20中禁用','app:upda','tall\x20pha','uit\x20comp','download','ame','stale-af','ter-boot','ndows','ext\x20boot','finally','g\x20downlo','eVersion',',请重新下载更新','failed\x20t','r\x20boot','version','once','pp\x20quit\x20','interval','ate\x20down','push','availabl','正在检查更新','update_n','st.json','正在重新准备更新','date\x20ins','ntext.js','install-','pendingP','repare_q','failed','hdog\x20sta','t\x20instal','etchTime','ndCheckS','157094PmaIwQ','ending\x20u','e\x20版本支持应用','\x20after\x20i','-progres','update-a','alpha','updaterC','43185WldSog','\x20before\x20','signal','Update','_after_i','aded\x20pac','更新安装未能启动','rted','ch\x20wait\x20','_by_conf','ted','already-','rigger\x20a','resource','内自动更新','.ShipIt','linux','able','ved','备安装','utf8','s_skippe','更新包已准备好安','electron','startup','发现本地更新包\x20','当前构建不支持自','checkFor','t\x20pendin','it\x20obser','join','mac\x20squi','update_p','startedA','idle','Linux\x20下仅','\x20已准备好安装','ownloade','checking','lled','ext_boot'];_0x4e63=function(){return _0xf00d56;};return _0x4e63();}import{app,BrowserWindow}from'electron';import{clean,compare}from'semver';const {autoUpdater}=_0x1b0681,DEFAULT_INSTALL_QUIT_TIMEOUT_MS=0xea60,DEFAULT_BACKGROUND_UPDATE_CHECK_INTERVAL_MS=0x3c*0x3c*0x3e8,DEFAULT_BACKGROUND_UPDATE_CHECK_STALE_MS=0x1e*0x3c*0x3e8,DEFAULT_NATIVE_UPDATE_PREFETCH_TIMEOUT_MS=0xafc8,INSTALL_PHASE_CONTEXT_STALE_MS=0x18*0x3c*0x3c*0x3e8,SQUIRREL_DIRECT_WRITE_DEFAULTS_KEY=_0x544a6e(0xb6)+_0x544a6e(0xd4)+_0x544a6e(0x167)+_0x544a6e(0xee)+_0x544a6e(0x16e);function normalizeAppUpdatePackageFileName(_0x1be65c){const _0x41e59a=_0x544a6e;if(typeof _0x1be65c!==_0x41e59a(0xa5))return null;const _0x1be0d4=_0x1be65c[_0x41e59a(0xc9)]();if(!_0x1be0d4||_0x1be0d4==='.'||_0x1be0d4==='..'||_0x1be0d4[_0x41e59a(0xca)]('/')||_0x1be0d4[_0x41e59a(0xca)]('\x5c'))return null;return _0x1be0d4;}function isMatchingAppUpdatePackageMetadata(_0x277d41,_0x1ddd2b){const _0x1b6b83=_0x544a6e;if(!_0x277d41||!_0x1ddd2b||typeof _0x1ddd2b!=='object')return![];const _0x3f8ac8=_0x1ddd2b,_0x310d5a=normalizeAppUpdatePackageFileName(_0x277d41[_0x1b6b83(0xc6)]),_0xb651e3=normalizeAppUpdatePackageFileName(_0x3f8ac8[_0x1b6b83(0xc6)]),_0x316d37=_0x277d41[_0x1b6b83(0xa0)][_0x1b6b83(0xc9)](),_0x5c571f=typeof _0x3f8ac8['sha512']===_0x1b6b83(0xa5)?_0x3f8ac8[_0x1b6b83(0xa0)]['trim']():'';return Boolean(_0x310d5a&&_0xb651e3&&_0x310d5a===_0xb651e3&&_0x316d37&&_0x5c571f&&_0x316d37===_0x5c571f);}function normalizeAppVersion(_0x29db2d){const _0x3ac0f7=_0x544a6e;return clean(String(_0x29db2d??'')[_0x3ac0f7(0xc9)]());}function compareAppVersions(_0x4f68af,_0x9386b9){const _0x5af369=_0x544a6e,_0x411bfc=normalizeAppVersion(_0x4f68af),_0x59831d=normalizeAppVersion(_0x9386b9);if(!_0x411bfc||!_0x59831d)return _0x5af369(0xbb);const _0x27cec9=compare(_0x59831d,_0x411bfc);if(_0x27cec9===0x0)return _0x5af369(0x106)+_0x5af369(0x12c);return _0x27cec9>0x0?_0x5af369(0x14b)+_0x5af369(0x202):'remote-o'+'lder';}function normalizeAppUpdateChannel(_0x5a30d1){const _0xaaa80b=_0x544a6e;return _0x5a30d1===_0xaaa80b(0x1b4)?_0xaaa80b(0x1b4):'latest';}function normalizeString(_0x5623f2){const _0x5081d1=_0x544a6e;if(typeof _0x5623f2!==_0x5081d1(0xa5))return null;const _0x577ebd=_0x5623f2[_0x5081d1(0xc9)]();return _0x577ebd||null;}function normalizeReleaseNotes(_0x555696){const _0x487f71=_0x544a6e;if(typeof _0x555696===_0x487f71(0xa5))return normalizeString(_0x555696);if(!Array[_0x487f71(0x1fd)](_0x555696))return null;const _0x505b6b=_0x555696[_0x487f71(0xba)](_0x40141a=>{const _0x456b37=_0x487f71;if(typeof _0x40141a===_0x456b37(0xa5)){const _0xf0f4eb=normalizeString(_0x40141a);return _0xf0f4eb?[_0xf0f4eb]:[];}if(!_0x40141a||typeof _0x40141a!==_0x456b37(0x165))return[];const _0xdcb895=normalizeString(_0x40141a[_0x456b37(0x199)]),_0x213545=normalizeString(_0x40141a[_0x456b37(0x185)]);if(_0xdcb895&&_0x213545)return['v'+_0xdcb895+'\x0a'+_0x213545];if(_0x213545)return[_0x213545];if(_0xdcb895)return['v'+_0xdcb895];return[];});return _0x505b6b['length']>0x0?_0x505b6b[_0x487f71(0x1d4)]('\x0a\x0a'):null;}function extractUpdateInfoPatch(_0x5d694b){const _0x31c525=_0x544a6e;if(!_0x5d694b||typeof _0x5d694b!==_0x31c525(0x165))return{};return{'remoteVersion':normalizeString(_0x5d694b[_0x31c525(0x199)]),'availableVersion':normalizeString(_0x5d694b['version']),'releaseName':normalizeString(_0x5d694b[_0x31c525(0xd0)+_0x31c525(0x18e)]),'releaseDate':normalizeString(_0x5d694b[_0x31c525(0x9e)+'ate']),'releaseNotes':normalizeReleaseNotes(_0x5d694b['releaseN'+_0x31c525(0x159)])};}function extractPackageFileName(_0x16535e){const _0x1818ef=_0x544a6e,_0x149b05=normalizeString(_0x16535e);if(!_0x149b05)return null;try{const _0xd75853=new URL(_0x149b05);return normalizeAppUpdatePackageFileName(decodeURIComponent(basename(_0xd75853[_0x1818ef(0xc0)])));}catch{const _0x277925=_0x149b05['split'](/[?#]/u,0x1)[0x0];return normalizeAppUpdatePackageFileName(basename(_0x277925));}}function getPreferredUpdatePackagePattern(){const _0x2322fb=_0x544a6e;if(process[_0x2322fb(0xed)]===_0x2322fb(0xb7))return/\.zip$/iu;if(process['platform']==='win32')return/\.exe$/iu;if(process[_0x2322fb(0xed)]===_0x2322fb(0x1c6))return/\.AppImage$/u;return/\.(zip|exe|AppImage)$/u;}function extractRemoteUpdatePackageMetadata(_0x5ec0d1,_0x187af6){const _0x140dc8=_0x544a6e;if(!_0x5ec0d1||typeof _0x5ec0d1!==_0x140dc8(0x165))return null;const _0x4a4efd=normalizeString(_0x5ec0d1[_0x140dc8(0x199)]);if(!_0x4a4efd)return null;const _0x24405a=[],_0x152b0a=Array[_0x140dc8(0x1fd)](_0x5ec0d1['files'])?_0x5ec0d1['files']:[];for(const _0x507f46 of _0x152b0a){if(!_0x507f46||typeof _0x507f46!=='object')continue;const _0x58f834=extractPackageFileName(_0x507f46[_0x140dc8(0x175)])??extractPackageFileName(_0x507f46[_0x140dc8(0xc4)])??normalizeAppUpdatePackageFileName(_0x507f46['fileName']),_0x3b35eb=normalizeString(_0x507f46[_0x140dc8(0xa0)]);_0x58f834&&_0x3b35eb&&_0x24405a[_0x140dc8(0x19e)]({'fileName':_0x58f834,'sha512':_0x3b35eb});}const _0x3cbe14=extractPackageFileName(_0x5ec0d1['url'])??extractPackageFileName(_0x5ec0d1[_0x140dc8(0xc4)])??normalizeAppUpdatePackageFileName(_0x5ec0d1['fileName']),_0x4d353f=normalizeString(_0x5ec0d1[_0x140dc8(0xa0)]);_0x3cbe14&&_0x4d353f&&_0x24405a[_0x140dc8(0x19e)]({'fileName':_0x3cbe14,'sha512':_0x4d353f});const _0x374f03=_0x24405a[_0x140dc8(0xe3)](_0x465b5e=>getPreferredUpdatePackagePattern()['test'](_0x465b5e['fileName']));if(!_0x374f03)return _0x187af6?.[_0x140dc8(0x12a)]?.(_0x140dc8(0x16d)+_0x140dc8(0x130)+_0x140dc8(0x139)+'ge\x20for\x20c'+'urrent\x20p'+'latform',{'platform':process[_0x140dc8(0xed)],'candidates':_0x24405a[_0x140dc8(0x13e)](_0x5c1293=>_0x5c1293[_0x140dc8(0xc6)])}),null;return{'version':_0x4a4efd,..._0x374f03};}function extractProgressPatch(_0x5a2e9f){const _0x47ab87=_0x544a6e;return{'downloadPercent':typeof _0x5a2e9f[_0x47ab87(0x156)]===_0x47ab87(0x134)?_0x5a2e9f[_0x47ab87(0x156)]:null,'bytesPerSecond':typeof _0x5a2e9f['bytesPer'+_0x47ab87(0xf5)]===_0x47ab87(0x134)?_0x5a2e9f[_0x47ab87(0x184)+_0x47ab87(0xf5)]:null,'transferredBytes':typeof _0x5a2e9f['transfer'+_0x47ab87(0x1df)]===_0x47ab87(0x134)?_0x5a2e9f[_0x47ab87(0xc7)+'red']:null,'totalBytes':typeof _0x5a2e9f[_0x47ab87(0x120)]===_0x47ab87(0x134)?_0x5a2e9f[_0x47ab87(0x120)]:null};}function getErrorMessage(_0x5825a9){const _0x2edbb4=_0x544a6e;if(_0x5825a9 instanceof Error&&_0x5825a9[_0x2edbb4(0xa8)][_0x2edbb4(0xc9)]())return _0x5825a9[_0x2edbb4(0xa8)]['trim']();if(typeof _0x5825a9===_0x2edbb4(0xa5)&&_0x5825a9[_0x2edbb4(0xc9)]())return _0x5825a9[_0x2edbb4(0xc9)]();return'未知的自动更新错'+'误';}function getMacSquirrelDirectWriteDefaultsDomains(_0x330c5b){const _0x394872=_0x544a6e,_0x5d4ed1=normalizeString(_0x330c5b);if(!_0x5d4ed1)return[];return[_0x5d4ed1,_0x5d4ed1+_0x394872(0x1c5)];}function isSuccessfulCommandResult(_0x323a8e){const _0x27713f=_0x544a6e;return!_0x323a8e?.['error']&&!_0x323a8e?.[_0x27713f(0x1b8)]&&(typeof _0x323a8e?.[_0x27713f(0xa3)]!==_0x27713f(0x134)||_0x323a8e[_0x27713f(0xa3)]===0x0);}function _0x5986(_0x47bbc2,_0x20773f){_0x47bbc2=_0x47bbc2-0x9d;const _0x4e6351=_0x4e63();let _0x5986ca=_0x4e6351[_0x47bbc2];return _0x5986ca;}function readJsonFile(_0xe8d437){const _0x19c0fb=_0x544a6e;if(!existsSync(_0xe8d437))return null;try{return JSON[_0x19c0fb(0xd1)](readFileSync(_0xe8d437,'utf8'));}catch{return null;}}export function createUpdateController({shellConfig:_0x7e73e2,appName:_0x204f16,appVersion:_0x9bec2f,broadcast:_0x124d4e,logger:_0x4e9f56,prepareQuitAndInstall:_0x36dfc4,defaultsCommandRunner:defaultsCommandRunner=spawnSync}){const _0x98608a=_0x544a6e,_0x12b141=_0x7e73e2[_0x98608a(0x1f3)]??{},_0x2b20e2=normalizeAppUpdateChannel(_0x12b141['channel']),_0x340291={'backgroundCheckIntervalMs':_0x12b141[_0x98608a(0x132)+_0x98608a(0x107)+'ntervalM'+'s']??DEFAULT_BACKGROUND_UPDATE_CHECK_INTERVAL_MS,'backgroundCheckStaleMs':_0x12b141[_0x98608a(0x132)+_0x98608a(0x1ad)+_0x98608a(0x1fa)]??DEFAULT_BACKGROUND_UPDATE_CHECK_STALE_MS,'installQuitTimeoutMs':_0x12b141[_0x98608a(0x13a)+_0x98608a(0x143)+_0x98608a(0x1f2)]??DEFAULT_INSTALL_QUIT_TIMEOUT_MS,'nativeUpdatePrefetchTimeoutMs':_0x12b141[_0x98608a(0x142)+_0x98608a(0x1f8)+_0x98608a(0x1ac)+_0x98608a(0xd5)]??DEFAULT_NATIVE_UPDATE_PREFETCH_TIMEOUT_MS,'autoDownload':_0x12b141[_0x98608a(0x146)+_0x98608a(0x131)]===!![]},_0x49cfc1={'supported':![],'channel':_0x2b20e2,'phase':_0x98608a(0xe7)+_0x98608a(0x1c0),'currentVersion':_0x9bec2f(),'remoteVersion':null,'comparisonResult':_0x98608a(0xbb),'hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'releaseName':null,'releaseDate':null,'releaseNotes':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,'hasPendingPackage':![],'pendingPackageName':null,'pendingPackageBytes':null,'checkedAt':null,'message':_0x98608a(0x102),'error':null,'errorCode':null};let _0x52045d=![],_0x412fe4=null,_0x4aecfa=null,_0x3c21ee=null,_0x58e4be=null,_0x312292=null,_0x2ca69a=null,_0x404ad9=![],_0x3f8590=null,_0x28b2b4=0x0,_0x1477c7=null,_0x4aacc7=null,_0x2a1638=![],_0x1b6ff9=![],_0x4f2a91=null;function _0x4f9697(){const _0x2d33f8=_0x98608a;if(process[_0x2d33f8(0xed)]===_0x2d33f8(0xb7))return join(homedir(),_0x2d33f8(0x1eb),'Caches');if(process[_0x2d33f8(0xed)]===_0x2d33f8(0x105))return process.env.LOCALAPPDATA??join(homedir(),_0x2d33f8(0xa7),_0x2d33f8(0x1e1));return process.env.XDG_CACHE_HOME??join(homedir(),'.cache');}function _0x4d3980(){const _0x228f7c=_0x98608a;if(!app['isPackag'+'ed']||!process[_0x228f7c(0x1c3)+_0x228f7c(0x1ee)])return{};const _0x2106f3=join(process['resource'+_0x228f7c(0x1ee)],_0x228f7c(0x127)+_0x228f7c(0x135));if(!existsSync(_0x2106f3))return{};try{const _0x3aadde=readFileSync(_0x2106f3,_0x228f7c(0x1ca)),_0x3177a1=/^\s*channel:\s*["']?([^"'\s#]+)["']?/imu[_0x228f7c(0x1f9)](_0x3aadde),_0x456768=/^\s*updaterCacheDirName:\s*["']?([^"'\s#]+)["']?/imu[_0x228f7c(0x1f9)](_0x3aadde);return{'channel':normalizeAppUpdateChannel(_0x3177a1?.[0x1]),'updaterCacheDirName':normalizeString(_0x456768?.[0x1])};}catch(_0x5ac861){return _0x4e9f56?.[_0x228f7c(0x12a)]?.(_0x228f7c(0x197)+_0x228f7c(0x112)+_0x228f7c(0x123)+_0x228f7c(0x178),{'error':getErrorMessage(_0x5ac861)}),{};}}const _0xcf94b0=_0x4d3980();_0xcf94b0['channel']&&(_0x49cfc1[_0x98608a(0x172)]=_0xcf94b0['channel']);function _0x513224(){const _0x4b4cd2=_0x98608a,_0x262f4a=_0xcf94b0[_0x4b4cd2(0x1b5)+_0x4b4cd2(0x1f1)+_0x4b4cd2(0x18e)]||_0x204f16()+_0x4b4cd2(0x1ec);return join(_0x4f9697(),_0x262f4a);}function _0x255add(_0x23042e){const _0xdc3d9f=_0x98608a;return _0x23042e===_0xdc3d9f(0x1b4)?_0xdc3d9f(0x1e3)+_0xdc3d9f(0xde):'自动更新功能已就'+'绪';}function _0x2baf5d(){const _0x5cb9bc=_0x98608a;if(_0x12b141['enabled']===![])return![];if(!app['isPackag'+'ed'])return![];if(process[_0x5cb9bc(0xed)]!=='linux')return!![];return Boolean(process.env.APPIMAGE);}function _0x79b764(){const _0x19c07e=_0x98608a;if(_0x12b141[_0x19c07e(0xac)]===![])return'自动更新已在\x20s'+_0x19c07e(0x182)+_0x19c07e(0x189);if(!app[_0x19c07e(0xf3)+'ed'])return _0x19c07e(0x151)+_0x19c07e(0x150);if(process[_0x19c07e(0xed)]==='linux')return _0x19c07e(0x1d9)+_0x19c07e(0x16c)+_0x19c07e(0x1b0)+_0x19c07e(0x1c4);return _0x19c07e(0x1d0)+_0x19c07e(0x1ea);}function _0x9387c9(){const _0x20c7a6=_0x98608a;return join(_0x7e73e2[_0x20c7a6(0x1f5)],_0x20c7a6(0x1a6)+_0x20c7a6(0xa6)+_0x20c7a6(0x1a5)+'on');}function _0x1bbd62(){const _0x422e1f=_0x98608a;return join(_0x7e73e2[_0x422e1f(0x1f5)],_0x422e1f(0x1a6)+'phase-co'+'ntext.la'+_0x422e1f(0x1a2));}function _0x7c258(){return{'hasPendingPackage':![],'pendingPackageName':null,'pendingPackageBytes':null};}function _0x54addc(){return{..._0x49cfc1};}function _0x2ff174(){const _0x335040=_0x98608a,_0x1573a1=_0x54addc();for(const _0x28f1b9 of BrowserWindow[_0x335040(0xb0)+_0x335040(0x191)]()){!_0x28f1b9[_0x335040(0x174)+'yed']()&&_0x28f1b9['webConte'+_0x335040(0xb9)][_0x335040(0x14a)](_0x335040(0x18a)+_0x335040(0xc8),_0x1573a1);}_0x124d4e?.('app:upda'+_0x335040(0xc8),_0x1573a1);}function _0x1f4385(_0x134aed){const _0x29b4ea=_0x98608a,_0x47af52={..._0x134aed};_0x47af52['error']===null&&_0x47af52[_0x29b4ea(0x9d)+'e']===undefined&&(_0x47af52[_0x29b4ea(0x9d)+'e']=null),Object['assign'](_0x49cfc1,_0x47af52,{'currentVersion':_0x9bec2f()}),_0x2ff174();}function _0x342bdd(){if(!_0x49cfc1['supporte'+'d'])throw new Error(_0x79b764());}function _0x3bcda1(_0xfe4ab3,_0x3acb19={}){const _0x3246c5=_0x98608a;_0x4e9f56?.[_0x3246c5(0xbf)]?.(_0xfe4ab3,_0x3acb19);}function _0x902064(_0x4b596b,_0x2ec2ba={}){const _0x3f0c5=_0x98608a;_0x4e9f56?.[_0x3f0c5(0x12a)]?.(_0x4b596b,_0x2ec2ba);}function _0x30c5a9(){const _0x1397c1=_0x98608a;if(process[_0x1397c1(0xed)]!==_0x1397c1(0xb7))return;if(_0x7e73e2['packagin'+'g']?.['mac']?.[_0x1397c1(0x11b)+_0x1397c1(0xd4)+_0x1397c1(0x167)+_0x1397c1(0xee)+_0x1397c1(0x16e)]===![]){_0x3bcda1(_0x1397c1(0x1d5)+'rrel\x20dir'+'ect\x20writ'+_0x1397c1(0x162)+_0x1397c1(0xbd)+'ed',{'event':_0x1397c1(0xfb)+'ac_squir'+_0x1397c1(0x12f)+_0x1397c1(0x125)+'_default'+_0x1397c1(0x1cb)+'d','reason':'disabled'+_0x1397c1(0x1bf)+'ig'});return;}const _0x3529d1=getMacSquirrelDirectWriteDefaultsDomains(_0x7e73e2[_0x1397c1(0xe2)]);if(_0x3529d1[_0x1397c1(0xda)]===0x0){_0x902064(_0x1397c1(0x1d5)+_0x1397c1(0xf0)+'ect\x20writ'+_0x1397c1(0x162)+_0x1397c1(0xbd)+'ed',{'event':_0x1397c1(0xfb)+_0x1397c1(0x12b)+_0x1397c1(0x12f)+_0x1397c1(0x125)+'_default'+'s_skippe'+'d','reason':'missing_'+_0x1397c1(0x11e)});return;}const _0x4a348c=[];for(const _0x36706c of _0x3529d1){try{const _0x4e283b=defaultsCommandRunner(_0x1397c1(0xe5),[_0x1397c1(0xfd),_0x36706c,SQUIRREL_DIRECT_WRITE_DEFAULTS_KEY,_0x1397c1(0xeb),_0x1397c1(0x201)],{'stdio':_0x1397c1(0x126)});!isSuccessfulCommandResult(_0x4e283b)&&_0x4a348c['push']({'domain':_0x36706c,'status':_0x4e283b?.[_0x1397c1(0xa3)]??null,'signal':_0x4e283b?.[_0x1397c1(0x1b8)]??null,'error':_0x4e283b?.[_0x1397c1(0x138)]?getErrorMessage(_0x4e283b['error']):null});}catch(_0x9ae1f7){_0x4a348c['push']({'domain':_0x36706c,'status':null,'signal':null,'error':getErrorMessage(_0x9ae1f7)});}}if(_0x4a348c['length']>0x0){_0x902064('mac\x20squi'+_0x1397c1(0xf0)+'ect\x20writ'+_0x1397c1(0x162)+_0x1397c1(0x13b)+'d',{'event':_0x1397c1(0xfb)+_0x1397c1(0x12b)+_0x1397c1(0x12f)+_0x1397c1(0x125)+'_default'+'s_failed','domains':_0x3529d1,'failures':_0x4a348c});return;}_0x3bcda1(_0x1397c1(0x1d5)+_0x1397c1(0xf0)+_0x1397c1(0x14d)+_0x1397c1(0x162)+_0x1397c1(0x17d)+'ed',{'event':_0x1397c1(0xfb)+_0x1397c1(0x12b)+_0x1397c1(0x12f)+_0x1397c1(0x125)+_0x1397c1(0xf7)+_0x1397c1(0x11c)+'d','domains':_0x3529d1});}function _0xf35a33(){const _0x32ba63=_0x98608a;if(process[_0x32ba63(0xed)]!=='darwin')return null;const _0x5dd5ff=autoUpdater?.['nativeUp'+_0x32ba63(0x17b)];if(!_0x5dd5ff||typeof _0x5dd5ff[_0x32ba63(0x1d1)+_0x32ba63(0x15e)]!==_0x32ba63(0x163))return null;return _0x5dd5ff;}function _0x48995b(){if(!_0x4aacc7)return;clearTimeout(_0x4aacc7),_0x4aacc7=null;}function _0x27a688(){const _0x3e03e3=_0x98608a;typeof _0x4f2a91===_0x3e03e3(0x163)&&_0x4f2a91(),_0x48995b(),_0x1477c7=null,_0x2a1638=![],_0x1b6ff9=![],_0x4f2a91=null;}function _0x2920f1(_0x2a09db){const _0x49d154=_0x98608a;if(typeof _0x2a09db!=='number'||!Number['isFinite'](_0x2a09db))return null;const _0x196e11=Math['min'](0x63,Math[_0x49d154(0x114)](0x0,_0x2a09db));if(_0x49cfc1['phase']!==_0x49d154(0x18d)+_0x49d154(0xc1)||typeof _0x49cfc1['download'+_0x49d154(0x13d)]!==_0x49d154(0x134))return _0x196e11;return Math[_0x49d154(0x114)](_0x49cfc1[_0x49d154(0x18d)+_0x49d154(0x13d)],_0x196e11);}function _0x3be9b0(_0x48982c,_0x4f3e9a){const _0xa4c255=_0x98608a,_0x542658=_0x48982c?'v'+_0x48982c:_0xa4c255(0x109);if(typeof _0x4f3e9a===_0xa4c255(0x134)){if(_0x4f3e9a>=0x63)return'正在验证安装包…';return _0xa4c255(0xdf)+_0x542658+'\x20('+_0x4f3e9a['toFixed'](0x1)+'%)';}return'正在下载\x20'+_0x542658;}function _0x4942cf(_0x5447f5){const _0x2a29ba=_0x98608a;if(!_0x340291[_0x2a29ba(0x146)+_0x2a29ba(0x131)])return;if(_0x4aecfa||_0x49cfc1['phase']!=='availabl'+'e'||!_0x49cfc1['hasUpdat'+'e'])return;_0x3bcda1(_0x2a29ba(0x179)+_0x2a29ba(0x19d)+'load\x20req'+'uested',{'reason':_0x5447f5,'availableVersion':_0x49cfc1['availabl'+_0x2a29ba(0x195)]}),void _0x37f956()[_0x2a29ba(0xfc)](_0x3608bc=>{const _0x2ed133=_0x2a29ba;_0x902064(_0x2ed133(0x179)+'ate\x20down'+'load\x20fai'+_0x2ed133(0x1e9),{'reason':_0x5447f5,'error':getErrorMessage(_0x3608bc)});});}function _0x41bce2(_0x268342){const _0x255895=_0x98608a;try{writeFileSync(_0x9387c9(),JSON[_0x255895(0x11d)+'y'](_0x268342,null,0x2),'utf8');}catch(_0x3a623a){_0x902064(_0x255895(0x197)+_0x255895(0x11a)+_0x255895(0x1ab)+_0x255895(0xd2)+_0x255895(0x1f6),{'error':getErrorMessage(_0x3a623a)});}}function _0x3292b9(){return readJsonFile(_0x9387c9());}function _0x25e834(_0x2b0b29,_0x195d32,_0x1576cd={}){const _0x4b762d=_0x98608a;try{writeFileSync(_0x1bbd62(),JSON[_0x4b762d(0x11d)+'y']({..._0x2b0b29,..._0x1576cd,'archivedAt':new Date()[_0x4b762d(0x13f)+_0x4b762d(0xc1)](),'archiveReason':_0x195d32},null,0x2),_0x4b762d(0x1ca));}catch(_0x258172){_0x902064(_0x4b762d(0x197)+_0x4b762d(0xae)+_0x4b762d(0x16f)+_0x4b762d(0xd2)+_0x4b762d(0x1f6),{'reason':_0x195d32,'error':getErrorMessage(_0x258172)});}}function _0x5494e3(_0x42407c){const _0x1fa1d0=_0x98608a,_0xe5762c=_0x3292b9();if(!_0xe5762c||typeof _0xe5762c!==_0x1fa1d0(0x165))return;_0x41bce2({..._0xe5762c,..._0x42407c,'milestones':{..._0xe5762c[_0x1fa1d0(0x160)+'es']&&typeof _0xe5762c[_0x1fa1d0(0x160)+'es']==='object'?_0xe5762c['mileston'+'es']:{},..._0x42407c['mileston'+'es']??{}}});}function _0x4fc202(){const _0x435eb9=_0x98608a;try{rmSync(_0x9387c9(),{'force':!![]});}catch(_0x5961e9){_0x902064(_0x435eb9(0x197)+_0x435eb9(0xa2)+_0x435eb9(0xb4)+_0x435eb9(0x147)+'ntext',{'error':getErrorMessage(_0x5961e9)});}}function _0x39765a(){const _0x3fc471=_0x98608a,_0x261f77=join(_0x513224(),_0x3fc471(0x1ff));if(!existsSync(_0x261f77))return{'packageName':null,'packageBytes':null};try{const _0x598899=readdirSync(_0x261f77)[_0x3fc471(0xe3)](_0x1076b6=>/\.(zip|exe|dmg|AppImage)$/iu[_0x3fc471(0x16b)](_0x1076b6))??null;if(!_0x598899)return{'packageName':null,'packageBytes':null};const _0x4c4732=join(_0x261f77,_0x598899);return{'packageName':_0x598899,'packageBytes':statSync(_0x4c4732)[_0x3fc471(0x153)]};}catch(_0x10ff40){return _0x902064(_0x3fc471(0x197)+'o\x20inspec'+_0x3fc471(0x1d2)+'g\x20instal'+_0x3fc471(0x13c)+'e',{'error':getErrorMessage(_0x10ff40)}),{'packageName':null,'packageBytes':null};}}function _0x51a34f(){const _0x52c31f=_0x98608a;if(!_0x58e4be)return null;const _0x194fae=join(_0x513224(),'pending'),_0x14d909=join(_0x194fae,_0x52c31f(0x1fc)+_0x52c31f(0x15d));if(!existsSync(_0x14d909))return null;let _0x4bd5b7=null;try{_0x4bd5b7=JSON[_0x52c31f(0xd1)](readFileSync(_0x14d909,_0x52c31f(0x1ca)));}catch(_0x803c64){return _0x902064(_0x52c31f(0x197)+_0x52c31f(0xcd)+_0x52c31f(0x1af)+'pdate-in'+'fo.json',{'error':getErrorMessage(_0x803c64)}),null;}if(!isMatchingAppUpdatePackageMetadata(_0x58e4be,_0x4bd5b7))return null;const _0xe904f3=join(_0x194fae,_0x58e4be[_0x52c31f(0xc6)]);if(!existsSync(_0xe904f3))return null;try{const _0x1643ee=statSync(_0xe904f3);if(!_0x1643ee[_0x52c31f(0x149)]()||_0x1643ee['size']===0x0)return null;return{'metadata':_0x58e4be,'packageName':_0x58e4be['fileName'],'packageBytes':_0x1643ee[_0x52c31f(0x153)]};}catch(_0x476ae1){return _0x902064(_0x52c31f(0x197)+_0x52c31f(0x101)+_0x52c31f(0x1d2)+_0x52c31f(0x194)+_0x52c31f(0x1bb)+_0x52c31f(0x169),{'error':getErrorMessage(_0x476ae1)}),null;}}function _0x273254(_0x39f223){const _0x16e797=_0x98608a,_0x55157f=_0x51a34f();if(!_0x55157f)return![];const {metadata:_0x4cb5dd,packageName:_0x1a8977,packageBytes:_0x104573}=_0x55157f;return _0x3bcda1('pending\x20'+_0x16e797(0x140)+'cache\x20hi'+'t',{'reason':_0x39f223,'version':_0x4cb5dd[_0x16e797(0x199)],'packageName':_0x1a8977,'packageBytes':_0x104573}),_0x1f4385({'phase':_0x16e797(0x19f)+'e','remoteVersion':_0x4cb5dd[_0x16e797(0x199)],'comparisonResult':_0x16e797(0x14b)+_0x16e797(0x202),'hasUpdate':!![],'availableVersion':_0x4cb5dd[_0x16e797(0x199)],'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':_0x104573,'totalBytes':_0x104573,'hasPendingPackage':!![],'pendingPackageName':_0x1a8977,'pendingPackageBytes':_0x104573,'error':null,'message':_0x16e797(0x1cf)+'v'+_0x4cb5dd[_0x16e797(0x199)]+(',请重新校验并准'+_0x16e797(0x1c9))}),!![];}function _0x212351(_0x1eecd1,_0x108012){const _0x2e3c96=_0x98608a,_0x5863a8=_0x39765a();_0x3bcda1(_0x2e3c96(0x10c)+_0x2e3c96(0xe8)+'ackage\x20v'+_0x2e3c96(0x1e5),{'event':_0x2e3c96(0x1d6)+_0x2e3c96(0x1e4)+'ackage_v'+_0x2e3c96(0x1e5),'reason':_0x1eecd1,'validator':_0x2e3c96(0x1cd)+_0x2e3c96(0x1ec),'currentVersion':_0x49cfc1['currentV'+'ersion'],'downloadedVersion':_0x108012,'pendingPackage':_0x5863a8['packageN'+_0x2e3c96(0x18e)],'pendingPackageBytes':_0x5863a8[_0x2e3c96(0x1f4)+_0x2e3c96(0x118)],'sha512Validated':!![]});}function _0x47ee28(_0x181ec5){const _0x196ef7=_0x98608a;if(_0x1b6ff9)return _0x3bcda1(_0x196ef7(0x166)+_0x196ef7(0x116)+_0x196ef7(0xe0)+_0x196ef7(0xe1)+'ed',{'event':_0x196ef7(0x1a1)+_0x196ef7(0x128)+_0x196ef7(0xc2)+'kipped','reason':_0x181ec5,'skipReason':_0x196ef7(0x1c1)+_0x196ef7(0xcc)+'d','downloadedVersion':_0x49cfc1['download'+_0x196ef7(0x145)+'n']}),_0x1477c7??Promise['resolve'](_0x196ef7(0x1c1)+_0x196ef7(0xcc)+'d');if(_0x1477c7)return _0x3bcda1(_0x196ef7(0x166)+_0x196ef7(0x116)+_0x196ef7(0xe0)+'ch\x20skipp'+'ed',{'event':_0x196ef7(0x1a1)+'ative_pr'+_0x196ef7(0xc2)+_0x196ef7(0x119),'reason':_0x181ec5,'skipReason':'already-'+_0x196ef7(0x108),'downloadedVersion':_0x49cfc1[_0x196ef7(0x18d)+_0x196ef7(0x145)+'n']}),_0x1477c7;const _0x5a52ae=_0xf35a33();if(!_0x5a52ae)return process[_0x196ef7(0xed)]===_0x196ef7(0xb7)&&_0x902064('native\x20m'+_0x196ef7(0x116)+_0x196ef7(0xe0)+_0x196ef7(0xe1)+'ed',{'event':'update_n'+_0x196ef7(0x128)+_0x196ef7(0xc2)+_0x196ef7(0x119),'reason':_0x181ec5,'skipReason':_0x196ef7(0x186)+'pdater-u'+_0x196ef7(0x173)+'le','downloadedVersion':_0x49cfc1[_0x196ef7(0x18d)+'edVersio'+'n']}),Promise[_0x196ef7(0x1f7)](_0x196ef7(0xe7)+_0x196ef7(0x1c0));_0x2a1638=!![];const _0x2dcd75=Date[_0x196ef7(0x1fb)]();return _0x3bcda1(_0x196ef7(0x166)+_0x196ef7(0x116)+_0x196ef7(0xe0)+'ch\x20start'+'ed',{'event':_0x196ef7(0x1a1)+_0x196ef7(0x128)+_0x196ef7(0xc2)+_0x196ef7(0x177),'reason':_0x181ec5,'currentVersion':_0x49cfc1[_0x196ef7(0x14f)+_0x196ef7(0x100)],'downloadedVersion':_0x49cfc1[_0x196ef7(0x18d)+_0x196ef7(0x145)+'n'],'timeoutMs':_0x340291[_0x196ef7(0x142)+'datePref'+_0x196ef7(0x1ac)+_0x196ef7(0xd5)]}),_0x1477c7=new Promise(_0x279f9a=>{const _0x41d64c=_0x196ef7;let _0x448d70=![];const _0x41a2e1=(_0x3c99dd,_0x324d80=null)=>{const _0x1d00f9=_0x5986;if(_0x448d70)return;_0x448d70=!![],_0x4f2a91?.(),_0x48995b(),_0x2a1638=![],_0x1b6ff9=_0x3c99dd===_0x1d00f9(0xcc)+'d',_0x4f2a91=null;const _0x25f50a=Date['now']()-_0x2dcd75;_0x3c99dd===_0x1d00f9(0xcc)+'d'?_0x3bcda1(_0x1d00f9(0x166)+_0x1d00f9(0x116)+_0x1d00f9(0xe0)+'ch\x20compl'+_0x1d00f9(0xec),{'event':'update_n'+_0x1d00f9(0x128)+_0x1d00f9(0x12d)+_0x1d00f9(0xc5),'reason':_0x181ec5,'elapsedMs':_0x25f50a,'downloadedVersion':_0x49cfc1['download'+_0x1d00f9(0x145)+'n']}):_0x902064(_0x1d00f9(0x166)+_0x1d00f9(0x116)+_0x1d00f9(0xe0)+'ch\x20faile'+_0x1d00f9(0x17e)+'ll\x20click'+_0x1d00f9(0xe6)+'e\x20native'+_0x1d00f9(0x10a)+'k',{'event':_0x1d00f9(0x1a1)+_0x1d00f9(0x128)+_0x1d00f9(0x1e6)+_0x1d00f9(0x176),'reason':_0x181ec5,'elapsedMs':_0x25f50a,'downloadedVersion':_0x49cfc1[_0x1d00f9(0x18d)+'edVersio'+'n'],'error':getErrorMessage(_0x324d80)}),_0x279f9a(_0x3c99dd);},_0x2c2b4c=()=>_0x41a2e1(_0x41d64c(0xcc)+'d'),_0x306258=_0x4a2b1b=>_0x41a2e1(_0x41d64c(0x1a9),_0x4a2b1b);_0x4f2a91=()=>{const _0x25c391=_0x41d64c;_0x5a52ae['removeLi'+_0x25c391(0xd8)]?.('update-d'+_0x25c391(0x1db)+'d',_0x2c2b4c),_0x5a52ae['removeLi'+_0x25c391(0xd8)]?.(_0x25c391(0x138),_0x306258);},_0x5a52ae['once']?.(_0x41d64c(0x14c)+_0x41d64c(0x1db)+'d',_0x2c2b4c),_0x5a52ae[_0x41d64c(0x19a)]?.(_0x41d64c(0x138),_0x306258),_0x4aacc7=setTimeout(()=>{const _0x5e5b82=_0x41d64c;_0x41a2e1(_0x5e5b82(0x1a9),new Error('native\x20m'+_0x5e5b82(0x116)+_0x5e5b82(0xe0)+_0x5e5b82(0x180)+'\x20out'));},_0x340291['nativeUp'+'datePref'+_0x41d64c(0x1ac)+_0x41d64c(0xd5)]);try{const _0x1e6077=_0x5a52ae[_0x41d64c(0x1d1)+_0x41d64c(0x15e)]();_0x1e6077&&typeof _0x1e6077['then']==='function'&&_0x1e6077[_0x41d64c(0xfc)](_0x306258);}catch(_0x1eb60b){_0x41a2e1(_0x41d64c(0x1a9),_0x1eb60b);}})['finally'](()=>{_0x1477c7=null;}),_0x1477c7;}async function _0x5e35b1(){const _0x5d07b6=_0x98608a;if(!_0x2a1638||!_0x1477c7)return null;const _0x51ef1e=Date['now']();_0x3bcda1('waiting\x20'+_0x5d07b6(0xb2)+_0x5d07b6(0xf4)+_0x5d07b6(0x15b)+_0x5d07b6(0x103)+_0x5d07b6(0xcf)+_0x5d07b6(0xea),{'event':_0x5d07b6(0x1a1)+_0x5d07b6(0x128)+_0x5d07b6(0x154)+_0x5d07b6(0x200)+'ait_star'+'t','downloadedVersion':_0x49cfc1['download'+_0x5d07b6(0x145)+'n']});const _0x394496=await _0x1477c7,_0xa107d5=Date['now']()-_0x51ef1e,_0x3178cd=_0x394496===_0x5d07b6(0xcc)+'d'?_0x3bcda1:_0x902064;return _0x3178cd(_0x5d07b6(0x166)+_0x5d07b6(0x116)+_0x5d07b6(0xe0)+_0x5d07b6(0x1be)+'finished'+_0x5d07b6(0x1b7)+'install',{'event':_0x5d07b6(0x1a1)+'ative_pr'+_0x5d07b6(0x154)+_0x5d07b6(0x200)+_0x5d07b6(0x14e),'status':_0x394496,'elapsedMs':_0xa107d5,'downloadedVersion':_0x49cfc1[_0x5d07b6(0x18d)+_0x5d07b6(0x145)+'n']}),_0x394496;}function _0x5ad45b(){const _0x16172a=_0x98608a;return _0x49cfc1['supporte'+'d']&&!_0x412fe4&&!_0x4aecfa&&['idle',_0x16172a(0x161)+_0x16172a(0x129),_0x16172a(0x138)][_0x16172a(0xca)](_0x49cfc1[_0x16172a(0x117)]);}function _0x56cc8d(){if(!_0x2ca69a)return;clearTimeout(_0x2ca69a),_0x2ca69a=null;}function _0x2d298f(_0x3bce8f){const _0x45dd29=_0x98608a,_0x4ce851=_0x49cfc1['download'+_0x45dd29(0x145)+'n'],_0x50ae90=_0x49cfc1['availabl'+_0x45dd29(0x195)],_0x190c15=new Date()[_0x45dd29(0x13f)+_0x45dd29(0xc1)]();_0x5494e3({'failedAt':_0x190c15,'error':getErrorMessage(_0x3bce8f),'milestones':{'failedAt':_0x190c15}}),_0x902064(_0x45dd29(0x122)+'nstall\x20f'+_0x45dd29(0xdd)+_0x45dd29(0xa1)+_0x45dd29(0x104)+'ter\x20comp'+_0x45dd29(0xa4),{'error':getErrorMessage(_0x3bce8f),'downloadedVersion':_0x4ce851,'availableVersion':_0x50ae90}),_0x312292=null,_0x404ad9=![],_0x56cc8d(),_0x4fc202(),_0x1f4385({'phase':_0x45dd29(0x138),'checkedAt':new Date()[_0x45dd29(0x13f)+'ing'](),'hasPendingPackage':![],'pendingPackageName':null,'pendingPackageBytes':null,'hasUpdate':!![],'availableVersion':_0x50ae90??_0x4ce851,'downloadedVersion':_0x4ce851,'error':getErrorMessage(_0x3bce8f),'errorCode':_0x45dd29(0x1a6)+'error','message':_0x45dd29(0x137)});}function _0x4fd9a6(){const _0x3d0526=_0x98608a;_0x56cc8d(),_0x404ad9=![],_0x3bcda1(_0x3d0526(0x122)+_0x3d0526(0xcb)+'uit\x20watc'+_0x3d0526(0x1aa)+_0x3d0526(0x1bd),{'timeoutMs':_0x340291[_0x3d0526(0x13a)+_0x3d0526(0x143)+'utMs'],'downloadedVersion':_0x49cfc1[_0x3d0526(0x18d)+_0x3d0526(0x145)+'n'],'currentVersion':_0x49cfc1[_0x3d0526(0x14f)+_0x3d0526(0x100)]}),_0x2ca69a=setTimeout(()=>{const _0x33640b=_0x3d0526;if(_0x404ad9||_0x49cfc1[_0x33640b(0x117)]!==_0x33640b(0x110)+'ng')return;_0x902064('quitAndI'+_0x33640b(0xc3)+'id\x20not\x20t'+_0x33640b(0x1c2)+_0x33640b(0x19b)+_0x33640b(0xef)+_0x33640b(0x136),{'downloadedVersion':_0x49cfc1[_0x33640b(0x18d)+_0x33640b(0x145)+'n'],'currentVersion':_0x49cfc1[_0x33640b(0x14f)+_0x33640b(0x100)]}),_0x2d298f(new Error(_0x33640b(0x1bc)+_0x33640b(0x196)+_0x33640b(0x133)));},_0x340291[_0x3d0526(0x13a)+'uitTimeo'+_0x3d0526(0x1f2)]);}function _0x3dfbc1(){const _0x17f26d=_0x98608a;if(_0x52045d)return;_0x52045d=!![],_0x49cfc1[_0x17f26d(0x155)+'d']=_0x2baf5d(),_0x49cfc1['phase']=_0x49cfc1['supporte'+'d']?_0x17f26d(0x1d8):'unsuppor'+'ted',_0x49cfc1['message']=_0x49cfc1[_0x17f26d(0x155)+'d']?_0x255add(_0x49cfc1[_0x17f26d(0x172)]):_0x79b764();if(!_0x49cfc1[_0x17f26d(0x155)+'d']){_0x2ff174();return;}autoUpdater[_0x17f26d(0x146)+'load']=![],autoUpdater['autoInst'+_0x17f26d(0x115)+_0x17f26d(0x203)]=![],autoUpdater[_0x17f26d(0x172)]=_0x49cfc1[_0x17f26d(0x172)],autoUpdater['on'](_0x17f26d(0x1dc)+_0x17f26d(0xaa)+_0x17f26d(0xf8),()=>{const _0x5c61bf=_0x17f26d;_0x58e4be=null,_0x27a688(),_0x1f4385({'phase':_0x5c61bf(0x1dc),'checkedAt':new Date()[_0x5c61bf(0x13f)+_0x5c61bf(0xc1)](),'remoteVersion':null,'comparisonResult':'unknown','hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x7c258(),'error':null,'message':_0x5c61bf(0x1a0)});}),autoUpdater['on'](_0x17f26d(0x1b3)+_0x17f26d(0x113),_0xf660c9=>{const _0x290079=_0x17f26d,_0x42f632=extractUpdateInfoPatch(_0xf660c9),_0x447f8a=compareAppVersions(_0x9bec2f(),_0x42f632[_0x290079(0x1e2)+_0x290079(0xbc)]);if(_0x447f8a!==_0x290079(0x14b)+_0x290079(0x202)){_0x58e4be=null,_0x1f4385({..._0x42f632,'phase':_0x290079(0x161)+_0x290079(0x129),'comparisonResult':_0x447f8a,'hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x7c258(),'checkedAt':new Date()[_0x290079(0x13f)+_0x290079(0xc1)](),'error':null,'message':_0x290079(0xf9)+'本'});return;}_0x58e4be=extractRemoteUpdatePackageMetadata(_0xf660c9,_0x4e9f56),_0x1f4385({..._0x42f632,'phase':'availabl'+'e','comparisonResult':_0x447f8a,'hasUpdate':!![],'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x7c258(),'checkedAt':new Date()['toISOStr'+_0x290079(0xc1)](),'error':null,'message':_0x42f632[_0x290079(0x19f)+_0x290079(0x195)]?'发现新版本\x20v'+_0x42f632['availabl'+'eVersion']:'发现可用更新'}),!_0x273254(_0x290079(0xf6)+'vailable')&&_0x4942cf(_0x290079(0xf6)+_0x290079(0x113));}),autoUpdater['on']('update-n'+'ot-avail'+_0x17f26d(0x1c7),_0x1e2b65=>{const _0x322ab6=_0x17f26d;_0x58e4be=null;const _0x1df065=extractUpdateInfoPatch(_0x1e2b65);_0x1f4385({..._0x1df065,'phase':_0x322ab6(0x161)+_0x322ab6(0x129),'comparisonResult':compareAppVersions(_0x9bec2f(),_0x1df065['remoteVe'+_0x322ab6(0xbc)]),'hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x7c258(),'checkedAt':new Date()['toISOStr'+_0x322ab6(0xc1)](),'error':null,'message':'当前已经是最新版'+'本'});}),autoUpdater['on']('download'+_0x17f26d(0x1b2)+'s',_0x197c45=>{const _0x2c22b4=_0x17f26d,_0x67a59a=extractProgressPatch(_0x197c45),_0x5a987b=_0x2920f1(_0x67a59a['download'+_0x2c22b4(0x13d)]??null);_0x1f4385({..._0x67a59a,'downloadPercent':_0x5a987b,'phase':_0x2c22b4(0x18d)+_0x2c22b4(0xc1),..._0x7c258(),'error':null,'message':_0x3be9b0(_0x49cfc1['availabl'+_0x2c22b4(0x195)],_0x5a987b)});}),autoUpdater['on'](_0x17f26d(0x14c)+_0x17f26d(0x1db)+'d',_0x11cbf0=>{const _0x4f72d7=_0x17f26d,_0xd309db=extractUpdateInfoPatch(_0x11cbf0),_0x46a195=extractRemoteUpdatePackageMetadata(_0x11cbf0,_0x4e9f56)??_0x58e4be;_0x46a195&&(_0x58e4be=_0x46a195);const _0x570cb6=_0xd309db['availabl'+_0x4f72d7(0x195)]??_0x46a195?.['version']??_0x49cfc1[_0x4f72d7(0x19f)+_0x4f72d7(0x195)];_0x1f4385({..._0xd309db,'phase':'download'+'ed','comparisonResult':compareAppVersions(_0x9bec2f(),_0x570cb6),'hasUpdate':!![],'downloadedVersion':_0x570cb6,'downloadPercent':0x64,..._0x7c258(),'error':null,'message':_0x570cb6?'更新包\x20v'+_0x570cb6+_0x4f72d7(0x1da):_0x4f72d7(0x1cc)+'装'}),_0x212351(_0x4f72d7(0x14c)+_0x4f72d7(0x1db)+'d',_0x570cb6),void _0x47ee28(_0x4f72d7(0x14c)+_0x4f72d7(0x1db)+'d');}),autoUpdater['on']('error',_0x32e44c=>{const _0x2cee75=_0x17f26d;if(_0x2a1638&&_0x49cfc1[_0x2cee75(0x117)]===_0x2cee75(0x18d)+'ed')return;if(_0x49cfc1[_0x2cee75(0x117)]===_0x2cee75(0x110)+'ng'){_0x2d298f(_0x32e44c);return;}_0x1f4385({'phase':_0x2cee75(0x138),'checkedAt':new Date()[_0x2cee75(0x13f)+_0x2cee75(0xc1)](),..._0x7c258(),'error':getErrorMessage(_0x32e44c),'errorCode':_0x49cfc1['phase']===_0x2cee75(0x18d)+'ing'?_0x2cee75(0x18d)+_0x2cee75(0xe4):'check-er'+_0x2cee75(0x10d),'message':_0x2cee75(0x17a)});}),_0x2ff174();}async function _0x478608(){const _0x4d09ad=_0x98608a;_0x3dfbc1(),_0x342bdd();if(_0x412fe4)return _0x412fe4;return _0x3bcda1('check\x20re'+_0x4d09ad(0xf1)),_0x412fe4=autoUpdater['checkFor'+'Updates']()[_0x4d09ad(0x158)](()=>_0x54addc())[_0x4d09ad(0x193)](()=>{_0x412fe4=null;}),_0x412fe4;}async function _0x37f956(){const _0x2f0afd=_0x98608a;_0x3dfbc1(),_0x342bdd();if(_0x49cfc1[_0x2f0afd(0x117)]===_0x2f0afd(0x18d)+'ed'||_0x49cfc1[_0x2f0afd(0x117)]==='installi'+'ng')return _0x54addc();if(!_0x49cfc1['hasUpdat'+'e'])throw new Error('当前没有可下载的'+'更新');const _0x1a28ba=_0x49cfc1[_0x2f0afd(0x117)]==='error'&&_0x49cfc1[_0x2f0afd(0x9d)+'e']===_0x2f0afd(0x1a6)+_0x2f0afd(0x138)&&Boolean(_0x49cfc1[_0x2f0afd(0x18d)+_0x2f0afd(0x145)+'n']);if(_0x49cfc1[_0x2f0afd(0x117)]===_0x2f0afd(0x138)){if(_0x1a28ba)_0x1f4385({'phase':_0x2f0afd(0x19f)+'e','hasUpdate':!![],'availableVersion':_0x49cfc1[_0x2f0afd(0x19f)+_0x2f0afd(0x195)]??_0x49cfc1[_0x2f0afd(0x18d)+_0x2f0afd(0x145)+'n'],'downloadedVersion':null,'downloadPercent':null,..._0x7c258(),'error':null,'message':_0x2f0afd(0x1a3)+'包'});else{await _0x478608();if(_0x49cfc1[_0x2f0afd(0x117)]!=='availabl'+'e')throw new Error(_0x2f0afd(0x1e7)+'更新');}}if(![_0x2f0afd(0x19f)+'e',_0x2f0afd(0x18d)+_0x2f0afd(0xc1)][_0x2f0afd(0xca)](_0x49cfc1[_0x2f0afd(0x117)]))throw new Error('当前没有可下载的'+'更新');if(_0x4aecfa)return _0x4aecfa;return _0x4aecfa=autoUpdater[_0x2f0afd(0x18d)+_0x2f0afd(0x1b9)]()[_0x2f0afd(0x158)](()=>{const _0x3e1902=_0x2f0afd;return _0x49cfc1[_0x3e1902(0x117)]!==_0x3e1902(0x18d)+'ed'&&_0x1f4385({'phase':_0x3e1902(0x138),'checkedAt':new Date()[_0x3e1902(0x13f)+'ing'](),..._0x7c258(),'error':_0x3e1902(0x16a)+'安装器未就绪,请'+_0x3e1902(0x168),'errorCode':_0x3e1902(0x18d)+_0x3e1902(0xe4),'message':_0x3e1902(0xb8)}),_0x54addc();})[_0x2f0afd(0x193)](()=>{_0x4aecfa=null;}),_0x4aecfa;}async function _0x421537(){const _0x22f51d=_0x98608a;_0x3dfbc1(),_0x342bdd();if(_0x3c21ee)return _0x3c21ee;if(_0x49cfc1[_0x22f51d(0x117)]===_0x22f51d(0x110)+'ng')return{'ok':!![]};if(_0x49cfc1[_0x22f51d(0x117)]!==_0x22f51d(0x18d)+'ed')throw new Error(_0x22f51d(0x171)+'已下载更新');return _0x3c21ee=_0x1d9a03()[_0x22f51d(0x193)](()=>{_0x3c21ee=null;}),_0x3c21ee;}async function _0x1d9a03(){const _0x20cb9a=_0x98608a,_0x1eef8e=_0x39765a();_0x312292=Date[_0x20cb9a(0x1fb)]();const _0x1aa950=new Date(_0x312292)[_0x20cb9a(0x13f)+_0x20cb9a(0xc1)]();_0x3bcda1(_0x20cb9a(0xd7)+_0x20cb9a(0x1fe)+_0x20cb9a(0xb4)+'requeste'+'d',{'event':_0x20cb9a(0x1ef)+'uit_and_'+_0x20cb9a(0xab)+_0x20cb9a(0x152)+'d','currentVersion':_0x49cfc1[_0x20cb9a(0x14f)+_0x20cb9a(0x100)],'downloadedVersion':_0x49cfc1['download'+_0x20cb9a(0x145)+'n'],'pendingPackage':_0x1eef8e[_0x20cb9a(0xff)+_0x20cb9a(0x18e)],'pendingPackageBytes':_0x1eef8e[_0x20cb9a(0x1f4)+_0x20cb9a(0x118)],'nativeUpdatePrefetchInProgress':_0x2a1638,'nativeUpdatePrefetchCompleted':_0x1b6ff9}),_0x41bce2({'startedAt':_0x1aa950,'currentVersion':_0x49cfc1[_0x20cb9a(0x14f)+_0x20cb9a(0x100)],'downloadedVersion':_0x49cfc1['download'+_0x20cb9a(0x145)+'n'],'pendingPackage':_0x1eef8e[_0x20cb9a(0xff)+'ame'],'pendingPackageBytes':_0x1eef8e['packageB'+_0x20cb9a(0x118)],'nativeUpdatePrefetchInProgress':_0x2a1638,'nativeUpdatePrefetchCompleted':_0x1b6ff9,'milestones':{'requestedAt':_0x1aa950}});try{const _0x4a39e3=await _0x5e35b1();_0x4a39e3&&_0x5494e3({'nativeUpdatePrefetchInProgress':_0x2a1638,'nativeUpdatePrefetchCompleted':_0x1b6ff9,'nativeUpdatePrefetchStatus':_0x4a39e3,'milestones':{'nativeUpdatePrefetchWaitCompletedAt':new Date()[_0x20cb9a(0x13f)+_0x20cb9a(0xc1)]()}});_0x1f4385({'phase':'installi'+'ng',..._0x7c258(),'error':null,'message':_0x20cb9a(0x15a)+_0x20cb9a(0x124)});if(typeof _0x36dfc4===_0x20cb9a(0x163)){const _0x428457=new Date()[_0x20cb9a(0x13f)+_0x20cb9a(0xc1)]();_0x5494e3({'milestones':{'prepareStartedAt':_0x428457}}),_0x3bcda1(_0x20cb9a(0x10c)+_0x20cb9a(0xfa)+_0x20cb9a(0x17f)+_0x20cb9a(0x1c0),{'event':_0x20cb9a(0x1d6)+_0x20cb9a(0x1a8)+_0x20cb9a(0x1f0)+'t','elapsedMs':Date[_0x20cb9a(0x1fb)]()-_0x312292}),await _0x36dfc4();const _0x14e0b9=new Date()[_0x20cb9a(0x13f)+_0x20cb9a(0xc1)]();_0x5494e3({'milestones':{'prepareCompletedAt':_0x14e0b9}}),_0x3bcda1(_0x20cb9a(0x10c)+_0x20cb9a(0xfa)+_0x20cb9a(0x18c)+_0x20cb9a(0xa4),{'event':'update_p'+'repare_q'+_0x20cb9a(0x144),'elapsedMs':Date[_0x20cb9a(0x1fb)]()-_0x312292});}_0x30c5a9(),_0x4fd9a6();const _0x37ea29=new Date()[_0x20cb9a(0x13f)+_0x20cb9a(0xc1)]();_0x5494e3({'milestones':{'quitAndInstallCalledAt':_0x37ea29}}),_0x3bcda1('native\x20u'+_0x20cb9a(0xd6)+_0x20cb9a(0x15c)+_0x20cb9a(0xdb)+_0x20cb9a(0x1dd),{'event':'update_q'+_0x20cb9a(0xaf)+_0x20cb9a(0xab)+_0x20cb9a(0xad),'elapsedMs':Date[_0x20cb9a(0x1fb)]()-_0x312292}),autoUpdater[_0x20cb9a(0x157)+_0x20cb9a(0xdc)](![],!![]);}catch(_0x4a5464){_0x2d298f(_0x4a5464);throw _0x4a5464;}return{'ok':!![]};}async function _0x1812a8(_0x1e45a9){const _0x358b89=_0x98608a;if(!_0x5ad45b())return;_0x28b2b4=Date[_0x358b89(0x1fb)](),_0x3bcda1(_0x358b89(0x132)+_0x358b89(0x121)+_0x358b89(0x10e)+_0x358b89(0x152)+'d',{'reason':_0x1e45a9});try{await _0x478608();}catch(_0x39a847){_0x902064(_0x358b89(0x132)+_0x358b89(0x121)+_0x358b89(0x10e)+_0x358b89(0x1a9),{'reason':_0x1e45a9,'error':getErrorMessage(_0x39a847)});}}function _0x3674c5(_0x3a1493){const _0x255601=_0x98608a;if(!_0x49cfc1[_0x255601(0x155)+'d'])return;const _0x4b0e54=Date['now']()-_0x28b2b4;if(_0x4b0e54<_0x340291[_0x255601(0x132)+_0x255601(0x1ad)+_0x255601(0x1fa)])return;void _0x1812a8(_0x3a1493);}function _0x14cb29(){const _0x54fbc3=_0x98608a;_0x3dfbc1();if(!_0x49cfc1[_0x54fbc3(0x155)+'d']||_0x3f8590)return;_0x3f8590=setInterval(()=>{const _0xd282fd=_0x54fbc3;void _0x1812a8(_0xd282fd(0x19c));},_0x340291[_0x54fbc3(0x132)+'ndCheckI'+'ntervalM'+'s']),void _0x1812a8(_0x54fbc3(0x1ce)),_0x3bcda1(_0x54fbc3(0x132)+_0x54fbc3(0x121)+_0x54fbc3(0x10e)+_0x54fbc3(0xb1)+_0x54fbc3(0x9f)+'d',_0x340291);}function _0x4e6af1(){const _0xa15e41=_0x98608a;if(_0x49cfc1[_0xa15e41(0x117)]!==_0xa15e41(0x110)+'ng')return;_0x404ad9=!![],_0x56cc8d();const _0x4c64a4=new Date()['toISOStr'+_0xa15e41(0xc1)]();_0x5494e3({'milestones':{'beforeQuitObservedAt':_0x4c64a4}}),_0x3bcda1(_0xa15e41(0x12e)+_0xa15e41(0x111)+_0xa15e41(0x1d3)+_0xa15e41(0x1c8),{'event':_0xa15e41(0x10b)+'efore_qu'+_0xa15e41(0xd3)+'ved','elapsedMs':typeof _0x312292===_0xa15e41(0x134)?Date[_0xa15e41(0x1fb)]()-_0x312292:null});}function _0x34f4b6(){const _0x2e9367=_0x98608a;return _0x49cfc1[_0x2e9367(0x117)]===_0x2e9367(0x110)+'ng';}function _0x1ca790(){const _0x4e72f3=_0x98608a,_0x3b1bf0=_0x3292b9();if(!_0x3b1bf0||typeof _0x3b1bf0!==_0x4e72f3(0x165))return null;const _0x2cd3bf=new Date()['toISOStr'+_0x4e72f3(0xc1)](),_0x10788f=Date[_0x4e72f3(0xd1)](_0x3b1bf0[_0x4e72f3(0x1d7)+'t']),_0x5de14f=Number[_0x4e72f3(0x181)](_0x10788f)?Date[_0x4e72f3(0x1fb)]()-_0x10788f:null,_0x5dea4e=_0x5de14f,_0x4ff3c0=!Number[_0x4e72f3(0x181)](_0x5dea4e)||_0x5dea4e>INSTALL_PHASE_CONTEXT_STALE_MS,_0x16162c=_0x3b1bf0[_0x4e72f3(0x160)+'es']&&typeof _0x3b1bf0[_0x4e72f3(0x160)+'es']===_0x4e72f3(0x165)?_0x3b1bf0[_0x4e72f3(0x160)+'es']:{};_0x3bcda1(_0x4e72f3(0x122)+_0x4e72f3(0xb3)+'hase\x20con'+_0x4e72f3(0x1ed)+'ded\x20afte'+_0x4e72f3(0x198),{'event':'update_i'+'nstall_p'+'hase_con'+'text_loa'+_0x4e72f3(0xa9),'previousVersion':_0x3b1bf0[_0x4e72f3(0x14f)+'ersion']??null,'currentVersion':_0x9bec2f(),'downloadedVersion':_0x3b1bf0['download'+_0x4e72f3(0x145)+'n']??null,'startedAt':_0x3b1bf0[_0x4e72f3(0x1d7)+'t']??null,'bootCompletedAt':_0x2cd3bf,'contextAgeMs':_0x5dea4e,'stale':_0x4ff3c0,'milestones':_0x16162c});if(_0x4ff3c0)return _0x902064(_0x4e72f3(0x183)+_0x4e72f3(0x1a4)+_0x4e72f3(0x18b)+_0x4e72f3(0x15f)+_0x4e72f3(0xbe)+'ed',{'event':'update_i'+_0x4e72f3(0x11f)+_0x4e72f3(0xce)+_0x4e72f3(0xb5)+'le','previousVersion':_0x3b1bf0[_0x4e72f3(0x14f)+'ersion']??null,'currentVersion':_0x9bec2f(),'downloadedVersion':_0x3b1bf0[_0x4e72f3(0x18d)+_0x4e72f3(0x145)+'n']??null,'startedAt':_0x3b1bf0[_0x4e72f3(0x1d7)+'t']??null,'bootCompletedAt':_0x2cd3bf,'contextAgeMs':_0x5dea4e}),_0x25e834(_0x3b1bf0,_0x4e72f3(0x18f)+_0x4e72f3(0x190),{'bootCompletedAt':_0x2cd3bf,'totalElapsedMs':_0x5de14f}),_0x4fc202(),null;return _0x3bcda1(_0x4e72f3(0x1e0)+_0x4e72f3(0x192)+_0x4e72f3(0x1b1)+'nstall',{'event':'update_n'+_0x4e72f3(0x1de)+_0x4e72f3(0x1ba)+_0x4e72f3(0xdc),'previousVersion':_0x3b1bf0[_0x4e72f3(0x14f)+_0x4e72f3(0x100)]??null,'currentVersion':_0x9bec2f(),'downloadedVersion':_0x3b1bf0[_0x4e72f3(0x18d)+_0x4e72f3(0x145)+'n']??null,'pendingPackage':_0x3b1bf0['pendingP'+'ackage']??null,'pendingPackageBytes':_0x3b1bf0[_0x4e72f3(0x1a7)+_0x4e72f3(0x170)+'tes']??null,'startedAt':_0x3b1bf0['startedA'+'t']??null,'bootCompletedAt':_0x2cd3bf,'totalElapsedMs':_0x5de14f,'milestones':_0x16162c}),_0x25e834(_0x3b1bf0,_0x4e72f3(0x164)+_0x4e72f3(0x141)+_0x4e72f3(0x10f),{'bootCompletedAt':_0x2cd3bf,'totalElapsedMs':_0x5de14f}),_0x4fc202(),{'previousVersion':_0x3b1bf0[_0x4e72f3(0x14f)+_0x4e72f3(0x100)]??null,'currentVersion':_0x9bec2f(),'downloadedVersion':_0x3b1bf0['download'+_0x4e72f3(0x145)+'n']??null,'totalElapsedMs':_0x5de14f,'bootCompletedAt':_0x2cd3bf};}return{'initialize':_0x3dfbc1,'getState':_0x54addc,'checkForUpdates':_0x478608,'downloadUpdate':_0x37f956,'quitAndInstall':_0x421537,'requestBackgroundCheck':_0x3674c5,'startBackgroundChecks':_0x14cb29,'markQuitObserved':_0x4e6af1,'isInstallingUpdate':_0x34f4b6,'recordBootAfterInstall':_0x1ca790};}
|
|
1
|
+
const _0x3f9447=_0x482c;(function(_0x3d5fcc,_0x3234b8){const _0x53f2e1=_0x482c,_0x19bef4=_0x3d5fcc();while(!![]){try{const _0x1e6353=parseInt(_0x53f2e1(0x232))/0x1*(parseInt(_0x53f2e1(0x202))/0x2)+parseInt(_0x53f2e1(0x140))/0x3+parseInt(_0x53f2e1(0x285))/0x4+parseInt(_0x53f2e1(0x293))/0x5*(parseInt(_0x53f2e1(0x239))/0x6)+-parseInt(_0x53f2e1(0x21e))/0x7*(parseInt(_0x53f2e1(0x1d8))/0x8)+parseInt(_0x53f2e1(0x199))/0x9+-parseInt(_0x53f2e1(0x270))/0xa;if(_0x1e6353===_0x3234b8)break;else _0x19bef4['push'](_0x19bef4['shift']());}catch(_0x5def63){_0x19bef4['push'](_0x19bef4['shift']());}}}(_0x41ca,0x66438));import{existsSync,readFileSync,readdirSync,rmSync,statSync,writeFileSync}from'node:fs';import{spawnSync}from'node:child_process';import{homedir}from'node:os';import{basename,join}from'node:path';import _0x1f95aa from'electron-updater';import{app,BrowserWindow}from'electron';import{clean,compare}from'semver';function _0x482c(_0x34776e,_0x17e556){_0x34776e=_0x34776e-0x12b;const _0x41ca4d=_0x41ca();let _0x482c09=_0x41ca4d[_0x34776e];return _0x482c09;}const {autoUpdater}=_0x1f95aa,DEFAULT_INSTALL_QUIT_TIMEOUT_MS=0xea60,DEFAULT_BACKGROUND_UPDATE_CHECK_INTERVAL_MS=0x3c*0x3c*0x3e8,DEFAULT_BACKGROUND_UPDATE_CHECK_STALE_MS=0x1e*0x3c*0x3e8,DEFAULT_NATIVE_UPDATE_PREFETCH_TIMEOUT_MS=0xafc8,INSTALL_PHASE_CONTEXT_STALE_MS=0x18*0x3c*0x3c*0x3e8,SQUIRREL_DIRECT_WRITE_DEFAULTS_KEY=_0x3f9447(0x184)+_0x3f9447(0x16e)+_0x3f9447(0x219)+_0x3f9447(0x251)+_0x3f9447(0x26a);function normalizeAppUpdatePackageFileName(_0x33a38a){const _0x1e8584=_0x3f9447;if(typeof _0x33a38a!==_0x1e8584(0x137))return null;const _0x539470=_0x33a38a['trim']();if(!_0x539470||_0x539470==='.'||_0x539470==='..'||_0x539470['includes']('/')||_0x539470[_0x1e8584(0x235)]('\x5c'))return null;return _0x539470;}function _0x41ca(){const _0x588e4b=['date\x20ins','\x20已准备好安装','rrel\x20dir','complete','ted','split','ch\x20faile','red','oot','find','stale\x20up','eVersion','eted','supporte','fileName','Quit','当前已经是最新版','575896SybVaN','update_m','ext_boot','fore\x20nat','pathname','remote-n','lled','unsuppor','message','-updater','hasUpdat','当前构建不支持自','ewer','resource','kipped','_by_conf','Caches','load\x20req','waiting\x20','l\x20packag','phase','stringif','_default','catch','mac\x20squi','load','ded\x20afte','allOnApp','ot-avail','te.yml','install-','update-a',',请重新下载更新','ntext.js','o\x20read\x20a','function','outMs','installQ','e\x20版本支持应用','Update','\x20after\x20i','当前没有可安装的','994sEvQoo','ect\x20writ','updates','pendingP','update-i','ge\x20for\x20c','ending\x20u','assign','warn','install_','ts\x20enabl','ext\x20boot','e\x20instal','te-state','called','ame','lder','imeout','toFixed','version','efetch_f','l\x20phase\x20','appId','eDirectC','releaseN','quested','app:upda','uitAndIn','42FicCpm','uit\x20comp','isDestro','native\x20m','mac','update-n','更新包已准备好安','ct_write','unknown','packagin','load\x20fai','e\x20defaul','ate','pdater-u','pp-updat','etchTime','ndCheckS','Second','exec','g\x20downlo','1073cMNezj','uit\x20watc','update-d','includes','ts\x20skipp','win32','enabled','264354KFEDKN','text_loa','pdate-in','nstall','push','ch\x20start','yed','未知的自动更新错','then','\x20AppImag','packageB','idle','autoInst','ing','leted','text_sta','auto\x20upd','自动更新功能已就','ac_squir','checkFor','当前没有可下载的','error','AppData','info','ontentsW','cache\x20hi','remoteVe','backgrou','e\x20native','更新安装未能启动','xt\x20ignor','uit_star','ac\x20updat','update\x20i','正在检查更新','s_failed','checking','app_id','currentV','it\x20obser','channel','\x20fallbac','native\x20u','phase\x20co','stall\x20ca','自动更新仅在打包','se\x20conte','bytesPer','update\x20q','rite','ter-boot','id\x20not\x20t','ch\x20wait\x20','发现新版本\x20v','update_q','21279310IhwpUM','mileston','ailed','requeste','isFinite','efore\x20qu','url','repare\x20q','quitAndI','getAllWi','d;\x20insta','path','startedA','utf8','write','percent','备安装','files','one','efore\x20in','nstall\x20d','3339452XGSWPV','otes','发现本地更新包\x20','releaseD','efetch_s','consumed','object','total','alidated','status','schedule','ersion','linux','安装更新失败','95HQzSvL','phase-co','removeLi','signal','g\x20instal','number','download','package\x20','lable','isFile','length','hase_con','interval','Updates','ch\x20timed','send','uit_and_','uitTimeo','ch\x20compl','already-','当前使用\x20Alp','pending','更新包\x20v','check\x20re','ate\x20down','ntext.la','string','uested','o\x20clear\x20','更新包校验完成但','nstall_w','update\x20n','taleMs','finished','nativeUp','184713IwqiXo','text\x20loa','o\x20archiv','Linux\x20下仅','sPath','ytes','\x20before\x20','ll\x20click','update_b','latform','true','-progres','动更新','e.yml','once','vailable','now','min','自动更新已禁用','ive\x20upda','ait_done','te\x20packa','e\x20check\x20','uit_done','parse','Percent','installi','hell.con','availabl','ative_pr','ownloade','efetch\x20b','datePref','pdate\x20pr','packageN','trim','repare_q','max','nts','内自动更新','update_i','tart','ch\x20skipp','transfer','flatMap','within\x20t','MacEnabl','urrent\x20p','stener','failed\x20t','-error','update_n','update_a','context','isArray',',请重新校验并准','e\x20prefet','重试下载更新','darwin','nstall\x20f','missing_','pending\x20','autoDown','o\x20inspec','updaterC','install\x20','ter\x20comp','it_obser','Squirrel','install','acheDirN','已下载更新','platform','failed','o\x20read\x20p','efore_qu','nstall\x20q','startup','后的安装包中可用','webConte','map','native-u','rted','rel_dire','st.json','uit\x20and\x20','join','ndCheckI','hase\x20con','6407001YtwzlD','fo.json','rigger\x20a','sha512','isPackag','disabled','efetch_i','note','nd\x20updat','ror','hdog\x20sta','自动更新已在\x20s','s_enable','ackage_v','same-ver','test','size','nstall\x20p','utMs','check-er','Library','_after_i','remote-o','dataDir','app-upda','ignore','latest','update_p','nstall_p','errorCod','ackageBy','t\x20pendin','toISOStr','alpha','ved','启应用','not-avai','resolve','edVersio','aded\x20pac','stall','ending_p','for\x20nati','pp\x20quit\x20','finally','ailed\x20be'];_0x41ca=function(){return _0x588e4b;};return _0x41ca();}function isMatchingAppUpdatePackageMetadata(_0x5dee40,_0x1f7f18){const _0x1e889b=_0x3f9447;if(!_0x5dee40||!_0x1f7f18||typeof _0x1f7f18!=='object')return![];const _0x12c34f=_0x1f7f18,_0x4f8886=normalizeAppUpdatePackageFileName(_0x5dee40['fileName']),_0x1cc79f=normalizeAppUpdatePackageFileName(_0x12c34f[_0x1e889b(0x1d5)]),_0x15ab05=_0x5dee40[_0x1e889b(0x19c)]['trim'](),_0x1355e5=typeof _0x12c34f['sha512']===_0x1e889b(0x137)?_0x12c34f['sha512'][_0x1e889b(0x163)]():'';return Boolean(_0x4f8886&&_0x1cc79f&&_0x4f8886===_0x1cc79f&&_0x15ab05&&_0x1355e5&&_0x15ab05===_0x1355e5);}function normalizeAppVersion(_0x3d0ab5){const _0x15d986=_0x3f9447;return clean(String(_0x3d0ab5??'')[_0x15d986(0x163)]());}function compareAppVersions(_0x476c59,_0x2dfb65){const _0x5f4265=_0x3f9447,_0x46da91=normalizeAppVersion(_0x476c59),_0x5c28ae=normalizeAppVersion(_0x2dfb65);if(!_0x46da91||!_0x5c28ae)return _0x5f4265(0x226);const _0x551f68=compare(_0x5c28ae,_0x46da91);if(_0x551f68===0x0)return _0x5f4265(0x1a7)+'sion';return _0x551f68>0x0?_0x5f4265(0x1dd)+_0x5f4265(0x1e4):_0x5f4265(0x1af)+_0x5f4265(0x212);}function normalizeAppUpdateChannel(_0x42959b){const _0x215f20=_0x3f9447;return _0x42959b===_0x215f20(0x1ba)?_0x215f20(0x1ba):_0x215f20(0x1b3);}function normalizeString(_0x20303c){const _0x1670ed=_0x3f9447;if(typeof _0x20303c!==_0x1670ed(0x137))return null;const _0x5678fb=_0x20303c['trim']();return _0x5678fb||null;}function normalizeReleaseNotes(_0x5d31f1){const _0x415d2e=_0x3f9447;if(typeof _0x5d31f1===_0x415d2e(0x137))return normalizeString(_0x5d31f1);if(!Array[_0x415d2e(0x176)](_0x5d31f1))return null;const _0x4cd15b=_0x5d31f1[_0x415d2e(0x16c)](_0x5e71a8=>{const _0x5509f8=_0x415d2e;if(typeof _0x5e71a8===_0x5509f8(0x137)){const _0x4f726c=normalizeString(_0x5e71a8);return _0x4f726c?[_0x4f726c]:[];}if(!_0x5e71a8||typeof _0x5e71a8!==_0x5509f8(0x28b))return[];const _0xc85886=normalizeString(_0x5e71a8[_0x5509f8(0x215)]),_0x238767=normalizeString(_0x5e71a8[_0x5509f8(0x1a0)]);if(_0xc85886&&_0x238767)return['v'+_0xc85886+'\x0a'+_0x238767];if(_0x238767)return[_0x238767];if(_0xc85886)return['v'+_0xc85886];return[];});return _0x4cd15b[_0x415d2e(0x29d)]>0x0?_0x4cd15b[_0x415d2e(0x196)]('\x0a\x0a'):null;}function extractUpdateInfoPatch(_0x4d056e){const _0x369bd6=_0x3f9447;if(!_0x4d056e||typeof _0x4d056e!==_0x369bd6(0x28b))return{};return{'remoteVersion':normalizeString(_0x4d056e[_0x369bd6(0x215)]),'availableVersion':normalizeString(_0x4d056e[_0x369bd6(0x215)]),'releaseName':normalizeString(_0x4d056e[_0x369bd6(0x21a)+_0x369bd6(0x211)]),'releaseDate':normalizeString(_0x4d056e[_0x369bd6(0x288)+'ate']),'releaseNotes':normalizeReleaseNotes(_0x4d056e[_0x369bd6(0x21a)+_0x369bd6(0x286)])};}function extractPackageFileName(_0x23d2dd){const _0x3c16af=_0x3f9447,_0x3408b4=normalizeString(_0x23d2dd);if(!_0x3408b4)return null;try{const _0xcdf8be=new URL(_0x3408b4);return normalizeAppUpdatePackageFileName(decodeURIComponent(basename(_0xcdf8be[_0x3c16af(0x1dc)])));}catch{const _0x42c41d=_0x3408b4[_0x3c16af(0x1cc)](/[?#]/u,0x1)[0x0];return normalizeAppUpdatePackageFileName(basename(_0x42c41d));}}function getPreferredUpdatePackagePattern(){const _0x2f8503=_0x3f9447;if(process['platform']===_0x2f8503(0x17a))return/\.zip$/iu;if(process[_0x2f8503(0x188)]===_0x2f8503(0x237))return/\.exe$/iu;if(process['platform']===_0x2f8503(0x291))return/\.AppImage$/u;return/\.(zip|exe|AppImage)$/u;}function extractRemoteUpdatePackageMetadata(_0x1c11ef,_0x2840d1){const _0x1daec2=_0x3f9447;if(!_0x1c11ef||typeof _0x1c11ef!==_0x1daec2(0x28b))return null;const _0x1ef802=normalizeString(_0x1c11ef[_0x1daec2(0x215)]);if(!_0x1ef802)return null;const _0x6df48d=[],_0x12566a=Array['isArray'](_0x1c11ef[_0x1daec2(0x281)])?_0x1c11ef[_0x1daec2(0x281)]:[];for(const _0x5a3c1c of _0x12566a){if(!_0x5a3c1c||typeof _0x5a3c1c!==_0x1daec2(0x28b))continue;const _0x24649e=extractPackageFileName(_0x5a3c1c['url'])??extractPackageFileName(_0x5a3c1c[_0x1daec2(0x27b)])??normalizeAppUpdatePackageFileName(_0x5a3c1c[_0x1daec2(0x1d5)]),_0x3a8f8b=normalizeString(_0x5a3c1c[_0x1daec2(0x19c)]);_0x24649e&&_0x3a8f8b&&_0x6df48d['push']({'fileName':_0x24649e,'sha512':_0x3a8f8b});}const _0x3dbf88=extractPackageFileName(_0x1c11ef[_0x1daec2(0x276)])??extractPackageFileName(_0x1c11ef[_0x1daec2(0x27b)])??normalizeAppUpdatePackageFileName(_0x1c11ef[_0x1daec2(0x1d5)]),_0x58cb5b=normalizeString(_0x1c11ef['sha512']);_0x3dbf88&&_0x58cb5b&&_0x6df48d['push']({'fileName':_0x3dbf88,'sha512':_0x58cb5b});const _0x57d08e=_0x6df48d['find'](_0x5a3328=>getPreferredUpdatePackagePattern()[_0x1daec2(0x1a8)](_0x5a3328[_0x1daec2(0x1d5)]));if(!_0x57d08e)return _0x2840d1?.[_0x1daec2(0x20a)]?.('no\x20match'+'ing\x20upda'+_0x1daec2(0x155)+_0x1daec2(0x207)+_0x1daec2(0x16f)+_0x1daec2(0x149),{'platform':process['platform'],'candidates':_0x6df48d[_0x1daec2(0x190)](_0x47ab42=>_0x47ab42[_0x1daec2(0x1d5)])}),null;return{'version':_0x1ef802,..._0x57d08e};}function extractProgressPatch(_0x420768){const _0x541aa0=_0x3f9447;return{'downloadPercent':typeof _0x420768[_0x541aa0(0x27f)]==='number'?_0x420768['percent']:null,'bytesPerSecond':typeof _0x420768[_0x541aa0(0x268)+_0x541aa0(0x22f)]===_0x541aa0(0x298)?_0x420768[_0x541aa0(0x268)+_0x541aa0(0x22f)]:null,'transferredBytes':typeof _0x420768[_0x541aa0(0x16b)+_0x541aa0(0x1ce)]===_0x541aa0(0x298)?_0x420768[_0x541aa0(0x16b)+_0x541aa0(0x1ce)]:null,'totalBytes':typeof _0x420768[_0x541aa0(0x28c)]===_0x541aa0(0x298)?_0x420768[_0x541aa0(0x28c)]:null};}function getErrorMessage(_0x2a84de){const _0x2865c8=_0x3f9447;if(_0x2a84de instanceof Error&&_0x2a84de[_0x2865c8(0x1e0)]['trim']())return _0x2a84de[_0x2865c8(0x1e0)][_0x2865c8(0x163)]();if(typeof _0x2a84de===_0x2865c8(0x137)&&_0x2a84de[_0x2865c8(0x163)]())return _0x2a84de[_0x2865c8(0x163)]();return _0x2865c8(0x240)+'误';}function getMacSquirrelDirectWriteDefaultsDomains(_0x47bedd){const _0x37edd8=normalizeString(_0x47bedd);if(!_0x37edd8)return[];return[_0x37edd8,_0x37edd8+'.ShipIt'];}function isSuccessfulCommandResult(_0x132a5e){const _0x3caded=_0x3f9447;return!_0x132a5e?.[_0x3caded(0x24e)]&&!_0x132a5e?.['signal']&&(typeof _0x132a5e?.[_0x3caded(0x28e)]!=='number'||_0x132a5e[_0x3caded(0x28e)]===0x0);}function readJsonFile(_0x36bea1){const _0x18895f=_0x3f9447;if(!existsSync(_0x36bea1))return null;try{return JSON[_0x18895f(0x158)](readFileSync(_0x36bea1,'utf8'));}catch{return null;}}export function createUpdateController({shellConfig:_0x4b03aa,appName:_0x5d1f0c,appVersion:_0x575edb,broadcast:_0x258d68,logger:_0x4834a7,prepareQuitAndInstall:_0xc29777,defaultsCommandRunner:defaultsCommandRunner=spawnSync}){const _0x2e6011=_0x3f9447,_0x46d374=_0x4b03aa[_0x2e6011(0x204)]??{},_0x56cce0=normalizeAppUpdateChannel(_0x46d374[_0x2e6011(0x261)]),_0x4ac8c0={'backgroundCheckIntervalMs':_0x46d374[_0x2e6011(0x254)+_0x2e6011(0x197)+'ntervalM'+'s']??DEFAULT_BACKGROUND_UPDATE_CHECK_INTERVAL_MS,'backgroundCheckStaleMs':_0x46d374['backgrou'+_0x2e6011(0x22e)+_0x2e6011(0x13d)]??DEFAULT_BACKGROUND_UPDATE_CHECK_STALE_MS,'installQuitTimeoutMs':_0x46d374[_0x2e6011(0x1fd)+_0x2e6011(0x12e)+_0x2e6011(0x1ab)]??DEFAULT_INSTALL_QUIT_TIMEOUT_MS,'nativeUpdatePrefetchTimeoutMs':_0x46d374[_0x2e6011(0x13f)+_0x2e6011(0x160)+_0x2e6011(0x22d)+_0x2e6011(0x1fc)]??DEFAULT_NATIVE_UPDATE_PREFETCH_TIMEOUT_MS,'autoDownload':_0x46d374[_0x2e6011(0x17e)+_0x2e6011(0x1f1)]===!![]},_0x56bfed={'supported':![],'channel':_0x56cce0,'phase':'unsuppor'+_0x2e6011(0x1cb),'currentVersion':_0x575edb(),'remoteVersion':null,'comparisonResult':_0x2e6011(0x226),'hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'releaseName':null,'releaseDate':null,'releaseNotes':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,'hasPendingPackage':![],'pendingPackageName':null,'pendingPackageBytes':null,'checkedAt':null,'message':_0x2e6011(0x152),'error':null,'errorCode':null};let _0x386ce7=![],_0x4cc973=null,_0x263e52=null,_0x4c844d=null,_0x12e4a3=null,_0x41cf53=null,_0xc1edc9=null,_0x2c14fd=![],_0x20c4ff=null,_0x370960=0x0,_0x4f1833=null,_0xb04d92=null,_0x1d4455=![],_0x52b4b5=![],_0x503ebd=null;function _0x20c613(){const _0x5562ad=_0x2e6011;if(process[_0x5562ad(0x188)]===_0x5562ad(0x17a))return join(homedir(),_0x5562ad(0x1ad),_0x5562ad(0x1e8));if(process[_0x5562ad(0x188)]===_0x5562ad(0x237))return process.env.LOCALAPPDATA??join(homedir(),_0x5562ad(0x24f),'Local');return process.env.XDG_CACHE_HOME??join(homedir(),'.cache');}function _0x371dd1(){const _0x3dd9e5=_0x2e6011;if(!app['isPackag'+'ed']||!process[_0x3dd9e5(0x1e5)+_0x3dd9e5(0x144)])return{};const _0x5018ff=join(process[_0x3dd9e5(0x1e5)+_0x3dd9e5(0x144)],_0x3dd9e5(0x1b1)+_0x3dd9e5(0x1f5));if(!existsSync(_0x5018ff))return{};try{const _0x4b9e5c=readFileSync(_0x5018ff,_0x3dd9e5(0x27d)),_0x3caf3b=/^\s*channel:\s*["']?([^"'\s#]+)["']?/imu['exec'](_0x4b9e5c),_0x143e18=/^\s*updaterCacheDirName:\s*["']?([^"'\s#]+)["']?/imu[_0x3dd9e5(0x230)](_0x4b9e5c);return{'channel':normalizeAppUpdateChannel(_0x3caf3b?.[0x1]),'updaterCacheDirName':normalizeString(_0x143e18?.[0x1])};}catch(_0xc3a0b){return _0x4834a7?.[_0x3dd9e5(0x20a)]?.(_0x3dd9e5(0x171)+_0x3dd9e5(0x1fa)+_0x3dd9e5(0x22c)+_0x3dd9e5(0x14d),{'error':getErrorMessage(_0xc3a0b)}),{};}}const _0x15c95=_0x371dd1();_0x15c95[_0x2e6011(0x261)]&&(_0x56bfed[_0x2e6011(0x261)]=_0x15c95[_0x2e6011(0x261)]);function _0xf95620(){const _0x410c11=_0x2e6011,_0x346a9d=_0x15c95[_0x410c11(0x180)+_0x410c11(0x186)+_0x410c11(0x211)]||_0x5d1f0c()+_0x410c11(0x1e1);return join(_0x20c613(),_0x346a9d);}function _0x35036b(_0x53f5b9){const _0x54a1df=_0x2e6011;return _0x53f5b9==='alpha'?_0x54a1df(0x131)+'ha\x20更新渠道':_0x54a1df(0x24a)+'绪';}function _0x456557(){const _0x4ca3a3=_0x2e6011;if(_0x46d374[_0x4ca3a3(0x238)]===![])return![];if(!app[_0x4ca3a3(0x19d)+'ed'])return![];if(process[_0x4ca3a3(0x188)]!==_0x4ca3a3(0x291))return!![];return Boolean(process.env.APPIMAGE);}function _0x39631d(){const _0x17f100=_0x2e6011;if(_0x46d374['enabled']===![])return _0x17f100(0x1a4)+_0x17f100(0x15b)+'fig\x20中禁用';if(!app['isPackag'+'ed'])return _0x17f100(0x266)+_0x17f100(0x18e);if(process[_0x17f100(0x188)]==='linux')return _0x17f100(0x143)+_0x17f100(0x242)+_0x17f100(0x1fe)+_0x17f100(0x167);return _0x17f100(0x1e3)+_0x17f100(0x14c);}function _0x4bf6b9(){const _0x23543f=_0x2e6011;return join(_0x4b03aa[_0x23543f(0x1b0)],_0x23543f(0x1f6)+_0x23543f(0x294)+_0x23543f(0x1f9)+'on');}function _0x5defa5(){const _0x4eeb9f=_0x2e6011;return join(_0x4b03aa['dataDir'],_0x4eeb9f(0x1f6)+_0x4eeb9f(0x294)+_0x4eeb9f(0x136)+_0x4eeb9f(0x194));}function _0x168eac(){return{'hasPendingPackage':![],'pendingPackageName':null,'pendingPackageBytes':null};}function _0x306864(){return{..._0x56bfed};}function _0x2c18a3(){const _0x551e32=_0x2e6011,_0x5caf89=_0x306864();for(const _0x1b0411 of BrowserWindow[_0x551e32(0x279)+'ndows']()){!_0x1b0411[_0x551e32(0x220)+_0x551e32(0x23f)]()&&_0x1b0411[_0x551e32(0x18f)+_0x551e32(0x166)][_0x551e32(0x12c)]('app:upda'+_0x551e32(0x20f),_0x5caf89);}_0x258d68?.(_0x551e32(0x21c)+'te-state',_0x5caf89);}function _0x592ec4(_0x55ff46){const _0x5bab76=_0x2e6011,_0x49cdbf={..._0x55ff46};_0x49cdbf[_0x5bab76(0x24e)]===null&&_0x49cdbf[_0x5bab76(0x1b6)+'e']===undefined&&(_0x49cdbf[_0x5bab76(0x1b6)+'e']=null),Object[_0x5bab76(0x209)](_0x56bfed,_0x49cdbf,{'currentVersion':_0x575edb()}),_0x2c18a3();}function _0xabcac4(){const _0x50b342=_0x2e6011;if(!_0x56bfed[_0x50b342(0x1d4)+'d'])throw new Error(_0x39631d());}function _0x28f377(_0x379bff,_0x327145={}){const _0x5b5e14=_0x2e6011;_0x4834a7?.[_0x5b5e14(0x250)]?.(_0x379bff,_0x327145);}function _0x22f144(_0x45e8b5,_0x54bf14={}){_0x4834a7?.['warn']?.(_0x45e8b5,_0x54bf14);}function _0x50cc11(){const _0x1d7668=_0x2e6011;if(process[_0x1d7668(0x188)]!==_0x1d7668(0x17a))return;if(_0x4b03aa[_0x1d7668(0x227)+'g']?.[_0x1d7668(0x222)]?.['squirrel'+_0x1d7668(0x16e)+_0x1d7668(0x219)+_0x1d7668(0x251)+_0x1d7668(0x26a)]===![]){_0x28f377('mac\x20squi'+_0x1d7668(0x1c9)+_0x1d7668(0x203)+_0x1d7668(0x229)+_0x1d7668(0x236)+'ed',{'event':_0x1d7668(0x1d9)+_0x1d7668(0x24b)+'rel_dire'+_0x1d7668(0x225)+_0x1d7668(0x1ee)+'s_skippe'+'d','reason':_0x1d7668(0x19e)+_0x1d7668(0x1e7)+'ig'});return;}const _0x14a404=getMacSquirrelDirectWriteDefaultsDomains(_0x4b03aa[_0x1d7668(0x218)]);if(_0x14a404['length']===0x0){_0x22f144(_0x1d7668(0x1f0)+'rrel\x20dir'+_0x1d7668(0x203)+_0x1d7668(0x229)+_0x1d7668(0x236)+'ed',{'event':_0x1d7668(0x1d9)+_0x1d7668(0x24b)+_0x1d7668(0x193)+_0x1d7668(0x225)+_0x1d7668(0x1ee)+'s_skippe'+'d','reason':_0x1d7668(0x17c)+_0x1d7668(0x25e)});return;}const _0x4f73e0=[];for(const _0x5f38f9 of _0x14a404){try{const _0x21c1c2=defaultsCommandRunner('defaults',[_0x1d7668(0x27e),_0x5f38f9,SQUIRREL_DIRECT_WRITE_DEFAULTS_KEY,'-bool',_0x1d7668(0x14a)],{'stdio':_0x1d7668(0x1b2)});!isSuccessfulCommandResult(_0x21c1c2)&&_0x4f73e0[_0x1d7668(0x23d)]({'domain':_0x5f38f9,'status':_0x21c1c2?.[_0x1d7668(0x28e)]??null,'signal':_0x21c1c2?.[_0x1d7668(0x296)]??null,'error':_0x21c1c2?.['error']?getErrorMessage(_0x21c1c2[_0x1d7668(0x24e)]):null});}catch(_0x580660){_0x4f73e0[_0x1d7668(0x23d)]({'domain':_0x5f38f9,'status':null,'signal':null,'error':getErrorMessage(_0x580660)});}}if(_0x4f73e0['length']>0x0){_0x22f144(_0x1d7668(0x1f0)+_0x1d7668(0x1c9)+_0x1d7668(0x203)+'e\x20defaul'+'ts\x20faile'+'d',{'event':_0x1d7668(0x1d9)+_0x1d7668(0x24b)+_0x1d7668(0x193)+_0x1d7668(0x225)+_0x1d7668(0x1ee)+_0x1d7668(0x25c),'domains':_0x14a404,'failures':_0x4f73e0});return;}_0x28f377(_0x1d7668(0x1f0)+_0x1d7668(0x1c9)+_0x1d7668(0x203)+_0x1d7668(0x229)+_0x1d7668(0x20c)+'ed',{'event':_0x1d7668(0x1d9)+_0x1d7668(0x24b)+_0x1d7668(0x193)+_0x1d7668(0x225)+_0x1d7668(0x1ee)+_0x1d7668(0x1a5)+'d','domains':_0x14a404});}function _0x435f24(){const _0x1ace59=_0x2e6011;if(process[_0x1ace59(0x188)]!==_0x1ace59(0x17a))return null;const _0x45bfe0=autoUpdater?.[_0x1ace59(0x13f)+'dater'];if(!_0x45bfe0||typeof _0x45bfe0[_0x1ace59(0x24c)+_0x1ace59(0x2a0)]!=='function')return null;return _0x45bfe0;}function _0x4d7ffc(){if(!_0xb04d92)return;clearTimeout(_0xb04d92),_0xb04d92=null;}function _0x17c89a(){typeof _0x503ebd==='function'&&_0x503ebd(),_0x4d7ffc(),_0x4f1833=null,_0x1d4455=![],_0x52b4b5=![],_0x503ebd=null;}function _0x6c4106(_0x227cb9){const _0x2667ce=_0x2e6011;if(typeof _0x227cb9!=='number'||!Number[_0x2667ce(0x274)](_0x227cb9))return null;const _0x3d1998=Math[_0x2667ce(0x151)](0x63,Math[_0x2667ce(0x165)](0x0,_0x227cb9));if(_0x56bfed[_0x2667ce(0x1ec)]!==_0x2667ce(0x299)+_0x2667ce(0x246)||typeof _0x56bfed[_0x2667ce(0x299)+'Percent']!==_0x2667ce(0x298))return _0x3d1998;return Math['max'](_0x56bfed[_0x2667ce(0x299)+_0x2667ce(0x159)],_0x3d1998);}function _0xd35014(_0x296472,_0x506d29){const _0x512efa=_0x2e6011,_0x1a59df=_0x296472?'v'+_0x296472:'新版本';if(typeof _0x506d29===_0x512efa(0x298)){if(_0x506d29>=0x63)return'正在验证安装包…';return'正在下载\x20'+_0x1a59df+'\x20('+_0x506d29[_0x512efa(0x214)](0x1)+'%)';}return'正在下载\x20'+_0x1a59df;}function _0x1e9c05(_0x50ecdf){const _0x5abef5=_0x2e6011;if(!_0x4ac8c0[_0x5abef5(0x17e)+_0x5abef5(0x1f1)])return;if(_0x263e52||_0x56bfed['phase']!==_0x5abef5(0x15c)+'e'||!_0x56bfed[_0x5abef5(0x1e2)+'e'])return;_0x28f377(_0x5abef5(0x249)+_0x5abef5(0x135)+_0x5abef5(0x1e9)+_0x5abef5(0x138),{'reason':_0x50ecdf,'availableVersion':_0x56bfed[_0x5abef5(0x15c)+_0x5abef5(0x1d2)]}),void _0x435f1e()['catch'](_0x9870ce=>{const _0x516c2d=_0x5abef5;_0x22f144(_0x516c2d(0x249)+'ate\x20down'+_0x516c2d(0x228)+'led',{'reason':_0x50ecdf,'error':getErrorMessage(_0x9870ce)});});}function _0x496804(_0x295df2){const _0x24310c=_0x2e6011;try{writeFileSync(_0x4bf6b9(),JSON[_0x24310c(0x1ed)+'y'](_0x295df2,null,0x2),_0x24310c(0x27d));}catch(_0xe20697){_0x22f144('failed\x20t'+'o\x20persis'+'t\x20instal'+_0x24310c(0x217)+'context',{'error':getErrorMessage(_0xe20697)});}}function _0x4b81fc(){return readJsonFile(_0x4bf6b9());}function _0xad1605(_0x529e40,_0x329895,_0x4eb98a={}){const _0x13a899=_0x2e6011;try{writeFileSync(_0x5defa5(),JSON[_0x13a899(0x1ed)+'y']({..._0x529e40,..._0x4eb98a,'archivedAt':new Date()[_0x13a899(0x1b9)+'ing'](),'archiveReason':_0x329895},null,0x2),'utf8');}catch(_0x572b7b){_0x22f144(_0x13a899(0x171)+_0x13a899(0x142)+_0x13a899(0x20e)+_0x13a899(0x217)+_0x13a899(0x175),{'reason':_0x329895,'error':getErrorMessage(_0x572b7b)});}}function _0x1e430a(_0x2f6bcc){const _0x1c1d17=_0x2e6011,_0x4d9544=_0x4b81fc();if(!_0x4d9544||typeof _0x4d9544!==_0x1c1d17(0x28b))return;_0x496804({..._0x4d9544,..._0x2f6bcc,'milestones':{..._0x4d9544[_0x1c1d17(0x271)+'es']&&typeof _0x4d9544[_0x1c1d17(0x271)+'es']===_0x1c1d17(0x28b)?_0x4d9544[_0x1c1d17(0x271)+'es']:{},..._0x2f6bcc[_0x1c1d17(0x271)+'es']??{}}});}function _0x161936(){const _0x2b0c62=_0x2e6011;try{rmSync(_0x4bf6b9(),{'force':!![]});}catch(_0x542216){_0x22f144(_0x2b0c62(0x171)+_0x2b0c62(0x139)+_0x2b0c62(0x181)+_0x2b0c62(0x264)+'ntext',{'error':getErrorMessage(_0x542216)});}}function _0x2288ca(){const _0x5aa440=_0x2e6011,_0x51369a=join(_0xf95620(),_0x5aa440(0x132));if(!existsSync(_0x51369a))return{'packageName':null,'packageBytes':null};try{const _0x25d562=readdirSync(_0x51369a)[_0x5aa440(0x1d0)](_0x32e9f=>/\.(zip|exe|dmg|AppImage)$/iu['test'](_0x32e9f))??null;if(!_0x25d562)return{'packageName':null,'packageBytes':null};const _0x588a90=join(_0x51369a,_0x25d562);return{'packageName':_0x25d562,'packageBytes':statSync(_0x588a90)[_0x5aa440(0x1a9)]};}catch(_0x4246de){return _0x22f144(_0x5aa440(0x171)+_0x5aa440(0x17f)+'t\x20pendin'+_0x5aa440(0x297)+_0x5aa440(0x1eb)+'e',{'error':getErrorMessage(_0x4246de)}),{'packageName':null,'packageBytes':null};}}function _0x218f89(){const _0x288d4b=_0x2e6011;if(!_0x12e4a3)return null;const _0x2eeb09=join(_0xf95620(),_0x288d4b(0x132)),_0x309c87=join(_0x2eeb09,_0x288d4b(0x206)+'nfo.json');if(!existsSync(_0x309c87))return null;let _0x306669=null;try{_0x306669=JSON[_0x288d4b(0x158)](readFileSync(_0x309c87,'utf8'));}catch(_0x324715){return _0x22f144('failed\x20t'+_0x288d4b(0x18a)+_0x288d4b(0x208)+_0x288d4b(0x23b)+_0x288d4b(0x19a),{'error':getErrorMessage(_0x324715)}),null;}if(!isMatchingAppUpdatePackageMetadata(_0x12e4a3,_0x306669))return null;const _0x2b1c52=join(_0x2eeb09,_0x12e4a3['fileName']);if(!existsSync(_0x2b1c52))return null;try{const _0x251c57=statSync(_0x2b1c52);if(!_0x251c57[_0x288d4b(0x29c)]()||_0x251c57['size']===0x0)return null;return{'metadata':_0x12e4a3,'packageName':_0x12e4a3[_0x288d4b(0x1d5)],'packageBytes':_0x251c57[_0x288d4b(0x1a9)]};}catch(_0x34de86){return _0x22f144(_0x288d4b(0x171)+_0x288d4b(0x17f)+_0x288d4b(0x1b8)+_0x288d4b(0x231)+_0x288d4b(0x1c0)+'kage',{'error':getErrorMessage(_0x34de86)}),null;}}function _0x3b6818(_0x3f464b){const _0x26751e=_0x2e6011,_0x87f048=_0x218f89();if(!_0x87f048)return![];const {metadata:_0x5f34e9,packageName:_0x362cca,packageBytes:_0x5ea83d}=_0x87f048;return _0x28f377(_0x26751e(0x17d)+_0x26751e(0x29a)+_0x26751e(0x252)+'t',{'reason':_0x3f464b,'version':_0x5f34e9[_0x26751e(0x215)],'packageName':_0x362cca,'packageBytes':_0x5ea83d}),_0x592ec4({'phase':_0x26751e(0x15c)+'e','remoteVersion':_0x5f34e9[_0x26751e(0x215)],'comparisonResult':_0x26751e(0x1dd)+'ewer','hasUpdate':!![],'availableVersion':_0x5f34e9[_0x26751e(0x215)],'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':_0x5ea83d,'totalBytes':_0x5ea83d,'hasPendingPackage':!![],'pendingPackageName':_0x362cca,'pendingPackageBytes':_0x5ea83d,'error':null,'message':_0x26751e(0x287)+'v'+_0x5f34e9[_0x26751e(0x215)]+(_0x26751e(0x177)+_0x26751e(0x280))}),!![];}function _0x1c9520(_0x4e01b8,_0x204ca3){const _0x309380=_0x2e6011,_0x7c9904=_0x2288ca();_0x28f377('update\x20p'+'ending\x20p'+'ackage\x20v'+_0x309380(0x28d),{'event':_0x309380(0x1b4)+_0x309380(0x1c2)+_0x309380(0x1a6)+'alidated','reason':_0x4e01b8,'validator':'electron'+'-updater','currentVersion':_0x56bfed[_0x309380(0x25f)+_0x309380(0x290)],'downloadedVersion':_0x204ca3,'pendingPackage':_0x7c9904[_0x309380(0x162)+_0x309380(0x211)],'pendingPackageBytes':_0x7c9904[_0x309380(0x243)+_0x309380(0x145)],'sha512Validated':!![]});}function _0x39aae5(_0x82f343){const _0x53097b=_0x2e6011;if(_0x52b4b5)return _0x28f377(_0x53097b(0x221)+_0x53097b(0x259)+_0x53097b(0x178)+_0x53097b(0x16a)+'ed',{'event':_0x53097b(0x173)+'ative_pr'+_0x53097b(0x289)+_0x53097b(0x1e6),'reason':_0x82f343,'skipReason':_0x53097b(0x130)+_0x53097b(0x1ca)+'d','downloadedVersion':_0x56bfed['download'+_0x53097b(0x1bf)+'n']}),_0x4f1833??Promise[_0x53097b(0x1be)](_0x53097b(0x130)+_0x53097b(0x1ca)+'d');if(_0x4f1833)return _0x28f377('native\x20m'+_0x53097b(0x259)+'e\x20prefet'+_0x53097b(0x16a)+'ed',{'event':_0x53097b(0x173)+_0x53097b(0x15d)+_0x53097b(0x289)+_0x53097b(0x1e6),'reason':_0x82f343,'skipReason':'already-'+'running','downloadedVersion':_0x56bfed[_0x53097b(0x299)+_0x53097b(0x1bf)+'n']}),_0x4f1833;const _0x3de816=_0x435f24();if(!_0x3de816)return process[_0x53097b(0x188)]===_0x53097b(0x17a)&&_0x22f144(_0x53097b(0x221)+_0x53097b(0x259)+'e\x20prefet'+_0x53097b(0x16a)+'ed',{'event':'update_n'+_0x53097b(0x15d)+_0x53097b(0x289)+'kipped','reason':_0x82f343,'skipReason':_0x53097b(0x191)+_0x53097b(0x22b)+'navailab'+'le','downloadedVersion':_0x56bfed['download'+'edVersio'+'n']}),Promise[_0x53097b(0x1be)](_0x53097b(0x1df)+_0x53097b(0x1cb));_0x1d4455=!![];const _0xe60833=Date['now']();return _0x28f377(_0x53097b(0x221)+_0x53097b(0x259)+_0x53097b(0x178)+_0x53097b(0x23e)+'ed',{'event':_0x53097b(0x173)+_0x53097b(0x15d)+_0x53097b(0x289)+_0x53097b(0x169),'reason':_0x82f343,'currentVersion':_0x56bfed[_0x53097b(0x25f)+_0x53097b(0x290)],'downloadedVersion':_0x56bfed[_0x53097b(0x299)+'edVersio'+'n'],'timeoutMs':_0x4ac8c0['nativeUp'+_0x53097b(0x160)+'etchTime'+_0x53097b(0x1fc)]}),_0x4f1833=new Promise(_0x27eac3=>{const _0x96d5e9=_0x53097b;let _0x5a6831=![];const _0x323db0=(_0x3cf8dd,_0x2ae208=null)=>{const _0x5067b6=_0x482c;if(_0x5a6831)return;_0x5a6831=!![],_0x503ebd?.(),_0x4d7ffc(),_0x1d4455=![],_0x52b4b5=_0x3cf8dd===_0x5067b6(0x1ca)+'d',_0x503ebd=null;const _0x52be43=Date['now']()-_0xe60833;_0x3cf8dd===_0x5067b6(0x1ca)+'d'?_0x28f377(_0x5067b6(0x221)+_0x5067b6(0x259)+'e\x20prefet'+_0x5067b6(0x12f)+_0x5067b6(0x1d3),{'event':_0x5067b6(0x173)+_0x5067b6(0x15d)+'efetch_d'+_0x5067b6(0x282),'reason':_0x82f343,'elapsedMs':_0x52be43,'downloadedVersion':_0x56bfed[_0x5067b6(0x299)+_0x5067b6(0x1bf)+'n']}):_0x22f144('native\x20m'+'ac\x20updat'+_0x5067b6(0x178)+_0x5067b6(0x1cd)+_0x5067b6(0x27a)+_0x5067b6(0x147)+'\x20will\x20us'+_0x5067b6(0x255)+_0x5067b6(0x262)+'k',{'event':_0x5067b6(0x173)+'ative_pr'+_0x5067b6(0x216)+_0x5067b6(0x272),'reason':_0x82f343,'elapsedMs':_0x52be43,'downloadedVersion':_0x56bfed[_0x5067b6(0x299)+_0x5067b6(0x1bf)+'n'],'error':getErrorMessage(_0x2ae208)}),_0x27eac3(_0x3cf8dd);},_0x22a170=()=>_0x323db0(_0x96d5e9(0x1ca)+'d'),_0x2e987f=_0x3a79e9=>_0x323db0('failed',_0x3a79e9);_0x503ebd=()=>{const _0x37f37a=_0x96d5e9;_0x3de816[_0x37f37a(0x295)+'stener']?.('update-d'+_0x37f37a(0x15e)+'d',_0x22a170),_0x3de816[_0x37f37a(0x295)+_0x37f37a(0x170)]?.(_0x37f37a(0x24e),_0x2e987f);},_0x3de816[_0x96d5e9(0x14e)]?.('update-d'+_0x96d5e9(0x15e)+'d',_0x22a170),_0x3de816[_0x96d5e9(0x14e)]?.(_0x96d5e9(0x24e),_0x2e987f),_0xb04d92=setTimeout(()=>{const _0x38f6df=_0x96d5e9;_0x323db0(_0x38f6df(0x189),new Error('native\x20m'+'ac\x20updat'+_0x38f6df(0x178)+_0x38f6df(0x12b)+'\x20out'));},_0x4ac8c0['nativeUp'+_0x96d5e9(0x160)+'etchTime'+_0x96d5e9(0x1fc)]);try{const _0x51cf05=_0x3de816['checkFor'+_0x96d5e9(0x2a0)]();_0x51cf05&&typeof _0x51cf05['then']===_0x96d5e9(0x1fb)&&_0x51cf05[_0x96d5e9(0x1ef)](_0x2e987f);}catch(_0x332a30){_0x323db0(_0x96d5e9(0x189),_0x332a30);}})[_0x53097b(0x1c5)](()=>{_0x4f1833=null;}),_0x4f1833;}async function _0x2eed51(){const _0x3bd54e=_0x2e6011;if(!_0x1d4455||!_0x4f1833)return null;const _0x58f9b1=Date[_0x3bd54e(0x150)]();_0x28f377(_0x3bd54e(0x1ea)+_0x3bd54e(0x1c3)+'ve\x20mac\x20u'+_0x3bd54e(0x161)+_0x3bd54e(0x15f)+_0x3bd54e(0x283)+_0x3bd54e(0x1c1),{'event':'update_n'+_0x3bd54e(0x15d)+_0x3bd54e(0x19f)+_0x3bd54e(0x13b)+'ait_star'+'t','downloadedVersion':_0x56bfed[_0x3bd54e(0x299)+_0x3bd54e(0x1bf)+'n']});const _0x5c4fee=await _0x4f1833,_0xa8065e=Date['now']()-_0x58f9b1,_0x258546=_0x5c4fee===_0x3bd54e(0x1ca)+'d'?_0x28f377:_0x22f144;return _0x258546(_0x3bd54e(0x221)+'ac\x20updat'+_0x3bd54e(0x178)+_0x3bd54e(0x26d)+_0x3bd54e(0x13e)+_0x3bd54e(0x146)+_0x3bd54e(0x185),{'event':_0x3bd54e(0x173)+_0x3bd54e(0x15d)+'efetch_i'+_0x3bd54e(0x13b)+_0x3bd54e(0x154),'status':_0x5c4fee,'elapsedMs':_0xa8065e,'downloadedVersion':_0x56bfed[_0x3bd54e(0x299)+_0x3bd54e(0x1bf)+'n']}),_0x5c4fee;}function _0xc4d4fc(){const _0x4ec798=_0x2e6011;return _0x56bfed[_0x4ec798(0x1d4)+'d']&&!_0x4cc973&&!_0x263e52&&[_0x4ec798(0x244),_0x4ec798(0x1bd)+_0x4ec798(0x29b),_0x4ec798(0x24e)][_0x4ec798(0x235)](_0x56bfed[_0x4ec798(0x1ec)]);}function _0x53db9c(){if(!_0xc1edc9)return;clearTimeout(_0xc1edc9),_0xc1edc9=null;}function _0x184de4(_0x4be112){const _0x31789e=_0x2e6011,_0x206336=_0x56bfed['download'+_0x31789e(0x1bf)+'n'],_0x3ceabc=_0x56bfed[_0x31789e(0x15c)+_0x31789e(0x1d2)],_0x1bd3e6=new Date()[_0x31789e(0x1b9)+_0x31789e(0x246)]();_0x1e430a({'failedAt':_0x1bd3e6,'error':getErrorMessage(_0x4be112),'milestones':{'failedAt':_0x1bd3e6}}),_0x22f144(_0x31789e(0x25a)+_0x31789e(0x17b)+_0x31789e(0x1c6)+_0x31789e(0x1db)+_0x31789e(0x153)+_0x31789e(0x182)+'leted',{'error':getErrorMessage(_0x4be112),'downloadedVersion':_0x206336,'availableVersion':_0x3ceabc}),_0x41cf53=null,_0x2c14fd=![],_0x53db9c(),_0x161936(),_0x592ec4({'phase':_0x31789e(0x24e),'checkedAt':new Date()['toISOStr'+_0x31789e(0x246)](),'hasPendingPackage':![],'pendingPackageName':null,'pendingPackageBytes':null,'hasUpdate':!![],'availableVersion':_0x3ceabc??_0x206336,'downloadedVersion':_0x206336,'error':getErrorMessage(_0x4be112),'errorCode':_0x31789e(0x1f6)+_0x31789e(0x24e),'message':_0x31789e(0x292)});}function _0x2a7a0f(){const _0x414c5e=_0x2e6011;_0x53db9c(),_0x2c14fd=![],_0x28f377(_0x414c5e(0x25a)+_0x414c5e(0x18c)+_0x414c5e(0x233)+_0x414c5e(0x1a3)+_0x414c5e(0x192),{'timeoutMs':_0x4ac8c0['installQ'+_0x414c5e(0x12e)+_0x414c5e(0x1ab)],'downloadedVersion':_0x56bfed[_0x414c5e(0x299)+_0x414c5e(0x1bf)+'n'],'currentVersion':_0x56bfed['currentV'+_0x414c5e(0x290)]}),_0xc1edc9=setTimeout(()=>{const _0xe5b35a=_0x414c5e;if(_0x2c14fd||_0x56bfed[_0xe5b35a(0x1ec)]!==_0xe5b35a(0x15a)+'ng')return;_0x22f144(_0xe5b35a(0x278)+_0xe5b35a(0x284)+_0xe5b35a(0x26c)+_0xe5b35a(0x19b)+_0xe5b35a(0x1c4)+_0xe5b35a(0x16d)+_0xe5b35a(0x213),{'downloadedVersion':_0x56bfed['download'+'edVersio'+'n'],'currentVersion':_0x56bfed[_0xe5b35a(0x25f)+_0xe5b35a(0x290)]}),_0x184de4(new Error(_0xe5b35a(0x256)+_0xe5b35a(0x1f8)+'包后再试'));},_0x4ac8c0['installQ'+_0x414c5e(0x12e)+_0x414c5e(0x1ab)]);}function _0x31ca3b(){const _0x59d15f=_0x2e6011;if(_0x386ce7)return;_0x386ce7=!![],_0x56bfed[_0x59d15f(0x1d4)+'d']=_0x456557(),_0x56bfed[_0x59d15f(0x1ec)]=_0x56bfed[_0x59d15f(0x1d4)+'d']?_0x59d15f(0x244):_0x59d15f(0x1df)+'ted',_0x56bfed[_0x59d15f(0x1e0)]=_0x56bfed['supporte'+'d']?_0x35036b(_0x56bfed[_0x59d15f(0x261)]):_0x39631d();if(!_0x56bfed[_0x59d15f(0x1d4)+'d']){_0x2c18a3();return;}autoUpdater[_0x59d15f(0x17e)+_0x59d15f(0x1f1)]=![],autoUpdater[_0x59d15f(0x245)+_0x59d15f(0x1f3)+_0x59d15f(0x1d6)]=![],autoUpdater[_0x59d15f(0x261)]=_0x56bfed[_0x59d15f(0x261)],autoUpdater['on'](_0x59d15f(0x25d)+'-for-upd'+_0x59d15f(0x22a),()=>{const _0x599e96=_0x59d15f;_0x12e4a3=null,_0x17c89a(),_0x592ec4({'phase':'checking','checkedAt':new Date()[_0x599e96(0x1b9)+_0x599e96(0x246)](),'remoteVersion':null,'comparisonResult':_0x599e96(0x226),'hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x168eac(),'error':null,'message':_0x599e96(0x25b)});}),autoUpdater['on'](_0x59d15f(0x1f7)+_0x59d15f(0x14f),_0x120db5=>{const _0x5ea5ee=_0x59d15f,_0x5e93d8=extractUpdateInfoPatch(_0x120db5),_0x3eb729=compareAppVersions(_0x575edb(),_0x5e93d8[_0x5ea5ee(0x253)+'rsion']);if(_0x3eb729!==_0x5ea5ee(0x1dd)+_0x5ea5ee(0x1e4)){_0x12e4a3=null,_0x592ec4({..._0x5e93d8,'phase':_0x5ea5ee(0x1bd)+'lable','comparisonResult':_0x3eb729,'hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x168eac(),'checkedAt':new Date()[_0x5ea5ee(0x1b9)+_0x5ea5ee(0x246)](),'error':null,'message':'当前已经是最新版'+'本'});return;}_0x12e4a3=extractRemoteUpdatePackageMetadata(_0x120db5,_0x4834a7),_0x592ec4({..._0x5e93d8,'phase':'availabl'+'e','comparisonResult':_0x3eb729,'hasUpdate':!![],'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x168eac(),'checkedAt':new Date()[_0x5ea5ee(0x1b9)+_0x5ea5ee(0x246)](),'error':null,'message':_0x5e93d8[_0x5ea5ee(0x15c)+'eVersion']?_0x5ea5ee(0x26e)+_0x5e93d8[_0x5ea5ee(0x15c)+'eVersion']:'发现可用更新'}),!_0x3b6818('update_a'+'vailable')&&_0x1e9c05(_0x5ea5ee(0x174)+_0x5ea5ee(0x14f));}),autoUpdater['on'](_0x59d15f(0x223)+_0x59d15f(0x1f4)+'able',_0x1fb7af=>{const _0x50add0=_0x59d15f;_0x12e4a3=null;const _0x531244=extractUpdateInfoPatch(_0x1fb7af);_0x592ec4({..._0x531244,'phase':_0x50add0(0x1bd)+_0x50add0(0x29b),'comparisonResult':compareAppVersions(_0x575edb(),_0x531244[_0x50add0(0x253)+'rsion']),'hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x168eac(),'checkedAt':new Date()[_0x50add0(0x1b9)+_0x50add0(0x246)](),'error':null,'message':_0x50add0(0x1d7)+'本'});}),autoUpdater['on'](_0x59d15f(0x299)+_0x59d15f(0x14b)+'s',_0x3a6d91=>{const _0x240497=_0x59d15f,_0x1b8d43=extractProgressPatch(_0x3a6d91),_0x48b3a1=_0x6c4106(_0x1b8d43[_0x240497(0x299)+_0x240497(0x159)]??null);_0x592ec4({..._0x1b8d43,'downloadPercent':_0x48b3a1,'phase':_0x240497(0x299)+'ing',..._0x168eac(),'error':null,'message':_0xd35014(_0x56bfed[_0x240497(0x15c)+_0x240497(0x1d2)],_0x48b3a1)});}),autoUpdater['on'](_0x59d15f(0x234)+_0x59d15f(0x15e)+'d',_0x23f798=>{const _0x4e67a5=_0x59d15f,_0xf4cfc5=extractUpdateInfoPatch(_0x23f798),_0x597936=extractRemoteUpdatePackageMetadata(_0x23f798,_0x4834a7)??_0x12e4a3;_0x597936&&(_0x12e4a3=_0x597936);const _0x69103e=_0xf4cfc5['availabl'+'eVersion']??_0x597936?.['version']??_0x56bfed[_0x4e67a5(0x15c)+_0x4e67a5(0x1d2)];_0x592ec4({..._0xf4cfc5,'phase':_0x4e67a5(0x299)+'ed','comparisonResult':compareAppVersions(_0x575edb(),_0x69103e),'hasUpdate':!![],'downloadedVersion':_0x69103e,'downloadPercent':0x64,..._0x168eac(),'error':null,'message':_0x69103e?_0x4e67a5(0x133)+_0x69103e+_0x4e67a5(0x1c8):_0x4e67a5(0x224)+'装'}),_0x1c9520(_0x4e67a5(0x234)+_0x4e67a5(0x15e)+'d',_0x69103e),void _0x39aae5('update-d'+_0x4e67a5(0x15e)+'d');}),autoUpdater['on'](_0x59d15f(0x24e),_0x4b588b=>{const _0x414029=_0x59d15f;if(_0x1d4455&&_0x56bfed[_0x414029(0x1ec)]===_0x414029(0x299)+'ed')return;if(_0x56bfed[_0x414029(0x1ec)]===_0x414029(0x15a)+'ng'){_0x184de4(_0x4b588b);return;}_0x592ec4({'phase':_0x414029(0x24e),'checkedAt':new Date()[_0x414029(0x1b9)+_0x414029(0x246)](),..._0x168eac(),'error':getErrorMessage(_0x4b588b),'errorCode':_0x56bfed[_0x414029(0x1ec)]===_0x414029(0x299)+_0x414029(0x246)?'download'+_0x414029(0x172):_0x414029(0x1ac)+_0x414029(0x1a2),'message':'自动更新失败'});}),_0x2c18a3();}async function _0x3ff6d7(){const _0x28c3ab=_0x2e6011;_0x31ca3b(),_0xabcac4();if(_0x4cc973)return _0x4cc973;return _0x28f377(_0x28c3ab(0x134)+_0x28c3ab(0x21b)),_0x4cc973=autoUpdater[_0x28c3ab(0x24c)+_0x28c3ab(0x2a0)]()[_0x28c3ab(0x241)](()=>_0x306864())[_0x28c3ab(0x1c5)](()=>{_0x4cc973=null;}),_0x4cc973;}async function _0x435f1e(){const _0xbc82b2=_0x2e6011;_0x31ca3b(),_0xabcac4();if(_0x56bfed[_0xbc82b2(0x1ec)]===_0xbc82b2(0x299)+'ed'||_0x56bfed['phase']===_0xbc82b2(0x15a)+'ng')return _0x306864();if(!_0x56bfed[_0xbc82b2(0x1e2)+'e'])throw new Error(_0xbc82b2(0x24d)+'更新');const _0x406910=_0x56bfed['phase']===_0xbc82b2(0x24e)&&_0x56bfed[_0xbc82b2(0x1b6)+'e']===_0xbc82b2(0x1f6)+_0xbc82b2(0x24e)&&Boolean(_0x56bfed['download'+'edVersio'+'n']);if(_0x56bfed['phase']===_0xbc82b2(0x24e)){if(_0x406910)_0x592ec4({'phase':'availabl'+'e','hasUpdate':!![],'availableVersion':_0x56bfed[_0xbc82b2(0x15c)+_0xbc82b2(0x1d2)]??_0x56bfed[_0xbc82b2(0x299)+_0xbc82b2(0x1bf)+'n'],'downloadedVersion':null,'downloadPercent':null,..._0x168eac(),'error':null,'message':'正在重新准备更新'+'包'});else{await _0x3ff6d7();if(_0x56bfed[_0xbc82b2(0x1ec)]!==_0xbc82b2(0x15c)+'e')throw new Error(_0xbc82b2(0x24d)+'更新');}}if(![_0xbc82b2(0x15c)+'e',_0xbc82b2(0x299)+'ing']['includes'](_0x56bfed[_0xbc82b2(0x1ec)]))throw new Error(_0xbc82b2(0x24d)+'更新');if(_0x263e52)return _0x263e52;return _0x263e52=autoUpdater[_0xbc82b2(0x299)+_0xbc82b2(0x1ff)]()['then'](()=>{const _0x21249a=_0xbc82b2;return _0x56bfed[_0x21249a(0x1ec)]!==_0x21249a(0x299)+'ed'&&_0x592ec4({'phase':_0x21249a(0x24e),'checkedAt':new Date()[_0x21249a(0x1b9)+_0x21249a(0x246)](),..._0x168eac(),'error':_0x21249a(0x13a)+'安装器未就绪,请'+_0x21249a(0x179),'errorCode':'download'+_0x21249a(0x172),'message':'更新准备失败'}),_0x306864();})[_0xbc82b2(0x1c5)](()=>{_0x263e52=null;}),_0x263e52;}async function _0x3b3d40(){const _0x4d752c=_0x2e6011;_0x31ca3b(),_0xabcac4();if(_0x4c844d)return _0x4c844d;if(_0x56bfed[_0x4d752c(0x1ec)]===_0x4d752c(0x15a)+'ng')return{'ok':!![]};if(_0x56bfed[_0x4d752c(0x1ec)]!==_0x4d752c(0x299)+'ed')throw new Error(_0x4d752c(0x201)+_0x4d752c(0x187));return _0x4c844d=_0x140cd5()[_0x4d752c(0x1c5)](()=>{_0x4c844d=null;}),_0x4c844d;}async function _0x140cd5(){const _0x304ab9=_0x2e6011,_0xdacd4e=_0x2288ca();_0x41cf53=Date[_0x304ab9(0x150)]();const _0x21a3e9=new Date(_0x41cf53)[_0x304ab9(0x1b9)+'ing']();_0x28f377(_0x304ab9(0x269)+_0x304ab9(0x195)+_0x304ab9(0x181)+_0x304ab9(0x273)+'d',{'event':_0x304ab9(0x26f)+_0x304ab9(0x12d)+_0x304ab9(0x20b)+'requeste'+'d','currentVersion':_0x56bfed[_0x304ab9(0x25f)+_0x304ab9(0x290)],'downloadedVersion':_0x56bfed[_0x304ab9(0x299)+_0x304ab9(0x1bf)+'n'],'pendingPackage':_0xdacd4e[_0x304ab9(0x162)+'ame'],'pendingPackageBytes':_0xdacd4e[_0x304ab9(0x243)+'ytes'],'nativeUpdatePrefetchInProgress':_0x1d4455,'nativeUpdatePrefetchCompleted':_0x52b4b5}),_0x496804({'startedAt':_0x21a3e9,'currentVersion':_0x56bfed[_0x304ab9(0x25f)+'ersion'],'downloadedVersion':_0x56bfed[_0x304ab9(0x299)+_0x304ab9(0x1bf)+'n'],'pendingPackage':_0xdacd4e[_0x304ab9(0x162)+_0x304ab9(0x211)],'pendingPackageBytes':_0xdacd4e['packageB'+_0x304ab9(0x145)],'nativeUpdatePrefetchInProgress':_0x1d4455,'nativeUpdatePrefetchCompleted':_0x52b4b5,'milestones':{'requestedAt':_0x21a3e9}});try{const _0x18cbfe=await _0x2eed51();_0x18cbfe&&_0x1e430a({'nativeUpdatePrefetchInProgress':_0x1d4455,'nativeUpdatePrefetchCompleted':_0x52b4b5,'nativeUpdatePrefetchStatus':_0x18cbfe,'milestones':{'nativeUpdatePrefetchWaitCompletedAt':new Date()[_0x304ab9(0x1b9)+_0x304ab9(0x246)]()}});_0x592ec4({'phase':_0x304ab9(0x15a)+'ng',..._0x168eac(),'error':null,'message':'正在安装更新并重'+_0x304ab9(0x1bc)});if(typeof _0xc29777===_0x304ab9(0x1fb)){const _0xf3d9ad=new Date()[_0x304ab9(0x1b9)+_0x304ab9(0x246)]();_0x1e430a({'milestones':{'prepareStartedAt':_0xf3d9ad}}),_0x28f377('update\x20p'+_0x304ab9(0x277)+'uit\x20star'+'ted',{'event':_0x304ab9(0x1b4)+_0x304ab9(0x164)+_0x304ab9(0x258)+'t','elapsedMs':Date[_0x304ab9(0x150)]()-_0x41cf53}),await _0xc29777();const _0x4eabdc=new Date()['toISOStr'+_0x304ab9(0x246)]();_0x1e430a({'milestones':{'prepareCompletedAt':_0x4eabdc}}),_0x28f377('update\x20p'+_0x304ab9(0x277)+_0x304ab9(0x21f)+_0x304ab9(0x247),{'event':'update_p'+_0x304ab9(0x164)+_0x304ab9(0x157),'elapsedMs':Date[_0x304ab9(0x150)]()-_0x41cf53});}_0x50cc11(),_0x2a7a0f();const _0x59edd9=new Date()[_0x304ab9(0x1b9)+_0x304ab9(0x246)]();_0x1e430a({'milestones':{'quitAndInstallCalledAt':_0x59edd9}}),_0x28f377(_0x304ab9(0x263)+'pdater\x20q'+_0x304ab9(0x21d)+_0x304ab9(0x265)+_0x304ab9(0x1de),{'event':_0x304ab9(0x26f)+_0x304ab9(0x12d)+'install_'+_0x304ab9(0x210),'elapsedMs':Date[_0x304ab9(0x150)]()-_0x41cf53}),autoUpdater[_0x304ab9(0x278)+_0x304ab9(0x23c)](![],!![]);}catch(_0x56305e){_0x184de4(_0x56305e);throw _0x56305e;}return{'ok':!![]};}async function _0x3ae236(_0x5ab0cf){const _0x26a8c1=_0x2e6011;if(!_0xc4d4fc())return;_0x370960=Date[_0x26a8c1(0x150)](),_0x28f377(_0x26a8c1(0x254)+_0x26a8c1(0x1a1)+'e\x20check\x20'+_0x26a8c1(0x273)+'d',{'reason':_0x5ab0cf});try{await _0x3ff6d7();}catch(_0x2e166b){_0x22f144(_0x26a8c1(0x254)+'nd\x20updat'+_0x26a8c1(0x156)+_0x26a8c1(0x189),{'reason':_0x5ab0cf,'error':getErrorMessage(_0x2e166b)});}}function _0x325521(_0x5df215){const _0x6adab=_0x2e6011;if(!_0x56bfed['supporte'+'d'])return;const _0x853d3d=Date[_0x6adab(0x150)]()-_0x370960;if(_0x853d3d<_0x4ac8c0[_0x6adab(0x254)+_0x6adab(0x22e)+_0x6adab(0x13d)])return;void _0x3ae236(_0x5df215);}function _0x1d3f66(){const _0x17a919=_0x2e6011;_0x31ca3b();if(!_0x56bfed['supporte'+'d']||_0x20c4ff)return;_0x20c4ff=setInterval(()=>{const _0x566c02=_0x482c;void _0x3ae236(_0x566c02(0x29f));},_0x4ac8c0[_0x17a919(0x254)+'ndCheckI'+'ntervalM'+'s']),void _0x3ae236(_0x17a919(0x18d)),_0x28f377('backgrou'+_0x17a919(0x1a1)+_0x17a919(0x156)+_0x17a919(0x28f)+'r\x20starte'+'d',_0x4ac8c0);}function _0x47ded2(){const _0xb880cb=_0x2e6011;if(_0x56bfed[_0xb880cb(0x1ec)]!==_0xb880cb(0x15a)+'ng')return;_0x2c14fd=!![],_0x53db9c();const _0x31842d=new Date()[_0xb880cb(0x1b9)+_0xb880cb(0x246)]();_0x1e430a({'milestones':{'beforeQuitObservedAt':_0x31842d}}),_0x28f377('update\x20b'+_0xb880cb(0x275)+_0xb880cb(0x260)+_0xb880cb(0x1bb),{'event':_0xb880cb(0x148)+_0xb880cb(0x18b)+_0xb880cb(0x183)+_0xb880cb(0x1bb),'elapsedMs':typeof _0x41cf53===_0xb880cb(0x298)?Date[_0xb880cb(0x150)]()-_0x41cf53:null});}function _0x5e2316(){const _0x4efeb9=_0x2e6011;return _0x56bfed[_0x4efeb9(0x1ec)]===_0x4efeb9(0x15a)+'ng';}function _0x2ec97d(){const _0x4addf7=_0x2e6011,_0x122b2c=_0x4b81fc();if(!_0x122b2c||typeof _0x122b2c!=='object')return null;const _0x15d118=new Date()[_0x4addf7(0x1b9)+'ing'](),_0x47a3a8=Date[_0x4addf7(0x158)](_0x122b2c[_0x4addf7(0x27c)+'t']),_0x36b2c3=Number[_0x4addf7(0x274)](_0x47a3a8)?Date[_0x4addf7(0x150)]()-_0x47a3a8:null,_0x49b2c4=_0x36b2c3,_0x189a58=!Number[_0x4addf7(0x274)](_0x49b2c4)||_0x49b2c4>INSTALL_PHASE_CONTEXT_STALE_MS,_0x285a30=_0x122b2c[_0x4addf7(0x271)+'es']&&typeof _0x122b2c[_0x4addf7(0x271)+'es']==='object'?_0x122b2c[_0x4addf7(0x271)+'es']:{};_0x28f377(_0x4addf7(0x25a)+_0x4addf7(0x1aa)+_0x4addf7(0x198)+_0x4addf7(0x141)+_0x4addf7(0x1f2)+'r\x20boot',{'event':_0x4addf7(0x168)+_0x4addf7(0x1b5)+_0x4addf7(0x29e)+_0x4addf7(0x23a)+'ded','previousVersion':_0x122b2c[_0x4addf7(0x25f)+_0x4addf7(0x290)]??null,'currentVersion':_0x575edb(),'downloadedVersion':_0x122b2c['download'+_0x4addf7(0x1bf)+'n']??null,'startedAt':_0x122b2c['startedA'+'t']??null,'bootCompletedAt':_0x15d118,'contextAgeMs':_0x49b2c4,'stale':_0x189a58,'milestones':_0x285a30});if(_0x189a58)return _0x22f144(_0x4addf7(0x1d1)+_0x4addf7(0x1c7)+'tall\x20pha'+_0x4addf7(0x267)+_0x4addf7(0x257)+'ed',{'event':_0x4addf7(0x168)+'nstall_p'+'hase_con'+_0x4addf7(0x248)+'le','previousVersion':_0x122b2c[_0x4addf7(0x25f)+'ersion']??null,'currentVersion':_0x575edb(),'downloadedVersion':_0x122b2c['download'+_0x4addf7(0x1bf)+'n']??null,'startedAt':_0x122b2c[_0x4addf7(0x27c)+'t']??null,'bootCompletedAt':_0x15d118,'contextAgeMs':_0x49b2c4}),_0xad1605(_0x122b2c,'stale-af'+_0x4addf7(0x26b),{'bootCompletedAt':_0x15d118,'totalElapsedMs':_0x36b2c3}),_0x161936(),null;return _0x28f377(_0x4addf7(0x13c)+_0x4addf7(0x20d)+_0x4addf7(0x200)+_0x4addf7(0x23c),{'event':'update_n'+_0x4addf7(0x1da)+_0x4addf7(0x1ae)+_0x4addf7(0x23c),'previousVersion':_0x122b2c[_0x4addf7(0x25f)+'ersion']??null,'currentVersion':_0x575edb(),'downloadedVersion':_0x122b2c[_0x4addf7(0x299)+_0x4addf7(0x1bf)+'n']??null,'pendingPackage':_0x122b2c[_0x4addf7(0x205)+'ackage']??null,'pendingPackageBytes':_0x122b2c['pendingP'+_0x4addf7(0x1b7)+'tes']??null,'startedAt':_0x122b2c[_0x4addf7(0x27c)+'t']??null,'bootCompletedAt':_0x15d118,'totalElapsedMs':_0x36b2c3,'milestones':_0x285a30}),_0xad1605(_0x122b2c,_0x4addf7(0x28a)+'-after-b'+_0x4addf7(0x1cf),{'bootCompletedAt':_0x15d118,'totalElapsedMs':_0x36b2c3}),_0x161936(),{'previousVersion':_0x122b2c[_0x4addf7(0x25f)+_0x4addf7(0x290)]??null,'currentVersion':_0x575edb(),'downloadedVersion':_0x122b2c['download'+'edVersio'+'n']??null,'totalElapsedMs':_0x36b2c3,'bootCompletedAt':_0x15d118};}return{'initialize':_0x31ca3b,'getState':_0x306864,'checkForUpdates':_0x3ff6d7,'downloadUpdate':_0x435f1e,'quitAndInstall':_0x3b3d40,'requestBackgroundCheck':_0x325521,'startBackgroundChecks':_0x1d3f66,'markQuitObserved':_0x47ded2,'isInstallingUpdate':_0x5e2316,'recordBootAfterInstall':_0x2ec97d};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
(function(_0x22761c,_0x6936fd){const _0x1b7fe9=_0x23a7,_0x39eb7a=_0x22761c();while(!![]){try{const _0x3754b0=-parseInt(_0x1b7fe9(0xba))/0x1*(parseInt(_0x1b7fe9(0xc2))/0x2)+-parseInt(_0x1b7fe9(0xb1))/0x3*(parseInt(_0x1b7fe9(0xc7))/0x4)+-parseInt(_0x1b7fe9(0xd3))/0x5*(-parseInt(_0x1b7fe9(0xa2))/0x6)+-parseInt(_0x1b7fe9(0xbd))/0x7+-parseInt(_0x1b7fe9(0xa6))/0x8+-parseInt(_0x1b7fe9(0xb6))/0x9*(parseInt(_0x1b7fe9(0xc4))/0xa)+-parseInt(_0x1b7fe9(0xd0))/0xb*(-parseInt(_0x1b7fe9(0xc1))/0xc);if(_0x3754b0===_0x6936fd)break;else _0x39eb7a['push'](_0x39eb7a['shift']());}catch(_0x25d8e7){_0x39eb7a['push'](_0x39eb7a['shift']());}}}(_0x4bbe,0xb764b));import _0x5407d0 from'electron';function _0x4bbe(){const _0x58985a=['trim','OT_FOUND','51945BHpREM','o\x20load\x20e','./contro','app:upda','createUp','791397UeJoXp','te-state','dater\x20is','ller.mjs','615058IIdbCC','\x20unavail','bled\x20bec','8859914ySSUye','channel','updates/','er.mjs\x20d','41988900pseqNE','2NpGnLF','ERR_MODU','130VYNzth','updater\x20','yed','132HngdEZ','able','auto\x20upd','object','webConte','failed\x20t','reateUpd','updates','alpha','11YQUaon','message','ate\x20disa','804755uGVXBw','dependen','lectron-','includes','\x27electro','missing-','warn','用状态','roller','缺失,已降级为禁','LE_NOT_F','nts','自动更新依赖\x20e','54UQgbIL','send','export\x20c','未知的自动更新错','4809368cBblkG','oller','getAllWi','OUND','unsuppor','oes\x20not\x20','code','\x22electro','n-update'];_0x4bbe=function(){return _0x58985a;};return _0x4bbe();}const {BrowserWindow}=_0x5407d0;function getErrorMessage(_0x13d88f){const _0x3cdcb3=_0x23a7;if(_0x13d88f instanceof Error&&_0x13d88f[_0x3cdcb3(0xd1)][_0x3cdcb3(0xaf)]())return _0x13d88f[_0x3cdcb3(0xd1)]['trim']();if(typeof _0x13d88f==='string'&&_0x13d88f[_0x3cdcb3(0xaf)]())return _0x13d88f[_0x3cdcb3(0xaf)]();return _0x3cdcb3(0xa5)+'误';}function createUnavailableUpdateController({shellConfig:_0x2ef06e,appVersion:_0x13cd72,broadcast:_0x3f9eba,logger:_0x5170c2,reason:_0x391d7b}){const _0x352401=_0x23a7,_0x1c2060=_0x2ef06e[_0x352401(0xce)]??{},_0x145b72={'supported':![],'channel':_0x1c2060[_0x352401(0xbe)]==='alpha'?_0x352401(0xcf):'latest','phase':_0x352401(0xaa)+'ted','currentVersion':_0x13cd72(),'remoteVersion':null,'comparisonResult':'unknown','hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'releaseName':null,'releaseDate':null,'releaseNotes':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,'hasPendingPackage':![],'pendingPackageName':null,'pendingPackageBytes':null,'checkedAt':null,'message':_0x391d7b,'error':null,'errorCode':_0x352401(0xd8)+_0x352401(0xd4)+'cy'};let _0x5f310c=![];function _0x1a0028(){return{..._0x145b72,'currentVersion':_0x13cd72()};}function _0x19abb3(){const _0x11bebb=_0x352401,_0x32a76c=_0x1a0028();for(const _0x3f945e of BrowserWindow?.[_0x11bebb(0xa8)+'ndows']?.()??[]){!_0x3f945e['isDestro'+_0x11bebb(0xc6)]()&&_0x3f945e[_0x11bebb(0xcb)+_0x11bebb(0xde)][_0x11bebb(0xa3)](_0x11bebb(0xb4)+_0x11bebb(0xb7),_0x32a76c);}_0x3f9eba?.(_0x11bebb(0xb4)+_0x11bebb(0xb7),_0x32a76c);}function _0x4af626(){const _0x2b8031=_0x352401;if(_0x5f310c)return;_0x5f310c=!![],_0x5170c2?.[_0x2b8031(0xd9)]?.(_0x2b8031(0xc9)+_0x2b8031(0xd2)+_0x2b8031(0xbc)+'ause\x20ele'+'ctron-up'+_0x2b8031(0xb8)+_0x2b8031(0xbb)+_0x2b8031(0xc8),{'reason':_0x391d7b}),_0x19abb3();}function _0xd829ea(){throw new Error(_0x391d7b);}async function _0x17e999(){_0x4af626(),_0xd829ea();}async function _0x587c4b(){_0x4af626(),_0xd829ea();}async function _0xbb794f(){_0x4af626(),_0xd829ea();}function _0x5c6faf(){}function _0x534d23(){_0x4af626();}function _0x1a9502(){}function _0x34f2a8(){return![];}function _0x1a1211(){return null;}return{'initialize':_0x4af626,'getState':_0x1a0028,'checkForUpdates':_0x17e999,'downloadUpdate':_0x587c4b,'quitAndInstall':_0xbb794f,'requestBackgroundCheck':_0x5c6faf,'startBackgroundChecks':_0x534d23,'markQuitObserved':_0x1a9502,'isInstallingUpdate':_0x34f2a8,'recordBootAfterInstall':_0x1a1211};}function isElectronUpdaterMissingError(_0x4b53e9){const _0x41a29e=_0x23a7;if(!_0x4b53e9)return![];if(_0x4b53e9&&typeof _0x4b53e9===_0x41a29e(0xca)&&'code'in _0x4b53e9&&(_0x4b53e9[_0x41a29e(0xac)]===_0x41a29e(0xc3)+_0x41a29e(0xdd)+_0x41a29e(0xa9)||_0x4b53e9['code']==='MODULE_N'+_0x41a29e(0xb0))){const _0x4fce24=getErrorMessage(_0x4b53e9);return _0x4fce24[_0x41a29e(0xd6)](_0x41a29e(0xd7)+_0x41a29e(0xae)+'r\x27')||_0x4fce24[_0x41a29e(0xd6)](_0x41a29e(0xad)+_0x41a29e(0xae)+'r\x22');}return![];}export async function loadCreateUpdateController({logger:_0x4fedab,importer:importer=_0x36afac=>import(_0x36afac)}={}){const _0x2d7168=_0x23a7;try{const _0x25c94c=await importer(_0x2d7168(0xb3)+_0x2d7168(0xb9));if(typeof _0x25c94c[_0x2d7168(0xb5)+'dateCont'+_0x2d7168(0xdb)]!=='function')throw new TypeError(_0x2d7168(0xbf)+'controll'+_0x2d7168(0xc0)+_0x2d7168(0xab)+_0x2d7168(0xa4)+_0x2d7168(0xcd)+'ateContr'+_0x2d7168(0xa7));return _0x25c94c[_0x2d7168(0xb5)+'dateCont'+_0x2d7168(0xdb)];}catch(_0x10494e){if(!isElectronUpdaterMissingError(_0x10494e))throw _0x10494e;const _0x131ed3=_0x2d7168(0xa1)+_0x2d7168(0xd5)+_0x2d7168(0xc5)+_0x2d7168(0xdc)+_0x2d7168(0xda);return _0x4fedab?.[_0x2d7168(0xd9)]?.(_0x2d7168(0xcc)+_0x2d7168(0xb2)+_0x2d7168(0xd5)+'updater',{'error':getErrorMessage(_0x10494e),'reason':_0x131ed3}),_0x2c08a7=>createUnavailableUpdateController({..._0x2c08a7,'logger':_0x2c08a7?.['logger']??_0x4fedab,'reason':_0x131ed3});}}function _0x23a7(_0x2461cf,_0xf97276){_0x2461cf=_0x2461cf-0xa1;const _0x4bbe4f=_0x4bbe();let _0x23a7e8=_0x4bbe4f[_0x2461cf];return _0x23a7e8;}export const __test__={'createUnavailableUpdateController':createUnavailableUpdateController,'isElectronUpdaterMissingError':isElectronUpdaterMissingError};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wujie-shell/core",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.7",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/src/index.mjs",
|
|
6
6
|
"exports": {
|
|
@@ -22,8 +22,8 @@
|
|
|
22
22
|
"get-port": "^7.2.0",
|
|
23
23
|
"semver": "^7.8.3",
|
|
24
24
|
"ws": "^8.20.0",
|
|
25
|
-
"@wujie-shell/config": "1.0.
|
|
26
|
-
"@wujie-shell/logger": "1.0.
|
|
25
|
+
"@wujie-shell/config": "1.0.7",
|
|
26
|
+
"@wujie-shell/logger": "1.0.7"
|
|
27
27
|
},
|
|
28
28
|
"scripts": {
|
|
29
29
|
"build": "node ../../scripts/build-packages.mjs --package @wujie-shell/core"
|