From b090741fac76c18ea28d5a7a4897812a20829451 Mon Sep 17 00:00:00 2001 From: Wx-2025 <351320169@qq.com> Date: Sun, 24 Aug 2025 11:52:49 +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 f9960a9..36de371 100644 --- a/core/table-system/manager.js +++ b/core/table-system/manager.js @@ -1 +1 @@ -const _0x35297d=_0x886e;(function(_0x12ea57,_0x23107c){const _0x558190=_0x886e,_0x136270=_0x12ea57();while(!![]){try{const _0x7384a7=parseInt(_0x558190(0x12c))/0x1*(parseInt(_0x558190(0x1c5))/0x2)+parseInt(_0x558190(0x196))/0x3*(parseInt(_0x558190(0x13b))/0x4)+parseInt(_0x558190(0x13d))/0x5+parseInt(_0x558190(0x13e))/0x6*(parseInt(_0x558190(0x172))/0x7)+-parseInt(_0x558190(0x1b1))/0x8+-parseInt(_0x558190(0x12d))/0x9*(parseInt(_0x558190(0x133))/0xa)+parseInt(_0x558190(0x1d4))/0xb*(-parseInt(_0x558190(0x16f))/0xc);if(_0x7384a7===_0x23107c)break;else _0x136270['push'](_0x136270['shift']());}catch(_0x37f595){_0x136270['push'](_0x136270['shift']());}}}(_0x26c3,0x5b96e));import{getContext,extension_settings}from'/scripts/extensions.js';import{saveChat,saveSettingsDebounced}from'/script.js';import{log}from'./logger.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';const TABLE_DATA_KEY='amily2_tables_data';let currentTablesState=null,highlightedCells=new Set();export function addHighlight(_0x5b5605,_0x1d4c34,_0x21509c){const _0xbd74ac=_0x886e,_0x25df72=_0x5b5605+'-'+_0x1d4c34+'-'+_0x21509c;highlightedCells[_0xbd74ac(0x18a)](_0x25df72);}export function getHighlights(){return highlightedCells;}export function clearHighlights(){const _0x39225b=_0x886e;highlightedCells[_0x39225b(0x1f0)]>0x0&&(highlightedCells[_0x39225b(0x1b6)](),log('已清除所有单元格高亮标记。',_0x39225b(0x1ad)));}export function setMemoryState(_0x8d7a91){currentTablesState=_0x8d7a91;}export function getMemoryState(){return currentTablesState;}const defaultTemplate={'tables':[{'name':'时空栏','headers':['日期','时段','时间','地点',_0x35297d(0x18f)],'note':_0x35297d(0x175),'rule_add':'此表不存在任何一行时','rule_delete':_0x35297d(0x1c9),'rule_update':_0x35297d(0x152),'rows':[]},{'name':'角色栏','headers':[_0x35297d(0x1ef),'外貌','身体','衣着','性格','身份','职业',_0x35297d(0x185),_0x35297d(0x158),'爱好','住所',_0x35297d(0x1e5)],'note':_0x35297d(0x154),'rule_add':_0x35297d(0x1e9),'rule_delete':_0x35297d(0x17a),'rule_update':_0x35297d(0x1e4),'rows':[]},{'name':_0x35297d(0x1bc),'headers':['任务名','类型','详情','状态',_0x35297d(0x183),'地点','结果',_0x35297d(0x1e2),_0x35297d(0x1e0)],'note':_0x35297d(0x1cf),'rule_add':_0x35297d(0x14a),'rule_delete':_0x35297d(0x15d),'rule_update':'当大家赴约时/任务或命令有进展、完成、失败时/任务、命令、约定被取消时','rows':[]},{'name':_0x35297d(0x13f),'headers':[_0x35297d(0x1d7),'类型','详情','状态',_0x35297d(0x130),'重要原因'],'note':'对某人很贵重或有特殊纪念意义的物品','rule_add':_0x35297d(0x1b2),'rule_delete':_0x35297d(0x1ce),'rule_update':_0x35297d(0x1ba),'rows':[]},{'name':_0x35297d(0x168),'headers':['类型',_0x35297d(0x1bf)],'note':'上层叙事者留下的各种提示、要求、命令/禁止私自增、删、改','rule_add':'上层叙事者在第四面墙外对故事或游戏进行提示、要求、命令时/上层叙事者使用括号包裹提示、要求、命令时','rule_delete':_0x35297d(0x1ee),'rule_update':_0x35297d(0x151),'rows':[]}]};function getDefaultTables(){const _0x28b6e6=_0x35297d;return log(_0x28b6e6(0x1a0),'info'),JSON[_0x28b6e6(0x139)](JSON[_0x28b6e6(0x199)](defaultTemplate['tables']));}export function loadTables(_0x4ecdca=-0x1){const _0x1a6623=_0x35297d,_0x5b080a=getContext();if(!_0x5b080a||!_0x5b080a['chat']||_0x5b080a[_0x1a6623(0x131)][_0x1a6623(0x1ea)]===0x0)return currentTablesState=getDefaultTables(),currentTablesState;const _0x562b2e=_0x4ecdca===-0x1?_0x5b080a['chat']['length']-0x1:_0x4ecdca-0x1;if(_0x562b2e<0x0)return currentTablesState=getDefaultTables(),currentTablesState;for(let _0x5cf09b=_0x562b2e;_0x5cf09b>=0x0;_0x5cf09b--){const _0x51f748=_0x5b080a['chat'][_0x5cf09b];if(_0x51f748[_0x1a6623(0x1bd)]&&_0x51f748[_0x1a6623(0x1bd)][TABLE_DATA_KEY]){log('在第\x20'+_0x5cf09b+_0x1a6623(0x1f3),_0x1a6623(0x1ad));let _0x2ddf8f=JSON[_0x1a6623(0x139)](JSON[_0x1a6623(0x199)](_0x51f748['extra'][TABLE_DATA_KEY]));return _0x2ddf8f[_0x1a6623(0x1cc)](_0x295214=>{const _0x4d60d4=_0x1a6623;if(_0x295214[_0x4d60d4(0x19b)]===undefined)_0x295214[_0x4d60d4(0x19b)]='无';if(_0x295214[_0x4d60d4(0x1dc)]===undefined)_0x295214[_0x4d60d4(0x1dc)]='允许';if(_0x295214[_0x4d60d4(0x1f4)]===undefined)_0x295214[_0x4d60d4(0x1f4)]='允许';if(_0x295214[_0x4d60d4(0x178)]===undefined)_0x295214['rule_update']='允许';}),currentTablesState=_0x2ddf8f,currentTablesState;}}return log('未在聊天记录中找到表格数据,使用默认模板。','info'),currentTablesState=getDefaultTables(),currentTablesState;}export function saveStateToMessage(_0x390518,_0x59dbea){const _0x3e0379=_0x35297d;if(!_0x390518||!_0x59dbea)return log(_0x3e0379(0x1aa),_0x3e0379(0x1c3)),![];return!_0x59dbea['extra']&&(_0x59dbea['extra']={}),_0x59dbea[_0x3e0379(0x1bd)][TABLE_DATA_KEY]=JSON[_0x3e0379(0x139)](JSON[_0x3e0379(0x199)](_0x390518)),log('表格状态已准备写入消息\x20['+_0x59dbea['mes'][_0x3e0379(0x169)](0x0,0x14)+_0x3e0379(0x1b9),'info'),!![];}export function saveTables(_0x4ffb01='未知操作'){const _0x44d8c0=_0x35297d;return log(_0x44d8c0(0x136)+_0x4ffb01+_0x44d8c0(0x194),_0x44d8c0(0x1ad)),!![];}export function deleteColumn(_0x47b5de,_0x157e0e){const _0x2b1ac7=_0x35297d,_0x3f5d66=getMemoryState();if(!_0x3f5d66[_0x47b5de]||_0x157e0e<0x0||_0x157e0e>=_0x3f5d66[_0x47b5de]['headers'][_0x2b1ac7(0x1ea)]){log(_0x2b1ac7(0x190)+_0x47b5de+_0x2b1ac7(0x1c2)+_0x157e0e+_0x2b1ac7(0x138),_0x2b1ac7(0x1c3));return;}_0x3f5d66[_0x47b5de][_0x2b1ac7(0x193)][_0x2b1ac7(0x1c6)](_0x157e0e,0x1),_0x3f5d66[_0x47b5de][_0x2b1ac7(0x150)][_0x2b1ac7(0x1cc)](_0xcaa932=>{const _0x36278e=_0x2b1ac7;_0xcaa932[_0x36278e(0x1ea)]>_0x157e0e&&_0xcaa932[_0x36278e(0x1c6)](_0x157e0e,0x1);}),log(_0x2b1ac7(0x166)+_0x47b5de+_0x2b1ac7(0x1f7)+(_0x157e0e+0x1)+_0x2b1ac7(0x1a7),_0x2b1ac7(0x1de)),saveTables(_0x3f5d66);}export function moveRow(_0x413643,_0x5e558b,_0x12dddb){const _0x51c83c=_0x35297d,_0x40b032=getMemoryState(),_0x338be5=_0x40b032[_0x413643];if(!_0x338be5||_0x5e558b<0x0||_0x5e558b>=_0x338be5[_0x51c83c(0x150)][_0x51c83c(0x1ea)])return;const _0x17498d=_0x12dddb==='up'?_0x5e558b-0x1:_0x5e558b+0x1;if(_0x17498d<0x0||_0x17498d>=_0x338be5[_0x51c83c(0x150)][_0x51c83c(0x1ea)])return;const [_0x2d4183]=_0x338be5[_0x51c83c(0x150)]['splice'](_0x5e558b,0x1);_0x338be5[_0x51c83c(0x150)][_0x51c83c(0x1c6)](_0x17498d,0x0,_0x2d4183),log(_0x51c83c(0x1bb)+_0x413643+'\x20的第\x20'+(_0x5e558b+0x1)+_0x51c83c(0x16c)+(_0x17498d+0x1)+'\x20行。',_0x51c83c(0x1de)),saveTables(_0x40b032);}export function insertRow(_0x3bc837,_0x2bfe96,_0x43a778=_0x35297d(0x1f8)){const _0xf18938=_0x35297d,_0x286803=getMemoryState(),_0x182af8=_0x286803[_0x3bc837];if(!_0x182af8){log(_0xf18938(0x15f)+_0x3bc837+_0xf18938(0x186),_0xf18938(0x1c3));return;}let _0x43265f;typeof _0x2bfe96===_0xf18938(0x1ca)?_0x43265f=_0x43a778==='above'?_0x2bfe96:_0x2bfe96+0x1:_0x43265f=_0x182af8[_0xf18938(0x150)][_0xf18938(0x1ea)];if(_0x43265f<0x0)_0x43265f=0x0;if(_0x43265f>_0x182af8['rows'][_0xf18938(0x1ea)])_0x43265f=_0x182af8['rows'][_0xf18938(0x1ea)];const _0x4329fe=new Array(_0x182af8['headers'][_0xf18938(0x1ea)])[_0xf18938(0x1c1)]('');if(typeof _0x2bfe96==='object'&&_0x2bfe96!==null)for(const _0x11328b in _0x2bfe96){const _0x5cf362=parseInt(_0x11328b,0xa);!isNaN(_0x5cf362)&&_0x5cf362<_0x4329fe['length']&&(_0x4329fe[_0x5cf362]=_0x2bfe96[_0x11328b],addHighlight(_0x3bc837,_0x43265f,_0x5cf362));}_0x182af8[_0xf18938(0x150)][_0xf18938(0x1c6)](_0x43265f,0x0,_0x4329fe),log(_0xf18938(0x137)+_0x182af8[_0xf18938(0x15c)]+_0xf18938(0x19a)+_0x3bc837+')\x20的第\x20'+(_0x43265f+0x1)+_0xf18938(0x144),_0xf18938(0x1de));const _0x1e6718=getContext();if(_0x1e6718[_0xf18938(0x131)]&&_0x1e6718[_0xf18938(0x131)][_0xf18938(0x1ea)]>0x0){const _0x233447=_0x1e6718[_0xf18938(0x131)][_0x1e6718[_0xf18938(0x131)][_0xf18938(0x1ea)]-0x1];if(saveStateToMessage(_0x286803,_0x233447)){saveChat();return;}}saveChatDebounced();}export function addRow(_0x18a878){const _0x2ab053=_0x35297d;if(!currentTablesState||!currentTablesState[_0x18a878])return;const _0x3be65d=currentTablesState[_0x18a878],_0x4b48b2=_0x3be65d['headers'][_0x2ab053(0x1ea)],_0x567773=Array(_0x4b48b2)[_0x2ab053(0x1c1)]('');_0x3be65d['rows']['push'](_0x567773);const _0x4e6658=_0x2ab053(0x13c)+_0x3be65d[_0x2ab053(0x15c)]+_0x2ab053(0x165);log(_0x4e6658,_0x2ab053(0x1ad));const _0x25eeab=getContext();if(_0x25eeab[_0x2ab053(0x131)]&&_0x25eeab[_0x2ab053(0x131)][_0x2ab053(0x1ea)]>0x0){const _0x3466ac=_0x25eeab['chat'][_0x25eeab['chat'][_0x2ab053(0x1ea)]-0x1];if(saveStateToMessage(currentTablesState,_0x3466ac)){saveChat();return;}}saveChatDebounced();}export function addColumn(_0x2d0023){const _0x354465=_0x35297d;if(!currentTablesState||!currentTablesState[_0x2d0023])return;const _0xca190f=currentTablesState[_0x2d0023],_0x1b808b=_0x354465(0x184)+(_0xca190f['headers'][_0x354465(0x1ea)]+0x1);_0xca190f['headers'][_0x354465(0x19c)](_0x1b808b),_0xca190f[_0x354465(0x150)]['forEach'](_0x15e574=>_0x15e574[_0x354465(0x19c)](''));const _0x4d514a=_0x354465(0x13c)+_0xca190f[_0x354465(0x15c)]+_0x354465(0x1df);log(_0x4d514a,_0x354465(0x1ad));const _0x75444e=getContext();if(_0x75444e['chat']&&_0x75444e[_0x354465(0x131)]['length']>0x0){const _0x1286ac=_0x75444e[_0x354465(0x131)][_0x75444e[_0x354465(0x131)][_0x354465(0x1ea)]-0x1];if(saveStateToMessage(currentTablesState,_0x1286ac)){saveChat();return;}}saveChatDebounced();}export function updateHeader(_0x591954,_0x103cf5,_0x19144e){const _0x4a7e01=_0x35297d;if(!currentTablesState||!currentTablesState[_0x591954]||currentTablesState[_0x591954]['headers'][_0x103cf5]===undefined)return;const _0x5bac21=currentTablesState[_0x591954][_0x4a7e01(0x15c)],_0x37a052=currentTablesState[_0x591954][_0x4a7e01(0x193)][_0x103cf5];currentTablesState[_0x591954][_0x4a7e01(0x193)][_0x103cf5]=_0x19144e;const _0xbb01d5=_0x4a7e01(0x13c)+_0x5bac21+_0x4a7e01(0x174)+_0x37a052+'”已更新为“'+_0x19144e+'”。';log(_0xbb01d5,_0x4a7e01(0x1ad));const _0x556967=getContext();if(_0x556967[_0x4a7e01(0x131)]&&_0x556967[_0x4a7e01(0x131)][_0x4a7e01(0x1ea)]>0x0){const _0x510147=_0x556967['chat'][_0x556967[_0x4a7e01(0x131)][_0x4a7e01(0x1ea)]-0x1];if(saveStateToMessage(currentTablesState,_0x510147)){saveChat();return;}}saveChatDebounced();}export async function deleteRow(_0x3230d6,_0x323dd9){const _0x134660=_0x35297d;if(!currentTablesState||!currentTablesState[_0x3230d6]||!currentTablesState[_0x3230d6][_0x134660(0x150)][_0x323dd9])return;const _0x3bcc0d=currentTablesState[_0x3230d6][_0x134660(0x15c)];currentTablesState[_0x3230d6][_0x134660(0x150)][_0x134660(0x1c6)](_0x323dd9,0x1);const _0x7190fb=_0x134660(0x13c)+_0x3bcc0d+_0x134660(0x1d5)+(_0x323dd9+0x1)+'\x20行已删除。';log(_0x7190fb,_0x134660(0x1ad));const _0x8d0d6e=getContext();if(_0x8d0d6e[_0x134660(0x131)]&&_0x8d0d6e[_0x134660(0x131)]['length']>0x0){const _0x505e6d=_0x8d0d6e[_0x134660(0x131)][_0x8d0d6e['chat']['length']-0x1];if(saveStateToMessage(currentTablesState,_0x505e6d)){await saveChat();return;}}await saveChatDebounced();}export function insertColumn(_0x17e6e6,_0x514ddf,_0x1148b2){const _0x1d6334=_0x35297d;if(!currentTablesState||!currentTablesState[_0x17e6e6])return;const _0x43d179=currentTablesState[_0x17e6e6],_0x79edc3=_0x1148b2==='left'?_0x514ddf:_0x514ddf+0x1,_0x4987ee='新列';_0x43d179[_0x1d6334(0x193)][_0x1d6334(0x1c6)](_0x79edc3,0x0,_0x4987ee),_0x43d179[_0x1d6334(0x150)][_0x1d6334(0x1cc)](_0x4e1f48=>_0x4e1f48[_0x1d6334(0x1c6)](_0x79edc3,0x0,''));const _0x45d05d=_0x1d6334(0x13c)+_0x43d179[_0x1d6334(0x15c)]+']\x20在第\x20'+(_0x514ddf+0x1)+_0x1d6334(0x1ac)+(_0x1148b2===_0x1d6334(0x198)?'左侧':'右侧')+_0x1d6334(0x15b);log(_0x45d05d,_0x1d6334(0x1ad));const _0x21d30d=getContext();if(_0x21d30d['chat']&&_0x21d30d['chat']['length']>0x0){const _0x121cea=_0x21d30d[_0x1d6334(0x131)][_0x21d30d[_0x1d6334(0x131)]['length']-0x1];if(saveStateToMessage(currentTablesState,_0x121cea)){saveChat();return;}}saveChatDebounced();}export function moveColumn(_0x28b9ac,_0x4354c5,_0x3a6d96){const _0x1e5e41=_0x35297d;if(!currentTablesState||!currentTablesState[_0x28b9ac])return;const _0x380cb4=currentTablesState[_0x28b9ac],_0x25c56c=_0x380cb4['headers'],_0x5dd0ff=_0x380cb4['rows'],_0x434bbd=_0x3a6d96===_0x1e5e41(0x198)?_0x4354c5-0x1:_0x4354c5+0x1;if(_0x434bbd<0x0||_0x434bbd>=_0x25c56c[_0x1e5e41(0x1ea)]){log(_0x1e5e41(0x195)+_0x4354c5+'\x20已在边界。',_0x1e5e41(0x170));return;}const [_0x30306f]=_0x25c56c[_0x1e5e41(0x1c6)](_0x4354c5,0x1);_0x25c56c['splice'](_0x434bbd,0x0,_0x30306f),_0x5dd0ff[_0x1e5e41(0x1cc)](_0x5198aa=>{const _0x547b2f=_0x1e5e41,[_0x8b68e3]=_0x5198aa['splice'](_0x4354c5,0x1);_0x5198aa[_0x547b2f(0x1c6)](_0x434bbd,0x0,_0x8b68e3);});const _0x8d5a66='表格\x20['+_0x380cb4[_0x1e5e41(0x15c)]+_0x1e5e41(0x1ae)+_0x30306f+_0x1e5e41(0x145)+(_0x3a6d96===_0x1e5e41(0x198)?'左':'右')+_0x1e5e41(0x17e);log(_0x8d5a66,_0x1e5e41(0x1ad));const _0x400580=getContext();if(_0x400580['chat']&&_0x400580[_0x1e5e41(0x131)]['length']>0x0){const _0x528660=_0x400580[_0x1e5e41(0x131)][_0x400580[_0x1e5e41(0x131)][_0x1e5e41(0x1ea)]-0x1];if(saveStateToMessage(currentTablesState,_0x528660)){saveChat();return;}}saveChatDebounced();}export function deleteTable(_0x286773){const _0x187a86=_0x35297d;if(!currentTablesState||!currentTablesState[_0x286773])return;const _0x3d40ae=currentTablesState[_0x286773]['name'];currentTablesState['splice'](_0x286773,0x1);const _0x193cf0=_0x187a86(0x13c)+_0x3d40ae+_0x187a86(0x14b);log(_0x193cf0,_0x187a86(0x1de));const _0x3ae978=getContext();if(_0x3ae978['chat']&&_0x3ae978[_0x187a86(0x131)]['length']>0x0){const _0x1c0ce9=_0x3ae978[_0x187a86(0x131)][_0x3ae978[_0x187a86(0x131)][_0x187a86(0x1ea)]-0x1];if(saveStateToMessage(currentTablesState,_0x1c0ce9)){saveChat(),log('废黜表格后的状态已强制写入最新消息并立即保存。',_0x187a86(0x1de));return;}}log(_0x187a86(0x1e6),_0x187a86(0x1c3)),saveChatDebounced();}export function addTable(_0x4a093c){const _0x4d3f06=_0x35297d;if(!_0x4a093c||!_0x4a093c[_0x4d3f06(0x1eb)]()){log(_0x4d3f06(0x14c),_0x4d3f06(0x1c3)),toastr[_0x4d3f06(0x1c3)](_0x4d3f06(0x1e1),_0x4d3f06(0x1a2));return;}!currentTablesState&&loadTables();if(currentTablesState[_0x4d3f06(0x163)](_0x506232=>_0x506232['name']===_0x4a093c[_0x4d3f06(0x1eb)]())){log(_0x4d3f06(0x1cd)+_0x4a093c+_0x4d3f06(0x1af),'error'),toastr['error'](_0x4d3f06(0x1ec)+_0x4a093c+'\x22\x20的表格已存在。',_0x4d3f06(0x1a2));return;}const _0x1bb616={'name':_0x4a093c[_0x4d3f06(0x1eb)](),'headers':['新列\x201'],'rows':[],'note':_0x4d3f06(0x12f),'rule_add':'允许','rule_delete':'允许','rule_update':'允许'};currentTablesState['push'](_0x1bb616);const _0xaaaed5=_0x4d3f06(0x140)+_0x4a093c['trim']()+']。';log(_0xaaaed5,_0x4d3f06(0x1de));const _0x520319=getContext();if(_0x520319[_0x4d3f06(0x131)]&&_0x520319[_0x4d3f06(0x131)][_0x4d3f06(0x1ea)]>0x0){const _0x3da1ea=_0x520319[_0x4d3f06(0x131)][_0x520319[_0x4d3f06(0x131)][_0x4d3f06(0x1ea)]-0x1];if(saveStateToMessage(currentTablesState,_0x3da1ea)){saveChat(),log('新表格状态已强制写入最新消息并立即保存。',_0x4d3f06(0x1de));return;}}log(_0x4d3f06(0x180),_0x4d3f06(0x1c3)),saveChatDebounced();}export function moveTable(_0x130ecc,_0x1ca654){const _0x512bc6=_0x35297d;if(!currentTablesState||!currentTablesState[_0x130ecc])return;const _0xdf344c=_0x1ca654==='up'?_0x130ecc-0x1:_0x130ecc+0x1;if(_0xdf344c<0x0||_0xdf344c>=currentTablesState['length']){log(_0x512bc6(0x153)+_0x130ecc+_0x512bc6(0x148),_0x512bc6(0x170));return;}const _0x56f57a=currentTablesState[_0x130ecc];currentTablesState[_0x130ecc]=currentTablesState[_0xdf344c],currentTablesState[_0xdf344c]=_0x56f57a;const _0x28507d=_0x512bc6(0x13c)+_0x56f57a[_0x512bc6(0x15c)]+_0x512bc6(0x1a3);log(_0x28507d,'success');const _0x4c103e=getContext();if(_0x4c103e[_0x512bc6(0x131)]&&_0x4c103e[_0x512bc6(0x131)][_0x512bc6(0x1ea)]>0x0){const _0x1b742a=_0x4c103e[_0x512bc6(0x131)][_0x4c103e['chat'][_0x512bc6(0x1ea)]-0x1];if(saveStateToMessage(currentTablesState,_0x1b742a)){saveChat(),log(_0x512bc6(0x1f5),_0x512bc6(0x1de));return;}}log(_0x512bc6(0x173),_0x512bc6(0x1c3)),saveChatDebounced();}export function updateTableRules(_0x2dcc61,_0x571750){const _0x4458bc=_0x35297d;if(!currentTablesState||!currentTablesState[_0x2dcc61])return;const _0x5bcca2=currentTablesState[_0x2dcc61];_0x5bcca2[_0x4458bc(0x19b)]=_0x571750[_0x4458bc(0x19b)],_0x5bcca2[_0x4458bc(0x1dc)]=_0x571750[_0x4458bc(0x1dc)],_0x5bcca2[_0x4458bc(0x1f4)]=_0x571750['rule_delete'],_0x5bcca2['rule_update']=_0x571750[_0x4458bc(0x178)];const _0x44d1f2=_0x4458bc(0x13c)+_0x5bcca2[_0x4458bc(0x15c)]+_0x4458bc(0x188);log(_0x44d1f2,'info');const _0x4256aa=getContext();if(_0x4256aa['chat']&&_0x4256aa[_0x4458bc(0x131)][_0x4458bc(0x1ea)]>0x0){const _0x2360ca=_0x4256aa[_0x4458bc(0x131)][_0x4256aa[_0x4458bc(0x131)][_0x4458bc(0x1ea)]-0x1];if(saveStateToMessage(currentTablesState,_0x2360ca)){saveChat();return;}}saveChatDebounced();}function _0x886e(_0x534abc,_0x59c84e){const _0x26c368=_0x26c3();return _0x886e=function(_0x886e2e,_0x579ac5){_0x886e2e=_0x886e2e-0x12b;let _0x4c1271=_0x26c368[_0x886e2e];return _0x4c1271;},_0x886e(_0x534abc,_0x59c84e);}export function updateRow(_0x16d67b,_0x4cc78f,_0x149aba){const _0x3315d4=_0x35297d;if(!currentTablesState||!currentTablesState[_0x16d67b]){log(_0x3315d4(0x149)+_0x16d67b+_0x3315d4(0x1b3),_0x3315d4(0x1c3));return;}const _0x1f3ce4=currentTablesState[_0x16d67b];if(_0x4cc78f>=_0x1f3ce4[_0x3315d4(0x150)]['length']){log(_0x3315d4(0x1a1)+_0x4cc78f+_0x3315d4(0x1d2)+_0x1f3ce4[_0x3315d4(0x15c)]+_0x3315d4(0x157),_0x3315d4(0x170)),insertRow(_0x16d67b,_0x149aba);return;}const _0x415eee=_0x1f3ce4[_0x3315d4(0x150)][_0x4cc78f];for(const _0x30e407 in _0x149aba){const _0x5b169b=parseInt(_0x30e407,0xa);_0x5b169b<_0x415eee[_0x3315d4(0x1ea)]&&(_0x415eee[_0x5b169b]=_0x149aba[_0x5b169b],addHighlight(_0x16d67b,_0x4cc78f,_0x5b169b));}const _0x31a660=_0x3315d4(0x177)+_0x1f3ce4[_0x3315d4(0x15c)]+_0x3315d4(0x1d5)+(_0x4cc78f+0x1)+'\x20行。';log(_0x31a660,'info');const _0x37d850=getContext();if(_0x37d850[_0x3315d4(0x131)]&&_0x37d850[_0x3315d4(0x131)][_0x3315d4(0x1ea)]>0x0){const _0xd88ba7=_0x37d850[_0x3315d4(0x131)][_0x37d850[_0x3315d4(0x131)][_0x3315d4(0x1ea)]-0x1];if(saveStateToMessage(currentTablesState,_0xd88ba7)){saveChat();return;}}saveChatDebounced();}export function clearAllTables(){const _0xb63d84=_0x35297d;if(!currentTablesState){log('无法清空:当前表格状态为空。',_0xb63d84(0x1c3));return;}currentTablesState[_0xb63d84(0x1cc)](_0x3acb7e=>{const _0x395928=_0xb63d84;_0x3acb7e[_0x395928(0x150)]=[];}),log(_0xb63d84(0x142),_0xb63d84(0x170));const _0x3b0d96=getContext();if(_0x3b0d96['chat']&&_0x3b0d96[_0xb63d84(0x131)][_0xb63d84(0x1ea)]>0x0){const _0x45bf22=_0x3b0d96[_0xb63d84(0x131)][_0x3b0d96[_0xb63d84(0x131)][_0xb63d84(0x1ea)]-0x1];if(saveStateToMessage(currentTablesState,_0x45bf22)){saveChat(),log('清空行数据后的状态已强制写入最新消息并立即保存。',_0xb63d84(0x1de)),toastr[_0xb63d84(0x1de)](_0xb63d84(0x18d),_0xb63d84(0x1c7));return;}}log('无法找到可锚定的消息或保存失败,清空操作可能不会被持久化!',_0xb63d84(0x1c3)),saveChatDebounced();}export function convertTablesToCsvString(){const _0x2b1190=_0x35297d;!currentTablesState&&loadTables();if(!currentTablesState)return'';let _0x55b7fc='';return currentTablesState[_0x2b1190(0x1cc)]((_0x142313,_0x24a606)=>{const _0x41322b=_0x2b1190;_0x55b7fc+=_0x41322b(0x1c8)+_0x24a606+':'+_0x142313[_0x41322b(0x15c)]+'\x0a',_0x55b7fc+=_0x41322b(0x1d8)+(_0x142313[_0x41322b(0x19b)]||'无')+'\x0a';const _0x513822=_0x142313[_0x41322b(0x15c)][_0x41322b(0x1d6)](/\s/g,'')+'内容';_0x55b7fc+='<'+_0x513822+'>\x0a';const _0x3c7d09=_0x142313[_0x41322b(0x193)][_0x41322b(0x176)]((_0x49af02,_0x25d2e5)=>_0x25d2e5+':'+_0x49af02)[_0x41322b(0x1b5)](',');_0x55b7fc+='rowIndex,'+_0x3c7d09+'\x0a',_0x142313['rows'][_0x41322b(0x1cc)]((_0x41af0e,_0x10246c)=>{const _0xc250ae=_0x41322b;if(Array[_0xc250ae(0x1ab)](_0x41af0e)){const _0x3f9498=_0x41af0e[_0xc250ae(0x176)](_0x523ee8=>{return _0x523ee8===null||_0x523ee8===undefined||_0x523ee8===''?'未知':_0x523ee8['toString']();})[_0xc250ae(0x1b5)](',');_0x55b7fc+=_0x10246c+','+_0x3f9498+'\x0a';}}),_0x55b7fc+='\x0a',_0x55b7fc+='【增加】:\x20'+(_0x142313[_0x41322b(0x1dc)]||'允许')+'\x0a',_0x55b7fc+=_0x41322b(0x16a)+(_0x142313['rule_delete']||'允许')+'\x0a',_0x55b7fc+='【修改】:\x20'+(_0x142313[_0x41322b(0x178)]||'允许')+'\x0a',_0x24a606{const _0x384b94=_0xbd2178;_0xc0b095+='\x0a<'+_0x1ab6cd[_0x384b94(0x15c)]+'>\x0a';const _0x2715a9=_0x1ab6cd[_0x384b94(0x193)]['map']((_0x4ed4d9,_0xdcec1f)=>String['fromCharCode'](0x41+_0xdcec1f)+':'+_0x4ed4d9)[_0x384b94(0x1b5)](',');_0xc0b095+=_0x2715a9+'\x0a',Array[_0x384b94(0x1ab)](_0x1ab6cd['rows'])&&_0x1ab6cd[_0x384b94(0x150)][_0x384b94(0x1cc)]((_0x2da9ac,_0x398f52)=>{const _0x51f5d8=_0x384b94;if(Array[_0x51f5d8(0x1ab)](_0x2da9ac)){const _0xe4a2e0=_0x2da9ac[_0x51f5d8(0x1b5)](',');_0xc0b095+=_0x398f52+0x1+':'+_0xe4a2e0+'\x0a';}}),_0xc0b095+='\x0a';}),_0xc0b095['trim']();}loadTables();export function getBatchFillerRuleTemplate(){const _0x2a97e8=_0x35297d;return extension_settings[extensionName]?.[_0x2a97e8(0x155)]??DEFAULT_AI_RULE_TEMPLATE;}export function saveBatchFillerRuleTemplate(_0x46c3e1){const _0x594c0a=_0x35297d;extension_settings[extensionName][_0x594c0a(0x155)]=_0x46c3e1,saveSettingsDebounced();}export function getBatchFillerFlowTemplate(){return extension_settings[extensionName]?.['batch_filler_flow_template']??DEFAULT_AI_FLOW_TEMPLATE;}export function saveBatchFillerFlowTemplate(_0x2eb2f7){extension_settings[extensionName]['batch_filler_flow_template']=_0x2eb2f7,saveSettingsDebounced();}function _0x26c3(){const _0x186a95=['add','href','result','所有表格的剧情内容已清空。','预设已成功导入并应用。','此地角色','删除列失败:在表格\x20','accept','完整备份','headers','\x22\x20已更新内存状态。','无法移动列:索引\x20','3dtfNfH','createElement','left','stringify','\x20(索引\x20','note','push','input','revokeObjectURL','纯净预设','从预设模板生成默认表格...','AI指令意图更新不存在的行\x20(rowIndex:\x20','创建失败',']\x20的顺序已调整。','导入的预设已强制写入最新消息并立即保存。','所有AI指令已成功执行完毕。','导出成功','\x20列。','removeChild','constructor','缺少状态或目标消息,无法保存。','isArray','\x20列的','info',']\x20的列“','\x22\x20的表格已存在。','导入的表格数据格式不正确:\x20','4728488bdakRH','当某人获得贵重或含有特殊意义的物品时/当某个已有物品获得特殊意义时','\x20中操作。','没有可导出的表格数据。','join','clear','aiRuleTemplate','文件格式无效或缺少版本号/表格数据。','...]','物品发生变化时/消耗品产生损耗时','成功将表格\x20','任务栏','extra','Amily2-Table-Preset-v3.0-separated_templates','具体描述','\x0a---\x0a','fill','\x20中找不到索引为\x20','error','导入成功','2cHmEZq','splice','操作完成','\x0a*\x20','此表大于一行时应删除多余行','number','filter','forEach','无法创建表格:名为\x20\x22','消耗品彻底使用完后/一次性物品被使用后','记录已完成或进展中重要、关键事情的任务、命令、约定/禁止记录不重要、不关键的事情/开始和结束时间应精确至具体日期、时段、时间','body','onload','),已智能转换为在表格\x20[','用户取消了导入操作。','209OoAbNX',']\x20的第\x20','replace','物品名','【说明】:\x0a','match','confirm','预设已成功导入!','rule_add','version','success',']\x20新增了一列。','结束时间','表格名称不能为空。','开始时间',',\x20data=','当角色的外貌、身体、衣着出现持久性变化时(如:五官长开、伤痕、减肥、染发、更衣、衣物破损等)/当角色有新的身份、职业、爱好时/当角色和的关系改变时/当角色更换住所时/当角色提到重要信息时','其他重要信息','无法找到可锚定的消息或保存失败,删除操作可能不会被持久化!','导入操作已取消。','type','当本轮出现表中没有的新角色时,应插入','length','trim','名为\x20\x22','已根据AI的指示成功更新表格!','上层叙事者明确要求需要删除时','角色名','size','files','appendChild','\x20条消息中找到基准表格数据。','rule_delete','表格顺序调整后的状态已强制写入最新消息并立即保存。','.json','\x20的第\x20','below','message','click','603842CqiPLT','18APhOUD','执行AI指令时发生错误:\x20','这是一个新创建的表格。','拥有者','chat','target','1236970qlKZSP','amily2-force-ui-reload','AI指令块为空,无需执行任何操作。','UI操作\x20\x22','成功在表格\x20','\x20的列。','parse','\x20条表格操作指令...','1057484eOnkYf','表格\x20[','906310fIzHuw','12ZEiOkQ','物品栏','已成功创建新表格:[','aiFlowTemplate','所有表格的行数据已在内存中清空。','createObjectURL','\x20行位置插入了新行。','”已向','导入失败:','batchFillerFlowTemplate','\x20已在边界。','AI指令错误:尝试在不存在的表格索引\x20','当特定时间约定一起去做某件重要、关键的事时/某角色收到做某件重要、关键事情的命令或任务时/某角色确定执行某件重要、关键的事时',']\x20已被成功废黜。','无法创建表格:名称不能为空。','执行AI指令:\x20insertRow(tableIndex=','tables','执行失败','rows','上层叙事者明确要求需要修改时','当叙述的场景、时间、人物变更时','无法移动表格:索引\x20','角色的基础信息csv表格,思考本轮有否有其中的角色,他应作出什么反应/外貌指:五官、面容、肤色、发型等/身体指:体型、身材、肤色、罩杯等/衣着指:身上的穿戴、服装的式样等/身份指:出身、社会地位等/职业指职责、岗位等/与关系指:角色与的社会关系(如:父亲、母亲、姐姐、妻子等)/爱好指:拥有浓厚兴趣和喜爱的某种事物、人物、活动/住所指:经常居住地','batch_filler_rule_template','未在AI返回内容中找到有效的\x20\x20指令块。',']\x20末尾新增一行。','对态度','Amily2-Table-Preset-v2.0-full','填表完成','插入了新列。','name','冻结留存/禁止删除','amily2_ai_template','插入行失败:找不到索引为\x20','readAsText','aiTemplate','application/json','some','准备执行从AI返回的\x20',']\x20新增了一行。','成功删除了表格\x20','预设中缺少必要的指令模板字段。','公告栏','substring','【删除】:\x20','function','\x20行移动到第\x20','toISOString','无法导出:当前表格状态为空。','214824NiJGeO','warn','【警告】\x0a\x0a导入操作将完全覆盖您当前的AI指令模板和所有表格(包括结构和内容)。\x0a\x0a此操作不可逆,是否确定要继续?','1764938RBkNoe','无法找到可锚定的消息或保存失败,顺序调整可能不会被持久化!',']\x20的表头“','记录时空信息的表格,应保持在一行/日期信息应精确到至几年几月几日(如果日期未知,应随便胡编一个日期)/时段规定(凌晨:0时至5时;早晨:5时至8时;上午:8时至11时;中午:11时至13时;下午:13时至16时;傍晚:16时至19时;晚上:19时至24时)/时间信息应精确至几时几分(如果时间未知,应随便胡编一个时间)/地点应为当前叙述的地点,且约精确越好','map','AI\x20指令更新了表格\x20[','rule_update','导入预设失败:\x20','角色明确死亡且以后绝不会再出场时','file','split','】已成功导出。','移动。',',\x20rowIndex=','无法找到可锚定的消息或保存失败,新表格可能不会被持久化!','AI返回内容为空,无法更新表格。','Amily2-','执行者','新列\x20','与关系','\x20的表格。','runner',']\x20的规则已更新。','dispatchEvent'];_0x26c3=function(){return _0x186a95;};return _0x26c3();}export function getAiFlowTemplateForInjection(){return extension_settings[extensionName]?.['amily2_ai_template']??DEFAULT_AI_FLOW_TEMPLATE;}export async function updateTableFromText(_0x21a703){const _0x4d80d4=_0x35297d;if(!_0x21a703){log(_0x4d80d4(0x181),'warn');return;}const _0x4038b8=_0x21a703[_0x4d80d4(0x1d9)](/([\s\S]*?)<\/Amily2Edit>/);if(!_0x4038b8||!_0x4038b8[0x1]){log(_0x4d80d4(0x156),_0x4d80d4(0x170));return;}let _0x230d99=_0x4038b8[0x1][_0x4d80d4(0x1d6)](//g,'')[_0x4d80d4(0x1eb)]();if(!_0x230d99){log(_0x4d80d4(0x135),_0x4d80d4(0x1ad));return;}const _0x2ac917=_0x230d99[_0x4d80d4(0x17c)]('\x0a')[_0x4d80d4(0x1cb)](_0x4dfbb9=>_0x4dfbb9[_0x4d80d4(0x1eb)]()!=='');log(_0x4d80d4(0x164)+_0x2ac917[_0x4d80d4(0x1ea)]+_0x4d80d4(0x13a),'info');const _0x498971={'insertRow':(_0x7f724d,_0x16c364)=>{const _0x52b332=_0x4d80d4;log(_0x52b332(0x14d)+_0x7f724d+_0x52b332(0x1e3)+JSON['stringify'](_0x16c364)+')',_0x52b332(0x1ad)),insertRow(_0x7f724d,_0x16c364);},'deleteRow':(_0x2f7c22,_0x3297b4)=>{const _0x5d4910=_0x4d80d4;log('执行AI指令:\x20deleteRow(tableIndex='+_0x2f7c22+_0x5d4910(0x17f)+_0x3297b4+')','info'),deleteRow(_0x2f7c22,_0x3297b4);},'updateRow':(_0x186e2c,_0x19a322,_0x2b027d)=>{const _0x2cbd82=_0x4d80d4;log('执行AI指令:\x20updateRow(tableIndex='+_0x186e2c+_0x2cbd82(0x17f)+_0x19a322+_0x2cbd82(0x1e3)+JSON[_0x2cbd82(0x199)](_0x2b027d)+')',_0x2cbd82(0x1ad)),updateRow(_0x186e2c,_0x19a322,_0x2b027d);}};try{const _0x362b95=Object['getPrototypeOf'](async function(){})[_0x4d80d4(0x1a9)],_0x98bafc=new _0x362b95(_0x4d80d4(0x187),'\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'+_0x230d99+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20');await _0x98bafc(_0x498971),log(_0x4d80d4(0x1a5),_0x4d80d4(0x1de)),toastr[_0x4d80d4(0x1de)](_0x4d80d4(0x1ed),_0x4d80d4(0x15a)),document[_0x4d80d4(0x189)](new CustomEvent(_0x4d80d4(0x134)));}catch(_0x12ab9d){log(_0x4d80d4(0x12e)+_0x12ab9d[_0x4d80d4(0x1f9)],_0x4d80d4(0x1c3)),toastr[_0x4d80d4(0x1c3)]('执行AI指令时出错:\x20'+_0x12ab9d['message'],_0x4d80d4(0x14f));}}export function saveAiTemplate(_0x400b37){const _0x391c4b=_0x35297d;extension_settings[extensionName][_0x391c4b(0x15e)]=_0x400b37,saveSettingsDebounced();}export function getAiTemplate(){return getAiFlowTemplateForInjection();}function exportPresetBase(_0x41866d=![]){const _0x4160b9=_0x35297d;if(!currentTablesState){log(_0x4160b9(0x16e),_0x4160b9(0x1c3)),toastr[_0x4160b9(0x1c3)](_0x4160b9(0x1b4));return;}let _0x48aac6,_0x278cc0,_0x265253;_0x41866d?(_0x48aac6=JSON[_0x4160b9(0x139)](JSON['stringify'](currentTablesState)),_0x278cc0=_0x4160b9(0x159),_0x265253=_0x4160b9(0x192)):(_0x48aac6=currentTablesState[_0x4160b9(0x176)](_0x4b0dae=>({'name':_0x4b0dae[_0x4160b9(0x15c)],'headers':_0x4b0dae[_0x4160b9(0x193)],'note':_0x4b0dae['note'],'rule_add':_0x4b0dae[_0x4160b9(0x1dc)],'rule_delete':_0x4b0dae['rule_delete'],'rule_update':_0x4b0dae[_0x4160b9(0x178)],'rows':[]})),_0x278cc0='Amily2-Table-Preset-v2.0-clean',_0x265253=_0x4160b9(0x19f));const _0x44c7ab={'version':_0x4160b9(0x1be),'batchFillerRuleTemplate':getBatchFillerRuleTemplate(),'batchFillerFlowTemplate':getBatchFillerFlowTemplate(),'injectionFlowTemplate':getAiFlowTemplateForInjection(),'tables':_0x48aac6},_0x4360a5=new Blob([JSON[_0x4160b9(0x199)](_0x44c7ab,null,0x2)],{'type':_0x4160b9(0x162)}),_0x1be882=URL[_0x4160b9(0x143)](_0x4360a5),_0x4366d6=document[_0x4160b9(0x197)]('a');_0x4366d6[_0x4160b9(0x18b)]=_0x1be882,_0x4366d6['download']=_0x4160b9(0x182)+_0x265253+'-'+new Date()[_0x4160b9(0x16d)]()['slice'](0x0,0xa)+'.json',document[_0x4160b9(0x1d0)][_0x4160b9(0x1f2)](_0x4366d6),_0x4366d6[_0x4160b9(0x12b)](),document[_0x4160b9(0x1d0)][_0x4160b9(0x1a8)](_0x4366d6),URL[_0x4160b9(0x19e)](_0x1be882),log('【'+_0x265253+_0x4160b9(0x17d),'success'),toastr[_0x4160b9(0x1de)]('【'+_0x265253+'】已开始下载。',_0x4160b9(0x1a6));}export function exportPreset(){exportPresetBase(![]);}export function exportPresetFull(){exportPresetBase(!![]);}export function importPreset(_0x5d6cb7){const _0x36c67b=_0x35297d,_0x2cceee=document[_0x36c67b(0x197)](_0x36c67b(0x19d));_0x2cceee[_0x36c67b(0x1e8)]=_0x36c67b(0x17b),_0x2cceee[_0x36c67b(0x191)]=_0x36c67b(0x1f6),_0x2cceee['onchange']=_0x224a4e=>{const _0x2da8db=_0x36c67b,_0x64aea5=_0x224a4e[_0x2da8db(0x132)][_0x2da8db(0x1f1)][0x0];if(!_0x64aea5)return;const _0x4e5f74=new FileReader();_0x4e5f74[_0x2da8db(0x1d1)]=_0x2aff9c=>{const _0x37dd17=_0x2da8db;try{const _0x4ecc9a=JSON[_0x37dd17(0x139)](_0x2aff9c[_0x37dd17(0x132)][_0x37dd17(0x18c)]);if(!_0x4ecc9a[_0x37dd17(0x1dd)]||!Array[_0x37dd17(0x1ab)](_0x4ecc9a[_0x37dd17(0x14e)]))throw new Error(_0x37dd17(0x1b8));const _0x1e7e31=window[_0x37dd17(0x1da)](_0x37dd17(0x171));if(!_0x1e7e31){log(_0x37dd17(0x1d3),_0x37dd17(0x1ad)),toastr[_0x37dd17(0x1ad)](_0x37dd17(0x1e7));return;}if(_0x4ecc9a['version']===_0x37dd17(0x1be))saveBatchFillerRuleTemplate(_0x4ecc9a['batchFillerRuleTemplate']),saveBatchFillerFlowTemplate(_0x4ecc9a[_0x37dd17(0x147)]),saveAiTemplate(_0x4ecc9a['injectionFlowTemplate']);else{if(_0x4ecc9a['aiRuleTemplate']!==undefined&&_0x4ecc9a['aiFlowTemplate']!==undefined)saveBatchFillerRuleTemplate(_0x4ecc9a[_0x37dd17(0x1b7)]),saveBatchFillerFlowTemplate(_0x4ecc9a[_0x37dd17(0x141)]),saveAiTemplate(_0x4ecc9a['aiFlowTemplate']);else{if(_0x4ecc9a[_0x37dd17(0x161)])saveBatchFillerRuleTemplate(''),saveBatchFillerFlowTemplate(_0x4ecc9a['aiTemplate']),saveAiTemplate(_0x4ecc9a[_0x37dd17(0x161)]);else throw new Error(_0x37dd17(0x167));}}const _0x9a5077=_0x4ecc9a[_0x37dd17(0x14e)];_0x9a5077[_0x37dd17(0x1cc)](_0x2e9c39=>{const _0xcc1869=_0x37dd17;if(_0x2e9c39['name']===undefined||_0x2e9c39[_0xcc1869(0x193)]===undefined||_0x2e9c39[_0xcc1869(0x150)]===undefined)throw new Error(_0xcc1869(0x1b0)+JSON[_0xcc1869(0x199)](_0x2e9c39));if(_0x2e9c39[_0xcc1869(0x19b)]===undefined)_0x2e9c39[_0xcc1869(0x19b)]='无';if(_0x2e9c39[_0xcc1869(0x1dc)]===undefined)_0x2e9c39[_0xcc1869(0x1dc)]='允许';if(_0x2e9c39[_0xcc1869(0x1f4)]===undefined)_0x2e9c39[_0xcc1869(0x1f4)]='允许';if(_0x2e9c39[_0xcc1869(0x178)]===undefined)_0x2e9c39['rule_update']='允许';}),setMemoryState(_0x9a5077);const _0x31e31d=getContext();if(_0x31e31d[_0x37dd17(0x131)]&&_0x31e31d[_0x37dd17(0x131)][_0x37dd17(0x1ea)]>0x0){const _0x1588d6=_0x31e31d[_0x37dd17(0x131)][_0x31e31d['chat']['length']-0x1];saveStateToMessage(getMemoryState(),_0x1588d6)&&(saveChat(),log(_0x37dd17(0x1a4),'success'));}else saveChatDebounced();log(_0x37dd17(0x18e),_0x37dd17(0x1de)),toastr[_0x37dd17(0x1de)](_0x37dd17(0x1db),_0x37dd17(0x1c4)),typeof _0x5d6cb7===_0x37dd17(0x16b)&&_0x5d6cb7();}catch(_0x3f3e96){log(_0x37dd17(0x179)+_0x3f3e96[_0x37dd17(0x1f9)],'error'),toastr['error'](_0x37dd17(0x146)+_0x3f3e96[_0x37dd17(0x1f9)],'错误');}},_0x4e5f74[_0x2da8db(0x160)](_0x64aea5);},_0x2cceee[_0x36c67b(0x12b)]();} +const _0x4df244=_0x29e8;(function(_0x57e6d9,_0x53cb1d){const _0x179f9d=_0x29e8,_0x28a148=_0x57e6d9();while(!![]){try{const _0x5a32f0=-parseInt(_0x179f9d(0x137))/0x1+-parseInt(_0x179f9d(0x198))/0x2*(parseInt(_0x179f9d(0x117))/0x3)+parseInt(_0x179f9d(0xf2))/0x4*(-parseInt(_0x179f9d(0x14d))/0x5)+-parseInt(_0x179f9d(0x17c))/0x6+-parseInt(_0x179f9d(0x132))/0x7+-parseInt(_0x179f9d(0x155))/0x8*(parseInt(_0x179f9d(0x18a))/0x9)+parseInt(_0x179f9d(0x131))/0xa;if(_0x5a32f0===_0x53cb1d)break;else _0x28a148['push'](_0x28a148['shift']());}catch(_0x2d6d6d){_0x28a148['push'](_0x28a148['shift']());}}}(_0x261b,0xa1e86));import{getContext,extension_settings}from'/scripts/extensions.js';import{saveChat,saveSettingsDebounced}from'/script.js';import{log}from'./logger.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';const TABLE_DATA_KEY=_0x4df244(0xed);let currentTablesState=null,highlightedCells=new Set();export function addHighlight(_0x2e680b,_0x110415,_0x15b648){const _0x2f35c0=_0x2e680b+'-'+_0x110415+'-'+_0x15b648;highlightedCells['add'](_0x2f35c0);}export function getHighlights(){return highlightedCells;}export function clearHighlights(){const _0x1a3d6c=_0x4df244;highlightedCells[_0x1a3d6c(0x158)]>0x0&&(highlightedCells[_0x1a3d6c(0xf5)](),log(_0x1a3d6c(0x118),_0x1a3d6c(0x153)));}export function setMemoryState(_0x589b0d){currentTablesState=_0x589b0d;}export function getMemoryState(){return currentTablesState;}const defaultTemplate={'tables':[{'name':_0x4df244(0x1a9),'headers':['日期','时段','时间','地点',_0x4df244(0x126)],'note':_0x4df244(0x1b0),'rule_add':'此表不存在任何一行时','rule_delete':'此表大于一行时应删除多余行','rule_update':_0x4df244(0x1a0),'rows':[]},{'name':_0x4df244(0x191),'headers':[_0x4df244(0x115),'外貌','身体','衣着','性格','身份','职业',_0x4df244(0x120),'对态度','爱好','住所',_0x4df244(0x139)],'note':'角色的基础信息csv表格,思考本轮有否有其中的角色,他应作出什么反应/外貌指:五官、面容、肤色、发型等/身体指:体型、身材、肤色、罩杯等/衣着指:身上的穿戴、服装的式样等/身份指:出身、社会地位等/职业指职责、岗位等/与关系指:角色与的社会关系(如:父亲、母亲、姐姐、妻子等)/爱好指:拥有浓厚兴趣和喜爱的某种事物、人物、活动/住所指:经常居住地','rule_add':'当本轮出现表中没有的新角色时,应插入','rule_delete':'角色明确死亡且以后绝不会再出场时','rule_update':_0x4df244(0x17b),'rows':[]},{'name':_0x4df244(0x148),'headers':[_0x4df244(0x10d),'类型','详情','状态',_0x4df244(0x173),'地点','结果','开始时间',_0x4df244(0x103)],'note':_0x4df244(0x16e),'rule_add':_0x4df244(0x1a7),'rule_delete':_0x4df244(0x16a),'rule_update':'当大家赴约时/任务或命令有进展、完成、失败时/任务、命令、约定被取消时','rows':[]},{'name':_0x4df244(0x190),'headers':[_0x4df244(0x18c),'类型','详情','状态',_0x4df244(0x138),_0x4df244(0x1a5)],'note':_0x4df244(0x11d),'rule_add':_0x4df244(0xe9),'rule_delete':_0x4df244(0x14e),'rule_update':_0x4df244(0x13f),'rows':[]},{'name':_0x4df244(0xe6),'headers':['类型',_0x4df244(0xdb)],'note':'上层叙事者留下的各种提示、要求、命令/禁止私自增、删、改','rule_add':_0x4df244(0x178),'rule_delete':_0x4df244(0x13b),'rule_update':_0x4df244(0x152),'rows':[]}]};function getDefaultTables(){const _0x55222a=_0x4df244;return log(_0x55222a(0xf4),_0x55222a(0x153)),JSON[_0x55222a(0x116)](JSON[_0x55222a(0x168)](defaultTemplate['tables']));}export function loadTables(_0x47ae49=-0x1){const _0x34f8eb=_0x4df244,_0x4a22ef=getContext();if(_0x4a22ef&&_0x4a22ef[_0x34f8eb(0x157)]&&_0x4a22ef[_0x34f8eb(0x157)][_0x34f8eb(0x10a)]>0x0){const _0x45122d=_0x47ae49===-0x1?_0x4a22ef[_0x34f8eb(0x157)]['length']-0x1:_0x47ae49-0x1;for(let _0x34f6bf=_0x45122d;_0x34f6bf>=0x0;_0x34f6bf--){const _0x536d45=_0x4a22ef[_0x34f8eb(0x157)][_0x34f6bf];if(_0x536d45[_0x34f8eb(0x13d)]&&_0x536d45[_0x34f8eb(0x13d)][TABLE_DATA_KEY]){log(_0x34f8eb(0x10f)+_0x34f6bf+_0x34f8eb(0x175),_0x34f8eb(0x153));let _0x1a0d42=JSON[_0x34f8eb(0x116)](JSON[_0x34f8eb(0x168)](_0x536d45[_0x34f8eb(0x13d)][TABLE_DATA_KEY]));return _0x1a0d42[_0x34f8eb(0x102)](_0x3493d8=>{const _0x26997d=_0x34f8eb;if(_0x3493d8['note']===undefined)_0x3493d8['note']='无';if(_0x3493d8[_0x26997d(0x185)]===undefined)_0x3493d8[_0x26997d(0x185)]='允许';if(_0x3493d8[_0x26997d(0xfb)]===undefined)_0x3493d8[_0x26997d(0xfb)]='允许';if(_0x3493d8[_0x26997d(0xfa)]===undefined)_0x3493d8['rule_update']='允许';}),currentTablesState=_0x1a0d42,currentTablesState;}}}if(extension_settings[extensionName]?.[_0x34f8eb(0x125)]){log('未在聊天记录中找到表格,正在加载全局预设...',_0x34f8eb(0x153));try{const _0x23e474=extension_settings[extensionName][_0x34f8eb(0x125)];return currentTablesState=JSON[_0x34f8eb(0x116)](JSON[_0x34f8eb(0x168)](_0x23e474[_0x34f8eb(0xec)])),currentTablesState;}catch(_0x5199bf){log(_0x34f8eb(0x101)+_0x5199bf['message'],_0x34f8eb(0xee));}}return log(_0x34f8eb(0x144),_0x34f8eb(0x153)),currentTablesState=getDefaultTables(),currentTablesState;}export function saveStateToMessage(_0x1790de,_0x422a6f){const _0x3758a9=_0x4df244;if(!_0x1790de||!_0x422a6f)return log(_0x3758a9(0x151),_0x3758a9(0xee)),![];return!_0x422a6f['extra']&&(_0x422a6f[_0x3758a9(0x13d)]={}),_0x422a6f['extra'][TABLE_DATA_KEY]=JSON[_0x3758a9(0x116)](JSON[_0x3758a9(0x168)](_0x1790de)),log(_0x3758a9(0xfc)+_0x422a6f[_0x3758a9(0x15e)][_0x3758a9(0x134)](0x0,0x14)+'...]',_0x3758a9(0x153)),!![];}export function saveTables(_0x1c1ee5=_0x4df244(0x13e)){const _0x50c12a=_0x4df244;return log(_0x50c12a(0x183)+_0x1c1ee5+'\x22\x20已更新内存状态。',_0x50c12a(0x153)),!![];}export function deleteColumn(_0xcf4712,_0x22e5ad){const _0x165d90=_0x4df244,_0x208aa6=getMemoryState();if(!_0x208aa6[_0xcf4712]||_0x22e5ad<0x0||_0x22e5ad>=_0x208aa6[_0xcf4712][_0x165d90(0xe4)][_0x165d90(0x10a)]){log(_0x165d90(0x14c)+_0xcf4712+_0x165d90(0x12b)+_0x22e5ad+'\x20的列。',_0x165d90(0xee));return;}_0x208aa6[_0xcf4712][_0x165d90(0xe4)][_0x165d90(0x167)](_0x22e5ad,0x1),_0x208aa6[_0xcf4712]['rows']['forEach'](_0x2d2874=>{const _0x59265e=_0x165d90;_0x2d2874[_0x59265e(0x10a)]>_0x22e5ad&&_0x2d2874[_0x59265e(0x167)](_0x22e5ad,0x1);}),log(_0x165d90(0x12c)+_0xcf4712+'\x20的第\x20'+(_0x22e5ad+0x1)+_0x165d90(0xea),'success'),saveTables(_0x208aa6);}export function moveRow(_0x9f9e71,_0x91ac77,_0x236f80){const _0x6baf87=_0x4df244,_0x36155d=getMemoryState(),_0xce3967=_0x36155d[_0x9f9e71];if(!_0xce3967||_0x91ac77<0x0||_0x91ac77>=_0xce3967[_0x6baf87(0x174)][_0x6baf87(0x10a)])return;const _0x4c095d=_0x236f80==='up'?_0x91ac77-0x1:_0x91ac77+0x1;if(_0x4c095d<0x0||_0x4c095d>=_0xce3967['rows']['length'])return;const [_0x2a0a63]=_0xce3967['rows'][_0x6baf87(0x167)](_0x91ac77,0x1);_0xce3967[_0x6baf87(0x174)][_0x6baf87(0x167)](_0x4c095d,0x0,_0x2a0a63),log('成功将表格\x20'+_0x9f9e71+'\x20的第\x20'+(_0x91ac77+0x1)+_0x6baf87(0x149)+(_0x4c095d+0x1)+_0x6baf87(0x188),_0x6baf87(0xf8)),saveTables(_0x36155d);}export function insertRow(_0x3bd888,_0x5b3ada,_0x2b8f2c=_0x4df244(0xf7)){const _0xce97ca=_0x4df244,_0x28b234=getMemoryState(),_0x4ffd4c=_0x28b234[_0x3bd888];if(!_0x4ffd4c){log(_0xce97ca(0x106)+_0x3bd888+_0xce97ca(0x187),'error');return;}let _0x57708d;typeof _0x5b3ada==='number'?_0x57708d=_0x2b8f2c===_0xce97ca(0x194)?_0x5b3ada:_0x5b3ada+0x1:_0x57708d=_0x4ffd4c[_0xce97ca(0x174)][_0xce97ca(0x10a)];if(_0x57708d<0x0)_0x57708d=0x0;if(_0x57708d>_0x4ffd4c['rows'][_0xce97ca(0x10a)])_0x57708d=_0x4ffd4c['rows'][_0xce97ca(0x10a)];const _0x4e029a=new Array(_0x4ffd4c[_0xce97ca(0xe4)][_0xce97ca(0x10a)])[_0xce97ca(0xff)]('');if(typeof _0x5b3ada===_0xce97ca(0x156)&&_0x5b3ada!==null)for(const _0x8069e4 in _0x5b3ada){const _0x1fd0c4=parseInt(_0x8069e4,0xa);!isNaN(_0x1fd0c4)&&_0x1fd0c4<_0x4e029a[_0xce97ca(0x10a)]&&(_0x4e029a[_0x1fd0c4]=_0x5b3ada[_0x8069e4],addHighlight(_0x3bd888,_0x57708d,_0x1fd0c4));}_0x4ffd4c['rows'][_0xce97ca(0x167)](_0x57708d,0x0,_0x4e029a),log(_0xce97ca(0x17a)+_0x4ffd4c[_0xce97ca(0x130)]+_0xce97ca(0x11b)+_0x3bd888+_0xce97ca(0x193)+(_0x57708d+0x1)+_0xce97ca(0x104),_0xce97ca(0xf8));const _0x122123=getContext();if(_0x122123[_0xce97ca(0x157)]&&_0x122123[_0xce97ca(0x157)]['length']>0x0){const _0xb210d6=_0x122123['chat'][_0x122123['chat'][_0xce97ca(0x10a)]-0x1];if(saveStateToMessage(_0x28b234,_0xb210d6)){saveChat();return;}}saveChatDebounced();}function _0x261b(){const _0x1d20e7=['表格名称不能为空。','extra','未知操作','物品发生变化时/消耗品产生损耗时','left','createObjectURL','【删除】:\x20','batchFillerFlowTemplate','未找到任何表格数据或全局预设,使用默认模板。','\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',']\x20新增了一行。','rowIndex,','任务栏','\x20行移动到第\x20','injectionFlowTemplate','\x20列的','删除列失败:在表格\x20','5085665CciNie','消耗品彻底使用完后/一次性物品被使用后',']\x20的规则已更新。','导入失败:','缺少状态或目标消息,无法保存。','上层叙事者明确要求需要修改时','info','新列\x201','1036296jxgMjM','object','chat','size','some',']\x20在第\x20','runner','readAsText','),已智能转换为在表格\x20[','mes','导入操作已取消。','填表完成','名为\x20\x22','全局预设已清除,新聊天将使用默认模板。','join','push','导入预设失败:\x20','revokeObjectURL','splice','stringify','】已成功导出。','冻结留存/禁止删除','application/json','表格顺序调整后的状态已强制写入最新消息并立即保存。',']\x20的第\x20','记录已完成或进展中重要、关键事情的任务、命令、约定/禁止记录不重要、不关键的事情/开始和结束时间应精确至具体日期、时段、时间','【增加】:\x20','toString','预设已成功导入!','aiFlowTemplate','执行者','rows','\x20条消息中找到基准表格数据。','AI指令意图更新不存在的行\x20(rowIndex:\x20','\x20中操作。','上层叙事者在第四面墙外对故事或游戏进行提示、要求、命令时/上层叙事者使用括号包裹提示、要求、命令时','AI指令块为空,无需执行任何操作。','成功在表格\x20','当角色的外貌、身体、衣着出现持久性变化时(如:五官长开、伤痕、减肥、染发、更衣、衣物破损等)/当角色有新的身份、职业、爱好时/当角色和的关系改变时/当角色更换住所时/当角色提到重要信息时','68898prXgwS','\x0a---\x0a','file','没有可导出的表格数据。','confirm','【全局预设导入】\x0a\x0a这将把选定的预设设置为所有新聊天的默认表格。\x0a\x0a此操作将覆盖任何已存在的全局预设,是否确定?','纯净预设','UI操作\x20\x22','【说明】:\x0a','rule_add','accept','\x20的表格。','\x20行。','插入了新列。','27ghPICW','用户取消了全局预设导入操作。','物品名','batch_filler_flow_template','href','trim','物品栏','角色栏','aiRuleTemplate',')\x20的第\x20','above','无法创建表格:名称不能为空。','导入的预设已强制写入最新消息并立即保存。','\x20已在边界。','91742nGMBff','\x0a*\x20','设置成功','已成功创建新表格:[',']\x20新增了一列。',']\x20的顺序已调整。','function','无法创建表格:名为\x20\x22','当叙述的场景、时间、人物变更时','无法移动列:索引\x20','无法清空:当前表格状态为空。','无法移动表格:索引\x20','完整备份','重要原因','Amily2-','当特定时间约定一起去做某件重要、关键的事时/某角色收到做某件重要、关键事情的命令或任务时/某角色确定执行某件重要、关键的事时','无法导出:当前表格状态为空。','时空栏','split','fromCharCode','result','导入的表格数据格式不正确:\x20','未在AI返回内容中找到有效的\x20\x20指令块。','onchange','记录时空信息的表格,应保持在一行/日期信息应精确到至几年几月几日(如果日期未知,应随便胡编一个日期)/时段规定(凌晨:0时至5时;早晨:5时至8时;上午:8时至11时;中午:11时至13时;下午:13时至16时;傍晚:16时至19时;晚上:19时至24时)/时间信息应精确至几时几分(如果时间未知,应随便胡编一个时间)/地点应为当前叙述的地点,且约精确越好','无法找到可锚定的消息或保存失败,新表格可能不会被持久化!','已根据AI的指示成功更新表格!','具体描述','removeChild','batch_filler_rule_template','toISOString','message','清空行数据后的状态已强制写入最新消息并立即保存。','执行失败','AI\x20指令更新了表格\x20[','files','headers','aiTemplate','公告栏','slice','文件格式无效或缺少版本号/表格数据。','当某人获得贵重或含有特殊意义的物品时/当某个已有物品获得特殊意义时','\x20列。','所有AI指令已成功执行完毕。','tables','amily2_tables_data','error','预设已成功导入并应用。','warn','replace','4ATzBur','AI返回内容为空,无法更新表格。','从预设模板生成默认表格...','clear','version','below','success','执行AI指令:\x20insertRow(tableIndex=','rule_update','rule_delete','表格状态已准备写入消息\x20[','【警告】\x0a\x0a导入操作将完全覆盖您当前的AI指令模板和所有表格(包括结构和内容)。\x0a\x0a此操作不可逆,是否确定要继续?','操作已取消。','fill','Amily2-Table-Preset-v3.0-separated_templates','加载全局预设失败:\x20','forEach','结束时间','\x20行位置插入了新行。','导入成功','插入行失败:找不到索引为\x20','无法找到可锚定的消息或保存失败,清空操作可能不会被持久化!','dispatchEvent','新表格状态已强制写入最新消息并立即保存。','length','createElement','amily2-force-ui-reload','任务名','appendChild','在第\x20','every','body','filter','操作成功','map','角色名','parse','39dwZGcM','已清除所有单元格高亮标记。','表格\x20[','getPrototypeOf','\x20(索引\x20',',\x20data=','对某人很贵重或有特殊纪念意义的物品','无法找到可锚定的消息或保存失败,顺序调整可能不会被持久化!','click','与关系','note','创建失败','【清除全局预设】\x0a\x0a您确定要清除已设置的全局预设吗?\x0a\x0a清除后,新聊天将恢复使用扩展内置的默认表格模板。','所有表格的剧情内容已清空。','global_table_preset','此地角色','input','isArray','onload','type','\x20中找不到索引为\x20','成功删除了表格\x20','match','执行AI指令时发生错误:\x20','所有表格的行数据已在内存中清空。','name','46762440MyReQa','6425832kIXQzt','.json','substring','当前没有设置全局预设。','\x20行已删除。','1081544ZrCTNm','拥有者','其他重要信息','target','上层叙事者明确要求需要删除时'];_0x261b=function(){return _0x1d20e7;};return _0x261b();}export function addRow(_0x124336){const _0x3f036b=_0x4df244;if(!currentTablesState||!currentTablesState[_0x124336])return;const _0x17db4e=currentTablesState[_0x124336],_0x2c05d1=_0x17db4e[_0x3f036b(0xe4)]['length'],_0x11a7d1=Array(_0x2c05d1)[_0x3f036b(0xff)]('');_0x17db4e['rows'][_0x3f036b(0x164)](_0x11a7d1);const _0x32b9f4=_0x3f036b(0x119)+_0x17db4e['name']+_0x3f036b(0x146);log(_0x32b9f4,'info');const _0x1d1364=getContext();if(_0x1d1364[_0x3f036b(0x157)]&&_0x1d1364['chat'][_0x3f036b(0x10a)]>0x0){const _0x298419=_0x1d1364[_0x3f036b(0x157)][_0x1d1364[_0x3f036b(0x157)][_0x3f036b(0x10a)]-0x1];if(saveStateToMessage(currentTablesState,_0x298419)){saveChat();return;}}saveChatDebounced();}export function addColumn(_0x59136e){const _0x3f80b2=_0x4df244;if(!currentTablesState||!currentTablesState[_0x59136e])return;const _0x362789=currentTablesState[_0x59136e],_0x58f5b0='新列\x20'+(_0x362789[_0x3f80b2(0xe4)][_0x3f80b2(0x10a)]+0x1);_0x362789[_0x3f80b2(0xe4)][_0x3f80b2(0x164)](_0x58f5b0),_0x362789[_0x3f80b2(0x174)][_0x3f80b2(0x102)](_0x129449=>_0x129449[_0x3f80b2(0x164)](''));const _0x24a930='表格\x20['+_0x362789[_0x3f80b2(0x130)]+_0x3f80b2(0x19c);log(_0x24a930,_0x3f80b2(0x153));const _0x5b48f8=getContext();if(_0x5b48f8[_0x3f80b2(0x157)]&&_0x5b48f8['chat'][_0x3f80b2(0x10a)]>0x0){const _0x2540e6=_0x5b48f8[_0x3f80b2(0x157)][_0x5b48f8[_0x3f80b2(0x157)][_0x3f80b2(0x10a)]-0x1];if(saveStateToMessage(currentTablesState,_0x2540e6)){saveChat();return;}}saveChatDebounced();}export function updateHeader(_0x14e6ec,_0x318c70,_0x3396d2){const _0x51eb6a=_0x4df244;if(!currentTablesState||!currentTablesState[_0x14e6ec]||currentTablesState[_0x14e6ec][_0x51eb6a(0xe4)][_0x318c70]===undefined)return;const _0x47648b=currentTablesState[_0x14e6ec][_0x51eb6a(0x130)],_0x575193=currentTablesState[_0x14e6ec][_0x51eb6a(0xe4)][_0x318c70];currentTablesState[_0x14e6ec][_0x51eb6a(0xe4)][_0x318c70]=_0x3396d2;const _0x5d8028=_0x51eb6a(0x119)+_0x47648b+']\x20的表头“'+_0x575193+'”已更新为“'+_0x3396d2+'”。';log(_0x5d8028,_0x51eb6a(0x153));const _0xa29471=getContext();if(_0xa29471[_0x51eb6a(0x157)]&&_0xa29471[_0x51eb6a(0x157)][_0x51eb6a(0x10a)]>0x0){const _0x488fdb=_0xa29471['chat'][_0xa29471[_0x51eb6a(0x157)][_0x51eb6a(0x10a)]-0x1];if(saveStateToMessage(currentTablesState,_0x488fdb)){saveChat();return;}}saveChatDebounced();}export async function deleteRow(_0xf8b245,_0x3f865b){const _0x558ab8=_0x4df244;if(!currentTablesState||!currentTablesState[_0xf8b245]||!currentTablesState[_0xf8b245]['rows'][_0x3f865b])return;const _0x33be92=currentTablesState[_0xf8b245]['name'];currentTablesState[_0xf8b245]['rows'][_0x558ab8(0x167)](_0x3f865b,0x1);const _0x49e835=_0x558ab8(0x119)+_0x33be92+_0x558ab8(0x16d)+(_0x3f865b+0x1)+_0x558ab8(0x136);log(_0x49e835,_0x558ab8(0x153));const _0xf6ebf=getContext();if(_0xf6ebf[_0x558ab8(0x157)]&&_0xf6ebf[_0x558ab8(0x157)][_0x558ab8(0x10a)]>0x0){const _0x56d414=_0xf6ebf['chat'][_0xf6ebf[_0x558ab8(0x157)][_0x558ab8(0x10a)]-0x1];if(saveStateToMessage(currentTablesState,_0x56d414)){await saveChat();return;}}await saveChatDebounced();}export function insertColumn(_0x2da69f,_0x8a25d3,_0x39c6d6){const _0x487237=_0x4df244;if(!currentTablesState||!currentTablesState[_0x2da69f])return;const _0x468c21=currentTablesState[_0x2da69f],_0x1fe19b=_0x39c6d6===_0x487237(0x140)?_0x8a25d3:_0x8a25d3+0x1,_0x3fb590='新列';_0x468c21[_0x487237(0xe4)][_0x487237(0x167)](_0x1fe19b,0x0,_0x3fb590),_0x468c21[_0x487237(0x174)][_0x487237(0x102)](_0x38b38f=>_0x38b38f[_0x487237(0x167)](_0x1fe19b,0x0,''));const _0xf56272=_0x487237(0x119)+_0x468c21['name']+_0x487237(0x15a)+(_0x8a25d3+0x1)+_0x487237(0x14b)+(_0x39c6d6===_0x487237(0x140)?'左侧':'右侧')+_0x487237(0x189);log(_0xf56272,_0x487237(0x153));const _0x3d96d0=getContext();if(_0x3d96d0[_0x487237(0x157)]&&_0x3d96d0[_0x487237(0x157)][_0x487237(0x10a)]>0x0){const _0xe34db4=_0x3d96d0['chat'][_0x3d96d0[_0x487237(0x157)]['length']-0x1];if(saveStateToMessage(currentTablesState,_0xe34db4)){saveChat();return;}}saveChatDebounced();}export function moveColumn(_0x153b6e,_0xe19f2e,_0x4c4797){const _0x2deecc=_0x4df244;if(!currentTablesState||!currentTablesState[_0x153b6e])return;const _0x1b5e65=currentTablesState[_0x153b6e],_0x2c0d75=_0x1b5e65[_0x2deecc(0xe4)],_0x5cad27=_0x1b5e65[_0x2deecc(0x174)],_0x51f9fe=_0x4c4797==='left'?_0xe19f2e-0x1:_0xe19f2e+0x1;if(_0x51f9fe<0x0||_0x51f9fe>=_0x2c0d75[_0x2deecc(0x10a)]){log(_0x2deecc(0x1a1)+_0xe19f2e+_0x2deecc(0x197),_0x2deecc(0xf0));return;}const [_0x11fea3]=_0x2c0d75[_0x2deecc(0x167)](_0xe19f2e,0x1);_0x2c0d75[_0x2deecc(0x167)](_0x51f9fe,0x0,_0x11fea3),_0x5cad27[_0x2deecc(0x102)](_0x38a7e5=>{const _0x1a96f3=_0x2deecc,[_0x43b96e]=_0x38a7e5[_0x1a96f3(0x167)](_0xe19f2e,0x1);_0x38a7e5[_0x1a96f3(0x167)](_0x51f9fe,0x0,_0x43b96e);});const _0x6d7ee3=_0x2deecc(0x119)+_0x1b5e65[_0x2deecc(0x130)]+']\x20的列“'+_0x11fea3+'”已向'+(_0x4c4797===_0x2deecc(0x140)?'左':'右')+'移动。';log(_0x6d7ee3,_0x2deecc(0x153));const _0x1ec5cc=getContext();if(_0x1ec5cc[_0x2deecc(0x157)]&&_0x1ec5cc['chat'][_0x2deecc(0x10a)]>0x0){const _0x263bfb=_0x1ec5cc[_0x2deecc(0x157)][_0x1ec5cc['chat'][_0x2deecc(0x10a)]-0x1];if(saveStateToMessage(currentTablesState,_0x263bfb)){saveChat();return;}}saveChatDebounced();}export function deleteTable(_0x45518f){const _0x30aedc=_0x4df244;if(!currentTablesState||!currentTablesState[_0x45518f])return;const _0x2c3f5e=currentTablesState[_0x45518f]['name'];currentTablesState['splice'](_0x45518f,0x1);const _0x4e9ba1='表格\x20['+_0x2c3f5e+']\x20已被成功废黜。';log(_0x4e9ba1,_0x30aedc(0xf8));const _0x4170f7=getContext();if(_0x4170f7[_0x30aedc(0x157)]&&_0x4170f7[_0x30aedc(0x157)][_0x30aedc(0x10a)]>0x0){const _0x15b0dd=_0x4170f7[_0x30aedc(0x157)][_0x4170f7[_0x30aedc(0x157)]['length']-0x1];if(saveStateToMessage(currentTablesState,_0x15b0dd)){saveChat(),log('废黜表格后的状态已强制写入最新消息并立即保存。',_0x30aedc(0xf8));return;}}log('无法找到可锚定的消息或保存失败,删除操作可能不会被持久化!',_0x30aedc(0xee)),saveChatDebounced();}export function addTable(_0x400dcf){const _0x357064=_0x4df244;if(!_0x400dcf||!_0x400dcf[_0x357064(0x18f)]()){log(_0x357064(0x195),'error'),toastr['error'](_0x357064(0x13c),_0x357064(0x122));return;}!currentTablesState&&loadTables();if(currentTablesState[_0x357064(0x159)](_0x5863e8=>_0x5863e8[_0x357064(0x130)]===_0x400dcf[_0x357064(0x18f)]())){log(_0x357064(0x19f)+_0x400dcf+'\x22\x20的表格已存在。',_0x357064(0xee)),toastr['error'](_0x357064(0x161)+_0x400dcf+'\x22\x20的表格已存在。',_0x357064(0x122));return;}const _0x3d4085={'name':_0x400dcf[_0x357064(0x18f)](),'headers':[_0x357064(0x154)],'rows':[],'note':'这是一个新创建的表格。','rule_add':'允许','rule_delete':'允许','rule_update':'允许'};currentTablesState[_0x357064(0x164)](_0x3d4085);const _0x5c01c6=_0x357064(0x19b)+_0x400dcf[_0x357064(0x18f)]()+']。';log(_0x5c01c6,'success');const _0x74769d=getContext();if(_0x74769d[_0x357064(0x157)]&&_0x74769d[_0x357064(0x157)][_0x357064(0x10a)]>0x0){const _0x5d76b4=_0x74769d['chat'][_0x74769d['chat']['length']-0x1];if(saveStateToMessage(currentTablesState,_0x5d76b4)){saveChat(),log(_0x357064(0x109),_0x357064(0xf8));return;}}log(_0x357064(0x1b1),'error'),saveChatDebounced();}export function moveTable(_0x124203,_0xd8dea7){const _0x5b7724=_0x4df244;if(!currentTablesState||!currentTablesState[_0x124203])return;const _0x55e4fe=_0xd8dea7==='up'?_0x124203-0x1:_0x124203+0x1;if(_0x55e4fe<0x0||_0x55e4fe>=currentTablesState[_0x5b7724(0x10a)]){log(_0x5b7724(0x1a3)+_0x124203+_0x5b7724(0x197),_0x5b7724(0xf0));return;}const _0x9f2e25=currentTablesState[_0x124203];currentTablesState[_0x124203]=currentTablesState[_0x55e4fe],currentTablesState[_0x55e4fe]=_0x9f2e25;const _0x2a477a=_0x5b7724(0x119)+_0x9f2e25[_0x5b7724(0x130)]+_0x5b7724(0x19d);log(_0x2a477a,'success');const _0x140cdb=getContext();if(_0x140cdb[_0x5b7724(0x157)]&&_0x140cdb['chat']['length']>0x0){const _0x54b227=_0x140cdb['chat'][_0x140cdb[_0x5b7724(0x157)][_0x5b7724(0x10a)]-0x1];if(saveStateToMessage(currentTablesState,_0x54b227)){saveChat(),log(_0x5b7724(0x16c),_0x5b7724(0xf8));return;}}log(_0x5b7724(0x11e),'error'),saveChatDebounced();}export function updateTableRules(_0x5184e0,_0x270887){const _0x31309a=_0x4df244;if(!currentTablesState||!currentTablesState[_0x5184e0])return;const _0x80db39=currentTablesState[_0x5184e0];_0x80db39['note']=_0x270887['note'],_0x80db39['rule_add']=_0x270887['rule_add'],_0x80db39[_0x31309a(0xfb)]=_0x270887[_0x31309a(0xfb)],_0x80db39[_0x31309a(0xfa)]=_0x270887[_0x31309a(0xfa)];const _0x184533=_0x31309a(0x119)+_0x80db39[_0x31309a(0x130)]+_0x31309a(0x14f);log(_0x184533,'info');const _0x4aefa5=getContext();if(_0x4aefa5[_0x31309a(0x157)]&&_0x4aefa5[_0x31309a(0x157)][_0x31309a(0x10a)]>0x0){const _0x10878a=_0x4aefa5[_0x31309a(0x157)][_0x4aefa5[_0x31309a(0x157)][_0x31309a(0x10a)]-0x1];if(saveStateToMessage(currentTablesState,_0x10878a)){saveChat();return;}}saveChatDebounced();}export function updateRow(_0x714831,_0x4318ac,_0x43569a){const _0x4f69e7=_0x4df244;if(!currentTablesState||!currentTablesState[_0x714831]){log('AI指令错误:尝试在不存在的表格索引\x20'+_0x714831+_0x4f69e7(0x177),'error');return;}const _0x5f5da5=currentTablesState[_0x714831];if(_0x4318ac>=_0x5f5da5[_0x4f69e7(0x174)][_0x4f69e7(0x10a)]){log(_0x4f69e7(0x176)+_0x4318ac+_0x4f69e7(0x15d)+_0x5f5da5[_0x4f69e7(0x130)]+']\x20末尾新增一行。','warn'),insertRow(_0x714831,_0x43569a);return;}const _0x1cffb7=_0x5f5da5[_0x4f69e7(0x174)][_0x4318ac];for(const _0x2f3fe2 in _0x43569a){const _0x4f6ef6=parseInt(_0x2f3fe2,0xa);_0x4f6ef6<_0x1cffb7[_0x4f69e7(0x10a)]&&(_0x1cffb7[_0x4f6ef6]=_0x43569a[_0x4f6ef6],addHighlight(_0x714831,_0x4318ac,_0x4f6ef6));}const _0x64e3a1=_0x4f69e7(0xe2)+_0x5f5da5[_0x4f69e7(0x130)]+']\x20的第\x20'+(_0x4318ac+0x1)+_0x4f69e7(0x188);log(_0x64e3a1,'info');const _0x15fd72=getContext();if(_0x15fd72[_0x4f69e7(0x157)]&&_0x15fd72[_0x4f69e7(0x157)][_0x4f69e7(0x10a)]>0x0){const _0x136228=_0x15fd72[_0x4f69e7(0x157)][_0x15fd72[_0x4f69e7(0x157)]['length']-0x1];if(saveStateToMessage(currentTablesState,_0x136228)){saveChat();return;}}saveChatDebounced();}export function clearAllTables(){const _0x571a62=_0x4df244;if(!currentTablesState){log(_0x571a62(0x1a2),_0x571a62(0xee));return;}currentTablesState['forEach'](_0xeae037=>{_0xeae037['rows']=[];}),log(_0x571a62(0x12f),_0x571a62(0xf0));const _0x5cf328=getContext();if(_0x5cf328[_0x571a62(0x157)]&&_0x5cf328[_0x571a62(0x157)][_0x571a62(0x10a)]>0x0){const _0x2a4532=_0x5cf328[_0x571a62(0x157)][_0x5cf328[_0x571a62(0x157)]['length']-0x1];if(saveStateToMessage(currentTablesState,_0x2a4532)){saveChat(),log(_0x571a62(0xe0),_0x571a62(0xf8)),toastr[_0x571a62(0xf8)](_0x571a62(0x124),'操作完成');return;}}log(_0x571a62(0x107),'error'),saveChatDebounced();}export function convertTablesToCsvString(){const _0x1c4edf=_0x4df244;!currentTablesState&&loadTables();if(!currentTablesState)return'';let _0x1d7ede='';return currentTablesState[_0x1c4edf(0x102)]((_0x24f86b,_0xdfa5a3)=>{const _0x2e0539=_0x1c4edf;_0x1d7ede+=_0x2e0539(0x199)+_0xdfa5a3+':'+_0x24f86b[_0x2e0539(0x130)]+'\x0a',_0x1d7ede+=_0x2e0539(0x184)+(_0x24f86b['note']||'无')+'\x0a';const _0x199354=_0x24f86b[_0x2e0539(0x130)][_0x2e0539(0xf1)](/\s/g,'')+'内容';_0x1d7ede+='<'+_0x199354+'>\x0a';const _0x151631=_0x24f86b[_0x2e0539(0xe4)][_0x2e0539(0x114)]((_0x3308f8,_0x340f45)=>_0x340f45+':'+_0x3308f8)[_0x2e0539(0x163)](',');_0x1d7ede+=_0x2e0539(0x147)+_0x151631+'\x0a',_0x24f86b[_0x2e0539(0x174)]['forEach']((_0x3f4f0a,_0x5806be)=>{const _0x16f05f=_0x2e0539;if(Array[_0x16f05f(0x128)](_0x3f4f0a)){const _0x24b9f4=_0x3f4f0a[_0x16f05f(0x114)](_0x5e4cfe=>{const _0x422b4f=_0x16f05f;return _0x5e4cfe===null||_0x5e4cfe===undefined||_0x5e4cfe===''?'未知':_0x5e4cfe[_0x422b4f(0x170)]();})[_0x16f05f(0x163)](',');_0x1d7ede+=_0x5806be+','+_0x24b9f4+'\x0a';}}),_0x1d7ede+='\x0a',_0x1d7ede+=_0x2e0539(0x16f)+(_0x24f86b['rule_add']||'允许')+'\x0a',_0x1d7ede+=_0x2e0539(0x142)+(_0x24f86b['rule_delete']||'允许')+'\x0a',_0x1d7ede+='【修改】:\x20'+(_0x24f86b['rule_update']||'允许')+'\x0a',_0xdfa5a3{const _0x8d3c29=_0x5d50f9;_0x4fdd2c+='\x0a<'+_0x28b553[_0x8d3c29(0x130)]+'>\x0a';const _0x4e2974=_0x28b553[_0x8d3c29(0xe4)][_0x8d3c29(0x114)]((_0x4b3495,_0x529c2b)=>String[_0x8d3c29(0x1ab)](0x41+_0x529c2b)+':'+_0x4b3495)[_0x8d3c29(0x163)](',');_0x4fdd2c+=_0x4e2974+'\x0a',Array[_0x8d3c29(0x128)](_0x28b553[_0x8d3c29(0x174)])&&_0x28b553['rows'][_0x8d3c29(0x102)]((_0x56fc36,_0x2bf063)=>{const _0x538950=_0x8d3c29;if(Array[_0x538950(0x128)](_0x56fc36)){const _0x559563=_0x56fc36[_0x538950(0x163)](',');_0x4fdd2c+=_0x2bf063+0x1+':'+_0x559563+'\x0a';}}),_0x4fdd2c+='\x0a';}),_0x4fdd2c[_0x5d50f9(0x18f)]();}loadTables();export function getBatchFillerRuleTemplate(){const _0x391032=_0x4df244;return extension_settings[extensionName]?.[_0x391032(0xdd)]??DEFAULT_AI_RULE_TEMPLATE;}export function saveBatchFillerRuleTemplate(_0x1e1444){const _0xd80699=_0x4df244;extension_settings[extensionName][_0xd80699(0xdd)]=_0x1e1444,saveSettingsDebounced();}export function getBatchFillerFlowTemplate(){return extension_settings[extensionName]?.['batch_filler_flow_template']??DEFAULT_AI_FLOW_TEMPLATE;}export function saveBatchFillerFlowTemplate(_0x55b823){const _0x38df45=_0x4df244;extension_settings[extensionName][_0x38df45(0x18d)]=_0x55b823,saveSettingsDebounced();}function _0x29e8(_0x1c3865,_0x4acaec){const _0x261b32=_0x261b();return _0x29e8=function(_0x29e8c1,_0x217b50){_0x29e8c1=_0x29e8c1-0xda;let _0x5c23f7=_0x261b32[_0x29e8c1];return _0x5c23f7;},_0x29e8(_0x1c3865,_0x4acaec);}export function getAiFlowTemplateForInjection(){return extension_settings[extensionName]?.['amily2_ai_template']??DEFAULT_AI_FLOW_TEMPLATE;}export async function updateTableFromText(_0x92befd){const _0x55615e=_0x4df244;if(!_0x92befd){log(_0x55615e(0xf3),_0x55615e(0xf0));return;}const _0xf80826=_0x92befd[_0x55615e(0x12d)](/([\s\S]*?)<\/Amily2Edit>/);if(!_0xf80826||!_0xf80826[0x1]){log(_0x55615e(0x1ae),'warn');return;}let _0x4c518a=_0xf80826[0x1][_0x55615e(0xf1)](//g,'')[_0x55615e(0x18f)]();if(!_0x4c518a){log(_0x55615e(0x179),_0x55615e(0x153));return;}const _0x4fdcc4=_0x4c518a[_0x55615e(0x1aa)]('\x0a')[_0x55615e(0x112)](_0x47f2fc=>_0x47f2fc[_0x55615e(0x18f)]()!=='');log('准备执行从AI返回的\x20'+_0x4fdcc4['length']+'\x20条表格操作指令...',_0x55615e(0x153));const _0x42d565={'insertRow':(_0x16b6fa,_0xed1363)=>{const _0x581abb=_0x55615e;log(_0x581abb(0xf9)+_0x16b6fa+_0x581abb(0x11c)+JSON[_0x581abb(0x168)](_0xed1363)+')',_0x581abb(0x153)),insertRow(_0x16b6fa,_0xed1363);},'deleteRow':(_0x456d86,_0x1de884)=>{const _0x24aa12=_0x55615e;log('执行AI指令:\x20deleteRow(tableIndex='+_0x456d86+',\x20rowIndex='+_0x1de884+')',_0x24aa12(0x153)),deleteRow(_0x456d86,_0x1de884);},'updateRow':(_0x288fb9,_0x5dc65c,_0x5dce23)=>{const _0x9ca8ba=_0x55615e;log('执行AI指令:\x20updateRow(tableIndex='+_0x288fb9+',\x20rowIndex='+_0x5dc65c+',\x20data='+JSON['stringify'](_0x5dce23)+')',_0x9ca8ba(0x153)),updateRow(_0x288fb9,_0x5dc65c,_0x5dce23);}};try{const _0x406bc1=Object[_0x55615e(0x11a)](async function(){})['constructor'],_0x30d464=new _0x406bc1(_0x55615e(0x15b),_0x55615e(0x145)+_0x4c518a+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20');await _0x30d464(_0x42d565),log(_0x55615e(0xeb),_0x55615e(0xf8)),toastr[_0x55615e(0xf8)](_0x55615e(0xda),_0x55615e(0x160)),document[_0x55615e(0x108)](new CustomEvent(_0x55615e(0x10c)));}catch(_0xd074fc){log(_0x55615e(0x12e)+_0xd074fc[_0x55615e(0xdf)],_0x55615e(0xee)),toastr[_0x55615e(0xee)]('执行AI指令时出错:\x20'+_0xd074fc[_0x55615e(0xdf)],_0x55615e(0xe1));}}export function saveAiTemplate(_0x3ac01f){extension_settings[extensionName]['amily2_ai_template']=_0x3ac01f,saveSettingsDebounced();}export function getAiTemplate(){return getAiFlowTemplateForInjection();}function exportPresetBase(_0x492da9=![]){const _0xb2367d=_0x4df244;if(!currentTablesState){log(_0xb2367d(0x1a8),_0xb2367d(0xee)),toastr[_0xb2367d(0xee)](_0xb2367d(0x17f));return;}let _0x1d207d,_0x371dea,_0x30d281;_0x492da9?(_0x1d207d=JSON[_0xb2367d(0x116)](JSON[_0xb2367d(0x168)](currentTablesState)),_0x371dea='Amily2-Table-Preset-v2.0-full',_0x30d281=_0xb2367d(0x1a4)):(_0x1d207d=currentTablesState['map'](_0x40f013=>({'name':_0x40f013['name'],'headers':_0x40f013[_0xb2367d(0xe4)],'note':_0x40f013[_0xb2367d(0x121)],'rule_add':_0x40f013[_0xb2367d(0x185)],'rule_delete':_0x40f013[_0xb2367d(0xfb)],'rule_update':_0x40f013[_0xb2367d(0xfa)],'rows':[]})),_0x371dea='Amily2-Table-Preset-v2.0-clean',_0x30d281=_0xb2367d(0x182));const _0x303681={'version':_0xb2367d(0x100),'batchFillerRuleTemplate':getBatchFillerRuleTemplate(),'batchFillerFlowTemplate':getBatchFillerFlowTemplate(),'injectionFlowTemplate':getAiFlowTemplateForInjection(),'tables':_0x1d207d},_0xdb5d68=new Blob([JSON[_0xb2367d(0x168)](_0x303681,null,0x2)],{'type':_0xb2367d(0x16b)}),_0x176bce=URL[_0xb2367d(0x141)](_0xdb5d68),_0x4c8327=document[_0xb2367d(0x10b)]('a');_0x4c8327[_0xb2367d(0x18e)]=_0x176bce,_0x4c8327['download']=_0xb2367d(0x1a6)+_0x30d281+'-'+new Date()[_0xb2367d(0xde)]()[_0xb2367d(0xe7)](0x0,0xa)+_0xb2367d(0x133),document[_0xb2367d(0x111)][_0xb2367d(0x10e)](_0x4c8327),_0x4c8327[_0xb2367d(0x11f)](),document['body'][_0xb2367d(0xdc)](_0x4c8327),URL[_0xb2367d(0x166)](_0x176bce),log('【'+_0x30d281+_0xb2367d(0x169),_0xb2367d(0xf8)),toastr[_0xb2367d(0xf8)]('【'+_0x30d281+'】已开始下载。','导出成功');}export function exportPreset(){exportPresetBase(![]);}export function exportPresetFull(){exportPresetBase(!![]);}export function importPreset(_0x4665c8){const _0x181609=_0x4df244,_0x55a03f=document[_0x181609(0x10b)](_0x181609(0x127));_0x55a03f[_0x181609(0x12a)]='file',_0x55a03f[_0x181609(0x186)]='.json',_0x55a03f[_0x181609(0x1af)]=_0x227735=>{const _0x381318=_0x181609,_0x327eaa=_0x227735[_0x381318(0x13a)][_0x381318(0xe3)][0x0];if(!_0x327eaa)return;const _0x4a57a9=new FileReader();_0x4a57a9[_0x381318(0x129)]=_0x6ae4d0=>{const _0x9abd12=_0x381318;try{const _0x1b718f=JSON['parse'](_0x6ae4d0[_0x9abd12(0x13a)][_0x9abd12(0x1ac)]);if(!_0x1b718f[_0x9abd12(0xf6)]||!Array[_0x9abd12(0x128)](_0x1b718f['tables']))throw new Error(_0x9abd12(0xe8));const _0xd363ab=window[_0x9abd12(0x180)](_0x9abd12(0xfd));if(!_0xd363ab){log('用户取消了导入操作。',_0x9abd12(0x153)),toastr[_0x9abd12(0x153)](_0x9abd12(0x15f));return;}if(_0x1b718f[_0x9abd12(0xf6)]===_0x9abd12(0x100))saveBatchFillerRuleTemplate(_0x1b718f['batchFillerRuleTemplate']),saveBatchFillerFlowTemplate(_0x1b718f[_0x9abd12(0x143)]),saveAiTemplate(_0x1b718f[_0x9abd12(0x14a)]);else{if(_0x1b718f['aiRuleTemplate']!==undefined&&_0x1b718f[_0x9abd12(0x172)]!==undefined)saveBatchFillerRuleTemplate(_0x1b718f[_0x9abd12(0x192)]),saveBatchFillerFlowTemplate(_0x1b718f['aiFlowTemplate']),saveAiTemplate(_0x1b718f['aiFlowTemplate']);else{if(_0x1b718f['aiTemplate'])saveBatchFillerRuleTemplate(''),saveBatchFillerFlowTemplate(_0x1b718f[_0x9abd12(0xe5)]),saveAiTemplate(_0x1b718f[_0x9abd12(0xe5)]);else throw new Error('预设中缺少必要的指令模板字段。');}}const _0xb33d27=_0x1b718f[_0x9abd12(0xec)];_0xb33d27[_0x9abd12(0x102)](_0x1a0ebf=>{const _0x1386e2=_0x9abd12;if(_0x1a0ebf[_0x1386e2(0x130)]===undefined||_0x1a0ebf[_0x1386e2(0xe4)]===undefined||_0x1a0ebf['rows']===undefined)throw new Error(_0x1386e2(0x1ad)+JSON['stringify'](_0x1a0ebf));if(_0x1a0ebf[_0x1386e2(0x121)]===undefined)_0x1a0ebf[_0x1386e2(0x121)]='无';if(_0x1a0ebf[_0x1386e2(0x185)]===undefined)_0x1a0ebf['rule_add']='允许';if(_0x1a0ebf['rule_delete']===undefined)_0x1a0ebf[_0x1386e2(0xfb)]='允许';if(_0x1a0ebf[_0x1386e2(0xfa)]===undefined)_0x1a0ebf['rule_update']='允许';}),setMemoryState(_0xb33d27);const _0x9de54b=getContext();if(_0x9de54b[_0x9abd12(0x157)]&&_0x9de54b[_0x9abd12(0x157)][_0x9abd12(0x10a)]>0x0){const _0x566a01=_0x9de54b[_0x9abd12(0x157)][_0x9de54b[_0x9abd12(0x157)]['length']-0x1];saveStateToMessage(getMemoryState(),_0x566a01)&&(saveChat(),log(_0x9abd12(0x196),_0x9abd12(0xf8)));}else saveChatDebounced();log(_0x9abd12(0xef),_0x9abd12(0xf8)),toastr[_0x9abd12(0xf8)](_0x9abd12(0x171),_0x9abd12(0x105)),typeof _0x4665c8===_0x9abd12(0x19e)&&_0x4665c8();}catch(_0x45cac9){log(_0x9abd12(0x165)+_0x45cac9[_0x9abd12(0xdf)],'error'),toastr[_0x9abd12(0xee)](_0x9abd12(0x150)+_0x45cac9[_0x9abd12(0xdf)],'错误');}},_0x4a57a9[_0x381318(0x15c)](_0x327eaa);},_0x55a03f[_0x181609(0x11f)]();}export function isCurrentTablesEmpty(){const _0x4e7be2=_0x4df244,_0x5fbc05=getMemoryState();if(!_0x5fbc05||_0x5fbc05[_0x4e7be2(0x10a)]===0x0)return!![];return _0x5fbc05[_0x4e7be2(0x110)](_0x2c73a3=>!_0x2c73a3['rows']||_0x2c73a3[_0x4e7be2(0x174)][_0x4e7be2(0x10a)]===0x0);}export function clearGlobalPreset(){const _0x37461b=_0x4df244;if(extension_settings[extensionName]&&extension_settings[extensionName]['global_table_preset']){const _0x21c76e=window[_0x37461b(0x180)](_0x37461b(0x123));_0x21c76e?(delete extension_settings[extensionName]['global_table_preset'],saveSettingsDebounced(),log('全局预设已被清除。',_0x37461b(0xf8)),toastr[_0x37461b(0xf8)](_0x37461b(0x162),_0x37461b(0x113))):(log('用户取消了清除全局预设的操作。','info'),toastr[_0x37461b(0x153)](_0x37461b(0xfe)));}else log('无需清除,当前未设置任何全局预设。','info'),toastr['info'](_0x37461b(0x135),'提示');}export function importGlobalPreset(_0x1154f0){const _0x167523=_0x4df244,_0x11a40d=document[_0x167523(0x10b)](_0x167523(0x127));_0x11a40d[_0x167523(0x12a)]=_0x167523(0x17e),_0x11a40d[_0x167523(0x186)]=_0x167523(0x133),_0x11a40d[_0x167523(0x1af)]=_0x3f73ec=>{const _0x368e50=_0x167523,_0x5ece1f=_0x3f73ec[_0x368e50(0x13a)][_0x368e50(0xe3)][0x0];if(!_0x5ece1f)return;const _0x4fa99f=new FileReader();_0x4fa99f['onload']=_0x4475b9=>{const _0x554968=_0x368e50;try{const _0x2a2cdb=JSON[_0x554968(0x116)](_0x4475b9[_0x554968(0x13a)][_0x554968(0x1ac)]);if(!_0x2a2cdb[_0x554968(0xf6)]||!Array[_0x554968(0x128)](_0x2a2cdb[_0x554968(0xec)]))throw new Error(_0x554968(0xe8));const _0x4f6d8f=window[_0x554968(0x180)](_0x554968(0x181));if(!_0x4f6d8f){log(_0x554968(0x18b),_0x554968(0x153)),toastr[_0x554968(0x153)](_0x554968(0xfe));return;}const _0x49352f=_0x2a2cdb[_0x554968(0xec)][_0x554968(0x114)](_0x50fd35=>({'name':_0x50fd35[_0x554968(0x130)],'headers':_0x50fd35[_0x554968(0xe4)],'note':_0x50fd35[_0x554968(0x121)],'rule_add':_0x50fd35['rule_add'],'rule_delete':_0x50fd35['rule_delete'],'rule_update':_0x50fd35[_0x554968(0xfa)],'rows':[]}));!extension_settings[extensionName]&&(extension_settings[extensionName]={}),extension_settings[extensionName]['global_table_preset']={'version':_0x2a2cdb[_0x554968(0xf6)],'tables':_0x49352f,'batchFillerRuleTemplate':_0x2a2cdb['batchFillerRuleTemplate'],'batchFillerFlowTemplate':_0x2a2cdb[_0x554968(0x143)],'injectionFlowTemplate':_0x2a2cdb[_0x554968(0x14a)]},saveSettingsDebounced(),log('全局预设已成功导入并保存到扩展设置中。',_0x554968(0xf8)),toastr[_0x554968(0xf8)]('全局预设已设置!新聊天将默认使用此预设。',_0x554968(0x19a)),typeof _0x1154f0===_0x554968(0x19e)&&_0x1154f0();}catch(_0xb7d0c0){log('导入全局预设失败:\x20'+_0xb7d0c0[_0x554968(0xdf)],_0x554968(0xee)),toastr['error']('导入失败:'+_0xb7d0c0[_0x554968(0xdf)],'错误');}},_0x4fa99f[_0x368e50(0x15c)](_0x5ece1f);},_0x11a40d[_0x167523(0x11f)]();}