@loxia-labs/loxia-autopilot-one 1.0.16 → 1.0.17

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.
Files changed (122) hide show
  1. package/bin/cli.js +1 -1
  2. package/bin/loxia-terminal-v2.js +1 -1
  3. package/bin/loxia-terminal.js +1 -1
  4. package/bin/start-with-terminal.js +1 -1
  5. package/package.json +1 -1
  6. package/scripts/install-scanners.js +1 -1
  7. package/src/analyzers/CSSAnalyzer.js +1 -1
  8. package/src/analyzers/ConfigValidator.js +1 -1
  9. package/src/analyzers/ESLintAnalyzer.js +1 -1
  10. package/src/analyzers/JavaScriptAnalyzer.js +1 -1
  11. package/src/analyzers/PrettierFormatter.js +1 -1
  12. package/src/analyzers/PythonAnalyzer.js +1 -1
  13. package/src/analyzers/SecurityAnalyzer.js +1 -1
  14. package/src/analyzers/TypeScriptAnalyzer.js +1 -1
  15. package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
  16. package/src/analyzers/codeCloneDetector/detector.js +1 -1
  17. package/src/analyzers/codeCloneDetector/index.js +1 -1
  18. package/src/analyzers/codeCloneDetector/parser.js +1 -1
  19. package/src/analyzers/codeCloneDetector/reporter.js +1 -1
  20. package/src/analyzers/codeCloneDetector/scanner.js +1 -1
  21. package/src/core/agentPool.js +1 -1
  22. package/src/core/agentScheduler.js +1 -1
  23. package/src/core/contextManager.js +1 -1
  24. package/src/core/messageProcessor.js +1 -1
  25. package/src/core/orchestrator.js +1 -1
  26. package/src/core/stateManager.js +1 -1
  27. package/src/index.js +1 -1
  28. package/src/interfaces/cli.js +1 -1
  29. package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
  30. package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
  31. package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
  32. package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
  33. package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
  34. package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
  35. package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
  36. package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
  37. package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
  38. package/src/interfaces/terminal/api/apiClient.js +1 -1
  39. package/src/interfaces/terminal/api/messageRouter.js +1 -1
  40. package/src/interfaces/terminal/api/session.js +1 -1
  41. package/src/interfaces/terminal/api/websocket.js +1 -1
  42. package/src/interfaces/terminal/components/AgentCreator.js +1 -1
  43. package/src/interfaces/terminal/components/AgentEditor.js +1 -1
  44. package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
  45. package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
  46. package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
  47. package/src/interfaces/terminal/components/Header.js +1 -1
  48. package/src/interfaces/terminal/components/HelpPanel.js +1 -1
  49. package/src/interfaces/terminal/components/InputBox.js +1 -1
  50. package/src/interfaces/terminal/components/Layout.js +1 -1
  51. package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
  52. package/src/interfaces/terminal/components/MessageList.js +1 -1
  53. package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
  54. package/src/interfaces/terminal/components/SearchPanel.js +1 -1
  55. package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
  56. package/src/interfaces/terminal/components/StatusBar.js +1 -1
  57. package/src/interfaces/terminal/components/TextInput.js +1 -1
  58. package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
  59. package/src/interfaces/terminal/config/constants.js +1 -1
  60. package/src/interfaces/terminal/index.js +1 -1
  61. package/src/interfaces/terminal/state/useAgentControl.js +1 -1
  62. package/src/interfaces/terminal/state/useAgents.js +1 -1
  63. package/src/interfaces/terminal/state/useConnection.js +1 -1
  64. package/src/interfaces/terminal/state/useMessages.js +1 -1
  65. package/src/interfaces/terminal/state/useTools.js +1 -1
  66. package/src/interfaces/terminal/utils/debugLogger.js +1 -1
  67. package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
  68. package/src/interfaces/terminal/utils/theme.js +1 -1
  69. package/src/interfaces/webServer.js +1 -1
  70. package/src/modules/fileExplorer/controller.js +1 -1
  71. package/src/modules/fileExplorer/index.js +1 -1
  72. package/src/modules/fileExplorer/middleware.js +1 -1
  73. package/src/modules/fileExplorer/routes.js +1 -1
  74. package/src/services/agentActivityService.js +1 -1
  75. package/src/services/aiService.js +1 -1
  76. package/src/services/apiKeyManager.js +1 -1
  77. package/src/services/benchmarkService.js +1 -1
  78. package/src/services/budgetService.js +1 -1
  79. package/src/services/contextInjectionService.js +1 -1
  80. package/src/services/conversationCompactionService.js +1 -1
  81. package/src/services/errorHandler.js +1 -1
  82. package/src/services/fileAttachmentService.js +1 -1
  83. package/src/services/modelRouterService.js +1 -1
  84. package/src/services/modelsService.js +1 -1
  85. package/src/services/qualityInspector.js +1 -1
  86. package/src/services/tokenCountingService.js +1 -1
  87. package/src/tools/agentCommunicationTool.js +1 -1
  88. package/src/tools/agentDelayTool.js +1 -1
  89. package/src/tools/asyncToolManager.js +1 -1
  90. package/src/tools/baseTool.js +1 -1
  91. package/src/tools/browserTool.js +1 -1
  92. package/src/tools/cloneDetectionTool.js +1 -1
  93. package/src/tools/dependencyResolverTool.js +1 -1
  94. package/src/tools/fileContentReplaceTool.js +1 -1
  95. package/src/tools/fileSystemTool.js +1 -1
  96. package/src/tools/fileTreeTool.js +1 -1
  97. package/src/tools/imageTool.js +1 -1
  98. package/src/tools/importAnalyzerTool.js +1 -1
  99. package/src/tools/jobDoneTool.js +1 -1
  100. package/src/tools/seekTool.js +1 -1
  101. package/src/tools/staticAnalysisTool.js +1 -1
  102. package/src/tools/taskManagerTool.js +1 -1
  103. package/src/tools/terminalTool.js +1 -1
  104. package/src/tools/webTool.js +1 -1
  105. package/src/types/agent.js +1 -1
  106. package/src/types/contextReference.js +1 -1
  107. package/src/types/conversation.js +1 -1
  108. package/src/types/toolCommand.js +1 -1
  109. package/src/utilities/attachmentValidator.js +1 -1
  110. package/src/utilities/configManager.js +1 -1
  111. package/src/utilities/constants.js +1 -1
  112. package/src/utilities/directoryAccessManager.js +1 -1
  113. package/src/utilities/fileProcessor.js +1 -1
  114. package/src/utilities/logger.js +1 -1
  115. package/src/utilities/tagParser.js +1 -1
  116. package/src/utilities/toolConstants.js +1 -1
  117. package/src/utilities/userDataDir.js +1 -1
  118. package/web-ui/build/index.html +2 -2
  119. package/web-ui/build/static/index-CRkOpV4k.css +1 -0
  120. package/web-ui/build/static/index-DzOU48ux.js +367 -0
  121. package/web-ui/build/static/index-DFmFvOoy.css +0 -1
  122. package/web-ui/build/static/index-DOk0l6Kf.js +0 -348
@@ -1 +1 @@
1
- function a0_0x477f(){const _0x23a2fd=['odGZmhfJz2vxtW','mKv1Buvfra','CgfYC2veAwfNBM9ZDgLJCW','y29Kzq','BgvUz3rO','ChvZAa','u3LUDgf4s2LUza','qw5HBhLZAxmGzMfPBgvKoIa','z2v0u3rHCNq','tw9KDwXLuMvZB2X1DgLVBKTPBMq','rvjst1i','y2fUBM90igzPBMqGBw9KDwXL','BgLUzq','u0vwrvjjvfK','vfLqrq','mtjstLnbtxu','C3LUDgf4lwvYCM9Y','mti5mZqZmM16Buz5Dq','zMLSDgvY','nJu3B1zeqxvL','rgLHz25VC3rPy0nHDgvNB3j5','BwvZC2fNzq','ndq5mtjYrgfMwhG','Dg9mB3DLCKnHC2u','zMLSzu5HBwu','odm0mtDNq29NtMC','z2v0u2vTyw50AwneAwfNBM9ZDgLJCW','y29TCgLSzxjpChrPB25Z','z2v0tgLUzufUzenOyxjHy3rLCK9Mug9ZAxrPB24','u3vNz2vZDgLVBG','nJq2mZaYrMntvgLq','tM9KzuPZ','v0fstKLorW','rxjYB3i','u1Lovefy','zgvIDwC','u2nYAxb0vgfYz2v0','tgf0zxn0','BwvZC2fNzvrLEhq','v2fYBMLUzW','zM9YBwf0rgLHz25VC3rPyW','y3jLyxrLu291CMnLrMLSzq','q0furuDpuLK','y2HHCMfJDgvY','C3rHCNq','Bg9Nz2vY','C2v2zxjPDhK','otmWnJK1BgXTAM13','zMLSzq','sMf2yvnJCMLWDcbHBMfSExnPCYbJB21WBgv0zwq','nZe2mdG4t0XmrgLw'];a0_0x477f=function(){return _0x23a2fd;};return a0_0x477f();}function a0_0x3fd6(_0x4c3660,_0x3ae7ee){_0x4c3660=_0x4c3660-0x145;const _0x477f3e=a0_0x477f();let _0x3fd614=_0x477f3e[_0x4c3660];if(a0_0x3fd6['iKpZyO']===undefined){var _0x41b8cc=function(_0xa7f22a){const _0x188e54='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3d96c4='',_0x5c30d7='';for(let _0x58f725=0x0,_0x29255a,_0x341b51,_0x33eb1d=0x0;_0x341b51=_0xa7f22a['charAt'](_0x33eb1d++);~_0x341b51&&(_0x29255a=_0x58f725%0x4?_0x29255a*0x40+_0x341b51:_0x341b51,_0x58f725++%0x4)?_0x3d96c4+=String['fromCharCode'](0xff&_0x29255a>>(-0x2*_0x58f725&0x6)):0x0){_0x341b51=_0x188e54['indexOf'](_0x341b51);}for(let _0x4d2590=0x0,_0x3bf696=_0x3d96c4['length'];_0x4d2590<_0x3bf696;_0x4d2590++){_0x5c30d7+='%'+('00'+_0x3d96c4['charCodeAt'](_0x4d2590)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5c30d7);};a0_0x3fd6['iHhJTZ']=_0x41b8cc,a0_0x3fd6['bqoatQ']={},a0_0x3fd6['iKpZyO']=!![];}const _0x222c22=_0x477f3e[0x0],_0x4dbeff=_0x4c3660+_0x222c22,_0x1bb70e=a0_0x3fd6['bqoatQ'][_0x4dbeff];return!_0x1bb70e?(_0x3fd614=a0_0x3fd6['iHhJTZ'](_0x3fd614),a0_0x3fd6['bqoatQ'][_0x4dbeff]=_0x3fd614):_0x3fd614=_0x1bb70e,_0x3fd614;}const a0_0x52c02f=a0_0x3fd6;(function(_0x48b8f2,_0x5e4764){const _0x31d747=a0_0x3fd6,_0x202ab8=_0x48b8f2();while(!![]){try{const _0x53f207=-parseInt(_0x31d747(0x161))/0x1*(parseInt(_0x31d747(0x149))/0x2)+parseInt(_0x31d747(0x157))/0x3*(-parseInt(_0x31d747(0x15e))/0x4)+parseInt(_0x31d747(0x177))/0x5+-parseInt(_0x31d747(0x166))/0x6+parseInt(_0x31d747(0x159))/0x7+-parseInt(_0x31d747(0x147))/0x8+parseInt(_0x31d747(0x15b))/0x9*(parseInt(_0x31d747(0x148))/0xa);if(_0x53f207===_0x5e4764)break;else _0x202ab8['push'](_0x202ab8['shift']());}catch(_0x22db57){_0x202ab8['push'](_0x202ab8['shift']());}}}(a0_0x477f,0x1acf9));import a0_0x3d96c4 from'typescript';import a0_0x5c30d7 from'path';import{STATIC_ANALYSIS}from'../utilities/constants.js';class JavaScriptAnalyzer{constructor(_0x58f725=null){const _0x3ba9b6=a0_0x3fd6;this['logger']=_0x58f725,this[_0x3ba9b6(0x163)]={'allowJs':!![],'checkJs':!![],'noEmit':!![],'jsx':a0_0x3d96c4['JsxEmit']['React'],'target':a0_0x3d96c4[_0x3ba9b6(0x16c)]['Latest'],'module':a0_0x3d96c4['ModuleKind']['ESNext'],'moduleResolution':a0_0x3d96c4[_0x3ba9b6(0x151)][_0x3ba9b6(0x167)],'esModuleInterop':!![],'skipLibCheck':!![],'strict':![],'noImplicitAny':![]};}async['analyze'](_0x29255a,_0x341b51,_0x33eb1d={}){const _0x22148f=a0_0x3fd6;try{const _0x4d2590=[],_0x3bf696=a0_0x3d96c4[_0x22148f(0x171)](_0x29255a,_0x341b51,a0_0x3d96c4['ScriptTarget'][_0x22148f(0x16d)],!![]),_0x2391ce=this['getSyntacticDiagnostics'](_0x3bf696);_0x4d2590[_0x22148f(0x14d)](..._0x2391ce);const _0x4bedb8=await this['getSemanticDiagnostics'](_0x29255a,_0x341b51);return _0x4d2590[_0x22148f(0x14d)](..._0x4bedb8),this['logger']?.[_0x22148f(0x16b)](_0x22148f(0x146),{'file':_0x29255a,'totalDiagnostics':_0x4d2590[_0x22148f(0x14c)],'errors':_0x4d2590[_0x22148f(0x15a)](_0x87f4d0=>_0x87f4d0[_0x22148f(0x176)]===STATIC_ANALYSIS[_0x22148f(0x155)]['ERROR'])['length'],'warnings':_0x4d2590[_0x22148f(0x15a)](_0x2bf8d8=>_0x2bf8d8[_0x22148f(0x176)]===STATIC_ANALYSIS['SEVERITY'][_0x22148f(0x168)])[_0x22148f(0x14c)]}),_0x4d2590;}catch(_0x158f10){return this['logger']?.['error']('JavaScript\x20analysis\x20failed',{'file':_0x29255a,'error':_0x158f10['message']}),[{'file':_0x29255a,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS['SEVERITY'][_0x22148f(0x152)],'rule':'analyzer-error','message':_0x22148f(0x14f)+_0x158f10[_0x22148f(0x15d)],'category':STATIC_ANALYSIS[_0x22148f(0x172)][_0x22148f(0x16a)]}];}}['getSyntacticDiagnostics'](_0x193808){const _0x52156f=a0_0x3fd6,_0x59a7d9=[],_0x38eb8f=_0x3e39a4=>{const _0x59330f=a0_0x3fd6;if(_0x3e39a4['kind']===a0_0x3d96c4[_0x59330f(0x14e)]['Unknown']){const _0xce53c5=_0x193808['getLineAndCharacterOfPosition'](_0x3e39a4[_0x59330f(0x150)]());_0x59a7d9['push']({'file':_0x193808['fileName'],'line':_0xce53c5['line']+0x1,'column':_0xce53c5['character']+0x1,'severity':STATIC_ANALYSIS['SEVERITY']['ERROR'],'rule':_0x59330f(0x158),'message':'Syntax\x20error','category':STATIC_ANALYSIS['CATEGORY'][_0x59330f(0x16a)],'fixable':![]});}a0_0x3d96c4['forEachChild'](_0x3e39a4,_0x38eb8f);};_0x38eb8f(_0x193808);if(_0x193808[_0x52156f(0x14a)]&&_0x193808['parseDiagnostics']['length']>0x0)for(const _0x380bed of _0x193808['parseDiagnostics']){_0x59a7d9['push'](this[_0x52156f(0x170)](_0x380bed,_0x193808));}return _0x59a7d9;}async[a0_0x52c02f(0x162)](_0x100e73,_0x1f5a19){const _0x404369=a0_0x52c02f,_0x3f94cc=[];try{const _0x3f824e=a0_0x3d96c4['createSourceFile'](_0x100e73,_0x1f5a19,a0_0x3d96c4[_0x404369(0x16c)][_0x404369(0x16d)],!![]),_0x2dfd3a={'getSourceFile':_0x3e2c9e=>{if(_0x3e2c9e===_0x100e73)return _0x3f824e;return undefined;},'getDefaultLibFileName':()=>'lib.d.ts','writeFile':()=>{},'getCurrentDirectory':()=>a0_0x5c30d7['dirname'](_0x100e73),'getDirectories':()=>[],'fileExists':_0x4e7fb4=>_0x4e7fb4===_0x100e73,'readFile':_0x3b947a=>{if(_0x3b947a===_0x100e73)return _0x1f5a19;return undefined;},'getCanonicalFileName':_0x39c3a8=>_0x39c3a8,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0xc70d0e=a0_0x3d96c4['createProgram']({'rootNames':[_0x100e73],'options':this[_0x404369(0x163)],'host':_0x2dfd3a}),_0x256132=_0xc70d0e[_0x404369(0x162)](_0x3f824e);for(const _0x261a3b of _0x256132){_0x3f94cc['push'](this['formatDiagnostic'](_0x261a3b,_0x3f824e));}}catch(_0x376f65){this[_0x404369(0x175)]?.['debug']('Semantic\x20analysis\x20skipped',{'file':_0x100e73,'reason':_0x376f65[_0x404369(0x15d)]});}return _0x3f94cc;}['formatDiagnostic'](_0x15789f,_0x56fde3){const _0x4627fc=a0_0x52c02f;let _0x258bd5=0x0,_0x369e61=0x0;if(_0x15789f['file']&&_0x15789f['start']!==undefined){const _0x5026d=_0x15789f[_0x4627fc(0x145)][_0x4627fc(0x164)](_0x15789f['start']);_0x258bd5=_0x5026d[_0x4627fc(0x154)]+0x1,_0x369e61=_0x5026d[_0x4627fc(0x173)]+0x1;}else{if(_0x56fde3&&_0x15789f['start']!==undefined){const _0xf8cee4=_0x56fde3[_0x4627fc(0x164)](_0x15789f[_0x4627fc(0x174)]);_0x258bd5=_0xf8cee4['line']+0x1,_0x369e61=_0xf8cee4['character']+0x1;}}const _0x115506=a0_0x3d96c4['flattenDiagnosticMessageText'](_0x15789f[_0x4627fc(0x16e)],'\x0a');let _0x7398de;switch(_0x15789f['category']){case a0_0x3d96c4[_0x4627fc(0x15c)][_0x4627fc(0x169)]:_0x7398de=STATIC_ANALYSIS['SEVERITY'][_0x4627fc(0x152)];break;case a0_0x3d96c4[_0x4627fc(0x15c)][_0x4627fc(0x16f)]:_0x7398de=STATIC_ANALYSIS['SEVERITY'][_0x4627fc(0x168)];break;case a0_0x3d96c4['DiagnosticCategory']['Message']:case a0_0x3d96c4['DiagnosticCategory'][_0x4627fc(0x165)]:_0x7398de=STATIC_ANALYSIS['SEVERITY']['INFO'];break;default:_0x7398de=STATIC_ANALYSIS['SEVERITY'][_0x4627fc(0x152)];}let _0x2ee168=STATIC_ANALYSIS['CATEGORY']['SYNTAX'];const _0xcb603b=_0x15789f[_0x4627fc(0x14b)];if(_0xcb603b>=0x7d0&&_0xcb603b<0xbb8)_0x2ee168=STATIC_ANALYSIS[_0x4627fc(0x172)][_0x4627fc(0x156)];else{if(_0xcb603b>=0x3e8&&_0xcb603b<0x7d0)_0x2ee168=STATIC_ANALYSIS['CATEGORY']['SYNTAX'];else _0xcb603b>=0x8fc&&_0xcb603b<0x960&&(_0x2ee168=STATIC_ANALYSIS[_0x4627fc(0x172)]['IMPORT']);}return(_0x115506['toLowerCase']()['includes'](_0x4627fc(0x153))||_0x115506[_0x4627fc(0x15f)]()['includes']('import'))&&(_0x2ee168=STATIC_ANALYSIS['CATEGORY']['IMPORT']),{'file':_0x15789f[_0x4627fc(0x145)]?.[_0x4627fc(0x160)]||_0x56fde3?.['fileName']||'unknown','line':_0x258bd5,'column':_0x369e61,'severity':_0x7398de,'rule':'TS'+_0xcb603b,'message':_0x115506,'category':_0x2ee168,'fixable':![],'code':_0x15789f['code']};}}export default JavaScriptAnalyzer;
1
+ const a0_0x5e4f40=a0_0x2599;(function(_0x260a9d,_0x36a7a6){const _0x3e0413=a0_0x2599,_0x468791=_0x260a9d();while(!![]){try{const _0xea0ba4=-parseInt(_0x3e0413(0x1ee))/0x1+-parseInt(_0x3e0413(0x1f7))/0x2+-parseInt(_0x3e0413(0x1e6))/0x3*(parseInt(_0x3e0413(0x1e0))/0x4)+parseInt(_0x3e0413(0x1e3))/0x5*(-parseInt(_0x3e0413(0x1f5))/0x6)+parseInt(_0x3e0413(0x1e1))/0x7+parseInt(_0x3e0413(0x1f4))/0x8+-parseInt(_0x3e0413(0x1fb))/0x9*(-parseInt(_0x3e0413(0x1fa))/0xa);if(_0xea0ba4===_0x36a7a6)break;else _0x468791['push'](_0x468791['shift']());}catch(_0x4357f7){_0x468791['push'](_0x468791['shift']());}}}(a0_0x1bf8,0xb5f47));import a0_0x187189 from'typescript';import a0_0x104915 from'path';function a0_0x2599(_0x38aa02,_0x47b862){_0x38aa02=_0x38aa02-0x1d1;const _0x1bf862=a0_0x1bf8();let _0x2599c3=_0x1bf862[_0x38aa02];if(a0_0x2599['WHLKNX']===undefined){var _0x5c3d5e=function(_0x1bbcfc){const _0x337c68='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x187189='',_0x104915='';for(let _0x41de2b=0x0,_0x52cd9f,_0x24d2b0,_0x18f5e9=0x0;_0x24d2b0=_0x1bbcfc['charAt'](_0x18f5e9++);~_0x24d2b0&&(_0x52cd9f=_0x41de2b%0x4?_0x52cd9f*0x40+_0x24d2b0:_0x24d2b0,_0x41de2b++%0x4)?_0x187189+=String['fromCharCode'](0xff&_0x52cd9f>>(-0x2*_0x41de2b&0x6)):0x0){_0x24d2b0=_0x337c68['indexOf'](_0x24d2b0);}for(let _0x4ac428=0x0,_0x5df054=_0x187189['length'];_0x4ac428<_0x5df054;_0x4ac428++){_0x104915+='%'+('00'+_0x187189['charCodeAt'](_0x4ac428)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x104915);};a0_0x2599['CjPEYZ']=_0x5c3d5e,a0_0x2599['UOwttV']={},a0_0x2599['WHLKNX']=!![];}const _0x14ace6=_0x1bf862[0x0],_0x3592dd=_0x38aa02+_0x14ace6,_0x503797=a0_0x2599['UOwttV'][_0x3592dd];return!_0x503797?(_0x2599c3=a0_0x2599['CjPEYZ'](_0x2599c3),a0_0x2599['UOwttV'][_0x3592dd]=_0x2599c3):_0x2599c3=_0x503797,_0x2599c3;}function a0_0x1bf8(){const _0x20447c=['yw5HBhL6zq','BwvZC2fNzq','ChvZAa','u3vNz2vZDgLVBG','v0fstKLorW','mta1nJe1odrhrgPLEhG','mZmXmJzfqwzMBui','y2f0zwDVCNK','odm5nta2Chfys0Te','tw9KDwXLuMvZB2X1DgLVBKTPBMq','y3jLyxrLu291CMnLrMLSzq','mtbJwe5mzNK','mtG3ndu3mJjMB2D3s2S','zMLSzu5HBwu','sMf2yvnJCMLWDcbHBMfSExnPCYbJB21WBgv0zwq','C3rHCNq','CgfYC2veAwfNBM9ZDgLJCW','y29TCgLSzxjpChrPB25Z','C3LUDgf4lwvYCM9Y','zgvIDwC','Bg9Nz2vY','z2v0tgLUzufUzenOyxjHy3rLCK9Mug9ZAxrPB24','rgLHz25VC3rPy0nHDgvNB3j5','u2nYAxb0vgfYz2v0','BgLUzq','Aw5JBhvKzxm','y3jLyxrLuhjVz3jHBq','tw9KDwXLs2LUza','zMLSzq','y29Kzq','z2v0u3rHCNq','u3LUDgf4s2LUza','zMXHDhrLBKrPywDUB3n0AwnnzxnZywDLvgv4Da','y2HHCMfJDgvY','rvjst1i','q0furuDpuLK','zMLSDgvY','u1Lovefy','mJe3ndHnvLzeufi','mJu0mty4nK9SAhvKBW','tgf0zxn0','mti5mhPWwhLWsW','u2vTyw50AwmGyw5HBhLZAxmGC2TPChbLza','C2v2zxjPDhK','ntG4sNPgzgzL','BwvZC2fNzvrLEhq','u0vwrvjjvfK','rvnozxH0','z2v0u2vTyw50AwneAwfNBM9ZDgLJCW','zM9YBwf0rgLHz25VC3rPyW','A2LUza','Dg9mB3DLCKnHC2u','mteXmdq0BNDlqK9U'];a0_0x1bf8=function(){return _0x20447c;};return a0_0x1bf8();}import{STATIC_ANALYSIS}from'../utilities/constants.js';class JavaScriptAnalyzer{constructor(_0x41de2b=null){const _0x2f9d1a=a0_0x2599;this['logger']=_0x41de2b,this[_0x2f9d1a(0x200)]={'allowJs':!![],'checkJs':!![],'noEmit':!![],'jsx':a0_0x187189['JsxEmit']['React'],'target':a0_0x187189[_0x2f9d1a(0x1d1)][_0x2f9d1a(0x1e2)],'module':a0_0x187189[_0x2f9d1a(0x1d5)][_0x2f9d1a(0x1e9)],'moduleResolution':a0_0x187189[_0x2f9d1a(0x1f8)]['NodeJs'],'esModuleInterop':!![],'skipLibCheck':!![],'strict':![],'noImplicitAny':![]};}async[a0_0x5e4f40(0x1ef)](_0x52cd9f,_0x24d2b0,_0x18f5e9={}){const _0x16907d=a0_0x5e4f40;try{const _0x4ac428=[],_0x5df054=a0_0x187189[_0x16907d(0x1f9)](_0x52cd9f,_0x24d2b0,a0_0x187189['ScriptTarget'][_0x16907d(0x1e2)],!![]),_0x9fe30c=this['getSyntacticDiagnostics'](_0x5df054);_0x4ac428[_0x16907d(0x1f1)](..._0x9fe30c);const _0x40317c=await this[_0x16907d(0x1ea)](_0x52cd9f,_0x24d2b0);return _0x4ac428[_0x16907d(0x1f1)](..._0x40317c),this['logger']?.['debug'](_0x16907d(0x1fd),{'file':_0x52cd9f,'totalDiagnostics':_0x4ac428['length'],'errors':_0x4ac428['filter'](_0x2dc458=>_0x2dc458['severity']===STATIC_ANALYSIS[_0x16907d(0x1e8)]['ERROR'])['length'],'warnings':_0x4ac428[_0x16907d(0x1de)](_0x43ba2a=>_0x43ba2a[_0x16907d(0x1e5)]===STATIC_ANALYSIS['SEVERITY'][_0x16907d(0x1f3)])['length']}),_0x4ac428;}catch(_0x36d281){return this['logger']?.['error']('JavaScript\x20analysis\x20failed',{'file':_0x52cd9f,'error':_0x36d281['message']}),[{'file':_0x52cd9f,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS[_0x16907d(0x1e8)][_0x16907d(0x1dc)],'rule':'analyzer-error','message':'Analysis\x20failed:\x20'+_0x36d281['message'],'category':STATIC_ANALYSIS['CATEGORY']['SYNTAX']}];}}['getSyntacticDiagnostics'](_0x1131c2){const _0x458e41=a0_0x5e4f40,_0x3e9ca3=[],_0x1c7543=_0xeebfee=>{const _0x2038f4=a0_0x2599;if(_0xeebfee[_0x2038f4(0x1ec)]===a0_0x187189[_0x2038f4(0x1d9)]['Unknown']){const _0x47b85c=_0x1131c2[_0x2038f4(0x204)](_0xeebfee[_0x2038f4(0x1d8)]());_0x3e9ca3['push']({'file':_0x1131c2[_0x2038f4(0x1fc)],'line':_0x47b85c['line']+0x1,'column':_0x47b85c['character']+0x1,'severity':STATIC_ANALYSIS['SEVERITY'][_0x2038f4(0x1dc)],'rule':_0x2038f4(0x201),'message':'Syntax\x20error','category':STATIC_ANALYSIS[_0x2038f4(0x1dd)]['SYNTAX'],'fixable':![]});}a0_0x187189['forEachChild'](_0xeebfee,_0x1c7543);};_0x1c7543(_0x1131c2);if(_0x1131c2[_0x458e41(0x1ff)]&&_0x1131c2[_0x458e41(0x1ff)]['length']>0x0)for(const _0x380043 of _0x1131c2[_0x458e41(0x1ff)]){_0x3e9ca3['push'](this['formatDiagnostic'](_0x380043,_0x1131c2));}return _0x3e9ca3;}async[a0_0x5e4f40(0x1ea)](_0x22d237,_0x4fd76c){const _0x5b2680=a0_0x5e4f40,_0x15f005=[];try{const _0x130479=a0_0x187189['createSourceFile'](_0x22d237,_0x4fd76c,a0_0x187189[_0x5b2680(0x1d1)]['Latest'],!![]),_0x46a884={'getSourceFile':_0x3fb571=>{if(_0x3fb571===_0x22d237)return _0x130479;return undefined;},'getDefaultLibFileName':()=>'lib.d.ts','writeFile':()=>{},'getCurrentDirectory':()=>a0_0x104915['dirname'](_0x22d237),'getDirectories':()=>[],'fileExists':_0x17bbc2=>_0x17bbc2===_0x22d237,'readFile':_0x246e61=>{if(_0x246e61===_0x22d237)return _0x4fd76c;return undefined;},'getCanonicalFileName':_0x5f151b=>_0x5f151b,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x58ede2=a0_0x187189[_0x5b2680(0x1d4)]({'rootNames':[_0x22d237],'options':this['compilerOptions'],'host':_0x46a884}),_0x20d89f=_0x58ede2[_0x5b2680(0x1ea)](_0x130479);for(const _0x3cc701 of _0x20d89f){_0x15f005[_0x5b2680(0x1f1)](this['formatDiagnostic'](_0x3cc701,_0x130479));}}catch(_0x402743){this[_0x5b2680(0x203)]?.[_0x5b2680(0x202)](_0x5b2680(0x1e4),{'file':_0x22d237,'reason':_0x402743[_0x5b2680(0x1f0)]});}return _0x15f005;}[a0_0x5e4f40(0x1eb)](_0x540101,_0x14dc9b){const _0x5c11d8=a0_0x5e4f40;let _0x19689d=0x0,_0x2253cd=0x0;if(_0x540101['file']&&_0x540101[_0x5c11d8(0x1fe)]!==undefined){const _0x18e048=_0x540101['file'][_0x5c11d8(0x204)](_0x540101['start']);_0x19689d=_0x18e048[_0x5c11d8(0x1d2)]+0x1,_0x2253cd=_0x18e048[_0x5c11d8(0x1db)]+0x1;}else{if(_0x14dc9b&&_0x540101['start']!==undefined){const _0x3c3817=_0x14dc9b[_0x5c11d8(0x204)](_0x540101[_0x5c11d8(0x1fe)]);_0x19689d=_0x3c3817[_0x5c11d8(0x1d2)]+0x1,_0x2253cd=_0x3c3817[_0x5c11d8(0x1db)]+0x1;}}const _0x235c40=a0_0x187189[_0x5c11d8(0x1da)](_0x540101[_0x5c11d8(0x1e7)],'\x0a');let _0x339acc;switch(_0x540101[_0x5c11d8(0x1f6)]){case a0_0x187189['DiagnosticCategory']['Error']:_0x339acc=STATIC_ANALYSIS['SEVERITY'][_0x5c11d8(0x1dc)];break;case a0_0x187189['DiagnosticCategory']['Warning']:_0x339acc=STATIC_ANALYSIS[_0x5c11d8(0x1e8)][_0x5c11d8(0x1f3)];break;case a0_0x187189['DiagnosticCategory']['Message']:case a0_0x187189[_0x5c11d8(0x205)][_0x5c11d8(0x1f2)]:_0x339acc=STATIC_ANALYSIS[_0x5c11d8(0x1e8)]['INFO'];break;default:_0x339acc=STATIC_ANALYSIS['SEVERITY']['ERROR'];}let _0x90a606=STATIC_ANALYSIS['CATEGORY'][_0x5c11d8(0x1df)];const _0x807cc7=_0x540101['code'];if(_0x807cc7>=0x7d0&&_0x807cc7<0xbb8)_0x90a606=STATIC_ANALYSIS['CATEGORY']['TYPE'];else{if(_0x807cc7>=0x3e8&&_0x807cc7<0x7d0)_0x90a606=STATIC_ANALYSIS[_0x5c11d8(0x1dd)][_0x5c11d8(0x1df)];else _0x807cc7>=0x8fc&&_0x807cc7<0x960&&(_0x90a606=STATIC_ANALYSIS['CATEGORY']['IMPORT']);}return(_0x235c40[_0x5c11d8(0x1ed)]()[_0x5c11d8(0x1d3)]('cannot\x20find\x20module')||_0x235c40['toLowerCase']()[_0x5c11d8(0x1d3)]('import'))&&(_0x90a606=STATIC_ANALYSIS[_0x5c11d8(0x1dd)]['IMPORT']),{'file':_0x540101[_0x5c11d8(0x1d6)]?.[_0x5c11d8(0x1fc)]||_0x14dc9b?.[_0x5c11d8(0x1fc)]||'unknown','line':_0x19689d,'column':_0x2253cd,'severity':_0x339acc,'rule':'TS'+_0x807cc7,'message':_0x235c40,'category':_0x90a606,'fixable':![],'code':_0x540101[_0x5c11d8(0x1d7)]};}}export default JavaScriptAnalyzer;
@@ -1 +1 @@
1
- function a0_0x38d1(_0x3c6b5c,_0x3c4c11){_0x3c6b5c=_0x3c6b5c-0x1b5;const _0x113b5b=a0_0x113b();let _0x38d13e=_0x113b5b[_0x3c6b5c];if(a0_0x38d1['awRBYA']===undefined){var _0x111547=function(_0x417d14){const _0x410d57='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x48c57c='',_0x1070c4='';for(let _0x142185=0x0,_0x345594,_0x10c7d0,_0x492f4e=0x0;_0x10c7d0=_0x417d14['charAt'](_0x492f4e++);~_0x10c7d0&&(_0x345594=_0x142185%0x4?_0x345594*0x40+_0x10c7d0:_0x10c7d0,_0x142185++%0x4)?_0x48c57c+=String['fromCharCode'](0xff&_0x345594>>(-0x2*_0x142185&0x6)):0x0){_0x10c7d0=_0x410d57['indexOf'](_0x10c7d0);}for(let _0x59502b=0x0,_0x55120f=_0x48c57c['length'];_0x59502b<_0x55120f;_0x59502b++){_0x1070c4+='%'+('00'+_0x48c57c['charCodeAt'](_0x59502b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1070c4);};a0_0x38d1['dGGKKG']=_0x111547,a0_0x38d1['HMKUPl']={},a0_0x38d1['awRBYA']=!![];}const _0x31fa8a=_0x113b5b[0x0],_0x50b6a9=_0x3c6b5c+_0x31fa8a,_0x590356=a0_0x38d1['HMKUPl'][_0x50b6a9];return!_0x590356?(_0x38d13e=a0_0x38d1['dGGKKG'](_0x38d13e),a0_0x38d1['HMKUPl'][_0x50b6a9]=_0x38d13e):_0x38d13e=_0x590356,_0x38d13e;}(function(_0x373392,_0x57845a){const _0x3b4890=a0_0x38d1,_0x4f6c79=_0x373392();while(!![]){try{const _0x1c34da=parseInt(_0x3b4890(0x1bb))/0x1*(-parseInt(_0x3b4890(0x1bd))/0x2)+parseInt(_0x3b4890(0x1bc))/0x3+-parseInt(_0x3b4890(0x1b5))/0x4*(-parseInt(_0x3b4890(0x1c9))/0x5)+-parseInt(_0x3b4890(0x1c1))/0x6*(parseInt(_0x3b4890(0x1c6))/0x7)+parseInt(_0x3b4890(0x1c4))/0x8*(-parseInt(_0x3b4890(0x1cc))/0x9)+parseInt(_0x3b4890(0x1c3))/0xa*(parseInt(_0x3b4890(0x1ce))/0xb)+parseInt(_0x3b4890(0x1bf))/0xc*(parseInt(_0x3b4890(0x1d0))/0xd);if(_0x1c34da===_0x57845a)break;else _0x4f6c79['push'](_0x4f6c79['shift']());}catch(_0x10dc61){_0x4f6c79['push'](_0x4f6c79['shift']());}}}(a0_0x113b,0x311e0));import a0_0x48c57c from'prettier';function a0_0x113b(){const _0x27b559=['BgvUz3rO','mta2n0vtyu9Uuq','lNLHBwW','mJe0nJqWnenKu0H4tq','lM1K','Bwf4','z2v0u3vWCg9YDgvKrxH0zw5ZAw9UCW','uhjLDhrPzxiGzM9YBwf0DgLUzYbMywLSzwq','EwfTBa','BwvZC2fNzq','yxzVAwq','C3bSAxq','uhjLDhrPzxiGy2HLy2SGzMfPBgvK','Bg9Nz2vY','z2v0ugfYC2vY','z2v0uhjLDhrPzxjdB25MAwC','CMvZB2X2zunVBMzPzW','zxH0BMfTzq','ywrKzwq','mJy0vgvtDff4','y29UzMLNq2fJAgu','zgvIDwC','lNz1zq','yMfIzwW','lM1QCW','mZu3oxzAtK9NrG','ndCWnJy3r2jHs2np','mtK0CxPUqwzw','DNvL','mZzvEvHYu3a','ChvZAa','mJe2nJG5nePUDgfJta','lMH0BwW','mZq4otbRt2jczwe','mJuZndy0wKT1zMz4','rM91BMqGuhjLDhrPzxiGy29UzMLN','n2f3y0HxqW','BgvZCW','lMnQCW','mJi2ntvSrfDIA08','lMPZ','y291BNrdAgfUz2vKtgLUzxm','mta4uKffq2zI'];a0_0x113b=function(){return _0x27b559;};return a0_0x113b();}import a0_0x1070c4 from'path';import a0_0x142185 from'fs/promises';class PrettierFormatter{constructor(_0x345594=null){const _0x52d794=a0_0x38d1;this[_0x52d794(0x1da)]=_0x345594,this[_0x52d794(0x1b6)]=new Map();}async['format'](_0x10c7d0,_0x492f4e,_0x59502b={}){const _0x43144a=a0_0x38d1;try{const _0x55120f=await this['getPrettierConfig'](_0x10c7d0,_0x59502b['workingDir']),_0x5ec5d2=this[_0x43144a(0x1db)](_0x10c7d0),_0x172ccf=await a0_0x48c57c['format'](_0x492f4e,{..._0x55120f,'filepath':_0x10c7d0,'parser':_0x5ec5d2}),_0x3598fc=_0x172ccf!==_0x492f4e;return{'formatted':_0x3598fc,'content':_0x172ccf,'original':_0x492f4e,'changes':_0x3598fc?this['describeChanges'](_0x492f4e,_0x172ccf):[],'linesChanged':_0x3598fc?this[_0x43144a(0x1cb)](_0x492f4e,_0x172ccf):0x0};}catch(_0x317f6b){this[_0x43144a(0x1da)]?.['error'](_0x43144a(0x1d4),{'file':_0x10c7d0,'error':_0x317f6b['message']});throw new Error('Prettier\x20formatting\x20failed:\x20'+_0x317f6b[_0x43144a(0x1d6)]);}}async['check'](_0x211b3a,_0x32ae18,_0x438ddc={}){const _0x598fa2=a0_0x38d1;try{const _0x67c38b=await this[_0x598fa2(0x1dc)](_0x211b3a,_0x438ddc['workingDir']),_0x1267a9=this['getParser'](_0x211b3a),_0x5d3941=await a0_0x48c57c['format'](_0x32ae18,{..._0x67c38b,'filepath':_0x211b3a,'parser':_0x1267a9});return _0x5d3941!==_0x32ae18;}catch(_0x2febaa){return this['logger']?.['warn'](_0x598fa2(0x1d9),{'file':_0x211b3a,'error':_0x2febaa[_0x598fa2(0x1d6)]}),![];}}async['getPrettierConfig'](_0x2d4a6f,_0xbdcef){const _0x5c1356=a0_0x38d1,_0xe42b12=_0xbdcef||a0_0x1070c4['dirname'](_0x2d4a6f);if(this[_0x5c1356(0x1b6)]['has'](_0xe42b12))return this[_0x5c1356(0x1b6)]['get'](_0xe42b12);let _0x40ba9d={};if(_0xbdcef)try{const _0x43433c=await a0_0x48c57c[_0x5c1356(0x1dd)](_0x2d4a6f,{'config':_0xbdcef});_0x43433c&&(this['logger']?.[_0x5c1356(0x1b7)](_0x5c1356(0x1c5),{'workingDir':_0xbdcef}),_0x40ba9d=_0x43433c);}catch(_0xe4b1b){this['logger']?.['debug']('No Prettier config found, using defaults');}const defaultConfig={'semi':!![],'singleQuote':!![],'tabWidth':0x2,'trailingComma':'es5','printWidth':0x64,'arrowParens':_0x5c1356(0x1d7),'endOfLine':'lf',..._0x40ba9d};return this[_0x5c1356(0x1b6)]['set'](_0xe42b12,defaultConfig),defaultConfig;}['getParser'](_0x1b466a){const _0x5ba434=a0_0x38d1,_0x404be0=a0_0x1070c4['extname'](_0x1b466a)['toLowerCase'](),_0x12bb44={'.js':'babel','.jsx':'babel','.mjs':'babel','.cjs':_0x5ba434(0x1b9),'.ts':'typescript','.tsx':'typescript','.json':'json','.json5':'json5','.css':'css','.scss':'scss','.less':_0x5ba434(0x1c7),'.html':'html','.vue':_0x5ba434(0x1be),'.md':'markdown','.yaml':_0x5ba434(0x1d5),'.yml':'yaml'};return _0x12bb44[_0x404be0]||'babel';}['describeChanges'](_0x2706c2,_0x1dc9e9){const _0x291e6f=a0_0x38d1,_0x5549d9=[],_0x5b2b66=_0x2706c2[_0x291e6f(0x1d8)]('\x0a'),_0x45a4a1=_0x1dc9e9['split']('\x0a'),_0x22b2c2=Math['max'](_0x5b2b66['length'],_0x45a4a1[_0x291e6f(0x1cd)]);for(let _0x4e06b4=0x0;_0x4e06b4<_0x22b2c2;_0x4e06b4++){const _0x46d548=_0x5b2b66[_0x4e06b4],_0x265657=_0x45a4a1[_0x4e06b4];_0x46d548!==_0x265657&&_0x5549d9[_0x291e6f(0x1c0)]({'line':_0x4e06b4+0x1,'type':_0x46d548!==undefined&&_0x265657!==undefined?'modified':_0x46d548!==undefined?'removed':_0x291e6f(0x1df),'original':_0x46d548||'','formatted':_0x265657||''});}return _0x5549d9;}['countChangedLines'](_0x254756,_0x550185){const _0x45942e=a0_0x38d1,_0x2daa24=_0x254756[_0x45942e(0x1d8)]('\x0a'),_0x24617f=_0x550185['split']('\x0a');let _0x33e599=0x0;const _0x76ddc7=Math[_0x45942e(0x1d2)](_0x2daa24[_0x45942e(0x1cd)],_0x24617f['length']);for(let _0x1c7989=0x0;_0x1c7989<_0x76ddc7;_0x1c7989++){_0x2daa24[_0x1c7989]!==_0x24617f[_0x1c7989]&&_0x33e599++;}return _0x33e599;}['getSupportedExtensions'](){const _0x14d76f=a0_0x38d1;return[_0x14d76f(0x1ca),'.jsx',_0x14d76f(0x1ba),_0x14d76f(0x1c8),'.ts','.tsx','.json','.json5','.css','.scss','.less',_0x14d76f(0x1c2),_0x14d76f(0x1b8),_0x14d76f(0x1d1),_0x14d76f(0x1cf),'.yml'];}['isSupported'](_0x54255b){const _0xa0c243=a0_0x38d1,_0x2a866f=a0_0x1070c4[_0xa0c243(0x1de)](_0x54255b)['toLowerCase']();return this[_0xa0c243(0x1d3)]()['includes'](_0x2a866f);}}export default PrettierFormatter;
1
+ function a0_0x40cd(_0x3d72a5,_0x345b7d){_0x3d72a5=_0x3d72a5-0x12e;const _0x1bf00c=a0_0x1bf0();let _0x40cdb0=_0x1bf00c[_0x3d72a5];if(a0_0x40cd['yGATAa']===undefined){var _0x21631f=function(_0x39107b){const _0x10efc4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4e574c='',_0x59d8c0='';for(let _0x40054b=0x0,_0x3b0ea4,_0x58b44a,_0x18385b=0x0;_0x58b44a=_0x39107b['charAt'](_0x18385b++);~_0x58b44a&&(_0x3b0ea4=_0x40054b%0x4?_0x3b0ea4*0x40+_0x58b44a:_0x58b44a,_0x40054b++%0x4)?_0x4e574c+=String['fromCharCode'](0xff&_0x3b0ea4>>(-0x2*_0x40054b&0x6)):0x0){_0x58b44a=_0x10efc4['indexOf'](_0x58b44a);}for(let _0x3e6e6c=0x0,_0x580f75=_0x4e574c['length'];_0x3e6e6c<_0x580f75;_0x3e6e6c++){_0x59d8c0+='%'+('00'+_0x4e574c['charCodeAt'](_0x3e6e6c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x59d8c0);};a0_0x40cd['JTelfL']=_0x21631f,a0_0x40cd['LuZxNN']={},a0_0x40cd['yGATAa']=!![];}const _0x5c31e8=_0x1bf00c[0x0],_0x1417de=_0x3d72a5+_0x5c31e8,_0x929871=a0_0x40cd['LuZxNN'][_0x1417de];return!_0x929871?(_0x40cdb0=a0_0x40cd['JTelfL'](_0x40cdb0),a0_0x40cd['LuZxNN'][_0x1417de]=_0x40cdb0):_0x40cdb0=_0x929871,_0x40cdb0;}const a0_0x28a915=a0_0x40cd;(function(_0x25ef86,_0x53dafc){const _0x34f434=a0_0x40cd,_0x5f61f=_0x25ef86();while(!![]){try{const _0x4b8f69=parseInt(_0x34f434(0x12f))/0x1+-parseInt(_0x34f434(0x14a))/0x2+-parseInt(_0x34f434(0x141))/0x3+parseInt(_0x34f434(0x137))/0x4+-parseInt(_0x34f434(0x151))/0x5*(parseInt(_0x34f434(0x154))/0x6)+parseInt(_0x34f434(0x13b))/0x7+parseInt(_0x34f434(0x152))/0x8;if(_0x4b8f69===_0x53dafc)break;else _0x5f61f['push'](_0x5f61f['shift']());}catch(_0x37ad3b){_0x5f61f['push'](_0x5f61f['shift']());}}}(a0_0x1bf0,0x517e7));import a0_0x4e574c from'prettier';import a0_0x59d8c0 from'path';import a0_0x40054b from'fs/promises';function a0_0x1bf0(){const _0x4d3a1c=['CMvZB2X2zunVBMzPzW','mZe4ndC5mhDkyK5Uwa','BgvZCW','lMPZEa','lMPZB24','lMnQCW','zxH0BMfTzq','nde2ndC4zuDuCLb5','Bw9KAwzPzwq','lNrZEa','uhjLDhrPzxiGy2HLy2SGzMfPBgvK','BgvUz3rO','C3bSAxq','C2v0','zM9YBwf0','uhjLDhrPzxiGzM9YBwf0DgLUzYbMywLSzwq6ia','mtiXodGYohvNsKD4vG','rM91BMqGuhjLDhrPzxiGy29UzMLN','BwvZC2fNzq','z2v0uhjLDhrPzxjdB25MAwC','z2v0u3vWCg9YDgvKrxH0zw5ZAw9UCW','zgLYBMfTzq','lM1QCW','nJvgAfL4yuy','mZu2mdi1nNzHDNrxCq','yMfIzwW','mJu2mJa2svnOrvHH','ANnVBJu','Bwf4','y291BNrdAgfUz2vKtgLUzxm','lMXLC3m','yxzVAwq','Bg9Nz2vY','mteWmdq2u3P0u0jw','DhLWzxnJCMLWDa','zgvZy3jPyMvdAgfUz2vZ','z2v0ugfYC2vY','zxm1','BwfYA2rVD24','y29UzMLNq2fJAgu','uhjLDhrPzxiGzM9YBwf0DgLUzYbMywLSzwq','mJuWodqXnNjOy2PQsq','D29YA2LUz0rPCG','EwfTBa'];a0_0x1bf0=function(){return _0x4d3a1c;};return a0_0x1bf0();}class PrettierFormatter{constructor(_0x3b0ea4=null){const _0x592546=a0_0x40cd;this[_0x592546(0x12e)]=_0x3b0ea4,this[_0x592546(0x135)]=new Map();}async[a0_0x28a915(0x148)](_0x58b44a,_0x18385b,_0x3e6e6c={}){const _0x1ec5d6=a0_0x28a915;try{const _0x580f75=await this[_0x1ec5d6(0x14d)](_0x58b44a,_0x3e6e6c['workingDir']),_0x3c591a=this['getParser'](_0x58b44a),_0x507889=await a0_0x4e574c['format'](_0x18385b,{..._0x580f75,'filepath':_0x58b44a,'parser':_0x3c591a}),_0x18583a=_0x507889!==_0x18385b;return{'formatted':_0x18583a,'content':_0x507889,'original':_0x18385b,'changes':_0x18583a?this[_0x1ec5d6(0x131)](_0x18385b,_0x507889):[],'linesChanged':_0x18583a?this['countChangedLines'](_0x18385b,_0x507889):0x0};}catch(_0x2a0344){this['logger']?.['error'](_0x1ec5d6(0x136),{'file':_0x58b44a,'error':_0x2a0344[_0x1ec5d6(0x14c)]});throw new Error(_0x1ec5d6(0x149)+_0x2a0344['message']);}}async['check'](_0x388661,_0x3f46ac,_0x1a955b={}){const _0x542fb6=a0_0x28a915;try{const _0x293d1d=await this[_0x542fb6(0x14d)](_0x388661,_0x1a955b[_0x542fb6(0x138)]),_0x4a11f2=this['getParser'](_0x388661),_0x5f4079=await a0_0x4e574c[_0x542fb6(0x148)](_0x3f46ac,{..._0x293d1d,'filepath':_0x388661,'parser':_0x4a11f2});return _0x5f4079!==_0x3f46ac;}catch(_0x36f5b9){return this['logger']?.['warn'](_0x542fb6(0x144),{'file':_0x388661,'error':_0x36f5b9[_0x542fb6(0x14c)]}),![];}}async['getPrettierConfig'](_0x1f0cf6,_0x56c20e){const _0x5e232f=a0_0x28a915,_0x4bf885=_0x56c20e||a0_0x59d8c0[_0x5e232f(0x14f)](_0x1f0cf6);if(this['configCache']['has'](_0x4bf885))return this['configCache']['get'](_0x4bf885);let _0x3cb0e5={};if(_0x56c20e)try{const _0x20c71b=await a0_0x4e574c[_0x5e232f(0x13a)](_0x1f0cf6,{'config':_0x56c20e});_0x20c71b&&(this['logger']?.['debug'](_0x5e232f(0x14b),{'workingDir':_0x56c20e}),_0x3cb0e5=_0x20c71b);}catch(_0x209671){this['logger']?.['debug']('No Prettier config found, using defaults');}const defaultConfig={'semi':!![],'singleQuote':!![],'tabWidth':0x2,'trailingComma':_0x5e232f(0x133),'printWidth':0x64,'arrowParens':_0x5e232f(0x159),'endOfLine':'lf',..._0x3cb0e5};return this[_0x5e232f(0x135)][_0x5e232f(0x147)](_0x4bf885,defaultConfig),defaultConfig;}[a0_0x28a915(0x132)](_0x331053){const _0x1ee34f=a0_0x28a915,_0x2cf6a4=a0_0x59d8c0['extname'](_0x331053)['toLowerCase'](),_0x27f679={'.js':_0x1ee34f(0x153),'.jsx':_0x1ee34f(0x153),'.mjs':'babel','.cjs':_0x1ee34f(0x153),'.ts':_0x1ee34f(0x130),'.tsx':'typescript','.json':'json','.json5':_0x1ee34f(0x155),'.css':'css','.scss':'scss','.less':_0x1ee34f(0x13c),'.html':'html','.vue':'vue','.md':_0x1ee34f(0x134),'.yaml':_0x1ee34f(0x139),'.yml':_0x1ee34f(0x139)};return _0x27f679[_0x2cf6a4]||_0x1ee34f(0x153);}['describeChanges'](_0x1bbcbd,_0x18aaab){const _0x366c37=a0_0x28a915,_0x28db49=[],_0xa0c42f=_0x1bbcbd[_0x366c37(0x146)]('\x0a'),_0x12194a=_0x18aaab['split']('\x0a'),_0x3e62e1=Math[_0x366c37(0x156)](_0xa0c42f['length'],_0x12194a['length']);for(let _0x5f14db=0x0;_0x5f14db<_0x3e62e1;_0x5f14db++){const _0x2bf8e8=_0xa0c42f[_0x5f14db],_0xda1cc6=_0x12194a[_0x5f14db];_0x2bf8e8!==_0xda1cc6&&_0x28db49['push']({'line':_0x5f14db+0x1,'type':_0x2bf8e8!==undefined&&_0xda1cc6!==undefined?_0x366c37(0x142):_0x2bf8e8!==undefined?'removed':'added','original':_0x2bf8e8||'','formatted':_0xda1cc6||''});}return _0x28db49;}[a0_0x28a915(0x157)](_0xe85164,_0x11e986){const _0x755155=a0_0x28a915,_0x3e7931=_0xe85164['split']('\x0a'),_0x3f13a9=_0x11e986[_0x755155(0x146)]('\x0a');let _0xd18cfa=0x0;const _0x170079=Math[_0x755155(0x156)](_0x3e7931['length'],_0x3f13a9[_0x755155(0x145)]);for(let _0x5b1951=0x0;_0x5b1951<_0x170079;_0x5b1951++){_0x3e7931[_0x5b1951]!==_0x3f13a9[_0x5b1951]&&_0xd18cfa++;}return _0xd18cfa;}[a0_0x28a915(0x14e)](){const _0x70e42b=a0_0x28a915;return['.js',_0x70e42b(0x13d),_0x70e42b(0x150),_0x70e42b(0x13f),'.ts',_0x70e42b(0x143),_0x70e42b(0x13e),'.json5','.css','.scss',_0x70e42b(0x158),'.html','.vue','.md','.yaml','.yml'];}['isSupported'](_0x518624){const _0x862d9b=a0_0x28a915,_0x259ef9=a0_0x59d8c0[_0x862d9b(0x140)](_0x518624)['toLowerCase']();return this['getSupportedExtensions']()['includes'](_0x259ef9);}}export default PrettierFormatter;
@@ -1 +1 @@
1
- const a0_0x54f5ce=a0_0x3c67;function a0_0x3c67(_0x210d62,_0x27190b){_0x210d62=_0x210d62-0x178;const _0x20d619=a0_0x20d6();let _0x3c67aa=_0x20d619[_0x210d62];if(a0_0x3c67['xbCbXl']===undefined){var _0x2527ea=function(_0x4692a9){const _0x57ed25='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x40ed40='',_0x2c112a='';for(let _0x38c098=0x0,_0x213320,_0x18be20,_0x5efa09=0x0;_0x18be20=_0x4692a9['charAt'](_0x5efa09++);~_0x18be20&&(_0x213320=_0x38c098%0x4?_0x213320*0x40+_0x18be20:_0x18be20,_0x38c098++%0x4)?_0x40ed40+=String['fromCharCode'](0xff&_0x213320>>(-0x2*_0x38c098&0x6)):0x0){_0x18be20=_0x57ed25['indexOf'](_0x18be20);}for(let _0x56b0b6=0x0,_0x2bf14b=_0x40ed40['length'];_0x56b0b6<_0x2bf14b;_0x56b0b6++){_0x2c112a+='%'+('00'+_0x40ed40['charCodeAt'](_0x56b0b6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2c112a);};a0_0x3c67['HBVzea']=_0x2527ea,a0_0x3c67['eGWtia']={},a0_0x3c67['xbCbXl']=!![];}const _0x58af23=_0x20d619[0x0],_0x43c5f1=_0x210d62+_0x58af23,_0x5ece63=a0_0x3c67['eGWtia'][_0x43c5f1];return!_0x5ece63?(_0x3c67aa=a0_0x3c67['HBVzea'](_0x3c67aa),a0_0x3c67['eGWtia'][_0x43c5f1]=_0x3c67aa):_0x3c67aa=_0x5ece63,_0x3c67aa;}function a0_0x20d6(){const _0x1c205a=['zMLSDgvY','cMLTCg9YDcbHC3qkAw1WB3j0ihn5CWPPBxbVCNqGANnVBGOkzgvMignOzwnRx3n5BNrHEcHMAwXLCgf0AcK6cIaGicb0CNK6cIaGicaGicaGD2L0AcbVCgvUkgzPBgvWyxrOlcaNCICSigvUy29KAw5NpsD1DgyTocCPigfZigy6cIaGicaGicaGicaGihnVDxjJzsa9igyUCMvHzcGPcGOGicaGicaGicmGvhj5ihrVihbHCNnLihrOzsbMAwXLcIaGicaGicaGyxn0lNbHCNnLkhnVDxjJzsWGzMLSzw5HBwu9zMLSzxbHDgGPcGOGicaGicaGicmGswyGC3vJy2vZC2z1BcWGBM8GzxjYB3jZcIaGicaGicaGChjPBNqOANnVBI5KDw1WCYH7iNn1y2nLC3mIoIbuCNvLlcaIzxjYB3jZiJOGw119ksKkcIaGicbLEgnLChqGu3LUDgf4rxjYB3iGyxmGztOkicaGicaGicbLCNjVCIa9ihSkicaGicaGicaGicaGiMzPBguIoIbMAwXLCgf0AcWkicaGicaGicaGicaGiMXPBMuIoIbLlMXPBMvUBYbVCIaXlaOGicaGicaGicaGicaIy29SDw1UiJOGzs5VzMzZzxqGB3iGmsWkicaGicaGicaGicaGiM1LC3nHz2uIoIbZDhiOzs5TC2CPlaOGicaGicaGicaGicaIDgv4Dci6iguUDgv4Dc5ZDhjPCcGPigLMiguUDgv4DcbLBhnLiciIcIaGicaGicaGFqOGicaGicaGihbYAw50kgPZB24UzhvTChmOEYjZDwnJzxnZiJOGrMfSC2uSicjLCNjVCNmIoIbBzxjYB3jDFsKPcGOGicaGzxHJzxb0iev4y2vWDgLVBIbHCYbLoGOGicaGicaGigvYCM9Yid0GEWOGicaGicaGicaGicaIzMLSzsi6igzPBgvWyxrOlaOGicaGicaGicaGicaIBgLUzsi6ideScIaGicaGicaGicaGicjJB2X1Bw4IoIaXlaOGicaGicaGicaGicaIBwvZC2fNzsi6ihn0CIHLksWkicaGicaGicaGicaGiNrLEhqIoIaIiGOGicaGicaGih0kicaGicaGicbWCMLUDcHQC29UlMr1BxbZkhSIC3vJy2vZCYi6iezHBhnLlcaIzxjYB3jZiJOGw2vYCM9Yxx0PkqOkAwyGx19Uyw1Lx18Gpt0GiL9FBwfPBL9FiJOkicaGigLMigXLBIHZExmUyxjNDIKGpIaXoGOGicaGicaGignOzwnRx3n5BNrHEcHZExmUyxjNDLSXxsKkicaGigvSC2u6cIaGicaGicaGChjPBNqOANnVBI5KDw1WCYH7iNn1y2nLC3mIoIbgywXZzsWGiMvYCM9YCYi6ifT7iM1LC3nHz2uIoIaItM8GzMLSzsbZCgvJAwzPzwqIFv19ksKk','ls12zxjZAw9U','BM93','q29TBwfUzcb0Aw1LB3v0','n0nPCK5lvG','A2LSBa','DxrMltG','CNvUuhL0Ag9Uu2nYAxb0','z2v0uhL0Ag9Uq29TBwfUza','BwvZC2fNzq','rM91BMqGuhL0Ag9UignVBw1HBMq','y2XVC2u','ntCZmtu2owrkruPlCa','ChL0Ag9Uq29TBwfUza','Bg9Nz2vY','otGZndaWoe9Zq3HttW','ntK4mJq4nM16u0TABW','mteYndKZogjmsg93CG','zxjYB3i','lNb5','D2fYBG','uhL0Ag9UigfUywX5C2LZigzHAwXLza','zgf0yq','mKDTA1jkwq','ChvZAa','mtbvBwfswxi','q0furuDpuLK','ntaYmtKXALbWu1nH','yw5HBhL6zq','mJmZmty1nKfdsg1eCq','rvjst1i','Dw5SAw5R','BgvUz3rO','C3vJy2vZCW','zxjYB3jZ','nJK3nZm5ouXqyMnOua','mJbpCwz1q2O','C2v2zxjPDhK','ChL0Ag9UlwfZDa','DhjPBq','C3rKB3v0'];a0_0x20d6=function(){return _0x1c205a;};return a0_0x20d6();}(function(_0xd4401,_0x468ce3){const _0x45726f=a0_0x3c67,_0x18c3f0=_0xd4401();while(!![]){try{const _0x2ffa05=parseInt(_0x45726f(0x18e))/0x1*(parseInt(_0x45726f(0x188))/0x2)+parseInt(_0x45726f(0x192))/0x3+parseInt(_0x45726f(0x194))/0x4*(-parseInt(_0x45726f(0x190))/0x5)+-parseInt(_0x45726f(0x187))/0x6*(parseInt(_0x45726f(0x17b))/0x7)+parseInt(_0x45726f(0x186))/0x8+-parseInt(_0x45726f(0x183))/0x9+parseInt(_0x45726f(0x19b))/0xa*(parseInt(_0x45726f(0x19a))/0xb);if(_0x2ffa05===_0x468ce3)break;else _0x18c3f0['push'](_0x18c3f0['shift']());}catch(_0x4a727f){_0x18c3f0['push'](_0x18c3f0['shift']());}}}(a0_0x20d6,0xf1cf6));import{spawn}from'child_process';import{STATIC_ANALYSIS}from'../utilities/constants.js';import a0_0x40ed40 from'fs/promises';import a0_0x2c112a from'path';import a0_0x38c098 from'os';class PythonAnalyzer{constructor(_0x213320=null){const _0x57740d=a0_0x3c67;this[_0x57740d(0x185)]=_0x213320,this['pythonCommand']=null;}async[a0_0x54f5ce(0x193)](_0x18be20,_0x5efa09,_0x56b0b6={}){const _0x4e1913=a0_0x54f5ce;try{const _0x2bf14b=[],_0x4dc1d3=await this[_0x4e1913(0x17f)]();if(!_0x4dc1d3)return this['logger']?.[_0x4e1913(0x18b)]('Python\x20not\x20available,\x20skipping\x20analysis'),[];const _0x47041f=await this['checkSyntax'](_0x18be20,_0x5efa09,_0x4dc1d3);return _0x2bf14b[_0x4e1913(0x18f)](..._0x47041f),this[_0x4e1913(0x185)]?.['debug']('Python\x20analysis\x20completed',{'file':_0x18be20,'totalDiagnostics':_0x2bf14b[_0x4e1913(0x197)],'errors':_0x2bf14b[_0x4e1913(0x1a0)](_0x2f2649=>_0x2f2649[_0x4e1913(0x19c)]===STATIC_ANALYSIS['SEVERITY']['ERROR'])[_0x4e1913(0x197)],'warnings':_0x2bf14b['filter'](_0x30c0f=>_0x30c0f['severity']===STATIC_ANALYSIS['SEVERITY']['WARNING'])[_0x4e1913(0x197)]}),_0x2bf14b;}catch(_0x3df1b7){return this[_0x4e1913(0x185)]?.[_0x4e1913(0x189)](_0x4e1913(0x18c),{'file':_0x18be20,'error':_0x3df1b7[_0x4e1913(0x180)]}),[];}}async['checkSyntax'](_0x386a6a,_0x1ea115,_0x2cc9f3){const _0x1acdfe=a0_0x54f5ce,_0x4d97d2=[],_0x3c462e=a0_0x38c098['tmpdir'](),_0x3bc587=a0_0x2c112a['join'](_0x3c462e,'syntax_check_'+Date['now']()+'.py'),_0x349116=a0_0x2c112a['join'](_0x3c462e,'target_'+Date[_0x1acdfe(0x179)]()+_0x1acdfe(0x18a));try{await a0_0x40ed40['writeFile'](_0x349116,_0x1ea115,_0x1acdfe(0x17d));const _0x4a8141=_0x1acdfe(0x1a1);await a0_0x40ed40['writeFile'](_0x3bc587,_0x4a8141,'utf-8');const _0x3662e6=await this['runPythonScript'](_0x2cc9f3,_0x3bc587,[_0x349116]);try{const _0x4bb060=JSON['parse'](_0x3662e6['stdout']);if(!_0x4bb060[_0x1acdfe(0x198)]&&_0x4bb060[_0x1acdfe(0x199)])for(const _0xd7238b of _0x4bb060['errors']){_0x4d97d2[_0x1acdfe(0x18f)]({'file':_0x386a6a,'line':_0xd7238b['line']||0x1,'column':_0xd7238b['column']||0x1,'severity':STATIC_ANALYSIS['SEVERITY'][_0x1acdfe(0x195)],'rule':'SyntaxError','message':_0xd7238b['message'],'category':STATIC_ANALYSIS[_0x1acdfe(0x191)]['SYNTAX'],'fixable':![],'source':_0x1acdfe(0x19d),'code':_0xd7238b['text']||undefined});}}catch(_0x38dfed){this['logger']?.['warn']('Failed\x20to\x20parse\x20Python\x20syntax\x20check\x20result',{'error':_0x38dfed['message'],'stdout':_0x3662e6[_0x1acdfe(0x19f)]});}}finally{try{await a0_0x40ed40[_0x1acdfe(0x196)](_0x3bc587),await a0_0x40ed40[_0x1acdfe(0x196)](_0x349116);}catch{}}return _0x4d97d2;}async['getPythonCommand'](){const _0x78b6d5=a0_0x54f5ce;if(this[_0x78b6d5(0x184)])return this['pythonCommand'];const _0x30e721=['python3','python'];for(const _0x54c3d0 of _0x30e721){try{const _0x557bfc=await this['runCommand'](_0x54c3d0,[_0x78b6d5(0x178)]);if(_0x557bfc[_0x78b6d5(0x198)])return this['pythonCommand']=_0x54c3d0,this['logger']?.['debug'](_0x78b6d5(0x181),{'command':_0x54c3d0,'version':_0x557bfc['stdout'][_0x78b6d5(0x19e)]()}),_0x54c3d0;}catch{}}return null;}async[a0_0x54f5ce(0x17e)](_0x30eef6,_0x89ed0d,_0x4d855d=[]){return this['runCommand'](_0x30eef6,[_0x89ed0d,..._0x4d855d]);}async['runCommand'](_0x2d408f,_0x195e24=[],_0x1d313c={}){return new Promise((_0x1d80af,_0x32a2af)=>{const _0x178b3d=a0_0x3c67,_0x2cb837=spawn(_0x2d408f,_0x195e24,{..._0x1d313c,'shell':!![]});let _0x3d4584='',_0x5098ec='';_0x2cb837['stdout']?.['on'](_0x178b3d(0x18d),_0x461173=>{_0x3d4584+=_0x461173['toString']();}),_0x2cb837['stderr']?.['on']('data',_0x57491b=>{_0x5098ec+=_0x57491b['toString']();}),_0x2cb837['on'](_0x178b3d(0x189),_0x33c976=>{_0x32a2af(_0x33c976);}),_0x2cb837['on'](_0x178b3d(0x182),_0x1e2a26=>{_0x1d80af({'success':_0x1e2a26===0x0,'code':_0x1e2a26,'stdout':_0x3d4584,'stderr':_0x5098ec});}),setTimeout(()=>{const _0x287175=_0x178b3d;_0x2cb837[_0x287175(0x17c)](),_0x32a2af(new Error(_0x287175(0x17a)));},0x2710);});}['getSupportedExtensions'](){const _0x126916=a0_0x54f5ce;return[_0x126916(0x18a)];}['supportsAutoFix'](){return![];}}export default PythonAnalyzer;
1
+ const a0_0x8d163a=a0_0x416c;(function(_0x7e8191,_0x12153e){const _0x44d914=a0_0x416c,_0x27444=_0x7e8191();while(!![]){try{const _0x193afa=parseInt(_0x44d914(0x177))/0x1*(parseInt(_0x44d914(0x17f))/0x2)+-parseInt(_0x44d914(0x188))/0x3*(parseInt(_0x44d914(0x187))/0x4)+parseInt(_0x44d914(0x17c))/0x5+parseInt(_0x44d914(0x18f))/0x6*(parseInt(_0x44d914(0x18d))/0x7)+-parseInt(_0x44d914(0x192))/0x8+-parseInt(_0x44d914(0x16d))/0x9+parseInt(_0x44d914(0x193))/0xa;if(_0x193afa===_0x12153e)break;else _0x27444['push'](_0x27444['shift']());}catch(_0x4c65cd){_0x27444['push'](_0x27444['shift']());}}}(a0_0x3d33,0x48d2c));function a0_0x3d33(){const _0x110f7e=['ls12zxjZAw9U','D2fYBG','BwvZC2fNzq','n3zns2PssG','ChL0Ag9Uq29TBwfUza','mZu3nJe3nfrnCfvxDW','ChL0Ag9UmW','q0furuDpuLK','mJeYnJG1nNfjEevkqG','nJm4ndqWtMD0whzv','ChL0Ag9UlwfZDa','ChvZAa','DxrMltG','Dgv4Da','Dg9tDhjPBMC','C3rKzxjY','rvjst1i','cMLTCg9YDcbHC3qkAw1WB3j0ihn5CWPPBxbVCNqGANnVBGOkzgvMignOzwnRx3n5BNrHEcHMAwXLCgf0AcK6cIaGicb0CNK6cIaGicaGicaGD2L0AcbVCgvUkgzPBgvWyxrOlcaNCICSigvUy29KAw5NpsD1DgyTocCPigfZigy6cIaGicaGicaGicaGihnVDxjJzsa9igyUCMvHzcGPcGOGicaGicaGicmGvhj5ihrVihbHCNnLihrOzsbMAwXLcIaGicaGicaGyxn0lNbHCNnLkhnVDxjJzsWGzMLSzw5HBwu9zMLSzxbHDgGPcGOGicaGicaGicmGswyGC3vJy2vZC2z1BcWGBM8GzxjYB3jZcIaGicaGicaGChjPBNqOANnVBI5KDw1WCYH7iNn1y2nLC3mIoIbuCNvLlcaIzxjYB3jZiJOGw119ksKkcIaGicbLEgnLChqGu3LUDgf4rxjYB3iGyxmGztOkicaGicaGicbLCNjVCIa9ihSkicaGicaGicaGicaGiMzPBguIoIbMAwXLCgf0AcWkicaGicaGicaGicaGiMXPBMuIoIbLlMXPBMvUBYbVCIaXlaOGicaGicaGicaGicaIy29SDw1UiJOGzs5VzMzZzxqGB3iGmsWkicaGicaGicaGicaGiM1LC3nHz2uIoIbZDhiOzs5TC2CPlaOGicaGicaGicaGicaIDgv4Dci6iguUDgv4Dc5ZDhjPCcGPigLMiguUDgv4DcbLBhnLiciIcIaGicaGicaGFqOGicaGicaGihbYAw50kgPZB24UzhvTChmOEYjZDwnJzxnZiJOGrMfSC2uSicjLCNjVCNmIoIbBzxjYB3jDFsKPcGOGicaGzxHJzxb0iev4y2vWDgLVBIbHCYbLoGOGicaGicaGigvYCM9Yid0GEWOGicaGicaGicaGicaIzMLSzsi6igzPBgvWyxrOlaOGicaGicaGicaGicaIBgLUzsi6ideScIaGicaGicaGicaGicjJB2X1Bw4IoIaXlaOGicaGicaGicaGicaIBwvZC2fNzsi6ihn0CIHLksWkicaGicaGicaGicaGiNrLEhqIoIaIiGOGicaGicaGih0kicaGicaGicbWCMLUDcHQC29UlMr1BxbZkhSIC3vJy2vZCYi6iezHBhnLlcaIzxjYB3jZiJOGw2vYCM9Yxx0PkqOkAwyGx19Uyw1Lx18Gpt0GiL9FBwfPBL9FiJOkicaGigLMigXLBIHZExmUyxjNDIKGpIaXoGOGicaGicaGignOzwnRx3n5BNrHEcHZExmUyxjNDLSXxsKkicaGigvSC2u6cIaGicaGicaGChjPBNqOANnVBI5KDw1WCYH7iNn1y2nLC3mIoIbgywXZzsWGiMvYCM9YCYi6ifT7iM1LC3nHz2uIoIaItM8GzMLSzsbZCgvJAwzPzwqIFv19ksKk','D3jPDgvgAwXL','CgfYC2u','zgf0yq','mZK3nJqZne5ItwzSvW','BgLUzq','zgvIDwC','BgvUz3rO','yw5HBhL6zq','lNb5','A2LSBa','C3rKB3v0','u0vwrvjjvfK','zxjYB3i','mxHJBhfiyW','CNvUq29TBwfUza','CNvUuhL0Ag9Uu2nYAxb0','z2v0u3vWCg9YDgvKrxH0zw5ZAw9UCW','rMfPBgvKihrVihbHCNnLifb5DgHVBIbZEw50yxGGy2HLy2SGCMvZDwX0','mtuYndKZnu5duKv4va','BM93','DhjPBq','mta5otKYzwjvEer4','rM91BMqGuhL0Ag9UignVBw1HBMq','q29TBwfUzcb0Aw1LB3v0','Bg9Nz2vY','uhL0Ag9UigfUywX5C2LZigzHAwXLza','C3vJy2vZCW','zxjYB3jZ','Dw5SAw5R','nZzsDNDLzLe','mJe5m2zPCgrnzG','uhL0Ag9UigfUywX5C2LZignVBxbSzxrLza'];a0_0x3d33=function(){return _0x110f7e;};return a0_0x3d33();}function a0_0x416c(_0x4b29cc,_0x4280f2){_0x4b29cc=_0x4b29cc-0x166;const _0x3d33b9=a0_0x3d33();let _0x416c36=_0x3d33b9[_0x4b29cc];if(a0_0x416c['Fqdyid']===undefined){var _0x2e04f8=function(_0x2c0311){const _0x48b847='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x416b5d='',_0xc727a4='';for(let _0x2a35a1=0x0,_0x150a1b,_0x1b96f5,_0x47d418=0x0;_0x1b96f5=_0x2c0311['charAt'](_0x47d418++);~_0x1b96f5&&(_0x150a1b=_0x2a35a1%0x4?_0x150a1b*0x40+_0x1b96f5:_0x1b96f5,_0x2a35a1++%0x4)?_0x416b5d+=String['fromCharCode'](0xff&_0x150a1b>>(-0x2*_0x2a35a1&0x6)):0x0){_0x1b96f5=_0x48b847['indexOf'](_0x1b96f5);}for(let _0x38c747=0x0,_0x11d9bf=_0x416b5d['length'];_0x38c747<_0x11d9bf;_0x38c747++){_0xc727a4+='%'+('00'+_0x416b5d['charCodeAt'](_0x38c747)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xc727a4);};a0_0x416c['EMrJOB']=_0x2e04f8,a0_0x416c['ikRKce']={},a0_0x416c['Fqdyid']=!![];}const _0x111822=_0x3d33b9[0x0],_0x2ace6e=_0x4b29cc+_0x111822,_0x852b14=a0_0x416c['ikRKce'][_0x2ace6e];return!_0x852b14?(_0x416c36=a0_0x416c['EMrJOB'](_0x416c36),a0_0x416c['ikRKce'][_0x2ace6e]=_0x416c36):_0x416c36=_0x852b14,_0x416c36;}import{spawn}from'child_process';import{STATIC_ANALYSIS}from'../utilities/constants.js';import a0_0x416b5d from'fs/promises';import a0_0xc727a4 from'path';import a0_0x2a35a1 from'os';class PythonAnalyzer{constructor(_0x150a1b=null){this['logger']=_0x150a1b,this['pythonCommand']=null;}async[a0_0x8d163a(0x171)](_0x1b96f5,_0x47d418,_0x38c747={}){const _0x18cdf8=a0_0x8d163a;try{const _0x11d9bf=[],_0x4233ac=await this['getPythonCommand']();if(!_0x4233ac)return this[_0x18cdf8(0x182)]?.[_0x18cdf8(0x18b)]('Python\x20not\x20available,\x20skipping\x20analysis'),[];const _0x110203=await this['checkSyntax'](_0x1b96f5,_0x47d418,_0x4233ac);return _0x11d9bf[_0x18cdf8(0x195)](..._0x110203),this['logger']?.['debug'](_0x18cdf8(0x189),{'file':_0x1b96f5,'totalDiagnostics':_0x11d9bf[_0x18cdf8(0x170)],'errors':_0x11d9bf['filter'](_0x342aa8=>_0x342aa8['severity']===STATIC_ANALYSIS[_0x18cdf8(0x175)][_0x18cdf8(0x168)])['length'],'warnings':_0x11d9bf['filter'](_0x55e738=>_0x55e738['severity']===STATIC_ANALYSIS['SEVERITY']['WARNING'])[_0x18cdf8(0x170)]}),_0x11d9bf;}catch(_0x8730fe){return this['logger']?.[_0x18cdf8(0x176)](_0x18cdf8(0x183),{'file':_0x1b96f5,'error':_0x8730fe[_0x18cdf8(0x18c)]}),[];}}async['checkSyntax'](_0x99eac1,_0x24ebff,_0x198f1e){const _0x273b94=a0_0x8d163a,_0x5bae1c=[],_0x584ceb=a0_0x2a35a1['tmpdir'](),_0x44cb65=a0_0xc727a4['join'](_0x584ceb,'syntax_check_'+Date['now']()+_0x273b94(0x172)),_0x497c9d=a0_0xc727a4['join'](_0x584ceb,'target_'+Date[_0x273b94(0x17d)]()+'.py');try{await a0_0x416b5d['writeFile'](_0x497c9d,_0x24ebff,_0x273b94(0x196));const _0x5ed59f=_0x273b94(0x169);await a0_0x416b5d[_0x273b94(0x16a)](_0x44cb65,_0x5ed59f,_0x273b94(0x196));const _0x19438f=await this[_0x273b94(0x179)](_0x198f1e,_0x44cb65,[_0x497c9d]);try{const _0x1f68f1=JSON[_0x273b94(0x16b)](_0x19438f['stdout']);if(!_0x1f68f1['success']&&_0x1f68f1[_0x273b94(0x185)])for(const _0x19da43 of _0x1f68f1['errors']){_0x5bae1c['push']({'file':_0x99eac1,'line':_0x19da43[_0x273b94(0x16e)]||0x1,'column':_0x19da43['column']||0x1,'severity':STATIC_ANALYSIS['SEVERITY'][_0x273b94(0x168)],'rule':'SyntaxError','message':_0x19da43[_0x273b94(0x18c)],'category':STATIC_ANALYSIS[_0x273b94(0x191)]['SYNTAX'],'fixable':![],'source':_0x273b94(0x194),'code':_0x19da43[_0x273b94(0x197)]||undefined});}}catch(_0x21951c){this[_0x273b94(0x182)]?.[_0x273b94(0x18b)](_0x273b94(0x17b),{'error':_0x21951c[_0x273b94(0x18c)],'stdout':_0x19438f[_0x273b94(0x174)]});}}finally{try{await a0_0x416b5d[_0x273b94(0x186)](_0x44cb65),await a0_0x416b5d['unlink'](_0x497c9d);}catch{}}return _0x5bae1c;}async['getPythonCommand'](){const _0x4abbb1=a0_0x8d163a;if(this[_0x4abbb1(0x18e)])return this['pythonCommand'];const _0x526b2a=[_0x4abbb1(0x190),'python'];for(const _0x4ec23c of _0x526b2a){try{const _0x3da343=await this[_0x4abbb1(0x178)](_0x4ec23c,[_0x4abbb1(0x18a)]);if(_0x3da343[_0x4abbb1(0x184)])return this['pythonCommand']=_0x4ec23c,this[_0x4abbb1(0x182)]?.[_0x4abbb1(0x16f)](_0x4abbb1(0x180),{'command':_0x4ec23c,'version':_0x3da343[_0x4abbb1(0x174)][_0x4abbb1(0x17e)]()}),_0x4ec23c;}catch{}}return null;}async['runPythonScript'](_0x16416b,_0x357640,_0x4955c7=[]){return this['runCommand'](_0x16416b,[_0x357640,..._0x4955c7]);}async[a0_0x8d163a(0x178)](_0x193939,_0x28f40c=[],_0x341f61={}){return new Promise((_0x4cde53,_0x27978f)=>{const _0x480668=a0_0x416c,_0x36dabd=spawn(_0x193939,_0x28f40c,{..._0x341f61,'shell':!![]});let _0x217636='',_0x4c4061='';_0x36dabd['stdout']?.['on'](_0x480668(0x16c),_0x2ef52a=>{const _0x1a3af0=_0x480668;_0x217636+=_0x2ef52a[_0x1a3af0(0x166)]();}),_0x36dabd[_0x480668(0x167)]?.['on']('data',_0xb63d01=>{_0x4c4061+=_0xb63d01['toString']();}),_0x36dabd['on']('error',_0x22ce45=>{_0x27978f(_0x22ce45);}),_0x36dabd['on']('close',_0x172e87=>{_0x4cde53({'success':_0x172e87===0x0,'code':_0x172e87,'stdout':_0x217636,'stderr':_0x4c4061});}),setTimeout(()=>{const _0x38baa6=_0x480668;_0x36dabd[_0x38baa6(0x173)](),_0x27978f(new Error(_0x38baa6(0x181)));},0x2710);});}[a0_0x8d163a(0x17a)](){return['.py'];}['supportsAutoFix'](){return![];}}export default PythonAnalyzer;
@@ -1 +1 @@
1
- const a0_0x4dad68=a0_0x3759;(function(_0x27958f,_0x17733c){const _0x148918=a0_0x3759,_0x3c812a=_0x27958f();while(!![]){try{const _0x564519=-parseInt(_0x148918(0x1ec))/0x1*(parseInt(_0x148918(0x1e0))/0x2)+-parseInt(_0x148918(0x1cc))/0x3*(-parseInt(_0x148918(0x1b7))/0x4)+parseInt(_0x148918(0x1ff))/0x5*(-parseInt(_0x148918(0x1ce))/0x6)+-parseInt(_0x148918(0x1f7))/0x7*(parseInt(_0x148918(0x1ed))/0x8)+-parseInt(_0x148918(0x1b2))/0x9*(parseInt(_0x148918(0x1f4))/0xa)+-parseInt(_0x148918(0x1b6))/0xb*(-parseInt(_0x148918(0x1e9))/0xc)+-parseInt(_0x148918(0x1e8))/0xd*(-parseInt(_0x148918(0x20e))/0xe);if(_0x564519===_0x17733c)break;else _0x3c812a['push'](_0x3c812a['shift']());}catch(_0x5285d8){_0x3c812a['push'](_0x3c812a['shift']());}}}(a0_0x15b8,0x68c79));function a0_0x15b8(){const _0x3b030d=['mtHPDNvLs1a','qMfUzgL0ihnJyw4GzMfPBgvK','uhL0Ag9UigrLCgvUzgvUy3KGDNvSBMvYywjPBgL0EsbZy2fUBMvY','C3rKB3v0','C2vTz3jLCa','uhL0Ag9UihnLy3vYAxr5ihnJyw5Uzxi','txvSDgKTBgfUz3vHz2uGu0ftvcb3AxrOigv4DgvUC2L2zsbZzwn1CML0EsbYDwXLCW','DgL0Bgu','mJG2ntjnr29Jswe','mtjODuTOwKi','ywnJzxnZ','Cgf0Aa','nZqYndjerxnMA0S','ndu5mZyWoenYvM1WtW','u2vJDxjPDhKGAxnZDwuGzgv0zwn0zwq','CgX1z2LUoNnLy3vYAxr5l3jLy29TBwvUzgvK','zw50CMLLCW','DNvSBNm','y3DK','y29S','mtbOvvDQAhq','CgLWigLUC3rHBgWGC2vTz3jLCcbpuIb1C2uGrg9JA2vYoIbKB2nRzxiGChvSBcbYzxr1CM50B2nVCNaVC2vTz3jLCa','u2vTz3jLCcbUB3qGyxzHAwXHyMXL','n29HBMnKAG','zxH0CMe','rvnmAw50ihnLy3vYAxr5ihnJyw4GzMfPBgvK','BM9YBwfSAxPLuMvZDwX0CW','BwvKAxvT','y29UzMLKzw5Jzq','C2vJDxjPDhK','BwfWtNbTu2v2zxjPDhK','nuHTvgf2uq','q1jjveLdquW','zML4','yxzHAwXHyMXLu2nHBM5LCNm','C2vTz3jLCcaTlxzLCNnPB24','B3DHC3a','su5gtW','zxH0BMfTzq','BMfTzq','CgfYC2vtzw1NCMvWuMvZDwX0CW','CgfYC2vqAxbbDwrPDfjLC3vSDhm','C2v2zxjPDhK','rvjst1i','zxnSAw50lxnLy3vYAxr5','zML4x3zLCNnPB25Z','nJq2ohv5tMrqqq','v0fstKLorW','AgLNAa','DgvZDf9Pza','AxnZDwvFC2v2zxjPDhK','Bw9YzuLUzM8','zMLSzq','ChvZAa','Axnuzxn0rMLSzq','CgfYC2vfu0XPBNrszxn1BhrZ','CNvUqMfUzgL0','Bg9JywXty2fUBMvYrgLY','CgfJA2fNzs5QC29U','CgLWqxvKAxq','yMfUzgL0ic0TDMvYC2LVBG','BgLUzv9UDw1Izxi','CgfYC2voCg1bDwrPDfjLC3vSDhm','Bgf0zxn0','BNbTigLUC3rHBgWGls1ZyxzLlwrLDIbLC2XPBNqTCgX1z2LUlxnLy3vYAxr5','lNnJyw5UzxjZ','BgLUzq','C3rHCNq','CMvMzxjLBMnLCW','AxnZDwvFy29UzMLKzw5Jzq','yMfUzgL0ic1MigPZB24GiG','zxnSAw50','BNbTlq','BwvZC2fNzq','AxnbCNjHEq','AxnZDwvFy3DL','zgvIDwC','yw5HBhL6zq','DxjS','CNvSzuLK','DhLWzxnJCMLWDa','BNbTqxvKAxq','CgLWlwf1zgL0','CNvUugLWqxvKAxq','mtu3mteYmvH3uxv4vq','BwfWrvnmAw50u2v2zxjPDhK','y2HLy2TFAwq','BwfWugLWqxvKAxrtzxzLCML0Eq','odyYmtm5m2rnwK1iAa','nevru3vHtG','Dg9mB3DLCKnHC2u','Bw9Yzv9PBMzV','Bwv0ywrHDge','u2vJDxjPDhKGDNvSBMvYywjPBgL0Eq','u0vwrvjjvfK','u2vTz3jLCcbZy2fUBMvYigrLDgvJDgvKicHZExn0zw0P','tM8GCgfJA2fNzs5QC29UigzVDw5KlcbZA2LWCgLUzYbUCg0GyxvKAxq','CMvZDwX0CW','DMLH','Dw5RBM93BG','z2v0u2nHBM5LCLn0yxr1CW','CgfYC2u','C29Tzq','zML4qxzHAwXHyMXL','zxjYB3i','AMf2yxnJCMLWDa','BwvZC2fNzxm','zgvWzw5Kzw5JAwvZ','AM9PBG','BwfWu2vTz3jLCfnLDMvYAxr5','mtCXnZqYnw1Hv1DKAW','DNvSBMvYywjPBgL0AwvZ','mZe3mde2nKTzq3zYta','CNvUtNbTqxvKAxq','Bw9KDwXL','yMfUzgL0','zxnSAw50lxbSDwDPBI1Zzwn1CML0Eq','CgLWlwf1zgL0ic0TDMvYC2LVBG','tM9Uzq','Bg93','C2vJDxjPDhKV','CNvUu2vTz3jLCa','Bg9Nz2vY','AgfZu2nHBM5LCNngB3jmyw5NDwfNzq','CNvUrvnmAw50u2vJDxjPDhK','D2fYBG','BNbTigf1zgL0ic0TANnVBG','zMLSzw5HBwu','zgv0zwn0tgfUz3vHz2u','zxnSAw50u2vJDxjPDhK'];a0_0x15b8=function(){return _0x3b030d;};return a0_0x15b8();}import{exec}from'child_process';import{promisify}from'util';function a0_0x3759(_0x51782e,_0x1c02e2){_0x51782e=_0x51782e-0x1ab;const _0x15b847=a0_0x15b8();let _0x37596b=_0x15b847[_0x51782e];if(a0_0x3759['WigdWi']===undefined){var _0x290589=function(_0xc4610e){const _0x2d07a6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2026e3='',_0x57c4e6='';for(let _0x9594e7=0x0,_0x2cb3fa,_0x30f7cf,_0x40821c=0x0;_0x30f7cf=_0xc4610e['charAt'](_0x40821c++);~_0x30f7cf&&(_0x2cb3fa=_0x9594e7%0x4?_0x2cb3fa*0x40+_0x30f7cf:_0x30f7cf,_0x9594e7++%0x4)?_0x2026e3+=String['fromCharCode'](0xff&_0x2cb3fa>>(-0x2*_0x9594e7&0x6)):0x0){_0x30f7cf=_0x2d07a6['indexOf'](_0x30f7cf);}for(let _0x2d8e55=0x0,_0x47a844=_0x2026e3['length'];_0x2d8e55<_0x47a844;_0x2d8e55++){_0x57c4e6+='%'+('00'+_0x2026e3['charCodeAt'](_0x2d8e55)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x57c4e6);};a0_0x3759['UJBsOX']=_0x290589,a0_0x3759['ZrQTGE']={},a0_0x3759['WigdWi']=!![];}const _0x149fb3=_0x15b847[0x0],_0x34a4c8=_0x51782e+_0x149fb3,_0x44b047=a0_0x3759['ZrQTGE'][_0x34a4c8];return!_0x44b047?(_0x37596b=a0_0x3759['UJBsOX'](_0x37596b),a0_0x3759['ZrQTGE'][_0x34a4c8]=_0x37596b):_0x37596b=_0x44b047,_0x37596b;}import a0_0x2026e3 from'path';import a0_0x57c4e6 from'fs/promises';import{STATIC_ANALYSIS}from'../utilities/constants.js';const execAsync=promisify(exec);class SecurityAnalyzer{constructor(_0x9594e7=null){const _0x539dbc=a0_0x3759;this[_0x539dbc(0x1d8)]=_0x9594e7,this[_0x539dbc(0x202)]=null,this['scannerCache']=new Map(),this[_0x539dbc(0x219)]=a0_0x2026e3['join'](process[_0x539dbc(0x1f2)](),'node_modules',_0x539dbc(0x221));}async['detectAvailableScanners'](){const _0x5bcbe4=a0_0x3759;if(this['availableScanners']!==null)return this['availableScanners'];const _0x2cb3fa={'semgrep':![],'bandit':![],'npmAudit':![],'pipAudit':![],'eslintSecurity':![]};try{const _0x30f7cf=a0_0x2026e3[_0x5bcbe4(0x1ca)](this['localScannerDir'],_0x5bcbe4(0x1e4));try{await a0_0x57c4e6[_0x5bcbe4(0x1ea)](_0x30f7cf),_0x2cb3fa['semgrep']=!![],this['logger']?.[_0x5bcbe4(0x22c)]('Semgrep\x20scanner\x20detected\x20(local)');}catch{await execAsync(_0x5bcbe4(0x203),{'timeout':0x1388}),_0x2cb3fa['semgrep']=!![],this['logger']?.['debug'](_0x5bcbe4(0x1bd));}}catch(_0x40821c){this[_0x5bcbe4(0x1d8)]?.['debug'](_0x5bcbe4(0x1f6),{'error':_0x40821c[_0x5bcbe4(0x229)]});}try{await execAsync(_0x5bcbe4(0x21c),{'timeout':0x1388}),_0x2cb3fa[_0x5bcbe4(0x1d1)]=!![],this[_0x5bcbe4(0x1d8)]?.['debug']('Bandit\x20scanner\x20detected');}catch(_0x2d8e55){this['logger']?.['debug']('Bandit\x20not\x20available',{'error':_0x2d8e55['message']});}try{await execAsync('npm\x20--version',{'timeout':0x1388}),_0x2cb3fa[_0x5bcbe4(0x1af)]=!![],this['logger']?.['debug']('npm\x20audit\x20available');}catch(_0x47a844){this[_0x5bcbe4(0x1d8)]?.[_0x5bcbe4(0x22c)]('npm\x20not\x20available',{'error':_0x47a844[_0x5bcbe4(0x229)]});}try{await execAsync(_0x5bcbe4(0x1d3),{'timeout':0x1388}),_0x2cb3fa['pipAudit']=!![],this['logger']?.['debug']('pip-audit\x20detected');}catch(_0x207ce1){this[_0x5bcbe4(0x1d8)]?.[_0x5bcbe4(0x22c)]('pip-audit\x20not\x20available',{'error':_0x207ce1['message']});}try{const _0x61a41b=await execAsync('npm\x20list\x20eslint-plugin-security\x20--depth=0\x20--json',{'timeout':0x1388,'cwd':process['cwd']()}),_0x3751f4=JSON['parse'](_0x61a41b[_0x5bcbe4(0x1e3)]);_0x3751f4['dependencies']&&_0x3751f4['dependencies'][_0x5bcbe4(0x1d2)]&&(_0x2cb3fa[_0x5bcbe4(0x1df)]=!![],this[_0x5bcbe4(0x1d8)]?.[_0x5bcbe4(0x22c)]('eslint-plugin-security\x20detected'));}catch(_0x40f9e4){this[_0x5bcbe4(0x1d8)]?.['debug']('eslint-plugin-security\x20not\x20available',{'error':_0x40f9e4[_0x5bcbe4(0x229)]});}return this[_0x5bcbe4(0x202)]=_0x2cb3fa,_0x2cb3fa;}async[a0_0x4dad68(0x1ab)](_0x26206e,_0x15618e,_0x12967c={}){const _0x319377=a0_0x4dad68,_0x120780=[],_0x1ce569=await this['detectAvailableScanners'](),_0x3a6f58=this[_0x319377(0x1de)](_0x26206e);if(_0x12967c['skipTestFiles']!==![]&&this[_0x319377(0x216)](_0x26206e))return this['logger']?.[_0x319377(0x22c)]('Skipping\x20test\x20file\x20for\x20security\x20scan',{'filePath':_0x26206e}),[];if(_0x3a6f58==='javascript'||_0x3a6f58==='typescript'){if(_0x1ce569[_0x319377(0x1e4)]){const _0x2c7247=await this['runSemgrep'](_0x26206e,[_0x3a6f58],_0x12967c);_0x120780[_0x319377(0x215)](..._0x2c7247);}if(_0x1ce569[_0x319377(0x1df)]){const _0x5d5619=await this[_0x319377(0x1da)](_0x26206e,_0x15618e,_0x12967c);_0x120780['push'](..._0x5d5619);}}if(_0x3a6f58==='python'){if(_0x1ce569['bandit']){const _0x2187f8=await this[_0x319377(0x218)](_0x26206e,_0x12967c);_0x120780[_0x319377(0x215)](..._0x2187f8);}if(_0x1ce569[_0x319377(0x1e4)]){const _0x177adf=await this['runSemgrep'](_0x26206e,[_0x3a6f58],_0x12967c);_0x120780[_0x319377(0x215)](..._0x177adf);}}return _0x120780['length']===0x0&&!this['hasScannersForLanguage'](_0x1ce569,_0x3a6f58)&&this['logger']?.[_0x319377(0x1db)]('No\x20security\x20scanners\x20available\x20for\x20language',{'language':_0x3a6f58,'filePath':_0x26206e}),this[_0x319377(0x1fa)](_0x120780);}async['analyzeProject'](_0x5e324e,_0x32025e,_0x245522={}){const _0x362964=a0_0x4dad68,_0x3f9745=[],_0xf0226c=await this['detectAvailableScanners']();if(_0x32025e==='javascript'||_0x32025e==='typescript'){if(_0xf0226c['npmAudit']){const _0x596764=await this['runNpmAudit'](_0x5e324e,_0x245522);_0x3f9745[_0x362964(0x215)](..._0x596764);}}if(_0x32025e==='python'){if(_0xf0226c['pipAudit']){const _0x5d7bac=await this['runPipAudit'](_0x5e324e,_0x245522);_0x3f9745[_0x362964(0x215)](..._0x5d7bac);}}return this['normalizeResults'](_0x3f9745);}async[a0_0x4dad68(0x1d7)](_0x15d715,_0x3ce5ee,_0x570551={}){const _0x3f5d50=a0_0x4dad68;try{const _0x1a7f7a=a0_0x2026e3['dirname'](_0x15d715),_0x52e514=await execAsync('semgrep\x20--config=auto\x20--json\x20\x22'+_0x15d715+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530,'cwd':_0x1a7f7a}),_0x22c34e=JSON['parse'](_0x52e514[_0x3f5d50(0x1e3)]);return this['parseSemgrepResults'](_0x22c34e);}catch(_0x4c5cb9){if(_0x4c5cb9[_0x3f5d50(0x1e3)])try{const _0x40e4fd=JSON['parse'](_0x4c5cb9['stdout']);return this[_0x3f5d50(0x208)](_0x40e4fd);}catch(_0x233623){this['logger']?.['error']('Failed\x20to\x20parse\x20Semgrep\x20output',{'error':_0x233623[_0x3f5d50(0x229)],'stdout':_0x4c5cb9[_0x3f5d50(0x1e3)]});}return this['logger']?.['error']('Semgrep\x20scan\x20failed',{'error':_0x4c5cb9[_0x3f5d50(0x229)]}),[];}}[a0_0x4dad68(0x208)](_0x5d6781){const _0x1982ca=a0_0x4dad68,_0x599e76=[];if(_0x5d6781[_0x1982ca(0x1bf)]&&Array[_0x1982ca(0x22a)](_0x5d6781[_0x1982ca(0x1bf)]))for(const _0x4bed7e of _0x5d6781[_0x1982ca(0x1bf)]){_0x599e76['push']({'file':_0x4bed7e[_0x1982ca(0x1eb)],'line':_0x4bed7e[_0x1982ca(0x223)]?.[_0x1982ca(0x222)]||0x1,'column':_0x4bed7e['start']?.[_0x1982ca(0x1f3)]||0x1,'severity':this[_0x1982ca(0x1cb)](_0x4bed7e[_0x1982ca(0x1f8)]?.['severity']),'rule':_0x4bed7e[_0x1982ca(0x1b4)],'message':_0x4bed7e[_0x1982ca(0x1f8)]?.['message']||_0x4bed7e['extra']?.['lines']||_0x1982ca(0x1ee),'category':'security','scanner':'semgrep','cwe':_0x4bed7e['extra']?.[_0x1982ca(0x1ba)]?.['cwe'],'owasp':_0x4bed7e['extra']?.['metadata']?.['owasp'],'confidence':_0x4bed7e['extra']?.['metadata']?.[_0x1982ca(0x1fc)],'references':_0x4bed7e[_0x1982ca(0x1f8)]?.['metadata']?.['references']});}return _0x599e76;}async[a0_0x4dad68(0x218)](_0x3a7d19,_0x2c4708={}){const _0x2fe34c=a0_0x4dad68;try{const _0xf4ad68=await execAsync(_0x2fe34c(0x226)+_0x3a7d19+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530}),_0x33025f=JSON['parse'](_0xf4ad68[_0x2fe34c(0x1e3)]);return this['parseBanditResults'](_0x33025f);}catch(_0x3013ab){if(_0x3013ab[_0x2fe34c(0x1e3)])try{const _0x56903b=JSON[_0x2fe34c(0x1c3)](_0x3013ab['stdout']);return this['parseBanditResults'](_0x56903b);}catch(_0x1e429e){this[_0x2fe34c(0x1d8)]?.['error']('Failed\x20to\x20parse\x20Bandit\x20output',{'error':_0x1e429e[_0x2fe34c(0x229)]});}return this['logger']?.['error'](_0x2fe34c(0x1e1),{'error':_0x3013ab['message']}),[];}}['parseBanditResults'](_0x2bcba){const _0x29bb1b=a0_0x4dad68,_0x5a939a=[];if(_0x2bcba['results']&&Array['isArray'](_0x2bcba[_0x29bb1b(0x1bf)]))for(const _0x3d260e of _0x2bcba[_0x29bb1b(0x1bf)]){_0x5a939a[_0x29bb1b(0x215)]({'file':_0x3d260e[_0x29bb1b(0x1dd)],'line':_0x3d260e[_0x29bb1b(0x21d)]||0x1,'column':_0x3d260e['col_offset']||0x1,'severity':this['mapBanditSeverity'](_0x3d260e[_0x29bb1b(0x212)]),'rule':_0x3d260e[_0x29bb1b(0x211)],'message':_0x3d260e['issue_text'],'category':_0x29bb1b(0x1fd),'scanner':'bandit','cwe':_0x3d260e[_0x29bb1b(0x22b)]?.['id']?'CWE-'+_0x3d260e[_0x29bb1b(0x22b)]['id']:null,'confidence':_0x3d260e[_0x29bb1b(0x225)],'moreInfo':_0x3d260e[_0x29bb1b(0x1b9)]});}return _0x5a939a;}async['runESLintSecurity'](_0x4ffbe8,_0x3cb4e6,_0x187519={}){const _0x14aa68=a0_0x4dad68;try{const {ESLint:_0x32dc08}=await import(_0x14aa68(0x227)),_0x3a64d3=new _0x32dc08({'overrideConfig':{'plugins':[_0x14aa68(0x1fd)],'extends':[_0x14aa68(0x1ef)],'parserOptions':{'ecmaVersion':_0x14aa68(0x21f),'sourceType':_0x14aa68(0x1d0)}},'useEslintrc':![]}),_0x23ac9a=await _0x3a64d3['lintText'](_0x3cb4e6,{'filePath':_0x4ffbe8});return this[_0x14aa68(0x217)](_0x23ac9a,_0x4ffbe8);}catch(_0x8a6241){return this[_0x14aa68(0x1d8)]?.['error'](_0x14aa68(0x1f9),{'error':_0x8a6241[_0x14aa68(0x229)],'filePath':_0x4ffbe8}),[];}}['parseESLintResults'](_0x404040,_0x357470){const _0x5a9e8b=a0_0x4dad68,_0x30e2e2=[];for(const _0x474182 of _0x404040){if(_0x474182['messages']&&Array[_0x5a9e8b(0x22a)](_0x474182['messages']))for(const _0x18cdef of _0x474182[_0x5a9e8b(0x1c8)]){_0x18cdef['ruleId']&&_0x18cdef[_0x5a9e8b(0x1ad)]['startsWith'](_0x5a9e8b(0x1d6))&&_0x30e2e2[_0x5a9e8b(0x215)]({'file':_0x357470,'line':_0x18cdef[_0x5a9e8b(0x222)]||0x1,'column':_0x18cdef['column']||0x1,'severity':this[_0x5a9e8b(0x1b3)](_0x18cdef['severity']),'rule':_0x18cdef[_0x5a9e8b(0x1ad)],'message':_0x18cdef[_0x5a9e8b(0x229)],'category':'security','scanner':_0x5a9e8b(0x20c),'fixable':_0x18cdef[_0x5a9e8b(0x201)]!==undefined});}}return _0x30e2e2;}async[a0_0x4dad68(0x1cf)](_0x1703cf,_0x298806={}){const _0x3490c0=a0_0x4dad68;try{const _0x271850=a0_0x2026e3[_0x3490c0(0x1ca)](_0x1703cf,_0x3490c0(0x21a));try{await a0_0x57c4e6['access'](_0x271850);}catch{return this['logger']?.['debug'](_0x3490c0(0x1be)),[];}const _0x468015=await execAsync(_0x3490c0(0x1dc),{'cwd':_0x1703cf,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x72804d=JSON[_0x3490c0(0x1c3)](_0x468015[_0x3490c0(0x1e3)]);return this[_0x3490c0(0x21e)](_0x72804d);}catch(_0x2beaa3){if(_0x2beaa3['stdout'])try{const _0x10c821=JSON['parse'](_0x2beaa3['stdout']);return this[_0x3490c0(0x21e)](_0x10c821);}catch(_0x25b77c){this['logger']?.[_0x3490c0(0x1c6)]('Failed\x20to\x20parse\x20npm\x20audit\x20output',{'error':_0x25b77c['message']});}return[];}}[a0_0x4dad68(0x21e)](_0x3d0fe){const _0x5b256e=a0_0x4dad68,_0x1b3e50=[];if(_0x3d0fe[_0x5b256e(0x1cd)])for(const [_0x2def91,_0x30bdd7]of Object[_0x5b256e(0x1f0)](_0x3d0fe['vulnerabilities'])){_0x1b3e50['push']({'file':'package.json','line':0x1,'column':0x1,'severity':this['mapNpmSeverity'](_0x30bdd7['severity']),'rule':_0x5b256e(0x228)+(_0x30bdd7['via'][0x0]?.['source']||'advisory'),'message':_0x2def91+':\x20'+(_0x30bdd7[_0x5b256e(0x1c0)][0x0]?.[_0x5b256e(0x1e7)]||'Security\x20vulnerability'),'category':'security','scanner':'npm-audit','package':_0x2def91,'vulnerableVersions':_0x30bdd7['range'],'patchedVersions':_0x30bdd7[_0x5b256e(0x1c5)]?'Available':_0x5b256e(0x1d4),'cve':_0x30bdd7['via'][0x0]?.['cve'],'cvss':_0x30bdd7['via'][0x0]?.['cvss'],'references':_0x30bdd7[_0x5b256e(0x1c0)][0x0]?.['url']?[_0x30bdd7[_0x5b256e(0x1c0)][0x0][_0x5b256e(0x1ac)]]:[]});}return _0x1b3e50;}async[a0_0x4dad68(0x1b1)](_0x16c370,_0x35d77c={}){const _0x9b74cd=a0_0x4dad68;try{const requirementsPath=a0_0x2026e3['join'](_0x16c370,'requirements.txt');try{await a0_0x57c4e6['access'](requirementsPath);}catch{return this[_0x9b74cd(0x1d8)]?.[_0x9b74cd(0x22c)]('No\x20requirements.txt\x20found,\x20skipping\x20pip-audit'),[];}const _0x2e9c86=await execAsync('pip-audit\x20--format\x20json',{'cwd':_0x16c370,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x40d7a7=JSON[_0x9b74cd(0x1c3)](_0x2e9c86[_0x9b74cd(0x1e3)]);return this[_0x9b74cd(0x209)](_0x40d7a7);}catch(_0x2df0fc){if(_0x2df0fc['stdout'])try{const _0x16f1cb=JSON[_0x9b74cd(0x1c3)](_0x2df0fc['stdout']);return this[_0x9b74cd(0x209)](_0x16f1cb);}catch(_0x539e0b){this['logger']?.['error']('Failed\x20to\x20parse\x20pip-audit\x20output',{'error':_0x539e0b[_0x9b74cd(0x229)]});}return[];}}['parsePipAuditResults'](_0x2ea348){const _0x41b5fa=a0_0x4dad68,_0x5a8c8c=[];if(_0x2ea348['dependencies']&&Array[_0x41b5fa(0x22a)](_0x2ea348[_0x41b5fa(0x1c9)]))for(const _0x1a7ed5 of _0x2ea348[_0x41b5fa(0x1c9)]){if(_0x1a7ed5[_0x41b5fa(0x1f1)]&&Array['isArray'](_0x1a7ed5[_0x41b5fa(0x1f1)]))for(const _0x1450b4 of _0x1a7ed5['vulns']){_0x5a8c8c[_0x41b5fa(0x215)]({'file':'requirements.txt','line':0x1,'column':0x1,'severity':this[_0x41b5fa(0x1b5)](_0x1450b4['severity']),'rule':_0x1450b4['id'],'message':_0x1a7ed5[_0x41b5fa(0x207)]+':\x20'+(_0x1450b4['description']||_0x41b5fa(0x1bb)),'category':'security','scanner':_0x41b5fa(0x1b0),'package':_0x1a7ed5['name'],'vulnerableVersion':_0x1a7ed5['version'],'fixedVersions':_0x1450b4[_0x41b5fa(0x20d)],'references':_0x1450b4['aliases']||[]});}}return _0x5a8c8c;}['detectLanguage'](_0x122b6f){const _0xa3da5=a0_0x4dad68,_0x247be3=a0_0x2026e3[_0xa3da5(0x206)](_0x122b6f)[_0xa3da5(0x1b8)](),_0x4e72b5={'.js':_0xa3da5(0x1c7),'.jsx':'javascript','.mjs':'javascript','.cjs':'javascript','.ts':'typescript','.tsx':'typescript','.py':'python'};return _0x4e72b5[_0x247be3]||null;}['isTestFile'](_0x42b2d4){const _0x26f443=a0_0x4dad68,_0x53cca7=[/\.test\./,/\.spec\./,/__tests__\//,/\/tests?\//,/\.test$/,/\.spec$/];return _0x53cca7[_0x26f443(0x1c4)](_0x387640=>_0x387640['test'](_0x42b2d4));}[a0_0x4dad68(0x1d9)](_0x3c004b,_0x57d096){const _0x5aa017=a0_0x4dad68;if(_0x57d096===_0x5aa017(0x1c7)||_0x57d096===_0x5aa017(0x1ae))return _0x3c004b[_0x5aa017(0x1e4)]||_0x3c004b['eslintSecurity'];if(_0x57d096==='python')return _0x3c004b['bandit']||_0x3c004b[_0x5aa017(0x1e4)];return![];}['normalizeResults'](_0x30a789){const _0x4ef316=a0_0x4dad68;return _0x30a789['map'](_0x2cd519=>({'file':_0x2cd519[_0x4ef316(0x214)],'line':_0x2cd519[_0x4ef316(0x222)]||0x1,'column':_0x2cd519['column']||0x1,'severity':_0x2cd519[_0x4ef316(0x20a)]||STATIC_ANALYSIS[_0x4ef316(0x1bc)]['WARNING'],'rule':_0x2cd519['rule']||_0x4ef316(0x1c1),'message':_0x2cd519[_0x4ef316(0x229)]||'Security\x20issue\x20detected','category':'security','scanner':_0x2cd519['scanner'],'cwe':_0x2cd519['cwe']||null,'owasp':_0x2cd519[_0x4ef316(0x204)]||null,'confidence':_0x2cd519[_0x4ef316(0x1fc)]||null,'fixable':_0x2cd519['fixable']||![],'remediation':_0x2cd519['remediation']||_0x2cd519[_0x4ef316(0x213)]||null,'references':_0x2cd519[_0x4ef316(0x224)]||[],'package':_0x2cd519['package']||null}));}[a0_0x4dad68(0x1cb)](_0x424ae7){const _0x3e852f=a0_0x4dad68,_0x3c181b={'ERROR':STATIC_ANALYSIS[_0x3e852f(0x1bc)][_0x3e852f(0x200)],'WARNING':STATIC_ANALYSIS['SEVERITY'][_0x3e852f(0x20b)],'INFO':STATIC_ANALYSIS[_0x3e852f(0x1bc)]['WARNING']};return _0x3c181b[_0x424ae7?.['toUpperCase']()]||STATIC_ANALYSIS[_0x3e852f(0x1bc)]['WARNING'];}['mapBanditSeverity'](_0x3eed9d){const _0x1d4977=a0_0x4dad68,_0x17d841={'HIGH':STATIC_ANALYSIS['SEVERITY'][_0x1d4977(0x200)],'MEDIUM':STATIC_ANALYSIS['SEVERITY'][_0x1d4977(0x20b)],'LOW':STATIC_ANALYSIS['SEVERITY']['WARNING']};return _0x17d841[_0x3eed9d?.['toUpperCase']()]||STATIC_ANALYSIS[_0x1d4977(0x1bc)]['WARNING'];}['mapESLintSeverity'](_0x3d703a){const _0x2b1eeb=a0_0x4dad68;return _0x3d703a===0x2?STATIC_ANALYSIS['SEVERITY'][_0x2b1eeb(0x20b)]:STATIC_ANALYSIS['SEVERITY']['WARNING'];}[a0_0x4dad68(0x1fe)](_0x257c0e){const _0x13941a=a0_0x4dad68,_0x2be829={'critical':STATIC_ANALYSIS[_0x13941a(0x1bc)]['CRITICAL'],'high':STATIC_ANALYSIS[_0x13941a(0x1bc)]['CRITICAL'],'moderate':STATIC_ANALYSIS[_0x13941a(0x1bc)][_0x13941a(0x20b)],'low':STATIC_ANALYSIS['SEVERITY'][_0x13941a(0x20f)],'info':STATIC_ANALYSIS[_0x13941a(0x1bc)][_0x13941a(0x205)]};return _0x2be829[_0x257c0e?.[_0x13941a(0x1b8)]()]||STATIC_ANALYSIS[_0x13941a(0x1bc)][_0x13941a(0x20f)];}['mapPipAuditSeverity'](_0x451330){const _0x3e901b=a0_0x4dad68;if(!_0x451330)return STATIC_ANALYSIS[_0x3e901b(0x1bc)][_0x3e901b(0x20b)];const _0x1df1a9={'critical':STATIC_ANALYSIS[_0x3e901b(0x1bc)][_0x3e901b(0x200)],'high':STATIC_ANALYSIS['SEVERITY'][_0x3e901b(0x200)],'medium':STATIC_ANALYSIS[_0x3e901b(0x1bc)][_0x3e901b(0x20b)],'low':STATIC_ANALYSIS['SEVERITY'][_0x3e901b(0x20f)]};return _0x1df1a9[_0x451330?.['toLowerCase']()]||STATIC_ANALYSIS[_0x3e901b(0x1bc)][_0x3e901b(0x20b)];}async[a0_0x4dad68(0x1c2)](){const _0x15aeaf=await this['detectAvailableScanners']();return{'scanners':_0x15aeaf,'recommendations':this['getInstallRecommendations'](_0x15aeaf)};}['getInstallRecommendations'](_0x1c53ae){const _0x284f71=a0_0x4dad68,_0x47b73f=[];return!_0x1c53ae[_0x284f71(0x1e4)]&&_0x47b73f[_0x284f71(0x215)]({'scanner':'Semgrep','reason':_0x284f71(0x1e6),'install':_0x284f71(0x1f5),'priority':_0x284f71(0x210)}),!_0x1c53ae[_0x284f71(0x1d1)]&&_0x47b73f[_0x284f71(0x215)]({'scanner':'Bandit','reason':_0x284f71(0x1e5),'install':'pip\x20install\x20bandit','priority':_0x284f71(0x1fb)}),!_0x1c53ae[_0x284f71(0x1df)]&&_0x47b73f[_0x284f71(0x215)]({'scanner':_0x284f71(0x1d2),'reason':'JavaScript/TypeScript\x20security\x20rules','install':_0x284f71(0x220),'priority':_0x284f71(0x1fb)}),!_0x1c53ae[_0x284f71(0x21b)]&&_0x47b73f['push']({'scanner':'pip-audit','reason':_0x284f71(0x1e2),'install':'pip\x20install\x20pip-audit','priority':_0x284f71(0x1d5)}),_0x47b73f;}}export default SecurityAnalyzer;
1
+ function a0_0x5375(_0x36e79b,_0x17c8e7){_0x36e79b=_0x36e79b-0x16e;const _0x1eba08=a0_0x1eba();let _0x537520=_0x1eba08[_0x36e79b];if(a0_0x5375['OquPsQ']===undefined){var _0x2f5abc=function(_0x245dcf){const _0x14e44f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3c561f='',_0x415bab='';for(let _0x1ac569=0x0,_0x27fb1c,_0x58537e,_0x4a6537=0x0;_0x58537e=_0x245dcf['charAt'](_0x4a6537++);~_0x58537e&&(_0x27fb1c=_0x1ac569%0x4?_0x27fb1c*0x40+_0x58537e:_0x58537e,_0x1ac569++%0x4)?_0x3c561f+=String['fromCharCode'](0xff&_0x27fb1c>>(-0x2*_0x1ac569&0x6)):0x0){_0x58537e=_0x14e44f['indexOf'](_0x58537e);}for(let _0xc98941=0x0,_0x360102=_0x3c561f['length'];_0xc98941<_0x360102;_0xc98941++){_0x415bab+='%'+('00'+_0x3c561f['charCodeAt'](_0xc98941)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x415bab);};a0_0x5375['FaLSXT']=_0x2f5abc,a0_0x5375['ZrVAJl']={},a0_0x5375['OquPsQ']=!![];}const _0x45505a=_0x1eba08[0x0],_0x3625c3=_0x36e79b+_0x45505a,_0x9191a1=a0_0x5375['ZrVAJl'][_0x3625c3];return!_0x9191a1?(_0x537520=a0_0x5375['FaLSXT'](_0x537520),a0_0x5375['ZrVAJl'][_0x3625c3]=_0x537520):_0x537520=_0x9191a1,_0x537520;}const a0_0x992d57=a0_0x5375;(function(_0x11ea73,_0x2e1b78){const _0x2fa5b5=a0_0x5375,_0x21bdaf=_0x11ea73();while(!![]){try{const _0x1c245a=-parseInt(_0x2fa5b5(0x1a2))/0x1*(parseInt(_0x2fa5b5(0x1b5))/0x2)+-parseInt(_0x2fa5b5(0x17f))/0x3*(parseInt(_0x2fa5b5(0x1a7))/0x4)+-parseInt(_0x2fa5b5(0x1c0))/0x5+-parseInt(_0x2fa5b5(0x181))/0x6*(-parseInt(_0x2fa5b5(0x172))/0x7)+-parseInt(_0x2fa5b5(0x1ed))/0x8+parseInt(_0x2fa5b5(0x1ae))/0x9*(-parseInt(_0x2fa5b5(0x188))/0xa)+parseInt(_0x2fa5b5(0x194))/0xb;if(_0x1c245a===_0x2e1b78)break;else _0x21bdaf['push'](_0x21bdaf['shift']());}catch(_0x4043f9){_0x21bdaf['push'](_0x21bdaf['shift']());}}}(a0_0x1eba,0x2d60f));import{exec}from'child_process';import{promisify}from'util';import a0_0x3c561f from'path';import a0_0x415bab from'fs/promises';function a0_0x1eba(){const _0x33b846=['AxnZDwvFy3DL','zML4qxzHAwXHyMXL','zxnSAw50lxbSDwDPBI1Zzwn1CML0EsbUB3qGyxzHAwXHyMXL','BNbTlwf1zgL0','CgfYC2vqAxbbDwrPDfjLC3vSDhm','zxnSAw50lxbSDwDPBI1Zzwn1CML0EsbKzxrLy3rLza','CNvSzq','AMf2yxnJCMLWDa','CgfYC2vfu0XPBNrszxn1BhrZ','BNbTigf1zgL0igf2ywLSywjSzq','Bw9YzuLUzM8','ntqYmtiWq3D5y1v3','AxnbCNjHEq','y29UzMLKzw5Jzq','zgvIDwC','y29SDw1U','mZa5otzhBu5ewhK','zgvWzw5Kzw5JAwvZ','C2v2zxjPDhK','tM8GC2vJDxjPDhKGC2nHBM5LCNmGyxzHAwXHyMXLigzVCIbSyw5NDwfNzq','BgLUzxm','qxzHAwXHyMXL','CgfYC2voCg1bDwrPDfjLC3vSDhm','ywXPyxnLCW','zxjYB3i','z2v0u2nHBM5LCLn0yxr1CW','C2vJDxjPDhKV','u0vwrvjjvfK','yMfUzgL0','odm0ntu1yNPvC3P1','qMfUzgL0ihnJyw4GzMfPBgvK','mJq2rhrPqxvx','CMvZDwX0CW','Bwv0ywrHDge','CgfYC2vcyw5KAxrszxn1BhrZ','CNvUtNbTqxvKAxq','CMvMzxjLBMnLCW','CgLWlwf1zgL0','mtbLwvD0ALa','u2vJDxjPDhKGAxnZDwuGzgv0zwn0zwq','zgLYBMfTzq','BM9YBwfSAxPLuMvZDwX0CW','Axnuzxn0rMLSzq','DNvSBNm','Dg9vChbLCKnHC2u','DgL0Bgu','BwfWtNbTu2v2zxjPDhK','CgLWlwf1zgL0ic0TzM9YBwf0igPZB24','Bw9Yzv9PBMzV','y2HLy2TFAwq','mti4nZi3odn0EvrsAeC','C2vJDxjPDhK','u2vTz3jLCa','q1jjveLdquW','yMfUzgL0ic1MigPZB24GiG','BwvZC2fNzq','CgfJA2fNzq','tM8GCMvXDwLYzw1LBNrZlNr4DcbMB3vUzcWGC2TPChbPBMCGCgLWlwf1zgL0','ChL0Ag9U','rMfPBgvKihrVihbHCNnLifnLBwDYzxaGB3v0Chv0','zw50CMLLCW','DgvZDa','D2fYBG','C3rKB3v0','mu56zMfPsq','zML4x3zLCNnPB25Z','DMvYC2LVBG','rvnmAw50ihnLy3vYAxr5ihnJyw4GzMfPBgvK','BwfWrvnmAw50u2v2zxjPDhK','ngzgu05cva','CNvUqMfUzgL0','q1Dflq','zxnSAw50u2vJDxjPDhK','CNvSzuLK','C291CMnL','BwfWqMfUzgL0u2v2zxjPDhK','mtK0mtKYmwTivMTzrG','CgLWqxvKAxq','AgfZu2nHBM5LCNngB3jmyw5NDwfNzq','yw5HBhL6zq','yw5HBhL6zvbYB2PLy3q','u2vJDxjPDhKGDNvSBMvYywjPBgL0Eq','rvjst1i','nZi1mteYq1L4u252','CMvXDwLYzw1LBNrZlNr4Da','DhLWzxnJCMLWDa','zML4','C2TPCfrLC3rgAwXLCW','BNbTqxvKAxq','u2vTz3jLCcbZy2fUigzHAwXLza','CgLWigLUC3rHBgWGyMfUzgL0','Dg9mB3DLCKnHC2u','qMfUzgL0ihnJyw5UzxiGzgv0zwn0zwq','tM8GCgfJA2fNzs5QC29UigzVDw5KlcbZA2LWCgLUzYbUCg0GyxvKAxq','mtiWodi3nvLfterNAa','BNbTig5VDcbHDMfPBgfIBgu','CgfYC2u','BwvZC2fNzxm','DMLH','z2v0sw5ZDgfSBfjLy29TBwvUzgf0Aw9UCW','Bg9Nz2vY','zML4ywjSzq','CgfJA2fNzs5QC29U','u2vTz3jLCcbZy2fUBMvYigrLDgvJDgvKicHSB2nHBcK','AM9PBG','su5gtW','zgv0zwn0tgfUz3vHz2u','DxjS','zxH0CMe','ChvZAa','qMfUzgL0ig5VDcbHDMfPBgfIBgu','y29S','BMfTzq','CNvUu2vTz3jLCa','zxnSAw50lxbSDwDPBI1Zzwn1CML0Eq','zgv0zwn0qxzHAwXHyMXLu2nHBM5LCNm','CNvUrvnmAw50u2vJDxjPDhK','C3rHCNq','v0fstKLorW','C2vTz3jLCa','y3DK','Bg93','BgLUzv9UDw1Izxi','AxnZDwvFy29UzMLKzw5Jzq','CgLWlwf1zgL0ig5VDcbHDMfPBgfIBgu','AxnZDwvFDgv4Da','yMfUzgL0ic0TDMvYC2LVBG','BM9Kzv9TB2r1BgvZ'];a0_0x1eba=function(){return _0x33b846;};return a0_0x1eba();}import{STATIC_ANALYSIS}from'../utilities/constants.js';const execAsync=promisify(exec);class SecurityAnalyzer{constructor(_0x1ac569=null){const _0x566422=a0_0x5375;this[_0x566422(0x1c6)]=_0x1ac569,this['availableScanners']=null,this['scannerCache']=new Map(),this['localScannerDir']=a0_0x3c561f[_0x566422(0x1ca)](process[_0x566422(0x1da)](),_0x566422(0x1e1),'.scanners');}async['detectAvailableScanners'](){const _0x336260=a0_0x5375;if(this['availableScanners']!==null)return this['availableScanners'];const _0x27fb1c={'semgrep':![],'bandit':![],'npmAudit':![],'pipAudit':![],'eslintSecurity':![]};try{const _0x58537e=a0_0x3c561f[_0x336260(0x1ca)](this['localScannerDir'],'semgrep');try{await a0_0x415bab['access'](_0x58537e),_0x27fb1c['semgrep']=!![],this[_0x336260(0x1c6)]?.[_0x336260(0x170)](_0x336260(0x1c9));}catch{await execAsync('semgrep\x20--version',{'timeout':0x1388}),_0x27fb1c[_0x336260(0x1d9)]=!![],this['logger']?.[_0x336260(0x170)]('Semgrep\x20scanner\x20detected\x20(system)');}}catch(_0x4a6537){this['logger']?.['debug']('Semgrep\x20not\x20available',{'error':_0x4a6537[_0x336260(0x199)]});}try{await execAsync(_0x336260(0x1e0),{'timeout':0x1388}),_0x27fb1c['bandit']=!![],this[_0x336260(0x1c6)]?.[_0x336260(0x170)](_0x336260(0x1be));}catch(_0xc98941){this['logger']?.[_0x336260(0x170)](_0x336260(0x1d0),{'error':_0xc98941[_0x336260(0x199)]});}try{await execAsync('npm\x20--version',{'timeout':0x1388}),_0x27fb1c[_0x336260(0x1ba)]=!![],this[_0x336260(0x1c6)]?.['debug'](_0x336260(0x1eb));}catch(_0x360102){this['logger']?.[_0x336260(0x170)](_0x336260(0x1c1),{'error':_0x360102[_0x336260(0x199)]});}try{await execAsync('pip-audit\x20--version',{'timeout':0x1388}),_0x27fb1c['pipAudit']=!![],this['logger']?.[_0x336260(0x170)]('pip-audit\x20detected');}catch(_0x1f752e){this[_0x336260(0x1c6)]?.[_0x336260(0x170)](_0x336260(0x1de),{'error':_0x1f752e['message']});}try{const _0x314786=await execAsync('npm\x20list\x20eslint-plugin-security\x20--depth=0\x20--json',{'timeout':0x1388,'cwd':process['cwd']()}),_0x2ed512=JSON[_0x336260(0x1c2)](_0x314786['stdout']);_0x2ed512[_0x336260(0x173)]&&_0x2ed512['dependencies']['eslint-plugin-security']&&(_0x27fb1c['eslintSecurity']=!![],this[_0x336260(0x1c6)]?.[_0x336260(0x170)](_0x336260(0x1e7)));}catch(_0x232e48){this['logger']?.['debug'](_0x336260(0x1e4),{'error':_0x232e48['message']});}return this['availableScanners']=_0x27fb1c,_0x27fb1c;}async[a0_0x992d57(0x1b1)](_0x23da31,_0x505772,_0x64fa92={}){const _0x1586fd=a0_0x992d57,_0x2bf63c=[],_0x32bdbc=await this['detectAvailableScanners'](),_0x46c2f7=this[_0x1586fd(0x1cc)](_0x23da31);if(_0x64fa92[_0x1586fd(0x1b9)]!==![]&&this[_0x1586fd(0x18c)](_0x23da31))return this[_0x1586fd(0x1c6)]?.[_0x1586fd(0x170)]('Skipping\x20test\x20file\x20for\x20security\x20scan',{'filePath':_0x23da31}),[];if(_0x46c2f7===_0x1586fd(0x1e9)||_0x46c2f7===_0x1586fd(0x1b7)){if(_0x32bdbc['semgrep']){const _0x4d6f23=await this[_0x1586fd(0x1d3)](_0x23da31,[_0x46c2f7],_0x64fa92);_0x2bf63c['push'](..._0x4d6f23);}if(_0x32bdbc[_0x1586fd(0x1aa)]){const _0x5634a0=await this[_0x1586fd(0x1d6)](_0x23da31,_0x505772,_0x64fa92);_0x2bf63c[_0x1586fd(0x1cf)](..._0x5634a0);}}if(_0x46c2f7===_0x1586fd(0x19c)){if(_0x32bdbc['bandit']){const _0x5719c8=await this[_0x1586fd(0x1a8)](_0x23da31,_0x64fa92);_0x2bf63c[_0x1586fd(0x1cf)](..._0x5719c8);}if(_0x32bdbc['semgrep']){const _0x5923fa=await this['runSemgrep'](_0x23da31,[_0x46c2f7],_0x64fa92);_0x2bf63c[_0x1586fd(0x1cf)](..._0x5923fa);}}return _0x2bf63c['length']===0x0&&!this[_0x1586fd(0x1b0)](_0x32bdbc,_0x46c2f7)&&this['logger']?.[_0x1586fd(0x1a0)](_0x1586fd(0x175),{'language':_0x46c2f7,'filePath':_0x23da31}),this['normalizeResults'](_0x2bf63c);}async[a0_0x992d57(0x1b2)](_0x39cd5e,_0xed3248,_0x30fd3f={}){const _0x333716=a0_0x992d57,_0x198678=[],_0x24643a=await this[_0x333716(0x1d5)]();if(_0xed3248===_0x333716(0x1e9)||_0xed3248==='typescript'){if(_0x24643a['npmAudit']){const _0x141ff9=await this['runNpmAudit'](_0x39cd5e,_0x30fd3f);_0x198678[_0x333716(0x1cf)](..._0x141ff9);}}if(_0xed3248===_0x333716(0x19c)){if(_0x24643a['pipAudit']){const _0x6f9f79=await this['runPipAudit'](_0x39cd5e,_0x30fd3f);_0x198678['push'](..._0x6f9f79);}}return this['normalizeResults'](_0x198678);}async['runSemgrep'](_0x58edf7,_0x478d3e,_0x2defb3={}){const _0x4c3f4e=a0_0x992d57;try{const _0x5899a6=a0_0x3c561f[_0x4c3f4e(0x18a)](_0x58edf7),_0x194114=await execAsync('semgrep\x20--config=auto\x20--json\x20\x22'+_0x58edf7+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530,'cwd':_0x5899a6}),_0x502914=JSON[_0x4c3f4e(0x1c2)](_0x194114[_0x4c3f4e(0x1a1)]);return this['parseSemgrepResults'](_0x502914);}catch(_0xe3b428){if(_0xe3b428[_0x4c3f4e(0x1a1)])try{const _0x2ccbc7=JSON[_0x4c3f4e(0x1c2)](_0xe3b428[_0x4c3f4e(0x1a1)]);return this['parseSemgrepResults'](_0x2ccbc7);}catch(_0x1d298c){this[_0x4c3f4e(0x1c6)]?.['error'](_0x4c3f4e(0x19d),{'error':_0x1d298c['message'],'stdout':_0xe3b428[_0x4c3f4e(0x1a1)]});}return this[_0x4c3f4e(0x1c6)]?.['error'](_0x4c3f4e(0x1bb),{'error':_0xe3b428[_0x4c3f4e(0x199)]}),[];}}['parseSemgrepResults'](_0x59c329){const _0x1cfaff=a0_0x992d57,_0x553b9b=[];if(_0x59c329['results']&&Array[_0x1cfaff(0x16e)](_0x59c329[_0x1cfaff(0x182)]))for(const _0x3d7b37 of _0x59c329[_0x1cfaff(0x182)]){_0x553b9b['push']({'file':_0x3d7b37['path'],'line':_0x3d7b37['start']?.['line']||0x1,'column':_0x3d7b37[_0x1cfaff(0x1d7)]?.[_0x1cfaff(0x1d1)]||0x1,'severity':this['mapSemgrepSeverity'](_0x3d7b37[_0x1cfaff(0x1ce)]?.['severity']),'rule':_0x3d7b37[_0x1cfaff(0x193)],'message':_0x3d7b37['extra']?.[_0x1cfaff(0x199)]||_0x3d7b37['extra']?.[_0x1cfaff(0x176)]||_0x1cfaff(0x189),'category':'security','scanner':'semgrep','cwe':_0x3d7b37[_0x1cfaff(0x1ce)]?.[_0x1cfaff(0x183)]?.['cwe'],'owasp':_0x3d7b37['extra']?.['metadata']?.['owasp'],'confidence':_0x3d7b37[_0x1cfaff(0x1ce)]?.[_0x1cfaff(0x183)]?.[_0x1cfaff(0x16f)],'references':_0x3d7b37[_0x1cfaff(0x1ce)]?.['metadata']?.[_0x1cfaff(0x186)]});}return _0x553b9b;}async[a0_0x992d57(0x1a8)](_0x31e074,_0xcf8ce3={}){const _0x2c6939=a0_0x992d57;try{const _0x15c499=await execAsync(_0x2c6939(0x198)+_0x31e074+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530}),_0x4704de=JSON['parse'](_0x15c499[_0x2c6939(0x1a1)]);return this[_0x2c6939(0x184)](_0x4704de);}catch(_0x2aabd3){if(_0x2aabd3['stdout'])try{const _0x5e42f4=JSON[_0x2c6939(0x1c2)](_0x2aabd3['stdout']);return this[_0x2c6939(0x184)](_0x5e42f4);}catch(_0x4292d6){this[_0x2c6939(0x1c6)]?.[_0x2c6939(0x17a)]('Failed\x20to\x20parse\x20Bandit\x20output',{'error':_0x4292d6['message']});}return this['logger']?.['error'](_0x2c6939(0x180),{'error':_0x2aabd3[_0x2c6939(0x199)]}),[];}}[a0_0x992d57(0x184)](_0x2ecbbe){const _0x2d552a=a0_0x992d57,_0x1e495a=[];if(_0x2ecbbe['results']&&Array['isArray'](_0x2ecbbe['results']))for(const _0x4104ab of _0x2ecbbe['results']){_0x1e495a['push']({'file':_0x4104ab['filename'],'line':_0x4104ab[_0x2d552a(0x1dc)]||0x1,'column':_0x4104ab['col_offset']||0x1,'severity':this['mapBanditSeverity'](_0x4104ab['issue_severity']),'rule':_0x4104ab['test_id'],'message':_0x4104ab[_0x2d552a(0x1df)],'category':'security','scanner':'bandit','cwe':_0x4104ab[_0x2d552a(0x1e2)]?.['id']?_0x2d552a(0x1a9)+_0x4104ab['issue_cwe']['id']:null,'confidence':_0x4104ab[_0x2d552a(0x1dd)],'moreInfo':_0x4104ab[_0x2d552a(0x192)]});}return _0x1e495a;}async[a0_0x992d57(0x1d6)](_0x2d22bf,_0xd02dd3,_0x4a72a9={}){const _0xc16222=a0_0x992d57;try{const {ESLint:_0x2d0993}=await import('eslint'),_0x380df6=new _0x2d0993({'overrideConfig':{'plugins':[_0xc16222(0x195)],'extends':['plugin:security/recommended'],'parserOptions':{'ecmaVersion':'latest','sourceType':'module'}},'useEslintrc':![]}),_0x4a37b7=await _0x380df6['lintText'](_0xd02dd3,{'filePath':_0x2d22bf});return this[_0xc16222(0x1ea)](_0x4a37b7,_0x2d22bf);}catch(_0x288c99){return this['logger']?.[_0xc16222(0x17a)](_0xc16222(0x1a5),{'error':_0x288c99[_0xc16222(0x199)],'filePath':_0x2d22bf}),[];}}[a0_0x992d57(0x1ea)](_0x27b9a6,_0x5d2fad){const _0x3c6ecb=a0_0x992d57,_0x921f33=[];for(const _0xe3b259 of _0x27b9a6){if(_0xe3b259['messages']&&Array['isArray'](_0xe3b259['messages']))for(const _0xd536e4 of _0xe3b259[_0x3c6ecb(0x1c3)]){_0xd536e4[_0x3c6ecb(0x1ab)]&&_0xd536e4['ruleId']['startsWith'](_0x3c6ecb(0x17c))&&_0x921f33['push']({'file':_0x5d2fad,'line':_0xd536e4['line']||0x1,'column':_0xd536e4[_0x3c6ecb(0x171)]||0x1,'severity':this[_0x3c6ecb(0x1a6)](_0xd536e4['severity']),'rule':_0xd536e4[_0x3c6ecb(0x1ab)],'message':_0xd536e4['message'],'category':_0x3c6ecb(0x195),'scanner':'eslint-security','fixable':_0xd536e4[_0x3c6ecb(0x1b8)]!==undefined});}}return _0x921f33;}async[a0_0x992d57(0x185)](_0x4e21e9,_0x57ca1={}){const _0x2dcfe6=a0_0x992d57;try{const _0x3b5c57=a0_0x3c561f['join'](_0x4e21e9,_0x2dcfe6(0x1c8));try{await a0_0x415bab['access'](_0x3b5c57);}catch{return this['logger']?.['debug'](_0x2dcfe6(0x1bf)),[];}const _0x145214=await execAsync('npm\x20audit\x20--json',{'cwd':_0x4e21e9,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x3cf6e1=JSON['parse'](_0x145214[_0x2dcfe6(0x1a1)]);return this[_0x2dcfe6(0x178)](_0x3cf6e1);}catch(_0x35db56){if(_0x35db56[_0x2dcfe6(0x1a1)])try{const _0x480023=JSON['parse'](_0x35db56[_0x2dcfe6(0x1a1)]);return this[_0x2dcfe6(0x178)](_0x480023);}catch(_0x389847){this['logger']?.['error']('Failed\x20to\x20parse\x20npm\x20audit\x20output',{'error':_0x389847['message']});}return[];}}['parseNpmAuditResults'](_0x1e5bf3){const _0x2ed97d=a0_0x992d57,_0x3ba9d9=[];if(_0x1e5bf3['vulnerabilities'])for(const [_0x15a2d1,_0x5957d7]of Object[_0x2ed97d(0x19e)](_0x1e5bf3['vulnerabilities'])){_0x3ba9d9[_0x2ed97d(0x1cf)]({'file':'package.json','line':0x1,'column':0x1,'severity':this[_0x2ed97d(0x190)](_0x5957d7[_0x2ed97d(0x174)]),'rule':'npm-'+(_0x5957d7[_0x2ed97d(0x1c4)][0x0]?.[_0x2ed97d(0x1ac)]||'advisory'),'message':_0x15a2d1+':\x20'+(_0x5957d7[_0x2ed97d(0x1c4)][0x0]?.[_0x2ed97d(0x18f)]||'Security\x20vulnerability'),'category':_0x2ed97d(0x195),'scanner':_0x2ed97d(0x1e5),'package':_0x15a2d1,'vulnerableVersions':_0x5957d7['range'],'patchedVersions':_0x5957d7[_0x2ed97d(0x1e3)]?_0x2ed97d(0x177):'None','cve':_0x5957d7[_0x2ed97d(0x1c4)][0x0]?.['cve'],'cvss':_0x5957d7[_0x2ed97d(0x1c4)][0x0]?.['cvss'],'references':_0x5957d7[_0x2ed97d(0x1c4)][0x0]?.['url']?[_0x5957d7['via'][0x0][_0x2ed97d(0x1cd)]]:[]});}return _0x3ba9d9;}async['runPipAudit'](_0x54236f,_0x7bad99={}){const _0x4fb38=a0_0x992d57;try{const requirementsPath=a0_0x3c561f[_0x4fb38(0x1ca)](_0x54236f,_0x4fb38(0x1b6));try{await a0_0x415bab['access'](requirementsPath);}catch{return this['logger']?.['debug'](_0x4fb38(0x19b)),[];}const _0x4e37b9=await execAsync(_0x4fb38(0x191),{'cwd':_0x54236f,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x4eb157=JSON['parse'](_0x4e37b9['stdout']);return this['parsePipAuditResults'](_0x4eb157);}catch(_0x553b43){if(_0x553b43['stdout'])try{const _0x1b9da1=JSON[_0x4fb38(0x1c2)](_0x553b43[_0x4fb38(0x1a1)]);return this[_0x4fb38(0x1e6)](_0x1b9da1);}catch(_0x4c38d7){this[_0x4fb38(0x1c6)]?.['error']('Failed\x20to\x20parse\x20pip-audit\x20output',{'error':_0x4c38d7['message']});}return[];}}['parsePipAuditResults'](_0xb03396){const _0x3349cb=a0_0x992d57,_0x532124=[];if(_0xb03396['dependencies']&&Array[_0x3349cb(0x16e)](_0xb03396[_0x3349cb(0x173)]))for(const _0x13ef38 of _0xb03396['dependencies']){if(_0x13ef38[_0x3349cb(0x18d)]&&Array['isArray'](_0x13ef38['vulns']))for(const _0x21dfd0 of _0x13ef38[_0x3349cb(0x18d)]){_0x532124['push']({'file':_0x3349cb(0x1b6),'line':0x1,'column':0x1,'severity':this['mapPipAuditSeverity'](_0x21dfd0['severity']),'rule':_0x21dfd0['id'],'message':_0x13ef38[_0x3349cb(0x1d2)]+':\x20'+(_0x21dfd0['description']||_0x3349cb(0x1b3)),'category':'security','scanner':_0x3349cb(0x187),'package':_0x13ef38['name'],'vulnerableVersion':_0x13ef38[_0x3349cb(0x1a4)],'fixedVersions':_0x21dfd0[_0x3349cb(0x1a3)],'references':_0x21dfd0[_0x3349cb(0x179)]||[]});}}return _0x532124;}['detectLanguage'](_0xdc0fb9){const _0x2c2507=a0_0x992d57,_0x4051e2=a0_0x3c561f['extname'](_0xdc0fb9)[_0x2c2507(0x1bd)](),_0x23a0ec={'.js':_0x2c2507(0x1e9),'.jsx':'javascript','.mjs':'javascript','.cjs':'javascript','.ts':_0x2c2507(0x1b7),'.tsx':_0x2c2507(0x1b7),'.py':'python'};return _0x23a0ec[_0x4051e2]||null;}[a0_0x992d57(0x18c)](_0x1c519a){const _0x4222be=a0_0x992d57,_0x102616=[/\.test\./,/\.spec\./,/__tests__\//,/\/tests?\//,/\.test$/,/\.spec$/];return _0x102616['some'](_0x57c6e5=>_0x57c6e5[_0x4222be(0x19f)](_0x1c519a));}[a0_0x992d57(0x1b0)](_0x3ef669,_0x4df42a){const _0x3f0b91=a0_0x992d57;if(_0x4df42a==='javascript'||_0x4df42a===_0x3f0b91(0x1b7))return _0x3ef669['semgrep']||_0x3ef669[_0x3f0b91(0x1aa)];if(_0x4df42a===_0x3f0b91(0x19c))return _0x3ef669[_0x3f0b91(0x17e)]||_0x3ef669[_0x3f0b91(0x1d9)];return![];}[a0_0x992d57(0x18b)](_0x43ead6){const _0x43612=a0_0x992d57;return _0x43ead6['map'](_0x2af538=>({'file':_0x2af538['file'],'line':_0x2af538['line']||0x1,'column':_0x2af538[_0x43612(0x171)]||0x1,'severity':_0x2af538[_0x43612(0x174)]||STATIC_ANALYSIS[_0x43612(0x17d)][_0x43612(0x1d8)],'rule':_0x2af538[_0x43612(0x1e8)]||'unknown','message':_0x2af538['message']||_0x43612(0x189),'category':'security','scanner':_0x2af538['scanner'],'cwe':_0x2af538['cwe']||null,'owasp':_0x2af538['owasp']||null,'confidence':_0x2af538['confidence']||null,'fixable':_0x2af538[_0x43612(0x1c7)]||![],'remediation':_0x2af538['remediation']||_0x2af538[_0x43612(0x1ec)]||null,'references':_0x2af538[_0x43612(0x186)]||[],'package':_0x2af538[_0x43612(0x19a)]||null}));}['mapSemgrepSeverity'](_0x13ba50){const _0x4885b2=a0_0x992d57,_0x184c9e={'ERROR':STATIC_ANALYSIS['SEVERITY']['CRITICAL'],'WARNING':STATIC_ANALYSIS['SEVERITY'][_0x4885b2(0x1b4)],'INFO':STATIC_ANALYSIS[_0x4885b2(0x17d)][_0x4885b2(0x1d8)]};return _0x184c9e[_0x13ba50?.[_0x4885b2(0x18e)]()]||STATIC_ANALYSIS['SEVERITY']['WARNING'];}[a0_0x992d57(0x1ad)](_0x498c99){const _0x9a04b1=a0_0x992d57,_0x900b7c={'HIGH':STATIC_ANALYSIS[_0x9a04b1(0x17d)]['CRITICAL'],'MEDIUM':STATIC_ANALYSIS['SEVERITY'][_0x9a04b1(0x1b4)],'LOW':STATIC_ANALYSIS['SEVERITY']['WARNING']};return _0x900b7c[_0x498c99?.['toUpperCase']()]||STATIC_ANALYSIS[_0x9a04b1(0x17d)][_0x9a04b1(0x1d8)];}['mapESLintSeverity'](_0x28c73d){const _0x39be6f=a0_0x992d57;return _0x28c73d===0x2?STATIC_ANALYSIS['SEVERITY']['ERROR']:STATIC_ANALYSIS['SEVERITY'][_0x39be6f(0x1d8)];}[a0_0x992d57(0x190)](_0x35314f){const _0x550c58=a0_0x992d57,_0x2bc604={'critical':STATIC_ANALYSIS['SEVERITY'][_0x550c58(0x197)],'high':STATIC_ANALYSIS[_0x550c58(0x17d)][_0x550c58(0x197)],'moderate':STATIC_ANALYSIS['SEVERITY'][_0x550c58(0x1b4)],'low':STATIC_ANALYSIS[_0x550c58(0x17d)][_0x550c58(0x1d8)],'info':STATIC_ANALYSIS['SEVERITY'][_0x550c58(0x1cb)]};return _0x2bc604[_0x35314f?.[_0x550c58(0x1bd)]()]||STATIC_ANALYSIS['SEVERITY']['WARNING'];}['mapPipAuditSeverity'](_0x1a35fb){const _0x55ed55=a0_0x992d57;if(!_0x1a35fb)return STATIC_ANALYSIS['SEVERITY'][_0x55ed55(0x1b4)];const _0x3a61f7={'critical':STATIC_ANALYSIS['SEVERITY'][_0x55ed55(0x197)],'high':STATIC_ANALYSIS[_0x55ed55(0x17d)]['CRITICAL'],'medium':STATIC_ANALYSIS['SEVERITY'][_0x55ed55(0x1b4)],'low':STATIC_ANALYSIS['SEVERITY']['WARNING']};return _0x3a61f7[_0x1a35fb?.[_0x55ed55(0x1bd)]()]||STATIC_ANALYSIS[_0x55ed55(0x17d)]['ERROR'];}async[a0_0x992d57(0x17b)](){const _0x40a4c2=await this['detectAvailableScanners']();return{'scanners':_0x40a4c2,'recommendations':this['getInstallRecommendations'](_0x40a4c2)};}[a0_0x992d57(0x1c5)](_0x40449c){const _0xce22df=a0_0x992d57,_0x18eafd=[];return!_0x40449c[_0xce22df(0x1d9)]&&_0x18eafd['push']({'scanner':_0xce22df(0x196),'reason':'Multi-language\x20SAST\x20with\x20extensive\x20security\x20rules','install':'pip\x20install\x20semgrep\x20OR\x20use\x20Docker:\x20docker\x20pull\x20returntocorp/semgrep','priority':'high'}),!_0x40449c[_0xce22df(0x17e)]&&_0x18eafd['push']({'scanner':'Bandit','reason':'Python\x20security\x20scanner','install':_0xce22df(0x1bc),'priority':'medium'}),!_0x40449c[_0xce22df(0x1aa)]&&_0x18eafd['push']({'scanner':_0xce22df(0x1d4),'reason':'JavaScript/TypeScript\x20security\x20rules','install':'npm\x20install\x20--save-dev\x20eslint-plugin-security','priority':'medium'}),!_0x40449c[_0xce22df(0x1af)]&&_0x18eafd[_0xce22df(0x1cf)]({'scanner':_0xce22df(0x187),'reason':'Python\x20dependency\x20vulnerability\x20scanner','install':'pip\x20install\x20pip-audit','priority':_0xce22df(0x1db)}),_0x18eafd;}}export default SecurityAnalyzer;
@@ -1 +1 @@
1
- function a0_0x5e2a(){const _0x1189cf=['yw5HBhL6zxiTzxjYB3i','z2v0u3LUDgfJDgLJrgLHz25VC3rPy3m','tM9KzuPZ','y2f0zwDVCNK','Dw5RBM93BG','Dg9mB3DLCKnHC2u','Aw5JBhvKzxm','C2v2zxjPDhK','z2v0u2vTyw50AwneAwfNBM9ZDgLJCW','BwvZC2fNzq','tw9KDwXLs2LUza','zgvIDwC','y3jLyxrLu291CMnLrMLSzq','vhLWzvnJCMLWDcbHBMfSExnPCYbJB21WBgv0zwq','tgf0zxn0','y2XHC3m','rxjYB3i','rvjst1i','z2v0tgLUzufUzenOyxjHy3rLCK9Mug9ZAxrPB24','nJC2sNHRCLv6','mtu4otuXmNjTq1HXEG','rvnozxH0','u0vwrvjjvfK','y29Kzq','mvzVB215sq','ntG3mZy5nLrMBujOua','zM9YBwf0rgLHz25VC3rPyW','rgLHz25VC3rPy0nHDgvNB3j5','u2nYAxb0vgfYz2v0','BgLIlMqUDhm','y2HHCMfJDgvY','BgLUzq','vfLqrq','y2fUBM90igzPBMqGBw9KDwXL','u1Lovefy','mteWmdq3yuHfuNvR','qw5HBhLZAxmGzMfPBgvKoIa','u2vTyw50AwmGyw5HBhLZAxmGzw5JB3vUDgvYzwqGzxjYB3i','tw9KDwXLuMvZB2X1DgLVBKTPBMq','vhLWzvnJCMLWDcbHBMfSExnPCYbMywLSzwq','zxjYB3i','ChvZAa','mJGYBxf2zLfp','q0furuDpuLK','v0fstKLorW','sNn4rw1PDa','nJy3mJaZmhjkDxbdAG','otq3mJiWrffnuwDg','CgfYC2veAwfNBM9ZDgLJCW','zMLSDgvY','Aw50zxjMywnL','nta4mZGWm29ZDMTuza','y29TCgLSzxjpChrPB25Z','u3vNz2vZDgLVBG','C3rHCNq','mtqZngPzseTABW','zMLSzu5HBwu','Bg9Nz2vY'];a0_0x5e2a=function(){return _0x1189cf;};return a0_0x5e2a();}function a0_0x50f7(_0x4f051e,_0x6a0075){_0x4f051e=_0x4f051e-0x187;const _0x5e2a0e=a0_0x5e2a();let _0x50f73d=_0x5e2a0e[_0x4f051e];if(a0_0x50f7['CGFGJS']===undefined){var _0xf531dd=function(_0x545d7d){const _0x455218='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2010c3='',_0x560073='';for(let _0x32a515=0x0,_0x207ed9,_0x16e168,_0x3b4e43=0x0;_0x16e168=_0x545d7d['charAt'](_0x3b4e43++);~_0x16e168&&(_0x207ed9=_0x32a515%0x4?_0x207ed9*0x40+_0x16e168:_0x16e168,_0x32a515++%0x4)?_0x2010c3+=String['fromCharCode'](0xff&_0x207ed9>>(-0x2*_0x32a515&0x6)):0x0){_0x16e168=_0x455218['indexOf'](_0x16e168);}for(let _0x128e66=0x0,_0x3b901f=_0x2010c3['length'];_0x128e66<_0x3b901f;_0x128e66++){_0x560073+='%'+('00'+_0x2010c3['charCodeAt'](_0x128e66)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x560073);};a0_0x50f7['QHuvzr']=_0xf531dd,a0_0x50f7['oSZTbW']={},a0_0x50f7['CGFGJS']=!![];}const _0x2a9353=_0x5e2a0e[0x0],_0xb71169=_0x4f051e+_0x2a9353,_0x321b93=a0_0x50f7['oSZTbW'][_0xb71169];return!_0x321b93?(_0x50f73d=a0_0x50f7['QHuvzr'](_0x50f73d),a0_0x50f7['oSZTbW'][_0xb71169]=_0x50f73d):_0x50f73d=_0x321b93,_0x50f73d;}const a0_0x1baf28=a0_0x50f7;(function(_0x265db6,_0x5eeced){const _0x1aad5e=a0_0x50f7,_0x284b7e=_0x265db6();while(!![]){try{const _0x4110e7=-parseInt(_0x1aad5e(0x1a9))/0x1*(-parseInt(_0x1aad5e(0x1a5))/0x2)+parseInt(_0x1aad5e(0x18e))/0x3*(-parseInt(_0x1aad5e(0x1a4))/0x4)+-parseInt(_0x1aad5e(0x1c0))/0x5+-parseInt(_0x1aad5e(0x1bb))/0x6*(parseInt(_0x1aad5e(0x1b4))/0x7)+parseInt(_0x1aad5e(0x1aa))/0x8+parseInt(_0x1aad5e(0x18a))/0x9+-parseInt(_0x1aad5e(0x1bf))/0xa;if(_0x4110e7===_0x5eeced)break;else _0x284b7e['push'](_0x284b7e['shift']());}catch(_0x2189b9){_0x284b7e['push'](_0x284b7e['shift']());}}}(a0_0x5e2a,0x65eef));import a0_0x2010c3 from'typescript';import a0_0x560073 from'path';import{STATIC_ANALYSIS}from'../utilities/constants.js';class TypeScriptAnalyzer{constructor(_0x32a515=null){const _0x3a5297=a0_0x50f7;this['logger']=_0x32a515,this[_0x3a5297(0x18b)]={'noEmit':!![],'jsx':a0_0x2010c3[_0x3a5297(0x1be)]['React'],'target':a0_0x2010c3['ScriptTarget']['Latest'],'module':a0_0x2010c3[_0x3a5297(0x19b)][_0x3a5297(0x1a6)],'moduleResolution':a0_0x2010c3[_0x3a5297(0x1b7)][_0x3a5297(0x193)],'esModuleInterop':!![],'skipLibCheck':!![],'strict':!![],'noImplicitAny':!![],'strictNullChecks':!![],'strictFunctionTypes':!![],'allowJs':![]};}async['analyze'](_0x207ed9,_0x16e168,_0x3b4e43={}){const _0x367265=a0_0x50f7;try{const _0x128e66=[],_0x3b901f=a0_0x2010c3['createSourceFile'](_0x207ed9,_0x16e168,a0_0x2010c3[_0x367265(0x1ad)]['Latest'],!![]),_0x1aae82=this[_0x367265(0x192)](_0x3b901f);_0x128e66[_0x367265(0x1ba)](..._0x1aae82);const _0x4c0031=await this['getSemanticDiagnostics'](_0x207ed9,_0x16e168);return _0x128e66['push'](..._0x4c0031),this[_0x367265(0x190)]?.[_0x367265(0x19c)](_0x367265(0x19e),{'file':_0x207ed9,'totalDiagnostics':_0x128e66['length'],'errors':_0x128e66[_0x367265(0x188)](_0x2d64a1=>_0x2d64a1[_0x367265(0x198)]===STATIC_ANALYSIS[_0x367265(0x1a7)]['ERROR'])['length'],'warnings':_0x128e66['filter'](_0x6a9233=>_0x6a9233['severity']===STATIC_ANALYSIS[_0x367265(0x1a7)]['WARNING'])['length']}),_0x128e66;}catch(_0x4e4d99){return this['logger']?.[_0x367265(0x1b9)](_0x367265(0x1b8),{'file':_0x207ed9,'error':_0x4e4d99[_0x367265(0x19a)]}),[{'file':_0x207ed9,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS['SEVERITY']['ERROR'],'rule':_0x367265(0x191),'message':_0x367265(0x1b5)+_0x4e4d99[_0x367265(0x19a)],'category':STATIC_ANALYSIS['CATEGORY'][_0x367265(0x1b3)]}];}}['getSyntacticDiagnostics'](_0x29c724){const _0x288b95=a0_0x50f7,_0x484733=[];if(_0x29c724['parseDiagnostics']&&_0x29c724[_0x288b95(0x187)]['length']>0x0)for(const _0x20a841 of _0x29c724[_0x288b95(0x187)]){_0x484733[_0x288b95(0x1ba)](this[_0x288b95(0x1ab)](_0x20a841,_0x29c724));}return _0x484733;}async[a0_0x1baf28(0x199)](_0xd235e8,_0x22ef65){const _0x59f289=a0_0x1baf28,_0x56fa3b=[];try{const _0x2c5797=a0_0x2010c3[_0x59f289(0x19d)](_0xd235e8,_0x22ef65,a0_0x2010c3[_0x59f289(0x1ad)][_0x59f289(0x19f)],!![]),_0x3a2429={'getSourceFile':_0x1050fe=>{if(_0x1050fe===_0xd235e8)return _0x2c5797;return undefined;},'getDefaultLibFileName':()=>_0x59f289(0x1ae),'writeFile':()=>{},'getCurrentDirectory':()=>a0_0x560073['dirname'](_0xd235e8),'getDirectories':()=>[],'fileExists':_0x446551=>_0x446551===_0xd235e8,'readFile':_0x3c70d7=>{if(_0x3c70d7===_0xd235e8)return _0x22ef65;return undefined;},'getCanonicalFileName':_0x54a186=>_0x54a186,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x254eb4=a0_0x2010c3['createProgram']({'rootNames':[_0xd235e8],'options':this[_0x59f289(0x18b)],'host':_0x3a2429}),_0x2c2bdc=_0x254eb4[_0x59f289(0x192)](_0x2c5797),_0x3d6ec8=_0x254eb4[_0x59f289(0x199)](_0x2c5797);for(const _0x145d54 of[..._0x2c2bdc,..._0x3d6ec8]){_0x56fa3b[_0x59f289(0x1ba)](this['formatDiagnostic'](_0x145d54,_0x2c5797));}}catch(_0x4e82be){this[_0x59f289(0x190)]?.['debug'](_0x59f289(0x1b6),{'file':_0xd235e8,'error':_0x4e82be['message']});}return _0x56fa3b;}[a0_0x1baf28(0x1ab)](_0x166bb5,_0x2119fa){const _0x4f5ad3=a0_0x1baf28;let _0x3c7753=0x0,_0x25a4f3=0x0;if(_0x166bb5['file']&&_0x166bb5['start']!==undefined){const _0x38d4da=_0x166bb5['file']['getLineAndCharacterOfPosition'](_0x166bb5[_0x4f5ad3(0x18d)]);_0x3c7753=_0x38d4da[_0x4f5ad3(0x1b0)]+0x1,_0x25a4f3=_0x38d4da[_0x4f5ad3(0x1af)]+0x1;}else{if(_0x2119fa&&_0x166bb5['start']!==undefined){const _0x3554a8=_0x2119fa[_0x4f5ad3(0x1a3)](_0x166bb5['start']);_0x3c7753=_0x3554a8[_0x4f5ad3(0x1b0)]+0x1,_0x25a4f3=_0x3554a8[_0x4f5ad3(0x1af)]+0x1;}}const _0x3e07d9=a0_0x2010c3['flattenDiagnosticMessageText'](_0x166bb5['messageText'],'\x0a');let _0x3fb891;switch(_0x166bb5[_0x4f5ad3(0x194)]){case a0_0x2010c3[_0x4f5ad3(0x1ac)][_0x4f5ad3(0x1a1)]:_0x3fb891=STATIC_ANALYSIS[_0x4f5ad3(0x1a7)]['ERROR'];break;case a0_0x2010c3[_0x4f5ad3(0x1ac)]['Warning']:_0x3fb891=STATIC_ANALYSIS['SEVERITY'][_0x4f5ad3(0x1bd)];break;case a0_0x2010c3['DiagnosticCategory']['Message']:case a0_0x2010c3[_0x4f5ad3(0x1ac)][_0x4f5ad3(0x18c)]:_0x3fb891=STATIC_ANALYSIS[_0x4f5ad3(0x1a7)]['INFO'];break;default:_0x3fb891=STATIC_ANALYSIS[_0x4f5ad3(0x1a7)][_0x4f5ad3(0x1a2)];}let _0x438bb3=STATIC_ANALYSIS['CATEGORY']['SYNTAX'];const _0x4ed8fe=_0x166bb5[_0x4f5ad3(0x1a8)];if(_0x4ed8fe>=0x7d0&&_0x4ed8fe<0xbb8)_0x438bb3=STATIC_ANALYSIS['CATEGORY']['TYPE'];else{if(_0x4ed8fe>=0x3e8&&_0x4ed8fe<0x7d0)_0x438bb3=STATIC_ANALYSIS[_0x4f5ad3(0x1bc)][_0x4f5ad3(0x1b3)];else _0x4ed8fe>=0x8fc&&_0x4ed8fe<0x960&&(_0x438bb3=STATIC_ANALYSIS[_0x4f5ad3(0x1bc)]['IMPORT']);}const _0xbf3c25=_0x3e07d9[_0x4f5ad3(0x196)]();if(_0xbf3c25[_0x4f5ad3(0x197)](_0x4f5ad3(0x1b2))||_0xbf3c25[_0x4f5ad3(0x197)]('import')||_0xbf3c25[_0x4f5ad3(0x197)]('export'))_0x438bb3=STATIC_ANALYSIS['CATEGORY']['IMPORT'];else(_0xbf3c25[_0x4f5ad3(0x197)]('type')||_0xbf3c25[_0x4f5ad3(0x197)](_0x4f5ad3(0x189))||_0xbf3c25['includes'](_0x4f5ad3(0x1a0)))&&(_0x438bb3=STATIC_ANALYSIS['CATEGORY'][_0x4f5ad3(0x1b1)]);return{'file':_0x166bb5['file']?.['fileName']||_0x2119fa?.[_0x4f5ad3(0x18f)]||_0x4f5ad3(0x195),'line':_0x3c7753,'column':_0x25a4f3,'severity':_0x3fb891,'rule':'TS'+_0x4ed8fe,'message':_0x3e07d9,'category':_0x438bb3,'fixable':![],'code':_0x166bb5[_0x4f5ad3(0x1a8)]};}}export default TypeScriptAnalyzer;
1
+ const a0_0x321975=a0_0xcf17;(function(_0x2e6a51,_0xf6509b){const _0x194b8b=a0_0xcf17,_0x4fbfde=_0x2e6a51();while(!![]){try{const _0x5213d4=parseInt(_0x194b8b(0x1a2))/0x1+-parseInt(_0x194b8b(0x19d))/0x2+parseInt(_0x194b8b(0x194))/0x3+parseInt(_0x194b8b(0x189))/0x4+-parseInt(_0x194b8b(0x1a1))/0x5+parseInt(_0x194b8b(0x188))/0x6+parseInt(_0x194b8b(0x177))/0x7*(parseInt(_0x194b8b(0x18d))/0x8);if(_0x5213d4===_0xf6509b)break;else _0x4fbfde['push'](_0x4fbfde['shift']());}catch(_0x2977e5){_0x4fbfde['push'](_0x4fbfde['shift']());}}}(a0_0x1581,0x53722));import a0_0x167038 from'typescript';function a0_0xcf17(_0x3af5a3,_0x3b0a16){_0x3af5a3=_0x3af5a3-0x174;const _0x15816c=a0_0x1581();let _0xcf17cf=_0x15816c[_0x3af5a3];if(a0_0xcf17['qrweUv']===undefined){var _0x110dc0=function(_0x49c9cc){const _0x480787='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x167038='',_0x5aa981='';for(let _0x2c8bab=0x0,_0x471fac,_0x33662b,_0x53fdf0=0x0;_0x33662b=_0x49c9cc['charAt'](_0x53fdf0++);~_0x33662b&&(_0x471fac=_0x2c8bab%0x4?_0x471fac*0x40+_0x33662b:_0x33662b,_0x2c8bab++%0x4)?_0x167038+=String['fromCharCode'](0xff&_0x471fac>>(-0x2*_0x2c8bab&0x6)):0x0){_0x33662b=_0x480787['indexOf'](_0x33662b);}for(let _0x278454=0x0,_0x3bd77f=_0x167038['length'];_0x278454<_0x3bd77f;_0x278454++){_0x5aa981+='%'+('00'+_0x167038['charCodeAt'](_0x278454)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5aa981);};a0_0xcf17['DzapDo']=_0x110dc0,a0_0xcf17['VwRMGF']={},a0_0xcf17['qrweUv']=!![];}const _0x25efc4=_0x15816c[0x0],_0x3505eb=_0x3af5a3+_0x25efc4,_0x1169fa=a0_0xcf17['VwRMGF'][_0x3505eb];return!_0x1169fa?(_0xcf17cf=a0_0xcf17['DzapDo'](_0xcf17cf),a0_0xcf17['VwRMGF'][_0x3505eb]=_0xcf17cf):_0xcf17cf=_0x1169fa,_0xcf17cf;}import a0_0x5aa981 from'path';import{STATIC_ANALYSIS}from'../utilities/constants.js';class TypeScriptAnalyzer{constructor(_0x2c8bab=null){const _0x4c8d96=a0_0xcf17;this['logger']=_0x2c8bab,this['compilerOptions']={'noEmit':!![],'jsx':a0_0x167038['JsxEmit'][_0x4c8d96(0x191)],'target':a0_0x167038['ScriptTarget']['Latest'],'module':a0_0x167038['ModuleKind']['ESNext'],'moduleResolution':a0_0x167038[_0x4c8d96(0x18b)]['NodeJs'],'esModuleInterop':!![],'skipLibCheck':!![],'strict':!![],'noImplicitAny':!![],'strictNullChecks':!![],'strictFunctionTypes':!![],'allowJs':![]};}async[a0_0x321975(0x19c)](_0x471fac,_0x33662b,_0x53fdf0={}){const _0x2f67a0=a0_0x321975;try{const _0x278454=[],_0x3bd77f=a0_0x167038[_0x2f67a0(0x182)](_0x471fac,_0x33662b,a0_0x167038['ScriptTarget'][_0x2f67a0(0x175)],!![]),_0x574171=this[_0x2f67a0(0x17a)](_0x3bd77f);_0x278454['push'](..._0x574171);const _0x35513a=await this[_0x2f67a0(0x18f)](_0x471fac,_0x33662b);return _0x278454[_0x2f67a0(0x176)](..._0x35513a),this['logger']?.['debug']('TypeScript\x20analysis\x20completed',{'file':_0x471fac,'totalDiagnostics':_0x278454[_0x2f67a0(0x18e)],'errors':_0x278454[_0x2f67a0(0x174)](_0x16a88c=>_0x16a88c[_0x2f67a0(0x181)]===STATIC_ANALYSIS['SEVERITY']['ERROR'])['length'],'warnings':_0x278454[_0x2f67a0(0x174)](_0x2577c5=>_0x2577c5['severity']===STATIC_ANALYSIS[_0x2f67a0(0x178)]['WARNING'])['length']}),_0x278454;}catch(_0x5b392b){return this[_0x2f67a0(0x17c)]?.[_0x2f67a0(0x17d)]('TypeScript\x20analysis\x20failed',{'file':_0x471fac,'error':_0x5b392b['message']}),[{'file':_0x471fac,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS['SEVERITY'][_0x2f67a0(0x190)],'rule':'analyzer-error','message':'Analysis\x20failed:\x20'+_0x5b392b['message'],'category':STATIC_ANALYSIS[_0x2f67a0(0x196)]['SYNTAX']}];}}[a0_0x321975(0x17a)](_0x120c30){const _0x478c41=a0_0x321975,_0x5a0aea=[];if(_0x120c30['parseDiagnostics']&&_0x120c30['parseDiagnostics'][_0x478c41(0x18e)]>0x0)for(const _0x5f48a3 of _0x120c30[_0x478c41(0x180)]){_0x5a0aea['push'](this[_0x478c41(0x179)](_0x5f48a3,_0x120c30));}return _0x5a0aea;}async['getSemanticDiagnostics'](_0x238bde,_0x17f851){const _0x3bcfb9=a0_0x321975,_0x3f31f2=[];try{const _0x4d5348=a0_0x167038['createSourceFile'](_0x238bde,_0x17f851,a0_0x167038['ScriptTarget']['Latest'],!![]),_0xbf9d47={'getSourceFile':_0x276eec=>{if(_0x276eec===_0x238bde)return _0x4d5348;return undefined;},'getDefaultLibFileName':()=>'lib.d.ts','writeFile':()=>{},'getCurrentDirectory':()=>a0_0x5aa981['dirname'](_0x238bde),'getDirectories':()=>[],'fileExists':_0x3f2db7=>_0x3f2db7===_0x238bde,'readFile':_0x12a038=>{if(_0x12a038===_0x238bde)return _0x17f851;return undefined;},'getCanonicalFileName':_0x4c05ba=>_0x4c05ba,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x554365=a0_0x167038['createProgram']({'rootNames':[_0x238bde],'options':this[_0x3bcfb9(0x19b)],'host':_0xbf9d47}),_0x58e237=_0x554365[_0x3bcfb9(0x17a)](_0x4d5348),_0x297b34=_0x554365['getSemanticDiagnostics'](_0x4d5348);for(const _0x2af21c of[..._0x58e237,..._0x297b34]){_0x3f31f2['push'](this['formatDiagnostic'](_0x2af21c,_0x4d5348));}}catch(_0x17e8f5){this['logger']?.[_0x3bcfb9(0x197)]('Semantic\x20analysis\x20encountered\x20error',{'file':_0x238bde,'error':_0x17e8f5[_0x3bcfb9(0x17f)]});}return _0x3f31f2;}[a0_0x321975(0x179)](_0x2a450d,_0x5ca76f){const _0xdf78d7=a0_0x321975;let _0x539f06=0x0,_0x6526b7=0x0;if(_0x2a450d['file']&&_0x2a450d[_0xdf78d7(0x184)]!==undefined){const _0x1749a5=_0x2a450d['file']['getLineAndCharacterOfPosition'](_0x2a450d['start']);_0x539f06=_0x1749a5['line']+0x1,_0x6526b7=_0x1749a5['character']+0x1;}else{if(_0x5ca76f&&_0x2a450d[_0xdf78d7(0x184)]!==undefined){const _0x2ded19=_0x5ca76f[_0xdf78d7(0x183)](_0x2a450d[_0xdf78d7(0x184)]);_0x539f06=_0x2ded19[_0xdf78d7(0x185)]+0x1,_0x6526b7=_0x2ded19[_0xdf78d7(0x19f)]+0x1;}}const _0xce720d=a0_0x167038[_0xdf78d7(0x18a)](_0x2a450d[_0xdf78d7(0x187)],'\x0a');let _0x118aed;switch(_0x2a450d['category']){case a0_0x167038[_0xdf78d7(0x186)]['Error']:_0x118aed=STATIC_ANALYSIS[_0xdf78d7(0x178)][_0xdf78d7(0x190)];break;case a0_0x167038[_0xdf78d7(0x186)]['Warning']:_0x118aed=STATIC_ANALYSIS['SEVERITY']['WARNING'];break;case a0_0x167038['DiagnosticCategory']['Message']:case a0_0x167038[_0xdf78d7(0x186)][_0xdf78d7(0x195)]:_0x118aed=STATIC_ANALYSIS['SEVERITY'][_0xdf78d7(0x19a)];break;default:_0x118aed=STATIC_ANALYSIS[_0xdf78d7(0x178)][_0xdf78d7(0x190)];}let _0x261b48=STATIC_ANALYSIS['CATEGORY'][_0xdf78d7(0x19e)];const _0x42a7bf=_0x2a450d[_0xdf78d7(0x198)];if(_0x42a7bf>=0x7d0&&_0x42a7bf<0xbb8)_0x261b48=STATIC_ANALYSIS['CATEGORY'][_0xdf78d7(0x17e)];else{if(_0x42a7bf>=0x3e8&&_0x42a7bf<0x7d0)_0x261b48=STATIC_ANALYSIS['CATEGORY']['SYNTAX'];else _0x42a7bf>=0x8fc&&_0x42a7bf<0x960&&(_0x261b48=STATIC_ANALYSIS['CATEGORY'][_0xdf78d7(0x17b)]);}const _0x24ea3f=_0xce720d[_0xdf78d7(0x199)]();if(_0x24ea3f['includes']('cannot\x20find\x20module')||_0x24ea3f['includes']('import')||_0x24ea3f['includes']('export'))_0x261b48=STATIC_ANALYSIS[_0xdf78d7(0x196)][_0xdf78d7(0x17b)];else(_0x24ea3f[_0xdf78d7(0x193)](_0xdf78d7(0x192))||_0x24ea3f[_0xdf78d7(0x193)](_0xdf78d7(0x1a0))||_0x24ea3f['includes']('class'))&&(_0x261b48=STATIC_ANALYSIS['CATEGORY'][_0xdf78d7(0x17e)]);return{'file':_0x2a450d['file']?.[_0xdf78d7(0x18c)]||_0x5ca76f?.[_0xdf78d7(0x18c)]||'unknown','line':_0x539f06,'column':_0x6526b7,'severity':_0x118aed,'rule':'TS'+_0x42a7bf,'message':_0xce720d,'category':_0x261b48,'fixable':![],'code':_0x2a450d['code']};}}function a0_0x1581(){const _0x12ba77=['tw9KDwXLuMvZB2X1DgLVBKTPBMq','zMLSzu5HBwu','mJC4odqWtwzJzgT4','BgvUz3rO','z2v0u2vTyw50AwneAwfNBM9ZDgLJCW','rvjst1i','uMvHy3q','DhLWzq','Aw5JBhvKzxm','mtGZouPSt2Plwa','u3vNz2vZDgLVBG','q0furuDpuLK','zgvIDwC','y29Kzq','Dg9mB3DLCKnHC2u','su5gtW','y29TCgLSzxjpChrPB25Z','yw5HBhL6zq','nJmWmJrsuhH6wue','u1Lovefy','y2HHCMfJDgvY','Aw50zxjMywnL','mtCWmJe3mgf6t0fyDq','ndq0otiWz1Hdq3Lx','zMLSDgvY','tgf0zxn0','ChvZAa','n3ziwvvPua','u0vwrvjjvfK','zM9YBwf0rgLHz25VC3rPyW','z2v0u3LUDgfJDgLJrgLHz25VC3rPy3m','su1qt1ju','Bg9Nz2vY','zxjYB3i','vfLqrq','BwvZC2fNzq','CgfYC2veAwfNBM9ZDgLJCW','C2v2zxjPDhK','y3jLyxrLu291CMnLrMLSzq','z2v0tgLUzufUzenOyxjHy3rLCK9Mug9ZAxrPB24','C3rHCNq','BgLUzq','rgLHz25VC3rPy0nHDgvNB3j5','BwvZC2fNzvrLEhq','nJG1nZeWsxbrDg9Y','ndC2mJy4s3zzDunR','zMXHDhrLBKrPywDUB3n0AwnnzxnZywDLvgv4Da'];a0_0x1581=function(){return _0x12ba77;};return a0_0x1581();}export default TypeScriptAnalyzer;
@@ -1 +1 @@
1
- const a0_0x226d09=a0_0x1423;function a0_0x1423(_0x4fcada,_0x15f641){_0x4fcada=_0x4fcada-0xf3;const _0x8eadbd=a0_0x8ead();let _0x142395=_0x8eadbd[_0x4fcada];if(a0_0x1423['kiUjqG']===undefined){var _0xdd48fe=function(_0x603bb9){const _0x489f3b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x29b2d1='',_0x3aa04a='';for(let _0x109ccb=0x0,_0x324393,_0x4b40de,_0x2533e4=0x0;_0x4b40de=_0x603bb9['charAt'](_0x2533e4++);~_0x4b40de&&(_0x324393=_0x109ccb%0x4?_0x324393*0x40+_0x4b40de:_0x4b40de,_0x109ccb++%0x4)?_0x29b2d1+=String['fromCharCode'](0xff&_0x324393>>(-0x2*_0x109ccb&0x6)):0x0){_0x4b40de=_0x489f3b['indexOf'](_0x4b40de);}for(let _0x665553=0x0,_0x159f34=_0x29b2d1['length'];_0x665553<_0x159f34;_0x665553++){_0x3aa04a+='%'+('00'+_0x29b2d1['charCodeAt'](_0x665553)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3aa04a);};a0_0x1423['nzBDlz']=_0xdd48fe,a0_0x1423['wrLyWG']={},a0_0x1423['kiUjqG']=!![];}const _0xaeea3=_0x8eadbd[0x0],_0x48ee33=_0x4fcada+_0xaeea3,_0x2197da=a0_0x1423['wrLyWG'][_0x48ee33];return!_0x2197da?(_0x142395=a0_0x1423['nzBDlz'](_0x142395),a0_0x1423['wrLyWG'][_0x48ee33]=_0x142395):_0x142395=_0x2197da,_0x142395;}(function(_0x2de4c4,_0x3afd4c){const _0xef00f3=a0_0x1423,_0x4f13d0=_0x2de4c4();while(!![]){try{const _0x3f95b1=parseInt(_0xef00f3(0x134))/0x1+-parseInt(_0xef00f3(0x126))/0x2*(parseInt(_0xef00f3(0xfb))/0x3)+parseInt(_0xef00f3(0xf7))/0x4*(-parseInt(_0xef00f3(0x12c))/0x5)+-parseInt(_0xef00f3(0x140))/0x6*(parseInt(_0xef00f3(0x133))/0x7)+parseInt(_0xef00f3(0x110))/0x8*(parseInt(_0xef00f3(0x131))/0x9)+-parseInt(_0xef00f3(0x115))/0xa+parseInt(_0xef00f3(0x121))/0xb*(parseInt(_0xef00f3(0x127))/0xc);if(_0x3f95b1===_0x3afd4c)break;else _0x4f13d0['push'](_0x4f13d0['shift']());}catch(_0x2212d6){_0x4f13d0['push'](_0x4f13d0['shift']());}}}(a0_0x8ead,0xa5774));export class RefactoringAnalyzer{constructor(_0x29b2d1){const _0x4aff18=a0_0x1423;this[_0x4aff18(0x138)]=_0x29b2d1;}[a0_0x226d09(0x102)](_0x3aa04a){const _0x2a49fd=a0_0x226d09;return console[_0x2a49fd(0x13d)](_0x2a49fd(0x10e)),_0x3aa04a['map']((_0x109ccb,_0x324393)=>{const _0x2d34b5=_0x2a49fd,_0x4b40de=this['calculateMetrics'](_0x109ccb),_0x2533e4=this['generateRefactoringAdvice'](_0x109ccb,_0x4b40de);return{'id':_0x2d34b5(0x132)+(_0x324393+0x1),'type':_0x109ccb[_0x2d34b5(0x108)],'confidence':_0x109ccb['confidence'],'instances':_0x109ccb[_0x2d34b5(0xf9)][_0x2d34b5(0x104)](_0x665553=>({'file':_0x665553[_0x2d34b5(0x105)],'startLine':_0x665553['startLine'],'endLine':_0x665553['endLine'],'code':this[_0x2d34b5(0x10f)](_0x665553[_0x2d34b5(0x109)]),'fullCode':_0x665553[_0x2d34b5(0x109)],'blockType':_0x665553[_0x2d34b5(0x108)]})),'metrics':_0x4b40de,'refactoringAdvice':_0x2533e4};})[_0x2a49fd(0x101)]((_0x159f34,_0x4d9a2d)=>_0x4d9a2d['metrics'][_0x2a49fd(0xfe)]-_0x159f34[_0x2a49fd(0xff)]['impactScore']);}[a0_0x226d09(0xf8)](_0x8c51e4){const _0x27b21d=a0_0x226d09,_0x2068a8=_0x8c51e4[_0x27b21d(0xf9)],_0x2b5dce=_0x8c51e4['tokenCount'],_0x3bb767=this['averageLineCount'](_0x2068a8),_0x48ed36=_0x2068a8[_0x27b21d(0x114)],_0x27a64d=this['calculateImpactScore'](_0x2b5dce,_0x3bb767,_0x48ed36,_0x8c51e4[_0x27b21d(0x128)]),_0x50461b=_0x3bb767*(_0x48ed36-0x1),_0x41466a=_0x2b5dce*(_0x48ed36-0x1);return{'tokenCount':_0x2b5dce,'lineCount':_0x3bb767,'instanceCount':_0x48ed36,'duplicatedLines':_0x50461b,'duplicatedTokens':_0x41466a,'impactScore':parseFloat(_0x27a64d['toFixed'](0x2)),'filesCovered':new Set(_0x2068a8[_0x27b21d(0x104)](_0xbb62bf=>_0xbb62bf['file']))['size']};}[a0_0x226d09(0x12b)](_0x4707aa,_0x173e78,_0x13aad1,_0x986534){const _0xeaaef8=a0_0x226d09,_0x463be6=Math['log10'](_0x4707aa+0x1)*0x2,_0x201d1b=Math['log2'](_0x13aad1+0x1)*0x3,_0x35b61b=_0x986534*0x2,_0x238660=Math[_0xeaaef8(0xf6)](_0x173e78/0xa,0x3);return _0x463be6+_0x201d1b+_0x35b61b+_0x238660;}['generateRefactoringAdvice'](_0x55485b,_0x4f7b56){const _0x45d0a8=a0_0x226d09,_0x84be31=this[_0x45d0a8(0x125)](_0x55485b,_0x4f7b56),_0x1fa925=this[_0x45d0a8(0x141)](_0x4f7b56),_0x2d4338=this['suggestName'](_0x55485b),_0x2d875c=this['generateReasoning'](_0x55485b,_0x4f7b56,_0x84be31),_0x572cf6=this['estimateEffort'](_0x4f7b56,_0x84be31),_0x51531d=this['describeBenefits'](_0x4f7b56);return{'priority':_0x1fa925,'strategy':_0x84be31,'suggestedName':_0x2d4338,'reasoning':_0x2d875c,'estimatedEffort':_0x572cf6,'benefits':_0x51531d,'actionableSteps':this['generateActionableSteps'](_0x84be31,_0x2d4338,_0x4f7b56)};}[a0_0x226d09(0x125)](_0x252f7d,_0x417a46){const _0x15936e=a0_0x226d09,{tokenCount:_0x4667cf,lineCount:_0x54ac1a,instanceCount:_0x44ae8e,filesCovered:_0x8ecbd0}=_0x417a46,_0x5a903a=_0x252f7d['blocks']['map'](_0x41dc48=>_0x41dc48[_0x15936e(0x108)]),_0x40e4d6=_0x5a903a[_0x15936e(0x112)](_0x3bd13b=>_0x3bd13b[_0x15936e(0x119)](_0x15936e(0x103))||_0x3bd13b['includes']('Method')),_0x33d13f=_0x5a903a[_0x15936e(0x112)](_0x2c784b=>_0x2c784b['includes'](_0x15936e(0x117)));if(_0x33d13f&&_0x54ac1a>0x32)return'extract-module';else{if(_0x8ecbd0>0x2&&_0x4667cf>0x64)return _0x15936e(0x13a);else{if(_0x40e4d6||_0x54ac1a>=0xa&&_0x54ac1a<=0x32)return _0x15936e(0x13c);else{if(_0x54ac1a>0x32)return _0x15936e(0x139);else return _0x54ac1a<0xa?'extract-constant-or-utility':'extract-function';}}}}[a0_0x226d09(0x141)](_0x3a1dd3){const _0x406167=a0_0x226d09,{impactScore:_0x4102c9}=_0x3a1dd3;if(_0x4102c9>=0x8)return _0x406167(0x10d);if(_0x4102c9>=0x5)return'medium';return _0x406167(0x142);}['suggestName'](_0x4a50eb){const _0xc1263b=a0_0x226d09,_0x2599e5=_0x4a50eb[_0xc1263b(0xf9)][_0xc1263b(0x104)](_0x1d3288=>_0x1d3288[_0xc1263b(0x109)])[_0xc1263b(0xfd)]('\x20'),_0x1d5cde=_0x2599e5[_0xc1263b(0x10a)](/[a-zA-Z_$][a-zA-Z0-9_$]*/g)||[],_0x4e656e={};_0x1d5cde[_0xc1263b(0xfa)](_0x5b7e9e=>{const _0x50305f=_0xc1263b;if([_0x50305f(0x123),_0x50305f(0x12a),'var',_0x50305f(0x144),'return','if',_0x50305f(0x113),_0x50305f(0x130),_0x50305f(0x106)]['includes'](_0x5b7e9e))return;_0x4e656e[_0x5b7e9e]=(_0x4e656e[_0x5b7e9e]||0x0)+0x1;});const _0x51d3d4=Object['entries'](_0x4e656e)['sort']((_0x1ffefa,_0xa21ab9)=>_0xa21ab9[0x1]-_0x1ffefa[0x1])[_0xc1263b(0x11c)](0x0,0x3);if(_0x51d3d4['length']>0x0){const _0xf50e48=_0x51d3d4[_0xc1263b(0x104)](([_0x58b44c])=>_0x58b44c);return this[_0xc1263b(0x143)](_0xf50e48);}return _0xc1263b(0x136);}['createFunctionName'](_0x235be8){const _0x10ddcf=a0_0x226d09;if(_0x235be8[_0x10ddcf(0x114)]===0x0)return _0x10ddcf(0x136);return _0x235be8[0x0]+_0x235be8['slice'](0x1)['map'](_0x33f077=>_0x33f077[_0x10ddcf(0x11a)](0x0)[_0x10ddcf(0x137)]()+_0x33f077[_0x10ddcf(0x11c)](0x1))[_0x10ddcf(0xfd)]('');}['generateReasoning'](_0x38143d,_0x2f8537,_0x3d8d72){const _0x4c77ce=a0_0x226d09,{instanceCount:_0x5927ce,duplicatedLines:_0x507034,filesCovered:_0x59f4ca}=_0x2f8537;let _0x4e43ca='This\x20'+_0x38143d['type']+'\x20code\x20pattern\x20appears\x20'+_0x5927ce+_0x4c77ce(0x12f);return _0x59f4ca>0x1&&(_0x4e43ca+='\x20across\x20'+_0x59f4ca+_0x4c77ce(0xf4)),_0x4e43ca+=_0x4c77ce(0x12e)+_0x507034+_0x4c77ce(0x111),_0x4e43ca+='Refactoring\x20to\x20'+_0x3d8d72['replace'](/-/g,'\x20')+_0x4c77ce(0x116),_0x5927ce>=0x3&&(_0x4e43ca+=', reduce bugs from inconsistent changes'),_0x4e43ca+=_0x4c77ce(0x122),_0x2f8537['impactScore']>=0x8&&(_0x4e43ca+='.\x20This\x20is\x20a\x20high-impact\x20refactoring\x20opportunity'),_0x4e43ca+'.';}['estimateEffort'](_0x391ef7,_0x34b207){const _0xa5b911=a0_0x226d09,{lineCount:_0x301798,instanceCount:_0x51c999,filesCovered:_0x4956e9}=_0x391ef7;let _0x1ff762=0x0;_0x1ff762+=Math[_0xa5b911(0xf6)](_0x301798/0xa,0x5),_0x1ff762+=_0x51c999*0.5,_0x1ff762+=_0x4956e9*0.5;if(_0x34b207==='extract-module')_0x1ff762+=0x3;else{if(_0x34b207===_0xa5b911(0x139))_0x1ff762+=0x2;else _0x34b207==='extract-function'&&(_0x1ff762+=0x1);}if(_0x1ff762<=0x3)return _0xa5b911(0x142);if(_0x1ff762<=0x7)return _0xa5b911(0x100);return _0xa5b911(0x10d);}['describeBenefits'](_0x1a741b){const _0x52b2df=a0_0x226d09,_0x2382d3=[];return _0x2382d3[_0x52b2df(0x107)](_0x52b2df(0x13b)+_0x1a741b[_0x52b2df(0xfc)]+'\x20duplicated\x20lines\x20of\x20code'),_0x2382d3['push']('Improve\x20maintainability\x20by\x20centralizing\x20logic\x20in\x20one\x20place'),_0x1a741b['instanceCount']>=0x3&&_0x2382d3['push']('Reduce\x20risk\x20of\x20inconsistent\x20changes\x20across\x20'+_0x1a741b['instanceCount']+_0x52b2df(0x135)),_0x1a741b[_0x52b2df(0x120)]>0x2&&_0x2382d3[_0x52b2df(0x107)]('Improve\x20code\x20organization\x20across\x20'+_0x1a741b['filesCovered']+_0x52b2df(0xf3)),_0x2382d3[_0x52b2df(0x107)](_0x52b2df(0x13f)),_0x2382d3;}[a0_0x226d09(0x118)](_0x32b301,_0x3dcb05,_0x5c2b29){const _0x3fd181=a0_0x226d09,_0x242041=[];switch(_0x32b301){case'extract-function':_0x242041[_0x3fd181(0x107)](_0x3fd181(0x124)+_0x3dcb05+'\x27'),_0x242041['push'](_0x3fd181(0x11e)),_0x242041[_0x3fd181(0x107)]('3. Identify parameters needed from the surrounding context'),_0x242041['push'](_0x3fd181(0x11d)),_0x242041['push'](_0x3fd181(0xf5));break;case _0x3fd181(0x139):_0x242041['push']('1.\x20Create\x20a\x20new\x20class\x20to\x20encapsulate\x20this\x20functionality'),_0x242041['push'](_0x3fd181(0x11b)),_0x242041['push']('3.\x20Update\x20all\x20instances\x20to\x20use\x20the\x20new\x20class'),_0x242041[_0x3fd181(0x107)]('4.\x20Consider\x20dependency\x20injection\x20for\x20better\x20testability');break;case'extract-module':_0x242041[_0x3fd181(0x107)]('1.\x20Create\x20a\x20new\x20module/file\x20for\x20this\x20shared\x20functionality'),_0x242041[_0x3fd181(0x107)]('2.\x20Move\x20the\x20duplicated\x20code\x20into\x20the\x20new\x20module'),_0x242041[_0x3fd181(0x107)](_0x3fd181(0x13e)),_0x242041[_0x3fd181(0x107)]('4. Update all files to import from the new module'),_0x242041['push']('5.\x20Update\x20any\x20build\x20configurations\x20if\x20needed');break;default:_0x242041['push']('1.\x20Extract\x20the\x20duplicated\x20code\x20using\x20'+_0x32b301[_0x3fd181(0x12d)](/-/g,'\x20')),_0x242041[_0x3fd181(0x107)](_0x3fd181(0x11f)),_0x242041[_0x3fd181(0x107)]('3.\x20Test\x20thoroughly');}return _0x242041;}[a0_0x226d09(0x10f)](_0x4f99ec,_0x2028fc=0xa){const _0x56e25c=a0_0x226d09,_0x37590c=_0x4f99ec[_0x56e25c(0x10b)]('\x0a');if(_0x37590c['length']<=_0x2028fc)return _0x4f99ec;return _0x37590c[_0x56e25c(0x11c)](0x0,_0x2028fc)['join']('\x0a')+'\x0a...\x20(truncated)';}['averageLineCount'](_0x3f3bf3){const _0x5a6c33=a0_0x226d09,_0x296341=_0x3f3bf3[_0x5a6c33(0x129)]((_0x2ae3ca,_0x47171c)=>_0x2ae3ca+(_0x47171c['endLine']-_0x47171c['startLine']+0x1),0x0);return Math[_0x5a6c33(0x10c)](_0x296341/_0x3f3bf3['length']);}}function a0_0x8ead(){const _0x544e69=['D2HPBgu','ChvZAa','DhLWzq','y29Kzq','Bwf0y2G','C3bSAxq','CM91BMq','AgLNAa','qw5HBhL6Aw5NignSB25LCYbMB3iGCMvMywn0B3jPBMCGB3bWB3j0Dw5PDgLLCY4UlG','Dhj1BMnHDgvdB2rL','mtG0vg1rwNzd','igr1CgXPy2f0zwqGBgLUzxmUia','C29Tzq','zwXZzq','BgvUz3rO','mte4ndm3otbLBK5mz1i','ihDVDwXKigLTChjVDMuGBwfPBNrHAw5HyMLSAxr5','q2XHC3m','z2vUzxjHDgvby3rPB25HyMXLu3rLChm','Aw5JBhvKzxm','y2HHCKf0','mI4Gtw92zsbYzwXHDgvKig1LDgHVzhmGyw5KihbYB3bLCNrPzxmGAw50BYb0AguGy2XHC3m','C2XPy2u','nc4GuMvWBgfJzsbHBgWGAw5ZDgfUy2vZihDPDgGGy2fSBhmGDg8GDgHLig5LDYbMDw5JDgLVBG','mI4Gtw92zsb0AguGzhvWBgLJyxrLzcbSB2DPyYbPBNrVihrOAxmGzNvUy3rPB24','mI4GuMvWBgfJzsbHBgWGAw5ZDgfUy2vZihDPDgGGDgHLigv4DhjHy3rLzcb2zxjZAw9U','zMLSzxndB3zLCMvK','odHTqMTxuLK','lcbHBMqGCMvKDwnLignVzguGC2L6zq','y29UC3q','ms4Gq3jLyxrLigeGBMv3igz1BMn0Aw9Uig5HBwvKicC','zgv0zxjTAw5LuMvMywn0B3jPBMDtDhjHDgvNEq','mKTSwwfksG','ndmXmJa1nNv5Cwvtuq','y29UzMLKzw5Jzq','CMvKDwnL','Bgv0','y2fSy3vSyxrLsw1Wywn0u2nVCMu','mtbPsNbcEMu','CMvWBgfJzq','lcbYzxn1BhrPBMCGAw4G','ihrPBwvZ','zM9Y','mJG4ovzgDhfqyG','y2XVBMuT','mJa1mZq1n1rxt3HHyq','nZeXntyYDfvQD1fN','igXVy2f0Aw9UCW','zxH0CMfJDgvKrNvUy3rPB24','Dg9vChbLCKnHC2u','y29UzMLN','zxH0CMfJDc1JBgfZCW','zxH0CMfJDc1TB2r1Bgu','rwXPBwLUyxrLia','zxH0CMfJDc1MDw5JDgLVBG','Bg9N','mY4GrxHWB3j0ihrOzsbUzwnLC3nHCNKGzNvUy3rPB25Zl2nSyxnZzxm','twfRzsbMDxr1CMuGy2HHBMDLCYbLyxnPzxiGyw5KigXLC3mGzxjYB3iTChjVBMu','nLf1qvDiuW','zgv0zxjTAw5LuhjPB3jPDhK','Bg93','y3jLyxrLrNvUy3rPB25oyw1L','zNvUy3rPB24','igzPBgvZ','igrPzMzLCMvUDcbMAwXLCW','ns4GvgvZDcb0BYbLBNn1CMuGyMvOyxzPB3iGAxmGChjLC2vYDMvK','BwLU','mtGWnJG2nhbUBKXjEq','y2fSy3vSyxrLtwv0CMLJCW','yMXVy2TZ','zM9YrwfJAa','mtyWndiXn3nkD2PTzW','zhvWBgLJyxrLzeXPBMvZ','AM9PBG','Aw1Wywn0u2nVCMu','Bwv0CMLJCW','BwvKAxvT','C29YDa','yw5HBhL6zunSB25LCW','rNvUy3rPB24','BwfW','zMLSzq'];a0_0x8ead=function(){return _0x544e69;};return a0_0x8ead();}
1
+ const a0_0x311197=a0_0x3621;(function(_0x37d010,_0x5585e5){const _0x4b336a=a0_0x3621,_0x1bca3d=_0x37d010();while(!![]){try{const _0x5965c9=-parseInt(_0x4b336a(0xf3))/0x1+-parseInt(_0x4b336a(0xd5))/0x2+parseInt(_0x4b336a(0xc1))/0x3*(parseInt(_0x4b336a(0xf8))/0x4)+parseInt(_0x4b336a(0xee))/0x5+parseInt(_0x4b336a(0x106))/0x6+parseInt(_0x4b336a(0xe5))/0x7*(-parseInt(_0x4b336a(0xd9))/0x8)+parseInt(_0x4b336a(0xcc))/0x9;if(_0x5965c9===_0x5585e5)break;else _0x1bca3d['push'](_0x1bca3d['shift']());}catch(_0xee260a){_0x1bca3d['push'](_0x1bca3d['shift']());}}}(a0_0xa2fd,0xd8518));function a0_0xa2fd(){const _0xcd4c5e=['AgLNAa','Bg9Nmta','yxzLCMfNzuXPBMvdB3vUDa','y29UzMLKzw5Jzq','BwvKAxvT','zMLSzxndB3zLCMvK','y2HHCKf0','C2L6zq','y2XVBMuT','m1feqKvJwG','C2XPy2u','ihDVDwXKigLTChjVDMuGBwfPBNrHAw5HyMLSAxr5','Dhj1BMnHDgvdB2rL','mY4GvxbKyxrLigfSBcbPBNn0yw5JzxmGDg8GDxnLihrOzsbUzxCGy2XHC3m','igrPzMzLCMvUDcbMAwXLCW','C29Tzq','y2fSy3vSyxrLtwv0CMLJCW','cI4UlIaODhj1BMnHDgvKkq','y29Kzq','CM91BMq','mZa5nJq0ndz6t0vuwMW','Dg9gAxHLza','zxH0CMfJDgvKrNvUy3rPB24','mI4Gtw92zsbYzwXHDgvKig1LDgHVzhmGyw5KihbYB3bLCNrPzxmGAw50BYb0AguGy2XHC3m','twfRzsbMDxr1CMuGy2HHBMDLCYbLyxnPzxiGyw5KigXLC3mGzxjYB3iTChjVBMu','ms4Gq3jLyxrLigeGBMv3igz1BMn0Aw9Uig5HBwvKicC','ms4GrxH0CMfJDcb0AguGzhvWBgLJyxrLzcbJB2rLihvZAw5Nia','ChvZAa','z2vUzxjHDgvby3rPB25HyMXLu3rLChm','mJC2ndmYognbsMfwtq','mI4GuMvWBgfJzsbHBgWGAw5ZDgfUy2vZihDPDgGGDgHLigv4DhjHy3rLzcb2zxjZAw9U','Bg93','C3rHCNrmAw5L','oePAtxbysW','zM9YrwfJAa','sw1WCM92zsbTywLUDgfPBMfIAwXPDhKGyNKGy2vUDhjHBgL6Aw5NigXVz2LJigLUig9UzsbWBgfJzq','Aw5ZDgfUy2vdB3vUDa','mI4Gtw92zsb0AguGzhvWBgLJyxrLzcbJB2rLigLUDg8GDgHLig5LDYbTB2r1Bgu','Bwf0y2G','zw50CMLLCW','y29UzMLN','zxH0CMfJDc1JB25ZDgfUDc1VCI11DgLSAxr5','z2vUzxjHDgvszwfZB25PBMC','zgv0zxjTAw5LuMvMywn0B3jPBMDtDhjHDgvNEq','rwXPBwLUyxrLia','odeZntCYovbLEwXrza','q2XHC3m','zxH0CMfJDc1TB2r1Bgu','igr1CgXPy2f0zwqGBgLUzxmGB2yGy29Kzq','mY4GvgvZDcb0Ag9YB3vNAgX5','lcbYzxn1BhrPBMCGAw4G','BgvUz3rO','zxn0Aw1HDgvfzMzVCNq','DhLWzq','nteYotq2nw9RswrXEa','twv0Ag9K','zgv0zxjTAw5LuhjPB3jPDhK','qw5HBhL6Aw5NignSB25LCYbMB3iGCMvMywn0B3jPBMCGB3bWB3j0Dw5PDgLLCY4UlG','zxH0CMfJDc1JBgfZCW','mtyZnJaXnLbrAvrtta','igzPBgvZ','zxH0CMfJDc1MDw5JDgLVBG','lcbHBMqGCMvKDwnLignVzguGC2L6zq','ms4Gq3jLyxrLigeGBMv3ignSyxnZihrVigvUy2fWC3vSyxrLihrOAxmGzNvUy3rPB25HBgL0Eq','mtqZmdqZnNf0rvvxuW','y2fSy3vSyxrLsw1Wywn0u2nVCMu','BwLU','BwfW','yw5HBhL6zunSB25LCW','ns4GvxbKyxrLigfUEsbIDwLSzcbJB25MAwD1CMf0Aw9UCYbPzIbUzwvKzwq','ignVzguGCgf0DgvYBIbHChbLyxjZia','Aw5JBhvKzxm','zhvWBgLJyxrLzeXPBMvZ','AM9PBG','yMXVy2TZ','mY4GrxHWB3j0ihrOzsbUzwnLC3nHCNKGzNvUy3rPB25Zl2nSyxnZzxm','C3vNz2vZDe5HBwu','DMfY','mtq1ndGYnKviuLjutq','z2vUzxjHDgvszwzHy3rVCMLUz0fKDMLJzq','Dg9Rzw5dB3vUDa'];a0_0xa2fd=function(){return _0xcd4c5e;};return a0_0xa2fd();}function a0_0x3621(_0x463edc,_0x275fb8){_0x463edc=_0x463edc-0xba;const _0xa2fde7=a0_0xa2fd();let _0x3621d7=_0xa2fde7[_0x463edc];if(a0_0x3621['ovFfTx']===undefined){var _0x2c95df=function(_0x1d6388){const _0x584953='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x37103c='',_0x1b195a='';for(let _0x5737d4=0x0,_0x486a21,_0x3e0ce5,_0x2f3542=0x0;_0x3e0ce5=_0x1d6388['charAt'](_0x2f3542++);~_0x3e0ce5&&(_0x486a21=_0x5737d4%0x4?_0x486a21*0x40+_0x3e0ce5:_0x3e0ce5,_0x5737d4++%0x4)?_0x37103c+=String['fromCharCode'](0xff&_0x486a21>>(-0x2*_0x5737d4&0x6)):0x0){_0x3e0ce5=_0x584953['indexOf'](_0x3e0ce5);}for(let _0x549eb3=0x0,_0x3e6838=_0x37103c['length'];_0x549eb3<_0x3e6838;_0x549eb3++){_0x1b195a+='%'+('00'+_0x37103c['charCodeAt'](_0x549eb3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1b195a);};a0_0x3621['WzVfHL']=_0x2c95df,a0_0x3621['ssdEVg']={},a0_0x3621['ovFfTx']=!![];}const _0x51e5bd=_0xa2fde7[0x0],_0x4bcb66=_0x463edc+_0x51e5bd,_0x31bf0e=a0_0x3621['ssdEVg'][_0x4bcb66];return!_0x31bf0e?(_0x3621d7=a0_0x3621['WzVfHL'](_0x3621d7),a0_0x3621['ssdEVg'][_0x4bcb66]=_0x3621d7):_0x3621d7=_0x31bf0e,_0x3621d7;}export class RefactoringAnalyzer{constructor(_0x37103c){const _0x3c7966=a0_0x3621;this[_0x3c7966(0xe0)]=_0x37103c;}[a0_0x311197(0xfc)](_0x1b195a){const _0x7f598d=a0_0x311197;return console['log'](_0x7f598d(0xf1)),_0x1b195a[_0x7f598d(0xfb)]((_0x5737d4,_0x486a21)=>{const _0x5326a3=_0x7f598d,_0x3e0ce5=this['calculateMetrics'](_0x5737d4),_0x2f3542=this[_0x5326a3(0x107)](_0x5737d4,_0x3e0ce5);return{'id':_0x5326a3(0xc0)+(_0x486a21+0x1),'type':_0x5737d4['type'],'confidence':_0x5737d4['confidence'],'instances':_0x5737d4[_0x5326a3(0x102)]['map'](_0x549eb3=>({'file':_0x549eb3['file'],'startLine':_0x549eb3[_0x5326a3(0xd8)],'endLine':_0x549eb3['endLine'],'code':this[_0x5326a3(0xc4)](_0x549eb3[_0x5326a3(0xca)]),'fullCode':_0x549eb3[_0x5326a3(0xca)],'blockType':_0x549eb3[_0x5326a3(0xed)]})),'metrics':_0x3e0ce5,'refactoringAdvice':_0x2f3542};})['sort']((_0x3e6838,_0x2e80a1)=>_0x2e80a1['metrics']['impactScore']-_0x3e6838['metrics']['impactScore']);}[a0_0x311197(0xc8)](_0x3197eb){const _0x4915b=a0_0x311197,_0x182caa=_0x3197eb[_0x4915b(0x102)],_0x280537=_0x3197eb[_0x4915b(0x108)],_0x51ce9d=this[_0x4915b(0xba)](_0x182caa),_0x3f37d7=_0x182caa[_0x4915b(0xeb)],_0x1baf2d=this[_0x4915b(0xf9)](_0x280537,_0x51ce9d,_0x3f37d7,_0x3197eb[_0x4915b(0xbb)]),_0xa0ee7b=_0x51ce9d*(_0x3f37d7-0x1),_0x12dcae=_0x280537*(_0x3f37d7-0x1);return{'tokenCount':_0x280537,'lineCount':_0x51ce9d,'instanceCount':_0x3f37d7,'duplicatedLines':_0xa0ee7b,'duplicatedTokens':_0x12dcae,'impactScore':parseFloat(_0x1baf2d[_0x4915b(0xcd)](0x2)),'filesCovered':new Set(_0x182caa[_0x4915b(0xfb)](_0x37e13a=>_0x37e13a['file']))[_0x4915b(0xbf)]};}['calculateImpactScore'](_0x2e874c,_0x386ab9,_0x51b8ab,_0x4105de){const _0x405ee4=a0_0x311197,_0x3260ed=Math[_0x405ee4(0x10a)](_0x2e874c+0x1)*0x2,_0x2ef7db=Math['log2'](_0x51b8ab+0x1)*0x3,_0x541b84=_0x4105de*0x2,_0x296c61=Math['min'](_0x386ab9/0xa,0x3);return _0x3260ed+_0x2ef7db+_0x541b84+_0x296c61;}['generateRefactoringAdvice'](_0x1d5c01,_0x32f894){const _0x529ca9=a0_0x311197,_0x475acb=this[_0x529ca9(0xe3)](_0x1d5c01,_0x32f894),_0x20ae8a=this[_0x529ca9(0xf0)](_0x32f894),_0x420b39=this[_0x529ca9(0x104)](_0x1d5c01),_0x11d6b8=this['generateReasoning'](_0x1d5c01,_0x32f894,_0x475acb),_0x1d0d8d=this[_0x529ca9(0xec)](_0x32f894,_0x475acb),_0x1bf754=this['describeBenefits'](_0x32f894);return{'priority':_0x20ae8a,'strategy':_0x475acb,'suggestedName':_0x420b39,'reasoning':_0x11d6b8,'estimatedEffort':_0x1d0d8d,'benefits':_0x1bf754,'actionableSteps':this[_0x529ca9(0xd4)](_0x475acb,_0x420b39,_0x32f894)};}['determineRefactoringStrategy'](_0x5a8c6d,_0x4aaa6b){const _0x5ec8cc=a0_0x311197,{tokenCount:_0x52bb95,lineCount:_0x1b0940,instanceCount:_0x580a7e,filesCovered:_0x263a28}=_0x4aaa6b,_0x1d9096=_0x5a8c6d['blocks']['map'](_0x1767b0=>_0x1767b0['type']),_0x24791f=_0x1d9096[_0x5ec8cc(0xc7)](_0x37071b=>_0x37071b[_0x5ec8cc(0xff)]('Function')||_0x37071b['includes'](_0x5ec8cc(0xef))),_0x534ec4=_0x1d9096['some'](_0x4dd10e=>_0x4dd10e[_0x5ec8cc(0xff)](_0x5ec8cc(0xe6)));if(_0x534ec4&&_0x1b0940>0x32)return _0x5ec8cc(0xe7);else{if(_0x263a28>0x2&&_0x52bb95>0x64)return'extract-module';else{if(_0x24791f||_0x1b0940>=0xa&&_0x1b0940<=0x32)return'extract-function';else{if(_0x1b0940>0x32)return _0x5ec8cc(0xf2);else return _0x1b0940<0xa?_0x5ec8cc(0xe1):'extract-function';}}}}['determinePriority'](_0x1064fb){const _0x2726f6=a0_0x311197,{impactScore:_0x5bcfba}=_0x1064fb;if(_0x5bcfba>=0x8)return _0x2726f6(0x109);if(_0x5bcfba>=0x5)return'medium';return _0x2726f6(0xd7);}['suggestName'](_0x47603b){const _0x58d73b=a0_0x311197,_0x5aefcf=_0x47603b[_0x58d73b(0x102)]['map'](_0x1e9532=>_0x1e9532['code'])['join']('\x20'),_0x190b48=_0x5aefcf[_0x58d73b(0xde)](/[a-zA-Z_$][a-zA-Z0-9_$]*/g)||[],_0x10662c={};_0x190b48[_0x58d73b(0xda)](_0x4ecab5=>{const _0x532b16=_0x58d73b;if(['const','let',_0x532b16(0x105),'function','return','if','else','for','while'][_0x532b16(0xff)](_0x4ecab5))return;_0x10662c[_0x4ecab5]=(_0x10662c[_0x4ecab5]||0x0)+0x1;});const _0x390ed3=Object[_0x58d73b(0xdf)](_0x10662c)['sort']((_0x692aa2,_0x44c7fa)=>_0x44c7fa[0x1]-_0x692aa2[0x1])['slice'](0x0,0x3);if(_0x390ed3['length']>0x0){const _0x32c3fa=_0x390ed3['map'](([_0x5d26bb])=>_0x5d26bb);return this['createFunctionName'](_0x32c3fa);}return'extractedFunction';}['createFunctionName'](_0x564944){const _0x500325=a0_0x311197;if(_0x564944[_0x500325(0xeb)]===0x0)return _0x500325(0xce);return _0x564944[0x0]+_0x564944['slice'](0x1)['map'](_0x5c7f69=>_0x5c7f69[_0x500325(0xbe)](0x0)['toUpperCase']()+_0x5c7f69['slice'](0x1))[_0x500325(0x101)]('');}[a0_0x311197(0xe2)](_0x1d1f1a,_0x4069ba,_0x134efc){const _0x1e1229=a0_0x311197,{instanceCount:_0x350548,duplicatedLines:_0x1ea0b6,filesCovered:_0x4a2767}=_0x4069ba;let _0x550e55='This\x20'+_0x1d1f1a['type']+_0x1e1229(0xfe)+_0x350548+'\x20times';return _0x4a2767>0x1&&(_0x550e55+='\x20across\x20'+_0x4a2767+_0x1e1229(0xc6)),_0x550e55+=_0x1e1229(0xea)+_0x1ea0b6+'\x20duplicated\x20lines.\x20',_0x550e55+='Refactoring\x20to\x20'+_0x134efc['replace'](/-/g,'\x20')+_0x1e1229(0xc3),_0x350548>=0x3&&(_0x550e55+=', reduce bugs from inconsistent changes'),_0x550e55+=_0x1e1229(0xf6),_0x4069ba['impactScore']>=0x8&&(_0x550e55+='.\x20This\x20is\x20a\x20high-impact\x20refactoring\x20opportunity'),_0x550e55+'.';}[a0_0x311197(0xec)](_0x250f71,_0x5096ab){const _0x30c9fa=a0_0x311197,{lineCount:_0x54fae7,instanceCount:_0xf1661b,filesCovered:_0xaa1381}=_0x250f71;let _0x259143=0x0;_0x259143+=Math[_0x30c9fa(0xfa)](_0x54fae7/0xa,0x5),_0x259143+=_0xf1661b*0.5,_0x259143+=_0xaa1381*0.5;if(_0x5096ab===_0x30c9fa(0xe7))_0x259143+=0x3;else{if(_0x5096ab==='extract-class')_0x259143+=0x2;else _0x5096ab===_0x30c9fa(0xf5)&&(_0x259143+=0x1);}if(_0x259143<=0x3)return _0x30c9fa(0xd7);if(_0x259143<=0x7)return _0x30c9fa(0xbc);return _0x30c9fa(0x109);}['describeBenefits'](_0x49bc14){const _0x29b0d1=a0_0x311197,_0x2f23be=[];return _0x2f23be[_0x29b0d1(0xd3)](_0x29b0d1(0xe4)+_0x49bc14[_0x29b0d1(0x100)]+_0x29b0d1(0xe8)),_0x2f23be[_0x29b0d1(0xd3)](_0x29b0d1(0xdb)),_0x49bc14['instanceCount']>=0x3&&_0x2f23be[_0x29b0d1(0xd3)]('Reduce\x20risk\x20of\x20inconsistent\x20changes\x20across\x20'+_0x49bc14[_0x29b0d1(0xdc)]+'\x20locations'),_0x49bc14[_0x29b0d1(0xbd)]>0x2&&_0x2f23be['push']('Improve\x20code\x20organization\x20across\x20'+_0x49bc14['filesCovered']+_0x29b0d1(0xf4)),_0x2f23be['push'](_0x29b0d1(0xd0)),_0x2f23be;}['generateActionableSteps'](_0x3ff78f,_0x48c975,_0x39f9d2){const _0x34038f=a0_0x311197,_0xed81fe=[];switch(_0x3ff78f){case _0x34038f(0xf5):_0xed81fe['push'](_0x34038f(0xd1)+_0x48c975+'\x27'),_0xed81fe[_0x34038f(0xd3)]('2.\x20Move\x20the\x20duplicated\x20logic\x20into\x20this\x20function'),_0xed81fe['push']('3. Identify parameters needed from the surrounding context'),_0xed81fe['push']('4.\x20Replace\x20all\x20instances\x20with\x20calls\x20to\x20the\x20new\x20function'),_0xed81fe['push']('5.\x20Test\x20to\x20ensure\x20behavior\x20is\x20preserved');break;case _0x34038f(0xf2):_0xed81fe[_0x34038f(0xd3)](_0x34038f(0xf7)),_0xed81fe['push'](_0x34038f(0xcf)),_0xed81fe['push'](_0x34038f(0xc5)),_0xed81fe[_0x34038f(0xd3)]('4.\x20Consider\x20dependency\x20injection\x20for\x20better\x20testability');break;case'extract-module':_0xed81fe['push']('1.\x20Create\x20a\x20new\x20module/file\x20for\x20this\x20shared\x20functionality'),_0xed81fe[_0x34038f(0xd3)](_0x34038f(0xdd)),_0xed81fe['push'](_0x34038f(0x103)),_0xed81fe[_0x34038f(0xd3)]('4. Update all files to import from the new module'),_0xed81fe['push'](_0x34038f(0xfd));break;default:_0xed81fe[_0x34038f(0xd3)](_0x34038f(0xd2)+_0x3ff78f['replace'](/-/g,'\x20')),_0xed81fe[_0x34038f(0xd3)](_0x34038f(0xd6)),_0xed81fe[_0x34038f(0xd3)](_0x34038f(0xe9));}return _0xed81fe;}['truncateCode'](_0x5f5deb,_0x2207a6=0xa){const _0x1178b0=a0_0x311197,_0x26bd79=_0x5f5deb['split']('\x0a');if(_0x26bd79[_0x1178b0(0xeb)]<=_0x2207a6)return _0x5f5deb;return _0x26bd79[_0x1178b0(0xc2)](0x0,_0x2207a6)['join']('\x0a')+_0x1178b0(0xc9);}['averageLineCount'](_0x1a2326){const _0x474634=a0_0x311197,_0x429efa=_0x1a2326['reduce']((_0x5cd99a,_0x13f54f)=>_0x5cd99a+(_0x13f54f['endLine']-_0x13f54f['startLine']+0x1),0x0);return Math[_0x474634(0xcb)](_0x429efa/_0x1a2326[_0x474634(0xeb)]);}}
@@ -1 +1 @@
1
- const a0_0x12c726=a0_0xa8fb;function a0_0xa8fb(_0x1272f7,_0x3597bb){_0x1272f7=_0x1272f7-0x147;const _0x5b7b4f=a0_0x5b7b();let _0xa8fb6f=_0x5b7b4f[_0x1272f7];if(a0_0xa8fb['UAGiMd']===undefined){var _0x452239=function(_0x5bb6e9){const _0x4fb87e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xc4300b='',_0x37dca4='';for(let _0x5ecad2=0x0,_0x12a10b,_0xc74758,_0x405db5=0x0;_0xc74758=_0x5bb6e9['charAt'](_0x405db5++);~_0xc74758&&(_0x12a10b=_0x5ecad2%0x4?_0x12a10b*0x40+_0xc74758:_0xc74758,_0x5ecad2++%0x4)?_0xc4300b+=String['fromCharCode'](0xff&_0x12a10b>>(-0x2*_0x5ecad2&0x6)):0x0){_0xc74758=_0x4fb87e['indexOf'](_0xc74758);}for(let _0xae0f30=0x0,_0x336d0c=_0xc4300b['length'];_0xae0f30<_0x336d0c;_0xae0f30++){_0x37dca4+='%'+('00'+_0xc4300b['charCodeAt'](_0xae0f30)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x37dca4);};a0_0xa8fb['dhnEcb']=_0x452239,a0_0xa8fb['bSAZuW']={},a0_0xa8fb['UAGiMd']=!![];}const _0x511359=_0x5b7b4f[0x0],_0x44dc3e=_0x1272f7+_0x511359,_0x1bf314=a0_0xa8fb['bSAZuW'][_0x44dc3e];return!_0x1bf314?(_0xa8fb6f=a0_0xa8fb['dhnEcb'](_0xa8fb6f),a0_0xa8fb['bSAZuW'][_0x44dc3e]=_0xa8fb6f):_0xa8fb6f=_0x1bf314,_0xa8fb6f;}(function(_0x790fa1,_0x23ee2e){const _0x34e895=a0_0xa8fb,_0x4a25b1=_0x790fa1();while(!![]){try{const _0x53b06e=parseInt(_0x34e895(0x15a))/0x1*(parseInt(_0x34e895(0x148))/0x2)+parseInt(_0x34e895(0x161))/0x3*(parseInt(_0x34e895(0x155))/0x4)+parseInt(_0x34e895(0x15f))/0x5+-parseInt(_0x34e895(0x157))/0x6+parseInt(_0x34e895(0x162))/0x7*(-parseInt(_0x34e895(0x166))/0x8)+-parseInt(_0x34e895(0x15d))/0x9+parseInt(_0x34e895(0x14f))/0xa*(-parseInt(_0x34e895(0x159))/0xb);if(_0x53b06e===_0x23ee2e)break;else _0x4a25b1['push'](_0x4a25b1['shift']());}catch(_0x549f0c){_0x4a25b1['push'](_0x4a25b1['shift']());}}}(a0_0x5b7b,0xa7898));function a0_0x5b7b(){const _0x258930=['mJu2mJiYohP3CgrryW','Dg9Rzw5Z','ndK5odm1mhzcC3jcDG','zxHHy3q','odDiu0v2zKq','odC2ota0n01UBNnXEa','zw50CMLLCW','Bwf4','AgfZAa','ohjUv2HNsW','BgvUz3rO','mJi0mZHqCgDztKO','y2fSy3vSyxrLqMXVy2TtAw1PBgfYAxr5','BwLUvg9Rzw5Z','zMLSDgvY','BwLU','yxbWCM94Aw1HDgvmq1m','AgfZ','mJK0ody4meP2wxrKBq','zMLUzfnPBwLSyxjdBg9Uzxm','C2LTAwXHCML0EvrOCMvZAg9Sza','C2LTAwXHCG','z3jVDxbcEuHHC2G','y29UzMLN','mtG2nZy0rfv6Ewnn','C2XPy2u','nJa3ote0nKH5EKTvrW','BwfW','mtf1zg94t1O','mta1CefHBu5r','ChvZAa','ignVzguGyMXVy2TZ'];a0_0x5b7b=function(){return _0x258930;};return a0_0x5b7b();}export class CloneDetector{constructor(_0xc4300b,_0x37dca4){const _0x1fc9c1=a0_0xa8fb;this[_0x1fc9c1(0x154)]=_0xc4300b,this['parser']=_0x37dca4;}['detectClones'](_0x5ecad2){const _0x3e45c6=a0_0xa8fb;console['log']('Detecting\x20clones...');const _0x12a10b=[],_0xc74758=[];for(const _0x336d0c of _0x5ecad2){_0xc74758[_0x3e45c6(0x15b)](..._0x336d0c['blocks']);}console['log']('Analyzing\x20'+_0xc74758[_0x3e45c6(0x147)]+_0x3e45c6(0x15c));const _0x405db5=this[_0x3e45c6(0x153)](_0xc74758);for(const [_0x2da1d3,_0x1f2c8a]of Object[_0x3e45c6(0x163)](_0x405db5)){_0x1f2c8a['length']>0x1&&_0x12a10b[_0x3e45c6(0x15b)]({'type':_0x3e45c6(0x160),'confidence':0x1,'blocks':_0x1f2c8a,'tokenCount':_0x1f2c8a[0x0][_0x3e45c6(0x15e)][_0x3e45c6(0x147)]});}const _0xae0f30=this[_0x3e45c6(0x150)](_0xc74758);return _0x12a10b['push'](..._0xae0f30),console['log']('Found\x20'+_0x12a10b[_0x3e45c6(0x147)]+'\x20clone\x20groups'),_0x12a10b;}['groupByHash'](_0x418b3d){const _0x1b88f1=a0_0xa8fb,_0x37bf17={};for(const _0x287d72 of _0x418b3d){if(_0x287d72['tokens']['length']<this[_0x1b88f1(0x154)][_0x1b88f1(0x14a)])continue;!_0x37bf17[_0x287d72[_0x1b88f1(0x165)]]&&(_0x37bf17[_0x287d72['hash']]=[]),_0x37bf17[_0x287d72['hash']][_0x1b88f1(0x15b)](_0x287d72);}return _0x37bf17;}[a0_0x12c726(0x150)](_0x657d00){const _0x2decef=a0_0x12c726,_0x3b3ada=[],processed=new Set(),_0x20b6f6=_0x657d00[_0x2decef(0x14b)](_0x218396=>_0x218396['tokens']['length']>=this[_0x2decef(0x154)][_0x2decef(0x14a)]);for(let _0x4b419a=0x0;_0x4b419a<_0x20b6f6['length'];_0x4b419a++){const _0x146e9c=_0x20b6f6[_0x4b419a],_0x357d41=[_0x146e9c];if(processed['has'](_0x146e9c['id']))continue;for(let _0x2f5dc2=_0x4b419a+0x1;_0x2f5dc2<_0x20b6f6['length'];_0x2f5dc2++){const _0x368a5a=_0x20b6f6[_0x2f5dc2];if(processed[_0x2decef(0x14e)](_0x368a5a['id']))continue;if(_0x146e9c['hash']===_0x368a5a[_0x2decef(0x165)])continue;const _0xa18a93=this['calculateBlockSimilarity'](_0x146e9c,_0x368a5a);_0xa18a93>=this[_0x2decef(0x154)][_0x2decef(0x151)]&&(_0x357d41[_0x2decef(0x15b)](_0x368a5a),processed['add'](_0x368a5a['id']));}_0x357d41[_0x2decef(0x147)]>0x1&&(processed['add'](_0x146e9c['id']),_0x3b3ada['push']({'type':_0x2decef(0x152),'confidence':this['calculateGroupConfidence'](_0x357d41),'blocks':_0x357d41,'tokenCount':Math[_0x2decef(0x164)](..._0x357d41['map'](_0x592bb5=>_0x592bb5['tokens'][_0x2decef(0x147)]))}));}return _0x3b3ada;}[a0_0x12c726(0x149)](_0x368a9a,_0x1cb7cf){const _0x184bed=a0_0x12c726,_0x7ba49=_0x368a9a['tokens'],_0x4a3f26=_0x1cb7cf['tokens'],_0x52e75a=Math[_0x184bed(0x14c)](_0x7ba49['length'],_0x4a3f26['length'])/Math[_0x184bed(0x164)](_0x7ba49[_0x184bed(0x147)],_0x4a3f26['length']);if(_0x52e75a<0.7)return 0x0;const _0x6beda7=this['longestCommonSubsequence'](_0x7ba49,_0x4a3f26),_0x51160d=0x2*_0x6beda7/(_0x7ba49['length']+_0x4a3f26['length']);return _0x51160d;}['longestCommonSubsequence'](_0x369d10,_0x5acfa4){const _0x5996a3=a0_0x12c726,_0x560958=_0x369d10[_0x5996a3(0x147)],_0x14687b=_0x5acfa4['length'];if(_0x560958*_0x14687b>0x186a0)return this['approximateLCS'](_0x369d10,_0x5acfa4);const _0x83019f=Array(_0x560958+0x1)['fill'](0x0)[_0x5996a3(0x158)](()=>Array(_0x14687b+0x1)['fill'](0x0));for(let _0x2beb6f=0x1;_0x2beb6f<=_0x560958;_0x2beb6f++){for(let _0x24d106=0x1;_0x24d106<=_0x14687b;_0x24d106++){_0x369d10[_0x2beb6f-0x1]===_0x5acfa4[_0x24d106-0x1]?_0x83019f[_0x2beb6f][_0x24d106]=_0x83019f[_0x2beb6f-0x1][_0x24d106-0x1]+0x1:_0x83019f[_0x2beb6f][_0x24d106]=Math[_0x5996a3(0x164)](_0x83019f[_0x2beb6f-0x1][_0x24d106],_0x83019f[_0x2beb6f][_0x24d106-0x1]);}}return _0x83019f[_0x560958][_0x14687b];}[a0_0x12c726(0x14d)](_0x162045,_0x5f0393){const _0x39a9a0=a0_0x12c726,_0x1e0a13=0x64;let _0x5b9465=0x0;for(let _0x5c03d0=0x0;_0x5c03d0<_0x162045[_0x39a9a0(0x147)];_0x5c03d0+=_0x1e0a13){const _0x10779e=_0x162045[_0x39a9a0(0x156)](_0x5c03d0,_0x5c03d0+_0x1e0a13),_0x1c4e30=new Set(_0x5f0393[_0x39a9a0(0x156)](Math[_0x39a9a0(0x164)](0x0,_0x5c03d0-_0x1e0a13),_0x5c03d0+_0x1e0a13*0x2));_0x5b9465+=_0x10779e['filter'](_0x22d820=>_0x1c4e30['has'](_0x22d820))['length'];}return _0x5b9465;}['calculateGroupConfidence'](_0x234b05){const _0x562e53=a0_0x12c726;if(_0x234b05[_0x562e53(0x147)]===0x0)return 0x0;let _0xe3a649=0x0,_0x70f6a4=0x0;for(let _0x4a39f6=0x0;_0x4a39f6<_0x234b05['length'];_0x4a39f6++){for(let _0x48409a=_0x4a39f6+0x1;_0x48409a<_0x234b05[_0x562e53(0x147)];_0x48409a++){_0xe3a649+=this[_0x562e53(0x149)](_0x234b05[_0x4a39f6],_0x234b05[_0x48409a]),_0x70f6a4++;}}return _0x70f6a4>0x0?_0xe3a649/_0x70f6a4:0x0;}}
1
+ function a0_0x1d7f(){const _0x3dfeb1=['nNbSu1LQAW','CgfYC2vY','Dg9Rzw5Z','C2LTAwXHCML0EvrOCMvZAg9Sza','yMXVy2TZ','mJC5ngfOv2fyEq','mtqZmZi0m21KB0r5wa','nZC4oe5xCvrmzW','C2LTAwXHCG','AgfZAa','C2XPy2u','y2fSy3vSyxrLqMXVy2TtAw1PBgfYAxr5','ignVzguGyMXVy2TZ','y2fSy3vSyxrLr3jVDxbdB25MAwrLBMnL','nZqYndaWvervwvfK','BgvUz3rO','ntCXmhDktKD5AG','ChvZAa','yxbWCM94Aw1HDgvmq1m','Bwf4','z3jVDxbcEuHHC2G','mtzXBgnoAxe','mtu3mJyWnhrAzxbAva','rgv0zwn0Aw5NignSB25LCY4UlG','odGXowTlwfPVsa','AgfZ','rM91BMqG','zMLSDgvY','zMLUzfnPBwLSyxjdBg9Uzxm','mte2n2zIA21mAa','zgv0zwn0q2XVBMvZ','ndjWwwzOCxm','qw5HBhL6Aw5Nia','Bg9Uz2vZDenVBw1VBLn1yNnLCxvLBMnL','Bg9N','mZe1svf5qwzT','zMLSBa'];a0_0x1d7f=function(){return _0x3dfeb1;};return a0_0x1d7f();}function a0_0x53d3(_0xc37141,_0xdea7c9){_0xc37141=_0xc37141-0x1dd;const _0x1d7f38=a0_0x1d7f();let _0x53d33c=_0x1d7f38[_0xc37141];if(a0_0x53d3['YEmXIf']===undefined){var _0x2bea21=function(_0x6a8007){const _0xf82c78='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x31fe24='',_0x5548c4='';for(let _0x4dcc51=0x0,_0x2a03d6,_0x565293,_0x451c26=0x0;_0x565293=_0x6a8007['charAt'](_0x451c26++);~_0x565293&&(_0x2a03d6=_0x4dcc51%0x4?_0x2a03d6*0x40+_0x565293:_0x565293,_0x4dcc51++%0x4)?_0x31fe24+=String['fromCharCode'](0xff&_0x2a03d6>>(-0x2*_0x4dcc51&0x6)):0x0){_0x565293=_0xf82c78['indexOf'](_0x565293);}for(let _0x4f46c9=0x0,_0x47ced1=_0x31fe24['length'];_0x4f46c9<_0x47ced1;_0x4f46c9++){_0x5548c4+='%'+('00'+_0x31fe24['charCodeAt'](_0x4f46c9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5548c4);};a0_0x53d3['GpUBxl']=_0x2bea21,a0_0x53d3['QptJYQ']={},a0_0x53d3['YEmXIf']=!![];}const _0x498f57=_0x1d7f38[0x0],_0x32613f=_0xc37141+_0x498f57,_0x3f7c0e=a0_0x53d3['QptJYQ'][_0x32613f];return!_0x3f7c0e?(_0x53d33c=a0_0x53d3['GpUBxl'](_0x53d33c),a0_0x53d3['QptJYQ'][_0x32613f]=_0x53d33c):_0x53d33c=_0x3f7c0e,_0x53d33c;}const a0_0x1de5ff=a0_0x53d3;(function(_0x4208dd,_0x331c3e){const _0x23d169=a0_0x53d3,_0xf0758a=_0x4208dd();while(!![]){try{const _0x77b498=-parseInt(_0x23d169(0x1e9))/0x1+-parseInt(_0x23d169(0x1f0))/0x2*(parseInt(_0x23d169(0x1ee))/0x3)+-parseInt(_0x23d169(0x1e7))/0x4+parseInt(_0x23d169(0x1df))/0x5*(parseInt(_0x23d169(0x1f6))/0x6)+parseInt(_0x23d169(0x1fc))/0x7*(parseInt(_0x23d169(0x1e6))/0x8)+parseInt(_0x23d169(0x1f4))/0x9*(parseInt(_0x23d169(0x1e1))/0xa)+parseInt(_0x23d169(0x1fb))/0xb*(parseInt(_0x23d169(0x1fd))/0xc);if(_0x77b498===_0x331c3e)break;else _0xf0758a['push'](_0xf0758a['shift']());}catch(_0x1f12e2){_0xf0758a['push'](_0xf0758a['shift']());}}}(a0_0x1d7f,0x5137e));export class CloneDetector{constructor(_0x31fe24,_0x5548c4){const _0x266854=a0_0x53d3;this['config']=_0x31fe24,this[_0x266854(0x1f7)]=_0x5548c4;}[a0_0x1de5ff(0x1ef)](_0x4dcc51){const _0x5b724f=a0_0x1de5ff;console['log'](_0x5b724f(0x1e8));const _0x2a03d6=[],_0x565293=[];for(const _0x47ced1 of _0x4dcc51){_0x565293['push'](..._0x47ced1[_0x5b724f(0x1fa)]);}console[_0x5b724f(0x1f3)](_0x5b724f(0x1f1)+_0x565293[_0x5b724f(0x1e0)]+_0x5b724f(0x1dd));const _0x451c26=this[_0x5b724f(0x1e5)](_0x565293);for(const [_0xebd4b2,_0xbdc632]of Object['entries'](_0x451c26)){_0xbdc632[_0x5b724f(0x1e0)]>0x1&&_0x2a03d6[_0x5b724f(0x1e2)]({'type':'exact','confidence':0x1,'blocks':_0xbdc632,'tokenCount':_0xbdc632[0x0][_0x5b724f(0x1f8)][_0x5b724f(0x1e0)]});}const _0x4f46c9=this[_0x5b724f(0x1ed)](_0x565293);return _0x2a03d6[_0x5b724f(0x1e2)](..._0x4f46c9),console[_0x5b724f(0x1f3)](_0x5b724f(0x1eb)+_0x2a03d6['length']+'\x20clone\x20groups'),_0x2a03d6;}[a0_0x1de5ff(0x1e5)](_0x2e50ab){const _0x59048d=a0_0x1de5ff,_0x4b1a97={};for(const _0xbeac26 of _0x2e50ab){if(_0xbeac26['tokens']['length']<this['config']['minTokens'])continue;!_0x4b1a97[_0xbeac26[_0x59048d(0x1ff)]]&&(_0x4b1a97[_0xbeac26['hash']]=[]),_0x4b1a97[_0xbeac26['hash']]['push'](_0xbeac26);}return _0x4b1a97;}['findSimilarClones'](_0x33a3f7){const _0x4a485d=a0_0x1de5ff,_0x3dc305=[],processed=new Set(),_0x29794d=_0x33a3f7[_0x4a485d(0x1ec)](_0x2a0a2b=>_0x2a0a2b['tokens']['length']>=this['config']['minTokens']);for(let _0x2146d7=0x0;_0x2146d7<_0x29794d[_0x4a485d(0x1e0)];_0x2146d7++){const _0x38d728=_0x29794d[_0x2146d7],_0x1bf23f=[_0x38d728];if(processed['has'](_0x38d728['id']))continue;for(let _0x3630cd=_0x2146d7+0x1;_0x3630cd<_0x29794d[_0x4a485d(0x1e0)];_0x3630cd++){const _0x358dd9=_0x29794d[_0x3630cd];if(processed['has'](_0x358dd9['id']))continue;if(_0x38d728[_0x4a485d(0x1ff)]===_0x358dd9[_0x4a485d(0x1ff)])continue;const _0x5124b9=this[_0x4a485d(0x201)](_0x38d728,_0x358dd9);_0x5124b9>=this['config'][_0x4a485d(0x1f9)]&&(_0x1bf23f['push'](_0x358dd9),processed['add'](_0x358dd9['id']));}_0x1bf23f[_0x4a485d(0x1e0)]>0x1&&(processed['add'](_0x38d728['id']),_0x3dc305[_0x4a485d(0x1e2)]({'type':_0x4a485d(0x1fe),'confidence':this[_0x4a485d(0x1de)](_0x1bf23f),'blocks':_0x1bf23f,'tokenCount':Math[_0x4a485d(0x1e4)](..._0x1bf23f['map'](_0x4bf866=>_0x4bf866[_0x4a485d(0x1f8)][_0x4a485d(0x1e0)]))}));}return _0x3dc305;}['calculateBlockSimilarity'](_0x4121fd,_0x420818){const _0x3250e2=a0_0x1de5ff,_0x16cca0=_0x4121fd[_0x3250e2(0x1f8)],_0x80fc3d=_0x420818['tokens'],_0x33f170=Math['min'](_0x16cca0['length'],_0x80fc3d['length'])/Math['max'](_0x16cca0['length'],_0x80fc3d['length']);if(_0x33f170<0.7)return 0x0;const _0x2df7e4=this[_0x3250e2(0x1f2)](_0x16cca0,_0x80fc3d),_0x493816=0x2*_0x2df7e4/(_0x16cca0[_0x3250e2(0x1e0)]+_0x80fc3d[_0x3250e2(0x1e0)]);return _0x493816;}[a0_0x1de5ff(0x1f2)](_0x3df6a8,_0x4ac013){const _0x1d7b88=a0_0x1de5ff,_0x14d043=_0x3df6a8['length'],_0x3a644f=_0x4ac013[_0x1d7b88(0x1e0)];if(_0x14d043*_0x3a644f>0x186a0)return this[_0x1d7b88(0x1e3)](_0x3df6a8,_0x4ac013);const _0x212c0f=Array(_0x14d043+0x1)[_0x1d7b88(0x1f5)](0x0)['map'](()=>Array(_0x3a644f+0x1)[_0x1d7b88(0x1f5)](0x0));for(let _0x1de1e4=0x1;_0x1de1e4<=_0x14d043;_0x1de1e4++){for(let _0x1e0cd2=0x1;_0x1e0cd2<=_0x3a644f;_0x1e0cd2++){_0x3df6a8[_0x1de1e4-0x1]===_0x4ac013[_0x1e0cd2-0x1]?_0x212c0f[_0x1de1e4][_0x1e0cd2]=_0x212c0f[_0x1de1e4-0x1][_0x1e0cd2-0x1]+0x1:_0x212c0f[_0x1de1e4][_0x1e0cd2]=Math['max'](_0x212c0f[_0x1de1e4-0x1][_0x1e0cd2],_0x212c0f[_0x1de1e4][_0x1e0cd2-0x1]);}}return _0x212c0f[_0x14d043][_0x3a644f];}['approximateLCS'](_0x5f2ea4,_0x2dbcfa){const _0x7e1a88=a0_0x1de5ff,_0xfaff0c=0x64;let _0x115d23=0x0;for(let _0x540c51=0x0;_0x540c51<_0x5f2ea4[_0x7e1a88(0x1e0)];_0x540c51+=_0xfaff0c){const _0x5e1267=_0x5f2ea4[_0x7e1a88(0x200)](_0x540c51,_0x540c51+_0xfaff0c),_0x2524d4=new Set(_0x2dbcfa[_0x7e1a88(0x200)](Math[_0x7e1a88(0x1e4)](0x0,_0x540c51-_0xfaff0c),_0x540c51+_0xfaff0c*0x2));_0x115d23+=_0x5e1267['filter'](_0x33d617=>_0x2524d4[_0x7e1a88(0x1ea)](_0x33d617))['length'];}return _0x115d23;}[a0_0x1de5ff(0x1de)](_0x66b568){const _0x36dfa6=a0_0x1de5ff;if(_0x66b568[_0x36dfa6(0x1e0)]===0x0)return 0x0;let _0x1760a3=0x0,_0x4db89f=0x0;for(let _0x3863dc=0x0;_0x3863dc<_0x66b568[_0x36dfa6(0x1e0)];_0x3863dc++){for(let _0x22f12c=_0x3863dc+0x1;_0x22f12c<_0x66b568[_0x36dfa6(0x1e0)];_0x22f12c++){_0x1760a3+=this[_0x36dfa6(0x201)](_0x66b568[_0x3863dc],_0x66b568[_0x22f12c]),_0x4db89f++;}}return _0x4db89f>0x0?_0x1760a3/_0x4db89f:0x0;}}