Files
ST-Amily2-Chat-Optimisation/core/historiographer.js
2025-07-15 18:05:23 +08:00

2 lines
18 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
const _0x1b223=_0x33d1;(function(_0x5ae857,_0x53c7b3){const _0x549198=_0x33d1,_0x30ad6c=_0x5ae857();while(!![]){try{const _0x137551=-parseInt(_0x549198(0x93))/0x1+parseInt(_0x549198(0x74))/0x2*(-parseInt(_0x549198(0x9a))/0x3)+parseInt(_0x549198(0xb1))/0x4+-parseInt(_0x549198(0x9d))/0x5*(parseInt(_0x549198(0x6e))/0x6)+-parseInt(_0x549198(0x69))/0x7*(parseInt(_0x549198(0x81))/0x8)+parseInt(_0x549198(0x6d))/0x9*(-parseInt(_0x549198(0x7e))/0xa)+parseInt(_0x549198(0xef))/0xb*(parseInt(_0x549198(0xa3))/0xc);if(_0x137551===_0x53c7b3)break;else _0x30ad6c['push'](_0x30ad6c['shift']());}catch(_0x1d555f){_0x30ad6c['push'](_0x30ad6c['shift']());}}}(_0x5b12,0x81610));import{getContext,extension_settings}from'/scripts/extensions.js';import{characters}from'/script.js';import{world_names,loadWorldInfo,createNewWorldInfo,createWorldInfoEntry,saveWorldInfo}from'/scripts/world-info.js';function _0x33d1(_0x394ac5,_0x185de0){const _0x5b12b8=_0x5b12();return _0x33d1=function(_0x33d1d5,_0x2c3d73){_0x33d1d5=_0x33d1d5-0x64;let _0x2dc757=_0x5b12b8[_0x33d1d5];return _0x2dc757;},_0x33d1(_0x394ac5,_0x185de0);}import{extensionName}from'../utils/settings.js';import{getChatIdentifier}from'./lore.js';import{isGoogleEndpoint,convertToGoogleRequest,parseGoogleResponse,buildGoogleApiUrl}from'../core/utils/googleAdapter.js';import{intelligentPoll,createGooglePollingTask}from'../core/utils/pollingManager.js';let isExpeditionRunning=![],manualStopRequested=![];async function callAmily2Model(_0x35396f){const _0x4b1e30=_0x33d1,_0x5cd49c=extension_settings[extensionName],{apiUrl:_0x4ebb72,apiKey:_0x24ccf1,model:_0x221b75,temperature:_0x35ac0c,maxTokens:_0x1032a8}=_0x5cd49c;if(!_0x4ebb72||!_0x221b75)return toastr[_0x4b1e30(0x8a)](_0x4b1e30(0xc6),_0x4b1e30(0x7b)),null;const _0x2b35f3=isGoogleEndpoint(_0x4ebb72);try{let _0x1711ea;if(_0x2b35f3)_0x1711ea=buildGoogleApiUrl(_0x4ebb72,_0x221b75),console['log']('[大史官-Google外交部]\x20修正后的API地址:\x20'+_0x1711ea);else{const _0x7a8d7f=new URL(_0x4ebb72),_0x4b0602=_0x7a8d7f[_0x4b1e30(0xb0)][_0x4b1e30(0xa4)](_0x4b1e30(0xb4))||_0x7a8d7f[_0x4b1e30(0xb0)][_0x4b1e30(0xa4)]('/v1beta/openai');if(_0x4b0602)_0x1711ea=_0x4ebb72;else{let _0x446b78=_0x7a8d7f[_0x4b1e30(0xb0)];if(_0x446b78[_0x4b1e30(0xa4)](_0x4b1e30(0xd6)))_0x446b78=_0x446b78[_0x4b1e30(0xcd)](0x0,-0x1);else{if(_0x446b78[_0x4b1e30(0xa4)](_0x4b1e30(0xbf)))_0x446b78=_0x446b78[_0x4b1e30(0xcd)](0x0,-0x2);}_0x7a8d7f['pathname']=_0x446b78['replace'](/\/$/,'')+_0x4b1e30(0xb4),_0x1711ea=_0x7a8d7f[_0x4b1e30(0x7a)];}}console['groupCollapsed'](_0x4b1e30(0x75)+new Date()[_0x4b1e30(0xe8)]()),console[_0x4b1e30(0x96)](_0x4b1e30(0xe5)+_0x1711ea),console['log'](_0x4b1e30(0x9f),{'model':_0x221b75,'temperature':_0x35ac0c,'maxTokens':_0x1032a8}),console[_0x4b1e30(0x96)](_0x4b1e30(0xc2)),console[_0x4b1e30(0x91)](_0x35396f),console[_0x4b1e30(0xda)]();let _0x512bdb={'Content-Type':_0x4b1e30(0xa0)};_0x2b35f3?_0x4ebb72[_0x4b1e30(0x8b)](_0x4b1e30(0xaf))||_0x4ebb72[_0x4b1e30(0x8b)](_0x4b1e30(0x6c))?_0x512bdb[_0x4b1e30(0x8c)]=_0x4b1e30(0xe3)+_0x24ccf1:_0x512bdb['X-goog-api-key']=_0x24ccf1:_0x512bdb[_0x4b1e30(0x8c)]=_0x4b1e30(0xe3)+_0x24ccf1;let _0x48d187;_0x2b35f3?_0x48d187=JSON['stringify'](convertToGoogleRequest({'model':_0x221b75,'messages':_0x35396f,'temperature':_0x35ac0c,'max_tokens':_0x1032a8})):_0x48d187=JSON[_0x4b1e30(0xa8)]({'model':_0x221b75,'messages':_0x35396f,'temperature':_0x35ac0c,'max_tokens':_0x1032a8,'stream':![]});const _0x535fb5=await fetch(_0x1711ea,{'method':_0x4b1e30(0xaa),'headers':_0x512bdb,'body':_0x48d187});if(!_0x535fb5['ok']){const _0xaada5b=await _0x535fb5[_0x4b1e30(0xa5)]();console[_0x4b1e30(0x8a)](_0x4b1e30(0xb5),_0x535fb5['status'],_0xaada5b);throw new Error('模型B召唤失败:\x20'+_0x535fb5[_0x4b1e30(0x9e)]+_0x4b1e30(0xdf)+_0xaada5b);}let _0x2f6f43=await _0x535fb5['json']();if(_0x2b35f3&&_0x2f6f43[_0x4b1e30(0xd5)]&&_0x2f6f43[_0x4b1e30(0x66)]){console[_0x4b1e30(0x96)]('[大史官-Google外交部]\x20收到异步操作ID启用轮询机制...');let _0x24dc49;try{const _0x228c3b=new URL(_0x4ebb72);_0x24dc49=_0x228c3b['protocol']+'//'+_0x228c3b[_0x4b1e30(0x80)];}catch{_0x24dc49=_0x4ebb72;}const _0x4f0108=createGooglePollingTask(_0x2f6f43['name'],_0x24dc49,_0x512bdb),_0x4cd3c2={'maxAttempts':0x5,'baseDelay':0xbb8,'shouldStop':_0x4af811=>_0x4af811[_0x4b1e30(0xb9)],'onError':_0x213489=>console[_0x4b1e30(0x8a)](_0x4b1e30(0xd4),_0x213489)},_0xd1abce=await intelligentPoll(_0x4f0108,_0x4cd3c2);if(!_0xd1abce['response'])throw new Error('轮询完成但未获得有效响应');_0x2f6f43=_0xd1abce['response'];}const _0x1211bf=_0x2b35f3?parseGoogleResponse(_0x2f6f43)?.[_0x4b1e30(0x7c)]?.[0x0]?.[_0x4b1e30(0xf4)]?.[_0x4b1e30(0xba)]:_0x2f6f43?.['choices']?.[0x0]?.['message']?.[_0x4b1e30(0xba)];return _0x1211bf;}catch(_0x3ea0a9){return console[_0x4b1e30(0x8a)]('[大史官-通讯异常]',_0x3ea0a9),toastr[_0x4b1e30(0x8a)](_0x4b1e30(0x79)+_0x3ea0a9[_0x4b1e30(0xf4)],_0x4b1e30(0xd8)),null;}}const RUNNING_LOG_COMMENT=_0x1b223(0xa6),PROGRESS_SEAL_REGEX=/本条勿动【前(\d+)楼总结已完成】否则后续总结无法进行。$/;async function readGoldenLedgerProgress(_0x80252c){const _0x4de2f6=_0x1b223;if(!_0x80252c)return 0x0;try{const _0x2c05c5=await loadWorldInfo(_0x80252c);if(!_0x2c05c5||!_0x2c05c5['entries'])return 0x0;const _0x2fa05d=Object[_0x4de2f6(0xca)](_0x2c05c5[_0x4de2f6(0xf5)])[_0x4de2f6(0xec)](_0x28ebf7=>_0x28ebf7[_0x4de2f6(0xd3)]===RUNNING_LOG_COMMENT&&!_0x28ebf7[_0x4de2f6(0x99)]);if(!_0x2fa05d)return 0x0;const _0x2e0a84=_0x2fa05d[_0x4de2f6(0xba)][_0x4de2f6(0xab)](PROGRESS_SEAL_REGEX);return _0x2e0a84?parseInt(_0x2e0a84[0x1],0xa):0x0;}catch(_0x594109){return console[_0x4de2f6(0x8a)]('[大史官]\x20阅览《'+_0x80252c+'》天机时出错:',_0x594109),0x0;}}export async function checkAndTriggerAutoSummary(){const _0x7f2617=_0x1b223,_0x239f3b=extension_settings[extensionName];if(!_0x239f3b['historiographySmallAutoEnable'])return;const _0x48963e=getContext();let _0x4ea88c=null;switch(_0x239f3b['lorebookTarget']){case _0x7f2617(0xc5):_0x4ea88c=characters[_0x48963e[_0x7f2617(0x95)]]?.[_0x7f2617(0x72)]?.[_0x7f2617(0x9c)]?.[_0x7f2617(0x76)];break;case _0x7f2617(0xc8):const _0x509dd0=await getChatIdentifier();_0x4ea88c=_0x7f2617(0x8d)+_0x509dd0;break;default:return;}if(!_0x4ea88c)return;const _0x74deaf=await readGoldenLedgerProgress(_0x4ea88c),_0x2decd8=_0x48963e['chat'][_0x7f2617(0x90)],_0x35b295=_0x2decd8-_0x74deaf;if(_0x35b295>=_0x239f3b[_0x7f2617(0xf3)]){const _0x235374=_0x74deaf+0x1,_0x5652f1=_0x2decd8;await executeManualSummary(_0x235374,_0x5652f1,!![]);}}export async function getAvailableWorldbooks(){return[...world_names];}export async function getLoresForWorldbook(_0x550acc){const _0x134eef=_0x1b223;if(!_0x550acc)return[];try{const _0x1c9534=await loadWorldInfo(_0x550acc);if(!_0x1c9534||!_0x1c9534['entries'])return[];return Object[_0x134eef(0xf5)](_0x1c9534[_0x134eef(0xf5)])[_0x134eef(0x92)](([,_0x4c44c6])=>!_0x4c44c6['disable'])[_0x134eef(0x68)](([_0x74230e,_0x497957])=>({'key':_0x74230e,'comment':_0x497957[_0x134eef(0xd3)]||_0x134eef(0xeb)}));}catch(_0x3e9021){return console['error'](_0x134eef(0x88)+_0x550acc+'》时出错:',_0x3e9021),[];}}function _0x5b12(){const _0xd1d25c=['split','凯旋!远征大捷!所有未载之史均已化为帝国永恒的记忆!','loreInsertionPosition','Bearer\x20','未知的史册写入目标,远征军无法开拔!','【目标地址】:\x20','遵旨!正在为您重铸《','warning','toLocaleTimeString','loreDepth','success','无标题条目','find','史册条目中无可供重铸的内容。','停战敕令已下达!远征军将在完成当前批次的任务后休整。','11rmYVdA','宏史卷重铸完毕','ceil','国库空虚','historiographySmallTriggerThreshold','message','entries','找不到指定的史册条目,重铸任务中止。','远征军已在途中,无需重复下令。','metadata','国史馆','map','14wORVKr','loreActivationMode','国史已是最新,远征军无需出动。','us-central1','3934422fpVdlE','5485938MrnoPW','远征已遵从您的敕令暂停!随时可以【继续远征】。','微言录\x20(手动)','historiographySmallJailbreakPrompt','data','historiographySmallSummaryPrompt','243562tbODhy','[Amily2-大史官]\x20准备向模型B发送机密信函...\x20@\x20','world','dispatchEvent','鸣金收兵','与模型B通讯时发生异常:\x20','href','通讯中断','choices','is_user','10poYBam','远征失败','host','1607248TjJDEM','史册已成功重铸,并保存于《','远征开始','join','以下内容是【1楼-','chat','楼总结已完成】否则后续总结无法进行。','[大史官]\x20检阅《','loreKeywords','error','includes','Authorization','Amily2-Lore-','重铸史册时发生错误。','lorebookTarget','length','table','filter','1009730CacNtP','请严格根据以下“对话记录”中的内容进行总结,不要添加任何额外信息。\x0a\x0a<对话记录>\x0a','characterId','log','user','》中的【微言录合集】...','disable','6TZWYKv','name1','extensions','5yApkOj','status','【信函参数】','application/json','historiographyLargeRefinePrompt','圣谕不明','30915744KqWPYY','endsWith','text','【敕史局】对话流水总帐','远征已在准备阶段遵令暂停!','stringify','宏史卷重铸','POST','match','mes','远征军已在营中,无需下达停战敕令。','楼详细总结记录】\x0a','aiplatform.googleapis.com','pathname','3840836JtLNMt','遵旨!正在为您熔铸\x20','assign','/v1/chat/completions','[大史官-通讯失败]','当前角色未绑定主世界书,无法写入总结。','system','圣谕悉知','done','content','圣谕有误','\x20批次战役准备中...\x20(','远征军已开拔!目标:','选定的楼层范围内无有效对话。','/v1','未知的史册写入指令','amily2-expedition-state-change','【信函正文\x20(messages)】:','当前角色未绑定主世界书,远征军无法开拔!','\x20层历史分\x20','character_main','API\x20URL或模型未配置大史官无法召唤模型B。','info','dedicated','min','values','编年史已成功更新!','trim','slice','楼】已发生的剧情回顾。\x0a\x0a---\x0a\x0a','\x20至\x20','\x20(宏史卷重铸)','远征途中遭遇重大挫折,任务中止!您可以随时【继续远征】。','name2','comment','[轮询错误]','name','/v1/','远征完毕','通讯异常','[大史官-远征失败]','groupEnd','replace','\x0a</对话记录>','always','请将以下多个零散的“详细总结记录”提炼并融合成一段连贯的章节历史。原文如下:\x0a\x0a','\x20-\x20'];_0x5b12=function(){return _0xd1d25c;};return _0x5b12();}export async function executeManualSummary(_0x28e250,_0x23ae7c,_0x5e36e4=![]){const _0x1c9345=_0x1b223,_0x3db757=_0x5e36e4?'微言录\x20(自动)':_0x1c9345(0x70);toastr[_0x1c9345(0xc7)](_0x1c9345(0xb2)+_0x28e250+_0x1c9345(0xcf)+_0x23ae7c+'\x20层的对话历史...',_0x3db757);const _0x194b9f=getContext(),_0x208b28=_0x194b9f[_0x1c9345(0x86)],_0x1ffab7=extension_settings[extensionName],_0x4bdac9=_0x208b28['slice'](_0x28e250,_0x23ae7c+0x1);if(_0x4bdac9[_0x1c9345(0x90)]===0x0){toastr[_0x1c9345(0xe7)](_0x1c9345(0xbe),_0x1c9345(0xbb));return;}const _0x283662=_0x194b9f[_0x1c9345(0x9b)]||'用户',_0x4889b5=_0x194b9f[_0x1c9345(0xd2)]||'角色',_0x5bf0d4=_0x4bdac9[_0x1c9345(0x68)](_0x5b4452=>{const _0x1c2c75=_0x1c9345,_0x5daef2=_0x5b4452[_0x1c2c75(0x7d)]?_0x283662:_0x4889b5;return _0x5daef2+':\x20'+_0x5b4452[_0x1c2c75(0xac)]['trim']();})[_0x1c9345(0x84)]('\x0a'),_0x20325f=[{'role':_0x1c9345(0xb7),'content':_0x1ffab7[_0x1c9345(0x71)]},{'role':'system','content':_0x1ffab7[_0x1c9345(0x73)]},{'role':_0x1c9345(0x97),'content':_0x1c9345(0x94)+_0x5bf0d4+_0x1c9345(0xdc)}],_0x1b059c=await callAmily2Model(_0x20325f);if(!_0x1b059c)return;try{let _0x13c3a1=null;switch(_0x1ffab7[_0x1c9345(0x8f)]){case _0x1c9345(0xc5):_0x13c3a1=characters[_0x194b9f[_0x1c9345(0x95)]]?.['data']?.[_0x1c9345(0x9c)]?.[_0x1c9345(0x76)];if(!_0x13c3a1){toastr[_0x1c9345(0x8a)](_0x1c9345(0xb6),_0x1c9345(0x67));return;}break;case'dedicated':const _0x1a4585=await getChatIdentifier();_0x13c3a1=_0x1c9345(0x8d)+_0x1a4585;!world_names[_0x1c9345(0x8b)](_0x13c3a1)&&await createNewWorldInfo(_0x13c3a1);break;default:toastr[_0x1c9345(0x8a)](_0x1c9345(0xc0),'圣谕不明');return;}const _0x408da9=await loadWorldInfo(_0x13c3a1),_0x46abc0=Object[_0x1c9345(0xca)](_0x408da9[_0x1c9345(0xf5)])['find'](_0x577970=>_0x577970[_0x1c9345(0xd3)]===RUNNING_LOG_COMMENT&&!_0x577970['disable']),_0x1e18a6='\x0a\x0a本条勿动【前'+_0x23ae7c+_0x1c9345(0x87),_0x203112='\x0a\x0a---\x0a\x0a【'+_0x28e250+'楼至'+_0x23ae7c+_0x1c9345(0xae)+_0x1b059c;if(_0x46abc0){const _0x2b0a45=_0x46abc0[_0x1c9345(0xba)]['replace'](PROGRESS_SEAL_REGEX,'')['trim']();_0x46abc0[_0x1c9345(0xba)]=_0x2b0a45+_0x203112+_0x1e18a6;}else{const _0x3c3700='以下是依照顺序已发生剧情'+_0x203112,_0x847f4a=createWorldInfoEntry(_0x13c3a1,_0x408da9),_0x38d49b=_0x1ffab7[_0x1c9345(0x89)][_0x1c9345(0xe0)](',')[_0x1c9345(0x68)](_0xa5fe5d=>_0xa5fe5d[_0x1c9345(0xcc)]())['filter'](Boolean),_0x2b86d8=_0x1ffab7[_0x1c9345(0x6a)]===_0x1c9345(0xdd),_0x467286={'before_char':0x0,'after_char':0x1,'before_an':0x2,'after_an':0x3,'at_depth':0x4};Object[_0x1c9345(0xb3)](_0x847f4a,{'comment':RUNNING_LOG_COMMENT,'content':_0x3c3700+_0x1e18a6,'key':_0x38d49b,'constant':_0x2b86d8,'position':_0x467286[_0x1ffab7[_0x1c9345(0xe2)]]??0x4,'depth':_0x1ffab7[_0x1c9345(0xe9)],'disable':![]});}await saveWorldInfo(_0x13c3a1,_0x408da9,!![]),toastr['success'](_0x1c9345(0xcb),_0x3db757+'完毕');}catch(_0x530b8f){console[_0x1c9345(0x8a)]('[大史官]\x20'+_0x3db757+'写入失败:',_0x530b8f),toastr[_0x1c9345(0x8a)]('写入'+_0x3db757+'时发生错误。','国史馆');}}export async function executeRefinement(_0x58918f,_0x1499f6){const _0x66408f=_0x1b223;toastr['info'](_0x66408f(0xe6)+_0x58918f+_0x66408f(0x98),_0x66408f(0xa9));try{const _0x2bcd90=await loadWorldInfo(_0x58918f),_0x4d5b8c=_0x2bcd90?.[_0x66408f(0xf5)][_0x1499f6];if(!_0x4d5b8c){toastr[_0x66408f(0x8a)](_0x66408f(0x64),'圣谕有误');return;}const _0x8348fd=_0x4d5b8c[_0x66408f(0xba)],_0xd03294=extension_settings[extensionName];let _0x5ae79c=_0x8348fd,_0x4d00d0='',_0x2e5972=0x0;const _0x2e3991=_0x8348fd[_0x66408f(0xab)](PROGRESS_SEAL_REGEX);_0x2e3991&&(_0x4d00d0=_0x2e3991[0x0],_0x2e5972=parseInt(_0x2e3991[0x1],0xa),_0x5ae79c=_0x8348fd[_0x66408f(0xdb)](PROGRESS_SEAL_REGEX,'')[_0x66408f(0xcc)]());if(!_0x5ae79c[_0x66408f(0xcc)]()){toastr['warning'](_0x66408f(0xed),_0x66408f(0xf2));return;}const _0x184763=[{'role':_0x66408f(0xb7),'content':_0xd03294['historiographyLargeJailbreakPrompt']},{'role':_0x66408f(0xb7),'content':_0xd03294[_0x66408f(0xa1)]},{'role':_0x66408f(0x97),'content':_0x66408f(0xde)+_0x5ae79c}],_0x40d287=await callAmily2Model(_0x184763);if(!_0x40d287)return;const _0x1a2897=_0x66408f(0x85)+_0x2e5972+_0x66408f(0xce),_0x47df96=_0x1a2897+_0x40d287;_0x4d5b8c[_0x66408f(0xba)]=_0x47df96+('\x0a\x0a'+_0x4d00d0),_0x4d5b8c['comment']=_0x4d5b8c['comment'][_0x66408f(0xdb)](/\s*\(已精炼\)|\s*\(宏史卷重铸\)/g,''),_0x4d5b8c[_0x66408f(0xd3)]+=_0x66408f(0xd0),await saveWorldInfo(_0x58918f,_0x2bcd90,!![]),toastr[_0x66408f(0xea)](_0x66408f(0x82)+_0x58918f+'》!',_0x66408f(0xf0));}catch(_0x5367bf){console[_0x66408f(0x8a)]('[大史官]\x20重铸任务失败:',_0x5367bf),toastr['error'](_0x66408f(0x8e),_0x66408f(0x67));}}export async function executeExpedition(){const _0x5eaeab=_0x1b223;if(isExpeditionRunning){toastr[_0x5eaeab(0xc7)](_0x5eaeab(0x65),'圣谕悉知');return;}isExpeditionRunning=!![],manualStopRequested=![],document[_0x5eaeab(0x77)](new CustomEvent('amily2-expedition-state-change',{'detail':{'isRunning':!![]}}));try{const _0x6bd9c8=extension_settings[extensionName],_0x38a61d=getContext();let _0xc17733=null;switch(_0x6bd9c8[_0x5eaeab(0x8f)]){case _0x5eaeab(0xc5):_0xc17733=characters[_0x38a61d['characterId']]?.[_0x5eaeab(0x72)]?.[_0x5eaeab(0x9c)]?.['world'];if(!_0xc17733){toastr[_0x5eaeab(0x8a)](_0x5eaeab(0xc3),_0x5eaeab(0xa2)),isExpeditionRunning=![],document[_0x5eaeab(0x77)](new CustomEvent(_0x5eaeab(0xc1),{'detail':{'isRunning':![],'manualStop':![]}}));return;}break;case'dedicated':const _0x277d09=await getChatIdentifier();_0xc17733=_0x5eaeab(0x8d)+_0x277d09;break;default:toastr[_0x5eaeab(0x8a)](_0x5eaeab(0xe4),_0x5eaeab(0xa2)),isExpeditionRunning=![],document['dispatchEvent'](new CustomEvent('amily2-expedition-state-change',{'detail':{'isRunning':![],'manualStop':![]}}));return;}const _0x1d0237=await readGoldenLedgerProgress(_0xc17733),_0x23edd8=_0x38a61d[_0x5eaeab(0x86)][_0x5eaeab(0x90)],_0x2a3830=_0x23edd8-_0x1d0237;if(_0x2a3830<=0x0){toastr[_0x5eaeab(0xc7)](_0x5eaeab(0x6b),'凯旋'),isExpeditionRunning=![],document[_0x5eaeab(0x77)](new CustomEvent('amily2-expedition-state-change',{'detail':{'isRunning':![],'manualStop':![]}}));return;}const _0x330cd0=_0x6bd9c8[_0x5eaeab(0xf3)],_0x483dc1=Math[_0x5eaeab(0xf1)](_0x2a3830/_0x330cd0);toastr[_0x5eaeab(0xc7)](_0x5eaeab(0xbd)+_0x2a3830+_0x5eaeab(0xc4)+_0x483dc1+'\x20批次征服',_0x5eaeab(0x83));let _0x23d349=_0x1d0237;for(let _0x146248=0x0;_0x146248<_0x483dc1;_0x146248++){if(manualStopRequested){toastr[_0x5eaeab(0xe7)](_0x5eaeab(0x6f),_0x5eaeab(0x78));break;}const _0x3ad2d0=_0x23d349+0x1,_0x2c8b9c=Math[_0x5eaeab(0xc9)](_0x23d349+_0x330cd0,_0x23edd8),_0x3f17a6='远征战役\x20('+(_0x146248+0x1)+'/'+_0x483dc1+')',_0x11084a=0x7d0;_0x146248>0x0&&(toastr['info']('第\x20'+(_0x146248+0x1)+_0x5eaeab(0xbc)+_0x11084a/0x3e8+'秒后接敌)',_0x3f17a6),await new Promise(_0x5a590e=>setTimeout(_0x5a590e,_0x11084a)));if(manualStopRequested){toastr[_0x5eaeab(0xe7)](_0x5eaeab(0xa7),_0x5eaeab(0x78));break;}await executeManualSummary(_0x3ad2d0,_0x2c8b9c,!![]),_0x23d349=_0x2c8b9c;}!manualStopRequested&&toastr['success'](_0x5eaeab(0xe1),_0x5eaeab(0xd7));}catch(_0x5166a5){console[_0x5eaeab(0x8a)](_0x5eaeab(0xd9),_0x5166a5),toastr[_0x5eaeab(0x8a)](_0x5eaeab(0xd1),_0x5eaeab(0x7f));}finally{isExpeditionRunning=![],document[_0x5eaeab(0x77)](new CustomEvent(_0x5eaeab(0xc1),{'detail':{'isRunning':![],'manualStop':manualStopRequested}}));}}export function stopExpedition(){const _0x45692d=_0x1b223;isExpeditionRunning?(manualStopRequested=!![],toastr[_0x45692d(0xc7)](_0x45692d(0xee),'圣谕传达')):toastr[_0x45692d(0xe7)](_0x45692d(0xad),_0x45692d(0xb8));}