Files
ST-Amily2-Chat-Optimisation/core/table-system/manager.js
2025-08-13 00:56:12 +08:00

2 lines
34 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
function _0x2020(_0x314f06,_0x2974bf){const _0x92c5ce=_0x92c5();return _0x2020=function(_0x20202c,_0x4e14f9){_0x20202c=_0x20202c-0x11e;let _0x37dca5=_0x92c5ce[_0x20202c];return _0x37dca5;},_0x2020(_0x314f06,_0x2974bf);}const _0x351893=_0x2020;(function(_0x54544c,_0x3bed1b){const _0x1c7745=_0x2020,_0x44abed=_0x54544c();while(!![]){try{const _0x4b027e=parseInt(_0x1c7745(0x130))/0x1*(-parseInt(_0x1c7745(0x1c8))/0x2)+-parseInt(_0x1c7745(0x1b5))/0x3*(parseInt(_0x1c7745(0x1bf))/0x4)+parseInt(_0x1c7745(0x137))/0x5+parseInt(_0x1c7745(0x1e1))/0x6+parseInt(_0x1c7745(0x135))/0x7*(parseInt(_0x1c7745(0x14e))/0x8)+-parseInt(_0x1c7745(0x19c))/0x9+parseInt(_0x1c7745(0x1b3))/0xa*(parseInt(_0x1c7745(0x1a4))/0xb);if(_0x4b027e===_0x3bed1b)break;else _0x44abed['push'](_0x44abed['shift']());}catch(_0x4c023e){_0x44abed['push'](_0x44abed['shift']());}}}(_0x92c5,0xb6335));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(_0x4a2411,_0x5e43d6,_0x1dd3eb){const _0x3d3259=_0x2020,_0x265dad=_0x4a2411+'-'+_0x5e43d6+'-'+_0x1dd3eb;highlightedCells[_0x3d3259(0x129)](_0x265dad);}export function getHighlights(){return highlightedCells;}export function clearHighlights(){const _0x2e34e1=_0x2020;highlightedCells['size']>0x0&&(highlightedCells['clear'](),log('已清除所有单元格高亮标记。',_0x2e34e1(0x151)));}function _0x92c5(){const _0x4b854f=['\x20列。','40unRWyx','note','执行AI指令:\x20updateRow(tableIndex=','info','readAsText','】已成功导出。','target','新表格状态已强制写入最新消息并立即保存。','未在AI返回内容中找到有效的\x20<Amily2Edit>\x20指令块。','toISOString','完整备份','时空栏','rows','replace','headers','消耗品彻底使用完后/一次性物品被使用后','表格状态已准备写入消息\x20[','导出成功','创建失败','缺少状态或目标消息,无法保存。','无法创建表格:名称不能为空。',',\x20rowIndex=','记录已完成或进展中重要、关键事情的任务、命令、约定/禁止记录不重要、不关键的事情/开始和结束时间应精确至具体日期、时段、时间','\x20的表格。','files','forEach','\x22\x20已更新内存状态。','这是一个新创建的表格。','rule_update','\x0a\x20\x20\x20\x20\x20\x20\x20\x20','onload','导入操作已取消。','revokeObjectURL','\x20行已删除。','href','已根据AI的指示成功更新表格','amily2_ai_template','injectionFlowTemplate','表格顺序调整后的状态已强制写入最新消息并立即保存。','push','\x20行位置插入了新行。','trim','dispatchEvent','】已开始下载。','splice','导入预设失败:\x20','stringify','预设已成功导入并应用。','当某人获得贵重或含有特殊意义的物品时/当某个已有物品获得特殊意义时','download','开始时间','file','具体描述','成功删除了表格\x20',']\x20的列“','Amily2-Table-Preset-v2.0-clean','物品名','length','删除列失败:在表格\x20','tables','上层叙事者明确要求需要删除时','warn','input','extra','清空行数据后的状态已强制写入最新消息并立即保存。','slice','AI指令块为空无需执行任何操作。','fromCharCode','AI指令意图更新不存在的行\x20(rowIndex:\x20','\x22\x20的表格已存在。','parse','执行AI指令时发生错误:\x20','没有可导出的表格数据。','isArray','\x20(索引\x20','”已更新为“','准备执行从AI返回的\x20','aiRuleTemplate','13392954nrEnXj','Amily2-Table-Preset-v3.0-separated_templates','batchFillerFlowTemplate','当本轮出现表中没有的新角色时,应插入','click','此地角色',']\x20的第\x20','当叙述的场景、时间、人物变更时','98791ocwcJv','confirm','成功在表格\x20','无法创建表格:名为\x20\x22','AI指令错误尝试在不存在的表格索引\x20','\x0a*\x20','filter','accept','执行失败','角色名','aiTemplate','表格\x20[','角色明确死亡且以后绝不会再出场时','此表不存在任何一行时','无法导出:当前表格状态为空。','1350JEoatL','\x20列的','87009HCZVOB','未在聊天记录中找到表格数据,使用默认模板。','操作完成','result','名为\x20\x22','所有表格的行数据已在内存中清空。','导入的表格数据格式不正确:\x20',']\x20的表头“','\x20中找不到索引为\x20','rule_delete','180bPawTt','batch_filler_flow_template','AI返回内容为空无法更新表格。','【警告】\x0a\x0a导入操作将完全覆盖您当前的AI指令模板和所有表格包括结构和内容。\x0a\x0a此操作不可逆是否确定要继续','对某人很贵重或有特殊纪念意义的物品','移动。','对<user>态度','拥有者','物品栏','2qHrKAa','上层叙事者在第四面墙外对故事或游戏进行提示、要求、命令时/上层叙事者使用括号包裹提示、要求、命令时',']\x20新增了一行。',']\x20在第\x20','上层叙事者明确要求需要修改时','无法找到可锚定的消息或保存失败,删除操作可能不会被持久化!','未知操作','导入的预设已强制写入最新消息并立即保存。','constructor','从预设模板生成默认表格...','UI操作\x20\x22','插入了新列。','aiFlowTemplate','number','name','用户取消了导入操作。','\x20已在边界。','\x20行。','rule_add',']\x20的顺序已调整。','表格名称不能为空。','\x0a---\x0a','success','成功将表格\x20','插入行失败:找不到索引为\x20','2628198RYUOWU','AI\x20指令更新了表格\x20[','join','【说明】:\x0a','batch_filler_rule_template','rowIndex,','预设中缺少必要的指令模板字段。','removeChild','此表大于一行时应删除多余行','application/json',',\x20data=','\x20条表格操作指令...','执行AI指令:\x20deleteRow(tableIndex=','add','\x20中操作。','\x20的列。','角色栏','map','【增加】:\x20','substring','47673vYTMQE','body','fill',')\x20的第\x20','),已智能转换为在表格\x20[','1777370DJmXwL','纯净预设','3335945FyjAqi','\x20的第\x20','chat','执行AI指令时出错:\x20','split','message','无法找到可锚定的消息或保存失败,顺序调整可能不会被持久化!','createElement','version','无法找到可锚定的消息或保存失败,新表格可能不会被持久化!','填表完成','error','Amily2-','left','执行者','文件格式无效或缺少版本号/表格数据。','getPrototypeOf','其他重要信息',']\x20已被成功废黜。','在第\x20','与<user>关系','toString'];_0x92c5=function(){return _0x4b854f;};return _0x92c5();}export function setMemoryState(_0xd04093){currentTablesState=_0xd04093;}export function getMemoryState(){return currentTablesState;}const defaultTemplate={'tables':[{'name':_0x351893(0x159),'headers':['日期','时段','时间','地点',_0x351893(0x1a1)],'note':'记录时空信息的表格,应保持在一行/日期信息应精确到至几年几月几日(如果日期未知,应随便胡编一个日期)/时段规定凌晨0时至5时早晨5时至8时上午8时至11时中午11时至13时下午13时至16时傍晚16时至19时晚上19时至24时/时间信息应精确至几时几分(如果时间未知,应随便胡编一个时间)/地点应为当前叙述的地点,且约精确越好','rule_add':_0x351893(0x1b1),'rule_delete':_0x351893(0x124),'rule_update':_0x351893(0x1a3),'rows':[]},{'name':_0x351893(0x12c),'headers':[_0x351893(0x1ad),'外貌','身体','衣着','性格','身份','职业',_0x351893(0x14b),_0x351893(0x1c5),'爱好','住所',_0x351893(0x148)],'note':'角色的基础信息csv表格思考本轮有否有其中的角色他应作出什么反应/外貌指:五官、面容、肤色、发型等/身体指:体型、身材、肤色、罩杯等/衣着指:身上的穿戴、服装的式样等/身份指:出身、社会地位等/职业指职责、岗位等/与<user>关系指:角色与<user>的社会关系(如:父亲、母亲、姐姐、妻子等)/爱好指:拥有浓厚兴趣和喜爱的某种事物、人物、活动/住所指:经常居住地','rule_add':_0x351893(0x19f),'rule_delete':_0x351893(0x1b0),'rule_update':'当角色的外貌、身体、衣着出现持久性变化时(如:五官长开、伤痕、减肥、染发、更衣、衣物破损等)/当角色有新的身份、职业、爱好时/当角色和<user>的关系改变时/当角色更换住所时/当角色提到重要信息时','rows':[]},{'name':'任务栏','headers':['任务名','类型','详情','状态',_0x351893(0x145),'地点','结果',_0x351893(0x180),'结束时间'],'note':_0x351893(0x164),'rule_add':'当特定时间约定一起去做某件重要、关键的事时/某角色收到做某件重要、关键事情的命令或任务时/某角色确定执行某件重要、关键的事时','rule_delete':'冻结留存/禁止删除','rule_update':'当大家赴约时/任务或命令有进展、完成、失败时/任务、命令、约定被取消时','rows':[]},{'name':_0x351893(0x1c7),'headers':[_0x351893(0x186),'类型','详情','状态',_0x351893(0x1c6),'重要原因'],'note':_0x351893(0x1c3),'rule_add':_0x351893(0x17e),'rule_delete':_0x351893(0x15d),'rule_update':'物品发生变化时/消耗品产生损耗时','rows':[]},{'name':'公告栏','headers':['类型',_0x351893(0x182)],'note':'上层叙事者留下的各种提示、要求、命令/禁止私自增、删、改','rule_add':_0x351893(0x1c9),'rule_delete':_0x351893(0x18a),'rule_update':_0x351893(0x1cc),'rows':[]}]};function getDefaultTables(){const _0x131367=_0x351893;return log(_0x131367(0x1d1),'info'),JSON['parse'](JSON[_0x131367(0x17c)](defaultTemplate[_0x131367(0x189)]));}export function loadTables(_0x3ed04a=-0x1){const _0x245c91=_0x351893,_0x337ebb=getContext();if(!_0x337ebb||!_0x337ebb[_0x245c91(0x139)]||_0x337ebb[_0x245c91(0x139)][_0x245c91(0x187)]===0x0)return currentTablesState=getDefaultTables(),currentTablesState;const _0x28d8ca=_0x3ed04a===-0x1?_0x337ebb[_0x245c91(0x139)][_0x245c91(0x187)]-0x1:_0x3ed04a-0x1;if(_0x28d8ca<0x0)return currentTablesState=getDefaultTables(),currentTablesState;for(let _0x5e0792=_0x28d8ca;_0x5e0792>=0x0;_0x5e0792--){const _0x13c716=_0x337ebb[_0x245c91(0x139)][_0x5e0792];if(_0x13c716[_0x245c91(0x18d)]&&_0x13c716['extra'][TABLE_DATA_KEY]){log(_0x245c91(0x14a)+_0x5e0792+'\x20条消息中找到基准表格数据。',_0x245c91(0x151));let _0x477822=JSON[_0x245c91(0x194)](JSON[_0x245c91(0x17c)](_0x13c716[_0x245c91(0x18d)][TABLE_DATA_KEY]));return _0x477822[_0x245c91(0x167)](_0x4cbf1e=>{const _0x5a7222=_0x245c91;if(_0x4cbf1e['note']===undefined)_0x4cbf1e[_0x5a7222(0x14f)]='无';if(_0x4cbf1e[_0x5a7222(0x1da)]===undefined)_0x4cbf1e[_0x5a7222(0x1da)]='允许';if(_0x4cbf1e['rule_delete']===undefined)_0x4cbf1e[_0x5a7222(0x1be)]='允许';if(_0x4cbf1e['rule_update']===undefined)_0x4cbf1e[_0x5a7222(0x16a)]='允许';}),currentTablesState=_0x477822,currentTablesState;}}return log(_0x245c91(0x1b6),'info'),currentTablesState=getDefaultTables(),currentTablesState;}export function saveStateToMessage(_0x5aa6e0,_0x26f63b){const _0x132b04=_0x351893;if(!_0x5aa6e0||!_0x26f63b)return log(_0x132b04(0x161),_0x132b04(0x142)),![];return!_0x26f63b[_0x132b04(0x18d)]&&(_0x26f63b[_0x132b04(0x18d)]={}),_0x26f63b['extra'][TABLE_DATA_KEY]=JSON[_0x132b04(0x194)](JSON[_0x132b04(0x17c)](_0x5aa6e0)),log(_0x132b04(0x15e)+_0x26f63b['mes'][_0x132b04(0x12f)](0x0,0x14)+'...]','info'),!![];}export function saveTables(_0x338a43=_0x351893(0x1ce)){const _0x1ecc47=_0x351893;return log(_0x1ecc47(0x1d2)+_0x338a43+_0x1ecc47(0x168),_0x1ecc47(0x151)),!![];}export function deleteColumn(_0xe8f5d,_0x4d9db6){const _0x13e9ba=_0x351893,_0x38c9b2=getMemoryState();if(!_0x38c9b2[_0xe8f5d]||_0x4d9db6<0x0||_0x4d9db6>=_0x38c9b2[_0xe8f5d]['headers']['length']){log(_0x13e9ba(0x188)+_0xe8f5d+_0x13e9ba(0x1bd)+_0x4d9db6+_0x13e9ba(0x12b),_0x13e9ba(0x142));return;}_0x38c9b2[_0xe8f5d]['headers'][_0x13e9ba(0x17a)](_0x4d9db6,0x1),_0x38c9b2[_0xe8f5d][_0x13e9ba(0x15a)][_0x13e9ba(0x167)](_0x3c60a5=>{const _0xff9a03=_0x13e9ba;_0x3c60a5[_0xff9a03(0x187)]>_0x4d9db6&&_0x3c60a5[_0xff9a03(0x17a)](_0x4d9db6,0x1);}),log(_0x13e9ba(0x183)+_0xe8f5d+_0x13e9ba(0x138)+(_0x4d9db6+0x1)+_0x13e9ba(0x14d),'success'),saveTables(_0x38c9b2);}export function moveRow(_0x56085e,_0x5bd835,_0x49372a){const _0x285346=_0x351893,_0xcbf358=getMemoryState(),_0x8dd0cf=_0xcbf358[_0x56085e];if(!_0x8dd0cf||_0x5bd835<0x0||_0x5bd835>=_0x8dd0cf['rows']['length'])return;const _0x118c85=_0x49372a==='up'?_0x5bd835-0x1:_0x5bd835+0x1;if(_0x118c85<0x0||_0x118c85>=_0x8dd0cf['rows'][_0x285346(0x187)])return;const [_0x445625]=_0x8dd0cf[_0x285346(0x15a)][_0x285346(0x17a)](_0x5bd835,0x1);_0x8dd0cf[_0x285346(0x15a)][_0x285346(0x17a)](_0x118c85,0x0,_0x445625),log(_0x285346(0x1df)+_0x56085e+_0x285346(0x138)+(_0x5bd835+0x1)+'\x20行移动到第\x20'+(_0x118c85+0x1)+_0x285346(0x1d9),_0x285346(0x1de)),saveTables(_0xcbf358);}export function insertRow(_0x5d5f12,_0x16b7b6,_0x5d490f='below'){const _0x54c9a5=_0x351893,_0x1a8ff3=getMemoryState(),_0x5a1e54=_0x1a8ff3[_0x5d5f12];if(!_0x5a1e54){log(_0x54c9a5(0x1e0)+_0x5d5f12+_0x54c9a5(0x165),_0x54c9a5(0x142));return;}const _0x3a542c=new Array(_0x5a1e54[_0x54c9a5(0x15c)][_0x54c9a5(0x187)])[_0x54c9a5(0x132)]('');if(typeof _0x16b7b6==='object'&&_0x16b7b6!==null)for(const _0x11f1b9 in _0x16b7b6){const _0x52118=parseInt(_0x11f1b9,0xa);!isNaN(_0x52118)&&_0x52118<_0x3a542c['length']&&(_0x3a542c[_0x52118]=_0x16b7b6[_0x11f1b9],addHighlight(_0x5d5f12,_0x1b7905,_0x52118));}let _0x1b7905;typeof _0x16b7b6===_0x54c9a5(0x1d5)?_0x1b7905=_0x5d490f==='above'?_0x16b7b6:_0x16b7b6+0x1:_0x1b7905=_0x5a1e54['rows'][_0x54c9a5(0x187)];if(_0x1b7905<0x0)_0x1b7905=0x0;if(_0x1b7905>_0x5a1e54['rows'][_0x54c9a5(0x187)])_0x1b7905=_0x5a1e54[_0x54c9a5(0x15a)][_0x54c9a5(0x187)];_0x5a1e54[_0x54c9a5(0x15a)][_0x54c9a5(0x17a)](_0x1b7905,0x0,_0x3a542c),log(_0x54c9a5(0x1a6)+_0x5a1e54[_0x54c9a5(0x1d6)]+_0x54c9a5(0x198)+_0x5d5f12+_0x54c9a5(0x133)+(_0x1b7905+0x1)+_0x54c9a5(0x176),_0x54c9a5(0x1de));const _0xdebee=getContext();if(_0xdebee[_0x54c9a5(0x139)]&&_0xdebee[_0x54c9a5(0x139)][_0x54c9a5(0x187)]>0x0){const _0x5439ce=_0xdebee[_0x54c9a5(0x139)][_0xdebee[_0x54c9a5(0x139)][_0x54c9a5(0x187)]-0x1];if(saveStateToMessage(_0x1a8ff3,_0x5439ce)){saveChat();return;}}saveChatDebounced();}export function addRow(_0x50bad7){const _0x2e7878=_0x351893;if(!currentTablesState||!currentTablesState[_0x50bad7])return;const _0x3276e6=currentTablesState[_0x50bad7],_0x1a4dd6=_0x3276e6[_0x2e7878(0x15c)][_0x2e7878(0x187)],_0xd3d18f=Array(_0x1a4dd6)[_0x2e7878(0x132)]('');_0x3276e6[_0x2e7878(0x15a)][_0x2e7878(0x175)](_0xd3d18f);const _0x2705fc=_0x2e7878(0x1af)+_0x3276e6[_0x2e7878(0x1d6)]+_0x2e7878(0x1ca);log(_0x2705fc,_0x2e7878(0x151));const _0x26d7ba=getContext();if(_0x26d7ba[_0x2e7878(0x139)]&&_0x26d7ba[_0x2e7878(0x139)]['length']>0x0){const _0x1009e5=_0x26d7ba[_0x2e7878(0x139)][_0x26d7ba[_0x2e7878(0x139)][_0x2e7878(0x187)]-0x1];if(saveStateToMessage(currentTablesState,_0x1009e5)){saveChat();return;}}saveChatDebounced();}export function addColumn(_0x2cee90){const _0xcd0ebc=_0x351893;if(!currentTablesState||!currentTablesState[_0x2cee90])return;const _0x34e987=currentTablesState[_0x2cee90],_0x138907='新列\x20'+(_0x34e987[_0xcd0ebc(0x15c)][_0xcd0ebc(0x187)]+0x1);_0x34e987['headers'][_0xcd0ebc(0x175)](_0x138907),_0x34e987[_0xcd0ebc(0x15a)]['forEach'](_0x509c89=>_0x509c89[_0xcd0ebc(0x175)](''));const _0x515288=_0xcd0ebc(0x1af)+_0x34e987[_0xcd0ebc(0x1d6)]+']\x20新增了一列。';log(_0x515288,_0xcd0ebc(0x151));const _0x297b89=getContext();if(_0x297b89[_0xcd0ebc(0x139)]&&_0x297b89[_0xcd0ebc(0x139)][_0xcd0ebc(0x187)]>0x0){const _0x1b4f42=_0x297b89['chat'][_0x297b89[_0xcd0ebc(0x139)][_0xcd0ebc(0x187)]-0x1];if(saveStateToMessage(currentTablesState,_0x1b4f42)){saveChat();return;}}saveChatDebounced();}export function updateHeader(_0x1725d1,_0x33d898,_0x336477){const _0x115a0c=_0x351893;if(!currentTablesState||!currentTablesState[_0x1725d1]||currentTablesState[_0x1725d1][_0x115a0c(0x15c)][_0x33d898]===undefined)return;const _0x5cef9b=currentTablesState[_0x1725d1][_0x115a0c(0x1d6)],_0x4bb12b=currentTablesState[_0x1725d1][_0x115a0c(0x15c)][_0x33d898];currentTablesState[_0x1725d1]['headers'][_0x33d898]=_0x336477;const _0x70068c=_0x115a0c(0x1af)+_0x5cef9b+_0x115a0c(0x1bc)+_0x4bb12b+_0x115a0c(0x199)+_0x336477+'”。';log(_0x70068c,_0x115a0c(0x151));const _0x3bb3dc=getContext();if(_0x3bb3dc['chat']&&_0x3bb3dc[_0x115a0c(0x139)]['length']>0x0){const _0x28b77e=_0x3bb3dc[_0x115a0c(0x139)][_0x3bb3dc[_0x115a0c(0x139)]['length']-0x1];if(saveStateToMessage(currentTablesState,_0x28b77e)){saveChat();return;}}saveChatDebounced();}export async function deleteRow(_0x30103d,_0xbf9002){const _0xa6516f=_0x351893;if(!currentTablesState||!currentTablesState[_0x30103d]||!currentTablesState[_0x30103d]['rows'][_0xbf9002])return;const _0x17cf5d=currentTablesState[_0x30103d][_0xa6516f(0x1d6)];currentTablesState[_0x30103d]['rows']['splice'](_0xbf9002,0x1);const _0x414443=_0xa6516f(0x1af)+_0x17cf5d+_0xa6516f(0x1a2)+(_0xbf9002+0x1)+_0xa6516f(0x16f);log(_0x414443,'info');const _0x7a0c4b=getContext();if(_0x7a0c4b['chat']&&_0x7a0c4b[_0xa6516f(0x139)][_0xa6516f(0x187)]>0x0){const _0x56fe84=_0x7a0c4b[_0xa6516f(0x139)][_0x7a0c4b[_0xa6516f(0x139)][_0xa6516f(0x187)]-0x1];if(saveStateToMessage(currentTablesState,_0x56fe84)){await saveChat();return;}}await saveChatDebounced();}export function insertColumn(_0x14b316,_0x14b3f2,_0x2705f0){const _0x1dfb92=_0x351893;if(!currentTablesState||!currentTablesState[_0x14b316])return;const _0x2d55c2=currentTablesState[_0x14b316],_0x29914a=_0x2705f0===_0x1dfb92(0x144)?_0x14b3f2:_0x14b3f2+0x1,_0x5885e2='新列';_0x2d55c2['headers']['splice'](_0x29914a,0x0,_0x5885e2),_0x2d55c2[_0x1dfb92(0x15a)][_0x1dfb92(0x167)](_0x50c689=>_0x50c689[_0x1dfb92(0x17a)](_0x29914a,0x0,''));const _0x3d4825=_0x1dfb92(0x1af)+_0x2d55c2['name']+_0x1dfb92(0x1cb)+(_0x14b3f2+0x1)+_0x1dfb92(0x1b4)+(_0x2705f0==='left'?'左侧':'右侧')+_0x1dfb92(0x1d3);log(_0x3d4825,_0x1dfb92(0x151));const _0x53afa1=getContext();if(_0x53afa1[_0x1dfb92(0x139)]&&_0x53afa1[_0x1dfb92(0x139)][_0x1dfb92(0x187)]>0x0){const _0x2eaf51=_0x53afa1[_0x1dfb92(0x139)][_0x53afa1[_0x1dfb92(0x139)]['length']-0x1];if(saveStateToMessage(currentTablesState,_0x2eaf51)){saveChat();return;}}saveChatDebounced();}export function moveColumn(_0x36bc9a,_0x5f5a8d,_0x571599){const _0x1b75e9=_0x351893;if(!currentTablesState||!currentTablesState[_0x36bc9a])return;const _0x6b55c7=currentTablesState[_0x36bc9a],_0x444edc=_0x6b55c7[_0x1b75e9(0x15c)],_0x17bfc5=_0x6b55c7[_0x1b75e9(0x15a)],_0x45e173=_0x571599===_0x1b75e9(0x144)?_0x5f5a8d-0x1:_0x5f5a8d+0x1;if(_0x45e173<0x0||_0x45e173>=_0x444edc[_0x1b75e9(0x187)]){log('无法移动列:索引\x20'+_0x5f5a8d+_0x1b75e9(0x1d8),'warn');return;}const [_0x571416]=_0x444edc[_0x1b75e9(0x17a)](_0x5f5a8d,0x1);_0x444edc[_0x1b75e9(0x17a)](_0x45e173,0x0,_0x571416),_0x17bfc5['forEach'](_0x1aae37=>{const _0xe38d6e=_0x1b75e9,[_0x5097b1]=_0x1aae37[_0xe38d6e(0x17a)](_0x5f5a8d,0x1);_0x1aae37[_0xe38d6e(0x17a)](_0x45e173,0x0,_0x5097b1);});const _0x4f1e7a=_0x1b75e9(0x1af)+_0x6b55c7[_0x1b75e9(0x1d6)]+_0x1b75e9(0x184)+_0x571416+'”已向'+(_0x571599===_0x1b75e9(0x144)?'左':'右')+_0x1b75e9(0x1c4);log(_0x4f1e7a,_0x1b75e9(0x151));const _0x44e071=getContext();if(_0x44e071[_0x1b75e9(0x139)]&&_0x44e071['chat'][_0x1b75e9(0x187)]>0x0){const _0x34d4b5=_0x44e071[_0x1b75e9(0x139)][_0x44e071[_0x1b75e9(0x139)][_0x1b75e9(0x187)]-0x1];if(saveStateToMessage(currentTablesState,_0x34d4b5)){saveChat();return;}}saveChatDebounced();}export function deleteTable(_0x437c39){const _0x15ade4=_0x351893;if(!currentTablesState||!currentTablesState[_0x437c39])return;const _0x345de2=currentTablesState[_0x437c39]['name'];currentTablesState[_0x15ade4(0x17a)](_0x437c39,0x1);const _0x1f2397='表格\x20['+_0x345de2+_0x15ade4(0x149);log(_0x1f2397,_0x15ade4(0x1de));const _0x52cb64=getContext();if(_0x52cb64['chat']&&_0x52cb64[_0x15ade4(0x139)][_0x15ade4(0x187)]>0x0){const _0x1078e1=_0x52cb64[_0x15ade4(0x139)][_0x52cb64['chat'][_0x15ade4(0x187)]-0x1];if(saveStateToMessage(currentTablesState,_0x1078e1)){saveChat(),log('废黜表格后的状态已强制写入最新消息并立即保存。','success');return;}}log(_0x15ade4(0x1cd),_0x15ade4(0x142)),saveChatDebounced();}export function addTable(_0x378395){const _0x1dc32d=_0x351893;if(!_0x378395||!_0x378395[_0x1dc32d(0x177)]()){log(_0x1dc32d(0x162),_0x1dc32d(0x142)),toastr['error'](_0x1dc32d(0x1dc),_0x1dc32d(0x160));return;}!currentTablesState&&loadTables();if(currentTablesState['some'](_0x210513=>_0x210513[_0x1dc32d(0x1d6)]===_0x378395[_0x1dc32d(0x177)]())){log(_0x1dc32d(0x1a7)+_0x378395+_0x1dc32d(0x193),_0x1dc32d(0x142)),toastr['error'](_0x1dc32d(0x1b9)+_0x378395+_0x1dc32d(0x193),'创建失败');return;}const _0x178d95={'name':_0x378395['trim'](),'headers':['新列\x201'],'rows':[],'note':_0x1dc32d(0x169),'rule_add':'允许','rule_delete':'允许','rule_update':'允许'};currentTablesState[_0x1dc32d(0x175)](_0x178d95);const _0x37efb3='已成功创建新表格:['+_0x378395[_0x1dc32d(0x177)]()+']。';log(_0x37efb3,_0x1dc32d(0x1de));const _0x9a7003=getContext();if(_0x9a7003[_0x1dc32d(0x139)]&&_0x9a7003[_0x1dc32d(0x139)][_0x1dc32d(0x187)]>0x0){const _0x29ca44=_0x9a7003[_0x1dc32d(0x139)][_0x9a7003[_0x1dc32d(0x139)][_0x1dc32d(0x187)]-0x1];if(saveStateToMessage(currentTablesState,_0x29ca44)){saveChat(),log(_0x1dc32d(0x155),'success');return;}}log(_0x1dc32d(0x140),_0x1dc32d(0x142)),saveChatDebounced();}export function moveTable(_0x79e2c3,_0x7a26aa){const _0x25ea72=_0x351893;if(!currentTablesState||!currentTablesState[_0x79e2c3])return;const _0x1cdda8=_0x7a26aa==='up'?_0x79e2c3-0x1:_0x79e2c3+0x1;if(_0x1cdda8<0x0||_0x1cdda8>=currentTablesState[_0x25ea72(0x187)]){log('无法移动表格:索引\x20'+_0x79e2c3+_0x25ea72(0x1d8),'warn');return;}const _0x32890f=currentTablesState[_0x79e2c3];currentTablesState[_0x79e2c3]=currentTablesState[_0x1cdda8],currentTablesState[_0x1cdda8]=_0x32890f;const _0x17224e='表格\x20['+_0x32890f[_0x25ea72(0x1d6)]+_0x25ea72(0x1db);log(_0x17224e,_0x25ea72(0x1de));const _0x2f427d=getContext();if(_0x2f427d['chat']&&_0x2f427d[_0x25ea72(0x139)][_0x25ea72(0x187)]>0x0){const _0x561b7b=_0x2f427d[_0x25ea72(0x139)][_0x2f427d[_0x25ea72(0x139)][_0x25ea72(0x187)]-0x1];if(saveStateToMessage(currentTablesState,_0x561b7b)){saveChat(),log(_0x25ea72(0x174),_0x25ea72(0x1de));return;}}log(_0x25ea72(0x13d),_0x25ea72(0x142)),saveChatDebounced();}export function updateTableRules(_0x158393,_0x5c8d44){const _0x2bdf47=_0x351893;if(!currentTablesState||!currentTablesState[_0x158393])return;const _0x25b027=currentTablesState[_0x158393];_0x25b027[_0x2bdf47(0x14f)]=_0x5c8d44[_0x2bdf47(0x14f)],_0x25b027['rule_add']=_0x5c8d44[_0x2bdf47(0x1da)],_0x25b027[_0x2bdf47(0x1be)]=_0x5c8d44[_0x2bdf47(0x1be)],_0x25b027[_0x2bdf47(0x16a)]=_0x5c8d44[_0x2bdf47(0x16a)];const _0x5123a6=_0x2bdf47(0x1af)+_0x25b027[_0x2bdf47(0x1d6)]+']\x20的规则已更新。';log(_0x5123a6,_0x2bdf47(0x151));const _0x1e1d64=getContext();if(_0x1e1d64[_0x2bdf47(0x139)]&&_0x1e1d64[_0x2bdf47(0x139)][_0x2bdf47(0x187)]>0x0){const _0x44f0ab=_0x1e1d64[_0x2bdf47(0x139)][_0x1e1d64[_0x2bdf47(0x139)][_0x2bdf47(0x187)]-0x1];if(saveStateToMessage(currentTablesState,_0x44f0ab)){saveChat();return;}}saveChatDebounced();}export function updateRow(_0x515c16,_0x3b8e52,_0x2d83cf){const _0x3b2201=_0x351893;if(!currentTablesState||!currentTablesState[_0x515c16]){log(_0x3b2201(0x1a8)+_0x515c16+_0x3b2201(0x12a),_0x3b2201(0x142));return;}const _0x145208=currentTablesState[_0x515c16];if(_0x3b8e52>=_0x145208[_0x3b2201(0x15a)][_0x3b2201(0x187)]){log(_0x3b2201(0x192)+_0x3b8e52+_0x3b2201(0x134)+_0x145208['name']+']\x20末尾新增一行。',_0x3b2201(0x18b)),insertRow(_0x515c16,_0x2d83cf);return;}const _0x517e5d=_0x145208[_0x3b2201(0x15a)][_0x3b8e52];for(const _0xaf03d3 in _0x2d83cf){const _0x5d42a1=parseInt(_0xaf03d3,0xa);_0x5d42a1<_0x517e5d[_0x3b2201(0x187)]&&(_0x517e5d[_0x5d42a1]=_0x2d83cf[_0x5d42a1],addHighlight(_0x515c16,_0x3b8e52,_0x5d42a1));}const _0x11c1ec=_0x3b2201(0x1e2)+_0x145208['name']+_0x3b2201(0x1a2)+(_0x3b8e52+0x1)+_0x3b2201(0x1d9);log(_0x11c1ec,'info');const _0x5c4c60=getContext();if(_0x5c4c60[_0x3b2201(0x139)]&&_0x5c4c60[_0x3b2201(0x139)][_0x3b2201(0x187)]>0x0){const _0x73172c=_0x5c4c60[_0x3b2201(0x139)][_0x5c4c60[_0x3b2201(0x139)]['length']-0x1];if(saveStateToMessage(currentTablesState,_0x73172c)){saveChat();return;}}saveChatDebounced();}export function clearAllTables(){const _0x1b0b6b=_0x351893;if(!currentTablesState){log('无法清空:当前表格状态为空。',_0x1b0b6b(0x142));return;}currentTablesState[_0x1b0b6b(0x167)](_0x18af58=>{const _0x1d16bd=_0x1b0b6b;_0x18af58[_0x1d16bd(0x15a)]=[];}),log(_0x1b0b6b(0x1ba),_0x1b0b6b(0x18b));const _0xd0351=getContext();if(_0xd0351['chat']&&_0xd0351[_0x1b0b6b(0x139)][_0x1b0b6b(0x187)]>0x0){const _0x10526c=_0xd0351[_0x1b0b6b(0x139)][_0xd0351['chat'][_0x1b0b6b(0x187)]-0x1];if(saveStateToMessage(currentTablesState,_0x10526c)){saveChat(),log(_0x1b0b6b(0x18e),_0x1b0b6b(0x1de)),toastr[_0x1b0b6b(0x1de)]('所有表格的剧情内容已清空。',_0x1b0b6b(0x1b7));return;}}log('无法找到可锚定的消息或保存失败,清空操作可能不会被持久化!',_0x1b0b6b(0x142)),saveChatDebounced();}export function convertTablesToCsvString(){const _0x582a65=_0x351893;!currentTablesState&&loadTables();if(!currentTablesState)return'';let _0x4a33b5='';return currentTablesState[_0x582a65(0x167)]((_0x31f5d7,_0x4d27d9)=>{const _0x434084=_0x582a65;_0x4a33b5+=_0x434084(0x1a9)+_0x4d27d9+':'+_0x31f5d7[_0x434084(0x1d6)]+'\x0a',_0x4a33b5+=_0x434084(0x11f)+(_0x31f5d7[_0x434084(0x14f)]||'无')+'\x0a';const _0xbe1917=_0x31f5d7[_0x434084(0x1d6)][_0x434084(0x15b)](/\s/g,'')+'内容';_0x4a33b5+='<'+_0xbe1917+'>\x0a';const _0x3bbe6f=_0x31f5d7[_0x434084(0x15c)][_0x434084(0x12d)]((_0x58c494,_0x133913)=>_0x133913+':'+_0x58c494)[_0x434084(0x11e)](',');_0x4a33b5+=_0x434084(0x121)+_0x3bbe6f+'\x0a',_0x31f5d7[_0x434084(0x15a)][_0x434084(0x167)]((_0x29f02b,_0x39db65)=>{const _0x26e3c6=_0x434084;if(Array['isArray'](_0x29f02b)){const _0x26ef26=_0x29f02b[_0x26e3c6(0x12d)](_0x889774=>{const _0x5c1c7f=_0x26e3c6;return _0x889774===null||_0x889774===undefined||_0x889774===''?'未知':_0x889774[_0x5c1c7f(0x14c)]();})[_0x26e3c6(0x11e)](',');_0x4a33b5+=_0x39db65+','+_0x26ef26+'\x0a';}}),_0x4a33b5+='</'+_0xbe1917+'>\x0a',_0x4a33b5+=_0x434084(0x12e)+(_0x31f5d7['rule_add']||'允许')+'\x0a',_0x4a33b5+='【删除】:\x20'+(_0x31f5d7[_0x434084(0x1be)]||'允许')+'\x0a',_0x4a33b5+='【修改】:\x20'+(_0x31f5d7[_0x434084(0x16a)]||'允许')+'\x0a',_0x4d27d9<currentTablesState[_0x434084(0x187)]-0x1&&(_0x4a33b5+=_0x434084(0x1dd));}),_0x4a33b5;}export function convertTablesToCsvStringForContentOnly(){const _0x5dfc07=getMemoryState();if(!_0x5dfc07||_0x5dfc07['length']===0x0)return'';let _0x59dd23='';return _0x5dfc07['forEach'](_0x2bfb68=>{const _0x42d9cd=_0x2020;_0x59dd23+='\x0a<'+_0x2bfb68[_0x42d9cd(0x1d6)]+'>\x0a';const _0x142ba7=_0x2bfb68[_0x42d9cd(0x15c)][_0x42d9cd(0x12d)]((_0x564ccc,_0x26800f)=>String[_0x42d9cd(0x191)](0x41+_0x26800f)+':'+_0x564ccc)['join'](',');_0x59dd23+=_0x142ba7+'\x0a',Array[_0x42d9cd(0x197)](_0x2bfb68[_0x42d9cd(0x15a)])&&_0x2bfb68[_0x42d9cd(0x15a)][_0x42d9cd(0x167)]((_0x29ee59,_0x33db39)=>{const _0x2d71e1=_0x42d9cd;if(Array[_0x2d71e1(0x197)](_0x29ee59)){const _0x17575a=_0x29ee59[_0x2d71e1(0x11e)](',');_0x59dd23+=_0x33db39+0x1+':'+_0x17575a+'\x0a';}}),_0x59dd23+='</'+_0x2bfb68[_0x42d9cd(0x1d6)]+'>\x0a';}),_0x59dd23['trim']();}loadTables();export function getBatchFillerRuleTemplate(){return extension_settings[extensionName]?.['batch_filler_rule_template']??DEFAULT_AI_RULE_TEMPLATE;}export function saveBatchFillerRuleTemplate(_0x1ae65a){const _0x5e1b02=_0x351893;extension_settings[extensionName][_0x5e1b02(0x120)]=_0x1ae65a,saveSettingsDebounced();}export function getBatchFillerFlowTemplate(){const _0x35bbe6=_0x351893;return extension_settings[extensionName]?.[_0x35bbe6(0x1c0)]??DEFAULT_AI_FLOW_TEMPLATE;}export function saveBatchFillerFlowTemplate(_0x357517){const _0x25a35c=_0x351893;extension_settings[extensionName][_0x25a35c(0x1c0)]=_0x357517,saveSettingsDebounced();}export function getAiFlowTemplateForInjection(){const _0x48a6c8=_0x351893;return extension_settings[extensionName]?.[_0x48a6c8(0x172)]??DEFAULT_AI_FLOW_TEMPLATE;}export async function updateTableFromText(_0x4142b4){const _0x170402=_0x351893;if(!_0x4142b4){log(_0x170402(0x1c1),_0x170402(0x18b));return;}const _0x84fb96=_0x4142b4['match'](/<Amily2Edit>([\s\S]*?)<\/Amily2Edit>/);if(!_0x84fb96||!_0x84fb96[0x1]){log(_0x170402(0x156),'warn');return;}let _0x394792=_0x84fb96[0x1][_0x170402(0x15b)](/<!--|-->/g,'')['trim']();if(!_0x394792){log(_0x170402(0x190),_0x170402(0x151));return;}const _0x1a7f6f=_0x394792[_0x170402(0x13b)]('\x0a')[_0x170402(0x1aa)](_0xa9b419=>_0xa9b419[_0x170402(0x177)]()!=='');log(_0x170402(0x19a)+_0x1a7f6f['length']+_0x170402(0x127),'info');const _0x4b67b4={'insertRow':(_0x21571c,_0x5e515d)=>{const _0xaffc9f=_0x170402;log('执行AI指令:\x20insertRow(tableIndex='+_0x21571c+_0xaffc9f(0x126)+JSON[_0xaffc9f(0x17c)](_0x5e515d)+')',_0xaffc9f(0x151)),insertRow(_0x21571c,_0x5e515d);},'deleteRow':(_0x414d85,_0xff4ab7)=>{const _0x348009=_0x170402;log(_0x348009(0x128)+_0x414d85+_0x348009(0x163)+_0xff4ab7+')',_0x348009(0x151)),deleteRow(_0x414d85,_0xff4ab7);},'updateRow':(_0x22bd92,_0x21f608,_0x57f6dd)=>{const _0x59021d=_0x170402;log(_0x59021d(0x150)+_0x22bd92+_0x59021d(0x163)+_0x21f608+_0x59021d(0x126)+JSON[_0x59021d(0x17c)](_0x57f6dd)+')',_0x59021d(0x151)),updateRow(_0x22bd92,_0x21f608,_0x57f6dd);}};try{const _0x5d7a24=Object[_0x170402(0x147)](async function(){})[_0x170402(0x1d0)],_0x1ad58b=new _0x5d7a24('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'+_0x394792+_0x170402(0x16b));await _0x1ad58b(_0x4b67b4),log('所有AI指令已成功执行完毕。',_0x170402(0x1de)),toastr['success'](_0x170402(0x171),_0x170402(0x141)),document[_0x170402(0x178)](new CustomEvent('amily2-force-ui-reload'));}catch(_0x3bb8bd){log(_0x170402(0x195)+_0x3bb8bd[_0x170402(0x13c)],'error'),toastr[_0x170402(0x142)](_0x170402(0x13a)+_0x3bb8bd[_0x170402(0x13c)],_0x170402(0x1ac));}}export function saveAiTemplate(_0x4630a5){extension_settings[extensionName]['amily2_ai_template']=_0x4630a5,saveSettingsDebounced();}export function getAiTemplate(){return getAiFlowTemplateForInjection();}function exportPresetBase(_0x50968a=![]){const _0x42a6bb=_0x351893;if(!currentTablesState){log(_0x42a6bb(0x1b2),'error'),toastr[_0x42a6bb(0x142)](_0x42a6bb(0x196));return;}let _0x23f1f5,_0x2e269c,_0x396a99;_0x50968a?(_0x23f1f5=JSON['parse'](JSON[_0x42a6bb(0x17c)](currentTablesState)),_0x2e269c='Amily2-Table-Preset-v2.0-full',_0x396a99=_0x42a6bb(0x158)):(_0x23f1f5=currentTablesState[_0x42a6bb(0x12d)](_0x52893e=>({'name':_0x52893e[_0x42a6bb(0x1d6)],'headers':_0x52893e[_0x42a6bb(0x15c)],'note':_0x52893e[_0x42a6bb(0x14f)],'rule_add':_0x52893e[_0x42a6bb(0x1da)],'rule_delete':_0x52893e['rule_delete'],'rule_update':_0x52893e[_0x42a6bb(0x16a)],'rows':[]})),_0x2e269c=_0x42a6bb(0x185),_0x396a99=_0x42a6bb(0x136));const _0x18f44e={'version':_0x42a6bb(0x19d),'batchFillerRuleTemplate':getBatchFillerRuleTemplate(),'batchFillerFlowTemplate':getBatchFillerFlowTemplate(),'injectionFlowTemplate':getAiFlowTemplateForInjection(),'tables':_0x23f1f5},_0x46bfe6=new Blob([JSON[_0x42a6bb(0x17c)](_0x18f44e,null,0x2)],{'type':_0x42a6bb(0x125)}),_0x36e207=URL['createObjectURL'](_0x46bfe6),_0x142a52=document[_0x42a6bb(0x13e)]('a');_0x142a52[_0x42a6bb(0x170)]=_0x36e207,_0x142a52[_0x42a6bb(0x17f)]=_0x42a6bb(0x143)+_0x396a99+'-'+new Date()[_0x42a6bb(0x157)]()[_0x42a6bb(0x18f)](0x0,0xa)+'.json',document[_0x42a6bb(0x131)]['appendChild'](_0x142a52),_0x142a52[_0x42a6bb(0x1a0)](),document[_0x42a6bb(0x131)][_0x42a6bb(0x123)](_0x142a52),URL[_0x42a6bb(0x16e)](_0x36e207),log('【'+_0x396a99+_0x42a6bb(0x153),_0x42a6bb(0x1de)),toastr['success']('【'+_0x396a99+_0x42a6bb(0x179),_0x42a6bb(0x15f));}export function exportPreset(){exportPresetBase(![]);}export function exportPresetFull(){exportPresetBase(!![]);}export function importPreset(_0x101076){const _0x41b223=_0x351893,_0x3ecf48=document[_0x41b223(0x13e)](_0x41b223(0x18c));_0x3ecf48['type']=_0x41b223(0x181),_0x3ecf48[_0x41b223(0x1ab)]='.json',_0x3ecf48['onchange']=_0x38d24f=>{const _0x2a1a2c=_0x41b223,_0x26ddfc=_0x38d24f[_0x2a1a2c(0x154)][_0x2a1a2c(0x166)][0x0];if(!_0x26ddfc)return;const _0x273d66=new FileReader();_0x273d66[_0x2a1a2c(0x16c)]=_0x9b0e88=>{const _0x4b0445=_0x2a1a2c;try{const _0x485abb=JSON[_0x4b0445(0x194)](_0x9b0e88[_0x4b0445(0x154)][_0x4b0445(0x1b8)]);if(!_0x485abb[_0x4b0445(0x13f)]||!Array[_0x4b0445(0x197)](_0x485abb['tables']))throw new Error(_0x4b0445(0x146));const _0x1e1cd3=window[_0x4b0445(0x1a5)](_0x4b0445(0x1c2));if(!_0x1e1cd3){log(_0x4b0445(0x1d7),'info'),toastr['info'](_0x4b0445(0x16d));return;}if(_0x485abb['version']===_0x4b0445(0x19d))saveBatchFillerRuleTemplate(_0x485abb['batchFillerRuleTemplate']),saveBatchFillerFlowTemplate(_0x485abb[_0x4b0445(0x19e)]),saveAiTemplate(_0x485abb[_0x4b0445(0x173)]);else{if(_0x485abb['aiRuleTemplate']!==undefined&&_0x485abb[_0x4b0445(0x1d4)]!==undefined)saveBatchFillerRuleTemplate(_0x485abb[_0x4b0445(0x19b)]),saveBatchFillerFlowTemplate(_0x485abb[_0x4b0445(0x1d4)]),saveAiTemplate(_0x485abb[_0x4b0445(0x1d4)]);else{if(_0x485abb['aiTemplate'])saveBatchFillerRuleTemplate(''),saveBatchFillerFlowTemplate(_0x485abb['aiTemplate']),saveAiTemplate(_0x485abb[_0x4b0445(0x1ae)]);else throw new Error(_0x4b0445(0x122));}}const _0x49248a=_0x485abb[_0x4b0445(0x189)];_0x49248a['forEach'](_0x31fba2=>{const _0x58f679=_0x4b0445;if(_0x31fba2[_0x58f679(0x1d6)]===undefined||_0x31fba2[_0x58f679(0x15c)]===undefined||_0x31fba2['rows']===undefined)throw new Error(_0x58f679(0x1bb)+JSON[_0x58f679(0x17c)](_0x31fba2));if(_0x31fba2[_0x58f679(0x14f)]===undefined)_0x31fba2[_0x58f679(0x14f)]='无';if(_0x31fba2[_0x58f679(0x1da)]===undefined)_0x31fba2[_0x58f679(0x1da)]='允许';if(_0x31fba2[_0x58f679(0x1be)]===undefined)_0x31fba2['rule_delete']='允许';if(_0x31fba2[_0x58f679(0x16a)]===undefined)_0x31fba2[_0x58f679(0x16a)]='允许';}),setMemoryState(_0x49248a);const _0x17001b=getContext();if(_0x17001b['chat']&&_0x17001b['chat']['length']>0x0){const _0x2b767a=_0x17001b[_0x4b0445(0x139)][_0x17001b[_0x4b0445(0x139)][_0x4b0445(0x187)]-0x1];saveStateToMessage(getMemoryState(),_0x2b767a)&&(saveChat(),log(_0x4b0445(0x1cf),_0x4b0445(0x1de)));}else saveChatDebounced();log(_0x4b0445(0x17d),'success'),toastr[_0x4b0445(0x1de)]('预设已成功导入!','导入成功'),typeof _0x101076==='function'&&_0x101076();}catch(_0xe1ecfc){log(_0x4b0445(0x17b)+_0xe1ecfc[_0x4b0445(0x13c)],_0x4b0445(0x142)),toastr[_0x4b0445(0x142)]('导入失败:'+_0xe1ecfc[_0x4b0445(0x13c)],'错误');}},_0x273d66[_0x2a1a2c(0x152)](_0x26ddfc);},_0x3ecf48[_0x41b223(0x1a0)]();}