From 68623c40ab092f3fb22cf0d6feb696615d80477f Mon Sep 17 00:00:00 2001 From: Wx-2025 <351320169@qq.com> Date: Mon, 6 Oct 2025 03:27:24 +0800 Subject: [PATCH] Update manager.js --- core/table-system/manager.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/table-system/manager.js b/core/table-system/manager.js index 3404fc3..aeade93 100644 --- a/core/table-system/manager.js +++ b/core/table-system/manager.js @@ -1 +1 @@ -const _0x195f36=_0x57e9;(function(_0x3c906f,_0x44f3db){const _0x3466ad=_0x57e9,_0x26cbd7=_0x3c906f();while(!![]){try{const _0x1d0816=parseInt(_0x3466ad(0x17f))/0x1+parseInt(_0x3466ad(0x19d))/0x2+-parseInt(_0x3466ad(0x1ab))/0x3*(parseInt(_0x3466ad(0x182))/0x4)+-parseInt(_0x3466ad(0x175))/0x5+-parseInt(_0x3466ad(0x202))/0x6*(-parseInt(_0x3466ad(0x201))/0x7)+parseInt(_0x3466ad(0x1d2))/0x8+-parseInt(_0x3466ad(0x11c))/0x9*(-parseInt(_0x3466ad(0x1c2))/0xa);if(_0x1d0816===_0x44f3db)break;else _0x26cbd7['push'](_0x26cbd7['shift']());}catch(_0x285a12){_0x26cbd7['push'](_0x26cbd7['shift']());}}}(_0x1e48,0x4dc3e));import{getContext,extension_settings}from'/scripts/extensions.js';import{saveChat,saveSettingsDebounced}from'/script.js';import{log}from'./logger.js';import{fillWithSecondaryApi}from'./secondary-filler.js';import{getChatPiece,saveChatDebounced}from'../../utils/utils.js';import{extensionName}from'../../utils/settings.js';import{DEFAULT_AI_RULE_TEMPLATE,DEFAULT_AI_FLOW_TEMPLATE}from'./settings.js';import{renderTables}from'../../ui/table-bindings.js';import{updateOrInsertTableInChat}from'../../ui/message-table-renderer.js';const TABLE_DATA_KEY=_0x195f36(0x1b1);let currentTablesState=null,highlightedCells=new Set();export function addHighlight(_0x2cd5e7,_0x1cb188,_0xd7c2f6){const _0x55374a=_0x195f36,_0x5c9c43=_0x2cd5e7+'-'+_0x1cb188+'-'+_0xd7c2f6;highlightedCells[_0x55374a(0x1fb)](_0x5c9c43);}export function getHighlights(){return highlightedCells;}export function clearHighlights(){const _0x4131d5=_0x195f36;highlightedCells[_0x4131d5(0x123)]>0x0&&(highlightedCells[_0x4131d5(0x10d)](),log(_0x4131d5(0x14f),_0x4131d5(0x135)));}export function setMemoryState(_0x3fc915){currentTablesState=_0x3fc915;}export function getMemoryState(){return currentTablesState;}const defaultTemplate={'tables':[{'name':'时空栏','headers':['日期','时段','时间','地点',_0x195f36(0x199)],'note':_0x195f36(0x1b5),'rule_add':_0x195f36(0x18f),'rule_delete':_0x195f36(0x124),'rule_update':_0x195f36(0x1ca),'charLimitRules':{},'rowLimitRule':0x1,'rows':[]},{'name':'角色栏','headers':[_0x195f36(0x1fd),'外貌','身形','衣着','性格','身份','职业',_0x195f36(0x13e),'爱好','住所',_0x195f36(0x1e8)],'note':_0x195f36(0x164),'rule_add':_0x195f36(0x1e4),'rule_delete':_0x195f36(0x1aa),'rule_update':'【触发条件】当角色的任何信息发生持久性或关键性变化时,必须更新对应单元格。例如:\x0a1.\x20外貌/身形/衣着发生永久性改变(如断肢、换上新装备)。\x0a2.\x20性格因重大事件而扭转。\x0a3.\x20身份或职业发生变更(如继承王位、被解雇)。\x0a4.\x20与的关系发生根本性转变(如从敌人变为盟友)。','charLimitRules':{'10':0x1e},'rowLimitRule':0x0,'rows':[]},{'name':_0x195f36(0x177),'headers':[_0x195f36(0x181),'类型','详情','状态',_0x195f36(0x1d1),'地点','开始时间/结束时间','结果'],'note':'【核心作用】追踪故事中的主要情节线、目标和挑战。只记录对剧情发展有重大影响的“任务”,忽略日常琐事。\x0a【字段详解】\x0a-\x20任务名:\x20任务的简洁概括,如\x27寻找失落的神器\x27。\x0a-\x20类型:\x20任务的分类,如\x27主线\x27、\x27支线\x27、\x27个人\x27、\x27约定\x27。\x0a-\x20详情:\x20对任务目标和背景的简要描述。\x0a-\x20状态:\x20任务的当前进展,如\x27未开始\x27、\x27进行中\x27、\x27已完成\x27、\x27已失败\x27、\x27已取消\x27。\x0a-\x20执行者:\x20负责完成此任务的角色名。\x0a-\x20地点:\x20任务关键环节发生的地点。\x0a-\x20开始时间/结束时间:\x20记录任务的起止时间,格式\x27YYYY-MM-DD\x27,若未结束则结束时间留空。\x0a-\x20结果:\x20任务完成或失败后的最终结果。','rule_add':'【触发条件】当以下情况发生时,应添加新行:\x0a1.\x20角色接下一个明确的、有目标的委托或命令。\x0a2.\x20角色们达成一个具体的、需要在未来执行的约定。\x0a3.\x20角色为自己设定一个长期的、关键性的目标。','rule_delete':_0x195f36(0x162),'rule_update':'【触发条件】当任务的“状态”发生任何变化时,必须更新。例如,从\x27进行中\x27变为\x27已完成\x27。当任务的“详情”或“结果”有新的关键信息补充时,也应更新。','charLimitRules':{},'rowLimitRule':0xa,'rows':[]},{'name':_0x195f36(0x12e),'headers':[_0x195f36(0x137),'类型','详情','状态',_0x195f36(0x174),_0x195f36(0x133)],'note':_0x195f36(0x1d3),'rule_add':_0x195f36(0x1a6),'rule_delete':_0x195f36(0x18d),'rule_update':_0x195f36(0x159),'charLimitRules':{},'rowLimitRule':0x0,'rows':[]},{'name':_0x195f36(0x191),'headers':[_0x195f36(0x15d),'技能效果'],'note':_0x195f36(0x136),'rule_add':_0x195f36(0x1fe),'rule_delete':_0x195f36(0x1a2),'rule_update':_0x195f36(0x119),'charLimitRules':{},'rowLimitRule':0x0,'rows':[]},{'name':_0x195f36(0x1f9),'headers':['类型',_0x195f36(0x1d8)],'note':_0x195f36(0x1f6),'rule_add':_0x195f36(0x1ac),'rule_delete':_0x195f36(0x1e2),'rule_update':_0x195f36(0x16d),'charLimitRules':{},'rowLimitRule':0x0,'rows':[]}]};function getDefaultTables(){const _0x4a85e0=_0x195f36;log('从预设模板生成默认表格...','info');const _0x221e15=JSON[_0x4a85e0(0x19a)](JSON[_0x4a85e0(0x10f)](defaultTemplate['tables']));return _0x221e15['forEach'](_0x3ba547=>{const _0xb9b757=_0x4a85e0;_0x3ba547[_0xb9b757(0x16f)]={'columnIndex':-0x1,'limit':0x0},_0x3ba547[_0xb9b757(0x1e1)]=0x0;}),_0x221e15;}export function loadTables(_0x4db288=-0x1){const _0x3ed0ea=_0x195f36,_0x211295=getContext();if(_0x211295&&_0x211295[_0x3ed0ea(0x1da)]&&_0x211295[_0x3ed0ea(0x1da)]['length']>0x0){const _0x31e381=_0x4db288===-0x1?_0x211295[_0x3ed0ea(0x1da)][_0x3ed0ea(0x19e)]-0x1:_0x4db288-0x1;for(let _0x2c3d2d=_0x31e381;_0x2c3d2d>=0x0;_0x2c3d2d--){const _0x588b07=_0x211295[_0x3ed0ea(0x1da)][_0x2c3d2d];if(_0x588b07['extra']&&_0x588b07[_0x3ed0ea(0x108)][TABLE_DATA_KEY]){log('在第\x20'+_0x2c3d2d+_0x3ed0ea(0x128),_0x3ed0ea(0x135));let _0x153d79=JSON[_0x3ed0ea(0x19a)](JSON[_0x3ed0ea(0x10f)](_0x588b07[_0x3ed0ea(0x108)][TABLE_DATA_KEY]));return _0x153d79[_0x3ed0ea(0x1f1)](_0xf8c118=>{const _0x2b9895=_0x3ed0ea;if(_0xf8c118['note']===undefined)_0xf8c118[_0x2b9895(0x186)]='无';if(_0xf8c118[_0x2b9895(0x111)]===undefined)_0xf8c118['rule_add']='允许';if(_0xf8c118[_0x2b9895(0x1b6)]===undefined)_0xf8c118[_0x2b9895(0x1b6)]='允许';if(_0xf8c118[_0x2b9895(0x173)]===undefined)_0xf8c118[_0x2b9895(0x173)]='允许';_0xf8c118[_0x2b9895(0x16f)]&&!_0xf8c118['charLimitRules']&&(_0xf8c118[_0x2b9895(0x17a)]={},_0xf8c118['charLimitRule'][_0x2b9895(0x130)]!==-0x1&&_0xf8c118[_0x2b9895(0x16f)]['limit']>0x0&&(_0xf8c118[_0x2b9895(0x17a)][_0xf8c118[_0x2b9895(0x16f)][_0x2b9895(0x130)]]=_0xf8c118['charLimitRule'][_0x2b9895(0x1a0)]));delete _0xf8c118[_0x2b9895(0x16f)];if(_0xf8c118[_0x2b9895(0x1e1)]===undefined)_0xf8c118[_0x2b9895(0x1e1)]=0x0;}),currentTablesState=_0x153d79,currentTablesState;}}}if(extension_settings[extensionName]?.[_0x3ed0ea(0x189)]){log('未在聊天记录中找到表格,正在加载全局预设...',_0x3ed0ea(0x135));try{const _0x56f15b=extension_settings[extensionName][_0x3ed0ea(0x189)];return currentTablesState=JSON[_0x3ed0ea(0x19a)](JSON[_0x3ed0ea(0x10f)](_0x56f15b[_0x3ed0ea(0x138)])),_0x56f15b['batchFillerRuleTemplate']!==undefined&&saveBatchFillerRuleTemplate(_0x56f15b['batchFillerRuleTemplate']),_0x56f15b[_0x3ed0ea(0x167)]!==undefined&&saveBatchFillerFlowTemplate(_0x56f15b[_0x3ed0ea(0x167)]),currentTablesState;}catch(_0xe6442f){log(_0x3ed0ea(0x1f3)+_0xe6442f[_0x3ed0ea(0x194)],_0x3ed0ea(0x208));}}return log(_0x3ed0ea(0x184),_0x3ed0ea(0x135)),currentTablesState=getDefaultTables(),currentTablesState;}export function saveStateToMessage(_0x50f3f2,_0x20d0df){const _0x306d3d=_0x195f36;if(!_0x50f3f2||!_0x20d0df)return log(_0x306d3d(0x1b2),'error'),![];return!_0x20d0df[_0x306d3d(0x108)]&&(_0x20d0df['extra']={}),_0x20d0df['extra'][TABLE_DATA_KEY]=JSON['parse'](JSON[_0x306d3d(0x10f)](_0x50f3f2)),log(_0x306d3d(0x1c6)+_0x20d0df[_0x306d3d(0x1a9)][_0x306d3d(0x114)](0x0,0x14)+_0x306d3d(0x1b7),'info'),!![];}export function saveTables(_0x41a027=_0x195f36(0x176)){const _0x15957a=_0x195f36;return log('UI操作\x20\x22'+_0x41a027+_0x15957a(0x19b),_0x15957a(0x135)),!![];}export function deleteColumn(_0x39381c,_0x495356){const _0x55cea7=_0x195f36,_0x26f6c9=getMemoryState();if(!_0x26f6c9[_0x39381c]||_0x495356<0x0||_0x495356>=_0x26f6c9[_0x39381c][_0x55cea7(0x1ea)][_0x55cea7(0x19e)]){log(_0x55cea7(0x1b4)+_0x39381c+'\x20中找不到索引为\x20'+_0x495356+_0x55cea7(0x1ae),_0x55cea7(0x208));return;}_0x26f6c9[_0x39381c][_0x55cea7(0x1ea)][_0x55cea7(0x1db)](_0x495356,0x1),_0x26f6c9[_0x39381c][_0x55cea7(0x1d4)][_0x55cea7(0x1f1)](_0xae3a47=>{const _0x1808f7=_0x55cea7;_0xae3a47[_0x1808f7(0x19e)]>_0x495356&&_0xae3a47['splice'](_0x495356,0x1);}),log(_0x55cea7(0x204)+_0x39381c+_0x55cea7(0x209)+(_0x495356+0x1)+'\x20列。',_0x55cea7(0x17b)),saveTables(_0x26f6c9);}export function moveRow(_0xf334b1,_0x4fce88,_0x565e66){const _0x5add8c=_0x195f36,_0x1c84f5=getMemoryState(),_0x1e2a00=_0x1c84f5[_0xf334b1];if(!_0x1e2a00||_0x4fce88<0x0||_0x4fce88>=_0x1e2a00[_0x5add8c(0x1d4)]['length'])return;const _0x5c0a53=_0x565e66==='up'?_0x4fce88-0x1:_0x4fce88+0x1;if(_0x5c0a53<0x0||_0x5c0a53>=_0x1e2a00['rows']['length'])return;const [_0x2f29db]=_0x1e2a00[_0x5add8c(0x1d4)][_0x5add8c(0x1db)](_0x4fce88,0x1);_0x1e2a00[_0x5add8c(0x1d4)][_0x5add8c(0x1db)](_0x5c0a53,0x0,_0x2f29db),log(_0x5add8c(0x121)+_0xf334b1+_0x5add8c(0x209)+(_0x4fce88+0x1)+_0x5add8c(0x18c)+(_0x5c0a53+0x1)+'\x20行。',_0x5add8c(0x17b)),saveTables(_0x1c84f5);}export function insertRow(_0x54dbd1,_0x50d333,_0x5669a3=_0x195f36(0x122)){const _0x1904a8=_0x195f36,_0x4f1f8e=getMemoryState(),_0x33db67=_0x4f1f8e[_0x54dbd1];if(!_0x33db67){log(_0x1904a8(0x116)+_0x54dbd1+'\x20的表格。','error');return;}let _0x3e1d13;typeof _0x50d333==='number'?_0x3e1d13=_0x5669a3===_0x1904a8(0x14c)?_0x50d333:_0x50d333+0x1:_0x3e1d13=_0x33db67[_0x1904a8(0x1d4)][_0x1904a8(0x19e)];if(_0x3e1d13<0x0)_0x3e1d13=0x0;if(_0x3e1d13>_0x33db67[_0x1904a8(0x1d4)][_0x1904a8(0x19e)])_0x3e1d13=_0x33db67['rows'][_0x1904a8(0x19e)];const _0x46fd80=new Array(_0x33db67[_0x1904a8(0x1ea)][_0x1904a8(0x19e)])[_0x1904a8(0x17e)]('');if(typeof _0x50d333===_0x1904a8(0x157)&&_0x50d333!==null)for(const _0x54d3dd in _0x50d333){const _0x28d032=parseInt(_0x54d3dd,0xa);!isNaN(_0x28d032)&&_0x28d032<_0x46fd80[_0x1904a8(0x19e)]&&(_0x46fd80[_0x28d032]=_0x50d333[_0x54d3dd],addHighlight(_0x54dbd1,_0x3e1d13,_0x28d032));}_0x33db67[_0x1904a8(0x1d4)][_0x1904a8(0x1db)](_0x3e1d13,0x0,_0x46fd80),log(_0x1904a8(0x14a)+_0x33db67[_0x1904a8(0x171)]+_0x1904a8(0x1cc)+_0x54dbd1+')\x20的第\x20'+(_0x3e1d13+0x1)+'\x20行位置插入了新行。',_0x1904a8(0x17b));const _0x4e452e=getContext();if(_0x4e452e['chat']&&_0x4e452e[_0x1904a8(0x1da)][_0x1904a8(0x19e)]>0x0){const _0xf35016=_0x4e452e[_0x1904a8(0x1da)][_0x4e452e[_0x1904a8(0x1da)][_0x1904a8(0x19e)]-0x1];if(saveStateToMessage(_0x4f1f8e,_0xf35016)){saveChat();return;}}saveChatDebounced();}export function addRow(_0x5c0956){const _0x27e65d=_0x195f36;if(!currentTablesState||!currentTablesState[_0x5c0956])return;const _0x41dd=currentTablesState[_0x5c0956],_0x42017a=_0x41dd[_0x27e65d(0x1ea)][_0x27e65d(0x19e)],_0x57b553=Array(_0x42017a)[_0x27e65d(0x17e)]('');_0x41dd['rows'][_0x27e65d(0x10b)](_0x57b553);const _0x58fb75=_0x27e65d(0x1c8)+_0x41dd[_0x27e65d(0x171)]+_0x27e65d(0x13c);log(_0x58fb75,_0x27e65d(0x135));const _0x3e7642=getContext();if(_0x3e7642['chat']&&_0x3e7642[_0x27e65d(0x1da)][_0x27e65d(0x19e)]>0x0){const _0x1edc67=_0x3e7642[_0x27e65d(0x1da)][_0x3e7642[_0x27e65d(0x1da)][_0x27e65d(0x19e)]-0x1];if(saveStateToMessage(currentTablesState,_0x1edc67)){saveChat();return;}}saveChatDebounced();}export function addColumn(_0x3a97bc){const _0x9e70fb=_0x195f36;if(!currentTablesState||!currentTablesState[_0x3a97bc])return;const _0x2cad82=currentTablesState[_0x3a97bc],_0x22cb83=_0x9e70fb(0x1e5)+(_0x2cad82[_0x9e70fb(0x1ea)]['length']+0x1);_0x2cad82[_0x9e70fb(0x1ea)][_0x9e70fb(0x10b)](_0x22cb83),_0x2cad82['rows'][_0x9e70fb(0x1f1)](_0x23b198=>_0x23b198['push'](''));const _0x5764fb=_0x9e70fb(0x1c8)+_0x2cad82[_0x9e70fb(0x171)]+']\x20新增了一列。';log(_0x5764fb,_0x9e70fb(0x135));const _0x28448a=getContext();if(_0x28448a[_0x9e70fb(0x1da)]&&_0x28448a['chat'][_0x9e70fb(0x19e)]>0x0){const _0x286e5e=_0x28448a['chat'][_0x28448a[_0x9e70fb(0x1da)]['length']-0x1];if(saveStateToMessage(currentTablesState,_0x286e5e)){saveChat();return;}}saveChatDebounced();}export function updateHeader(_0x1bd64d,_0x21fd7e,_0x4d597c){const _0x32cd1f=_0x195f36;if(!currentTablesState||!currentTablesState[_0x1bd64d]||currentTablesState[_0x1bd64d][_0x32cd1f(0x1ea)][_0x21fd7e]===undefined)return;const _0x225c31=currentTablesState[_0x1bd64d][_0x32cd1f(0x171)],_0x51f12e=currentTablesState[_0x1bd64d]['headers'][_0x21fd7e];currentTablesState[_0x1bd64d]['headers'][_0x21fd7e]=_0x4d597c;const _0xdb33c=_0x32cd1f(0x1c8)+_0x225c31+_0x32cd1f(0x120)+_0x51f12e+'”已更新为“'+_0x4d597c+'”。';log(_0xdb33c,'info');const _0xff6cb4=getContext();if(_0xff6cb4['chat']&&_0xff6cb4[_0x32cd1f(0x1da)]['length']>0x0){const _0x2ee70c=_0xff6cb4['chat'][_0xff6cb4['chat'][_0x32cd1f(0x19e)]-0x1];if(saveStateToMessage(currentTablesState,_0x2ee70c)){saveChat();return;}}saveChatDebounced();}export async function deleteRow(_0x33297d,_0x5b5f19){const _0x2d2a32=_0x195f36;if(!currentTablesState||!currentTablesState[_0x33297d]||!currentTablesState[_0x33297d]['rows'][_0x5b5f19])return;const _0x137c98=currentTablesState[_0x33297d]['name'];currentTablesState[_0x33297d][_0x2d2a32(0x1d4)][_0x2d2a32(0x1db)](_0x5b5f19,0x1);const _0x1d9aed=_0x2d2a32(0x1c8)+_0x137c98+']\x20的第\x20'+(_0x5b5f19+0x1)+'\x20行已删除。';log(_0x1d9aed,_0x2d2a32(0x135));const _0x5b94ef=getContext();if(_0x5b94ef[_0x2d2a32(0x1da)]&&_0x5b94ef['chat'][_0x2d2a32(0x19e)]>0x0){const _0x29e92a=_0x5b94ef[_0x2d2a32(0x1da)][_0x5b94ef['chat'][_0x2d2a32(0x19e)]-0x1];if(saveStateToMessage(currentTablesState,_0x29e92a)){await saveChat();return;}}await saveChatDebounced();}export function insertColumn(_0xe96e00,_0x336c22,_0x584579){const _0x34902b=_0x195f36;if(!currentTablesState||!currentTablesState[_0xe96e00])return;const _0x14d31d=currentTablesState[_0xe96e00],_0x1caf6c=_0x584579===_0x34902b(0x125)?_0x336c22:_0x336c22+0x1,_0x442aa8='新列';_0x14d31d['headers'][_0x34902b(0x1db)](_0x1caf6c,0x0,_0x442aa8),_0x14d31d['rows'][_0x34902b(0x1f1)](_0x1c4238=>_0x1c4238[_0x34902b(0x1db)](_0x1caf6c,0x0,''));const _0x2084b8='表格\x20['+_0x14d31d[_0x34902b(0x171)]+_0x34902b(0x165)+(_0x336c22+0x1)+_0x34902b(0x110)+(_0x584579==='left'?'左侧':'右侧')+_0x34902b(0x1bb);log(_0x2084b8,_0x34902b(0x135));const _0x1e8d59=getContext();if(_0x1e8d59[_0x34902b(0x1da)]&&_0x1e8d59[_0x34902b(0x1da)][_0x34902b(0x19e)]>0x0){const _0x2145a5=_0x1e8d59['chat'][_0x1e8d59[_0x34902b(0x1da)][_0x34902b(0x19e)]-0x1];if(saveStateToMessage(currentTablesState,_0x2145a5)){saveChat();return;}}saveChatDebounced();}export function moveColumn(_0x148925,_0x44e662,_0x61da8f){const _0x12127b=_0x195f36;if(!currentTablesState||!currentTablesState[_0x148925])return;const _0x3d3e48=currentTablesState[_0x148925],_0x1c5e1b=_0x3d3e48[_0x12127b(0x1ea)],_0x2d7119=_0x3d3e48['rows'],_0x769cac=_0x61da8f==='left'?_0x44e662-0x1:_0x44e662+0x1;if(_0x769cac<0x0||_0x769cac>=_0x1c5e1b[_0x12127b(0x19e)]){log(_0x12127b(0x142)+_0x44e662+_0x12127b(0x15f),_0x12127b(0x1ba));return;}const [_0x409906]=_0x1c5e1b[_0x12127b(0x1db)](_0x44e662,0x1);_0x1c5e1b['splice'](_0x769cac,0x0,_0x409906),_0x2d7119[_0x12127b(0x1f1)](_0x4486af=>{const _0x27bae1=_0x12127b,[_0x169f46]=_0x4486af[_0x27bae1(0x1db)](_0x44e662,0x1);_0x4486af[_0x27bae1(0x1db)](_0x769cac,0x0,_0x169f46);});const _0x12f091=_0x12127b(0x1c8)+_0x3d3e48[_0x12127b(0x171)]+_0x12127b(0x17d)+_0x409906+_0x12127b(0x1ad)+(_0x61da8f===_0x12127b(0x125)?'左':'右')+_0x12127b(0x19f);log(_0x12f091,'info');const _0x14fdb2=getContext();if(_0x14fdb2[_0x12127b(0x1da)]&&_0x14fdb2[_0x12127b(0x1da)]['length']>0x0){const _0x5a48b5=_0x14fdb2['chat'][_0x14fdb2[_0x12127b(0x1da)]['length']-0x1];if(saveStateToMessage(currentTablesState,_0x5a48b5)){saveChat();return;}}saveChatDebounced();}export function deleteTable(_0x4d4c87){const _0x3afa30=_0x195f36;if(!currentTablesState||!currentTablesState[_0x4d4c87])return;const _0x2eaa7b=currentTablesState[_0x4d4c87][_0x3afa30(0x171)];currentTablesState[_0x3afa30(0x1db)](_0x4d4c87,0x1);const _0x355d94='表格\x20['+_0x2eaa7b+']\x20已被成功废黜。';log(_0x355d94,_0x3afa30(0x17b));const _0x1c1306=getContext();if(_0x1c1306[_0x3afa30(0x1da)]&&_0x1c1306['chat']['length']>0x0){const _0x2329ba=_0x1c1306['chat'][_0x1c1306[_0x3afa30(0x1da)][_0x3afa30(0x19e)]-0x1];if(saveStateToMessage(currentTablesState,_0x2329ba)){saveChat(),log('废黜表格后的状态已强制写入最新消息并立即保存。',_0x3afa30(0x17b));return;}}log(_0x3afa30(0x1cd),_0x3afa30(0x208)),saveChatDebounced();}export function addTable(_0x242ec9){const _0xb1b94b=_0x195f36;if(!_0x242ec9||!_0x242ec9[_0xb1b94b(0x1dd)]()){log('无法创建表格:名称不能为空。',_0xb1b94b(0x208)),toastr[_0xb1b94b(0x208)]('表格名称不能为空。',_0xb1b94b(0x132));return;}!currentTablesState&&loadTables();if(currentTablesState[_0xb1b94b(0x1fc)](_0x5dadcc=>_0x5dadcc[_0xb1b94b(0x171)]===_0x242ec9[_0xb1b94b(0x1dd)]())){log(_0xb1b94b(0x117)+_0x242ec9+_0xb1b94b(0x12b),_0xb1b94b(0x208)),toastr[_0xb1b94b(0x208)](_0xb1b94b(0x1e7)+_0x242ec9+_0xb1b94b(0x12b),_0xb1b94b(0x132));return;}const _0x4aa2d8={'name':_0x242ec9[_0xb1b94b(0x1dd)](),'headers':[_0xb1b94b(0x144)],'rows':[],'note':_0xb1b94b(0x1d9),'rule_add':'允许','rule_delete':'允许','rule_update':'允许','charLimitRules':{},'rowLimitRule':0x0};currentTablesState['push'](_0x4aa2d8);const _0x2dfdc1=_0xb1b94b(0x14b)+_0x242ec9[_0xb1b94b(0x1dd)]()+']。';log(_0x2dfdc1,_0xb1b94b(0x17b));const _0x34a447=getContext();if(_0x34a447['chat']&&_0x34a447['chat'][_0xb1b94b(0x19e)]>0x0){const _0x3db2f9=_0x34a447[_0xb1b94b(0x1da)][_0x34a447[_0xb1b94b(0x1da)][_0xb1b94b(0x19e)]-0x1];if(saveStateToMessage(currentTablesState,_0x3db2f9)){saveChat(),log('新表格状态已强制写入最新消息并立即保存。',_0xb1b94b(0x17b));return;}}log(_0xb1b94b(0x1ff),'error'),saveChatDebounced();}export function renameTable(_0x32d594,_0x5fa357){const _0xdafc7=_0x195f36;if(!currentTablesState||!currentTablesState[_0x32d594]){log(_0xdafc7(0x1bf),'error'),toastr[_0xdafc7(0x208)](_0xdafc7(0x1b3),_0xdafc7(0x126));return;}const _0xa023ba=_0x5fa357['trim']();if(!_0xa023ba){log('重命名失败:名称不能为空。',_0xdafc7(0x208)),toastr['error'](_0xdafc7(0x1f4),'重命名失败');return;}if(currentTablesState[_0xdafc7(0x1fc)]((_0x194ebb,_0x282e11)=>_0x282e11!==_0x32d594&&_0x194ebb['name']===_0xa023ba)){log('重命名失败:名为\x20\x22'+_0xa023ba+'\x22\x20的表格已存在。',_0xdafc7(0x208)),toastr[_0xdafc7(0x208)](_0xdafc7(0x1e7)+_0xa023ba+_0xdafc7(0x12b),_0xdafc7(0x126));return;}const _0x412846=currentTablesState[_0x32d594]['name'];currentTablesState[_0x32d594][_0xdafc7(0x171)]=_0xa023ba,log('表格\x20\x22'+_0x412846+_0xdafc7(0x1de)+_0xa023ba+'\x22。',_0xdafc7(0x17b));const _0x50a916=getContext();if(_0x50a916[_0xdafc7(0x1da)]&&_0x50a916[_0xdafc7(0x1da)][_0xdafc7(0x19e)]>0x0){const _0x3d8230=_0x50a916[_0xdafc7(0x1da)][_0x50a916[_0xdafc7(0x1da)][_0xdafc7(0x19e)]-0x1];if(saveStateToMessage(currentTablesState,_0x3d8230)){saveChat();return;}}saveChatDebounced();}export function moveTable(_0x2565b9,_0x1a5cee){const _0x34f682=_0x195f36;if(!currentTablesState||!currentTablesState[_0x2565b9])return;const _0x378dde=_0x1a5cee==='up'?_0x2565b9-0x1:_0x2565b9+0x1;if(_0x378dde<0x0||_0x378dde>=currentTablesState['length']){log(_0x34f682(0x109)+_0x2565b9+'\x20已在边界。','warn');return;}const _0x3981c3=currentTablesState[_0x2565b9];currentTablesState[_0x2565b9]=currentTablesState[_0x378dde],currentTablesState[_0x378dde]=_0x3981c3;const _0x42ca97=_0x34f682(0x1c8)+_0x3981c3['name']+_0x34f682(0x1c0);log(_0x42ca97,_0x34f682(0x17b));const _0x1419ee=getContext();if(_0x1419ee['chat']&&_0x1419ee[_0x34f682(0x1da)]['length']>0x0){const _0x49ecd5=_0x1419ee[_0x34f682(0x1da)][_0x1419ee['chat'][_0x34f682(0x19e)]-0x1];if(saveStateToMessage(currentTablesState,_0x49ecd5)){saveChat(),log(_0x34f682(0x16a),'success');return;}}log(_0x34f682(0x1dc),_0x34f682(0x208)),saveChatDebounced();}export function updateTableRules(_0x14524c,_0x59d729){const _0x2dd377=_0x195f36;if(!currentTablesState||!currentTablesState[_0x14524c])return;const _0x3b1c3a=currentTablesState[_0x14524c];_0x3b1c3a['note']=_0x59d729[_0x2dd377(0x186)],_0x3b1c3a[_0x2dd377(0x111)]=_0x59d729['rule_add'],_0x3b1c3a[_0x2dd377(0x1b6)]=_0x59d729['rule_delete'],_0x3b1c3a[_0x2dd377(0x173)]=_0x59d729[_0x2dd377(0x173)],_0x3b1c3a['charLimitRules']=_0x59d729[_0x2dd377(0x17a)],_0x3b1c3a[_0x2dd377(0x1e1)]=_0x59d729[_0x2dd377(0x1e1)],delete _0x3b1c3a[_0x2dd377(0x16f)];const _0x3faa17='表格\x20['+_0x3b1c3a[_0x2dd377(0x171)]+_0x2dd377(0x141);log(_0x3faa17,_0x2dd377(0x135));const _0x36f27c=getContext();if(_0x36f27c['chat']&&_0x36f27c['chat']['length']>0x0){const _0x57c233=_0x36f27c[_0x2dd377(0x1da)][_0x36f27c[_0x2dd377(0x1da)][_0x2dd377(0x19e)]-0x1];if(saveStateToMessage(currentTablesState,_0x57c233)){saveChat();return;}}saveChatDebounced();}export function updateRow(_0x59f11f,_0x2021aa,_0x3a23ca){const _0x485ef6=_0x195f36;if(!currentTablesState||!currentTablesState[_0x59f11f]){log('AI指令错误:尝试在不存在的表格索引\x20'+_0x59f11f+_0x485ef6(0x12d),_0x485ef6(0x208));return;}const _0x54b3d6=currentTablesState[_0x59f11f];if(_0x2021aa>=_0x54b3d6[_0x485ef6(0x1d4)][_0x485ef6(0x19e)]){log('AI指令意图更新不存在的行\x20(rowIndex:\x20'+_0x2021aa+_0x485ef6(0x183)+_0x54b3d6[_0x485ef6(0x171)]+']\x20末尾新增一行。',_0x485ef6(0x1ba)),insertRow(_0x59f11f,_0x3a23ca);return;}const _0x7ab13f=_0x54b3d6[_0x485ef6(0x1d4)][_0x2021aa];for(const _0x5408ec in _0x3a23ca){const _0x304155=parseInt(_0x5408ec,0xa);_0x304155<_0x7ab13f['length']&&(_0x7ab13f[_0x304155]=_0x3a23ca[_0x304155],addHighlight(_0x59f11f,_0x2021aa,_0x304155));}const _0xbcae4e=_0x485ef6(0x166)+_0x54b3d6[_0x485ef6(0x171)]+_0x485ef6(0x18e)+(_0x2021aa+0x1)+_0x485ef6(0x163);log(_0xbcae4e,_0x485ef6(0x135));const _0x37d5a7=getContext();if(_0x37d5a7[_0x485ef6(0x1da)]&&_0x37d5a7[_0x485ef6(0x1da)][_0x485ef6(0x19e)]>0x0){const _0x24cbfd=_0x37d5a7['chat'][_0x37d5a7[_0x485ef6(0x1da)][_0x485ef6(0x19e)]-0x1];if(saveStateToMessage(currentTablesState,_0x24cbfd)){saveChat();return;}}saveChatDebounced();}export function clearAllTables(){const _0x4bdacc=_0x195f36;if(!currentTablesState){log(_0x4bdacc(0x1d6),_0x4bdacc(0x208));return;}currentTablesState[_0x4bdacc(0x1f1)](_0x43f2cf=>{_0x43f2cf['rows']=[];}),log('所有表格的行数据已在内存中清空。','warn');const _0x659c39=getContext();if(_0x659c39[_0x4bdacc(0x1da)]&&_0x659c39[_0x4bdacc(0x1da)][_0x4bdacc(0x19e)]>0x0){const _0x408d4c=_0x659c39['chat'][_0x659c39[_0x4bdacc(0x1da)][_0x4bdacc(0x19e)]-0x1];if(saveStateToMessage(currentTablesState,_0x408d4c)){saveChat(),log(_0x4bdacc(0x11b),_0x4bdacc(0x17b)),toastr['success'](_0x4bdacc(0x112),_0x4bdacc(0x203));return;}}log('无法找到可锚定的消息或保存失败,清空操作可能不会被持久化!','error'),saveChatDebounced();}function _0x1e48(){const _0x572cd8=['filter','stringify','\x20列的','rule_add','所有表格的剧情内容已清空。',',\x20data=','substring','执行失败','插入行失败:找不到索引为\x20','无法创建表格:名为\x20\x22','\x0a---\x0a','【触发条件】当一个已知技能的效果发生进化、变异或被添加了新的限制/效果时(例如,技能升级),必须更新其“技能效果”描述。','onload','清空行数据后的状态已强制写入最新消息并立即保存。','1097199abjzwE','replace','【清除全局预设】\x0a\x0a您确定要清除已设置的全局预设吗?\x0a\x0a清除后,新聊天将恢复使用扩展内置的默认表格模板。','导入的表格数据格式不正确:\x20',']\x20的表头“','成功将表格\x20','below','size','【触发条件】任何时候,如果此表格的行数超过一行,必须删除旧的行,只保留最新、最准确的一行。','left','重命名失败','confirm','\x20条消息中找到基准表格数据。','回退并重新填表操作完成。','type','\x22\x20的表格已存在。','click','\x20中操作。','物品栏','download','columnIndex','设置成功','创建失败','重要原因','预设已成功导入!','info','【核心作用】专门用于记录主角掌握的各种技能、魔法、被动能力或特殊专长。\x0a【字段详解】\x0a-\x20技能名:\x20技能的正式名称。\x0a-\x20技能效果:\x20清晰、简洁地描述该技能使用时产生的具体效果、消耗和限制条件。','物品名','tables','预设已成功导入并应用。','version','Amily2-Table-Preset-v3.0-separated_templates',']\x20新增了一行。','Amily2-Table-Preset-v2.0-clean','与关系','导入全局预设失败:\x20','files',']\x20的规则已更新。','无法移动列:索引\x20','填表完成','新列\x201','正在尝试从第\x20','(该表当前内容为空)\x0a','aiRuleTemplate','createElement','application/json','成功在表格\x20','已成功创建新表格:[','above','aiFlowTemplate','【全局预设导入】\x0a\x0a这将把选定的预设设置为所有新聊天的默认表格。\x0a\x0a此操作将覆盖任何已存在的全局预设,是否确定?','已清除所有单元格高亮标记。','href','onchange','file','回退状态保存失败,操作中止。','操作已取消。','UI已更新以显示回退后的状态。','】已开始下载。','object',')第(','【触发条件】当物品的“状态”(如被损坏)、“拥有者”(如被转交或被盗)或“详情”(如发现了新功能)发生变化时,必须更新。','aiTemplate','已根据AI的指示成功更新表格!','amily2_ai_template','技能名','AI指令块为空,无需执行任何操作。','\x20已在边界。','input','match','【触发条件】当任务列表超过10行时,优先删除最早的、已经“已完成”且与当前剧情关联度最低的任务。如果存在内容完全重复的任务,应删除。','\x20行。','【核心作用】此表格是角色关系和状态的核心数据库,用于记录所有在故事中出现的重要角色的详细信息。\x0a【字段详解】\x0a-\x20角色名:\x20角色的唯一标识。\x0a-\x20外貌:\x20描述五官、发型、发色、肤色等面部特征。\x0a-\x20身形:\x20描述身高、体型、肌肉状况、特殊身体标记(如伤疤)等。\x0a-\x20衣着:\x20描述角色当前或标志性的穿着,包括服装、配饰等。\x0a-\x20性格:\x20概括角色的核心性格特质,使用1-3个关键词,如\x27勇敢/鲁莽/忠诚\x27。\x0a-\x20身份:\x20角色的社会背景或出身,如\x27贵族后裔\x27、\x27流浪者\x27。\x0a-\x20职业:\x20角色赖以谋生的工作或职责,如\x27佣兵\x27、\x27学者\x27。\x0a-\x20与关系:\x20描述该角色与主角之间的社会或情感关系,如\x27盟友\x27、\x27导师\x27、\x27敌人\x27。\x0a-\x20爱好:\x20角色的兴趣和消遣活动。\x0a-\x20住所:\x20角色的常住地。\x0a-\x20其他重要信息:\x20记录任何不属于以上类别但对角色至关重要的信息,如特殊能力、过去的经历等。',']\x20在第\x20','AI\x20指令更新了表格\x20[','batchFillerFlowTemplate',')行以下,但切莫完全删除。】','batchFillerRuleTemplate','表格顺序调整后的状态已强制写入最新消息并立即保存。','target','constructor','【触发条件】只能在明确表示要修改某条设定时,才能更新对应行的描述。','文件格式无效或缺少版本号/表格数据。','charLimitRule','join','name','用户取消了导入操作。','rule_update','拥有者','1448740UZpFzf','未知操作','任务栏','fromCharCode','执行AI指令时出错:\x20','charLimitRules','success','【说明】:\x0a',']\x20的列“','fill','387605FXRioq','function','任务名','81948ZfPzre','),已智能转换为在表格\x20[','未找到任何表格数据或全局预设,使用默认模板。',')超出规定(','note','全局预设已清除,新聊天将使用默认模板。','导入成功','global_table_preset','dispatchEvent','split','\x20行移动到第\x20','【触发条件】当一个物品被彻底摧毁、消耗完毕或永久失去其特殊意义时,可以删除。',']\x20的第\x20','【触发条件】当故事开始,且此表格为空时,必须立即根据初始场景创建第一行。',')行,请结合剧情缩减至(','技能栏','toString','every','message','用户取消了全局预设导入操作。','完整备份',',\x20rowIndex=','【当前(','此地角色','parse','\x22\x20已更新内存状态。','accept','96436hpzYZL','length','移动。','limit','全局预设已成功导入并保存到扩展设置中。','【触发条件】如果发现表格中存在两个描述完全相同的重复技能,应删除其中一个。如果记录了非的技能,应立即删除。','result','batch_filler_rule_template','amily2-force-ui-reload','【触发条件】当一个物品被明确赋予了特殊意义(如被赠予、在关键事件中扮演重要角色)或展示出独特功能时,应为其创建条目。','未能在上一楼找到可用的表格状态,无法回退。','导入操作已取消。','mes','【触发条件】当一个角色被确认永久性死亡(非假死或失踪),且其存在不再对后续剧情有直接影响时,可以删除该行。','33GVXjWA','【触发条件】当通过括号、旁白或其他明确的“第四面墙”方式,提出关于故事背景、规则或未来走向的指令时,必须记录于此。','”已向','\x20的列。','map','toISOString','amily2_tables_data','缺少状态或目标消息,无法保存。','表格不存在。','删除列失败:在表格\x20','【核心作用】此表格用于精确追踪故事发生的即时时空背景,确保时间与空间的连续性。它应该始终只包含一行,代表当前的“镜头”位置。\x0a【字段详解】\x0a-\x20日期:\x20格式为\x27YYYY-MM-DD\x27。若日期未知,请根据上下文合理推断或设定一个初始日期,如\x27大夏3年-9月-10日\x27。\x0a-\x20时段:\x20严格遵循规定(凌晨:0-5时;早晨:5-8时;上午:8-11时;中午:11-13时;下午:13-16时;傍晚:16-19时;晚上:19-24时)。\x0a-\x20时间:\x20格式为\x27HH:MM\x27。若时间未知,可根据时段估算,如\x2708:30\x27。\x0a-\x20地点:\x20描述当前场景发生的具体位置,应尽可能精确,例如\x27XX街的咖啡馆\x27而非\x27城里\x27。\x0a-\x20此地角色:\x20列出当前场景中所有在场且参与互动的主要角色,用\x27/\x27分隔。','rule_delete','...]','正在执行回退并重新填表...','\x0a\x20\x20\x20\x20\x20\x20\x20\x20','warn','插入了新列。','body','所有AI指令已成功执行完毕。','【修改】:\x20','重命名失败:表格不存在。',']\x20的顺序已调整。','AI返回内容为空,无法更新表格。','10lDSscY','rowIndex,',')列,字符超出规定(','执行AI指令:\x20updateRow(tableIndex=','表格状态已准备写入消息\x20[','导入预设失败:\x20','表格\x20[','Amily2-','【触发条件】当以下任一情况发生时,必须更新此行:\x0a1.\x20时间发生显著跳跃(例如,\x27几小时后\x27、\x27第二天\x27)。\x0a2.\x20角色从一个地点移动到另一个地点。\x0a3.\x20场景中关键角色的出入导致在场人员发生变化。','状态回退成功,准备重新填表...','\x20(索引\x20','无法找到可锚定的消息或保存失败,删除操作可能不会被持久化!',')字限制,请进行缩减。】',')行(','导入的预设中缺少指令模板字段,模板将不会被更新。','执行者','1462952cNMzTF','【核心作用】记录那些在故事中具有特殊功能、背景或情感价值的关键物品。普通物品不应记录。\x0a【字段详解】\x0a-\x20物品名:\x20物品的名称。\x0a-\x20类型:\x20物品的分类,如\x27武器\x27、\x27道具\x27、\x27信物\x27、\x27关键物品\x27。\x0a-\x20详情:\x20描述物品的外观、材质和已知功能。\x0a-\x20状态:\x20物品的当前状况,如\x27完好\x27、\x27破损\x27、\x27能量耗尽\x27。\x0a-\x20拥有者:\x20当前持有该物品的角色名。\x0a-\x20重要原因:\x20解释该物品为何重要,例如\x27是解开谜题的钥匙\x27或\x27是母亲的遗物\x27。','rows','导入失败:','无法清空:当前表格状态为空。','未能保存回退状态,操作中止。','具体描述','这是一个新创建的表格。','chat','splice','无法找到可锚定的消息或保存失败,顺序调整可能不会被持久化!','trim','\x22\x20已重命名为\x20\x22','slice','】已成功导出。','rowLimitRule','【触发条件】只能在明确表示要移除或废弃某条设定时,才能删除对应行。','无法回退:聊天记录不足。','【触发条件】当一个有名有姓的角色首次出现,并与或当前剧情发生有意义的互动时,必须为其创建新的一行。','新列\x20','操作成功','名为\x20\x22','其他重要信息','无需清除,当前未设置任何全局预设。','headers','状态回退失败,已中止操作。','injectionFlowTemplate','已成功将回退后的状态保存至最新消息。','\x20条表格操作指令...','无法导出:当前表格状态为空。','【警告】\x0a\x0a导入操作将完全覆盖您当前的AI指令模板和所有表格(包括结构和内容)。\x0a\x0a此操作不可逆,是否确定要继续?','forEach','用户取消了清除全局预设的操作。','加载全局预设失败:\x20','表格名称不能为空。','回退重填过程中发生错误:\x20','【核心作用】此表格记录了来自的、超越故事本身的“元指令”或世界观设定,拥有最高解释权。内容应被严格遵守,禁止AI自行修改。\x0a【字段详解】\x0a-\x20类型:\x20指令的分类,如\x27世界观设定\x27、\x27剧情走向要求\x27、\x27角色行为禁令\x27。\x0a-\x20具体描述:\x20完整、准确地记录提出的具体要求。','createObjectURL','全局预设已被清除。','设定栏','.json','add','some','角色名','【触发条件】当在故事中首次成功施展或习得一个全新的、表格中未记录的技能时,必须添加。','无法找到可锚定的消息或保存失败,新表格可能不会被持久化!','isArray','50092KOVHBn','78ZNCIhK','操作完成','成功删除了表格\x20','执行AI指令时发生错误:\x20','未在AI返回内容中找到有效的\x20\x20指令块。','未能在上一楼找到可用的表格状态。','error','\x20的第\x20','extra','无法移动表格:索引\x20','没有可导出的表格数据。','push','batch_filler_flow_template','clear'];_0x1e48=function(){return _0x572cd8;};return _0x1e48();}function checkTableRules(_0x50bc33){const _0xc5803c=_0x195f36;let _0x24be0f=[];_0x50bc33[_0xc5803c(0x1e1)]&&_0x50bc33[_0xc5803c(0x1e1)]>0x0&&_0x50bc33['rows'][_0xc5803c(0x19e)]>_0x50bc33[_0xc5803c(0x1e1)]&&_0x24be0f[_0xc5803c(0x10b)](_0xc5803c(0x198)+_0x50bc33['name']+_0xc5803c(0x185)+_0x50bc33[_0xc5803c(0x1e1)]+_0xc5803c(0x190)+_0x50bc33[_0xc5803c(0x1e1)]+_0xc5803c(0x168));const _0x408612=_0x50bc33[_0xc5803c(0x17a)]||{};for(const _0x202723 in _0x408612){const _0x581712=parseInt(_0x202723,0xa),_0x5ebc30=_0x408612[_0x581712];if(_0x5ebc30>0x0&&_0x581712>=0x0&&_0x581712<_0x50bc33[_0xc5803c(0x1ea)]['length']){const _0x59569c=_0x50bc33[_0xc5803c(0x1ea)][_0x581712],_0x34a5e6=[];_0x50bc33[_0xc5803c(0x1d4)]['forEach']((_0x7cd56b,_0x3bd67e)=>{const _0x49edc1=_0xc5803c,_0x5c5a1a=_0x7cd56b[_0x581712]||'';_0x5c5a1a[_0x49edc1(0x19e)]>_0x5ebc30&&_0x34a5e6['push'](_0x3bd67e);});if(_0x34a5e6[_0xc5803c(0x19e)]>0x0){const _0x3e8852=_0x34a5e6[_0xc5803c(0x170)]('、');_0x24be0f['push']('【当前('+_0x50bc33['name']+_0xc5803c(0x158)+_0x3e8852+_0xc5803c(0x1cf)+_0x59569c+_0xc5803c(0x1c4)+_0x5ebc30+_0xc5803c(0x1ce));}}}return _0x24be0f[_0xc5803c(0x170)]('\x0a');}export function convertTablesToCsvString(){const _0x50fbe8=_0x195f36;!currentTablesState&&loadTables();if(!currentTablesState)return'';let _0x2ba9bf='';return currentTablesState[_0x50fbe8(0x1f1)]((_0x26ea94,_0x1a4cfd)=>{const _0x53fe58=_0x50fbe8;_0x2ba9bf+='\x0a*\x20'+_0x1a4cfd+':'+_0x26ea94[_0x53fe58(0x171)]+'\x0a',_0x2ba9bf+=_0x53fe58(0x17c)+(_0x26ea94['note']||'无')+'\x0a';const _0x78c2a5=_0x26ea94[_0x53fe58(0x171)][_0x53fe58(0x11d)](/\s/g,'')+'内容';_0x2ba9bf+='<'+_0x78c2a5+'>\x0a';const _0x120553=_0x26ea94[_0x53fe58(0x1ea)]['map']((_0x2f289f,_0x5f24e0)=>_0x5f24e0+':'+_0x2f289f)[_0x53fe58(0x170)](',');_0x2ba9bf+=_0x53fe58(0x1c3)+_0x120553+'\x0a';_0x26ea94[_0x53fe58(0x1d4)]['length']===0x0?_0x2ba9bf+=_0x53fe58(0x146):_0x26ea94['rows'][_0x53fe58(0x1f1)]((_0x528f19,_0x5a8af8)=>{const _0x2cdff9=_0x53fe58;if(Array[_0x2cdff9(0x200)](_0x528f19)){const _0x4a8cd8=_0x528f19[_0x2cdff9(0x1af)](_0x1ecf8f=>{const _0xee1783=_0x2cdff9;return _0x1ecf8f===null||_0x1ecf8f===undefined||_0x1ecf8f===''?'未知':_0x1ecf8f[_0xee1783(0x192)]();})['join'](',');_0x2ba9bf+=_0x5a8af8+','+_0x4a8cd8+'\x0a';}});const _0x4f2920=checkTableRules(_0x26ea94);_0x4f2920&&(_0x2ba9bf+=_0x4f2920+'\x0a'),_0x2ba9bf+='\x0a',_0x2ba9bf+='【增加】:\x20'+(_0x26ea94[_0x53fe58(0x111)]||'允许')+'\x0a',_0x2ba9bf+='【删除】:\x20'+(_0x26ea94[_0x53fe58(0x1b6)]||'允许')+'\x0a',_0x2ba9bf+=_0x53fe58(0x1be)+(_0x26ea94[_0x53fe58(0x173)]||'允许')+'\x0a',_0x1a4cfd{const _0x25b17e=_0x22b665;_0x1d7de1+='\x0a<'+_0x3931cf[_0x25b17e(0x171)]+'>\x0a';const _0x30e36a=_0x3931cf[_0x25b17e(0x1ea)][_0x25b17e(0x1af)]((_0x4dc442,_0xc92f3d)=>String[_0x25b17e(0x178)](0x41+_0xc92f3d)+':'+_0x4dc442)[_0x25b17e(0x170)](',');_0x1d7de1+=_0x30e36a+'\x0a',Array[_0x25b17e(0x200)](_0x3931cf[_0x25b17e(0x1d4)])&&_0x3931cf[_0x25b17e(0x1d4)]['length']>0x0?_0x3931cf[_0x25b17e(0x1d4)]['forEach']((_0x4a33c2,_0x2280ad)=>{const _0x264249=_0x25b17e;if(Array['isArray'](_0x4a33c2)){const _0x2e01c7=_0x4a33c2[_0x264249(0x170)](',');_0x1d7de1+=_0x2280ad+0x1+':'+_0x2e01c7+'\x0a';}}):_0x1d7de1+='(该表当前内容为空)\x0a',_0x1d7de1+='\x0a';}),_0x1d7de1[_0x22b665(0x1dd)]();}loadTables();export function getBatchFillerRuleTemplate(){const _0x2f5ba1=_0x195f36;return extension_settings[extensionName]?.[_0x2f5ba1(0x1a4)]??DEFAULT_AI_RULE_TEMPLATE;}export function saveBatchFillerRuleTemplate(_0x2cb1a6){const _0x168236=_0x195f36;extension_settings[extensionName][_0x168236(0x1a4)]=_0x2cb1a6,saveSettingsDebounced();}export function getBatchFillerFlowTemplate(){const _0x335921=_0x195f36;return extension_settings[extensionName]?.[_0x335921(0x10c)]??DEFAULT_AI_FLOW_TEMPLATE;}export function saveBatchFillerFlowTemplate(_0x443973){const _0x1e4991=_0x195f36;extension_settings[extensionName][_0x1e4991(0x10c)]=_0x443973,saveSettingsDebounced();}export function getAiFlowTemplateForInjection(){const _0x55c8af=_0x195f36;return extension_settings[extensionName]?.[_0x55c8af(0x15c)]??DEFAULT_AI_FLOW_TEMPLATE;}export async function updateTableFromText(_0x43e0f7){const _0x3df638=_0x195f36;if(!_0x43e0f7){log(_0x3df638(0x1c1),_0x3df638(0x1ba));return;}const _0x3e601a=_0x43e0f7[_0x3df638(0x161)](/([\s\S]*?)<\/Amily2Edit>/);if(!_0x3e601a||!_0x3e601a[0x1]){log(_0x3df638(0x206),_0x3df638(0x1ba));return;}let _0x53e794=_0x3e601a[0x1][_0x3df638(0x11d)](//g,'')[_0x3df638(0x1dd)]();if(!_0x53e794){log(_0x3df638(0x15e),_0x3df638(0x135));return;}const _0x224a92=_0x53e794[_0x3df638(0x18b)]('\x0a')[_0x3df638(0x10e)](_0x16d297=>_0x16d297['trim']()!=='');log('准备执行从AI返回的\x20'+_0x224a92['length']+_0x3df638(0x1ee),_0x3df638(0x135));const _0xde4f3c={'insertRow':(_0xf0f5ad,_0x17f0d2)=>{const _0x2bcc63=_0x3df638;log('执行AI指令:\x20insertRow(tableIndex='+_0xf0f5ad+',\x20data='+JSON[_0x2bcc63(0x10f)](_0x17f0d2)+')',_0x2bcc63(0x135)),insertRow(_0xf0f5ad,_0x17f0d2);},'deleteRow':(_0x48c48e,_0x5d9d61)=>{const _0x18f56a=_0x3df638;log('执行AI指令:\x20deleteRow(tableIndex='+_0x48c48e+_0x18f56a(0x197)+_0x5d9d61+')',_0x18f56a(0x135)),deleteRow(_0x48c48e,_0x5d9d61);},'updateRow':(_0x502d1a,_0x2354d9,_0x3aa8a7)=>{const _0x462e18=_0x3df638;log(_0x462e18(0x1c5)+_0x502d1a+_0x462e18(0x197)+_0x2354d9+_0x462e18(0x113)+JSON[_0x462e18(0x10f)](_0x3aa8a7)+')','info'),updateRow(_0x502d1a,_0x2354d9,_0x3aa8a7);}};try{const _0x2d1d77=Object['getPrototypeOf'](async function(){})[_0x3df638(0x16c)],_0x59fe67=new _0x2d1d77('runner','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20{\x20insertRow,\x20deleteRow,\x20updateRow\x20}\x20=\x20runner;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x53e794+_0x3df638(0x1b9));await _0x59fe67(_0xde4f3c),log(_0x3df638(0x1bd),_0x3df638(0x17b)),toastr[_0x3df638(0x17b)](_0x3df638(0x15b),_0x3df638(0x143)),document[_0x3df638(0x18a)](new CustomEvent(_0x3df638(0x1a5)));}catch(_0x4db48b){log(_0x3df638(0x205)+_0x4db48b[_0x3df638(0x194)],'error'),toastr['error'](_0x3df638(0x179)+_0x4db48b[_0x3df638(0x194)],_0x3df638(0x115));}}export function saveAiTemplate(_0x18d971){extension_settings[extensionName]['amily2_ai_template']=_0x18d971,saveSettingsDebounced();}export function getAiTemplate(){return getAiFlowTemplateForInjection();}function _0x57e9(_0x326f74,_0x3a8fad){const _0x1e48bb=_0x1e48();return _0x57e9=function(_0x57e9bb,_0x3bcb9e){_0x57e9bb=_0x57e9bb-0x108;let _0x11206f=_0x1e48bb[_0x57e9bb];return _0x11206f;},_0x57e9(_0x326f74,_0x3a8fad);}function exportPresetBase(_0x2805cf=![]){const _0x3e6e20=_0x195f36;if(!currentTablesState){log(_0x3e6e20(0x1ef),_0x3e6e20(0x208)),toastr[_0x3e6e20(0x208)](_0x3e6e20(0x10a));return;}let _0x36ef84,_0x252359,_0x4fbece;_0x2805cf?(_0x36ef84=JSON[_0x3e6e20(0x19a)](JSON[_0x3e6e20(0x10f)](currentTablesState)),_0x252359='Amily2-Table-Preset-v2.0-full',_0x4fbece=_0x3e6e20(0x196)):(_0x36ef84=currentTablesState['map'](_0x625b29=>({'name':_0x625b29[_0x3e6e20(0x171)],'headers':_0x625b29['headers'],'note':_0x625b29[_0x3e6e20(0x186)],'rule_add':_0x625b29['rule_add'],'rule_delete':_0x625b29[_0x3e6e20(0x1b6)],'rule_update':_0x625b29[_0x3e6e20(0x173)],'charLimitRules':_0x625b29['charLimitRules']||{},'rowLimitRule':_0x625b29[_0x3e6e20(0x1e1)]||0x0,'rows':[]})),_0x252359=_0x3e6e20(0x13d),_0x4fbece='纯净预设');const _0x5b69e0={'version':_0x3e6e20(0x13b),'batchFillerRuleTemplate':getBatchFillerRuleTemplate(),'batchFillerFlowTemplate':getBatchFillerFlowTemplate(),'tables':_0x36ef84},_0x3b6722=new Blob([JSON[_0x3e6e20(0x10f)](_0x5b69e0,null,0x2)],{'type':_0x3e6e20(0x149)}),_0x15efbd=URL[_0x3e6e20(0x1f7)](_0x3b6722),_0x5472d9=document['createElement']('a');_0x5472d9[_0x3e6e20(0x150)]=_0x15efbd,_0x5472d9[_0x3e6e20(0x12f)]=_0x3e6e20(0x1c9)+_0x4fbece+'-'+new Date()[_0x3e6e20(0x1b0)]()[_0x3e6e20(0x1df)](0x0,0xa)+_0x3e6e20(0x1fa),document['body']['appendChild'](_0x5472d9),_0x5472d9[_0x3e6e20(0x12c)](),document[_0x3e6e20(0x1bc)]['removeChild'](_0x5472d9),URL['revokeObjectURL'](_0x15efbd),log('【'+_0x4fbece+_0x3e6e20(0x1e0),'success'),toastr['success']('【'+_0x4fbece+_0x3e6e20(0x156),'导出成功');}export function exportPreset(){exportPresetBase(![]);}export function exportPresetFull(){exportPresetBase(!![]);}export function importPreset(_0x42da0a){const _0x74ab7b=_0x195f36,_0x3dfe61=document[_0x74ab7b(0x148)](_0x74ab7b(0x160));_0x3dfe61[_0x74ab7b(0x12a)]=_0x74ab7b(0x152),_0x3dfe61[_0x74ab7b(0x19c)]='.json',_0x3dfe61['onchange']=_0x31dc6d=>{const _0x242199=_0x74ab7b,_0x49a9c3=_0x31dc6d[_0x242199(0x16b)][_0x242199(0x140)][0x0];if(!_0x49a9c3)return;const _0x57aa68=new FileReader();_0x57aa68[_0x242199(0x11a)]=_0x53230f=>{const _0x39931a=_0x242199;try{const _0xc9aa41=JSON['parse'](_0x53230f[_0x39931a(0x16b)][_0x39931a(0x1a3)]);if(!_0xc9aa41[_0x39931a(0x13a)]||!Array[_0x39931a(0x200)](_0xc9aa41['tables']))throw new Error('文件格式无效或缺少版本号/表格数据。');const _0x713bd8=window[_0x39931a(0x127)](_0x39931a(0x1f0));if(!_0x713bd8){log(_0x39931a(0x172),_0x39931a(0x135)),toastr[_0x39931a(0x135)](_0x39931a(0x1a8));return;}if(_0xc9aa41[_0x39931a(0x13a)]===_0x39931a(0x13b))saveBatchFillerRuleTemplate(_0xc9aa41[_0x39931a(0x169)]||''),saveBatchFillerFlowTemplate(_0xc9aa41[_0x39931a(0x167)]||''),saveAiTemplate(_0xc9aa41[_0x39931a(0x1ec)]||'');else{if(_0xc9aa41[_0x39931a(0x147)]!==undefined&&_0xc9aa41[_0x39931a(0x14d)]!==undefined)saveBatchFillerRuleTemplate(_0xc9aa41['aiRuleTemplate']||''),saveBatchFillerFlowTemplate(_0xc9aa41['aiFlowTemplate']||''),saveAiTemplate(_0xc9aa41['aiFlowTemplate']||'');else _0xc9aa41[_0x39931a(0x15a)]?(saveBatchFillerRuleTemplate(''),saveBatchFillerFlowTemplate(_0xc9aa41[_0x39931a(0x15a)]||''),saveAiTemplate(_0xc9aa41[_0x39931a(0x15a)]||'')):log(_0x39931a(0x1d0),_0x39931a(0x1ba));}const _0x256971=_0xc9aa41['tables'];_0x256971[_0x39931a(0x1f1)](_0x112a12=>{const _0x4d87e7=_0x39931a;if(_0x112a12[_0x4d87e7(0x171)]===undefined||_0x112a12[_0x4d87e7(0x1ea)]===undefined||_0x112a12[_0x4d87e7(0x1d4)]===undefined)throw new Error(_0x4d87e7(0x11f)+JSON[_0x4d87e7(0x10f)](_0x112a12));if(_0x112a12[_0x4d87e7(0x186)]===undefined)_0x112a12[_0x4d87e7(0x186)]='无';if(_0x112a12[_0x4d87e7(0x111)]===undefined)_0x112a12[_0x4d87e7(0x111)]='允许';if(_0x112a12[_0x4d87e7(0x1b6)]===undefined)_0x112a12[_0x4d87e7(0x1b6)]='允许';if(_0x112a12[_0x4d87e7(0x173)]===undefined)_0x112a12['rule_update']='允许';if(_0x112a12[_0x4d87e7(0x16f)]&&!_0x112a12[_0x4d87e7(0x17a)])_0x112a12[_0x4d87e7(0x17a)]={},_0x112a12[_0x4d87e7(0x16f)][_0x4d87e7(0x130)]!==-0x1&&_0x112a12['charLimitRule']['limit']>0x0&&(_0x112a12[_0x4d87e7(0x17a)][_0x112a12['charLimitRule'][_0x4d87e7(0x130)]]=_0x112a12[_0x4d87e7(0x16f)]['limit']);else _0x112a12[_0x4d87e7(0x17a)]===undefined&&(_0x112a12[_0x4d87e7(0x17a)]={});delete _0x112a12['charLimitRule'],_0x112a12[_0x4d87e7(0x1e1)]===undefined&&(_0x112a12[_0x4d87e7(0x1e1)]=0x0);}),setMemoryState(_0x256971);const _0x1c9279=getContext();if(_0x1c9279[_0x39931a(0x1da)]&&_0x1c9279[_0x39931a(0x1da)]['length']>0x0){const _0x13dcb4=_0x1c9279[_0x39931a(0x1da)][_0x1c9279['chat'][_0x39931a(0x19e)]-0x1];saveStateToMessage(getMemoryState(),_0x13dcb4)&&(saveChat(),log('导入的预设已强制写入最新消息并立即保存。','success'));}else saveChatDebounced();log(_0x39931a(0x139),_0x39931a(0x17b)),toastr[_0x39931a(0x17b)](_0x39931a(0x134),_0x39931a(0x188)),typeof _0x42da0a===_0x39931a(0x180)&&_0x42da0a();}catch(_0x4ad72f){log(_0x39931a(0x1c7)+_0x4ad72f['message'],'error'),toastr[_0x39931a(0x208)](_0x39931a(0x1d5)+_0x4ad72f['message'],'错误');}},_0x57aa68['readAsText'](_0x49a9c3);},_0x3dfe61[_0x74ab7b(0x12c)]();}export async function rollbackState(){const _0x16e389=_0x195f36,_0x49311f=getContext();if(!_0x49311f||!_0x49311f[_0x16e389(0x1da)]||_0x49311f[_0x16e389(0x1da)][_0x16e389(0x19e)]<0x2)return log(_0x16e389(0x1e3),'warn'),toastr['warning']('聊天记录不足,无法执行回退操作。'),![];const _0x516942=_0x49311f[_0x16e389(0x1da)],_0x5a81c2=_0x516942[_0x16e389(0x19e)]-0x1,_0x1c70f8=_0x516942[_0x5a81c2];log(_0x16e389(0x145)+(_0x5a81c2-0x1)+'\x20条消息加载表格状态...',_0x16e389(0x135));const _0x5ab766=loadTables(_0x5a81c2);if(!_0x5ab766)return log(_0x16e389(0x1a7),_0x16e389(0x208)),toastr[_0x16e389(0x208)](_0x16e389(0x207)),![];setMemoryState(_0x5ab766);if(saveStateToMessage(_0x5ab766,_0x1c70f8))await saveChat(),log(_0x16e389(0x1ed),_0x16e389(0x17b));else return log(_0x16e389(0x153),'error'),toastr['error'](_0x16e389(0x1d7)),![];return renderTables(),updateOrInsertTableInChat(),log(_0x16e389(0x155),_0x16e389(0x135)),!![];}export async function rollbackAndRefill(){const _0x225733=_0x195f36;toastr[_0x225733(0x135)](_0x225733(0x1b8));const _0x11a99e=await rollbackState();if(!_0x11a99e){toastr['error'](_0x225733(0x1eb));return;}toastr['success'](_0x225733(0x1cb));const _0x4c2230=getContext(),_0x21e61b=_0x4c2230['chat'][_0x4c2230[_0x225733(0x1da)][_0x225733(0x19e)]-0x1];try{await fillWithSecondaryApi(_0x21e61b,!![]),log(_0x225733(0x129),_0x225733(0x17b));}catch(_0x52ddd7){log(_0x225733(0x1f5)+_0x52ddd7[_0x225733(0x194)],_0x225733(0x208)),toastr['error']('重新填表失败:\x20'+_0x52ddd7[_0x225733(0x194)]);}}export function isCurrentTablesEmpty(){const _0x2434af=_0x195f36,_0x2df12a=getMemoryState();if(!_0x2df12a||_0x2df12a[_0x2434af(0x19e)]===0x0)return!![];return _0x2df12a[_0x2434af(0x193)](_0x3d05d1=>!_0x3d05d1['rows']||_0x3d05d1[_0x2434af(0x1d4)][_0x2434af(0x19e)]===0x0);}export function clearGlobalPreset(){const _0x445dd9=_0x195f36;if(extension_settings[extensionName]&&extension_settings[extensionName][_0x445dd9(0x189)]){const _0xeb3bae=window[_0x445dd9(0x127)](_0x445dd9(0x11e));_0xeb3bae?(delete extension_settings[extensionName][_0x445dd9(0x189)],saveSettingsDebounced(),log(_0x445dd9(0x1f8),_0x445dd9(0x17b)),toastr[_0x445dd9(0x17b)](_0x445dd9(0x187),_0x445dd9(0x1e6))):(log(_0x445dd9(0x1f2),_0x445dd9(0x135)),toastr[_0x445dd9(0x135)](_0x445dd9(0x154)));}else log(_0x445dd9(0x1e9),'info'),toastr[_0x445dd9(0x135)]('当前没有设置全局预设。','提示');}export function importGlobalPreset(_0x20b739){const _0x1c03cf=_0x195f36,_0x2ef6e5=document[_0x1c03cf(0x148)](_0x1c03cf(0x160));_0x2ef6e5[_0x1c03cf(0x12a)]='file',_0x2ef6e5[_0x1c03cf(0x19c)]=_0x1c03cf(0x1fa),_0x2ef6e5[_0x1c03cf(0x151)]=_0x2d4616=>{const _0x52ea47=_0x1c03cf,_0x5c153a=_0x2d4616[_0x52ea47(0x16b)][_0x52ea47(0x140)][0x0];if(!_0x5c153a)return;const _0x19eb2f=new FileReader();_0x19eb2f[_0x52ea47(0x11a)]=_0x10b19d=>{const _0x4295b5=_0x52ea47;try{const _0xe9a512=JSON[_0x4295b5(0x19a)](_0x10b19d[_0x4295b5(0x16b)]['result']);if(!_0xe9a512[_0x4295b5(0x13a)]||!Array[_0x4295b5(0x200)](_0xe9a512[_0x4295b5(0x138)]))throw new Error(_0x4295b5(0x16e));const _0xbe7bcd=window[_0x4295b5(0x127)](_0x4295b5(0x14e));if(!_0xbe7bcd){log(_0x4295b5(0x195),_0x4295b5(0x135)),toastr[_0x4295b5(0x135)](_0x4295b5(0x154));return;}const _0x54c89f=_0xe9a512[_0x4295b5(0x138)][_0x4295b5(0x1af)](_0x2c6b22=>({'name':_0x2c6b22[_0x4295b5(0x171)],'headers':_0x2c6b22[_0x4295b5(0x1ea)],'note':_0x2c6b22[_0x4295b5(0x186)],'rule_add':_0x2c6b22[_0x4295b5(0x111)],'rule_delete':_0x2c6b22['rule_delete'],'rule_update':_0x2c6b22[_0x4295b5(0x173)],'rows':[]}));!extension_settings[extensionName]&&(extension_settings[extensionName]={});extension_settings[extensionName]['global_table_preset']={'version':_0xe9a512[_0x4295b5(0x13a)],'tables':_0x54c89f,'batchFillerRuleTemplate':_0xe9a512['batchFillerRuleTemplate'],'batchFillerFlowTemplate':_0xe9a512[_0x4295b5(0x167)]},saveSettingsDebounced();if(_0xe9a512[_0x4295b5(0x13a)]===_0x4295b5(0x13b))saveBatchFillerRuleTemplate(_0xe9a512[_0x4295b5(0x169)]||''),saveBatchFillerFlowTemplate(_0xe9a512[_0x4295b5(0x167)]||''),saveAiTemplate(_0xe9a512[_0x4295b5(0x1ec)]||'');else{if(_0xe9a512[_0x4295b5(0x147)]!==undefined&&_0xe9a512[_0x4295b5(0x14d)]!==undefined)saveBatchFillerRuleTemplate(_0xe9a512['aiRuleTemplate']||''),saveBatchFillerFlowTemplate(_0xe9a512[_0x4295b5(0x14d)]||''),saveAiTemplate(_0xe9a512[_0x4295b5(0x14d)]||'');else _0xe9a512['aiTemplate']&&(saveBatchFillerRuleTemplate(''),saveBatchFillerFlowTemplate(_0xe9a512[_0x4295b5(0x15a)]||''),saveAiTemplate(_0xe9a512[_0x4295b5(0x15a)]||''));}log(_0x4295b5(0x1a1),_0x4295b5(0x17b)),toastr[_0x4295b5(0x17b)]('全局预设已设置!新聊天将默认使用此预设。',_0x4295b5(0x131)),typeof _0x20b739===_0x4295b5(0x180)&&_0x20b739();}catch(_0x40b1d5){log(_0x4295b5(0x13f)+_0x40b1d5[_0x4295b5(0x194)],_0x4295b5(0x208)),toastr['error'](_0x4295b5(0x1d5)+_0x40b1d5[_0x4295b5(0x194)],'错误');}},_0x19eb2f['readAsText'](_0x5c153a);},_0x2ef6e5[_0x1c03cf(0x12c)]();} +const _0xddd662=_0x1489;(function(_0x271c7e,_0x142fa2){const _0x52ef9f=_0x1489,_0x575db5=_0x271c7e();while(!![]){try{const _0x221ee6=-parseInt(_0x52ef9f(0x2c2))/0x1*(parseInt(_0x52ef9f(0x23f))/0x2)+-parseInt(_0x52ef9f(0x272))/0x3+parseInt(_0x52ef9f(0x2a0))/0x4+parseInt(_0x52ef9f(0x281))/0x5+parseInt(_0x52ef9f(0x219))/0x6*(parseInt(_0x52ef9f(0x21c))/0x7)+-parseInt(_0x52ef9f(0x24c))/0x8+parseInt(_0x52ef9f(0x27e))/0x9;if(_0x221ee6===_0x142fa2)break;else _0x575db5['push'](_0x575db5['shift']());}catch(_0xd08797){_0x575db5['push'](_0x575db5['shift']());}}}(_0x1c91,0x66b46));import{getContext,extension_settings}from'/scripts/extensions.js';import{saveChat,saveSettingsDebounced}from'/script.js';import{log}from'./logger.js';import{fillWithSecondaryApi}from'./secondary-filler.js';import{getChatPiece,saveChatDebounced}from'../../utils/utils.js';import{extensionName}from'../../utils/settings.js';function _0x1c91(){const _0x28d39c=['AI指令错误:尝试在不存在的表格索引\x20','\x20的第\x20','map','5901816mhKbRy','状态回退失败,已中止操作。','无法找到可锚定的消息或保存失败,新表格可能不会被持久化!','拥有者','amily2_ai_template','回退重填过程中发生错误:\x20','【核心作用】记录那些在故事中具有特殊功能、背景或情感价值的关键物品。普通物品不应记录。\x0a【字段详解】\x0a-\x20物品名:\x20物品的名称。\x0a-\x20类型:\x20物品的分类,如\x27武器\x27、\x27道具\x27、\x27信物\x27、\x27关键物品\x27。\x0a-\x20详情:\x20描述物品的外观、材质和已知功能。\x0a-\x20状态:\x20物品的当前状况,如\x27完好\x27、\x27破损\x27、\x27能量耗尽\x27。\x0a-\x20拥有者:\x20当前持有该物品的角色名。\x0a-\x20重要原因:\x20解释该物品为何重要,例如\x27是解开谜题的钥匙\x27或\x27是母亲的遗物\x27。','name','没有可导出的表格数据。','操作完成','【触发条件】当物品的“状态”(如被损坏)、“拥有者”(如被转交或被盗)或“详情”(如发现了新功能)发生变化时,必须更新。','rule_delete','onload','执行AI指令:\x20updateRow(tableIndex=','\x0a\x20\x20\x20\x20\x20\x20\x20\x20','...]','readAsText','新列\x20','所有AI指令已成功执行完毕。','length','导入的预设已强制写入最新消息并立即保存。','mes',']\x20在第\x20','无法导出:当前表格状态为空。','【触发条件】任何时候,如果此表格的行数超过一行,必须删除旧的行,只保留最新、最准确的一行。','\x20的表格。','toString','新列\x201','rows','amily2-force-ui-reload','click','\x22\x20的表格已存在。','accept','设置成功',')超出规定(','导入全局预设失败:\x20','batch_filler_rule_template','缺少状态或目标消息,无法保存。','2162607XKSlSF','\x20中找不到索引为\x20','成功在表格\x20','\x20条消息中找到基准表格数据。','AI返回内容为空,无法更新表格。','Amily2-Table-Preset-v3.0-separated_templates','正在执行回退并重新填表...','revokeObjectURL','表格状态已准备写入消息\x20[','重新填表失败:\x20','【核心作用】此表格是角色关系和状态的核心数据库,用于记录所有在故事中出现的重要角色的详细信息。\x0a【字段详解】\x0a-\x20角色名:\x20角色的唯一标识。\x0a-\x20外貌:\x20描述五官、发型、发色、肤色等面部特征。\x0a-\x20身形:\x20描述身高、体型、肌肉状况、特殊身体标记(如伤疤)等。\x0a-\x20衣着:\x20描述角色当前或标志性的穿着,包括服装、配饰等。\x0a-\x20性格:\x20概括角色的核心性格特质,使用1-3个关键词,如\x27勇敢/鲁莽/忠诚\x27。\x0a-\x20身份:\x20角色的社会背景或出身,如\x27贵族后裔\x27、\x27流浪者\x27。\x0a-\x20职业:\x20角色赖以谋生的工作或职责,如\x27佣兵\x27、\x27学者\x27。\x0a-\x20与关系:\x20描述该角色与主角之间的社会或情感关系,如\x27盟友\x27、\x27导师\x27、\x27敌人\x27。\x0a-\x20爱好:\x20角色的兴趣和消遣活动。\x0a-\x20住所:\x20角色的常住地。\x0a-\x20其他重要信息:\x20记录任何不属于以上类别但对角色至关重要的信息,如特殊能力、过去的经历等。','fromCharCode','13485537WGmjpr','\x20行已删除。','chat','2647625diJpXw','任务栏','已清除所有单元格高亮标记。','执行者','message','columnWidths','type','全局预设已设置!新聊天将默认使用此预设。',')行以下,但切莫完全删除。】','执行AI指令:\x20insertRow(tableIndex=','\x0a---\x0a','filter','Amily2-','无法找到可锚定的消息或保存失败,删除操作可能不会被持久化!','Amily2-Table-Preset-v2.0-clean','\x20列。','表格\x20[','target','slice','全局预设已清除,新聊天将使用默认模板。','UI已更新以显示回退后的状态。','\x20行位置插入了新行。','未知操作','below','\x20行移动到第\x20','状态回退成功,准备重新填表...','【触发条件】当以下任一情况发生时,必须更新此行:\x0a1.\x20时间发生显著跳跃(例如,\x27几小时后\x27、\x27第二天\x27)。\x0a2.\x20角色从一个地点移动到另一个地点。\x0a3.\x20场景中关键角色的出入导致在场人员发生变化。',']\x20的规则已更新。','replace','【触发条件】当故事开始,且此表格为空时,必须立即根据初始场景创建第一行。','getPrototypeOf','158944yddSIu','成功将表格\x20','回退状态保存失败,操作中止。','number','version','全局预设已成功导入并保存到扩展设置中。',')行(','纯净预设','其他重要信息','substring','toISOString',']\x20新增了一列。','】已成功导出。','在第\x20','\x20行。','extra','\x20列的','onchange','技能效果','clear','全局预设已被清除。','文件格式无效或缺少版本号/表格数据。','runner',')\x20的第\x20','tables','appendChild','【核心作用】专门用于记录主角掌握的各种技能、魔法、被动能力或特殊专长。\x0a【字段详解】\x0a-\x20技能名:\x20技能的正式名称。\x0a-\x20技能效果:\x20清晰、简洁地描述该技能使用时产生的具体效果、消耗和限制条件。','未在AI返回内容中找到有效的\x20\x20指令块。','input','success','charLimitRule','\x0a*\x20','无法移动表格:索引\x20','constructor','7sEnrwu','准备执行从AI返回的\x20','object','aiRuleTemplate','result',']\x20的表头“','【触发条件】只能在明确表示要修改某条设定时,才能更新对应行的描述。','【触发条件】当通过括号、旁白或其他明确的“第四面墙”方式,提出关于故事背景、规则或未来走向的指令时,必须记录于此。','【触发条件】当一个角色被确认永久性死亡(非假死或失踪),且其存在不再对后续剧情有直接影响时,可以删除该行。','导入失败:','无需清除,当前未设置任何全局预设。','】已开始下载。','从预设模板生成默认表格...','导入成功','rule_update','导入操作已取消。','重命名失败:名称不能为空。','splice','【触发条件】当任务的“状态”发生任何变化时,必须更新。例如,从\x27进行中\x27变为\x27已完成\x27。当任务的“详情”或“结果”有新的关键信息补充时,也应更新。','charLimitRules',')字限制,请进行缩减。】','global_table_preset','【修改】:\x20','导入的表格数据格式不正确:\x20','limit','删除列失败:在表格\x20','【触发条件】当一个有名有姓的角色首次出现,并与或当前剧情发生有意义的互动时,必须为其创建新的一行。','【清除全局预设】\x0a\x0a您确定要清除已设置的全局预设吗?\x0a\x0a清除后,新聊天将恢复使用扩展内置的默认表格模板。','aiTemplate','batchFillerFlowTemplate','fill','填表完成','info','files','执行AI指令时出错:\x20','stringify','size','无法找到可锚定的消息或保存失败,清空操作可能不会被持久化!','预设已成功导入!',']\x20的列“',',\x20rowIndex=','amily2_tables_data','batchFillerRuleTemplate','【触发条件】当在故事中首次成功施展或习得一个全新的、表格中未记录的技能时,必须添加。','无法找到可锚定的消息或保存失败,顺序调整可能不会被持久化!','用户取消了导入操作。','无法移动列:索引\x20','【当前(','forEach','表格不存在。','trim','【触发条件】当一个已知技能的效果发生进化、变异或被添加了新的限制/效果时(例如,技能升级),必须更新其“技能效果”描述。','无法创建表格:名称不能为空。','重命名失败:表格不存在。','表格顺序调整后的状态已强制写入最新消息并立即保存。','createObjectURL','重要原因','执行AI指令时发生错误:\x20','正在尝试从第\x20','\x22\x20已更新内存状态。','join','\x20条消息加载表格状态...','重命名失败:名为\x20\x22','【触发条件】当任务列表超过10行时,优先删除最早的、已经“已完成”且与当前剧情关联度最低的任务。如果存在内容完全重复的任务,应删除。',']\x20新增了一行。','【核心作用】追踪故事中的主要情节线、目标和挑战。只记录对剧情发展有重大影响的“任务”,忽略日常琐事。\x0a【字段详解】\x0a-\x20任务名:\x20任务的简洁概括,如\x27寻找失落的神器\x27。\x0a-\x20类型:\x20任务的分类,如\x27主线\x27、\x27支线\x27、\x27个人\x27、\x27约定\x27。\x0a-\x20详情:\x20对任务目标和背景的简要描述。\x0a-\x20状态:\x20任务的当前进展,如\x27未开始\x27、\x27进行中\x27、\x27已完成\x27、\x27已失败\x27、\x27已取消\x27。\x0a-\x20执行者:\x20负责完成此任务的角色名。\x0a-\x20地点:\x20任务关键环节发生的地点。\x0a-\x20开始时间/结束时间:\x20记录任务的起止时间,格式\x27YYYY-MM-DD\x27,若未结束则结束时间留空。\x0a-\x20结果:\x20任务完成或失败后的最终结果。','body','\x20(索引\x20','left','AI\x20指令更新了表格\x20[','【触发条件】当一个物品被彻底摧毁、消耗完毕或永久失去其特殊意义时,可以删除。',']\x20末尾新增一行。','【警告】\x0a\x0a导入操作将完全覆盖您当前的AI指令模板和所有表格(包括结构和内容)。\x0a\x0a此操作不可逆,是否确定要继续?','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20{\x20insertRow,\x20deleteRow,\x20updateRow\x20}\x20=\x20runner;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','file',']\x20的顺序已调整。','表格名称不能为空。','.json','some','执行失败','rowLimitRule','这是一个新创建的表格。',')第(','error','parse','headers','回退并重新填表操作完成。','移动。','名为\x20\x22','every','columnIndex','\x22\x20已重命名为\x20\x22','injectionFlowTemplate','插入行失败:找不到索引为\x20','download','导入预设失败:\x20','【增加】:\x20','角色名','(该表当前内容为空)\x0a','物品栏','\x20中操作。','任务名','warning','【触发条件】如果发现表格中存在两个描述完全相同的重复技能,应删除其中一个。如果记录了非的技能,应立即删除。','12PVtutP','用户取消了全局预设导入操作。','导出成功','341103FNmmaX','aiFlowTemplate','技能名','无法创建表格:名为\x20\x22','UI操作\x20\x22','confirm','创建失败','),已智能转换为在表格\x20[','push','已根据AI的指示成功更新表格!','与关系','href','插入了新列。','”已向','AI指令块为空,无需执行任何操作。','Amily2-Table-Preset-v2.0-full','导入的预设中缺少指令模板字段,模板将不会被更新。','AI指令意图更新不存在的行\x20(rowIndex:\x20',']\x20的第\x20','时空栏','所有表格的剧情内容已清空。','note','操作已取消。',')列,字符超出规定(','isArray','重命名失败','dispatchEvent','warn','function',',\x20data=','createElement','此地角色','”已更新为“','操作成功','技能栏','81668DEPdaq','【核心作用】此表格记录了来自的、超越故事本身的“元指令”或世界观设定,拥有最高解释权。内容应被严格遵守,禁止AI自行修改。\x0a【字段详解】\x0a-\x20类型:\x20指令的分类,如\x27世界观设定\x27、\x27剧情走向要求\x27、\x27角色行为禁令\x27。\x0a-\x20具体描述:\x20完整、准确地记录提出的具体要求。','当前没有设置全局预设。','用户取消了清除全局预设的操作。','batch_filler_flow_template','已成功将回退后的状态保存至最新消息。','未在聊天记录中找到表格,正在加载全局预设...','设定栏','rule_add',')行,请结合剧情缩减至('];_0x1c91=function(){return _0x28d39c;};return _0x1c91();}import{DEFAULT_AI_RULE_TEMPLATE,DEFAULT_AI_FLOW_TEMPLATE}from'./settings.js';import{renderTables}from'../../ui/table-bindings.js';import{updateOrInsertTableInChat}from'../../ui/message-table-renderer.js';const TABLE_DATA_KEY=_0xddd662(0x1da);let currentTablesState=null,highlightedCells=new Set();export function addHighlight(_0x23877c,_0xde3965,_0x44b11){const _0x4e69b1=_0x23877c+'-'+_0xde3965+'-'+_0x44b11;highlightedCells['add'](_0x4e69b1);}export function getHighlights(){return highlightedCells;}export function clearHighlights(){const _0x53a8bd=_0xddd662;highlightedCells[_0x53a8bd(0x1d5)]>0x0&&(highlightedCells[_0x53a8bd(0x2b3)](),log(_0x53a8bd(0x283),_0x53a8bd(0x1d1)));}export function setMemoryState(_0x44f735){currentTablesState=_0x44f735;}export function getMemoryState(){return currentTablesState;}const defaultTemplate={'tables':[{'name':_0xddd662(0x22f),'headers':['日期','时段','时间','地点',_0xddd662(0x23b)],'note':'【核心作用】此表格用于精确追踪故事发生的即时时空背景,确保时间与空间的连续性。它应该始终只包含一行,代表当前的“镜头”位置。\x0a【字段详解】\x0a-\x20日期:\x20格式为\x27YYYY-MM-DD\x27。若日期未知,请根据上下文合理推断或设定一个初始日期,如\x27大夏3年-9月-10日\x27。\x0a-\x20时段:\x20严格遵循规定(凌晨:0-5时;早晨:5-8时;上午:8-11时;中午:11-13时;下午:13-16时;傍晚:16-19时;晚上:19-24时)。\x0a-\x20时间:\x20格式为\x27HH:MM\x27。若时间未知,可根据时段估算,如\x2708:30\x27。\x0a-\x20地点:\x20描述当前场景发生的具体位置,应尽可能精确,例如\x27XX街的咖啡馆\x27而非\x27城里\x27。\x0a-\x20此地角色:\x20列出当前场景中所有在场且参与互动的主要角色,用\x27/\x27分隔。','rule_add':_0xddd662(0x29e),'rule_delete':_0xddd662(0x264),'rule_update':_0xddd662(0x29b),'charLimitRules':{},'rowLimitRule':0x1,'rows':[]},{'name':'角色栏','headers':[_0xddd662(0x212),'外貌','身形','衣着','性格','身份','职业',_0xddd662(0x226),'爱好','住所',_0xddd662(0x2a8)],'note':_0xddd662(0x27c),'rule_add':_0xddd662(0x1cb),'rule_delete':_0xddd662(0x2ca),'rule_update':'【触发条件】当角色的任何信息发生持久性或关键性变化时,必须更新对应单元格。例如:\x0a1.\x20外貌/身形/衣着发生永久性改变(如断肢、换上新装备)。\x0a2.\x20性格因重大事件而扭转。\x0a3.\x20身份或职业发生变更(如继承王位、被解雇)。\x0a4.\x20与的关系发生根本性转变(如从敌人变为盟友)。','charLimitRules':{'10':0x1e},'rowLimitRule':0x0,'rows':[]},{'name':_0xddd662(0x282),'headers':[_0xddd662(0x216),'类型','详情','状态',_0xddd662(0x284),'地点','开始时间/结束时间','结果'],'note':_0xddd662(0x1f2),'rule_add':'【触发条件】当以下情况发生时,应添加新行:\x0a1.\x20角色接下一个明确的、有目标的委托或命令。\x0a2.\x20角色们达成一个具体的、需要在未来执行的约定。\x0a3.\x20角色为自己设定一个长期的、关键性的目标。','rule_delete':_0xddd662(0x1f0),'rule_update':_0xddd662(0x2d4),'charLimitRules':{},'rowLimitRule':0xa,'rows':[]},{'name':_0xddd662(0x214),'headers':['物品名','类型','详情','状态',_0xddd662(0x24f),_0xddd662(0x1e9)],'note':_0xddd662(0x252),'rule_add':'【触发条件】当一个物品被明确赋予了特殊意义(如被赠予、在关键事件中扮演重要角色)或展示出独特功能时,应为其创建条目。','rule_delete':_0xddd662(0x1f7),'rule_update':_0xddd662(0x256),'charLimitRules':{},'rowLimitRule':0x0,'rows':[]},{'name':_0xddd662(0x23e),'headers':[_0xddd662(0x21e),_0xddd662(0x2b2)],'note':_0xddd662(0x2ba),'rule_add':_0xddd662(0x1dc),'rule_delete':_0xddd662(0x218),'rule_update':_0xddd662(0x1e4),'charLimitRules':{},'rowLimitRule':0x0,'rows':[]},{'name':_0xddd662(0x246),'headers':['类型','具体描述'],'note':_0xddd662(0x240),'rule_add':_0xddd662(0x2c9),'rule_delete':'【触发条件】只能在明确表示要移除或废弃某条设定时,才能删除对应行。','rule_update':_0xddd662(0x2c8),'charLimitRules':{},'rowLimitRule':0x0,'rows':[]}]};function getDefaultTables(){const _0x4a5e14=_0xddd662;log(_0x4a5e14(0x2ce),_0x4a5e14(0x1d1));const _0x13a9cb=JSON[_0x4a5e14(0x205)](JSON[_0x4a5e14(0x1d4)](defaultTemplate[_0x4a5e14(0x2b8)]));return _0x13a9cb['forEach'](_0x35c5d3=>{const _0x405468=_0x4a5e14;_0x35c5d3[_0x405468(0x2be)]={'columnIndex':-0x1,'limit':0x0},_0x35c5d3[_0x405468(0x201)]=0x0,_0x35c5d3[_0x405468(0x286)]=[];}),_0x13a9cb;}export function loadTables(_0x981a1b=-0x1){const _0x33b769=_0xddd662,_0x5d3706=getContext();if(_0x5d3706&&_0x5d3706[_0x33b769(0x280)]&&_0x5d3706['chat'][_0x33b769(0x25f)]>0x0){const _0x2f1ae4=_0x981a1b===-0x1?_0x5d3706['chat'][_0x33b769(0x25f)]-0x1:_0x981a1b-0x1;for(let _0x4be0c9=_0x2f1ae4;_0x4be0c9>=0x0;_0x4be0c9--){const _0x48eb4e=_0x5d3706[_0x33b769(0x280)][_0x4be0c9];if(_0x48eb4e[_0x33b769(0x2af)]&&_0x48eb4e[_0x33b769(0x2af)][TABLE_DATA_KEY]){log(_0x33b769(0x2ad)+_0x4be0c9+_0x33b769(0x275),_0x33b769(0x1d1));let _0x1e228f=JSON[_0x33b769(0x205)](JSON[_0x33b769(0x1d4)](_0x48eb4e[_0x33b769(0x2af)][TABLE_DATA_KEY]));return _0x1e228f[_0x33b769(0x1e1)](_0x38c974=>{const _0x313729=_0x33b769;if(_0x38c974[_0x313729(0x231)]===undefined)_0x38c974[_0x313729(0x231)]='无';if(_0x38c974['rule_add']===undefined)_0x38c974[_0x313729(0x247)]='允许';if(_0x38c974['rule_delete']===undefined)_0x38c974[_0x313729(0x257)]='允许';if(_0x38c974['rule_update']===undefined)_0x38c974['rule_update']='允许';_0x38c974[_0x313729(0x2be)]&&!_0x38c974[_0x313729(0x2d5)]&&(_0x38c974['charLimitRules']={},_0x38c974[_0x313729(0x2be)][_0x313729(0x20b)]!==-0x1&&_0x38c974[_0x313729(0x2be)]['limit']>0x0&&(_0x38c974[_0x313729(0x2d5)][_0x38c974[_0x313729(0x2be)][_0x313729(0x20b)]]=_0x38c974[_0x313729(0x2be)][_0x313729(0x1c9)]));delete _0x38c974['charLimitRule'];if(_0x38c974[_0x313729(0x201)]===undefined)_0x38c974[_0x313729(0x201)]=0x0;if(_0x38c974['columnWidths']===undefined)_0x38c974['columnWidths']=[];}),currentTablesState=_0x1e228f,currentTablesState;}}}if(extension_settings[extensionName]?.[_0x33b769(0x2d7)]){log(_0x33b769(0x245),_0x33b769(0x1d1));try{const _0x517b03=extension_settings[extensionName][_0x33b769(0x2d7)];return currentTablesState=JSON[_0x33b769(0x205)](JSON[_0x33b769(0x1d4)](_0x517b03[_0x33b769(0x2b8)])),_0x517b03[_0x33b769(0x1db)]!==undefined&&saveBatchFillerRuleTemplate(_0x517b03[_0x33b769(0x1db)]),_0x517b03[_0x33b769(0x1ce)]!==undefined&&saveBatchFillerFlowTemplate(_0x517b03[_0x33b769(0x1ce)]),currentTablesState;}catch(_0x2aed16){log('加载全局预设失败:\x20'+_0x2aed16[_0x33b769(0x285)],'error');}}return log('未找到任何表格数据或全局预设,使用默认模板。','info'),currentTablesState=getDefaultTables(),currentTablesState;}export function saveStateToMessage(_0x9428db,_0x2fe120){const _0x5b49a5=_0xddd662;if(!_0x9428db||!_0x2fe120)return log(_0x5b49a5(0x271),'error'),![];return!_0x2fe120[_0x5b49a5(0x2af)]&&(_0x2fe120[_0x5b49a5(0x2af)]={}),_0x2fe120['extra'][TABLE_DATA_KEY]=JSON[_0x5b49a5(0x205)](JSON[_0x5b49a5(0x1d4)](_0x9428db)),log(_0x5b49a5(0x27a)+_0x2fe120[_0x5b49a5(0x261)][_0x5b49a5(0x2a9)](0x0,0x14)+_0x5b49a5(0x25b),'info'),!![];}export function saveTables(_0x13ed5c=_0xddd662(0x297)){const _0xb48d64=_0xddd662;return log(_0xb48d64(0x220)+_0x13ed5c+_0xb48d64(0x1ec),_0xb48d64(0x1d1)),!![];}export function deleteColumn(_0x592b9b,_0x408a68){const _0x21ebc9=_0xddd662,_0x365ab6=getMemoryState();if(!_0x365ab6[_0x592b9b]||_0x408a68<0x0||_0x408a68>=_0x365ab6[_0x592b9b][_0x21ebc9(0x206)]['length']){log(_0x21ebc9(0x1ca)+_0x592b9b+_0x21ebc9(0x273)+_0x408a68+'\x20的列。',_0x21ebc9(0x204));return;}_0x365ab6[_0x592b9b][_0x21ebc9(0x206)][_0x21ebc9(0x2d3)](_0x408a68,0x1),_0x365ab6[_0x592b9b][_0x21ebc9(0x268)][_0x21ebc9(0x1e1)](_0x561db5=>{const _0x1a40f3=_0x21ebc9;_0x561db5[_0x1a40f3(0x25f)]>_0x408a68&&_0x561db5[_0x1a40f3(0x2d3)](_0x408a68,0x1);}),_0x365ab6[_0x592b9b][_0x21ebc9(0x286)]&&_0x365ab6[_0x592b9b][_0x21ebc9(0x286)][_0x21ebc9(0x25f)]>_0x408a68&&_0x365ab6[_0x592b9b][_0x21ebc9(0x286)]['splice'](_0x408a68,0x1),log('成功删除了表格\x20'+_0x592b9b+_0x21ebc9(0x24a)+(_0x408a68+0x1)+_0x21ebc9(0x290),_0x21ebc9(0x2bd)),saveTables(_0x365ab6);}export function moveRow(_0x28fdf6,_0x590a70,_0x4a5f2d){const _0x2107ac=_0xddd662,_0x34c9d0=getMemoryState(),_0x291a34=_0x34c9d0[_0x28fdf6];if(!_0x291a34||_0x590a70<0x0||_0x590a70>=_0x291a34[_0x2107ac(0x268)][_0x2107ac(0x25f)])return;const _0x25defe=_0x4a5f2d==='up'?_0x590a70-0x1:_0x590a70+0x1;if(_0x25defe<0x0||_0x25defe>=_0x291a34[_0x2107ac(0x268)][_0x2107ac(0x25f)])return;const [_0xf1839]=_0x291a34['rows']['splice'](_0x590a70,0x1);_0x291a34['rows']['splice'](_0x25defe,0x0,_0xf1839),log(_0x2107ac(0x2a1)+_0x28fdf6+'\x20的第\x20'+(_0x590a70+0x1)+_0x2107ac(0x299)+(_0x25defe+0x1)+_0x2107ac(0x2ae),_0x2107ac(0x2bd)),saveTables(_0x34c9d0);}export function insertRow(_0x452681,_0x4dda82,_0x4eae2c=_0xddd662(0x298)){const _0x2e02b3=_0xddd662,_0x398aee=getMemoryState(),_0xbce510=_0x398aee[_0x452681];if(!_0xbce510){log(_0x2e02b3(0x20e)+_0x452681+_0x2e02b3(0x265),_0x2e02b3(0x204));return;}let _0x21fa02;typeof _0x4dda82===_0x2e02b3(0x2a3)?_0x21fa02=_0x4eae2c==='above'?_0x4dda82:_0x4dda82+0x1:_0x21fa02=_0xbce510['rows'][_0x2e02b3(0x25f)];if(_0x21fa02<0x0)_0x21fa02=0x0;if(_0x21fa02>_0xbce510[_0x2e02b3(0x268)][_0x2e02b3(0x25f)])_0x21fa02=_0xbce510['rows'][_0x2e02b3(0x25f)];const _0x24f7fe=new Array(_0xbce510[_0x2e02b3(0x206)][_0x2e02b3(0x25f)])[_0x2e02b3(0x1cf)]('');if(typeof _0x4dda82===_0x2e02b3(0x2c4)&&_0x4dda82!==null)for(const _0x114513 in _0x4dda82){const _0x3b8520=parseInt(_0x114513,0xa);!isNaN(_0x3b8520)&&_0x3b8520<_0x24f7fe[_0x2e02b3(0x25f)]&&(_0x24f7fe[_0x3b8520]=_0x4dda82[_0x114513],addHighlight(_0x452681,_0x21fa02,_0x3b8520));}_0xbce510[_0x2e02b3(0x268)][_0x2e02b3(0x2d3)](_0x21fa02,0x0,_0x24f7fe),log(_0x2e02b3(0x274)+_0xbce510[_0x2e02b3(0x253)]+_0x2e02b3(0x1f4)+_0x452681+_0x2e02b3(0x2b7)+(_0x21fa02+0x1)+_0x2e02b3(0x296),'success');const _0x474fce=getContext();if(_0x474fce[_0x2e02b3(0x280)]&&_0x474fce['chat'][_0x2e02b3(0x25f)]>0x0){const _0xfd4bba=_0x474fce[_0x2e02b3(0x280)][_0x474fce['chat'][_0x2e02b3(0x25f)]-0x1];if(saveStateToMessage(_0x398aee,_0xfd4bba)){saveChat();return;}}saveChatDebounced();}export function addRow(_0x118f7d){const _0x79167b=_0xddd662;if(!currentTablesState||!currentTablesState[_0x118f7d])return;const _0x2cf3ec=currentTablesState[_0x118f7d],_0x13c38d=_0x2cf3ec[_0x79167b(0x206)][_0x79167b(0x25f)],_0xf60b3d=Array(_0x13c38d)[_0x79167b(0x1cf)]('');_0x2cf3ec[_0x79167b(0x268)]['push'](_0xf60b3d);const _0xc43f65=_0x79167b(0x291)+_0x2cf3ec[_0x79167b(0x253)]+_0x79167b(0x1f1);log(_0xc43f65,_0x79167b(0x1d1));const _0x334508=getContext();if(_0x334508['chat']&&_0x334508[_0x79167b(0x280)]['length']>0x0){const _0x1c5a8b=_0x334508[_0x79167b(0x280)][_0x334508[_0x79167b(0x280)][_0x79167b(0x25f)]-0x1];if(saveStateToMessage(currentTablesState,_0x1c5a8b)){saveChat();return;}}saveChatDebounced();}export function addColumn(_0x357c59){const _0x19fc29=_0xddd662;if(!currentTablesState||!currentTablesState[_0x357c59])return;const _0x3846c6=currentTablesState[_0x357c59],_0x5d59e3=_0x19fc29(0x25d)+(_0x3846c6[_0x19fc29(0x206)]['length']+0x1);_0x3846c6['headers']['push'](_0x5d59e3),_0x3846c6['rows'][_0x19fc29(0x1e1)](_0x21e647=>_0x21e647['push'](''));if(!_0x3846c6[_0x19fc29(0x286)])_0x3846c6[_0x19fc29(0x286)]=[];_0x3846c6[_0x19fc29(0x286)][_0x19fc29(0x224)](null);const _0x2c18e7=_0x19fc29(0x291)+_0x3846c6[_0x19fc29(0x253)]+_0x19fc29(0x2ab);log(_0x2c18e7,_0x19fc29(0x1d1));const _0x4f8e68=getContext();if(_0x4f8e68[_0x19fc29(0x280)]&&_0x4f8e68[_0x19fc29(0x280)]['length']>0x0){const _0x78cb9a=_0x4f8e68[_0x19fc29(0x280)][_0x4f8e68[_0x19fc29(0x280)][_0x19fc29(0x25f)]-0x1];if(saveStateToMessage(currentTablesState,_0x78cb9a)){saveChat();return;}}saveChatDebounced();}export function updateHeader(_0xd9edf4,_0x34a900,_0x104dcc){const _0x1a7b87=_0xddd662;if(!currentTablesState||!currentTablesState[_0xd9edf4]||currentTablesState[_0xd9edf4][_0x1a7b87(0x206)][_0x34a900]===undefined)return;const _0x459365=currentTablesState[_0xd9edf4]['name'],_0x5ad3f4=currentTablesState[_0xd9edf4][_0x1a7b87(0x206)][_0x34a900];currentTablesState[_0xd9edf4]['headers'][_0x34a900]=_0x104dcc;const _0x54a9f1=_0x1a7b87(0x291)+_0x459365+_0x1a7b87(0x2c7)+_0x5ad3f4+_0x1a7b87(0x23c)+_0x104dcc+'”。';log(_0x54a9f1,_0x1a7b87(0x1d1));const _0x4ded95=getContext();if(_0x4ded95[_0x1a7b87(0x280)]&&_0x4ded95[_0x1a7b87(0x280)][_0x1a7b87(0x25f)]>0x0){const _0x252789=_0x4ded95[_0x1a7b87(0x280)][_0x4ded95[_0x1a7b87(0x280)][_0x1a7b87(0x25f)]-0x1];if(saveStateToMessage(currentTablesState,_0x252789)){saveChat();return;}}saveChatDebounced();}export async function deleteRow(_0x151d4b,_0x1aab8c){const _0x22848e=_0xddd662;if(!currentTablesState||!currentTablesState[_0x151d4b]||!currentTablesState[_0x151d4b][_0x22848e(0x268)][_0x1aab8c])return;const _0x10e220=currentTablesState[_0x151d4b]['name'];currentTablesState[_0x151d4b][_0x22848e(0x268)][_0x22848e(0x2d3)](_0x1aab8c,0x1);const _0x4921ff=_0x22848e(0x291)+_0x10e220+_0x22848e(0x22e)+(_0x1aab8c+0x1)+_0x22848e(0x27f);log(_0x4921ff,_0x22848e(0x1d1));const _0x11efcf=getContext();if(_0x11efcf[_0x22848e(0x280)]&&_0x11efcf[_0x22848e(0x280)][_0x22848e(0x25f)]>0x0){const _0x43a9c0=_0x11efcf['chat'][_0x11efcf['chat'][_0x22848e(0x25f)]-0x1];if(saveStateToMessage(currentTablesState,_0x43a9c0)){await saveChat();return;}}await saveChatDebounced();}export function insertColumn(_0x16df1d,_0xee8149,_0x36cae0){const _0xa5f703=_0xddd662;if(!currentTablesState||!currentTablesState[_0x16df1d])return;const _0x7dd2da=currentTablesState[_0x16df1d],_0xb2cd8c=_0x36cae0==='left'?_0xee8149:_0xee8149+0x1,_0x90a970='新列';_0x7dd2da[_0xa5f703(0x206)]['splice'](_0xb2cd8c,0x0,_0x90a970),_0x7dd2da[_0xa5f703(0x268)][_0xa5f703(0x1e1)](_0xad9605=>_0xad9605['splice'](_0xb2cd8c,0x0,''));if(!_0x7dd2da['columnWidths'])_0x7dd2da['columnWidths']=[];_0x7dd2da[_0xa5f703(0x286)][_0xa5f703(0x2d3)](_0xb2cd8c,0x0,null);const _0x48abcc=_0xa5f703(0x291)+_0x7dd2da[_0xa5f703(0x253)]+_0xa5f703(0x262)+(_0xee8149+0x1)+_0xa5f703(0x2b0)+(_0x36cae0===_0xa5f703(0x1f5)?'左侧':'右侧')+_0xa5f703(0x228);log(_0x48abcc,_0xa5f703(0x1d1));const _0x3a878e=getContext();if(_0x3a878e['chat']&&_0x3a878e[_0xa5f703(0x280)][_0xa5f703(0x25f)]>0x0){const _0x3b30b9=_0x3a878e['chat'][_0x3a878e['chat'][_0xa5f703(0x25f)]-0x1];if(saveStateToMessage(currentTablesState,_0x3b30b9)){saveChat();return;}}saveChatDebounced();}export function moveColumn(_0x36dd23,_0x50f737,_0x1c5cd1){const _0x9db41c=_0xddd662;if(!currentTablesState||!currentTablesState[_0x36dd23])return;const _0x418989=currentTablesState[_0x36dd23],_0x222190=_0x418989['headers'],_0x2adf7c=_0x418989[_0x9db41c(0x268)],_0x5a7dc6=_0x1c5cd1===_0x9db41c(0x1f5)?_0x50f737-0x1:_0x50f737+0x1;if(_0x5a7dc6<0x0||_0x5a7dc6>=_0x222190[_0x9db41c(0x25f)]){log(_0x9db41c(0x1df)+_0x50f737+'\x20已在边界。','warn');return;}const [_0x21bcde]=_0x222190[_0x9db41c(0x2d3)](_0x50f737,0x1);_0x222190[_0x9db41c(0x2d3)](_0x5a7dc6,0x0,_0x21bcde),_0x2adf7c[_0x9db41c(0x1e1)](_0x429d66=>{const _0x148033=_0x9db41c,[_0x4850fc]=_0x429d66[_0x148033(0x2d3)](_0x50f737,0x1);_0x429d66[_0x148033(0x2d3)](_0x5a7dc6,0x0,_0x4850fc);});if(_0x418989['columnWidths']&&_0x418989['columnWidths']['length']>_0x50f737){const [_0x469775]=_0x418989[_0x9db41c(0x286)][_0x9db41c(0x2d3)](_0x50f737,0x1);_0x418989[_0x9db41c(0x286)][_0x9db41c(0x2d3)](_0x5a7dc6,0x0,_0x469775);}const _0x3a20d9=_0x9db41c(0x291)+_0x418989[_0x9db41c(0x253)]+_0x9db41c(0x1d8)+_0x21bcde+_0x9db41c(0x229)+(_0x1c5cd1===_0x9db41c(0x1f5)?'左':'右')+_0x9db41c(0x208);log(_0x3a20d9,'info');const _0x4e0275=getContext();if(_0x4e0275[_0x9db41c(0x280)]&&_0x4e0275[_0x9db41c(0x280)][_0x9db41c(0x25f)]>0x0){const _0x262194=_0x4e0275['chat'][_0x4e0275[_0x9db41c(0x280)][_0x9db41c(0x25f)]-0x1];if(saveStateToMessage(currentTablesState,_0x262194)){saveChat();return;}}saveChatDebounced();}export function deleteTable(_0x19622c){const _0x335aba=_0xddd662;if(!currentTablesState||!currentTablesState[_0x19622c])return;const _0x10ed22=currentTablesState[_0x19622c][_0x335aba(0x253)];currentTablesState[_0x335aba(0x2d3)](_0x19622c,0x1);const _0x42116a=_0x335aba(0x291)+_0x10ed22+']\x20已被成功废黜。';log(_0x42116a,_0x335aba(0x2bd));const _0xa3332d=getContext();if(_0xa3332d[_0x335aba(0x280)]&&_0xa3332d[_0x335aba(0x280)][_0x335aba(0x25f)]>0x0){const _0x47d87e=_0xa3332d[_0x335aba(0x280)][_0xa3332d['chat'][_0x335aba(0x25f)]-0x1];if(saveStateToMessage(currentTablesState,_0x47d87e)){saveChat(),log('废黜表格后的状态已强制写入最新消息并立即保存。',_0x335aba(0x2bd));return;}}log(_0x335aba(0x28e),_0x335aba(0x204)),saveChatDebounced();}export function addTable(_0x3f1f96){const _0x36045e=_0xddd662;if(!_0x3f1f96||!_0x3f1f96[_0x36045e(0x1e3)]()){log(_0x36045e(0x1e5),_0x36045e(0x204)),toastr[_0x36045e(0x204)]('表格名称不能为空。',_0x36045e(0x222));return;}!currentTablesState&&loadTables();if(currentTablesState[_0x36045e(0x1ff)](_0x82c593=>_0x82c593[_0x36045e(0x253)]===_0x3f1f96[_0x36045e(0x1e3)]())){log(_0x36045e(0x21f)+_0x3f1f96+_0x36045e(0x26b),_0x36045e(0x204)),toastr[_0x36045e(0x204)]('名为\x20\x22'+_0x3f1f96+_0x36045e(0x26b),'创建失败');return;}const _0x15b8f0={'name':_0x3f1f96[_0x36045e(0x1e3)](),'headers':[_0x36045e(0x267)],'rows':[],'columnWidths':[],'note':_0x36045e(0x202),'rule_add':'允许','rule_delete':'允许','rule_update':'允许','charLimitRules':{},'rowLimitRule':0x0};currentTablesState[_0x36045e(0x224)](_0x15b8f0);const _0x255c35='已成功创建新表格:['+_0x3f1f96[_0x36045e(0x1e3)]()+']。';log(_0x255c35,_0x36045e(0x2bd));const _0x38206b=getContext();if(_0x38206b[_0x36045e(0x280)]&&_0x38206b[_0x36045e(0x280)][_0x36045e(0x25f)]>0x0){const _0x7cb1bc=_0x38206b[_0x36045e(0x280)][_0x38206b[_0x36045e(0x280)][_0x36045e(0x25f)]-0x1];if(saveStateToMessage(currentTablesState,_0x7cb1bc)){saveChat(),log('新表格状态已强制写入最新消息并立即保存。',_0x36045e(0x2bd));return;}}log(_0x36045e(0x24e),_0x36045e(0x204)),saveChatDebounced();}function _0x1489(_0x5cbf34,_0x232054){const _0x1c9136=_0x1c91();return _0x1489=function(_0x14894c,_0x625047){_0x14894c=_0x14894c-0x1c8;let _0x20e7b4=_0x1c9136[_0x14894c];return _0x20e7b4;},_0x1489(_0x5cbf34,_0x232054);}export function renameTable(_0x224cff,_0x4928d2){const _0xc2069=_0xddd662;if(!currentTablesState||!currentTablesState[_0x224cff]){log(_0xc2069(0x1e6),_0xc2069(0x204)),toastr[_0xc2069(0x204)](_0xc2069(0x1e2),_0xc2069(0x235));return;}const _0x46fa0b=_0x4928d2['trim']();if(!_0x46fa0b){log(_0xc2069(0x2d2),_0xc2069(0x204)),toastr[_0xc2069(0x204)](_0xc2069(0x1fd),_0xc2069(0x235));return;}if(currentTablesState[_0xc2069(0x1ff)]((_0x26521c,_0x23be0e)=>_0x23be0e!==_0x224cff&&_0x26521c[_0xc2069(0x253)]===_0x46fa0b)){log(_0xc2069(0x1ef)+_0x46fa0b+_0xc2069(0x26b),'error'),toastr[_0xc2069(0x204)](_0xc2069(0x209)+_0x46fa0b+_0xc2069(0x26b),'重命名失败');return;}const _0xbd9d5d=currentTablesState[_0x224cff][_0xc2069(0x253)];currentTablesState[_0x224cff][_0xc2069(0x253)]=_0x46fa0b,log('表格\x20\x22'+_0xbd9d5d+_0xc2069(0x20c)+_0x46fa0b+'\x22。',_0xc2069(0x2bd));const _0x51557a=getContext();if(_0x51557a[_0xc2069(0x280)]&&_0x51557a[_0xc2069(0x280)][_0xc2069(0x25f)]>0x0){const _0x2577f5=_0x51557a[_0xc2069(0x280)][_0x51557a[_0xc2069(0x280)][_0xc2069(0x25f)]-0x1];if(saveStateToMessage(currentTablesState,_0x2577f5)){saveChat();return;}}saveChatDebounced();}export function moveTable(_0x51ef4d,_0x3f3765){const _0x2e3758=_0xddd662;if(!currentTablesState||!currentTablesState[_0x51ef4d])return;const _0xbcb55a=_0x3f3765==='up'?_0x51ef4d-0x1:_0x51ef4d+0x1;if(_0xbcb55a<0x0||_0xbcb55a>=currentTablesState[_0x2e3758(0x25f)]){log(_0x2e3758(0x2c0)+_0x51ef4d+'\x20已在边界。',_0x2e3758(0x237));return;}const _0x2111db=currentTablesState[_0x51ef4d];currentTablesState[_0x51ef4d]=currentTablesState[_0xbcb55a],currentTablesState[_0xbcb55a]=_0x2111db;const _0x31c107='表格\x20['+_0x2111db[_0x2e3758(0x253)]+_0x2e3758(0x1fc);log(_0x31c107,'success');const _0x42bbd7=getContext();if(_0x42bbd7['chat']&&_0x42bbd7[_0x2e3758(0x280)][_0x2e3758(0x25f)]>0x0){const _0x5dcf80=_0x42bbd7[_0x2e3758(0x280)][_0x42bbd7[_0x2e3758(0x280)][_0x2e3758(0x25f)]-0x1];if(saveStateToMessage(currentTablesState,_0x5dcf80)){saveChat(),log(_0x2e3758(0x1e7),_0x2e3758(0x2bd));return;}}log(_0x2e3758(0x1dd),_0x2e3758(0x204)),saveChatDebounced();}export function updateTableRules(_0x4a80a4,_0x237491){const _0x30c090=_0xddd662;if(!currentTablesState||!currentTablesState[_0x4a80a4])return;const _0x50783d=currentTablesState[_0x4a80a4];_0x50783d[_0x30c090(0x231)]=_0x237491['note'],_0x50783d[_0x30c090(0x247)]=_0x237491[_0x30c090(0x247)],_0x50783d['rule_delete']=_0x237491[_0x30c090(0x257)],_0x50783d[_0x30c090(0x2d0)]=_0x237491['rule_update'],_0x50783d[_0x30c090(0x2d5)]=_0x237491['charLimitRules'],_0x50783d['rowLimitRule']=_0x237491[_0x30c090(0x201)],delete _0x50783d[_0x30c090(0x2be)];const _0x2ea15e=_0x30c090(0x291)+_0x50783d[_0x30c090(0x253)]+_0x30c090(0x29c);log(_0x2ea15e,_0x30c090(0x1d1));const _0x186531=getContext();if(_0x186531[_0x30c090(0x280)]&&_0x186531[_0x30c090(0x280)][_0x30c090(0x25f)]>0x0){const _0x224d4e=_0x186531[_0x30c090(0x280)][_0x186531[_0x30c090(0x280)][_0x30c090(0x25f)]-0x1];if(saveStateToMessage(currentTablesState,_0x224d4e)){saveChat();return;}}saveChatDebounced();}export function updateRow(_0x47d6ed,_0x477530,_0x3790a7){const _0x994ad1=_0xddd662;if(!currentTablesState||!currentTablesState[_0x47d6ed]){log(_0x994ad1(0x249)+_0x47d6ed+_0x994ad1(0x215),_0x994ad1(0x204));return;}const _0x30b11c=currentTablesState[_0x47d6ed];if(_0x477530>=_0x30b11c[_0x994ad1(0x268)]['length']){log(_0x994ad1(0x22d)+_0x477530+_0x994ad1(0x223)+_0x30b11c['name']+_0x994ad1(0x1f8),_0x994ad1(0x237)),insertRow(_0x47d6ed,_0x3790a7);return;}const _0x48ba16=_0x30b11c[_0x994ad1(0x268)][_0x477530];for(const _0x3c840e in _0x3790a7){const _0x109d8e=parseInt(_0x3c840e,0xa);_0x109d8e<_0x48ba16[_0x994ad1(0x25f)]&&(_0x48ba16[_0x109d8e]=_0x3790a7[_0x109d8e],addHighlight(_0x47d6ed,_0x477530,_0x109d8e));}const _0x31042e=_0x994ad1(0x1f6)+_0x30b11c[_0x994ad1(0x253)]+']\x20的第\x20'+(_0x477530+0x1)+_0x994ad1(0x2ae);log(_0x31042e,_0x994ad1(0x1d1));const _0x1055a9=getContext();if(_0x1055a9['chat']&&_0x1055a9['chat'][_0x994ad1(0x25f)]>0x0){const _0x2ad3f7=_0x1055a9[_0x994ad1(0x280)][_0x1055a9[_0x994ad1(0x280)][_0x994ad1(0x25f)]-0x1];if(saveStateToMessage(currentTablesState,_0x2ad3f7)){saveChat();return;}}saveChatDebounced();}export function clearAllTables(){const _0xe472ba=_0xddd662;if(!currentTablesState){log('无法清空:当前表格状态为空。',_0xe472ba(0x204));return;}currentTablesState['forEach'](_0x505bcc=>{const _0x2730ad=_0xe472ba;_0x505bcc[_0x2730ad(0x268)]=[];}),log('所有表格的行数据已在内存中清空。',_0xe472ba(0x237));const _0x58f561=getContext();if(_0x58f561['chat']&&_0x58f561[_0xe472ba(0x280)][_0xe472ba(0x25f)]>0x0){const _0x5dceab=_0x58f561['chat'][_0x58f561[_0xe472ba(0x280)][_0xe472ba(0x25f)]-0x1];if(saveStateToMessage(currentTablesState,_0x5dceab)){saveChat(),log('清空行数据后的状态已强制写入最新消息并立即保存。',_0xe472ba(0x2bd)),toastr[_0xe472ba(0x2bd)](_0xe472ba(0x230),_0xe472ba(0x255));return;}}log(_0xe472ba(0x1d6),_0xe472ba(0x204)),saveChatDebounced();}function checkTableRules(_0x415589){const _0x2c43d8=_0xddd662;let _0x1dd5a9=[];_0x415589[_0x2c43d8(0x201)]&&_0x415589[_0x2c43d8(0x201)]>0x0&&_0x415589[_0x2c43d8(0x268)][_0x2c43d8(0x25f)]>_0x415589[_0x2c43d8(0x201)]&&_0x1dd5a9[_0x2c43d8(0x224)](_0x2c43d8(0x1e0)+_0x415589[_0x2c43d8(0x253)]+_0x2c43d8(0x26e)+_0x415589[_0x2c43d8(0x201)]+_0x2c43d8(0x248)+_0x415589[_0x2c43d8(0x201)]+_0x2c43d8(0x289));const _0x4da9f2=_0x415589[_0x2c43d8(0x2d5)]||{};for(const _0x59f2bb in _0x4da9f2){const _0x6da406=parseInt(_0x59f2bb,0xa),_0x36f3f1=_0x4da9f2[_0x6da406];if(_0x36f3f1>0x0&&_0x6da406>=0x0&&_0x6da406<_0x415589['headers'][_0x2c43d8(0x25f)]){const _0x2d9acc=_0x415589[_0x2c43d8(0x206)][_0x6da406],_0x569eda=[];_0x415589[_0x2c43d8(0x268)][_0x2c43d8(0x1e1)]((_0x29ef06,_0x3cf51)=>{const _0x435c4f=_0x2c43d8,_0x2e455e=_0x29ef06[_0x6da406]||'';_0x2e455e[_0x435c4f(0x25f)]>_0x36f3f1&&_0x569eda['push'](_0x3cf51);});if(_0x569eda[_0x2c43d8(0x25f)]>0x0){const _0x10cb9c=_0x569eda[_0x2c43d8(0x1ed)]('、');_0x1dd5a9[_0x2c43d8(0x224)](_0x2c43d8(0x1e0)+_0x415589[_0x2c43d8(0x253)]+_0x2c43d8(0x203)+_0x10cb9c+_0x2c43d8(0x2a6)+_0x2d9acc+_0x2c43d8(0x233)+_0x36f3f1+_0x2c43d8(0x2d6));}}}return _0x1dd5a9['join']('\x0a');}export function convertTablesToCsvString(){const _0xa4da16=_0xddd662;!currentTablesState&&loadTables();if(!currentTablesState)return'';let _0x58e6f7='';return currentTablesState[_0xa4da16(0x1e1)]((_0x32a3e8,_0x2208ba)=>{const _0x372ec8=_0xa4da16;_0x58e6f7+=_0x372ec8(0x2bf)+_0x2208ba+':'+_0x32a3e8[_0x372ec8(0x253)]+'\x0a',_0x58e6f7+='【说明】:\x0a'+(_0x32a3e8[_0x372ec8(0x231)]||'无')+'\x0a';const _0x3753ca=_0x32a3e8['name'][_0x372ec8(0x29d)](/\s/g,'')+'内容';_0x58e6f7+='<'+_0x3753ca+'>\x0a';const _0x5c2a7d=_0x32a3e8[_0x372ec8(0x206)][_0x372ec8(0x24b)]((_0x51403b,_0x79c8b9)=>_0x79c8b9+':'+_0x51403b)[_0x372ec8(0x1ed)](',');_0x58e6f7+='rowIndex,'+_0x5c2a7d+'\x0a';_0x32a3e8['rows'][_0x372ec8(0x25f)]===0x0?_0x58e6f7+=_0x372ec8(0x213):_0x32a3e8[_0x372ec8(0x268)][_0x372ec8(0x1e1)]((_0x41fdb5,_0x320d1f)=>{const _0xdb3ef9=_0x372ec8;if(Array[_0xdb3ef9(0x234)](_0x41fdb5)){const _0x3d831e=_0x41fdb5[_0xdb3ef9(0x24b)](_0x57db69=>{const _0x326b06=_0xdb3ef9;return _0x57db69===null||_0x57db69===undefined||_0x57db69===''?'未知':_0x57db69[_0x326b06(0x266)]();})[_0xdb3ef9(0x1ed)](',');_0x58e6f7+=_0x320d1f+','+_0x3d831e+'\x0a';}});const _0x27b891=checkTableRules(_0x32a3e8);_0x27b891&&(_0x58e6f7+=_0x27b891+'\x0a'),_0x58e6f7+='\x0a',_0x58e6f7+=_0x372ec8(0x211)+(_0x32a3e8[_0x372ec8(0x247)]||'允许')+'\x0a',_0x58e6f7+='【删除】:\x20'+(_0x32a3e8[_0x372ec8(0x257)]||'允许')+'\x0a',_0x58e6f7+=_0x372ec8(0x2d8)+(_0x32a3e8['rule_update']||'允许')+'\x0a',_0x2208ba{const _0x290597=_0x56a5b3;_0x3e7eed+='\x0a<'+_0x26719b[_0x290597(0x253)]+'>\x0a';const _0x22b097=_0x26719b[_0x290597(0x206)][_0x290597(0x24b)]((_0x8476a8,_0x24c9a0)=>String[_0x290597(0x27d)](0x41+_0x24c9a0)+':'+_0x8476a8)[_0x290597(0x1ed)](',');_0x3e7eed+=_0x22b097+'\x0a',Array[_0x290597(0x234)](_0x26719b['rows'])&&_0x26719b[_0x290597(0x268)]['length']>0x0?_0x26719b['rows'][_0x290597(0x1e1)]((_0x43b9c0,_0x422eb1)=>{const _0x3309b0=_0x290597;if(Array[_0x3309b0(0x234)](_0x43b9c0)){const _0x13206a=_0x43b9c0[_0x3309b0(0x1ed)](',');_0x3e7eed+=_0x422eb1+0x1+':'+_0x13206a+'\x0a';}}):_0x3e7eed+=_0x290597(0x213),_0x3e7eed+='\x0a';}),_0x3e7eed[_0x56a5b3(0x1e3)]();}loadTables();export function getBatchFillerRuleTemplate(){return extension_settings[extensionName]?.['batch_filler_rule_template']??DEFAULT_AI_RULE_TEMPLATE;}export function saveBatchFillerRuleTemplate(_0x483ead){const _0x8e28a5=_0xddd662;extension_settings[extensionName][_0x8e28a5(0x270)]=_0x483ead,saveSettingsDebounced();}export function getBatchFillerFlowTemplate(){const _0x445f14=_0xddd662;return extension_settings[extensionName]?.[_0x445f14(0x243)]??DEFAULT_AI_FLOW_TEMPLATE;}export function saveBatchFillerFlowTemplate(_0x50c9bb){const _0x58064b=_0xddd662;extension_settings[extensionName][_0x58064b(0x243)]=_0x50c9bb,saveSettingsDebounced();}export function getAiFlowTemplateForInjection(){return extension_settings[extensionName]?.['amily2_ai_template']??DEFAULT_AI_FLOW_TEMPLATE;}export async function updateTableFromText(_0x4e0c1f){const _0xcdd25b=_0xddd662;if(!_0x4e0c1f){log(_0xcdd25b(0x276),_0xcdd25b(0x237));return;}const _0x1d2f37=_0x4e0c1f['match'](/([\s\S]*?)<\/Amily2Edit>/);if(!_0x1d2f37||!_0x1d2f37[0x1]){log(_0xcdd25b(0x2bb),_0xcdd25b(0x237));return;}let _0x1d246b=_0x1d2f37[0x1][_0xcdd25b(0x29d)](//g,'')[_0xcdd25b(0x1e3)]();if(!_0x1d246b){log(_0xcdd25b(0x22a),_0xcdd25b(0x1d1));return;}const _0x2fd6a6=_0x1d246b['split']('\x0a')[_0xcdd25b(0x28c)](_0x46cda0=>_0x46cda0[_0xcdd25b(0x1e3)]()!=='');log(_0xcdd25b(0x2c3)+_0x2fd6a6[_0xcdd25b(0x25f)]+'\x20条表格操作指令...',_0xcdd25b(0x1d1));const _0x1a49ad={'insertRow':(_0x1a10ad,_0x4647cc)=>{const _0x4a8f50=_0xcdd25b;log(_0x4a8f50(0x28a)+_0x1a10ad+_0x4a8f50(0x239)+JSON[_0x4a8f50(0x1d4)](_0x4647cc)+')',_0x4a8f50(0x1d1)),insertRow(_0x1a10ad,_0x4647cc);},'deleteRow':(_0x25cbd1,_0x1de975)=>{const _0x3987d2=_0xcdd25b;log('执行AI指令:\x20deleteRow(tableIndex='+_0x25cbd1+_0x3987d2(0x1d9)+_0x1de975+')','info'),deleteRow(_0x25cbd1,_0x1de975);},'updateRow':(_0x88146e,_0x1594db,_0x360107)=>{const _0x3d3c3e=_0xcdd25b;log(_0x3d3c3e(0x259)+_0x88146e+',\x20rowIndex='+_0x1594db+',\x20data='+JSON[_0x3d3c3e(0x1d4)](_0x360107)+')',_0x3d3c3e(0x1d1)),updateRow(_0x88146e,_0x1594db,_0x360107);}};try{const _0x33d92b=Object[_0xcdd25b(0x29f)](async function(){})[_0xcdd25b(0x2c1)],_0x3024ce=new _0x33d92b(_0xcdd25b(0x2b6),_0xcdd25b(0x1fa)+_0x1d246b+_0xcdd25b(0x25a));await _0x3024ce(_0x1a49ad),log(_0xcdd25b(0x25e),_0xcdd25b(0x2bd)),toastr[_0xcdd25b(0x2bd)](_0xcdd25b(0x225),_0xcdd25b(0x1d0)),document[_0xcdd25b(0x236)](new CustomEvent(_0xcdd25b(0x269)));}catch(_0x2a1ce1){log(_0xcdd25b(0x1ea)+_0x2a1ce1[_0xcdd25b(0x285)],'error'),toastr['error'](_0xcdd25b(0x1d3)+_0x2a1ce1[_0xcdd25b(0x285)],_0xcdd25b(0x200));}}export function saveAiTemplate(_0x3289c6){const _0x15fd06=_0xddd662;extension_settings[extensionName][_0x15fd06(0x250)]=_0x3289c6,saveSettingsDebounced();}export function getAiTemplate(){return getAiFlowTemplateForInjection();}function exportPresetBase(_0x5cdce2=![]){const _0x313e77=_0xddd662;if(!currentTablesState){log(_0x313e77(0x263),'error'),toastr['error'](_0x313e77(0x254));return;}let _0x3a8d67,_0x23fa8c,_0x13e866;_0x5cdce2?(_0x3a8d67=JSON[_0x313e77(0x205)](JSON[_0x313e77(0x1d4)](currentTablesState)),_0x23fa8c=_0x313e77(0x22b),_0x13e866='完整备份'):(_0x3a8d67=currentTablesState[_0x313e77(0x24b)](_0xe8e40d=>({'name':_0xe8e40d[_0x313e77(0x253)],'headers':_0xe8e40d[_0x313e77(0x206)],'columnWidths':_0xe8e40d[_0x313e77(0x286)]||[],'note':_0xe8e40d[_0x313e77(0x231)],'rule_add':_0xe8e40d[_0x313e77(0x247)],'rule_delete':_0xe8e40d['rule_delete'],'rule_update':_0xe8e40d['rule_update'],'charLimitRules':_0xe8e40d['charLimitRules']||{},'rowLimitRule':_0xe8e40d[_0x313e77(0x201)]||0x0,'rows':[]})),_0x23fa8c=_0x313e77(0x28f),_0x13e866=_0x313e77(0x2a7));const _0x541a42={'version':'Amily2-Table-Preset-v3.0-separated_templates','batchFillerRuleTemplate':getBatchFillerRuleTemplate(),'batchFillerFlowTemplate':getBatchFillerFlowTemplate(),'tables':_0x3a8d67},_0x468822=new Blob([JSON[_0x313e77(0x1d4)](_0x541a42,null,0x2)],{'type':'application/json'}),_0x27ca9e=URL[_0x313e77(0x1e8)](_0x468822),_0x329769=document[_0x313e77(0x23a)]('a');_0x329769[_0x313e77(0x227)]=_0x27ca9e,_0x329769[_0x313e77(0x20f)]=_0x313e77(0x28d)+_0x13e866+'-'+new Date()[_0x313e77(0x2aa)]()[_0x313e77(0x293)](0x0,0xa)+_0x313e77(0x1fe),document[_0x313e77(0x1f3)][_0x313e77(0x2b9)](_0x329769),_0x329769[_0x313e77(0x26a)](),document['body']['removeChild'](_0x329769),URL[_0x313e77(0x279)](_0x27ca9e),log('【'+_0x13e866+_0x313e77(0x2ac),_0x313e77(0x2bd)),toastr[_0x313e77(0x2bd)]('【'+_0x13e866+_0x313e77(0x2cd),_0x313e77(0x21b));}export function exportPreset(){exportPresetBase(![]);}export function exportPresetFull(){exportPresetBase(!![]);}export function importPreset(_0xbe8ac1){const _0x54a6d4=_0xddd662,_0x150b7d=document[_0x54a6d4(0x23a)](_0x54a6d4(0x2bc));_0x150b7d['type']=_0x54a6d4(0x1fb),_0x150b7d[_0x54a6d4(0x26c)]='.json',_0x150b7d[_0x54a6d4(0x2b1)]=_0x42eb8f=>{const _0x3c1c07=_0x54a6d4,_0x456e4c=_0x42eb8f['target'][_0x3c1c07(0x1d2)][0x0];if(!_0x456e4c)return;const _0x35cda9=new FileReader();_0x35cda9[_0x3c1c07(0x258)]=_0x8cb791=>{const _0x2e7f97=_0x3c1c07;try{const _0x28c095=JSON['parse'](_0x8cb791[_0x2e7f97(0x292)][_0x2e7f97(0x2c6)]);if(!_0x28c095['version']||!Array[_0x2e7f97(0x234)](_0x28c095[_0x2e7f97(0x2b8)]))throw new Error(_0x2e7f97(0x2b5));const _0x158cec=window[_0x2e7f97(0x221)](_0x2e7f97(0x1f9));if(!_0x158cec){log(_0x2e7f97(0x1de),_0x2e7f97(0x1d1)),toastr[_0x2e7f97(0x1d1)](_0x2e7f97(0x2d1));return;}if(_0x28c095[_0x2e7f97(0x2a4)]===_0x2e7f97(0x277))saveBatchFillerRuleTemplate(_0x28c095[_0x2e7f97(0x1db)]||''),saveBatchFillerFlowTemplate(_0x28c095[_0x2e7f97(0x1ce)]||''),saveAiTemplate(_0x28c095[_0x2e7f97(0x20d)]||'');else{if(_0x28c095[_0x2e7f97(0x2c5)]!==undefined&&_0x28c095[_0x2e7f97(0x21d)]!==undefined)saveBatchFillerRuleTemplate(_0x28c095[_0x2e7f97(0x2c5)]||''),saveBatchFillerFlowTemplate(_0x28c095[_0x2e7f97(0x21d)]||''),saveAiTemplate(_0x28c095['aiFlowTemplate']||'');else _0x28c095[_0x2e7f97(0x1cd)]?(saveBatchFillerRuleTemplate(''),saveBatchFillerFlowTemplate(_0x28c095[_0x2e7f97(0x1cd)]||''),saveAiTemplate(_0x28c095[_0x2e7f97(0x1cd)]||'')):log(_0x2e7f97(0x22c),_0x2e7f97(0x237));}const _0x2bcd25=_0x28c095[_0x2e7f97(0x2b8)];_0x2bcd25[_0x2e7f97(0x1e1)](_0xe4fd5d=>{const _0x56e5b2=_0x2e7f97;if(_0xe4fd5d[_0x56e5b2(0x253)]===undefined||_0xe4fd5d[_0x56e5b2(0x206)]===undefined||_0xe4fd5d[_0x56e5b2(0x268)]===undefined)throw new Error(_0x56e5b2(0x1c8)+JSON['stringify'](_0xe4fd5d));if(_0xe4fd5d[_0x56e5b2(0x231)]===undefined)_0xe4fd5d[_0x56e5b2(0x231)]='无';if(_0xe4fd5d['rule_add']===undefined)_0xe4fd5d[_0x56e5b2(0x247)]='允许';if(_0xe4fd5d[_0x56e5b2(0x257)]===undefined)_0xe4fd5d['rule_delete']='允许';if(_0xe4fd5d[_0x56e5b2(0x2d0)]===undefined)_0xe4fd5d['rule_update']='允许';if(_0xe4fd5d['charLimitRule']&&!_0xe4fd5d['charLimitRules'])_0xe4fd5d[_0x56e5b2(0x2d5)]={},_0xe4fd5d[_0x56e5b2(0x2be)][_0x56e5b2(0x20b)]!==-0x1&&_0xe4fd5d[_0x56e5b2(0x2be)][_0x56e5b2(0x1c9)]>0x0&&(_0xe4fd5d[_0x56e5b2(0x2d5)][_0xe4fd5d[_0x56e5b2(0x2be)][_0x56e5b2(0x20b)]]=_0xe4fd5d[_0x56e5b2(0x2be)]['limit']);else _0xe4fd5d[_0x56e5b2(0x2d5)]===undefined&&(_0xe4fd5d[_0x56e5b2(0x2d5)]={});delete _0xe4fd5d[_0x56e5b2(0x2be)],_0xe4fd5d[_0x56e5b2(0x201)]===undefined&&(_0xe4fd5d['rowLimitRule']=0x0),_0xe4fd5d[_0x56e5b2(0x286)]===undefined&&(_0xe4fd5d[_0x56e5b2(0x286)]=[]);}),setMemoryState(_0x2bcd25);const _0x5d8a79=getContext();if(_0x5d8a79[_0x2e7f97(0x280)]&&_0x5d8a79[_0x2e7f97(0x280)]['length']>0x0){const _0x2ef0ca=_0x5d8a79[_0x2e7f97(0x280)][_0x5d8a79['chat'][_0x2e7f97(0x25f)]-0x1];saveStateToMessage(getMemoryState(),_0x2ef0ca)&&(saveChat(),log(_0x2e7f97(0x260),_0x2e7f97(0x2bd)));}else saveChatDebounced();log('预设已成功导入并应用。',_0x2e7f97(0x2bd)),toastr['success'](_0x2e7f97(0x1d7),_0x2e7f97(0x2cf)),typeof _0xbe8ac1===_0x2e7f97(0x238)&&_0xbe8ac1();}catch(_0x1e9ac4){log(_0x2e7f97(0x210)+_0x1e9ac4[_0x2e7f97(0x285)],_0x2e7f97(0x204)),toastr[_0x2e7f97(0x204)](_0x2e7f97(0x2cb)+_0x1e9ac4['message'],'错误');}},_0x35cda9[_0x3c1c07(0x25c)](_0x456e4c);},_0x150b7d[_0x54a6d4(0x26a)]();}export async function rollbackState(){const _0x216112=_0xddd662,_0x552f8e=getContext();if(!_0x552f8e||!_0x552f8e[_0x216112(0x280)]||_0x552f8e['chat'][_0x216112(0x25f)]<0x2)return log('无法回退:聊天记录不足。',_0x216112(0x237)),toastr[_0x216112(0x217)]('聊天记录不足,无法执行回退操作。'),![];const _0x5a0d62=_0x552f8e[_0x216112(0x280)],_0x50a325=_0x5a0d62[_0x216112(0x25f)]-0x1,_0x21c4bc=_0x5a0d62[_0x50a325];log(_0x216112(0x1eb)+(_0x50a325-0x1)+_0x216112(0x1ee),_0x216112(0x1d1));const _0x44c804=loadTables(_0x50a325);if(!_0x44c804)return log('未能在上一楼找到可用的表格状态,无法回退。',_0x216112(0x204)),toastr[_0x216112(0x204)]('未能在上一楼找到可用的表格状态。'),![];setMemoryState(_0x44c804);if(saveStateToMessage(_0x44c804,_0x21c4bc))await saveChat(),log(_0x216112(0x244),'success');else return log(_0x216112(0x2a2),'error'),toastr[_0x216112(0x204)]('未能保存回退状态,操作中止。'),![];return renderTables(),updateOrInsertTableInChat(),log(_0x216112(0x295),_0x216112(0x1d1)),!![];}export async function rollbackAndRefill(){const _0x39e048=_0xddd662;toastr[_0x39e048(0x1d1)](_0x39e048(0x278));const _0x2e6558=await rollbackState();if(!_0x2e6558){toastr['error'](_0x39e048(0x24d));return;}toastr['success'](_0x39e048(0x29a));const _0x3fd262=getContext(),_0x54e5e0=_0x3fd262[_0x39e048(0x280)][_0x3fd262[_0x39e048(0x280)][_0x39e048(0x25f)]-0x1];try{await fillWithSecondaryApi(_0x54e5e0,!![]),log(_0x39e048(0x207),_0x39e048(0x2bd));}catch(_0x18b149){log(_0x39e048(0x251)+_0x18b149[_0x39e048(0x285)],'error'),toastr[_0x39e048(0x204)](_0x39e048(0x27b)+_0x18b149[_0x39e048(0x285)]);}}export function updateColumnWidth(_0x11a2d0,_0x5dc2fd,_0x5f2dc9){const _0x19d756=_0xddd662;if(!currentTablesState||!currentTablesState[_0x11a2d0])return;const _0x201dad=currentTablesState[_0x11a2d0];!_0x201dad[_0x19d756(0x286)]&&(_0x201dad[_0x19d756(0x286)]=[]);while(_0x201dad['columnWidths'][_0x19d756(0x25f)]<_0x201dad[_0x19d756(0x206)]['length']){_0x201dad['columnWidths'][_0x19d756(0x224)](null);}_0x201dad['columnWidths'][_0x5dc2fd]=_0x5f2dc9;const _0x452f48=getContext();if(_0x452f48[_0x19d756(0x280)]&&_0x452f48[_0x19d756(0x280)][_0x19d756(0x25f)]>0x0){const _0x9999ee=_0x452f48[_0x19d756(0x280)][_0x452f48[_0x19d756(0x280)][_0x19d756(0x25f)]-0x1];if(saveStateToMessage(currentTablesState,_0x9999ee)){saveChat();return;}}saveChatDebounced();}export function isCurrentTablesEmpty(){const _0x413e1a=_0xddd662,_0x2d9352=getMemoryState();if(!_0x2d9352||_0x2d9352[_0x413e1a(0x25f)]===0x0)return!![];return _0x2d9352[_0x413e1a(0x20a)](_0x4986ec=>!_0x4986ec['rows']||_0x4986ec[_0x413e1a(0x268)][_0x413e1a(0x25f)]===0x0);}export function clearGlobalPreset(){const _0x31044e=_0xddd662;if(extension_settings[extensionName]&&extension_settings[extensionName][_0x31044e(0x2d7)]){const _0x572eb7=window[_0x31044e(0x221)](_0x31044e(0x1cc));_0x572eb7?(delete extension_settings[extensionName][_0x31044e(0x2d7)],saveSettingsDebounced(),log(_0x31044e(0x2b4),'success'),toastr[_0x31044e(0x2bd)](_0x31044e(0x294),_0x31044e(0x23d))):(log(_0x31044e(0x242),_0x31044e(0x1d1)),toastr['info'](_0x31044e(0x232)));}else log(_0x31044e(0x2cc),_0x31044e(0x1d1)),toastr['info'](_0x31044e(0x241),'提示');}export function importGlobalPreset(_0x557ceb){const _0x2ea079=_0xddd662,_0x362e90=document[_0x2ea079(0x23a)](_0x2ea079(0x2bc));_0x362e90[_0x2ea079(0x287)]=_0x2ea079(0x1fb),_0x362e90[_0x2ea079(0x26c)]=_0x2ea079(0x1fe),_0x362e90['onchange']=_0x1ca937=>{const _0x2eb366=_0x2ea079,_0x35cc0d=_0x1ca937[_0x2eb366(0x292)][_0x2eb366(0x1d2)][0x0];if(!_0x35cc0d)return;const _0x3760f8=new FileReader();_0x3760f8[_0x2eb366(0x258)]=_0x1b4595=>{const _0x4180a4=_0x2eb366;try{const _0x24be6d=JSON[_0x4180a4(0x205)](_0x1b4595[_0x4180a4(0x292)][_0x4180a4(0x2c6)]);if(!_0x24be6d[_0x4180a4(0x2a4)]||!Array[_0x4180a4(0x234)](_0x24be6d[_0x4180a4(0x2b8)]))throw new Error(_0x4180a4(0x2b5));const _0x10b154=window[_0x4180a4(0x221)]('【全局预设导入】\x0a\x0a这将把选定的预设设置为所有新聊天的默认表格。\x0a\x0a此操作将覆盖任何已存在的全局预设,是否确定?');if(!_0x10b154){log(_0x4180a4(0x21a),_0x4180a4(0x1d1)),toastr[_0x4180a4(0x1d1)]('操作已取消。');return;}const _0x79b343=_0x24be6d[_0x4180a4(0x2b8)]['map'](_0x582c49=>({'name':_0x582c49[_0x4180a4(0x253)],'headers':_0x582c49[_0x4180a4(0x206)],'note':_0x582c49[_0x4180a4(0x231)],'rule_add':_0x582c49['rule_add'],'rule_delete':_0x582c49[_0x4180a4(0x257)],'rule_update':_0x582c49[_0x4180a4(0x2d0)],'rows':[]}));!extension_settings[extensionName]&&(extension_settings[extensionName]={});extension_settings[extensionName]['global_table_preset']={'version':_0x24be6d[_0x4180a4(0x2a4)],'tables':_0x79b343,'batchFillerRuleTemplate':_0x24be6d['batchFillerRuleTemplate'],'batchFillerFlowTemplate':_0x24be6d[_0x4180a4(0x1ce)]},saveSettingsDebounced();if(_0x24be6d[_0x4180a4(0x2a4)]===_0x4180a4(0x277))saveBatchFillerRuleTemplate(_0x24be6d['batchFillerRuleTemplate']||''),saveBatchFillerFlowTemplate(_0x24be6d[_0x4180a4(0x1ce)]||''),saveAiTemplate(_0x24be6d[_0x4180a4(0x20d)]||'');else{if(_0x24be6d[_0x4180a4(0x2c5)]!==undefined&&_0x24be6d[_0x4180a4(0x21d)]!==undefined)saveBatchFillerRuleTemplate(_0x24be6d['aiRuleTemplate']||''),saveBatchFillerFlowTemplate(_0x24be6d[_0x4180a4(0x21d)]||''),saveAiTemplate(_0x24be6d[_0x4180a4(0x21d)]||'');else _0x24be6d[_0x4180a4(0x1cd)]&&(saveBatchFillerRuleTemplate(''),saveBatchFillerFlowTemplate(_0x24be6d[_0x4180a4(0x1cd)]||''),saveAiTemplate(_0x24be6d[_0x4180a4(0x1cd)]||''));}log(_0x4180a4(0x2a5),_0x4180a4(0x2bd)),toastr[_0x4180a4(0x2bd)](_0x4180a4(0x288),_0x4180a4(0x26d)),typeof _0x557ceb===_0x4180a4(0x238)&&_0x557ceb();}catch(_0x26ea21){log(_0x4180a4(0x26f)+_0x26ea21[_0x4180a4(0x285)],_0x4180a4(0x204)),toastr[_0x4180a4(0x204)]('导入失败:'+_0x26ea21[_0x4180a4(0x285)],'错误');}},_0x3760f8[_0x2eb366(0x25c)](_0x35cc0d);},_0x362e90[_0x2ea079(0x26a)]();}