@alenfitz/spec-copilot 3.3.0 → 3.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @alenfitz/spec-copilot v3.3.0
2
+ * @alenfitz/spec-copilot v3.3.1
3
3
  * Copyright (c) 2026 alenfitz. All rights reserved.
4
4
  *
5
5
  * This file is proprietary and obfuscated. Reverse engineering, decompilation,
@@ -8,4 +8,4 @@
8
8
  *
9
9
  * Bugs / feature requests: https://github.com/Alenfitz/spec_copilot/issues
10
10
  */
11
- const _0xd0ed6=_0x3afc,_0x2a238d=_0x3afc;(function(_0x1827bc,_0x6eea69){const _0x30f452={_0x49cf61:0x16d,_0x179ad6:0x17a,_0x327fd4:0x1dc,_0x4f8f81:0x224,_0x537585:0x189,_0x5dde73:0x147},_0x28cfca=_0x3afc,_0x1a14f7=_0x3afc,_0x531f39=_0x1827bc();while(!![]){try{const _0x4d5449=parseInt(_0x28cfca(0x209))/(0x12d5*0x1+-0x1*-0x49d+-0x1771)*(-parseInt(_0x28cfca(_0x30f452._0x49cf61))/(-0x2*0x611+-0x5fb+-0x1*-0x121f))+-parseInt(_0x1a14f7(0x21d))/(-0x4a*-0x32+-0x587*0x1+0x1*-0x8ea)*(-parseInt(_0x1a14f7(0x120))/(-0x14aa+0x19*-0x155+0x35fb))+parseInt(_0x1a14f7(0x1e0))/(0x4ff*-0x4+-0xb1d+0x1f1e)*(-parseInt(_0x1a14f7(_0x30f452._0x179ad6))/(0x203+-0x8cf*-0x3+-0x1c6a))+parseInt(_0x28cfca(0x1b8))/(0x76f+-0x1*-0xb67+0x3c3*-0x5)*(-parseInt(_0x28cfca(0x1c0))/(0x2*-0xda5+-0x1f91+-0x3ed*-0xf))+parseInt(_0x1a14f7(_0x30f452._0x327fd4))/(0x616+0x92*0x21+-0x18df*0x1)+parseInt(_0x1a14f7(_0x30f452._0x4f8f81))/(-0xfce+-0xc42+0x1c1a)*(parseInt(_0x1a14f7(_0x30f452._0x537585))/(0x8f3*-0x1+0x26dd+0x1*-0x1ddf))+-parseInt(_0x28cfca(0x1ab))/(0x1b3+0x11*-0x23+0xac)*(parseInt(_0x28cfca(_0x30f452._0x5dde73))/(0x2313+0x3c3*-0x1+0x97*-0x35));if(_0x4d5449===_0x6eea69)break;else _0x531f39['push'](_0x531f39['shift']());}catch(_0x380add){_0x531f39['push'](_0x531f39['shift']());}}}(_0xb3b7,-0xf945*-0xf+0x5347*-0x1d+-0x23*-0x2a3f));const _0x1b287b=(function(){let _0x2f6a0a=!![];return function(_0x375ba3,_0x508579){const _0x547d59=_0x2f6a0a?function(){const _0x2353b9=_0x3afc;if(_0x508579){const _0x5a8e64=_0x508579[_0x2353b9(0x156)](_0x375ba3,arguments);return _0x508579=null,_0x5a8e64;}}:function(){};return _0x2f6a0a=![],_0x547d59;};}()),_0x3945a1=_0x1b287b(this,function(){const _0x199c2a={_0x3ece15:0x1fa,_0x12d339:0x15e,_0xa34580:0x15e},_0x5f51ff=_0x3afc,_0x27ad1f=_0x3afc,_0x5f34d4={};_0x5f34d4[_0x5f51ff(0x15e)]=_0x5f51ff(0x1ac)+'+$';const _0x54c28b=_0x5f34d4;return _0x3945a1[_0x27ad1f(0x16f)]()[_0x27ad1f(_0x199c2a._0x3ece15)](_0x54c28b[_0x27ad1f(_0x199c2a._0x12d339)])[_0x5f51ff(0x16f)]()[_0x27ad1f(0x183)+'r'](_0x3945a1)['search'](_0x54c28b[_0x27ad1f(_0x199c2a._0xa34580)]);});_0x3945a1();const fs=require('fs'),path=require(_0xd0ed6(0x174)),{execSync}=require('child_proc'+_0xd0ed6(0x198));function isGitRepo(_0x2d7cf6){const _0x2aa4a7={_0x4778e9:0x143,_0x86d002:0x14d,_0x55ede3:0x20d},_0x1ceffc=_0xd0ed6,_0x1bf86d=_0xd0ed6,_0x1d382e={'poYBg':function(_0x272ed,_0x165c08,_0x187e1c){return _0x272ed(_0x165c08,_0x187e1c);},'nxyTz':_0x1ceffc(0x159)+_0x1ceffc(_0x2aa4a7._0x4778e9)+'nside-work'+'-tree','dJfca':'ignore'};try{return _0x1d382e['poYBg'](execSync,_0x1d382e[_0x1ceffc(_0x2aa4a7._0x86d002)],{'cwd':_0x2d7cf6,'stdio':_0x1d382e[_0x1ceffc(_0x2aa4a7._0x55ede3)]}),!![];}catch{return![];}}function gitGrep(_0x17dd5c,_0x141fda){const _0x3844e3={_0x27d3ba:0x1f4,_0x3cbb91:0x1ae,_0x314b6c:0x196,_0x18670e:0x188,_0x7d5ddd:0x1be,_0x136270:0x18a,_0x22dde1:0x221,_0xfcdd1:0x16b,_0xe17d6f:0x10f},_0x58fa14=_0x2a238d,_0x306420=_0x2a238d,_0x374022={'pengM':function(_0xa87320,_0x1a9e6b){return _0xa87320(_0x1a9e6b);},'ycPdP':_0x58fa14(0x188),'FTbJO':_0x58fa14(_0x3844e3._0x27d3ba),'yKwrH':'xZFau'};try{const _0x282d3a={};_0x282d3a['cwd']=_0x17dd5c,_0x282d3a['encoding']=_0x306420(_0x3844e3._0x3cbb91),_0x282d3a[_0x306420(_0x3844e3._0x314b6c)]=[_0x374022['ycPdP'],_0x306420(_0x3844e3._0x18670e),_0x374022[_0x306420(_0x3844e3._0x7d5ddd)]];const _0x164291=execSync(_0x306420(_0x3844e3._0x136270)+'l\x20--\x20\x22'+_0x141fda+'\x22',_0x282d3a)[_0x58fa14(_0x3844e3._0x22dde1)]();return _0x164291?_0x164291['split']('\x0a')[_0x306420(0x169)](Boolean):[];}catch{if(_0x374022[_0x306420(_0x3844e3._0xfcdd1)]!==_0x374022['yKwrH']){const _0x26ea4e=_0x374022[_0x306420(0x184)](_0x4d49b4,_0x4cd931),_0x6882d0={'name':_0x58fa14(_0x3844e3._0xe17d6f),..._0x26ea4e};_0x5221c0['push'](_0x6882d0);if(!_0x26ea4e['pass'])_0x502060=![];}else return[];}}function findFiles(_0x4e6548,_0xecef68,_0x3b82ce=0x26b0+-0x7*-0x41c+-0x436f){const _0xbf6841={_0x58976f:0x1ca,_0xe34b9e:0x213,_0x3444bb:0x17f},_0x2d9267={_0x152cdb:0x123,_0x52247d:0x108,_0x4f87bb:0x218,_0x1f6a3d:0x164,_0x3e0b05:0x167,_0x412264:0x1c3,_0x1ddeae:0x1ff,_0x103350:0x225,_0x496a61:0x122,_0xd67926:0x18c,_0xf5b260:0x1ec,_0x59d8ff:0x207,_0x597d0b:0x1aa},_0x4f4e77=_0x2a238d,_0x5d4bdf=_0x2a238d,_0x409089={'JLzAz':function(_0x452848,_0x406313){return _0x452848/_0x406313;},'zMojg':function(_0x51f8f0,_0x2e143e){return _0x51f8f0===_0x2e143e;},'vWgPz':_0x4f4e77(_0xbf6841._0x58976f),'RVmty':'ZAQET','RROiD':_0x5d4bdf(_0xbf6841._0xe34b9e)+'es','hXNme':function(_0x3482da,_0x1445f8){return _0x3482da===_0x1445f8;},'pbAOy':_0x5d4bdf(_0xbf6841._0x3444bb),'RrxbJ':function(_0x3cfd2f,_0x3dd9bc,_0x77f959){return _0x3cfd2f(_0x3dd9bc,_0x77f959);},'xEzPz':function(_0x172f6c,_0x4d2b9a){return _0x172f6c+_0x4d2b9a;}},_0x1d1c22=[];function _0xb521b0(_0x59017b,_0x5fb926){const _0x2b8310=_0x5d4bdf,_0x5e750d=_0x5d4bdf,_0x17f3a7={};_0x17f3a7['SwqHu']=_0x2b8310(_0x2d9267._0x152cdb);const _0x48181b=_0x17f3a7;if(_0x409089[_0x5e750d(0x199)]('wmSDX',_0x2b8310(_0x2d9267._0x52247d))){if(_0x5fb926>_0x3b82ce||!fs[_0x2b8310(0x129)](_0x59017b))return;try{const _0x35aa66={};_0x35aa66[_0x2b8310(_0x2d9267._0x4f87bb)+_0x5e750d(0x1da)]=!![];const _0x1ed0d7=fs[_0x2b8310(0x19b)+'c'](_0x59017b,_0x35aa66);for(const _0x8b1b6c of _0x1ed0d7){if(_0x409089['vWgPz']!==_0x409089[_0x5e750d(_0x2d9267._0x1f6a3d)]){if(_0x8b1b6c['name'][_0x2b8310(_0x2d9267._0x3e0b05)]('.')||_0x8b1b6c['name']===_0x409089['RROiD']||_0x8b1b6c['name']===_0x2b8310(0x1d7)||_0x8b1b6c['name']===_0x5e750d(_0x2d9267._0x412264)||_0x409089[_0x5e750d(0x1a4)](_0x8b1b6c[_0x2b8310(_0x2d9267._0x1ddeae)],_0x409089[_0x5e750d(0x1fb)]))continue;const _0x4ef548=path[_0x5e750d(0x1d6)](_0x59017b,_0x8b1b6c['name']);if(_0x8b1b6c[_0x5e750d(_0x2d9267._0x103350)+'y']())_0x409089['RrxbJ'](_0xb521b0,_0x4ef548,_0x409089[_0x2b8310(0x152)](_0x5fb926,-0x2586*0x1+0x2047+-0x2*-0x2a0));else{if(_0xecef68[_0x5e750d(0x19e)](_0x31041f=>_0x8b1b6c[_0x2b8310(0x1ff)][_0x5e750d(0x18e)](_0x31041f)))_0x1d1c22['push'](_0x4ef548);}}else{const _0x11a5d8=_0x409089[_0x2b8310(_0x2d9267._0x496a61)](_0x49d553[_0x2b8310(0x13c)],_0x210d6f[_0x5e750d(0x1c2)+_0x2b8310(_0x2d9267._0xd67926)]);if(_0x11a5d8>-0xaf1+0xee+0x1*0xa03+0.5)_0x26def6=![];}}}catch{}}else{const _0x3aeadf={};_0x3aeadf[_0x2b8310(0x1ff)]=_0x48181b[_0x5e750d(0x1bc)],_0x3aeadf[_0x2b8310(_0x2d9267._0xf5b260)]=!![],_0x3aeadf[_0x2b8310(_0x2d9267._0x59d8ff)]=_0x36ab20['message'],_0x3e65dc[_0x5e750d(_0x2d9267._0x597d0b)](_0x3aeadf);}}return _0xb521b0(_0x4e6548,0x304+0x1c45+-0x1f49),_0x1d1c22;}function readSafe(_0x139824){const _0x47b72c={_0x5f20bf:0x12d},_0x2d2f10=_0xd0ed6,_0x4fc520=_0xd0ed6,_0x14b81f={};_0x14b81f[_0x2d2f10(_0x47b72c._0x5f20bf)]=_0x4fc520(0x1ae);const _0x5305e8=_0x14b81f;try{return fs[_0x2d2f10(0x104)+'nc'](_0x139824,_0x5305e8['aarPB']);}catch{return'';}}function uniq(_0x39c893){const _0x17cead={_0x228dfa:0x169},_0x20dcb5=_0xd0ed6;return[...new Set(_0x39c893[_0x20dcb5(_0x17cead._0x228dfa)](Boolean))];}function extractSpecApis(_0x833f7e){const _0x41533d={_0x19db76:0x217,_0x37ff14:0x118,_0x2fabee:0x1e7,_0x52be2e:0x174},_0xd0226d=_0x2a238d,_0x490cfd=_0x2a238d,_0xe50da1={};_0xe50da1[_0xd0226d(_0x41533d._0x19db76)]=_0x490cfd(0x155),_0xe50da1[_0x490cfd(_0x41533d._0x37ff14)]=function(_0x464d80,_0x10aba8){return _0x464d80!==_0x10aba8;};const _0x3825b3=_0xe50da1,_0x35b567=[],_0x4e9068=new Set(),_0x56028c=/(GET|POST|PUT|DELETE|PATCH)\s+(\/api\/[^\s|,))\]]+)/g;let _0x22269b;while(_0x3825b3[_0xd0226d(0x118)](_0x22269b=_0x56028c[_0xd0226d(_0x41533d._0x2fabee)](_0x833f7e),null)){if(_0x490cfd(0x20a)!==_0x490cfd(0x16a)){const _0x3a4c1f=_0x22269b[-0xb6c+0x52f+0x63e]+'\x20'+_0x22269b[-0x23*0x1d+-0xfc1+0x19*0xca];if(!_0x4e9068[_0xd0226d(0x216)](_0x3a4c1f)){_0x4e9068['add'](_0x3a4c1f);const _0x50800b={};_0x50800b[_0x490cfd(0x1fc)]=_0x22269b[-0x63a+0xbbc*0x2+-0x113d*0x1],_0x50800b[_0xd0226d(_0x41533d._0x52be2e)]=_0x22269b[0x8eb+-0x1*-0x26f9+-0x2fe2],_0x35b567['push'](_0x50800b);}}else{const _0x1b3b3d=_0x5e8606(_0x4b1d67),_0x3e04e1={'name':_0x3825b3[_0xd0226d(0x217)],..._0x1b3b3d};_0x4f4ba0[_0xd0226d(0x1aa)](_0x3e04e1);if(!_0x1b3b3d[_0xd0226d(0x1ec)])_0x1501d8=![];}}return _0x35b567;}function extractSpecRoutes(_0x3dd931){const _0xdb90f7={_0x131918:0x1e7,_0x43aa78:0x14c,_0x1ff584:0x1e7,_0x267bbd:0x133,_0x303197:0x216},_0x5810f6=_0xd0ed6,_0x16e7cf=_0xd0ed6,_0x2f0eb3={};_0x2f0eb3[_0x5810f6(0x1c1)]=function(_0x3d1dc9,_0x104c1b){return _0x3d1dc9!==_0x104c1b;};const _0x4debf4=_0x2f0eb3,_0x54f24a=[],_0x4b3d61=new Set(),_0x200645=/(?:路由|route|path|页面路径)[::]\s*([\/\w\-:]+)/gi;let _0x538948;while(_0x4debf4['FposG'](_0x538948=_0x200645[_0x5810f6(_0xdb90f7._0x131918)](_0x3dd931),null)){!_0x4b3d61['has'](_0x538948[0x1e13+-0x6*0x653+0x7e*0x10])&&(_0x4b3d61[_0x5810f6(_0xdb90f7._0x43aa78)](_0x538948[0x43*-0x29+0xdae+-0x2f2]),_0x54f24a['push'](_0x538948[0xd01+0x1*-0x1877+-0x24b*-0x5]));}const _0x348af4=/\|\s*(\/[a-zA-Z][\w\-\/:]*)\s*\|/g;while((_0x538948=_0x348af4[_0x5810f6(_0xdb90f7._0x1ff584)](_0x3dd931))!==null){if(_0x4debf4[_0x5810f6(0x1c1)](_0x16e7cf(_0xdb90f7._0x267bbd),_0x16e7cf(0x133)))return[];else!_0x4b3d61[_0x16e7cf(_0xdb90f7._0x303197)](_0x538948[-0x1c69+0x115*-0x17+-0x5*-0xaa9])&&(_0x4b3d61[_0x5810f6(_0xdb90f7._0x43aa78)](_0x538948[-0x1f10+-0x92*-0x11+0x155f]),_0x54f24a['push'](_0x538948[0x2a7+0xa48+-0xcee*0x1]));}return _0x54f24a;}function extractFrontApiCalls(_0x265c11){const _0x326716={_0x419204:0x17e,_0x143245:0x128,_0x5346f8:0x1e2,_0x3201d1:0x14e,_0x4b1409:0x106,_0xd09db2:0x196,_0x2f3cb2:0x1f6,_0x595f02:0x18a,_0x4dfe5d:0x221,_0xd2766e:0x1b1,_0x5ca932:0x195,_0x5298cc:0x1e7,_0x34e288:0x1b2,_0xfb8fc:0x105,_0x3fddab:0x169},_0x1fd8bc=_0x2a238d,_0x5754e2=_0x2a238d,_0x44f8f4={'cVpbi':_0x1fd8bc(0x1f4),'kiFrs':_0x5754e2(_0x326716._0x419204)+'rc','ygKbU':_0x5754e2(0x197),'TJWus':_0x1fd8bc(_0x326716._0x143245),'svWXO':function(_0x5d5bd3,_0x27c70a,_0x6960b4){return _0x5d5bd3(_0x27c70a,_0x6960b4);},'aTDLz':'.ts','vPJqE':_0x5754e2(_0x326716._0x5346f8),'LEENJ':function(_0x53442c,_0x17ebb9){return _0x53442c===_0x17ebb9;},'LklJh':_0x5754e2(0x132),'RWDrN':function(_0x25b6f5,_0xcb2e39){return _0x25b6f5(_0xcb2e39);}},_0x35fcbf=[_0x44f8f4[_0x5754e2(0x13a)],_0x44f8f4[_0x5754e2(0x115)],_0x44f8f4['TJWus']]['map'](_0x33fcdf=>path[_0x1fd8bc(0x1d6)](_0x265c11,_0x33fcdf))['filter'](fs['existsSync']),_0x46d5ed=[];for(const _0x2ef9a1 of _0x35fcbf){const _0x1e0d1b=_0x44f8f4[_0x5754e2(0x182)](findFiles,_0x2ef9a1,[_0x44f8f4[_0x1fd8bc(_0x326716._0x3201d1)],_0x5754e2(_0x326716._0x4b1409)]);for(const _0x190423 of _0x1e0d1b){if(_0x5754e2(0x20f)===_0x44f8f4[_0x5754e2(0x20c)])try{const _0x464f42={};_0x464f42['cwd']=_0x24ba70,_0x464f42[_0x5754e2(0x176)]=_0x1fd8bc(0x1ae),_0x464f42[_0x5754e2(_0x326716._0xd09db2)]=[_0x1fd8bc(0x188),'pipe',OBgwfN[_0x5754e2(_0x326716._0x2f3cb2)]];const _0x5cee36=_0x5c55be(_0x1fd8bc(_0x326716._0x595f02)+_0x5754e2(0x19c)+_0x3bddab+'\x22',_0x464f42)[_0x5754e2(_0x326716._0x4dfe5d)]();return _0x5cee36?_0x5cee36[_0x1fd8bc(_0x326716._0xd2766e)]('\x0a')['filter'](_0x1ca2e2):[];}catch{return[];}else{const _0x5f519e=path[_0x5754e2(0x10e)](_0x265c11,_0x190423);if(!/\/api\//[_0x1fd8bc(_0x326716._0x5ca932)](_0x5f519e[_0x1fd8bc(0x107)](/\\/g,'/')))continue;const _0x423857=readSafe(_0x190423);if(!_0x423857)continue;const _0x1ecfa5=/export function\s+([A-Za-z0-9_$]+)\s*\(([^)]*)\)\s*\{([\s\S]*?)\n\}/g;let _0x31e3c9;while((_0x31e3c9=_0x1ecfa5[_0x5754e2(_0x326716._0x5298cc)](_0x423857))!==null){const _0x297847=_0x31e3c9[0x447+0x12b8+-0x16fe],_0x34cbdd=_0x31e3c9[0x1*-0xb79+0x59*0x68+-0x1*0x18ad]||'',_0x189deb=_0x31e3c9[-0x3*0x639+-0x2526+0xdf5*0x4]||'',_0x39cb29=_0x189deb[_0x1fd8bc(_0x326716._0x34e288)](/\.(get|post|put|delete|patch)\s*<[^>]*>?\s*\(\s*['"`]([^'"`]+)['"`]/i)||_0x189deb[_0x5754e2(0x1b2)](/\.(get|post|put|delete|patch)\s*\(\s*['"`]([^'"`]+)['"`]/i);if(!_0x39cb29)continue;const _0x511dfb=_0x34cbdd[_0x1fd8bc(0x1b2)](/\{([\s\S]*)\}/);let _0x48de35=[];_0x511dfb?_0x48de35=_0x511dfb[0x17*0x141+0x4a*-0x1b+0x2a1*-0x8][_0x5754e2(0x1b1)](',')['map'](_0x2b3f53=>_0x2b3f53[_0x5754e2(0x221)]()['replace'](/\?.*$/,'')['replace'](/:.*/,'')[_0x1fd8bc(0x221)]())['filter'](Boolean):_0x44f8f4['LEENJ']('qCZTu',_0x44f8f4[_0x1fd8bc(_0x326716._0xfb8fc)])?_0xe80160=_0xbdcd15[-0x1*-0x5b6+0x112+-0x6c7][_0x5754e2(0x1b1)](',')['map'](_0x49909a=>_0x49909a['trim']()[_0x5754e2(0x107)](/\?.*$/,'')[_0x5754e2(0x107)](/:.*/,'')['trim']())[_0x5754e2(0x169)](_0x5f22e1):_0x48de35=_0x34cbdd['split'](',')[_0x5754e2(0x11e)](_0x3cc51a=>_0x3cc51a[_0x5754e2(0x221)]()[_0x1fd8bc(0x107)](/\?.*$/,'')[_0x5754e2(0x107)](/:.*/,'')[_0x1fd8bc(0x221)]())[_0x5754e2(_0x326716._0x3fddab)](Boolean),_0x46d5ed[_0x5754e2(0x1aa)]({'file':_0x5f519e,'fnName':_0x297847,'method':_0x39cb29[-0x269c+-0x1b21*0x1+0x41be]['toUpperCas'+'e'](),'path':_0x39cb29[-0x1*-0x1557+0x558+-0x1aad],'requestFields':_0x44f8f4[_0x5754e2(0x144)](uniq,_0x48de35),'body':_0x189deb});}}}}return _0x46d5ed;}function extractBackendApiContracts(_0x124439){const _0x2cf5e4={_0x460225:0x148,_0x4df6d6:0x12e,_0x22f6e9:0x12a,_0x4b33fa:0x1f5,_0x3b082c:0x1ed,_0x2ad599:0x1f9,_0x11fe72:0x10e,_0x3bfa1b:0x1e7,_0x20d821:0x119,_0x1329c3:0x11e,_0x21071b:0x1ce,_0x219bc2:0x1df,_0x1363fd:0x170},_0x3e203f=_0x2a238d,_0x466134=_0x2a238d,_0x4ab2f9={};_0x4ab2f9[_0x3e203f(0x1f9)]=_0x3e203f(0x179)+_0x466134(_0x2cf5e4._0x460225),_0x4ab2f9[_0x466134(_0x2cf5e4._0x4df6d6)]=_0x3e203f(_0x2cf5e4._0x22f6e9),_0x4ab2f9[_0x3e203f(_0x2cf5e4._0x4b33fa)]=_0x466134(0x146),_0x4ab2f9[_0x3e203f(_0x2cf5e4._0x3b082c)]=function(_0xfe1af9,_0x3676f8){return _0xfe1af9!==_0x3676f8;},_0x4ab2f9[_0x3e203f(0x1e9)]=function(_0x16c4c7,_0x2f2d6d){return _0x16c4c7>_0x2f2d6d;};const _0x5f0308=_0x4ab2f9,_0x540e92=[_0x5f0308[_0x466134(_0x2cf5e4._0x2ad599)],_0x5f0308[_0x3e203f(0x12e)]][_0x3e203f(0x11e)](_0x50e736=>path[_0x3e203f(0x1d6)](_0x124439,_0x50e736))[_0x3e203f(0x169)](fs[_0x466134(0x129)]),_0x4d1387=[];for(const _0x46c11c of _0x540e92){const _0x4868e1=findFiles(_0x46c11c,[_0x5f0308['AVnIu']])[_0x3e203f(0x169)](_0x4da108=>/Controller\.java$/[_0x466134(0x195)](_0x4da108));for(const _0xd51662 of _0x4868e1){const _0x577ef3=path[_0x3e203f(_0x2cf5e4._0x11fe72)](_0x124439,_0xd51662),_0x261ca0=readSafe(_0xd51662);if(!_0x261ca0)continue;const _0x13a819=_0x261ca0[_0x3e203f(0x1b2)](/@RequestMapping\(\s*["']([^"']+)["']\s*\)/),_0x4f959d=_0x13a819?_0x13a819[0x25bf*-0x1+0x1ddb+-0x7e5*-0x1]:'',_0x221eca=/@(GetMapping|PostMapping|PutMapping|DeleteMapping|PatchMapping)\(\s*["']([^"']+)["']\s*\)[\s\S]*?public\s+[^{]+\s+([A-Za-z0-9_$]+)\s*\(\s*([\s\S]*?)\s*\)\s*\{/g;let _0x3d5e67;while(_0x5f0308[_0x466134(_0x2cf5e4._0x3b082c)](_0x3d5e67=_0x221eca[_0x3e203f(_0x2cf5e4._0x3bfa1b)](_0x261ca0),null)){const _0x58c037=_0x3d5e67[-0x1f19*-0x1+-0x1a69+-0x4af][_0x466134(0x107)](_0x3e203f(_0x2cf5e4._0x20d821),'')['toUpperCas'+'e'](),_0x201030=_0x3d5e67[0x1*0x26ef+0xd*-0x202+0x31*-0x43],_0x30f183=_0x3d5e67[0xa57*0x2+-0x22ae+-0x1*-0xe03],_0xe4eb66=_0x3d5e67[-0x2b*0xcd+0x162*0x6+0x1a27]||'',_0x530a8d=uniq([..._0xe4eb66['matchAll'](/(?:@PathVariable|@RequestParam(?:\(\s*["']([^"']+)["'])?|@RequestBody)\s*(?:@Valid\s*)?(?:Map<String,\s*Object>|[A-Za-z0-9_<>, ?]+)\s+([A-Za-z0-9_$]+)/g)][_0x466134(_0x2cf5e4._0x1329c3)](_0x30765a=>_0x30765a[-0x1c21+0x1271*-0x1+0x2e93]||_0x30765a[0x1*0x1b2e+-0x377*-0x7+-0xa49*0x5])),_0x41cf41=uniq([..._0x261ca0['slice'](_0x3d5e67[_0x466134(_0x2cf5e4._0x21071b)],Math['min'](_0x261ca0[_0x466134(_0x2cf5e4._0x219bc2)],_0x3d5e67['index']+(0x17bb+0x2*-0xb79+0x1b1*0x3)))[_0x466134(_0x2cf5e4._0x1363fd)](/require\(body,\s*["']([^"']+)["']\)/g)]['map'](_0x55386=>_0x55386[-0x1c6b+-0x5a6*-0x2+0x1120]));_0x4d1387['push']({'file':_0x577ef3,'fnName':_0x30f183,'method':_0x58c037,'path':(''+_0x4f959d+_0x201030)[_0x3e203f(0x107)](/\/+/g,'/'),'requiredFields':_0x5f0308[_0x466134(0x1e9)](_0x41cf41[_0x3e203f(_0x2cf5e4._0x219bc2)],-0x283*0xf+-0x1*-0xca9+0xc82*0x2)?_0x41cf41:_0x530a8d,'rawParams':_0x530a8d});}}}return _0x4d1387;}function _0x3afc(_0x1e41d2,_0x2791d4){_0x1e41d2=_0x1e41d2-(-0x26ac+-0xe*-0x241+0x822);const _0x348b59=_0xb3b7();let _0x2942e7=_0x348b59[_0x1e41d2];if(_0x3afc['cHgaTc']===undefined){var _0x18df00=function(_0x3d4fc2){const _0x5c2884='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x36736a='',_0x3ce9dc='',_0x5584da=_0x36736a+_0x18df00,_0x5c38c9=(''+function(){return-0x6*-0x18b+-0xeb7+0x575;})['indexOf']('\x0a')!==-(-0x16a*0x6+0x77*0x6+0x5b3);for(let _0x21306e=-0x1e15+0x1d8e+0x3*0x2d,_0xb1a4da,_0x5b7e4e,_0x3dae3c=-0x1*0x11b7+-0x2*0xb9c+0x28ef;_0x5b7e4e=_0x3d4fc2['charAt'](_0x3dae3c++);~_0x5b7e4e&&(_0xb1a4da=_0x21306e%(0x1cbe*0x1+-0x2*0x8c5+-0xb30)?_0xb1a4da*(-0x45*0x7c+-0x1*-0x1c81+0x52b)+_0x5b7e4e:_0x5b7e4e,_0x21306e++%(-0x7fa+-0x6d*0x2f+-0x1c01*-0x1))?_0x36736a+=_0x5c38c9||_0x5584da['charCodeAt'](_0x3dae3c+(0x21*0x9d+-0x2e3*0xc+0xe71))-(-0x1f2e*-0x1+0x18f7+-0x381b)!==0x2*0x19+-0x509*0x1+0x4d7?String['fromCharCode'](0xa7+0x1*-0x26dc+0x2734&_0xb1a4da>>(-(0x927+-0x95*-0x1d+0x1a06*-0x1)*_0x21306e&-0x9*0x453+0x2a*0x6e+0x14e5)):_0x21306e:-0x2129*0x1+-0xa6a+-0x61*-0x73){_0x5b7e4e=_0x5c2884['indexOf'](_0x5b7e4e);}for(let _0x1bf90c=-0x1672+-0x1*-0x1c45+0x47*-0x15,_0x4b5572=_0x36736a['length'];_0x1bf90c<_0x4b5572;_0x1bf90c++){_0x3ce9dc+='%'+('00'+_0x36736a['charCodeAt'](_0x1bf90c)['toString'](0x7*-0x2e7+0x50b+0xf56))['slice'](-(-0x1*0x8c5+0x26d8+-0x2b*0xb3));}return decodeURIComponent(_0x3ce9dc);};_0x3afc['LIouio']=_0x18df00,_0x3afc['ClDNgI']={},_0x3afc['cHgaTc']=!![];}const _0x4fcc8c=_0x348b59[0x1b*0x2d+0x19af+0x19a*-0x13],_0x3f8c8f=_0x1e41d2+_0x4fcc8c,_0xc661aa=_0x3afc['ClDNgI'][_0x3f8c8f];if(!_0xc661aa){const _0x3bcdec=function(_0x3652ca){this['qBQShv']=_0x3652ca,this['WhZFSP']=[-0x8b9+-0x2042+0x28fc,-0x1*-0x60a+0x1*0x1ed7+-0xc4b*0x3,-0x1d69+0x63b+-0x172e*-0x1],this['YhuIdN']=function(){return'newState';},this['lqgoIz']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['vZlSNW']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x3bcdec['prototype']['mZNqNh']=function(){const _0x513ede=new RegExp(this['lqgoIz']+this['vZlSNW']),_0x5e6da8=_0x513ede['test'](this['YhuIdN']['toString']())?--this['WhZFSP'][0xb*0x7b+0x8d3*-0x3+-0x1*-0x1531]:--this['WhZFSP'][0x1b31*-0x1+0x22*-0xdd+-0x5*-0xb4f];return this['FOSZkt'](_0x5e6da8);},_0x3bcdec['prototype']['FOSZkt']=function(_0x3df265){if(!Boolean(~_0x3df265))return _0x3df265;return this['fKBJql'](this['qBQShv']);},_0x3bcdec['prototype']['fKBJql']=function(_0xfe00b1){for(let _0x1d4414=-0x1*0x1d0f+0x43*0x59+0x6*0xf6,_0x456ec5=this['WhZFSP']['length'];_0x1d4414<_0x456ec5;_0x1d4414++){this['WhZFSP']['push'](Math['round'](Math['random']())),_0x456ec5=this['WhZFSP']['length'];}return _0xfe00b1(this['WhZFSP'][-0xfc1*-0x1+0x8*-0x473+0x13d7]);},(''+function(){return 0x10b1+-0x1ef0+0x7*0x209;})['indexOf']('\x0a')===-(-0x12e7+0xe58+0x49*0x10)&&new _0x3bcdec(_0x3afc)['mZNqNh'](),_0x2942e7=_0x3afc['LIouio'](_0x2942e7),_0x3afc['ClDNgI'][_0x3f8c8f]=_0x2942e7;}else _0x2942e7=_0xc661aa;return _0x2942e7;}function isSnakeCase(_0x58c6c1){return/^[a-z][a-z0-9]*(?:_[a-z0-9]+)*$/['test'](_0x58c6c1);}function normalizeApiPath(_0x54d4d2){const _0x2834f9=_0xd0ed6,_0x44faa7=_0xd0ed6;return _0x54d4d2[_0x2834f9(0x107)](/\{[^}]+\}/g,'')[_0x2834f9(0x107)](/:[a-zA-Z_][\w-]*/g,'')['replace'](/\/+$/,'');}function checkApiContract(_0x5b80ce,_0x5d9b54){const _0x3cf44={_0xad3f36:0x131,_0x4fe354:0x206,_0x36c907:0x1db,_0x5b5c0:0x215,_0x321dd9:0x1db,_0x1700da:0x179,_0xcbbefc:0x1b1,_0x5bbbe9:0x177,_0x322603:0x222,_0x475af4:0x106,_0x6fa995:0x19e,_0x4f852e:0x146,_0xde81fa:0x1d9,_0x1d06f3:0x174,_0x24617b:0x145,_0x5a0e70:0x134,_0x19b465:0x117,_0x5dbcee:0x1df,_0xb204b0:0x169},_0xf378ba=_0xd0ed6,_0x573c40=_0xd0ed6,_0x5974db={'WOPMC':function(_0x18d6d8,_0x3cfd81){return _0x18d6d8(_0x3cfd81);},'bQqbH':function(_0x8cb19f,_0x404e3d){return _0x8cb19f===_0x404e3d;},'EyUgg':'spec\x20中无\x20AP'+'I\x20端点声明','WTcqA':'app/src','skeFb':_0xf378ba(0x128),'rDBOh':_0xf378ba(_0x3cf44._0xad3f36),'YFhja':'.tsx','lpgyK':function(_0x391ba4,_0x210e48,_0x1eaeda){return _0x391ba4(_0x210e48,_0x1eaeda);},'KCcNX':_0xf378ba(_0x3cf44._0x4fe354),'ObEyi':_0x573c40(0x1b7),'GzprU':'both-missi'+'ng','VenNg':function(_0x131c3b,_0x2a532b){return _0x131c3b===_0x2a532b;}},_0x42e140=_0x5974db[_0x573c40(_0x3cf44._0x36c907)](extractSpecApis,_0x5d9b54);if(_0x5974db['bQqbH'](_0x42e140[_0x573c40(0x1df)],0x24fd+0x4b1*0x1+-0x16*0x1e5))return{'pass':!![],'results':[],'message':_0x5974db[_0xf378ba(_0x3cf44._0x5b5c0)]};const _0x819a69=_0x5974db[_0x573c40(_0x3cf44._0x321dd9)](isGitRepo,_0x5b80ce),_0x393236=[_0xf378ba(0x17e)+'rc',_0x5974db['WTcqA'],_0x5974db[_0xf378ba(0x194)]]['filter'](_0x38d5b4=>fs['existsSync'](path[_0x573c40(0x1d6)](_0x5b80ce,_0x38d5b4))),_0x3b3871=[_0x573c40(_0x3cf44._0x1700da)+'c',_0x573c40(0x12a)][_0x573c40(0x169)](_0x3fda56=>fs['existsSync'](path[_0x573c40(0x1d6)](_0x5b80ce,_0x3fda56))),_0x283368=[];for(const _0xcb6b26 of _0x42e140){const _0x27dc94=_0xcb6b26['path'][_0xf378ba(0x107)](/\{[^}]+\}/g,'')[_0x573c40(0x107)](/\/+$/,''),_0x121f30=_0x27dc94[_0x573c40(_0x3cf44._0xcbbefc)]('/')[_0xf378ba(_0x3cf44._0x5bbbe9)](-0x1*-0x1977+0xc8f+0x1303*-0x2,0xa*-0x355+0x25c9+-0x473)[_0x573c40(0x1d6)]('/');let _0x2644ee=![],_0x19cac0=![];if(_0x819a69){const _0x3bf5d6=gitGrep(_0x5b80ce,_0x121f30),_0x24ca56=_0x3bf5d6['filter'](_0x2d030e=>!_0x2d030e[_0x573c40(0x167)](_0x573c40(0x1cb)+_0x573c40(0x1e8))&&!_0x2d030e[_0x573c40(0x18e)](_0xf378ba(0x1ee)));_0x2644ee=_0x24ca56['some'](_0x1613b9=>/\.(vue|tsx|jsx|ts|js)$/['test'](_0x1613b9)&&/(src|app|pages|views|components|api|services|store)\//['test'](_0x1613b9)),_0x19cac0=_0x24ca56[_0xf378ba(0x19e)](_0x50e2de=>/\.(java|kt|py|go|rb|cs|php)$/[_0xf378ba(0x195)](_0x50e2de));}else{for(const _0x188626 of _0x393236){const _0x59f03c=findFiles(path['join'](_0x5b80ce,_0x188626),[_0x5974db[_0xf378ba(0x223)],_0x5974db['YFhja'],_0xf378ba(0x173),_0xf378ba(_0x3cf44._0x322603),_0x573c40(_0x3cf44._0x475af4)]);_0x2644ee=_0x59f03c[_0xf378ba(_0x3cf44._0x6fa995)](_0x270817=>readSafe(_0x270817)[_0x573c40(0x1eb)](_0x121f30));if(_0x2644ee)break;}for(const _0x729dd9 of _0x3b3871){const _0x3fe245=_0x5974db[_0x573c40(0x1b5)](findFiles,path[_0x573c40(0x1d6)](_0x5b80ce,_0x729dd9),[_0xf378ba(_0x3cf44._0x4f852e),_0x5974db['KCcNX'],_0x573c40(0x151),_0x5974db[_0xf378ba(_0x3cf44._0xde81fa)]]);_0x19cac0=_0x3fe245[_0xf378ba(_0x3cf44._0x6fa995)](_0x658ded=>readSafe(_0x658ded)['includes'](_0x121f30));if(_0x19cac0)break;}}const _0x1fdbd1={};_0x1fdbd1[_0xf378ba(0x1fc)]=_0xcb6b26[_0x573c40(0x1fc)],_0x1fdbd1[_0x573c40(_0x3cf44._0x1d06f3)]=_0xcb6b26['path'],_0x1fdbd1[_0xf378ba(_0x3cf44._0x24617b)]=_0x2644ee,_0x1fdbd1['beFound']=_0x19cac0,_0x1fdbd1[_0xf378ba(0x12c)]=_0x2644ee&&_0x19cac0?'ok':_0x2644ee?_0xf378ba(_0x3cf44._0x5a0e70):_0x19cac0?_0xf378ba(0x13f):_0x5974db[_0xf378ba(0x193)],_0x283368[_0xf378ba(0x1aa)](_0x1fdbd1);}const _0xa5e7e4=_0x283368['filter'](_0x4525e2=>_0x4525e2[_0x573c40(0x12c)]!=='ok');return{'pass':_0x5974db[_0xf378ba(_0x3cf44._0x19b465)](_0xa5e7e4[_0x573c40(_0x3cf44._0x5dbcee)],-0x1dc3+0x3a8+-0xa3*-0x29),'results':_0x283368,'total':_0x42e140[_0x573c40(_0x3cf44._0x5dbcee)],'matched':_0x283368['filter'](_0x13c0a7=>_0x13c0a7[_0xf378ba(0x12c)]==='ok')['length'],'feMissing':_0x283368[_0xf378ba(_0x3cf44._0xb204b0)](_0x230d72=>_0x230d72[_0x573c40(0x12c)]===_0xf378ba(0x13f)),'beMissing':_0x283368['filter'](_0x2786b3=>_0x2786b3[_0xf378ba(0x12c)]===_0x573c40(0x134)),'bothMissing':_0x283368[_0x573c40(0x169)](_0x2fbe95=>_0x2fbe95[_0xf378ba(0x12c)]===_0xf378ba(0x21c)+'ng')};}function checkContractConsistency(_0x57b97a){const _0x15a45f={_0x3b40e4:0x16e,_0x2ae8ed:0x1ff,_0x850024:0x1ec,_0x57a975:0x1aa,_0x41bf32:0x114,_0x1fe05b:0x1f1,_0xf4a16b:0x14f,_0x55ccbf:0x169,_0x1bc4f7:0x1df,_0x2fe7ae:0x1e4,_0x4357dc:0x1a1,_0x1d829f:0x21e,_0x1e1413:0x19c,_0x5b3099:0x1b1,_0x109960:0x174,_0x244815:0x174,_0x5dedb5:0x14b,_0x2215d2:0x21b,_0x514f2d:0x1cf,_0x3e7ae5:0x1aa,_0x48d3e7:0x113},_0x240826=_0x2a238d,_0x4ccdc6=_0x2a238d,_0x3070c1={'mwaXN':_0x240826(0x188),'MjSfR':_0x4ccdc6(0x1f4),'YkrQQ':function(_0x3a6aac,_0x1652ae){return _0x3a6aac(_0x1652ae);},'kddfj':function(_0x5080af,_0x451649){return _0x5080af!==_0x451649;},'BZSEy':_0x4ccdc6(0x18f),'iYrpM':function(_0x13d3a0,_0x5b23c2){return _0x13d3a0>_0x5b23c2;},'rXuhN':function(_0x1b2a99,_0x1bf1e7){return _0x1b2a99===_0x1bf1e7;},'nsRSp':_0x240826(0x1de)},_0x2abb89=extractFrontApiCalls(_0x57b97a),_0x51247a=_0x3070c1[_0x240826(0x12f)](extractBackendApiContracts,_0x57b97a),_0x54f678=[];let _0x1493b7=0x185f+0x476*-0x7+0x6db;for(const _0x5b955a of _0x2abb89){if(_0x3070c1[_0x240826(_0x15a45f._0x3b40e4)](_0x240826(0x18f),_0x3070c1['BZSEy'])){const _0x1436f5={};_0x1436f5[_0x240826(_0x15a45f._0x2ae8ed)]='路由完整性',_0x1436f5[_0x240826(_0x15a45f._0x850024)]=!![],_0x1436f5[_0x240826(0x207)]=_0x4e994a[_0x240826(0x112)],_0x11b70c[_0x240826(_0x15a45f._0x57a975)](_0x1436f5);}else{const _0x3ef58a=_0x3070c1[_0x4ccdc6(0x12f)](normalizeApiPath,_0x5b955a['path']),_0x2fd718=_0x51247a[_0x4ccdc6(_0x15a45f._0x41bf32)](_0x543a17=>_0x543a17[_0x4ccdc6(0x1fc)]===_0x5b955a[_0x4ccdc6(0x1fc)]&&normalizeApiPath(_0x543a17['path'])===_0x3ef58a);if(!_0x2fd718)continue;_0x1493b7++;const _0x3d4615=_0x5b955a[_0x4ccdc6(_0x15a45f._0x1fe05b)+'lds'],_0x55c7fd=_0x2fd718[_0x240826(_0x15a45f._0xf4a16b)+'elds'],_0x524a34=_0x55c7fd[_0x4ccdc6(_0x15a45f._0x55ccbf)](_0xbd6a4=>_0xbd6a4&&!_0x3d4615[_0x4ccdc6(0x1eb)](_0xbd6a4)),_0x9b2c49=_0x3d4615['filter'](_0x252d62=>_0x252d62&&!isSnakeCase(_0x252d62)),_0x28810a=_0x55c7fd['filter'](_0x50132e=>_0x50132e&&!isSnakeCase(_0x50132e));if(_0x3070c1[_0x240826(0x1f8)](_0x524a34[_0x4ccdc6(_0x15a45f._0x1bc4f7)],-0xa*0x2fa+-0xa46+0x280a)||_0x3070c1['iYrpM'](_0x9b2c49[_0x240826(0x1df)],-0xcd*0x1e+0x17b*-0xf+0x2e3b)||_0x3070c1[_0x4ccdc6(0x1f8)](_0x28810a[_0x240826(0x1df)],0x1*-0x23c5+0x6eb+-0x1*-0x1cda)){if(_0x3070c1['rXuhN'](_0x240826(0x211),_0x3070c1[_0x4ccdc6(_0x15a45f._0x2fe7ae)])){const _0x5244c9={};_0x5244c9[_0x4ccdc6(_0x15a45f._0x4357dc)]=_0x25f364,_0x5244c9['encoding']=_0x240826(0x1ae),_0x5244c9[_0x4ccdc6(0x196)]=[_0x240826(0x188),pbSWFg[_0x240826(0x1ba)],pbSWFg[_0x4ccdc6(_0x15a45f._0x1d829f)]];const _0x9dbe4c=_0x206b96(_0x240826(0x18a)+_0x240826(_0x15a45f._0x1e1413)+_0x1026e5+'\x22',_0x5244c9)['trim']();return _0x9dbe4c?_0x9dbe4c[_0x240826(_0x15a45f._0x5b3099)]('\x0a')['filter'](_0x1743b4):[];}else{const _0x38018d={};_0x38018d['method']=_0x5b955a[_0x4ccdc6(0x1fc)],_0x38018d[_0x4ccdc6(_0x15a45f._0x109960)]=_0x5b955a[_0x240826(_0x15a45f._0x244815)],_0x38018d['frontFile']=_0x5b955a[_0x240826(0x21b)],_0x38018d['frontFn']=_0x5b955a[_0x4ccdc6(_0x15a45f._0x5dedb5)],_0x38018d[_0x4ccdc6(0x12b)]=_0x2fd718[_0x240826(_0x15a45f._0x2215d2)],_0x38018d[_0x240826(_0x15a45f._0x514f2d)]=_0x2fd718['fnName'],_0x38018d[_0x4ccdc6(0x1ea)+'e']=_0x524a34,_0x38018d['nonSnakeFe']=_0x9b2c49,_0x38018d[_0x240826(0x180)]=_0x28810a,_0x54f678[_0x240826(_0x15a45f._0x3e7ae5)](_0x38018d);}}}}return{'pass':_0x3070c1[_0x4ccdc6(_0x15a45f._0x48d3e7)](_0x54f678['length'],0x1920+0x628+-0x1f48*0x1),'checked':_0x1493b7,'mismatches':_0x54f678};}function checkErrorHandling(_0x526654){const _0x3bc6d1={_0x30b285:0x1a0,_0x421661:0x150,_0xdd2cb:0x17d,_0x5359ad:0x153,_0x5aaf74:0x1bd,_0x23c1d5:0x1dd,_0x280257:0x17e,_0x590f67:0x169,_0x4e8edd:0x17d,_0x32600c:0x121,_0x21bfad:0x222,_0x37e7ff:0x10e,_0x30c43f:0x204,_0xdc1489:0x136,_0x1b0d42:0x1b1,_0x370c78:0x195,_0x40a33b:0x1b0,_0x2248cf:0x1a9,_0x26dcd1:0x177,_0x42c28c:0x1a0,_0x2a7048:0x1c6,_0x19cf24:0x168,_0x3c3dee:0x1b9,_0x29ac96:0x1aa,_0x2473e5:0x169,_0x780185:0x1df},_0x45f2bd=_0x2a238d,_0x225d9a=_0x2a238d,_0x5b4d45={};_0x5b4d45[_0x45f2bd(_0x3bc6d1._0x30b285)]=_0x225d9a(_0x3bc6d1._0x421661)+_0x225d9a(0x1c6)+_0x45f2bd(0x1e6),_0x5b4d45['ndDpQ']=_0x45f2bd(0x128),_0x5b4d45[_0x45f2bd(_0x3bc6d1._0xdd2cb)]=_0x45f2bd(0x131),_0x5b4d45[_0x45f2bd(0x121)]=_0x225d9a(0x173),_0x5b4d45['aUCkr']=_0x45f2bd(_0x3bc6d1._0x5359ad),_0x5b4d45[_0x45f2bd(0x136)]=_0x225d9a(0x1f0),_0x5b4d45[_0x45f2bd(0x1e3)]=_0x45f2bd(0x172),_0x5b4d45['jbjsA']=function(_0x222f34,_0x3d8197){return _0x222f34-_0x3d8197;},_0x5b4d45['sclor']=function(_0x530564,_0x21c703){return _0x530564+_0x21c703;},_0x5b4d45[_0x225d9a(0x161)]=_0x225d9a(_0x3bc6d1._0x5aaf74),_0x5b4d45[_0x225d9a(0x13d)]=_0x225d9a(0x171),_0x5b4d45[_0x45f2bd(0x17b)]=function(_0x2823b1,_0x2e4f5b){return _0x2823b1+_0x2e4f5b;},_0x5b4d45[_0x45f2bd(_0x3bc6d1._0x23c1d5)]='empty-catc'+'h';const _0x483774=_0x5b4d45,_0x4ae53e=[_0x225d9a(_0x3bc6d1._0x280257)+'rc',_0x225d9a(0x197),_0x483774[_0x225d9a(0x1af)]][_0x45f2bd(_0x3bc6d1._0x590f67)](_0x3dae7c=>fs['existsSync'](path['join'](_0x526654,_0x3dae7c))),_0x5be309=[];let _0x34a470=0x1269*0x2+0x935+-0x2e07*0x1;for(const _0x385af8 of _0x4ae53e){const _0xfeeb8c=findFiles(path['join'](_0x526654,_0x385af8),[_0x483774[_0x225d9a(_0x3bc6d1._0x4e8edd)],_0x45f2bd(0x186),_0x483774[_0x225d9a(_0x3bc6d1._0x32600c)],_0x45f2bd(_0x3bc6d1._0x21bfad),_0x45f2bd(0x106)]);for(const _0x33cbd5 of _0xfeeb8c){const _0x242b51=readSafe(_0x33cbd5);if(!_0x242b51)continue;const _0x2ba7ff=path[_0x45f2bd(_0x3bc6d1._0x37e7ff)](_0x526654,_0x33cbd5);if(_0x2ba7ff['includes'](_0x45f2bd(_0x3bc6d1._0x30c43f))||_0x2ba7ff[_0x225d9a(0x1eb)](_0x483774['aUCkr'])||_0x2ba7ff[_0x45f2bd(0x1eb)](_0x483774[_0x225d9a(_0x3bc6d1._0xdc1489)])||_0x2ba7ff['includes'](_0x483774[_0x45f2bd(0x1e3)]))continue;const _0x3faaf1=_0x242b51[_0x45f2bd(_0x3bc6d1._0x1b0d42)]('\x0a');for(let _0x5b6869=-0x25a2+-0x1*-0x11a3+0x13ff;_0x5b6869<_0x3faaf1['length'];_0x5b6869++){const _0xd5a6ee=_0x3faaf1[_0x5b6869],_0x336df2=/\.(get|post|put|delete|patch)\s*\(\s*['"`]\/api\//[_0x225d9a(_0x3bc6d1._0x370c78)](_0xd5a6ee)||/fetch\s*\(\s*['"`].*\/api\//['test'](_0xd5a6ee)||/request\s*\(\s*\{[\s\S]*url.*\/api\//[_0x225d9a(0x195)](_0xd5a6ee)||/\bapi\.\w+\s*\(/[_0x45f2bd(0x195)](_0xd5a6ee);if(!_0x336df2)continue;_0x34a470++;const _0x419985=Math[_0x45f2bd(0x220)](-0x427+0x17a7+-0x1380,_0x483774[_0x45f2bd(_0x3bc6d1._0x40a33b)](_0x5b6869,-0x11b5+0x186d+-0x6b3)),_0x3e71c0=Math[_0x225d9a(0x1d3)](_0x3faaf1[_0x45f2bd(0x1df)],_0x483774[_0x225d9a(_0x3bc6d1._0x2248cf)](_0x5b6869,0x1c52+-0x2596+0x94e)),_0xbb3f19=_0x3faaf1[_0x45f2bd(_0x3bc6d1._0x26dcd1)](_0x419985,_0x3e71c0)['join']('\x0a'),_0x5e3cc3=/\.catch\s*\(/['test'](_0xbb3f19)||/catch\s*\(/[_0x225d9a(_0x3bc6d1._0x370c78)](_0xbb3f19)||/\.then\s*\([^)]*,[^)]*\)/['test'](_0xbb3f19)||/onError|errorHandler|handleError/i[_0x45f2bd(0x195)](_0xbb3f19)||/\.finally\s*\(/[_0x45f2bd(_0x3bc6d1._0x370c78)](_0xbb3f19),_0x40ba68=/catch\s*\([^)]*\)\s*\{\s*\}/['test'](_0xbb3f19)||/\.catch\s*\(\s*\(\s*\)\s*=>\s*\{\s*\}\s*\)/[_0x45f2bd(0x195)](_0xbb3f19);if(!_0x5e3cc3){if(_0x483774[_0x45f2bd(0x161)]===_0x483774[_0x225d9a(0x13d)]){const _0x43debd={};_0x43debd['file']=_0x21a24e,_0x43debd['line']=_0x369039+(0x100d+-0x17d9+0x7cd*0x1),_0x43debd[_0x225d9a(0x1b3)]=_0x225d9a(0x10d),_0x43debd['detail']=_0x483774[_0x45f2bd(_0x3bc6d1._0x42c28c)],_0x1137ac['push'](_0x43debd);}else _0x5be309[_0x45f2bd(0x1aa)]({'file':_0x2ba7ff,'line':_0x483774[_0x45f2bd(0x17b)](_0x5b6869,0x196a+0x24*0x1e+-0x1da1),'type':'no-catch','detail':'API\x20调用无错误处'+_0x45f2bd(_0x3bc6d1._0x2a7048)+'onError)'});}else{if(_0x40ba68){const _0x312acb={};_0x312acb['file']=_0x2ba7ff,_0x312acb[_0x225d9a(_0x3bc6d1._0x19cf24)]=_0x5b6869+(-0xbf8+-0x461*-0x5+0x2*-0x4f6),_0x312acb[_0x225d9a(0x1b3)]=_0x483774['edYma'],_0x312acb[_0x225d9a(0x219)]=_0x45f2bd(_0x3bc6d1._0x3c3dee)+_0x225d9a(0x181)+_0x45f2bd(0x1ad),_0x5be309[_0x45f2bd(_0x3bc6d1._0x29ac96)](_0x312acb);}}}}}return{'pass':_0x5be309['length']===-0xd*0x27+-0x1*-0xc0e+-0xa13,'violations':_0x5be309,'totalApiCalls':_0x34a470,'noHandling':_0x5be309[_0x45f2bd(_0x3bc6d1._0x2473e5)](_0x5a8ce8=>_0x5a8ce8[_0x45f2bd(0x1b3)]===_0x225d9a(0x10d))[_0x45f2bd(_0x3bc6d1._0x780185)],'emptyCatch':_0x5be309[_0x225d9a(0x169)](_0x3a1148=>_0x3a1148[_0x45f2bd(0x1b3)]===_0x45f2bd(0x157)+'h')['length']};}function checkHardcodedData(_0x3c3b3b){const _0x5281d9={_0x100e08:0x159,_0x5d5324:0x201,_0x2000ee:0x11f,_0x558b52:0x15b,_0x3a457b:0x197,_0x4c7557:0x15c,_0x49f584:0x173,_0x5c9ed2:0x222,_0x1d05ab:0x1a3,_0x2a196a:0x19f,_0x1daa20:0x1d0,_0x36fd00:0x177,_0x2c82b1:0x1ce,_0x2d2920:0x1b1,_0x47f2c3:0x21b,_0x46febf:0x168,_0x2e4d2c:0x212,_0x55eee1:0x219,_0x2d48ce:0x10e,_0x22a4bb:0x195,_0x3e17ce:0x1eb,_0x5e60f0:0x204,_0x2dbd51:0x153,_0x51aa3a:0x1df,_0x1dcb5e:0x1ce,_0x2cdb44:0x21b,_0x4dc91a:0x212,_0x1d7227:0x177,_0x17d858:0x1ce,_0x306b17:0x168,_0x2b93ca:0x163,_0x36513e:0x202,_0x30082f:0x1c7,_0x2fbf5d:0x210,_0x323506:0x1aa},_0x4e838a=_0x2a238d,_0x106f18=_0x2a238d,_0x3d555a={'qRJXd':_0x4e838a(_0x5281d9._0x100e08)+_0x4e838a(0x143)+_0x4e838a(_0x5281d9._0x5d5324)+_0x4e838a(_0x5281d9._0x2000ee),'Vrjvr':_0x4e838a(0x1f4),'AcoYr':_0x106f18(0x17e)+'rc','WSUpp':'.tsx','OablM':function(_0x192133,_0x35270f){return _0x192133!==_0x35270f;},'uCBAT':'KPfov','gbApg':function(_0x3a1d31,_0x4f23fc){return _0x3a1d31(_0x4f23fc);},'lnMnJ':function(_0x2e0ac1,_0x15213f){return _0x2e0ac1===_0x15213f;},'PBdid':_0x4e838a(0x1c4),'LbeoA':_0x106f18(_0x5281d9._0x558b52)},_0x1cb7bb=[_0x3d555a[_0x106f18(0x208)],_0x106f18(_0x5281d9._0x3a457b),_0x106f18(0x128)][_0x106f18(0x169)](_0x2a958a=>fs['existsSync'](path[_0x106f18(0x1d6)](_0x3c3b3b,_0x2a958a))),_0x190634=[];for(const _0x469695 of _0x1cb7bb){const _0x5cd23c=findFiles(path['join'](_0x3c3b3b,_0x469695),[_0x106f18(0x131),_0x3d555a[_0x4e838a(_0x5281d9._0x4c7557)],_0x4e838a(_0x5281d9._0x49f584),_0x4e838a(_0x5281d9._0x5c9ed2),'.js']);for(const _0x2eac03 of _0x5cd23c){if(_0x3d555a[_0x4e838a(_0x5281d9._0x1d05ab)](_0x3d555a[_0x4e838a(_0x5281d9._0x2a196a)],_0x4e838a(_0x5281d9._0x1daa20))){const _0x4c9b08=_0x21d6a5[_0x106f18(_0x5281d9._0x36fd00)](0x15e3+-0x1dd*-0x2+-0x199d,_0x5e2009[_0x106f18(_0x5281d9._0x2c82b1)])[_0x106f18(_0x5281d9._0x2d2920)]('\x0a')[_0x4e838a(0x1df)],_0xb73c7c={};_0xb73c7c[_0x106f18(_0x5281d9._0x47f2c3)]=_0xe133fe,_0xb73c7c[_0x106f18(_0x5281d9._0x46febf)]=_0x4c9b08,_0xb73c7c[_0x4e838a(0x1b3)]=_0x4e838a(_0x5281d9._0x2e4d2c)+_0x4e838a(0x1a5),_0xb73c7c[_0x106f18(0x21f)+'t']=_0x268f17,_0xb73c7c[_0x4e838a(_0x5281d9._0x55eee1)]=_0x106f18(0x203)+_0x1e6040+('\x20个对象,含\x20id/'+_0x106f18(0x135)+_0x106f18(0x21a)),_0x2cb5c6['push'](_0xb73c7c);}else{const _0xe3c88d=_0x3d555a[_0x4e838a(0x110)](readSafe,_0x2eac03);if(!_0xe3c88d)continue;const _0x1dceb2=path[_0x106f18(_0x5281d9._0x2d48ce)](_0x3c3b3b,_0x2eac03);if(/\/(constants?|config|utils?|helpers?|types?|enums?|mock)\//i[_0x106f18(_0x5281d9._0x22a4bb)](_0x1dceb2))continue;if(_0x1dceb2[_0x4e838a(_0x5281d9._0x3e17ce)](_0x4e838a(_0x5281d9._0x5e60f0))||_0x1dceb2[_0x4e838a(0x1eb)](_0x4e838a(_0x5281d9._0x2dbd51)))continue;const _0x3b3adf=/(?:const|let|var|ref\(|reactive\()\s*\w+\s*[=:]\s*\[[\s\S]{100,}?\]/g;let _0x8df74;while(_0x3d555a['OablM'](_0x8df74=_0x3b3adf[_0x4e838a(0x1e7)](_0xe3c88d),null)){const _0x1c6c4e=_0x8df74[0x803+-0xfa1*0x1+-0x1e*-0x41],_0x4ae121=(_0x1c6c4e['match'](/\{/g)||[])[_0x106f18(_0x5281d9._0x51aa3a)],_0xc5797a=/\bid\s*[:=]|name\s*[:=]\s*['"`]|title\s*[:=]\s*['"`]|label\s*[:=]\s*['"`]/[_0x4e838a(0x195)](_0x1c6c4e);if(_0x4ae121>=-0x1*-0xf5b+-0xbc8*-0x3+-0x32b0&&_0xc5797a){const _0x253801=_0xe3c88d['slice'](-0x1b1e+0x66*0x2a+-0x1*-0xa62,_0x8df74[_0x106f18(_0x5281d9._0x1dcb5e)])[_0x4e838a(_0x5281d9._0x2d2920)]('\x0a')['length'],_0x1a2b3a={};_0x1a2b3a[_0x106f18(_0x5281d9._0x2cdb44)]=_0x1dceb2,_0x1a2b3a[_0x106f18(0x168)]=_0x253801,_0x1a2b3a[_0x106f18(0x1b3)]=_0x4e838a(_0x5281d9._0x4dc91a)+_0x106f18(0x1a5),_0x1a2b3a['objectCoun'+'t']=_0x4ae121,_0x1a2b3a[_0x4e838a(_0x5281d9._0x55eee1)]=_0x4e838a(0x203)+_0x4ae121+(_0x106f18(0x165)+'name\x20字段\x20—\x20'+'应从\x20API\x20获取)'),_0x190634[_0x4e838a(0x1aa)](_0x1a2b3a);}}const _0x3a3055=/(?:tableData|dataSource|listData|dataList|options|menuList|items)\s*[=:]\s*(?:ref\(|reactive\()?\s*\[[\s\S]{50,}?\]/g;while((_0x8df74=_0x3a3055[_0x106f18(0x1e7)](_0xe3c88d))!==null){const _0x4b9e37=_0x8df74[0x886+-0x1*0xc82+0x3fc],_0x26e749=(_0x4b9e37['match'](/\{/g)||[])[_0x106f18(0x1df)];if(_0x26e749>=0x275+-0xdd3+0xb60){const _0xf9bfd5=_0xe3c88d[_0x106f18(_0x5281d9._0x1d7227)](-0x12ef+0xb50+0x79f,_0x8df74[_0x106f18(_0x5281d9._0x17d858)])['split']('\x0a')[_0x4e838a(_0x5281d9._0x51aa3a)];if(!_0x190634['some'](_0x526684=>_0x526684[_0x4e838a(0x21b)]===_0x1dceb2&&Math['abs'](_0x526684[_0x106f18(0x168)]-_0xf9bfd5)<0x7*-0x24d+0xb57*-0x1+-0x927*-0x3)){if(_0x3d555a['lnMnJ'](_0x3d555a['PBdid'],_0x3d555a[_0x106f18(0x160)]))try{return _0x159f8b(ryYyNp[_0x106f18(0x140)],{'cwd':_0x2dcae6,'stdio':ryYyNp[_0x4e838a(0x178)]}),!![];}catch{return![];}else{const _0x1fdea5={};_0x1fdea5[_0x106f18(0x21b)]=_0x1dceb2,_0x1fdea5[_0x4e838a(_0x5281d9._0x306b17)]=_0xf9bfd5,_0x1fdea5['type']=_0x106f18(0x212)+_0x106f18(_0x5281d9._0x2b93ca),_0x1fdea5['detail']=_0x106f18(_0x5281d9._0x36513e)+_0x4e838a(0x162)+_0x4e838a(_0x5281d9._0x30082f)+'组('+_0x26e749+_0x106f18(_0x5281d9._0x2fbf5d),_0x190634[_0x106f18(_0x5281d9._0x323506)](_0x1fdea5);}}}}}}}return{'pass':_0x3d555a[_0x4e838a(0x1b6)](_0x190634['length'],-0x3*-0x466+-0xd*-0x27b+-0x2d71),'suspects':_0x190634};}function _0xb3b7(){const _0x326100=['DhLWzq','qvbjiowLKEE6PUAGOEMQJa','BhbNEuS','Bg5nBKO','lMDV','n0XuvfnbAa','qvbjioIWG+EuQoACIsbJyq','BxDHwe4','q29TCgXLDgvUzq','u3DXshu','Afb2Eve','rLrIsK8','Bwf0y2HLza','mtKZmtG4oeXnwwXiwa','rNbVC0C','Dg90ywXbCgLdyq','yNvPBgq','z2XdzLC','zNjVBNrgBG','55cg77Yi5PEGignHDgnOlW','ioEBToAoPEI1I+waVos4UUEHRoE8LUEGGEAvSa','DgjWv0e','ve9vD0W','tfLyDgq','C3bLy19JB3bPBa','qMDLyM8','rxzpDMm','Aw5KzxG','yMfJA0zU','s1bMB3y','y2HLy2TbCgLdBW','AxfQqLm','BwLU','yKLIzxq','zNjVBNrgAwXL','AM9PBG','zgLZDa','6zsz6k+V5Ase55cg5A6H6k6H','t2jfEwK','CgvZ','v09qtum','nZeWmdq3oefjBxLQzG','zwrzBwe','rMLbwey','BgvUz3rO','nwL0tfLfrW','veLcBfK','wvvTsNC','zLv2sKq','BNnsu3a','sNfQDwW','B25fCNjVCU+8Iq','zxHLyW','B3qV','CMzcCu0','BwLZC2LUz09UrG','Aw5JBhvKzxm','CgfZCW','rvbuD3K','lM1K','sfjhzLa','lNnWzwmU','CMvXDwvZDezPzq','ioAwH+s7TG','zxHWB3j0CW','AwDUB3jL','qvzUsxu','y1zWyMK','whLxrNG','AvLYCe0','Ahvbvha','C2vHCMnO','Cgjbt3K','Bwv0Ag9K','D1jmtLu','CM91DgvYlNrZ','BMfTzq','wgnPsgO','BNnPzguTD29YAW','DgfIBgveyxrHlW','55Ar5lY856gS57Yw56cb5PwW5O2U77Yi','lMqUDhm','uvfXvhO','lMT0','zxjYB3i','qwnVwxi','mtq1mJDKyLPwqKq','vvPnsKm','Ag5et3m','DLbkCuu','zePMy2e','CNvUuMv2Awv3qW','tw51q2u','ios4QUwVUEIXOE+8Iq','B3fLyMi','AgfYzgnVzgvKlq','BM9Kzv9TB2r1Ba','sLHvr3y','rxLvz2C','AgfZ','BLfuExG','D2L0AezPBgvuEq','zgv0ywLS','5BQu5lUoiefqssdOJRFLJ5BVViK','zMLSzq','yM90Ac1TAxnZAq','mtu2odfnAMffrMu','twPtzLi','B2jQzwn0q291BG','Bwf4','DhjPBq','lNrZ','CKrct2G','ndb4q013ufO','AxneAxjLy3rVCG','CMvHzezPBgvtEq','tgTSsMG','lMPZ','CMvWBgfJzq','D21trfG','A0fKEhG','zxGUDhm','AwPstfu','zxGUANm','BM8Ty2f0y2G','CMvSyxrPDMu','5yMn5zco56UV5Awr57QM5lIa6iE05OcN','z2jbCgC','vgHlEhK','BwvZC2fNzq','CLH1Ae4','zMLUza','EwDlyLu','AuTrwfy','vMvUtMC','tKXyzxC','twfWCgLUzW','tgT2C2u','CMvNzxG','y2HLy2TiyxjKyW','BgfZDeLUzgv4','BwfW','lxrYzwu','nty4u1bQveDU','t1r1Bfu','sKX6qxO','56gS57Yw56cb5PwW5O2U5Qoa5Rwl','vePLEeS','ywn0q29UC2LZDa','wffhDNm','u2HzC3y','C3jJ','zxHPC3rZu3LUyW','C3jJl21HAw4','yMfJA0zPBgu','C3rHDhvZ','ywfYuei','EMDYB3y','wwTYuve','Dg9Svgi','lNz1zq','vNfJwuq','CvDSyuW','yMuTBwLZC2LUzW','BMfTzsdLRzFMRRuG4Ocuia','wePyz3C','tLzNyNG','Dg9vChbLCKnHCW','t1zHthG','A2LgCNm','CM91DgvYlMPZ','BM9iyw5KBgLUzW','vujsswe','uvnJzvO','zMuTBwLZC2LUzW','Cvjkwgq','EuTzrLy','B2rLzerHDge','CNnLic0TAxmTAq','uLDeCK4','zMvgB3vUza','lMPHDMe','ota5mZeXzxHbCML0','yY9TywLU','sgnTqxy','5PYQ5OM+5yIWihjVDxrLCG','zM5oyw1L','ywrK','BNH5vhO','yvrethO','CMvXDwLYzwrgAq','qvbjioIWG+EuQoAxOoMuMEIVR+wKHa','lNb5','Eev6uhO','x190zxn0','55sX5AoW5PIo','56gS57Yw56cb5lIA5yQH6lQR5lU95Qoa5Rwl','yxbWBhK','zw1WDhKTy2f0yW','DLL6v2S','z2L0ihjLDI1Wyq','Aw9eyxu','s3reChq','v1nvCha','B1Hcyvm','r1zwvui','CM91DgvYl2LUza','tgjLB0e','vxPgweO','zgf0yvnVDxjJzq','zgf0yxnVDxjJzq','uLzTDhK','ios4QUwVUEIXOE+8JowqQYbPzc8','oLTHlxPblvPDkW','C3rHCNrZv2L0Aa','BgLUzq','zMLSDgvY','BufirMm','EuT3CKG','BNrYywn0','odzbwxvtAMi','A2rKzMO','Dg9tDhjPBMC','Bwf0y2HbBgW','EgvSvMi','lNrLC3qU','lMPZEa','Cgf0Aa','BfLQBhi','zw5JB2rPBMC','C2XPy2u','vNjQDNi','yMfJA2vUzc9ZCG','mtiZotm2mgjtCxzrua','rK1AzMG','EufWEhe','yLbxq0e','zNjVBNrLBMqVCW','DgfYz2v0','BM9Uu25HA2vczq','DgnOios9HUs4UUEPUU+8IowqNUAoIq','C3zxwe8','y29UC3rYDwn0BW','CgvUz00','BLDSAgG','lNrZEa','DMLVBgf0Aw9UCW','CgLWzq','mJi1mta4ngXnqNP2vG','z2L0igDYzxaGlq','EvnPEwO','BgXZ','y2HLy2TZ','zw5KC1DPDgG','CwvdzLy','DujOAKS','sgfUzgXPBMC','u3LQwfG','r3PWCLu','C2TLrMi','DgvZDa','C3rKAw8','yxbWl3nYyW','zxnZ','EK1VAMC','BM9Uu25HA2vgzq','CMvHzgrPCLn5BG','BcaTlsaI','BLzdBu8','C29Tzq','Duncqvq','B1vJwLa','y3DK','zgPtBMC','t2fIBe0','AfHoBwu','yxjYyxK','Dg90ywW','CMvHC29U','AgTwDMS','C2nSB3i','ChvZAa','otzxAwv1qLO','kcGOlISPkYKRkq','5lQg6zsz6k+V77Yj','DxrMltG','BMreCfe','AMjQC0e','C3bSAxq','Bwf0y2G'];_0xb3b7=function(){return _0x326100;};return _0xb3b7();}function checkHardcodedIdentities(_0x11a270){const _0x5898f1={_0x56c7a6:0x13e,_0x4c5cb6:0x197,_0x4c2be1:0x1a7,_0x34c260:0x1a8,_0x3c0056:0x11b,_0x1d887e:0x205,_0x57e506:0x185,_0x46d1e9:0x10b,_0x4659d0:0x10e,_0x137716:0x195,_0x2c6f1b:0x107,_0x4f2338:0x1cd,_0x2c0d80:0x1ce,_0x588f2f:0x170,_0x1a0bd9:0x11e,_0x57ed8c:0x1aa,_0x6086a1:0x187},_0x371143={_0x11acbc:0x221,_0x53d16b:0x167,_0x126764:0x195,_0x51c95f:0x1aa,_0x43090b:0x11b},_0x5bdc48=_0xd0ed6,_0x4a780a=_0xd0ed6,_0x598ce4={'EvOvc':_0x5bdc48(0x119),'yApxq':function(_0x18867b,_0x5d36b3){return _0x18867b(_0x5d36b3);},'bIbet':function(_0x7df5ad,_0x494a58){return _0x7df5ad+_0x494a58;},'hkVvk':'硬编码业务身份/人员'+'名称','QQqTz':'当前登录人被前端写死','LaLDQ':_0x4a780a(_0x5898f1._0x56c7a6),'ijRLU':_0x4a780a(0x131),'NVgbx':_0x4a780a(0x186)},_0x53383b=[_0x4a780a(0x17e)+'rc',_0x4a780a(_0x5898f1._0x4c5cb6),_0x5bdc48(0x128)][_0x4a780a(0x169)](_0x1cad5e=>fs[_0x4a780a(0x129)](path[_0x4a780a(0x1d6)](_0x11a270,_0x1cad5e))),_0x3ddf37=[],_0x5a2a62={};_0x5a2a62['regex']=/\buser-\d{3,}\b/g,_0x5a2a62[_0x4a780a(_0x5898f1._0x4c2be1)]='硬编码用户\x20ID';const _0x1fc507={};_0x1fc507[_0x5bdc48(0x11b)]=/['"`](张三|李四|王五|赵六|管理员|许可人|签发人|接票人)['"`]/g,_0x1fc507[_0x5bdc48(_0x5898f1._0x4c2be1)]=_0x598ce4[_0x5bdc48(_0x5898f1._0x34c260)];const _0x2a7c74={};_0x2a7c74[_0x5bdc48(_0x5898f1._0x3c0056)]=/\b(currentUser|operatorId|operatorName)\s*[:=]\s*['"`][^'"`]+['"`]/g,_0x2a7c74['reason']=_0x598ce4[_0x4a780a(_0x5898f1._0x1d887e)];const _0x3adeba=[_0x5a2a62,_0x1fc507,_0x2a7c74];for(const _0x202a23 of _0x53383b){if(_0x4a780a(_0x5898f1._0x57e506)!==_0x598ce4['LaLDQ']){const _0x2ed047=findFiles(path['join'](_0x11a270,_0x202a23),[_0x598ce4[_0x5bdc48(_0x5898f1._0x46d1e9)],_0x598ce4[_0x5bdc48(0x137)],_0x4a780a(0x173),'.ts','.js']);for(const _0x2f2453 of _0x2ed047){const _0x25c694=path[_0x5bdc48(_0x5898f1._0x4659d0)](_0x11a270,_0x2f2453);if(/\/(mock|__tests__|fixtures)\//[_0x5bdc48(_0x5898f1._0x137716)](_0x25c694['replace'](/\\/g,'/')))continue;const _0xd51c09=_0x598ce4['yApxq'](readSafe,_0x2f2453);if(!_0xd51c09)continue;const _0x26ab1d=_0xd51c09[_0x5bdc48(0x1b1)]('\x0a');_0x26ab1d['forEach']((_0x4df511,_0x25275b)=>{const _0x384281=_0x4a780a,_0xc5ea67=_0x4a780a,_0x111206=_0x4df511[_0x384281(_0x371143._0x11acbc)]();if(_0x111206['startsWith']('//')||_0x111206[_0x384281(_0x371143._0x53d16b)]('*'))return;for(const _0x4cd390 of _0x3adeba){if(_0x4cd390[_0xc5ea67(0x11b)][_0x384281(_0x371143._0x126764)](_0x4df511)){_0x3ddf37[_0x384281(_0x371143._0x51c95f)]({'file':_0x25c694,'line':_0x25275b+(0xd*0xb5+-0x27e*-0xb+0x1*-0x249a),'detail':_0x4cd390[_0xc5ea67(0x1a7)],'snippet':_0x111206['slice'](-0x1*0xae5+0x225c+0x1*-0x1777,-0x4d*0x6+-0xd*-0x283+-0x1e61)});break;}_0x4cd390[_0x384281(_0x371143._0x43090b)][_0xc5ea67(0x11d)]=-0x21b9*-0x1+0xab*0x9+-0x27bc;}});}}else{const _0x55d9fa=_0x9f1543[0xb*0x235+-0x6a*0x7+-0x1560][_0x5bdc48(_0x5898f1._0x2c6f1b)](rzfBeP[_0x5bdc48(_0x5898f1._0x4f2338)],'')[_0x4a780a(0x138)+'e'](),_0x54ec91=_0x195f64[-0x1*0x5d+-0x1d75*-0x1+-0x1d16],_0x34080c=_0x4a9ead[0x1ded*0x1+-0xf*-0x12f+-0x2fab],_0x39c4e1=_0x406df9[-0x2271*-0x1+-0xf68+0x3*-0x657]||'',_0x1d5e04=rzfBeP[_0x5bdc48(0x17c)](_0x189e67,[..._0x39c4e1[_0x4a780a(0x170)](/(?:@PathVariable|@RequestParam(?:\(\s*["']([^"']+)["'])?|@RequestBody)\s*(?:@Valid\s*)?(?:Map<String,\s*Object>|[A-Za-z0-9_<>, ?]+)\s+([A-Za-z0-9_$]+)/g)]['map'](_0x45224f=>_0x45224f[-0xd8b*-0x2+-0x1676+-0xd*0x5b]||_0x45224f[0x16a3+-0x8f9*0x1+0x4c*-0x2e])),_0x222fb7=_0x413203([..._0xc0e374['slice'](_0x1478a2['index'],_0x3a4c21[_0x5bdc48(0x1d3)](_0x49a58f[_0x5bdc48(0x1df)],rzfBeP[_0x4a780a(0x1d4)](_0x1e41d2[_0x4a780a(_0x5898f1._0x2c0d80)],-0x1*0x1dea+0x3*-0xa9f+0x43a3)))[_0x4a780a(_0x5898f1._0x588f2f)](/require\(body,\s*["']([^"']+)["']\)/g)][_0x5bdc48(_0x5898f1._0x1a0bd9)](_0x38b183=>_0x38b183[0x14f7+0x7*-0x544+0x1*0xfe6]));_0x2791d4[_0x4a780a(_0x5898f1._0x57ed8c)]({'file':_0x348b59,'fnName':_0x34080c,'method':_0x55d9fa,'path':(''+_0x2942e7+_0x54ec91)[_0x4a780a(0x107)](/\/+/g,'/'),'requiredFields':_0x222fb7[_0x5bdc48(0x1df)]>-0x5*0x5c5+-0x1*0xefd+0x2bd6?_0x222fb7:_0x1d5e04,'rawParams':_0x1d5e04});}}const _0x16be85={};return _0x16be85['pass']=_0x3ddf37[_0x5bdc48(0x1df)]===0x34f+-0x5db*0x6+-0x1fd3*-0x1,_0x16be85[_0x4a780a(_0x5898f1._0x6086a1)]=_0x3ddf37,_0x16be85;}function checkRouteCompleteness(_0x3bf409,_0x1b7303){const _0x35feb7={_0x56ad31:0x128,_0x47c2d8:0x1f7,_0x3d09fd:0x15f,_0x3d7053:0x10a,_0x566541:0x1c9,_0x1bffcc:0x1d2,_0x1c5472:0x124,_0x2592d6:0x216,_0x12342f:0x129,_0x4436d4:0x1fd,_0x1cfdbc:0x1fc,_0x1fbe0f:0x174,_0x5dd0db:0x1d5,_0xa17198:0x1c5,_0x545c40:0x1ea,_0x282a5a:0x180,_0x55a8be:0x1f2,_0x58b764:0x1d2,_0x2f68b6:0x127,_0x1e02bc:0x107,_0x40eb2c:0x168,_0xfe6536:0x1c7,_0x4b29ab:0x1aa,_0x4d4e96:0x1df,_0x2ab8c5:0x1bf,_0x3b1c40:0x1df},_0x27e8f4=_0xd0ed6,_0x273d8a=_0xd0ed6,_0x47d83f={'Jqjul':_0x27e8f4(0x212)+_0x273d8a(0x163),'vAZnk':function(_0x501e84,_0x4d6ba2){return _0x501e84(_0x4d6ba2);},'iqjBS':function(_0x4238bd,_0x2b8c48){return _0x4238bd===_0x2b8c48;},'nWUjk':'spec\x20中无显式路'+_0x27e8f4(0x154),'Lkvse':'frontend/s'+'rc','Edcwv':_0x273d8a(0x197),'UXJan':_0x27e8f4(_0x35feb7._0x56ad31),'rwrai':_0x273d8a(_0x35feb7._0x47c2d8),'fCzVj':_0x273d8a(_0x35feb7._0x3d09fd)+_0x27e8f4(_0x35feb7._0x3d7053),'tbpWA':_0x273d8a(0x15f)+'ex.js','kAdxx':_0x27e8f4(0x1fe),'ipCHU':_0x273d8a(0x13b),'Bgebo':_0x273d8a(_0x35feb7._0x566541),'wRLNU':function(_0x13ec00,_0x480e3d){return _0x13ec00+_0x480e3d;},'vYzWk':'TBYai','ShYsv':_0x27e8f4(0x166)},_0x5e0661=_0x47d83f['vAZnk'](extractSpecRoutes,_0x1b7303);if(_0x47d83f[_0x27e8f4(_0x35feb7._0x1bffcc)](_0x5e0661['length'],0x2467+0x1ead+-0x4314))return{'pass':!![],'message':_0x47d83f['nWUjk']};const _0x140f0a=[_0x47d83f[_0x27e8f4(0x11a)],_0x47d83f['Edcwv'],_0x47d83f['UXJan']]['filter'](_0x5cc0ff=>fs[_0x27e8f4(0x129)](path['join'](_0x3bf409,_0x5cc0ff)));let _0x2f26f1='';for(const _0x524121 of _0x140f0a){if(_0x47d83f['rwrai']===_0x27e8f4(0x1f7))for(const _0x55226e of[_0x47d83f['fCzVj'],_0x47d83f[_0x27e8f4(0x1c8)],_0x47d83f[_0x27e8f4(0x109)],_0x47d83f['ipCHU']]){if(_0x47d83f[_0x27e8f4(0x1cc)]===_0x27e8f4(_0x35feb7._0x1c5472)){const _0x58a2a6=[],_0x266d77=new _0x298ac8(),_0x300e66=/(GET|POST|PUT|DELETE|PATCH)\s+(\/api\/[^\s|,))\]]+)/g;let _0xd542ec;while((_0xd542ec=_0x300e66['exec'](_0x471a7a))!==null){const _0x45e37a=_0xd542ec[-0x12de+0x2d5+-0x2*-0x805]+'\x20'+_0xd542ec[-0x25e*-0xb+-0x72*0x6+-0x175c];if(!_0x266d77[_0x27e8f4(_0x35feb7._0x2592d6)](_0x45e37a)){_0x266d77['add'](_0x45e37a);const _0x2549af={};_0x2549af[_0x273d8a(0x1fc)]=_0xd542ec[0x2180+0x16*-0xe2+-0xe13*0x1],_0x2549af['path']=_0xd542ec[-0x93d+0x1220+-0x8e1],_0x58a2a6[_0x273d8a(0x1aa)](_0x2549af);}}return _0x58a2a6;}else{const _0x3eb9d1=path['join'](_0x3bf409,_0x524121,_0x55226e);if(fs[_0x27e8f4(_0x35feb7._0x12342f)](_0x3eb9d1))_0x2f26f1+=_0x47d83f[_0x273d8a(_0x35feb7._0x4436d4)](readSafe(_0x3eb9d1),'\x0a');}}else{const _0x57b48b={};_0x57b48b[_0x273d8a(_0x35feb7._0x1cfdbc)]=_0x5d050c[_0x273d8a(0x1fc)],_0x57b48b[_0x27e8f4(_0x35feb7._0x1fbe0f)]=_0x3715f3['path'],_0x57b48b[_0x27e8f4(_0x35feb7._0x5dd0db)]=_0x3c7b7b[_0x273d8a(0x21b)],_0x57b48b[_0x27e8f4(_0x35feb7._0xa17198)]=_0x1dc6ec['fnName'],_0x57b48b['backFile']=_0x1ae901[_0x27e8f4(0x21b)],_0x57b48b[_0x27e8f4(0x1cf)]=_0xbf6cb5[_0x27e8f4(0x14b)],_0x57b48b[_0x273d8a(_0x35feb7._0x545c40)+'e']=_0x46855f,_0x57b48b[_0x27e8f4(0x19a)]=_0x9b9179,_0x57b48b[_0x27e8f4(_0x35feb7._0x282a5a)]=_0x183720,_0xdb5420[_0x273d8a(0x1aa)](_0x57b48b);}}const _0xe9016d={};_0xe9016d[_0x273d8a(0x1ec)]=!![],_0xe9016d[_0x273d8a(0x112)]=_0x27e8f4(0x14a)+_0x273d8a(_0x35feb7._0x55a8be);if(!_0x2f26f1)return _0xe9016d;const _0x2902b6=[];for(const _0xb63767 of _0x5e0661){if(_0x47d83f[_0x27e8f4(_0x35feb7._0x58b764)]('TBYai',_0x47d83f[_0x273d8a(0x158)])){const _0x38d65a=_0xb63767[_0x273d8a(0x107)](/:[a-zA-Z]+/g,_0x47d83f[_0x273d8a(_0x35feb7._0x2f68b6)]);!_0x2f26f1[_0x27e8f4(0x1eb)](_0xb63767)&&!new RegExp(_0x38d65a[_0x273d8a(_0x35feb7._0x1e02bc)](/\//g,'\x5c/'))[_0x273d8a(0x195)](_0x2f26f1)&&_0x2902b6[_0x273d8a(0x1aa)](_0xb63767);}else{const _0x2ab796=_0x1a3014['slice'](-0x2a+0x18af*-0x1+-0x18d9*-0x1,_0x207587[_0x273d8a(0x1ce)])[_0x27e8f4(0x1b1)]('\x0a')['length'];if(!_0x549028[_0x27e8f4(0x19e)](_0xc4fef8=>_0xc4fef8[_0x27e8f4(0x21b)]===_0x3d0408&&_0x227762['abs'](_0xc4fef8[_0x27e8f4(0x168)]-_0x2ab796)<-0x851+-0x33d+0xb91)){const _0x1b9b09={};_0x1b9b09['file']=_0x3695e8,_0x1b9b09[_0x27e8f4(_0x35feb7._0x40eb2c)]=_0x2ab796,_0x1b9b09[_0x27e8f4(0x1b3)]=nudgEg[_0x27e8f4(0x1e5)],_0x1b9b09[_0x27e8f4(0x219)]=_0x273d8a(0x202)+'dataSource'+_0x27e8f4(_0x35feb7._0xfe6536)+'组('+_0x2f2af3+_0x273d8a(0x210),_0x1ea622[_0x27e8f4(_0x35feb7._0x4b29ab)](_0x1b9b09);}}}const _0x53286a={};return _0x53286a[_0x273d8a(0x1ec)]=_0x2902b6['length']===0x4c5+-0x2f*-0x9d+-0x28*0xd7,_0x53286a[_0x273d8a(0x1a6)]=_0x5e0661[_0x27e8f4(_0x35feb7._0x4d4e96)],_0x53286a[_0x27e8f4(_0x35feb7._0x2ab8c5)]=_0x5e0661[_0x27e8f4(_0x35feb7._0x4d4e96)]-_0x2902b6[_0x273d8a(_0x35feb7._0x3b1c40)],_0x53286a['missing']=_0x2902b6,_0x53286a;}function runReviewChecks(_0xc8ee7c,_0x5d4d21){const _0x5e70b9={_0x300df1:0x166,_0x4ae870:0x20b,_0x5e04a7:0x155,_0x50242b:0x116,_0x1c3ad3:0x1b4,_0x3ec401:0x207,_0x549b6b:0x175,_0x1b37ed:0x175,_0x29c5e:0x1aa,_0x1aeb65:0x10f,_0x429054:0x1aa,_0x2392ea:0x192,_0x3b3c81:0x1a2,_0x5a23b4:0x18c,_0x2ebfd2:0x13c,_0x54f213:0x1c2,_0x48b4d4:0x18c,_0x5e5dc9:0x139,_0x1c9eca:0x15a,_0x11854e:0x1a2,_0x3936ed:0x15f,_0x530614:0x15f,_0x370359:0x19d,_0x57ec09:0x1d6,_0x23325a:0x214,_0x3bdd5a:0x190,_0x5c32a1:0x130,_0x3e50fb:0x200,_0x108a7c:0x123,_0x327c16:0x207,_0x119fc3:0x112,_0xb896db:0x1aa,_0x393de6:0x15d,_0xa30314:0x1ff,_0x486b82:0x141,_0x1762ae:0x1ec,_0x46e219:0x207,_0xbabc8c:0x18b,_0x1ab81c:0x149,_0x56d8d6:0x1ec},_0x5eb66d=_0x2a238d,_0x4fe178=_0x2a238d,_0xcfc777={'XQGvs':_0x5eb66d(_0x5e70b9._0x300df1),'nVCmO':_0x4fe178(0x1fe),'ThKxy':_0x5eb66d(0x13b),'JXUGv':function(_0x48d742,_0x58c03e){return _0x48d742+_0x58c03e;},'iKQXV':'API\x20契约校验','ZarZn':function(_0x469303,_0x15459f){return _0x469303(_0x15459f);},'lYjlr':'TMPbk','SyjXX':function(_0x144fef,_0x2f4767){return _0x144fef(_0x2f4767);},'djSng':_0x4fe178(0x1d8),'VrsSt':function(_0x430943,_0x3b8820){return _0x430943/_0x3b8820;},'OVaLx':function(_0x59bf87,_0x221469){return _0x59bf87>_0x221469;},'ioDau':'GaUXi','WAxet':function(_0x4fcf7c,_0x3b673d){return _0x4fcf7c!==_0x3b673d;},'HRGfP':function(_0x5e9c96,_0xbbccb1){return _0x5e9c96===_0xbbccb1;},'TIBlY':_0x5eb66d(_0x5e70b9._0x4ae870),'oXBaS':function(_0x5ad47a,_0x32d2a6){return _0x5ad47a(_0x32d2a6);},'yKYFV':_0x5eb66d(_0x5e70b9._0x5e04a7),'ySiyj':function(_0x2c2a75,_0xd4f18c,_0x1b9b25){return _0x2c2a75(_0xd4f18c,_0x1b9b25);},'HcmAv':'路由完整性'},_0x22caae=[];let _0x48cb02=!![];try{const _0x5ab42f=checkApiContract(_0xc8ee7c,_0x5d4d21),_0x2445d2={'name':_0xcfc777[_0x5eb66d(_0x5e70b9._0x50242b)],..._0x5ab42f};_0x22caae['push'](_0x2445d2);if(!_0x5ab42f[_0x5eb66d(0x1ec)])_0x48cb02=![];}catch(_0xfb900e){const _0x449c7f={};_0x449c7f[_0x5eb66d(0x1ff)]=_0x4fe178(_0x5e70b9._0x1c3ad3),_0x449c7f['pass']=!![],_0x449c7f[_0x4fe178(_0x5e70b9._0x3ec401)]=_0xfb900e[_0x5eb66d(0x112)],_0x22caae[_0x5eb66d(0x1aa)](_0x449c7f);}try{const _0xf69e71=_0xcfc777['ZarZn'](checkContractConsistency,_0xc8ee7c),_0x482326={'name':_0x4fe178(0x10f),..._0xf69e71};_0x22caae['push'](_0x482326);if(!_0xf69e71[_0x4fe178(0x1ec)])_0x48cb02=![];}catch(_0x498a63){if(_0xcfc777[_0x4fe178(_0x5e70b9._0x549b6b)]!==_0xcfc777[_0x4fe178(_0x5e70b9._0x1b37ed)]){const _0x4b9e24=_0x13f289['replace'](/:[a-zA-Z]+/g,aJmMti[_0x5eb66d(0x126)]);!_0x5b6924['includes'](_0x31fe5b)&&!new _0x1a4d1d(_0x4b9e24['replace'](/\//g,'\x5c/'))[_0x4fe178(0x195)](_0x5d9e7f)&&_0x5cf613[_0x4fe178(_0x5e70b9._0x29c5e)](_0x33a689);}else{const _0x4782b2={};_0x4782b2[_0x4fe178(0x1ff)]=_0x5eb66d(_0x5e70b9._0x1aeb65),_0x4782b2['pass']=!![],_0x4782b2[_0x5eb66d(_0x5e70b9._0x3ec401)]=_0x498a63['message'],_0x22caae[_0x4fe178(_0x5e70b9._0x429054)](_0x4782b2);}}try{const _0x1f47f5=_0xcfc777[_0x4fe178(_0x5e70b9._0x2392ea)](checkErrorHandling,_0xc8ee7c),_0x4f8b0d={'name':_0xcfc777[_0x4fe178(_0x5e70b9._0x3b3c81)],..._0x1f47f5};_0x22caae[_0x5eb66d(_0x5e70b9._0x29c5e)](_0x4f8b0d);if(_0x1f47f5[_0x5eb66d(0x1c2)+_0x5eb66d(_0x5e70b9._0x5a23b4)]>-0x16c9+-0x254a+-0x1*-0x3c13){const _0x55c269=_0xcfc777['VrsSt'](_0x1f47f5[_0x5eb66d(_0x5e70b9._0x2ebfd2)],_0x1f47f5[_0x4fe178(_0x5e70b9._0x54f213)+_0x5eb66d(_0x5e70b9._0x48b4d4)]);if(_0xcfc777[_0x4fe178(_0x5e70b9._0x5e5dc9)](_0x55c269,0x7c*-0x41+0x2*-0xcd9+0x392e+0.5))_0x48cb02=![];}}catch(_0xa2b073){if(_0xcfc777['ioDau']===_0xcfc777[_0x4fe178(_0x5e70b9._0x1c9eca)]){const _0x4f8126={};_0x4f8126[_0x4fe178(0x1ff)]=_0xcfc777[_0x4fe178(_0x5e70b9._0x11854e)],_0x4f8126[_0x4fe178(0x1ec)]=!![],_0x4f8126[_0x4fe178(0x207)]=_0xa2b073[_0x5eb66d(0x112)],_0x22caae[_0x5eb66d(0x1aa)](_0x4f8126);}else for(const _0x182bef of[_0x5eb66d(_0x5e70b9._0x3936ed)+_0x4fe178(0x10a),_0x4fe178(_0x5e70b9._0x530614)+_0x4fe178(0x10c),aJmMti[_0x4fe178(_0x5e70b9._0x370359)],aJmMti[_0x4fe178(0x111)]]){const _0x29847c=_0x3f9bcd[_0x5eb66d(_0x5e70b9._0x57ec09)](_0x2ff7d6,_0x342a7f,_0x182bef);if(_0x5274bb['existsSync'](_0x29847c))_0x579060+=aJmMti[_0x5eb66d(_0x5e70b9._0x23325a)](_0x5d88a9(_0x29847c),'\x0a');}}try{if(_0xcfc777['WAxet'](_0x4fe178(_0x5e70b9._0x3bdd5a),_0x5eb66d(_0x5e70b9._0x5c32a1))){const _0x2619e7=checkHardcodedData(_0xc8ee7c),_0x3c8e63={'name':_0x5eb66d(0x123),..._0x2619e7};_0x22caae[_0x5eb66d(_0x5e70b9._0x429054)](_0x3c8e63);}else return![];}catch(_0x37e58a){if(_0xcfc777[_0x5eb66d(0x1ef)](_0xcfc777[_0x5eb66d(0x1e1)],_0x5eb66d(_0x5e70b9._0x3e50fb)))_0x463e05[_0x4fe178(0x14c)](_0x1ad8a1[-0x1574+-0x24a*0x5+0x20e7]),_0x5aee97[_0x4fe178(0x1aa)](_0x5197ed[0x1c9*0x15+-0x2600+0x84]);else{const _0x2c8b0c={};_0x2c8b0c[_0x4fe178(0x1ff)]=_0x4fe178(_0x5e70b9._0x108a7c),_0x2c8b0c['pass']=!![],_0x2c8b0c[_0x5eb66d(_0x5e70b9._0x327c16)]=_0x37e58a[_0x5eb66d(_0x5e70b9._0x119fc3)],_0x22caae[_0x4fe178(_0x5e70b9._0xb896db)](_0x2c8b0c);}}try{const _0x1b0b07=_0xcfc777[_0x4fe178(_0x5e70b9._0x393de6)](checkHardcodedIdentities,_0xc8ee7c),_0x5b8017={'name':_0xcfc777['yKYFV'],..._0x1b0b07};_0x22caae['push'](_0x5b8017);if(!_0x1b0b07[_0x4fe178(0x1ec)])_0x48cb02=![];}catch(_0x3d8590){const _0x10f179={};_0x10f179[_0x4fe178(_0x5e70b9._0xa30314)]=_0xcfc777[_0x5eb66d(_0x5e70b9._0x486b82)],_0x10f179[_0x4fe178(_0x5e70b9._0x1762ae)]=!![],_0x10f179[_0x4fe178(_0x5e70b9._0x46e219)]=_0x3d8590[_0x5eb66d(_0x5e70b9._0x119fc3)],_0x22caae[_0x5eb66d(0x1aa)](_0x10f179);}try{const _0x49af24=_0xcfc777[_0x5eb66d(_0x5e70b9._0xbabc8c)](checkRouteCompleteness,_0xc8ee7c,_0x5d4d21),_0x4d09c8={'name':_0xcfc777['HcmAv'],..._0x49af24};_0x22caae[_0x4fe178(0x1aa)](_0x4d09c8);if(!_0x49af24['pass'])_0x48cb02=![];}catch(_0x147b68){const _0x15c878={};_0x15c878[_0x4fe178(_0x5e70b9._0xa30314)]=_0xcfc777[_0x5eb66d(_0x5e70b9._0x1ab81c)],_0x15c878[_0x5eb66d(0x1ec)]=!![],_0x15c878['error']=_0x147b68[_0x4fe178(0x112)],_0x22caae[_0x4fe178(_0x5e70b9._0x29c5e)](_0x15c878);}const _0x4fed62={};return _0x4fed62[_0x4fe178(_0x5e70b9._0x56d8d6)]=_0x48cb02,_0x4fed62[_0x4fe178(0x18d)]=_0x22caae,_0x4fed62;}const _0x3139e8={};_0x3139e8[_0x2a238d(0x20e)+'hecks']=runReviewChecks,_0x3139e8[_0x2a238d(0x1d1)+_0x2a238d(0x16c)]=checkApiContract,_0x3139e8['checkContr'+_0xd0ed6(0x125)+'ency']=checkContractConsistency,_0x3139e8['checkError'+_0x2a238d(0x191)]=checkErrorHandling,_0x3139e8[_0x2a238d(0x11c)+_0x2a238d(0x142)]=checkHardcodedData,_0x3139e8['checkHardc'+'odedIdenti'+'ties']=checkHardcodedIdentities,_0x3139e8['checkRoute'+_0x2a238d(0x1bb)+'ss']=checkRouteCompleteness,module[_0x2a238d(0x1f3)]=_0x3139e8;
11
+ const _0x295acf=_0x494b,_0x33c962=_0x494b;function _0x494b(_0x554809,_0x5794f6){_0x554809=_0x554809-(-0x24bf+-0x2166+0x4780);const _0x22f05f=_0x5860();let _0x1c4eb6=_0x22f05f[_0x554809];if(_0x494b['tKtfwl']===undefined){var _0x258336=function(_0x81288e){const _0x41cc98='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x251f48='',_0x563122='',_0x46e3bc=_0x251f48+_0x258336,_0xa50823=(''+function(){return-0x324*0xb+0x14fb+0xd91;})['indexOf']('\x0a')!==-(0xd2*0xa+0x1*0x133b+-0x1b6e);for(let _0x49f342=0x8d8*0x2+0xe0d*-0x2+0x2b*0x3e,_0x1862aa,_0x1ae8c4,_0x121d16=-0x1152+-0x5*0x39b+-0x2359*-0x1;_0x1ae8c4=_0x81288e['charAt'](_0x121d16++);~_0x1ae8c4&&(_0x1862aa=_0x49f342%(0x7f4+-0x26b8+0x628*0x5)?_0x1862aa*(0x68f+0x1b34+-0x2183)+_0x1ae8c4:_0x1ae8c4,_0x49f342++%(0x4*0x65a+0x944+0x8aa*-0x4))?_0x251f48+=_0xa50823||_0x46e3bc['charCodeAt'](_0x121d16+(0x13c3+-0x61*-0x4a+0x1*-0x2fc3))-(0x224+-0x6*-0x67+-0x484)!==0x59+0x2*-0x1307+-0x563*-0x7?String['fromCharCode'](0x1*0x177c+-0x8b2+0x499*-0x3&_0x1862aa>>(-(0x25*0xe1+-0x199b+-0x6e8*0x1)*_0x49f342&-0x42*0x58+0x202e*0x1+-0x978)):_0x49f342:-0x10c9+-0xef5*0x1+0x1fbe){_0x1ae8c4=_0x41cc98['indexOf'](_0x1ae8c4);}for(let _0x1d42dc=0x3*0x9d7+0x2414+-0x95f*0x7,_0x90c88=_0x251f48['length'];_0x1d42dc<_0x90c88;_0x1d42dc++){_0x563122+='%'+('00'+_0x251f48['charCodeAt'](_0x1d42dc)['toString'](0xa*0x265+0x1991*0x1+-0x3173))['slice'](-(0xda9+0x2059+-0x2e00));}return decodeURIComponent(_0x563122);};_0x494b['aZfmut']=_0x258336,_0x494b['gjRGcv']={},_0x494b['tKtfwl']=!![];}const _0x11bc86=_0x22f05f[-0x13a6+0x9f5*-0x2+0x2790],_0x2b2339=_0x554809+_0x11bc86,_0xa9cf63=_0x494b['gjRGcv'][_0x2b2339];if(!_0xa9cf63){const _0x2c13a5=function(_0x27e419){this['LpClhA']=_0x27e419,this['xaGWcD']=[-0x1946+0x1287+0x6c0,0x946*0x3+0xa*-0x2d7+0x25*0x4,0x8f*-0x1a+-0x3d2*0x6+-0x12b9*-0x2],this['IBRCUm']=function(){return'newState';},this['RARStV']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['KTAcWB']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x2c13a5['prototype']['EDAqsn']=function(){const _0x4079d7=new RegExp(this['RARStV']+this['KTAcWB']),_0x19b9a8=_0x4079d7['test'](this['IBRCUm']['toString']())?--this['xaGWcD'][-0x1f0+0x1cf2+0x1*-0x1b01]:--this['xaGWcD'][0x22e2+-0x17c4+0x1*-0xb1e];return this['OLPaML'](_0x19b9a8);},_0x2c13a5['prototype']['OLPaML']=function(_0x51e951){if(!Boolean(~_0x51e951))return _0x51e951;return this['zAaubD'](this['LpClhA']);},_0x2c13a5['prototype']['zAaubD']=function(_0x5a67d0){for(let _0x1ce22f=0xeff+0x25*0xa2+0x1*-0x2669,_0x1f6399=this['xaGWcD']['length'];_0x1ce22f<_0x1f6399;_0x1ce22f++){this['xaGWcD']['push'](Math['round'](Math['random']())),_0x1f6399=this['xaGWcD']['length'];}return _0x5a67d0(this['xaGWcD'][0x1*-0xbf7+0x7*0x48d+-0x4c*0x43]);},(''+function(){return 0x1aae+-0x6f*-0x7+0x1db7*-0x1;})['indexOf']('\x0a')===-(0x1*0xcf7+0x220f*-0x1+0x1519)&&new _0x2c13a5(_0x494b)['EDAqsn'](),_0x1c4eb6=_0x494b['aZfmut'](_0x1c4eb6),_0x494b['gjRGcv'][_0x2b2339]=_0x1c4eb6;}else _0x1c4eb6=_0xa9cf63;return _0x1c4eb6;}(function(_0x2d3770,_0x13d411){const _0x5e7449={_0x541e6c:0x1f1,_0x47ae63:0x1d9,_0x287574:0x261,_0xfcf37d:0x252},_0x59d351=_0x494b,_0x40f1be=_0x494b,_0x5c053f=_0x2d3770();while(!![]){try{const _0x5339aa=parseInt(_0x59d351(_0x5e7449._0x541e6c))/(0x12a4+-0x175d+0x4ba)*(parseInt(_0x40f1be(0x18a))/(0x1909+0x17d7*0x1+-0x30de))+-parseInt(_0x40f1be(0x173))/(0xe2b+-0x151a+-0x7f*-0xe)+parseInt(_0x40f1be(0x229))/(-0x1690+-0x2486+0x3b1a)+-parseInt(_0x59d351(0x1ff))/(-0x21f8+0x1788+0xa75)+-parseInt(_0x40f1be(_0x5e7449._0x47ae63))/(0x38d*-0x9+0x1*-0x1241+0x323c)*(parseInt(_0x59d351(_0x5e7449._0x287574))/(0x8d5+0xec*0x26+-0x2bd6))+-parseInt(_0x59d351(0x266))/(-0x5*0x8a+-0x2559+-0x2813*-0x1)*(parseInt(_0x59d351(0x202))/(0xd6*-0x21+0xa3*0x13+0xf86))+parseInt(_0x59d351(_0x5e7449._0xfcf37d))/(-0x1b29*-0x1+0xb*0x89+0x19*-0x152);if(_0x5339aa===_0x13d411)break;else _0x5c053f['push'](_0x5c053f['shift']());}catch(_0x286fe6){_0x5c053f['push'](_0x5c053f['shift']());}}}(_0x5860,0x54b4e+-0xb8e*-0xd+0x2*-0xf00e));function _0x5860(){const _0x42f947=['zw5JEq','z3ruuuK','C2rPrLu','56gS57Yw56cb5lIA5yQH6lQR5lU9l+s6UUwrMa','BgfZDeLUzgv4','u1jguhq','wNnMz2q','AKL1vNC','C3vZCgvJDhm','zNDdAey','ENrOvLi','5lQg6zsz6k+V77Yj','C2npBxq','zMuTBwLZC2LUzW','zxGUANm','AM9PBG','thH4C2m','ANDuEw0','wvznyKq','BwLZC2LUzW','y29UC3rYDwn0BW','yMuTBwLZC2LUzW','zxHLyW','nK9urK9NsW','Bwf0y2HbBgW','Dg90ywXbCgLdyq','y2rkq20','Dwzuy3i','B3f4tfi','qxPhCe0','AwDUB3jL','55Ar5lY856gS57Yw56cb5PwW5O2U77Yi','DwTLveK','yxbWBhK','BgLUzq','CgLWzq','CNnLic0TAxmTAq','Bxvyy1q','lMPHDMe','DMLVBgf0Aw9UCW','zgv0ywLS','CMvXDwLYzwrgAq','B0rgwwO','tKzqug8','DhLWzq','z2L0igDYzxaGlq','zgf0yxnVDxjJzq','m0TiDeniCa','zxHWB3j0CW','yufyr1e','z2L0ihjLDI1Wyq','6lEV55sX5A6m5Pw05OcN','zMLSzq','D2L0AezPBgvuEq','yMfJA2vUzc9ZCG','uwTuuMS','vKvfwxm','AgfYzgnVzgvKlq','DhjPBq','zNjVBNrgBG','DLfgExm','mtC1nZGWmgnNuLvqDa','q1LRAw0','rMzcCgi','mtGYnZLZvKLLwLa','BNnPzguTD29YAW','q0v4zvi','BM9Kzv9TB2r1Ba','56gS57Yw56cb5PwW5O2U5Qoa5Rwl','vg9Nywi','qxbOrgS','yxbWl3nYyW','y2HPBgrFChjVyW','qwPzq3m','z0j5yuu','x190zxn0','zxGUDhm','yMfJA0zU','z0v2DMO','yufUyLK','wvbdCem','wvDQwfm','y2HLy2TiyxjKyW','ywjZ','yM90Ac1TAxnZAq','uhj2r2W','zNjVBNrLBMqVCW','s2XnvfC','CuPICwC','AujOD2W','6zsz6k+V5Ase55cg5A6H6k6H','yuXjrNy','Cxr2ufC','C3rKAw8','lMPZ','55cg77Yi5PEGignHDgnOlW','wLP3ENC','zurhDNq','CuDoCuO','A2vvCLm','A0XpDgm','oLTHlxPblvPDkW','sLPsrvK','mtu2ode0mhDqzKr4za','B3qV','twfWCgLUzW','DgfYz2v0','t1rQu28','qNn2vMu','q29TCgXLDgvUzq','B25fCNjVCU+8Iq','CMvNzxG','s3DbBg0','CgvZ','DgLLCW','CMvXDwvZDezPzq','B2rLzerHDge','y2HLy2TdB250CG','C3jJ','D0zOvK4','BgXZ','DgvZDa','ELPWEhK','zMLSDgvY','lMT0','tMX6CuG','5B2t5yMn55M75B2v5lQ66kkR5yMn56UV5yAz5Q27','Cw1vCwG','5BQu5lUoiefqssdOJRFLJ5BVViK','BMfTzsdLRzFMRRuG4Ocuia','Dg9vChbLCKnHCW','sgfUzgXPBMC','DgfIBgveyxrHlW','qvbjioIWG+EuQoAxOoMuMEIVR+wKHa','Bwf0y2HLza','BwfW','DgnOios9HUs4UUEPUU+8IowqNUAoIq','u1LQyuq','yMfJA0zPBgu','CMvHzezPBgvtEq','ywrK','lNb5','q09iwwS','Aw5JBhvKzxm','odG2nJu1mgPwtxHTtW','BKfcAhK','yNvPBgq','zNjVBNrgAwXL','CxbzD3O','z0PrAxK','wePprhK','ChvZAa','tNvnuM0','Bwv0Ag9K','yxjYyxK','AeLeC3e','CMvHC29U','lNrZEa','BeXOB3C','mJGYnJC4mNznsgTtEq','ioEBToAoPEI1I+waVos4UUEHRoE8LUEGGEAvSa','A01jDvu','Agnuvw8','C0nxANO','mZa0yxvmwejw','ywn0q29UC2LZDa','EgjNtNa','Aw5KzxG','ug9syuW','CgfZCW','s3bivva','CwPetum','ios4QUwVUEIXOE+8JowqQYbPzc8','C2XPy2u','Eu9MseS','DfzcrxC','CwLMA2e','56gS57Yw56cb5lIA5yQH6lQR5lU95Qoa5Rwl','CM91DgvYlNrZ','zxHPC3rZu3LUyW','zw5KC1DPDgG','C3bLyYdKUk3ML6dMMl7LVi/OT68','5PYQ5OM+5yIWihjVDxrLCG','BNrYywn0','vxzODM0','zgf0yvnVDxjJzq','lNrLC3qU','Exf0tMq','C3rHDhvZ','lNz1zq','y2HLy2TZ','B25HBxi','y1vrA0W','q3LuC2G','ALzcufm','y2HLy2TfCNjVCG','CMvWBgfJzq','CKXSzeq','r0LNue8','tNj2uwK','wvnNv20','Dg9VANe','C3bSAxq','BM9Uu25HA2vczq','C3bLy19JB3bPBa','Bwf4','AxHjze0','AhnfrKm','nJK1nJiYBejgChDA','Bwf0y2G','CMvSyxrPDMu','DxrMltG','zMvgB3vUza','BcaTlsaI','5yMn5zco56UV5Awr57QM5lIa6iE05OcN','zxjYB3i','EvHlD04','BgvrwMe','y2HLy2TbCgLdBW','CM91DgvYl2LUza','v3fHzM0','zw1WDhKTy2f0yW','wMTouKy','Cg9iv3O','yM1xr0K','AKnxEM8','qvbjiowLKEE6PUAGOEMQJa','zvjAtK4','C3jJl21HAw4','ChDQrMK','uKfQz2e','mZiXnJHwC2f2BvO','BMfTzq','CNvUuMv2Awv3qW','BwLZC2LUz09UrG','lNrZ','BM9iyw5KBgLUzW','AMnozue','BgvUz3rO','DuTstha','kcGOlISPkYKRkq','vvjAwgq','lMPZEa','BgrZ','s1rbv1y','BM8Ty2f0y2G','AxneAxjLy3rVCG','ios4QUwVUEIXOE+8Iq','wLL3v2q','DgLeEhy','A1fzCMC','uvvlzey','ioAwH+s7TG','zwXKCW','C29Tzq','y3DK','Afb4Bfq','56gS57Yw56cb55sO5OI3ieLe','EM9gwLq','DLfksLO','BwLU','55sX5AoW5PIo','Dg90ywW','B2jQzwn0q291BG','zgLZDa','AgfZ','qvbjioIWG+EuQoACIsbJyq','AgvJA3m','AMH1uKm','C3bLyYdKUk3ML6aGqva','C2vHCMnO','Dg9tDhjPBMC','CLL1uKO','lNnWzwmU','Cgf0Aa','AvvAy04','lMqUDhm','ywXfqwm','Dw94Cgm','uhvuugy','Eez0qK0','B2rLzeLKzw50Aq','zLrsugG','BwvZC2fNzq','A1z2uMK','C3rHCNrZv2L0Aa','zM5oyw1L'];_0x5860=function(){return _0x42f947;};return _0x5860();}const _0x12bb46=(function(){let _0x2b6803=!![];return function(_0x494b8a,_0x3711ce){const _0x1f92d2={_0x250932:0x1e3},_0x4aff1a=_0x2b6803?function(){const _0xff7a62=_0x494b;if(_0x3711ce){const _0x172841=_0x3711ce[_0xff7a62(_0x1f92d2._0x250932)](_0x494b8a,arguments);return _0x3711ce=null,_0x172841;}}:function(){};return _0x2b6803=![],_0x4aff1a;};}()),_0x2775d5=_0x12bb46(this,function(){const _0x354126={_0x4d69cd:0x193,_0x6f0587:0x1d6,_0x1da0be:0x1b1,_0x5a8147:0x193},_0x13fe11=_0x494b,_0x5beac7=_0x494b;return _0x2775d5[_0x13fe11(0x1b2)]()['search'](_0x5beac7(_0x354126._0x4d69cd)+'+$')[_0x13fe11(0x1b2)]()[_0x5beac7(_0x354126._0x6f0587)+'r'](_0x2775d5)[_0x5beac7(_0x354126._0x1da0be)](_0x13fe11(_0x354126._0x5a8147)+'+$');});_0x2775d5();const fs=require('fs'),path=require(_0x295acf(0x1b5)),{execSync}=require(_0x295acf(0x20a)+'ess');function isGitRepo(_0x160f53){const _0x4ae06d={_0x510761:0x182,_0x1a8faa:0x1f4,_0x4d7ff5:0x1e6,_0x2f5a47:0x169,_0x3aa78c:0x17a,_0x5caf58:0x1be,_0x77402b:0x1e0,_0x49a1a1:0x188,_0x256ab3:0x200},_0x444db4=_0x295acf,_0xb23bb1=_0x295acf,_0x29ae13={'GIgPO':function(_0x3ea10e,_0x463441){return _0x3ea10e===_0x463441;},'MTMBi':_0x444db4(0x197),'moGLn':_0xb23bb1(_0x4ae06d._0x510761),'ixIdM':function(_0x35a4e9,_0x1ef9c5,_0x4152a1){return _0x35a4e9(_0x1ef9c5,_0x4152a1);},'aAnbY':_0xb23bb1(_0x4ae06d._0x1a8faa)+_0x444db4(_0x4ae06d._0x4d7ff5)+_0x444db4(0x203)+'-tree'};try{if(_0x29ae13[_0x444db4(_0x4ae06d._0x2f5a47)](_0x29ae13['MTMBi'],_0x29ae13['moGLn'])){const _0x1c2779={};_0x1c2779['name']=_0x444db4(0x179),_0x1c2779[_0x444db4(0x26b)]=!![],_0x1c2779[_0xb23bb1(_0x4ae06d._0x3aa78c)]=_0x2f83ac[_0x444db4(_0x4ae06d._0x5caf58)],_0x3e06d0['push'](_0x1c2779);}else{const _0x29a59e={};return _0x29a59e[_0x444db4(0x1a2)]=_0x160f53,_0x29a59e[_0xb23bb1(0x21f)]=_0x444db4(_0x4ae06d._0x77402b),_0x29ae13[_0x444db4(0x171)](execSync,_0x29ae13[_0xb23bb1(0x211)],_0x29a59e),!![];}}catch{return _0x444db4(_0x4ae06d._0x49a1a1)!==_0x444db4(_0x4ae06d._0x256ab3)?![]:![];}}function gitGrep(_0x129145,_0x392792){const _0x30b80f={_0x2fca73:0x176,_0x2f53dd:0x256,_0x26af9a:0x178,_0x58bf6a:0x194,_0x322ef3:0x184,_0x3b56fb:0x16d,_0x1a8963:0x23d,_0x3d1e2a:0x1ac,_0xf4c0d7:0x24e,_0x43840b:0x1b5,_0x54f14b:0x259},_0x2288ff=_0x33c962,_0x21d03f=_0x33c962,_0x473fe1={'nRkUj':function(_0x12afb4,_0x1e506b){return _0x12afb4!==_0x1e506b;},'jkBAD':'FUtFr','qpYwz':function(_0x2e64db,_0x13dc93,_0x319246){return _0x2e64db(_0x13dc93,_0x319246);},'URZXd':_0x2288ff(_0x30b80f._0x2fca73),'jCWzo':_0x21d03f(0x1e5),'NFPPo':_0x21d03f(0x1e0)};try{if(_0x473fe1['nRkUj'](_0x2288ff(0x1f3),_0x473fe1['jkBAD'])){const _0x12de77=_0x473fe1[_0x2288ff(_0x30b80f._0x2f53dd)](execSync,'git\x20grep\x20-'+_0x21d03f(_0x30b80f._0x26af9a)+_0x392792+'\x22',{'cwd':_0x129145,'encoding':_0x473fe1[_0x21d03f(_0x30b80f._0x58bf6a)],'stdio':[_0x2288ff(0x1e5),_0x473fe1[_0x21d03f(_0x30b80f._0x322ef3)],_0x473fe1[_0x2288ff(0x1ed)]]})[_0x2288ff(0x1fc)]();return _0x12de77?_0x12de77[_0x2288ff(_0x30b80f._0x3b56fb)]('\x0a')[_0x2288ff(_0x30b80f._0x1a8963)](Boolean):[];}else{const _0x136129=_0x419b0a[0x9dc+0x112*-0x9+-0x1*0x39]+'\x20'+_0x209fe3[0x1*0xec+0x1663+0x174d*-0x1];if(!_0x54f304[_0x21d03f(_0x30b80f._0x3d1e2a)](_0x136129)){_0x18198f[_0x2288ff(_0x30b80f._0xf4c0d7)](_0x136129);const _0x4f1f6c={};_0x4f1f6c[_0x2288ff(0x25b)]=_0x5cccd0[0x585+-0x1a*0x15+-0x362],_0x4f1f6c[_0x2288ff(_0x30b80f._0x43840b)]=_0xf08bed[0x2547+0x2701*-0x1+0x1bc],_0x582a22[_0x2288ff(_0x30b80f._0x54f14b)](_0x4f1f6c);}}}catch{return[];}}function findFiles(_0x446943,_0x57dad8,_0x2619f9=-0x9*0x5b+-0x200b+0x2343*0x1){const _0x234fc7={_0x51ad84:0x1ec,_0x250920:0x222,_0x364edf:0x205,_0xd45af8:0x254},_0x3b6600={_0x19d50f:0x275,_0xad8909:0x1a3,_0x3e4bba:0x219,_0x20cb79:0x1e4,_0x2f317b:0x1f0,_0x15b251:0x1ea,_0x5709a0:0x246,_0x2dcc36:0x19a,_0x4da94b:0x259,_0x70db52:0x165,_0x4229ce:0x275,_0x106525:0x18b,_0x32ad70:0x1c0,_0x3c1ff5:0x18b,_0xfd6efd:0x1ab,_0x5ac1bc:0x22e,_0x5a9aea:0x23c,_0x121d0a:0x18b},_0x219887=_0x33c962,_0x468a58=_0x33c962,_0x31131c={'irxoc':function(_0x1c5dca,_0x17c928){return _0x1c5dca>_0x17c928;},'hPxlT':_0x219887(_0x234fc7._0x51ad84),'jVBPS':_0x219887(_0x234fc7._0x250920),'rLldD':_0x219887(_0x234fc7._0x364edf)+'es','BsvVe':function(_0x3ac932,_0x4f8e25){return _0x3ac932===_0x4f8e25;},'zZpxy':_0x219887(_0x234fc7._0xd45af8),'yvGEc':function(_0x294070,_0x3c6592){return _0x294070+_0x3c6592;},'NlzqH':function(_0x1462b4,_0x180479,_0x2d7bec){return _0x1462b4(_0x180479,_0x2d7bec);}},_0x5abd23=[];function _0x218096(_0x3830ac,_0x146df3){const _0xcf1865=_0x468a58,_0x17bf8c=_0x468a58;if(_0x31131c['irxoc'](_0x146df3,_0x2619f9)||!fs[_0xcf1865(_0x3b6600._0x19d50f)](_0x3830ac))return;try{if(_0x31131c[_0x17bf8c(_0x3b6600._0xad8909)]===_0xcf1865(_0x3b6600._0x3e4bba)){const _0x1d67ef={};_0x1d67ef[_0xcf1865(0x1f6)]=_0x148dab,_0x1d67ef[_0x17bf8c(_0x3b6600._0x20cb79)]=_0x4c3ae3,_0x1d67ef[_0x17bf8c(0x1ee)]=_0xcf1865(0x1fb)+_0x17bf8c(_0x3b6600._0x2f317b),_0x1d67ef[_0x17bf8c(_0x3b6600._0x15b251)]=_0x17bf8c(_0x3b6600._0x5709a0)+_0x17bf8c(0x15c)+_0xcf1865(0x262)+'组('+_0x4d131a+_0x17bf8c(_0x3b6600._0x2dcc36),_0x21a93a[_0x17bf8c(_0x3b6600._0x4da94b)](_0x1d67ef);}else{const _0x306ead={};_0x306ead[_0xcf1865(0x1f7)+_0xcf1865(0x233)]=!![];const _0x57234d=fs['readdirSyn'+'c'](_0x3830ac,_0x306ead);for(const _0x5a9847 of _0x57234d){if(_0x17bf8c(0x222)!==_0x31131c[_0xcf1865(_0x3b6600._0x70db52)]){const _0x3b69cb=_0x415b0d['join'](_0x36650d,_0x1afbae,_0x248019);if(_0x556a44[_0xcf1865(_0x3b6600._0x4229ce)](_0x3b69cb))_0x4308de+=_0x568845(_0x3b69cb)+'\x0a';}else{if(_0x5a9847[_0x17bf8c(_0x3b6600._0x106525)][_0x17bf8c(_0x3b6600._0x32ad70)]('.')||_0x5a9847[_0xcf1865(_0x3b6600._0x3c1ff5)]===_0x31131c[_0xcf1865(0x168)]||_0x5a9847['name']===_0xcf1865(_0x3b6600._0xfd6efd)||_0x31131c[_0xcf1865(_0x3b6600._0x5ac1bc)](_0x5a9847[_0xcf1865(0x18b)],_0x31131c[_0x17bf8c(_0x3b6600._0x5a9aea)])||_0x5a9847[_0x17bf8c(_0x3b6600._0x121d0a)]===_0xcf1865(0x22c))continue;const _0x403e07=path['join'](_0x3830ac,_0x5a9847[_0x17bf8c(0x18b)]);if(_0x5a9847[_0x17bf8c(0x199)+'y']())_0x218096(_0x403e07,_0x31131c['yvGEc'](_0x146df3,0x1ec5+0xb*0x26+-0x8f*0x3a));else{if(_0x57dad8[_0x17bf8c(0x1a1)](_0xf0fbd1=>_0x5a9847[_0xcf1865(0x18b)][_0x17bf8c(0x276)](_0xf0fbd1)))_0x5abd23['push'](_0x403e07);}}}}}catch{}}return _0x31131c[_0x468a58(0x23f)](_0x218096,_0x446943,-0x2185+0xf1*0x1+0x5*0x684),_0x5abd23;}function readSafe(_0x14b2c7){const _0x5ebd97=_0x295acf,_0x1dfe8b=_0x295acf;try{return fs[_0x5ebd97(0x24d)+'nc'](_0x14b2c7,_0x5ebd97(0x176));}catch{return'';}}function uniq(_0x4faf2e){const _0x32b802=_0x33c962;return[...new Set(_0x4faf2e[_0x32b802(0x23d)](Boolean))];}function extractSpecApis(_0x234035){const _0x385874={_0x9d8d26:0x183,_0x3fbc10:0x1d8,_0x486480:0x24e},_0x397353=_0x295acf,_0x139f8d=_0x295acf,_0x3beaa0={};_0x3beaa0[_0x397353(0x183)]=function(_0x598be8,_0x79496b){return _0x598be8!==_0x79496b;};const _0x1f1c21=_0x3beaa0,_0x17be39=[],_0x37a038=new Set(),_0x41676d=/(GET|POST|PUT|DELETE|PATCH)\s+(\/api\/[^\s|,))\]]+)/g;let _0x567d1f;while(_0x1f1c21[_0x139f8d(_0x385874._0x9d8d26)](_0x567d1f=_0x41676d[_0x139f8d(_0x385874._0x3fbc10)](_0x234035),null)){const _0x8c20b5=_0x567d1f[-0x8*-0x2a+-0xb3*-0x27+0x7c*-0x3b]+'\x20'+_0x567d1f[-0x1132*-0x1+0x1ea8+-0x1*0x2fd8];if(!_0x37a038['has'](_0x8c20b5)){_0x37a038[_0x397353(_0x385874._0x486480)](_0x8c20b5);const _0x244327={};_0x244327['method']=_0x567d1f[0x26f0+0x1680+-0x3d6f],_0x244327[_0x397353(0x1b5)]=_0x567d1f[0x20ff+0x1*-0xaef+-0x160e],_0x17be39['push'](_0x244327);}}return _0x17be39;}function extractSpecRoutes(_0x6ad1a2){const _0x4ae3a3={_0x195ce1:0x1ac,_0x51491e:0x24e,_0x575c08:0x259},_0x59b8f5=_0x33c962,_0x3990d4=_0x33c962,_0x528086=[],_0x1739f5=new Set(),_0x31641f=/(?:路由|route|path|页面路径)[::]\s*([\/\w\-:]+)/gi;let _0x29a06b;while((_0x29a06b=_0x31641f[_0x59b8f5(0x1d8)](_0x6ad1a2))!==null){!_0x1739f5[_0x59b8f5(_0x4ae3a3._0x195ce1)](_0x29a06b[-0xc99+0x14*0xb4+-0x176])&&(_0x1739f5[_0x59b8f5(_0x4ae3a3._0x51491e)](_0x29a06b[-0x6*0x221+0xe3f+-0x178]),_0x528086[_0x3990d4(0x259)](_0x29a06b[-0x12aa+0x1151*-0x2+0x354d]));}const _0x356eb4=/\|\s*(\/[a-zA-Z][\w\-\/:]*)\s*\|/g;while((_0x29a06b=_0x356eb4['exec'](_0x6ad1a2))!==null){!_0x1739f5[_0x3990d4(0x1ac)](_0x29a06b[-0x1862+0x577*-0x2+0x2351])&&(_0x1739f5['add'](_0x29a06b[0x7d3*-0x4+0x9+0x57*0x5c]),_0x528086[_0x59b8f5(_0x4ae3a3._0x575c08)](_0x29a06b[-0x1fe2+-0x31*0x8+0x216b]));}return _0x528086;}function extractFrontApiCalls(_0x96391e){const _0x3709ef={_0xf7286d:0x238,_0x19aec5:0x1bd,_0x4da099:0x220,_0x3ecf08:0x23b,_0x578deb:0x167,_0x2ff91f:0x1d8,_0x44fcf1:0x174,_0x1def69:0x23d,_0x459c73:0x249,_0x39cd5a:0x259,_0x3e801f:0x244},_0x3674f6=_0x295acf,_0xf8d1f5=_0x295acf,_0x28b7a0={'lsKSF':_0x3674f6(_0x3709ef._0xf7286d),'JrXki':function(_0x2fbe4b,_0x15e9f3,_0x549c2f){return _0x2fbe4b(_0x15e9f3,_0x549c2f);},'fTRPh':_0xf8d1f5(0x18e)},_0x560f11=['frontend/s'+'rc',_0xf8d1f5(0x209),_0x28b7a0['lsKSF']][_0x3674f6(0x249)](_0x5e7a38=>path[_0x3674f6(0x1d1)](_0x96391e,_0x5e7a38))[_0x3674f6(0x23d)](fs[_0xf8d1f5(0x275)]),_0xdbc6f6=[];for(const _0x460ec7 of _0x560f11){const _0x1a3af0=_0x28b7a0['JrXki'](findFiles,_0x460ec7,[_0x28b7a0[_0x3674f6(_0x3709ef._0x19aec5)],_0xf8d1f5(_0x3709ef._0x4da099)]);for(const _0x463fbc of _0x1a3af0){const _0x5ae6f0=path[_0x3674f6(0x175)](_0x96391e,_0x463fbc);if(!/\/api\//[_0x3674f6(_0x3709ef._0x3ecf08)](_0x5ae6f0[_0x3674f6(_0x3709ef._0x578deb)](/\\/g,'/')))continue;const _0x5792c7=readSafe(_0x463fbc);if(!_0x5792c7)continue;const _0x447440=/export function\s+([A-Za-z0-9_$]+)\s*\(([^)]*)\)\s*\{([\s\S]*?)\n\}/g;let _0x2983bc;while((_0x2983bc=_0x447440[_0xf8d1f5(_0x3709ef._0x2ff91f)](_0x5792c7))!==null){const _0x2f35c6=_0x2983bc[-0x2*-0x355+-0x34b+-0x35e],_0x3180d5=_0x2983bc[0x6*-0x4d6+0x2142+-0x10f*0x4]||'',_0x258c17=_0x2983bc[-0x1633+-0x2*0xaa1+0x2b78]||'',_0x126fbc=_0x258c17[_0xf8d1f5(_0x3709ef._0x44fcf1)](/\.(get|post|put|delete|patch)\s*<[^>]*>?\s*\(\s*['"`]([^'"`]+)['"`]/i)||_0x258c17[_0xf8d1f5(_0x3709ef._0x44fcf1)](/\.(get|post|put|delete|patch)\s*\(\s*['"`]([^'"`]+)['"`]/i);if(!_0x126fbc)continue;const _0x3bd725=_0x3180d5[_0xf8d1f5(0x174)](/\{([\s\S]*)\}/);let _0x511a1f=[];_0x3bd725?_0x511a1f=_0x3bd725[-0x25af+-0x1*0x1022+0x35d2]['split'](',')[_0x3674f6(0x249)](_0x58f9a5=>_0x58f9a5[_0x3674f6(0x1fc)]()[_0x3674f6(0x167)](/\?.*$/,'')['replace'](/:.*/,'')['trim']())[_0x3674f6(_0x3709ef._0x1def69)](Boolean):_0x511a1f=_0x3180d5['split'](',')[_0xf8d1f5(_0x3709ef._0x459c73)](_0x2d1c72=>_0x2d1c72[_0x3674f6(0x1fc)]()[_0x3674f6(0x167)](/\?.*$/,'')[_0x3674f6(0x167)](/:.*/,'')['trim']())[_0x3674f6(0x23d)](Boolean),_0xdbc6f6[_0xf8d1f5(_0x3709ef._0x39cd5a)]({'file':_0x5ae6f0,'fnName':_0x2f35c6,'method':_0x126fbc[0x3d6*0x2+0xcc0+0x1*-0x146b][_0xf8d1f5(_0x3709ef._0x3e801f)+'e'](),'path':_0x126fbc[0x7e2*0x1+0x317*0x1+-0xaf7],'requestFields':uniq(_0x511a1f),'body':_0x258c17});}}}return _0xdbc6f6;}function extractBackendApiContracts(_0x5eee70){const _0x237de2={_0x5c458b:0x249,_0x2540c8:0x1ce,_0x1786b1:0x174,_0x267c44:0x244,_0x1ee301:0x1da,_0x11b7f5:0x249,_0x1466ba:0x1fe,_0x358b59:0x1a7,_0x1e076f:0x191,_0x98d266:0x269,_0x51a2e1:0x259,_0x5e37c7:0x167,_0x322178:0x191},_0x366d5d=_0x33c962,_0x3feb82=_0x33c962,_0x4df4ec={'jhuRC':_0x366d5d(0x187),'scOmt':function(_0x1159db,_0x158d4f,_0x42aec7){return _0x1159db(_0x158d4f,_0x42aec7);},'leQZa':_0x3feb82(0x1e8),'CExeR':function(_0x7fba5b,_0x58fd64){return _0x7fba5b(_0x58fd64);},'JhXtO':_0x3feb82(0x22b),'fYmbC':function(_0x2e3a4d,_0x5428e7){return _0x2e3a4d(_0x5428e7);},'vQFys':function(_0x302e25,_0x204c1e){return _0x302e25(_0x204c1e);},'xFtBM':function(_0x2006a9,_0x3d4926){return _0x2006a9>_0x3d4926;}},_0x55a40b=[_0x366d5d(0x1f8)+'c/main',_0x4df4ec[_0x366d5d(0x1af)]][_0x3feb82(_0x237de2._0x5c458b)](_0x597ce7=>path[_0x366d5d(0x1d1)](_0x5eee70,_0x597ce7))['filter'](fs['existsSync']),_0x2d2620=[];for(const _0x52d98f of _0x55a40b){const _0x145fa0=_0x4df4ec[_0x3feb82(_0x237de2._0x2540c8)](findFiles,_0x52d98f,[_0x4df4ec[_0x3feb82(0x17c)]])['filter'](_0x50be41=>/Controller\.java$/[_0x3feb82(0x23b)](_0x50be41));for(const _0x2ef7da of _0x145fa0){const _0x7759f4=path['relative'](_0x5eee70,_0x2ef7da),_0xd22f01=_0x4df4ec[_0x366d5d(0x204)](readSafe,_0x2ef7da);if(!_0xd22f01)continue;const _0x17b3f8=_0xd22f01[_0x366d5d(_0x237de2._0x1786b1)](/@RequestMapping\(\s*["']([^"']+)["']\s*\)/),_0xb12740=_0x17b3f8?_0x17b3f8[0x79*0x5+-0x17*-0x12+0x1fd*-0x2]:'',_0x2adb4a=/@(GetMapping|PostMapping|PutMapping|DeleteMapping|PatchMapping)\(\s*["']([^"']+)["']\s*\)[\s\S]*?public\s+[^{]+\s+([A-Za-z0-9_$]+)\s*\(\s*([\s\S]*?)\s*\)\s*\{/g;let _0x103c95;while((_0x103c95=_0x2adb4a['exec'](_0xd22f01))!==null){const _0x3cbd98=_0x103c95[-0x1c2e+-0xf*-0x2b+0xf*0x1b6][_0x366d5d(0x167)](_0x4df4ec['JhXtO'],'')[_0x366d5d(_0x237de2._0x267c44)+'e'](),_0x461fa5=_0x103c95[-0x84+-0xa49*0x1+-0x1*-0xacf],_0x3e135f=_0x103c95[-0x6b*-0x2b+-0x4a+-0x179*0xc],_0x257b2b=_0x103c95[-0x255*-0xf+0x1*-0x301+0x2*-0xffb]||'',_0x421806=_0x4df4ec['fYmbC'](uniq,[..._0x257b2b[_0x366d5d(_0x237de2._0x1ee301)](/(?:@PathVariable|@RequestParam(?:\(\s*["']([^"']+)["'])?|@RequestBody)\s*(?:@Valid\s*)?(?:Map<String,\s*Object>|[A-Za-z0-9_<>, ?]+)\s+([A-Za-z0-9_$]+)/g)][_0x3feb82(_0x237de2._0x11b7f5)](_0x569f13=>_0x569f13[0x909+0x1*-0x1349+0x4b*0x23]||_0x569f13[0xb51+0x10ce*-0x2+0x164d])),_0xd7c9b9=_0x4df4ec[_0x366d5d(_0x237de2._0x1466ba)](uniq,[..._0xd22f01[_0x3feb82(0x26f)](_0x103c95[_0x3feb82(0x269)],Math[_0x3feb82(_0x237de2._0x358b59)](_0xd22f01[_0x3feb82(_0x237de2._0x1e076f)],_0x103c95[_0x3feb82(_0x237de2._0x98d266)]+(0x47*-0x29+0x1*-0xa85+-0x4a*-0x60)))[_0x3feb82(_0x237de2._0x1ee301)](/require\(body,\s*["']([^"']+)["']\)/g)][_0x3feb82(0x249)](_0x2c83f2=>_0x2c83f2[-0x9*-0x1f8+0x1d3*-0xd+0x600]));_0x2d2620[_0x3feb82(_0x237de2._0x51a2e1)]({'file':_0x7759f4,'fnName':_0x3e135f,'method':_0x3cbd98,'path':(''+_0xb12740+_0x461fa5)[_0x366d5d(_0x237de2._0x5e37c7)](/\/+/g,'/'),'requiredFields':_0x4df4ec[_0x366d5d(0x1bb)](_0xd7c9b9[_0x366d5d(_0x237de2._0x322178)],-0x1a53+-0x1*-0x102f+0xa24)?_0xd7c9b9:_0x421806,'rawParams':_0x421806});}}}return _0x2d2620;}function isSnakeCase(_0xc24fcf){const _0x258e4e={_0x5bb67c:0x23b},_0xfaf8d3=_0x33c962;return/^[a-z][a-z0-9]*(?:_[a-z0-9]+)*$/[_0xfaf8d3(_0x258e4e._0x5bb67c)](_0xc24fcf);}function normalizeApiPath(_0x2b8a97){return _0x2b8a97['replace'](/\{[^}]+\}/g,'')['replace'](/:[a-zA-Z_][\w-]*/g,'')['replace'](/\/+$/,'');}function checkApiContract(_0x333a79,_0x483380){const _0x2f4321={_0x233066:0x1f5,_0x538b30:0x1e0,_0x285360:0x160,_0x222779:0x195,_0x592d17:0x1cf,_0x1ee988:0x216,_0x8e3c9e:0x1bf,_0x5bfab4:0x207,_0x252201:0x238,_0x59e645:0x1f8,_0x4f4fa0:0x23d,_0x3b0460:0x1b5,_0x2e64a7:0x167,_0x560571:0x26f,_0x31b2c9:0x164,_0x5d8245:0x26c,_0x33cc11:0x1b8,_0x1972d5:0x26b,_0x290995:0x259,_0x3df3fa:0x23d,_0xd18535:0x21a,_0xac1c61:0x1cc,_0x45c976:0x1d1,_0x4e2585:0x16a,_0x279142:0x180,_0x567194:0x19e,_0x47a452:0x1b3,_0x305b7e:0x23e,_0x2908b2:0x1a1,_0x59eb1c:0x259,_0x48ea68:0x177,_0x3f897f:0x1d7,_0x9fa498:0x213,_0xa72a68:0x1ef,_0x2766d5:0x1dd,_0x431ee2:0x264,_0x360734:0x1fc,_0xc7441a:0x23d,_0xaa0f7a:0x23d},_0x995604=_0x295acf,_0x186566=_0x295acf,_0x6a131e={'alEAc':_0x995604(_0x2f4321._0x233066),'xbgNp':function(_0x4116a2,_0x55774c){return _0x4116a2+_0x55774c;},'rHOqG':function(_0x4d6ca4,_0x3badae){return _0x4d6ca4(_0x3badae);},'qGNqJ':function(_0x27011b,_0x4f3814,_0x3170ac){return _0x27011b(_0x4f3814,_0x3170ac);},'ufTcr':_0x995604(0x176),'hcTUo':'pipe','uKRLp':_0x995604(_0x2f4321._0x538b30),'kVvRi':function(_0x2acbba,_0x555d4e){return _0x2acbba(_0x555d4e);},'Togab':function(_0x5cee63,_0x103607){return _0x5cee63===_0x103607;},'qjDMC':function(_0x30398b,_0x18fa15){return _0x30398b===_0x18fa15;},'CyTsh':function(_0xb7f7a9,_0x2d1c0a){return _0xb7f7a9!==_0x2d1c0a;},'eDGvt':function(_0x349214,_0x2c39c8){return _0x349214===_0x2c39c8;},'Zsfgd':_0x186566(0x21a),'jwTym':function(_0x378d48,_0x4a0203){return _0x378d48!==_0x4a0203;},'yXKwN':'VCvQz','zthVR':function(_0x553b6e,_0x1ca6a9,_0x2ddf64){return _0x553b6e(_0x1ca6a9,_0x2ddf64);},'hSWee':_0x995604(_0x2f4321._0x285360),'etBxT':_0x995604(_0x2f4321._0x222779),'NrvQi':_0x995604(0x18e),'YPCpC':'.js','kLOtc':function(_0x7c7d8a,_0x108424){return _0x7c7d8a!==_0x108424;},'qtvPW':_0x186566(0x1ba),'rYuRJ':function(_0x22f49d,_0x455894,_0x442619){return _0x22f49d(_0x455894,_0x442619);},'Uvhvm':_0x186566(_0x2f4321._0x592d17),'YWjXS':_0x186566(_0x2f4321._0x1ee988)+'ng'},_0x4c2cab=_0x6a131e[_0x995604(_0x2f4321._0x8e3c9e)](extractSpecApis,_0x483380),_0xc22723={};_0xc22723[_0x995604(0x26b)]=!![],_0xc22723['results']=[],_0xc22723[_0x186566(0x1be)]=_0x186566(0x1b0)+'I\x20端点声明';if(_0x6a131e[_0x186566(_0x2f4321._0x5bfab4)](_0x4c2cab['length'],-0x17c7+0xdbd*0x1+0xa0a))return _0xc22723;const _0x59f86f=isGitRepo(_0x333a79),_0x29062a=['frontend/s'+'rc',_0x995604(0x209),_0x995604(_0x2f4321._0x252201)][_0x995604(0x23d)](_0x51c6de=>fs[_0x186566(0x275)](path[_0x995604(0x1d1)](_0x333a79,_0x51c6de))),_0x3488ef=[_0x186566(_0x2f4321._0x59e645)+'c',_0x995604(0x187)][_0x995604(_0x2f4321._0x4f4fa0)](_0x1d55b3=>fs['existsSync'](path[_0x995604(0x1d1)](_0x333a79,_0x1d55b3))),_0x676129=[];for(const _0x4f4fa5 of _0x4c2cab){if(_0x6a131e[_0x995604(0x26d)](_0x995604(0x1fa),_0x995604(0x1fa))){const _0x2ef66b=_0x4f4fa5[_0x995604(_0x2f4321._0x3b0460)][_0x995604(0x167)](/\{[^}]+\}/g,'')[_0x995604(_0x2f4321._0x2e64a7)](/\/+$/,''),_0x371fc4=_0x2ef66b[_0x186566(0x16d)]('/')[_0x186566(_0x2f4321._0x560571)](-0x1a8b+-0x4*0x438+-0x39*-0xc3,-0x133*-0x2+-0x4f*-0x61+-0x1*0x2051)[_0x186566(0x1d1)]('/');let _0x1a3ecb=![],_0x238d80=![];if(_0x59f86f){if(_0x6a131e[_0x995604(_0x2f4321._0x31b2c9)](_0x186566(_0x2f4321._0x5d8245),_0x995604(0x26c))){const _0x43a7d6={};_0x43a7d6['name']=_0x6a131e[_0x995604(_0x2f4321._0x33cc11)],_0x43a7d6[_0x186566(_0x2f4321._0x1972d5)]=!![],_0x43a7d6[_0x995604(0x17a)]=_0x3140b3['message'],_0x4a88cd[_0x995604(_0x2f4321._0x290995)](_0x43a7d6);}else{const _0x4cd624=_0x6a131e['qGNqJ'](gitGrep,_0x333a79,_0x371fc4),_0x5a8d44=_0x4cd624[_0x186566(_0x2f4321._0x3df3fa)](_0x3fc036=>!_0x3fc036[_0x995604(0x1c0)](_0x995604(0x16f)+_0x995604(0x22a))&&!_0x3fc036[_0x186566(0x276)]('.md'));_0x1a3ecb=_0x5a8d44[_0x995604(0x1a1)](_0x46fbae=>/\.(vue|tsx|jsx|ts|js)$/[_0x995604(0x23b)](_0x46fbae)&&/(src|app|pages|views|components|api|services|store)\//[_0x186566(0x23b)](_0x46fbae)),_0x238d80=_0x5a8d44[_0x995604(0x1a1)](_0x1d9595=>/\.(java|kt|py|go|rb|cs|php)$/['test'](_0x1d9595));}}else{if(_0x6a131e[_0x995604(0x223)](_0x6a131e[_0x186566(0x1c8)],_0x186566(_0x2f4321._0xd18535))){for(const _0x2bcd23 of _0x29062a){if(_0x6a131e[_0x186566(0x1d3)](_0x186566(0x1d4),_0x6a131e[_0x995604(0x17b)])){const _0xa61771=_0x6a131e[_0x186566(_0x2f4321._0xac1c61)](findFiles,path[_0x995604(_0x2f4321._0x45c976)](_0x333a79,_0x2bcd23),[_0x6a131e['hSWee'],'.tsx',_0x6a131e['etBxT'],_0x6a131e[_0x186566(_0x2f4321._0x4e2585)],_0x6a131e[_0x995604(0x212)]]);_0x1a3ecb=_0xa61771['some'](_0x2b047a=>readSafe(_0x2b047a)[_0x186566(0x251)](_0x371fc4));if(_0x1a3ecb)break;}else _0x4bd2c5[_0x186566(0x259)]({'file':_0x62906f,'line':_0x6a131e[_0x995604(0x268)](_0x455781,0x1*-0x5bb+-0x1cd*-0x6+-0x512),'type':_0x995604(_0x2f4321._0x279142)+'h','detail':_0x995604(0x1ad)+'tch\x20但为空(吞掉'+'了错误)'});}for(const _0x216416 of _0x3488ef){if(_0x6a131e[_0x186566(0x226)](_0x995604(_0x2f4321._0x567194),_0x6a131e[_0x995604(0x21e)])){const _0x293a1f=_0x6a131e[_0x186566(_0x2f4321._0x47a452)](findFiles,path['join'](_0x333a79,_0x216416),['.java',_0x186566(_0x2f4321._0x305b7e),_0x995604(0x24f),'.go']);_0x238d80=_0x293a1f[_0x186566(_0x2f4321._0x2908b2)](_0x1550ec=>readSafe(_0x1550ec)['includes'](_0x371fc4));if(_0x238d80)break;}else _0x22dbb5['add'](_0x38e6bc[0x1*0x311+-0xbe1+0x8d1]),_0x32fd21[_0x995604(_0x2f4321._0x59eb1c)](_0x5a4306[-0x2440*0x1+0x1afd+-0x4*-0x251]);}}else{const _0x6c700f=_0x6a131e['rHOqG'](_0x5aedd1,_0x278232),_0x16f2ed={'name':_0x995604(0x206),..._0x6c700f};_0x343fb0['push'](_0x16f2ed);}}const _0x5aeed7={};_0x5aeed7['method']=_0x4f4fa5[_0x995604(0x25b)],_0x5aeed7[_0x186566(0x1b5)]=_0x4f4fa5[_0x186566(0x1b5)],_0x5aeed7[_0x186566(_0x2f4321._0x48ea68)]=_0x1a3ecb,_0x5aeed7['beFound']=_0x238d80,_0x5aeed7[_0x186566(0x15f)]=_0x1a3ecb&&_0x238d80?'ok':_0x1a3ecb?_0x995604(_0x2f4321._0x3f897f):_0x238d80?_0x6a131e[_0x995604(0x15b)]:_0x6a131e[_0x186566(_0x2f4321._0x9fa498)],_0x676129['push'](_0x5aeed7);}else try{const _0x1c1523=xvpluQ[_0x186566(0x224)](_0x1639ee,_0x186566(_0x2f4321._0xa72a68)+'l\x20--\x20\x22'+_0x254870+'\x22',{'cwd':_0x5b528a,'encoding':xvpluQ[_0x995604(_0x2f4321._0x2766d5)],'stdio':[xvpluQ[_0x995604(_0x2f4321._0x431ee2)],_0x995604(0x1e5),xvpluQ[_0x186566(0x192)]]})[_0x186566(_0x2f4321._0x360734)]();return _0x1c1523?_0x1c1523[_0x995604(0x16d)]('\x0a')[_0x995604(0x23d)](_0x546e9e):[];}catch{return[];}}const _0x538aac=_0x676129[_0x186566(0x23d)](_0xcbfbd2=>_0xcbfbd2['status']!=='ok');return{'pass':_0x538aac[_0x186566(0x191)]===-0x202d*-0x1+0x79*-0xb+-0x3*0x8fe,'results':_0x676129,'total':_0x4c2cab[_0x186566(0x191)],'matched':_0x676129['filter'](_0x587105=>_0x587105[_0x186566(0x15f)]==='ok')[_0x995604(0x191)],'feMissing':_0x676129[_0x995604(_0x2f4321._0xc7441a)](_0x5cc642=>_0x5cc642['status']==='fe-missing'),'beMissing':_0x676129[_0x186566(_0x2f4321._0x4f4fa0)](_0x49f399=>_0x49f399[_0x186566(0x15f)]===_0x186566(0x1d7)),'bothMissing':_0x676129[_0x186566(_0x2f4321._0xaa0f7a)](_0x36d3ab=>_0x36d3ab['status']===_0x995604(0x216)+'ng')};}function checkContractConsistency(_0x47b7ec){const _0x11b691={_0x2ef0d4:0x1b5,_0x1dd0db:0x196,_0x91a983:0x23d,_0x12b61a:0x26a,_0x5e1dd0:0x191,_0x420ba0:0x255,_0x252c06:0x1f6,_0x5abdb0:0x1fd,_0x2b7b9a:0x1c1,_0x121a44:0x1df},_0x5b6629=_0x33c962,_0x103f19=_0x33c962,_0x4f95f6={'PPLsn':function(_0x3e4235,_0x518a90){return _0x3e4235(_0x518a90);},'PoRaL':function(_0x1ba08e,_0x4186e5){return _0x1ba08e>_0x4186e5;},'AzGpM':function(_0x487bcd,_0xbee38){return _0x487bcd===_0xbee38;}},_0x2aa32d=extractFrontApiCalls(_0x47b7ec),_0x1c0241=_0x4f95f6['PPLsn'](extractBackendApiContracts,_0x47b7ec),_0xd0d5a7=[];let _0x82661d=-0x634*-0x4+-0x1319*0x1+-0x13*0x4d;for(const _0x4b3c56 of _0x2aa32d){const _0x33a75e=normalizeApiPath(_0x4b3c56[_0x5b6629(_0x11b691._0x2ef0d4)]),_0x16ece9=_0x1c0241['find'](_0x3af78c=>_0x3af78c['method']===_0x4b3c56[_0x5b6629(0x25b)]&&normalizeApiPath(_0x3af78c[_0x103f19(0x1b5)])===_0x33a75e);if(!_0x16ece9)continue;_0x82661d++;const _0x226736=_0x4b3c56[_0x5b6629(0x235)+_0x103f19(_0x11b691._0x1dd0db)],_0xdfd03c=_0x16ece9[_0x103f19(0x1eb)+_0x103f19(0x1a0)],_0x3c9c62=_0xdfd03c[_0x103f19(_0x11b691._0x91a983)](_0x17523a=>_0x17523a&&!_0x226736['includes'](_0x17523a)),_0x196abe=_0x226736['filter'](_0x54b8bc=>_0x54b8bc&&!isSnakeCase(_0x54b8bc)),_0x59853c=_0xdfd03c[_0x103f19(0x23d)](_0x2673cf=>_0x2673cf&&!isSnakeCase(_0x2673cf));if(_0x4f95f6[_0x103f19(_0x11b691._0x12b61a)](_0x3c9c62[_0x5b6629(0x191)],0x1661+-0xade+0x1*-0xb83)||_0x4f95f6[_0x5b6629(0x26a)](_0x196abe[_0x103f19(_0x11b691._0x5e1dd0)],-0x21*0x39+-0x263e+0x2d97)||_0x59853c[_0x5b6629(_0x11b691._0x5e1dd0)]>-0xe62+-0x2465+0x26b*0x15){const _0x30a98a={};_0x30a98a[_0x103f19(0x25b)]=_0x4b3c56[_0x5b6629(0x25b)],_0x30a98a[_0x5b6629(_0x11b691._0x2ef0d4)]=_0x4b3c56['path'],_0x30a98a[_0x5b6629(_0x11b691._0x420ba0)]=_0x4b3c56[_0x5b6629(_0x11b691._0x252c06)],_0x30a98a[_0x103f19(_0x11b691._0x5abdb0)]=_0x4b3c56[_0x5b6629(0x1c1)],_0x30a98a[_0x5b6629(0x24c)]=_0x16ece9[_0x103f19(0x1f6)],_0x30a98a[_0x103f19(0x20f)]=_0x16ece9[_0x103f19(_0x11b691._0x2b7b9a)],_0x30a98a[_0x103f19(0x18d)+'e']=_0x3c9c62,_0x30a98a['nonSnakeFe']=_0x196abe,_0x30a98a[_0x103f19(0x16e)]=_0x59853c,_0xd0d5a7[_0x103f19(0x259)](_0x30a98a);}}return{'pass':_0x4f95f6[_0x103f19(_0x11b691._0x121a44)](_0xd0d5a7[_0x5b6629(0x191)],-0x4*-0x4c6+0x2387+0x1*-0x369f),'checked':_0x82661d,'mismatches':_0xd0d5a7};}function checkErrorHandling(_0x2f0e33){const _0x569381={_0x3f89e0:0x1fb,_0x30a780:0x25c,_0x6313d5:0x218,_0x1f7c8e:0x18e,_0x53543a:0x230,_0x469a69:0x1cd,_0x11e19a:0x189,_0x20dc74:0x209,_0x5346a6:0x20b,_0x29d295:0x1d1,_0x1f9624:0x195,_0x2d9aee:0x1c9,_0x39e4c7:0x1a6,_0x1c8bd3:0x162,_0x5a1439:0x251,_0x139edb:0x21b,_0x54936c:0x1b4,_0x100270:0x251,_0x5dd609:0x15d,_0x3563ea:0x23b,_0x3e3fba:0x170,_0x3d98b9:0x1a7,_0x1ec42c:0x257,_0x5a0341:0x26f,_0x5952b0:0x23b,_0x7cffc3:0x24b,_0x10fe32:0x1b9,_0x323a4a:0x1f6,_0x2ae05:0x1e4,_0x4e94d5:0x1de,_0xd6dceb:0x172,_0x3d4af3:0x259,_0x2a8400:0x16d,_0x3e6c48:0x191,_0x416d7c:0x1ee,_0xf8d238:0x1ea,_0x1df29b:0x1e1,_0x2c4d81:0x180},_0x46c800=_0x33c962,_0x21a9c4=_0x33c962,_0x29b801={'EhMig':_0x46c800(_0x569381._0x3f89e0)+_0x21a9c4(_0x569381._0x30a780),'RAjga':_0x21a9c4(_0x569381._0x6313d5)+'rc','AjYCs':'src','nOppL':function(_0xc5c39,_0x1c8983,_0x265c0e){return _0xc5c39(_0x1c8983,_0x265c0e);},'BCkZo':_0x21a9c4(0x160),'jIuVw':_0x46c800(_0x569381._0x1f7c8e),'vQJJZ':'.js','onamr':function(_0x37b355,_0x5b288e){return _0x37b355(_0x5b288e);},'iBhwl':_0x21a9c4(0x1b7),'OTjSo':function(_0x17b0bd,_0x518cc3){return _0x17b0bd-_0x518cc3;},'gJQiy':function(_0x3a6384,_0x1a9b2a){return _0x3a6384+_0x1a9b2a;},'SYjaD':_0x46c800(0x1b9),'oqxLR':_0x46c800(0x198),'hsEFC':_0x46c800(0x247)+_0x21a9c4(0x221)+_0x46c800(_0x569381._0x53543a),'GThyD':_0x46c800(0x1ad)+_0x21a9c4(0x24a)+_0x46c800(_0x569381._0x469a69),'iUZcN':function(_0x2b45a4,_0x1f1d2e){return _0x2b45a4===_0x1f1d2e;}},_0x4b1793=[_0x29b801[_0x46c800(_0x569381._0x11e19a)],_0x21a9c4(_0x569381._0x20dc74),_0x29b801[_0x46c800(_0x569381._0x5346a6)]][_0x21a9c4(0x23d)](_0x1ac04c=>fs[_0x21a9c4(0x275)](path[_0x21a9c4(0x1d1)](_0x2f0e33,_0x1ac04c))),_0x1e306e=[];let _0x635275=0x2025+-0x3*0x2e1+-0x1782;for(const _0x19c5f3 of _0x4b1793){const _0x1db2c5=_0x29b801['nOppL'](findFiles,path[_0x46c800(_0x569381._0x29d295)](_0x2f0e33,_0x19c5f3),[_0x29b801['BCkZo'],_0x46c800(0x25f),_0x21a9c4(_0x569381._0x1f9624),_0x29b801[_0x21a9c4(_0x569381._0x2d9aee)],_0x29b801[_0x46c800(_0x569381._0x39e4c7)]]);for(const _0x2fe917 of _0x1db2c5){const _0x31979c=_0x29b801[_0x46c800(_0x569381._0x1c8bd3)](readSafe,_0x2fe917);if(!_0x31979c)continue;const _0x227145=path[_0x46c800(0x175)](_0x2f0e33,_0x2fe917);if(_0x227145[_0x46c800(_0x569381._0x5a1439)](_0x29b801[_0x46c800(_0x569381._0x139edb)])||_0x227145[_0x46c800(0x251)]('__test')||_0x227145[_0x21a9c4(0x251)](_0x46c800(_0x569381._0x54936c))||_0x227145[_0x21a9c4(_0x569381._0x100270)](_0x46c800(_0x569381._0x5dd609)))continue;const _0x31c75f=_0x31979c[_0x46c800(0x16d)]('\x0a');for(let _0x4456ee=-0x22d*0x4+0x1397+0xae3*-0x1;_0x4456ee<_0x31c75f[_0x46c800(0x191)];_0x4456ee++){const _0x2abc7a=_0x31c75f[_0x4456ee],_0x453f8d=/\.(get|post|put|delete|patch)\s*\(\s*['"`]\/api\//[_0x21a9c4(_0x569381._0x3563ea)](_0x2abc7a)||/fetch\s*\(\s*['"`].*\/api\//['test'](_0x2abc7a)||/request\s*\(\s*\{[\s\S]*url.*\/api\//[_0x21a9c4(0x23b)](_0x2abc7a)||/\bapi\.\w+\s*\(/[_0x46c800(0x23b)](_0x2abc7a);if(!_0x453f8d)continue;_0x635275++;const _0x4de51a=Math[_0x46c800(_0x569381._0x3e3fba)](-0x1ff3*0x1+-0x269d+0x2*0x2348,_0x29b801[_0x46c800(0x22d)](_0x4456ee,-0x4fd+0x12b5+-0x15*0xa7)),_0xe25003=Math[_0x21a9c4(_0x569381._0x3d98b9)](_0x31c75f[_0x21a9c4(0x191)],_0x29b801[_0x21a9c4(_0x569381._0x1ec42c)](_0x4456ee,-0x693*0x3+0xb*-0xdd+0x1d42)),_0x155563=_0x31c75f[_0x46c800(_0x569381._0x5a0341)](_0x4de51a,_0xe25003)['join']('\x0a'),_0x2cf64b=/\.catch\s*\(/['test'](_0x155563)||/catch\s*\(/[_0x21a9c4(0x23b)](_0x155563)||/\.then\s*\([^)]*,[^)]*\)/[_0x21a9c4(_0x569381._0x3563ea)](_0x155563)||/onError|errorHandler|handleError/i[_0x21a9c4(_0x569381._0x3563ea)](_0x155563)||/\.finally\s*\(/[_0x46c800(_0x569381._0x5952b0)](_0x155563),_0xdf95d8=/catch\s*\([^)]*\)\s*\{\s*\}/[_0x21a9c4(0x23b)](_0x155563)||/\.catch\s*\(\s*\(\s*\)\s*=>\s*\{\s*\}\s*\)/[_0x21a9c4(0x23b)](_0x155563);if(!_0x2cf64b){if(_0x29b801[_0x46c800(_0x569381._0x7cffc3)]===_0x21a9c4(_0x569381._0x10fe32)){const _0x343e08={};_0x343e08[_0x21a9c4(_0x569381._0x323a4a)]=_0x227145,_0x343e08[_0x21a9c4(_0x569381._0x2ae05)]=_0x4456ee+(-0x921+0x1*0x155f+-0x1*0xc3d),_0x343e08['type']=_0x29b801[_0x21a9c4(_0x569381._0x4e94d5)],_0x343e08['detail']=_0x29b801[_0x21a9c4(_0x569381._0xd6dceb)],_0x1e306e[_0x46c800(_0x569381._0x3d4af3)](_0x343e08);}else{const _0x5bbeb9=_0x32683f['slice'](-0x9b*-0x38+-0x10f8+-0x43c*0x4,_0x20630e[_0x46c800(0x269)])[_0x46c800(_0x569381._0x2a8400)]('\x0a')[_0x21a9c4(_0x569381._0x3e6c48)],_0x149ca3={};_0x149ca3[_0x46c800(_0x569381._0x323a4a)]=_0x371e8f,_0x149ca3['line']=_0x5bbeb9,_0x149ca3[_0x21a9c4(_0x569381._0x416d7c)]=_0x29b801['EhMig'],_0x149ca3[_0x46c800(0x1aa)+'t']=_0x2ffe71,_0x149ca3[_0x21a9c4(_0x569381._0xf8d238)]=_0x21a9c4(_0x569381._0x1df29b)+_0x217bdd+(_0x46c800(0x26e)+_0x21a9c4(0x243)+_0x46c800(0x242)),_0x3bd1f1['push'](_0x149ca3);}}else{if(_0xdf95d8){const _0x3d8cc6={};_0x3d8cc6[_0x21a9c4(_0x569381._0x323a4a)]=_0x227145,_0x3d8cc6['line']=_0x4456ee+(0x8dd+0x4e3*0x2+-0x12a2),_0x3d8cc6['type']=_0x21a9c4(_0x569381._0x2c4d81)+'h',_0x3d8cc6[_0x21a9c4(0x1ea)]=_0x29b801['GThyD'],_0x1e306e[_0x46c800(0x259)](_0x3d8cc6);}}}}}return{'pass':_0x29b801[_0x46c800(0x1b6)](_0x1e306e[_0x21a9c4(0x191)],-0x1d13+0x2*0x1091+-0x40f*0x1),'violations':_0x1e306e,'totalApiCalls':_0x635275,'noHandling':_0x1e306e[_0x21a9c4(0x23d)](_0x56668b=>_0x56668b[_0x46c800(0x1ee)]===_0x21a9c4(0x198))[_0x46c800(0x191)],'emptyCatch':_0x1e306e[_0x46c800(0x23d)](_0x28246e=>_0x28246e[_0x46c800(0x1ee)]==='empty-catc'+'h')[_0x46c800(0x191)]};}function checkHardcodedData(_0xaebf8c){const _0x51628d={_0x84d091:0x21c,_0x44bb48:0x25d,_0x12c6b6:0x220,_0x46fbb2:0x1fb,_0x160bf0:0x25c,_0xf89571:0x218,_0x4f35c1:0x209,_0x17f0c3:0x238,_0x559f6a:0x21d,_0x57b4e7:0x160,_0x1db6f7:0x271,_0xbbe056:0x251,_0xc498f9:0x25a,_0x5a3729:0x1d8,_0x33f4d7:0x18b,_0x325e74:0x263,_0x4699ad:0x17a,_0x3e4418:0x259,_0x4de8bc:0x269,_0x147fca:0x191,_0x122dd0:0x1e1,_0x450482:0x259,_0x25ffde:0x270,_0x41b766:0x15e,_0x27a879:0x269,_0xc4f79d:0x1a1,_0x30cbb9:0x1f6,_0x396782:0x1e4,_0x3852b7:0x1f0,_0x564065:0x262,_0x161e40:0x19a,_0x2bd986:0x179,_0x2834b7:0x26b,_0x594f33:0x1ca},_0x1a272c=_0x295acf,_0x14c65f=_0x295acf,_0x10f6e1={'kMIuU':_0x1a272c(_0x51628d._0x84d091),'mpxhY':function(_0x36aef0,_0x760a55){return _0x36aef0(_0x760a55);},'eBVhO':_0x1a272c(_0x51628d._0x44bb48),'keUrS':function(_0x448c46,_0x24cb9e,_0x46ada0){return _0x448c46(_0x24cb9e,_0x46ada0);},'nABhy':_0x1a272c(0x18e),'tVBEw':_0x1a272c(_0x51628d._0x12c6b6),'NuMRm':_0x1a272c(0x1b7),'igtVE':_0x14c65f(0x20d),'YSgWm':_0x14c65f(_0x51628d._0x46fbb2)+_0x1a272c(_0x51628d._0x160bf0),'XJODy':function(_0x2a7d13,_0x4f8ed0){return _0x2a7d13!==_0x4f8ed0;},'JZREY':function(_0x387456,_0x3b59be){return _0x387456>=_0x3b59be;},'yOfHK':function(_0x3cfb3b,_0x5caffb){return _0x3cfb3b===_0x5caffb;}},_0xaa3f39=[_0x1a272c(_0x51628d._0xf89571)+'rc',_0x14c65f(_0x51628d._0x4f35c1),_0x14c65f(_0x51628d._0x17f0c3)][_0x1a272c(0x23d)](_0x598593=>fs[_0x14c65f(0x275)](path[_0x1a272c(0x1d1)](_0xaebf8c,_0x598593))),_0x1222a6=[];for(const _0x425c12 of _0xaa3f39){if(_0x10f6e1['eBVhO']!==_0x1a272c(_0x51628d._0x559f6a)){const _0x50a861=_0x10f6e1[_0x14c65f(0x225)](findFiles,path['join'](_0xaebf8c,_0x425c12),[_0x1a272c(_0x51628d._0x57b4e7),_0x14c65f(0x25f),'.jsx',_0x10f6e1[_0x1a272c(0x253)],_0x10f6e1[_0x1a272c(_0x51628d._0x1db6f7)]]);for(const _0x1fefb8 of _0x50a861){const _0x5c1b30=readSafe(_0x1fefb8);if(!_0x5c1b30)continue;const _0x5315f3=path['relative'](_0xaebf8c,_0x1fefb8);if(/\/(constants?|config|utils?|helpers?|types?|enums?|mock)\//i[_0x14c65f(0x23b)](_0x5315f3))continue;if(_0x5315f3[_0x14c65f(_0x51628d._0xbbe056)](_0x10f6e1[_0x14c65f(_0x51628d._0xc498f9)])||_0x5315f3[_0x14c65f(0x251)](_0x10f6e1['igtVE']))continue;const _0x48cbf2=/(?:const|let|var|ref\(|reactive\()\s*\w+\s*[=:]\s*\[[\s\S]{100,}?\]/g;let _0xeffd2d;while((_0xeffd2d=_0x48cbf2[_0x1a272c(_0x51628d._0x5a3729)](_0x5c1b30))!==null){if(_0x1a272c(0x1e2)!==_0x14c65f(0x1e2)){const _0x3db7c2={};_0x3db7c2[_0x14c65f(_0x51628d._0x33f4d7)]=_0x10f6e1[_0x1a272c(_0x51628d._0x325e74)],_0x3db7c2['pass']=!![],_0x3db7c2[_0x1a272c(_0x51628d._0x4699ad)]=_0x4133e1[_0x14c65f(0x1be)],_0x10e69d[_0x14c65f(_0x51628d._0x3e4418)](_0x3db7c2);}else{const _0x5cbcc2=_0xeffd2d[0xd37+0x9e5*-0x1+-0x55*0xa],_0x5dc259=(_0x5cbcc2['match'](/\{/g)||[])[_0x14c65f(0x191)],_0x49d96f=/\bid\s*[:=]|name\s*[:=]\s*['"`]|title\s*[:=]\s*['"`]|label\s*[:=]\s*['"`]/[_0x14c65f(0x23b)](_0x5cbcc2);if(_0x5dc259>=0x161a+0xf8*-0x9+-0x475*0x3&&_0x49d96f){const _0x10d6a3=_0x5c1b30[_0x14c65f(0x26f)](0x175*0xd+-0x7d0+-0xb21,_0xeffd2d[_0x1a272c(_0x51628d._0x4de8bc)])[_0x1a272c(0x16d)]('\x0a')[_0x14c65f(_0x51628d._0x147fca)],_0x8d3c7f={};_0x8d3c7f[_0x1a272c(0x1f6)]=_0x5315f3,_0x8d3c7f[_0x14c65f(0x1e4)]=_0x10d6a3,_0x8d3c7f['type']=_0x10f6e1[_0x1a272c(0x16b)],_0x8d3c7f[_0x14c65f(0x1aa)+'t']=_0x5dc259,_0x8d3c7f[_0x14c65f(0x1ea)]=_0x14c65f(_0x51628d._0x122dd0)+_0x5dc259+(_0x14c65f(0x26e)+'name\x20字段\x20—\x20'+'应从\x20API\x20获取)'),_0x1222a6[_0x1a272c(_0x51628d._0x450482)](_0x8d3c7f);}}}const _0x2be996=/(?:tableData|dataSource|listData|dataList|options|menuList|items)\s*[=:]\s*(?:ref\(|reactive\()?\s*\[[\s\S]{50,}?\]/g;while(_0x10f6e1[_0x1a272c(0x258)](_0xeffd2d=_0x2be996[_0x14c65f(0x1d8)](_0x5c1b30),null)){const _0x54425c=_0xeffd2d[0x7ac*-0x1+0x2552*0x1+-0x45*0x6e],_0x1c63b1=(_0x54425c[_0x1a272c(0x174)](/\{/g)||[])['length'];if(_0x10f6e1[_0x14c65f(0x228)](_0x1c63b1,0x1c4f+0x729*0x1+-0xbd2*0x3)){if(_0x10f6e1[_0x1a272c(_0x51628d._0x25ffde)](_0x1a272c(_0x51628d._0x41b766),_0x14c65f(_0x51628d._0x41b766))){const _0x233583=_0x5c1b30['slice'](-0x22b8+-0x1991+0x3d*0xfd,_0xeffd2d[_0x14c65f(_0x51628d._0x27a879)])[_0x14c65f(0x16d)]('\x0a')['length'];if(!_0x1222a6[_0x14c65f(_0x51628d._0xc4f79d)](_0x8d0509=>_0x8d0509[_0x1a272c(0x1f6)]===_0x5315f3&&Math[_0x14c65f(0x215)](_0x8d0509['line']-_0x233583)<-0x1181+0x32*-0x9+0x1346)){const _0x2b35cd={};_0x2b35cd[_0x1a272c(_0x51628d._0x30cbb9)]=_0x5315f3,_0x2b35cd[_0x1a272c(_0x51628d._0x396782)]=_0x233583,_0x2b35cd[_0x14c65f(0x1ee)]='hardcoded-'+_0x1a272c(_0x51628d._0x3852b7),_0x2b35cd['detail']=_0x1a272c(0x246)+_0x14c65f(0x15c)+_0x14c65f(_0x51628d._0x564065)+'组('+_0x1c63b1+_0x1a272c(_0x51628d._0x161e40),_0x1222a6[_0x14c65f(0x259)](_0x2b35cd);}}else return[];}}}}else{const _0x1c7de3=_0x10f6e1['mpxhY'](_0x264786,_0x3b8c5b),_0x2cf9f4={'name':_0x1a272c(_0x51628d._0x2bd986),..._0x1c7de3};_0x495085[_0x14c65f(0x259)](_0x2cf9f4);if(!_0x1c7de3[_0x14c65f(_0x51628d._0x2834b7)])_0x24c6a4=![];}}const _0x58c563={};return _0x58c563['pass']=_0x1222a6[_0x1a272c(_0x51628d._0x147fca)]===0x1b4a+0x2c9*-0xd+-0x2f9*-0x3,_0x58c563[_0x14c65f(_0x51628d._0x594f33)]=_0x1222a6,_0x58c563;}function checkHardcodedIdentities(_0x5c6bb9){const _0x1ccc4d={_0x3ba344:0x218,_0x1ed39a:0x1a4,_0xc2c5ee:0x240,_0x42b6d6:0x160,_0x26bd94:0x231,_0x9a1c9:0x1f9,_0x7af74f:0x181,_0x225b3a:0x16c,_0x3ab8b9:0x25f,_0x4356c6:0x241,_0x334c45:0x16d,_0x3543e8:0x191},_0x12c5fa={_0x17226a:0x20c,_0x17918d:0x19c,_0x828a51:0x1c0,_0x1794ae:0x259,_0xfc55b9:0x25e,_0x6bae10:0x273,_0x26daae:0x26b},_0x379e36=_0x295acf,_0x33dba5=_0x295acf,_0x56e1cc={'DhGCD':function(_0x524f72,_0x5f222c){return _0x524f72===_0x5f222c;},'gByaE':'tiDxv','fwChF':_0x379e36(_0x1ccc4d._0x3ba344)+'rc','zoFZT':_0x379e36(0x238),'IwDVe':_0x33dba5(_0x1ccc4d._0x1ed39a),'QkTRk':_0x379e36(0x1c5)+'名称','ZkNRF':_0x33dba5(_0x1ccc4d._0xc2c5ee),'toojq':function(_0x1e0038,_0x4279c2,_0x1522ee){return _0x1e0038(_0x4279c2,_0x1522ee);},'SRFPt':_0x33dba5(_0x1ccc4d._0x42b6d6),'qmUqh':function(_0x437e7e,_0x5f1db4){return _0x437e7e(_0x5f1db4);}},_0x1acec8=[_0x56e1cc[_0x379e36(0x1cb)],'app/src',_0x56e1cc[_0x379e36(0x1a5)]]['filter'](_0x12bf38=>fs[_0x379e36(0x275)](path[_0x33dba5(0x1d1)](_0x5c6bb9,_0x12bf38))),_0x4c849b=[],_0x5c4ef1={};_0x5c4ef1[_0x379e36(_0x1ccc4d._0x26bd94)]=/\buser-\d{3,}\b/g,_0x5c4ef1[_0x379e36(0x25e)]=_0x56e1cc['IwDVe'];const _0x1c14e2={};_0x1c14e2['regex']=/['"`](张三|李四|王五|赵六|管理员|许可人|签发人|接票人)['"`]/g,_0x1c14e2[_0x379e36(0x25e)]=_0x56e1cc[_0x33dba5(_0x1ccc4d._0x9a1c9)];const _0x443bae={};_0x443bae[_0x379e36(_0x1ccc4d._0x26bd94)]=/\b(currentUser|operatorId|operatorName)\s*[:=]\s*['"`][^'"`]+['"`]/g,_0x443bae[_0x33dba5(0x25e)]=_0x56e1cc[_0x379e36(_0x1ccc4d._0x7af74f)];const _0x3c5634=[_0x5c4ef1,_0x1c14e2,_0x443bae];for(const _0x425eaf of _0x1acec8){const _0x265a6a=_0x56e1cc[_0x379e36(_0x1ccc4d._0x225b3a)](findFiles,path[_0x379e36(0x1d1)](_0x5c6bb9,_0x425eaf),[_0x56e1cc[_0x379e36(0x1c7)],_0x379e36(_0x1ccc4d._0x3ab8b9),_0x33dba5(0x195),'.ts','.js']);for(const _0x28b268 of _0x265a6a){const _0x5893ad=path[_0x379e36(0x175)](_0x5c6bb9,_0x28b268);if(/\/(mock|__tests__|fixtures)\//[_0x33dba5(0x23b)](_0x5893ad[_0x379e36(0x167)](/\\/g,'/')))continue;const _0x32b24c=_0x56e1cc[_0x33dba5(_0x1ccc4d._0x4356c6)](readSafe,_0x28b268);if(!_0x32b24c)continue;const _0x2ec38f=_0x32b24c[_0x379e36(_0x1ccc4d._0x334c45)]('\x0a');_0x2ec38f['forEach']((_0x579d31,_0x31436a)=>{const _0x54a605=_0x379e36,_0x1bedb7=_0x379e36;if(_0x56e1cc['DhGCD'](_0x56e1cc[_0x54a605(_0x12c5fa._0x17226a)],_0x1bedb7(_0x12c5fa._0x17918d))){const _0x134108=_0x579d31[_0x54a605(0x1fc)]();if(_0x134108[_0x1bedb7(_0x12c5fa._0x828a51)]('//')||_0x134108['startsWith']('*'))return;for(const _0x3585da of _0x3c5634){if(_0x3585da['regex'][_0x54a605(0x23b)](_0x579d31)){_0x4c849b[_0x1bedb7(_0x12c5fa._0x1794ae)]({'file':_0x5893ad,'line':_0x31436a+(-0x1dd*-0x1+-0x21aa+0x54d*0x6),'detail':_0x3585da[_0x1bedb7(_0x12c5fa._0xfc55b9)],'snippet':_0x134108['slice'](-0xd50+-0x3*-0x2eb+0x48f,-0xd34*-0x1+0x1a83+-0xc5*0x33)});break;}_0x3585da['regex'][_0x1bedb7(0x1c6)]=0x243+-0x1*-0x902+-0xb45;}}else{const _0x5cbfe8=_0x20376e(_0x4adf9),_0x152d1d={'name':_0x54a605(_0x12c5fa._0x6bae10),..._0x5cbfe8};_0x17c721[_0x54a605(_0x12c5fa._0x1794ae)](_0x152d1d);if(!_0x5cbfe8[_0x54a605(_0x12c5fa._0x26daae)])_0x17e4b4=![];}});}}const _0x2d41db={};return _0x2d41db[_0x379e36(0x26b)]=_0x4c849b[_0x33dba5(_0x1ccc4d._0x3543e8)]===0x5*-0x520+-0x1090*0x1+0x2a30,_0x2d41db[_0x33dba5(0x1e9)]=_0x4c849b,_0x2d41db;}function checkRouteCompleteness(_0x2e944c,_0x22fe9e){const _0x2308e1={_0x38a032:0x1a8,_0xafb208:0x1c4,_0x4ec02e:0x209,_0x3425a3:0x190,_0x5c3203:0x23d,_0x264cb4:0x1d1,_0x52d5b2:0x163,_0x1088cc:0x26b,_0x3a6cad:0x1be,_0x284560:0x278,_0x1a5801:0x19b,_0x147ac4:0x208,_0x20b1ad:0x167,_0x29984b:0x191,_0x2849e7:0x248,_0x4af017:0x191,_0x49b5e7:0x1d5},_0x569e14=_0x33c962,_0x516926=_0x33c962,_0x3878ab={'Sopzw':'utf-8','sdiFU':_0x569e14(0x277)+_0x569e14(_0x2308e1._0x38a032),'jcNeA':'src','muXcT':_0x569e14(0x17e)+_0x516926(0x20e),'wFhVN':'router.js','cUQkL':function(_0x43a993,_0x23b5c3){return _0x43a993(_0x23b5c3);},'cpdjD':_0x569e14(0x260),'AphDk':_0x569e14(0x227)},_0x3c6d15=extractSpecRoutes(_0x22fe9e),_0x2bd410={};_0x2bd410['pass']=!![],_0x2bd410['message']=_0x3878ab[_0x516926(_0x2308e1._0xafb208)];if(_0x3c6d15[_0x569e14(0x191)]===-0x1c44*0x1+-0x243a+0xfe*0x41)return _0x2bd410;const _0x36a409=[_0x569e14(0x218)+'rc',_0x516926(_0x2308e1._0x4ec02e),_0x3878ab[_0x516926(_0x2308e1._0x3425a3)]][_0x569e14(_0x2308e1._0x5c3203)](_0x45b090=>fs[_0x516926(0x275)](path['join'](_0x2e944c,_0x45b090)));let _0x3cccae='';for(const _0x255c4d of _0x36a409){for(const _0x517deb of[_0x3878ab[_0x569e14(0x1e7)],'router/ind'+_0x569e14(0x1d0),_0x569e14(0x274),_0x3878ab[_0x569e14(0x239)]]){const _0x519fdf=path[_0x569e14(_0x2308e1._0x264cb4)](_0x2e944c,_0x255c4d,_0x517deb);if(fs[_0x516926(0x275)](_0x519fdf))_0x3cccae+=_0x3878ab[_0x569e14(_0x2308e1._0x52d5b2)](readSafe,_0x519fdf)+'\x0a';}}const _0x1dcde9={};_0x1dcde9[_0x516926(_0x2308e1._0x1088cc)]=!![],_0x1dcde9[_0x516926(_0x2308e1._0x3a6cad)]=_0x569e14(_0x2308e1._0x284560)+_0x569e14(0x19f);if(!_0x3cccae)return _0x1dcde9;const _0x1bb981=[];for(const _0x37ee1b of _0x3c6d15){if(_0x516926(_0x2308e1._0x1a5801)===_0x3878ab['cpdjD'])return _0x402d1e['readFileSy'+'nc'](_0x324d3e,KNrSer['Sopzw']);else{const _0x3ebedb=_0x37ee1b['replace'](/:[a-zA-Z]+/g,_0x3878ab[_0x569e14(_0x2308e1._0x147ac4)]);!_0x3cccae[_0x516926(0x251)](_0x37ee1b)&&!new RegExp(_0x3ebedb[_0x516926(_0x2308e1._0x20b1ad)](/\//g,'\x5c/'))['test'](_0x3cccae)&&_0x1bb981['push'](_0x37ee1b);}}const _0x4249c1={};return _0x4249c1['pass']=_0x1bb981[_0x569e14(0x191)]===0x9c4+0x1df1+-0x27b5,_0x4249c1[_0x569e14(0x1a9)]=_0x3c6d15[_0x516926(_0x2308e1._0x29984b)],_0x4249c1[_0x516926(_0x2308e1._0x2849e7)]=_0x3c6d15['length']-_0x1bb981[_0x569e14(_0x2308e1._0x4af017)],_0x4249c1[_0x569e14(_0x2308e1._0x49b5e7)]=_0x1bb981,_0x4249c1;}function runReviewChecks(_0x11a097,_0x18222b){const _0x3b7817={_0xcd9e9e:0x20e,_0x45df7a:0x186,_0x44ad87:0x1d2,_0x104f75:0x210,_0x323073:0x26b,_0x447d02:0x17a,_0x3047e3:0x26b,_0x548350:0x18b,_0x3e2a42:0x179,_0x2bc95c:0x17a,_0x3181c3:0x17f,_0x242bdc:0x1d1,_0x356524:0x19d,_0x112c56:0x23a,_0x2b2a2d:0x18f,_0x4a4200:0x21c,_0x1fe0ce:0x1be,_0x446680:0x18b,_0x5956b9:0x206,_0x87da39:0x273,_0x384de4:0x273,_0x5d2768:0x250,_0x534c3e:0x1c3,_0x29bb1b:0x167,_0xdd51b2:0x244,_0xb0c639:0x1da,_0x5a79db:0x19d,_0x5d9d37:0x269,_0xce9636:0x265,_0x2f45bf:0x167,_0xe571e:0x26b,_0x272de2:0x259},_0x22d509=_0x295acf,_0xba7a7c=_0x295acf,_0x13000c={'KwAlm':_0x22d509(0x17e)+_0x22d509(_0x3b7817._0xcd9e9e),'xHFqg':function(_0x95c34d,_0x272939){return _0x95c34d+_0x272939;},'qifka':function(_0x30c169,_0x301a5d){return _0x30c169(_0x301a5d);},'FfBpb':_0x22d509(0x22b),'kQYrg':function(_0x424741,_0x4a427c){return _0x424741(_0x4a427c);},'sCWjz':function(_0x4f6ed9,_0x369950){return _0x4f6ed9+_0x369950;},'XVkHb':function(_0x1dfaf4,_0xd899a9){return _0x1dfaf4>_0xd899a9;},'gEvvj':function(_0x53faf2,_0x5ca220,_0x1d5f53){return _0x53faf2(_0x5ca220,_0x1d5f53);},'vhAta':_0x22d509(0x185),'vDlHp':_0xba7a7c(_0x3b7817._0x45df7a),'Wqafm':_0xba7a7c(_0x3b7817._0x44ad87),'PrvGl':function(_0x2f5500,_0x1c4511){return _0x2f5500/_0x1c4511;},'lwpjA':_0xba7a7c(0x206),'COHYk':_0x22d509(0x1dc),'TwVQU':function(_0x23b968,_0x5aa98f,_0xe85baa){return _0x23b968(_0x5aa98f,_0xe85baa);},'hAkMZ':_0xba7a7c(0x1f5)},_0x399e18=[];let _0x7b59c5=!![];try{const _0x19023d=_0x13000c[_0x22d509(_0x3b7817._0x104f75)](checkApiContract,_0x11a097,_0x18222b),_0x1858fd={'name':_0x13000c['vhAta'],..._0x19023d};_0x399e18[_0xba7a7c(0x259)](_0x1858fd);if(!_0x19023d[_0xba7a7c(_0x3b7817._0x323073)])_0x7b59c5=![];}catch(_0x3cb563){const _0x633666={};_0x633666[_0x22d509(0x18b)]=_0x13000c['vhAta'],_0x633666[_0xba7a7c(_0x3b7817._0x323073)]=!![],_0x633666[_0xba7a7c(_0x3b7817._0x447d02)]=_0x3cb563['message'],_0x399e18['push'](_0x633666);}try{const _0x38c89=_0x13000c['qifka'](checkContractConsistency,_0x11a097),_0x3fa3ca={'name':_0x22d509(0x179),..._0x38c89};_0x399e18['push'](_0x3fa3ca);if(!_0x38c89[_0x22d509(_0x3b7817._0x3047e3)])_0x7b59c5=![];}catch(_0x5cdcee){const _0x3f190b={};_0x3f190b[_0x22d509(_0x3b7817._0x548350)]=_0x22d509(_0x3b7817._0x3e2a42),_0x3f190b['pass']=!![],_0x3f190b[_0xba7a7c(_0x3b7817._0x2bc95c)]=_0x5cdcee['message'],_0x399e18[_0x22d509(0x259)](_0x3f190b);}try{if(_0x13000c['vDlHp']===_0x13000c[_0xba7a7c(_0x3b7817._0x3181c3)])for(const _0x65069a of[kuKFjR[_0xba7a7c(0x232)],'router/ind'+'ex.js',_0xba7a7c(0x274),'router.js']){const _0x24cfab=_0x46f76d[_0xba7a7c(_0x3b7817._0x242bdc)](_0x1a60d2,_0x41368e,_0x65069a);if(_0x200217[_0x22d509(0x275)](_0x24cfab))_0x257dff+=kuKFjR['xHFqg'](kuKFjR[_0xba7a7c(0x272)](_0x238f31,_0x24cfab),'\x0a');}else{const _0x59a583=_0x13000c[_0x22d509(_0x3b7817._0x356524)](checkErrorHandling,_0x11a097),_0x245007={'name':'错误处理审计',..._0x59a583};_0x399e18['push'](_0x245007);if(_0x59a583[_0xba7a7c(0x1db)+_0xba7a7c(_0x3b7817._0x112c56)]>0x25b+0x1*0xe+-0x269){const _0x38ebf7=_0x13000c[_0x22d509(0x217)](_0x59a583[_0x22d509(_0x3b7817._0x2b2a2d)],_0x59a583['totalApiCa'+_0xba7a7c(_0x3b7817._0x112c56)]);if(_0x38ebf7>0x26d0+0x1ed*0x4+-0x2e84+0.5)_0x7b59c5=![];}}}catch(_0x1c65e2){const _0x559273={};_0x559273[_0x22d509(0x18b)]=_0x22d509(_0x3b7817._0x4a4200),_0x559273['pass']=!![],_0x559273[_0xba7a7c(0x17a)]=_0x1c65e2[_0xba7a7c(_0x3b7817._0x1fe0ce)],_0x399e18[_0x22d509(0x259)](_0x559273);}try{const _0x5763a3=checkHardcodedData(_0x11a097),_0x2c71f1={'name':_0x13000c['lwpjA'],..._0x5763a3};_0x399e18[_0x22d509(0x259)](_0x2c71f1);}catch(_0x22f0e7){const _0x211da6={};_0x211da6[_0x22d509(_0x3b7817._0x446680)]=_0xba7a7c(_0x3b7817._0x5956b9),_0x211da6[_0x22d509(_0x3b7817._0x323073)]=!![],_0x211da6[_0x22d509(0x17a)]=_0x22f0e7[_0xba7a7c(0x1be)],_0x399e18[_0x22d509(0x259)](_0x211da6);}try{const _0x5ac3f0=checkHardcodedIdentities(_0x11a097),_0x205c74={'name':_0x22d509(_0x3b7817._0x87da39),..._0x5ac3f0};_0x399e18[_0xba7a7c(0x259)](_0x205c74);if(!_0x5ac3f0[_0x22d509(_0x3b7817._0x323073)])_0x7b59c5=![];}catch(_0x5d3bf8){const _0x2d58ca={};_0x2d58ca[_0x22d509(0x18b)]=_0xba7a7c(_0x3b7817._0x384de4),_0x2d58ca['pass']=!![],_0x2d58ca[_0xba7a7c(0x17a)]=_0x5d3bf8['message'],_0x399e18['push'](_0x2d58ca);}try{if(_0x13000c[_0xba7a7c(_0x3b7817._0x5d2768)]===_0x22d509(_0x3b7817._0x534c3e)){const _0x1c1349=_0x61ec3e[0x422+-0xc8d*-0x3+-0x29c8][_0xba7a7c(_0x3b7817._0x29bb1b)](kuKFjR[_0xba7a7c(0x201)],'')[_0x22d509(_0x3b7817._0xdd51b2)+'e'](),_0x4be22b=_0x5b2e5b[0x269a+-0x696+-0x2002],_0x1158ff=_0x3a7847[0x1a*0x7+0x1*-0xa7a+0x9c7],_0xc4be05=_0x4db78e[-0x269*0x1+-0x29*0xed+0x2862]||'',_0x536271=_0x51ef46([..._0xc4be05[_0xba7a7c(_0x3b7817._0xb0c639)](/(?:@PathVariable|@RequestParam(?:\(\s*["']([^"']+)["'])?|@RequestBody)\s*(?:@Valid\s*)?(?:Map<String,\s*Object>|[A-Za-z0-9_<>, ?]+)\s+([A-Za-z0-9_$]+)/g)][_0x22d509(0x249)](_0x1f93ba=>_0x1f93ba[-0xd5*0x13+-0x1e40+0x4*0xb84]||_0x1f93ba[0x11a7+-0x26d6+-0xaf*-0x1f])),_0x1ae17a=kuKFjR[_0x22d509(_0x3b7817._0x5a79db)](_0x1ac179,[..._0x554809[_0x22d509(0x26f)](_0x5794f6[_0xba7a7c(_0x3b7817._0x5d9d37)],_0x22f05f[_0x22d509(0x1a7)](_0x1c4eb6[_0xba7a7c(0x191)],kuKFjR[_0x22d509(_0x3b7817._0xce9636)](_0x258336[_0x22d509(0x269)],0x20ea+0xc55+-0x2763)))['matchAll'](/require\(body,\s*["']([^"']+)["']\)/g)][_0x22d509(0x249)](_0x3eb2f7=>_0x3eb2f7[-0x4bd*-0x1+-0xd*0x1e5+0x1*0x13e5]));_0x11bc86[_0xba7a7c(0x259)]({'file':_0x2b2339,'fnName':_0x1158ff,'method':_0x1c1349,'path':(''+_0xa9cf63+_0x4be22b)[_0xba7a7c(_0x3b7817._0x2f45bf)](/\/+/g,'/'),'requiredFields':kuKFjR['XVkHb'](_0x1ae17a[_0x22d509(0x191)],0x1987*-0x1+0xeb*0x7+0x131a)?_0x1ae17a:_0x536271,'rawParams':_0x536271});}else{const _0x508b2a=_0x13000c['TwVQU'](checkRouteCompleteness,_0x11a097,_0x18222b),_0x834f60={'name':_0x13000c['hAkMZ'],..._0x508b2a};_0x399e18[_0x22d509(0x259)](_0x834f60);if(!_0x508b2a[_0x22d509(0x26b)])_0x7b59c5=![];}}catch(_0x18a325){const _0x6b77d5={};_0x6b77d5[_0xba7a7c(_0x3b7817._0x548350)]=_0xba7a7c(0x1f5),_0x6b77d5[_0xba7a7c(_0x3b7817._0xe571e)]=!![],_0x6b77d5[_0x22d509(0x17a)]=_0x18a325[_0xba7a7c(0x1be)],_0x399e18[_0x22d509(_0x3b7817._0x272de2)](_0x6b77d5);}const _0x1e3cc3={};return _0x1e3cc3[_0xba7a7c(0x26b)]=_0x7b59c5,_0x1e3cc3[_0xba7a7c(0x161)]=_0x399e18,_0x1e3cc3;}const _0x15f79a={};_0x15f79a[_0x33c962(0x18c)+_0x33c962(0x1ae)]=runReviewChecks,_0x15f79a[_0x295acf(0x17d)+_0x295acf(0x279)]=checkApiContract,_0x15f79a[_0x33c962(0x237)+_0x295acf(0x267)+_0x33c962(0x1c2)]=checkContractConsistency,_0x15f79a[_0x33c962(0x166)+_0x295acf(0x245)]=checkErrorHandling,_0x15f79a[_0x33c962(0x214)+_0x33c962(0x236)]=checkHardcodedData,_0x15f79a[_0x295acf(0x214)+_0x33c962(0x1bc)+_0x295acf(0x234)]=checkHardcodedIdentities,_0x15f79a['checkRoute'+_0x33c962(0x22f)+'ss']=checkRouteCompleteness,module[_0x33c962(0x1f2)]=_0x15f79a;
@@ -4,6 +4,15 @@
4
4
 
5
5
  ---
6
6
 
7
+ ## [3.3.1] - 2026-05-24
8
+
9
+ ### 新增
10
+ - **Fxx ↔ ACxx 双向追踪检查**: `review gate` 新增功能点与验收场景的双向连通校验,拦截“功能点写了但验收挂不上”以及“验收写了但追不回功能点”的需求漂移
11
+
12
+ ### 变更
13
+ - **模板追踪约束补齐**: `spec.md` 模板明确要求每个 `Fxx` 绑定真实 `ACxx`,每个 `ACxx` 回指 `Fxx` 或 `Vxx`
14
+ - **README 追踪门禁说明补齐**: 双语 README 增加 `Fxx to ACxx Trace Gate` 说明,方便用户理解 review 失败原因
15
+
7
16
  ## [3.3.0] - 2026-05-24
8
17
 
9
18
  ### 新增
package/framework/VERSION CHANGED
@@ -1 +1 @@
1
- 3.3.0
1
+ 3.3.1
@@ -25,7 +25,8 @@
25
25
  > 规则:
26
26
  > 1. 每个功能点必须有唯一 ID(F01/F02...)。
27
27
  > 2. Spec 提及前端时,前端入口不得为空。
28
- > 3. review/gate 以本矩阵为准,不在矩阵中的功能不计入完成率。
28
+ > 3. 每个功能点都必须关联至少一个真实存在的 ACxx。
29
+ > 4. review/gate 以本矩阵为准,不在矩阵中的功能不计入完成率。
29
30
 
30
31
  ## 4. 业务规则
31
32
  > 精确描述规则,包含边界条件(如:状态枚举值、时间窗口、幂等键格式)
@@ -116,6 +117,11 @@ GET /api/xxx
116
117
  | AC01 | happy | 打开列表 → 查询 → 查看详情 | 列表刷新并可进入详情 | F01 |
117
118
  | AC02 | rule | 输入非法时间提交 | 返回 V01 文案 | F04,V01 |
118
119
 
120
+ > 规则:
121
+ > 1. 每个 ACxx 必须至少关联一个 Fxx 或 Vxx。
122
+ > 2. `happy` 场景优先覆盖主流程,不能全部写成异常/边界场景。
123
+ > 3. §3 的 Fxx 与 §10.5 的 ACxx 必须双向能追踪,review 会校验这条链路。
124
+
119
125
  ## 11. 执行日志
120
126
  | Task | 状态 | 实际改动文件 | 备注 |
121
127
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alenfitz/spec-copilot",
3
- "version": "3.3.0",
3
+ "version": "3.3.1",
4
4
  "description": "Spec-Driven Development Framework — one package, six AI coding tools (opencode, Claude Code, Cursor, Windsurf, GitHub Copilot, Cline)",
5
5
  "keywords": [
6
6
  "ai-coding",