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

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/README.md +2 -2
  2. package/bin/cli.js +1 -1
  3. package/bin/loxia-terminal-v2.js +1 -1
  4. package/bin/loxia-terminal.js +1 -1
  5. package/bin/start-with-terminal.js +1 -1
  6. package/package.json +1 -1
  7. package/scripts/install-scanners.js +1 -1
  8. package/src/analyzers/CSSAnalyzer.js +1 -1
  9. package/src/analyzers/ConfigValidator.js +1 -1
  10. package/src/analyzers/ESLintAnalyzer.js +1 -1
  11. package/src/analyzers/JavaScriptAnalyzer.js +1 -1
  12. package/src/analyzers/PrettierFormatter.js +1 -1
  13. package/src/analyzers/PythonAnalyzer.js +1 -1
  14. package/src/analyzers/SecurityAnalyzer.js +1 -1
  15. package/src/analyzers/TypeScriptAnalyzer.js +1 -1
  16. package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
  17. package/src/analyzers/codeCloneDetector/detector.js +1 -1
  18. package/src/analyzers/codeCloneDetector/index.js +1 -1
  19. package/src/analyzers/codeCloneDetector/parser.js +1 -1
  20. package/src/analyzers/codeCloneDetector/reporter.js +1 -1
  21. package/src/analyzers/codeCloneDetector/scanner.js +1 -1
  22. package/src/core/agentPool.js +1 -1
  23. package/src/core/agentScheduler.js +1 -1
  24. package/src/core/contextManager.js +1 -1
  25. package/src/core/messageProcessor.js +1 -1
  26. package/src/core/orchestrator.js +1 -1
  27. package/src/core/stateManager.js +1 -1
  28. package/src/index.js +1 -1
  29. package/src/interfaces/cli.js +1 -1
  30. package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
  31. package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
  32. package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
  33. package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
  34. package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
  35. package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
  36. package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
  37. package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
  38. package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
  39. package/src/interfaces/terminal/api/apiClient.js +1 -1
  40. package/src/interfaces/terminal/api/messageRouter.js +1 -1
  41. package/src/interfaces/terminal/api/session.js +1 -1
  42. package/src/interfaces/terminal/api/websocket.js +1 -1
  43. package/src/interfaces/terminal/components/AgentCreator.js +1 -1
  44. package/src/interfaces/terminal/components/AgentEditor.js +1 -1
  45. package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
  46. package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
  47. package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
  48. package/src/interfaces/terminal/components/Header.js +1 -1
  49. package/src/interfaces/terminal/components/HelpPanel.js +1 -1
  50. package/src/interfaces/terminal/components/InputBox.js +1 -1
  51. package/src/interfaces/terminal/components/Layout.js +1 -1
  52. package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
  53. package/src/interfaces/terminal/components/MessageList.js +1 -1
  54. package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
  55. package/src/interfaces/terminal/components/SearchPanel.js +1 -1
  56. package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
  57. package/src/interfaces/terminal/components/StatusBar.js +1 -1
  58. package/src/interfaces/terminal/components/TextInput.js +1 -1
  59. package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
  60. package/src/interfaces/terminal/config/constants.js +1 -1
  61. package/src/interfaces/terminal/index.js +1 -1
  62. package/src/interfaces/terminal/state/useAgentControl.js +1 -1
  63. package/src/interfaces/terminal/state/useAgents.js +1 -1
  64. package/src/interfaces/terminal/state/useConnection.js +1 -1
  65. package/src/interfaces/terminal/state/useMessages.js +1 -1
  66. package/src/interfaces/terminal/state/useTools.js +1 -1
  67. package/src/interfaces/terminal/utils/debugLogger.js +1 -1
  68. package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
  69. package/src/interfaces/terminal/utils/theme.js +1 -1
  70. package/src/interfaces/webServer.js +1 -1
  71. package/src/modules/fileExplorer/controller.js +1 -1
  72. package/src/modules/fileExplorer/index.js +1 -1
  73. package/src/modules/fileExplorer/middleware.js +1 -1
  74. package/src/modules/fileExplorer/routes.js +1 -1
  75. package/src/services/agentActivityService.js +1 -1
  76. package/src/services/aiService.js +1 -1
  77. package/src/services/apiKeyManager.js +1 -1
  78. package/src/services/benchmarkService.js +1 -1
  79. package/src/services/budgetService.js +1 -1
  80. package/src/services/contextInjectionService.js +1 -1
  81. package/src/services/conversationCompactionService.js +1 -1
  82. package/src/services/errorHandler.js +1 -1
  83. package/src/services/fileAttachmentService.js +1 -1
  84. package/src/services/modelRouterService.js +1 -1
  85. package/src/services/modelsService.js +1 -1
  86. package/src/services/qualityInspector.js +1 -1
  87. package/src/services/tokenCountingService.js +1 -1
  88. package/src/tools/agentCommunicationTool.js +1 -1
  89. package/src/tools/agentDelayTool.js +1 -1
  90. package/src/tools/asyncToolManager.js +1 -1
  91. package/src/tools/baseTool.js +1 -1
  92. package/src/tools/browserTool.js +1 -1
  93. package/src/tools/cloneDetectionTool.js +1 -1
  94. package/src/tools/dependencyResolverTool.js +1 -1
  95. package/src/tools/fileContentReplaceTool.js +1 -1
  96. package/src/tools/fileSystemTool.js +1 -1
  97. package/src/tools/fileTreeTool.js +1 -1
  98. package/src/tools/imageTool.js +1 -1
  99. package/src/tools/importAnalyzerTool.js +1 -1
  100. package/src/tools/jobDoneTool.js +1 -1
  101. package/src/tools/seekTool.js +1 -1
  102. package/src/tools/staticAnalysisTool.js +1 -1
  103. package/src/tools/taskManagerTool.js +1 -1
  104. package/src/tools/terminalTool.js +1 -1
  105. package/src/tools/webTool.js +1 -1
  106. package/src/types/agent.js +1 -1
  107. package/src/types/contextReference.js +1 -1
  108. package/src/types/conversation.js +1 -1
  109. package/src/types/toolCommand.js +1 -1
  110. package/src/utilities/attachmentValidator.js +1 -1
  111. package/src/utilities/configManager.js +1 -1
  112. package/src/utilities/constants.js +1 -1
  113. package/src/utilities/directoryAccessManager.js +1 -1
  114. package/src/utilities/fileProcessor.js +1 -1
  115. package/src/utilities/logger.js +1 -1
  116. package/src/utilities/tagParser.js +1 -1
  117. package/src/utilities/toolConstants.js +1 -1
  118. package/src/utilities/userDataDir.js +1 -1
  119. package/web-ui/build/index.html +2 -2
  120. package/web-ui/build/static/index-DFmFvOoy.css +1 -0
  121. package/web-ui/build/static/{index-CR8edPA3.js → index-DOk0l6Kf.js} +73 -73
  122. package/web-ui/build/static/index-uN7nOVvZ.css +0 -1
@@ -1 +1 @@
1
- const a0_0x186a40=a0_0x44cf;(function(_0x1406e7,_0x29056b){const _0x4bd7c8=a0_0x44cf,_0x248d26=_0x1406e7();while(!![]){try{const _0x2fc86e=-parseInt(_0x4bd7c8(0x1bb))/0x1*(-parseInt(_0x4bd7c8(0x1c3))/0x2)+-parseInt(_0x4bd7c8(0x1cf))/0x3+parseInt(_0x4bd7c8(0x1de))/0x4*(parseInt(_0x4bd7c8(0x1ed))/0x5)+-parseInt(_0x4bd7c8(0x1c9))/0x6*(parseInt(_0x4bd7c8(0x1bd))/0x7)+parseInt(_0x4bd7c8(0x1ea))/0x8+-parseInt(_0x4bd7c8(0x1e1))/0x9*(-parseInt(_0x4bd7c8(0x1d5))/0xa)+-parseInt(_0x4bd7c8(0x1dd))/0xb;if(_0x2fc86e===_0x29056b)break;else _0x248d26['push'](_0x248d26['shift']());}catch(_0x2dc091){_0x248d26['push'](_0x248d26['shift']());}}}(a0_0x13d7,0xed47d));function a0_0x13d7(){const _0x5db75e=['tw9KDwXLuMvZB2X1DgLVBKTPBMq','u1Lovefy','mJe0mduWtwvXAhvj','z2v0u3LUDgfJDgLJrgLHz25VC3rPy3m','rgLHz25VC3rPy0nHDgvNB3j5','BgvUz3rO','CgfYC2veAwfNBM9ZDgLJCW','tgf0zxn0','mJuZmde5nfz3r1L5wq','u3vNz2vZDgLVBG','su1qt1ju','rvjst1i','v0fstKLorW','qw5HBhLZAxmGzMfPBgvKoIa','nZuWwhDutLD6','y29TCgLSzxjpChrPB25Z','y3jLyxrLuhjVz3jHBq','z2v0u3rHCNq','BgLUzq','A2LUza','z2v0u2vTyw50AwneAwfNBM9ZDgLJCW','z2v0tgLUzufUzenOyxjHy3rLCK9Mug9ZAxrPB24','mti2nZGYn2fzsurbBG','mtm3mKz1r3bZDG','y2f0zwDVCNK','Dw5RBM93BG','mta5mdm1uwHvq0nZ','yw5HBhL6zq','u2vTyw50AwmGyw5HBhLZAxmGC2TPChbLza','C3rHCNq','zMLSDgvY','uMvHy3q','vfLqrq','C3LUDgf4lwvYCM9Y','u3LUDgf4igvYCM9Y','ntu1otC2uxzkvLf0','q0furuDpuLK','v2fYBMLUzW','mtq4nJbHvwTRv1u','Bg9Nz2vY','u2nYAxb0vgfYz2v0','zM9YrwfJAenOAwXK','muzQr0DJBG','u0vwrvjjvfK','mJe3BurwveDL','sNn4rw1PDa','zM9YBwf0rgLHz25VC3rPyW','BwvZC2fNzvrLEhq','ChvZAa','u3LUDgf4s2LUza','mJa3nZKYnM1itfvxCW','rvnozxH0','C2v2zxjPDhK','zMXHDhrLBKrPywDUB3n0AwnnzxnZywDLvgv4Da'];a0_0x13d7=function(){return _0x5db75e;};return a0_0x13d7();}function a0_0x44cf(_0x4970d9,_0x23c702){_0x4970d9=_0x4970d9-0x1b8;const _0x13d7e1=a0_0x13d7();let _0x44cf64=_0x13d7e1[_0x4970d9];if(a0_0x44cf['MbiCql']===undefined){var _0x4cbc38=function(_0x480c38){const _0x44143d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x447573='',_0x3aadd2='';for(let _0x44c17b=0x0,_0x5a4b60,_0x4b03d3,_0x5a88ee=0x0;_0x4b03d3=_0x480c38['charAt'](_0x5a88ee++);~_0x4b03d3&&(_0x5a4b60=_0x44c17b%0x4?_0x5a4b60*0x40+_0x4b03d3:_0x4b03d3,_0x44c17b++%0x4)?_0x447573+=String['fromCharCode'](0xff&_0x5a4b60>>(-0x2*_0x44c17b&0x6)):0x0){_0x4b03d3=_0x44143d['indexOf'](_0x4b03d3);}for(let _0x53e091=0x0,_0x22d666=_0x447573['length'];_0x53e091<_0x22d666;_0x53e091++){_0x3aadd2+='%'+('00'+_0x447573['charCodeAt'](_0x53e091)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3aadd2);};a0_0x44cf['FREILL']=_0x4cbc38,a0_0x44cf['NudKcX']={},a0_0x44cf['MbiCql']=!![];}const _0x5b6437=_0x13d7e1[0x0],_0x4e8cbd=_0x4970d9+_0x5b6437,_0x382c39=a0_0x44cf['NudKcX'][_0x4e8cbd];return!_0x382c39?(_0x44cf64=a0_0x44cf['FREILL'](_0x44cf64),a0_0x44cf['NudKcX'][_0x4e8cbd]=_0x44cf64):_0x44cf64=_0x382c39,_0x44cf64;}import a0_0x447573 from'typescript';import a0_0x3aadd2 from'path';import{STATIC_ANALYSIS}from'../utilities/constants.js';class JavaScriptAnalyzer{constructor(_0x44c17b=null){const _0x56bef6=a0_0x44cf;this['logger']=_0x44c17b,this['compilerOptions']={'allowJs':!![],'checkJs':!![],'noEmit':!![],'jsx':a0_0x447573[_0x56bef6(0x1be)][_0x56bef6(0x1e6)],'target':a0_0x447573[_0x56bef6(0x1b9)]['Latest'],'module':a0_0x447573['ModuleKind'][_0x56bef6(0x1c4)],'moduleResolution':a0_0x447573[_0x56bef6(0x1c7)]['NodeJs'],'esModuleInterop':!![],'skipLibCheck':!![],'strict':![],'noImplicitAny':![]};}async[a0_0x186a40(0x1e2)](_0x5a4b60,_0x4b03d3,_0x5a88ee={}){const _0x3abc77=a0_0x186a40;try{const _0x53e091=[],_0x22d666=a0_0x447573['createSourceFile'](_0x5a4b60,_0x4b03d3,a0_0x447573['ScriptTarget'][_0x3abc77(0x1ce)],!![]),_0x2e9d59=this['getSyntacticDiagnostics'](_0x22d666);_0x53e091['push'](..._0x2e9d59);const _0x4f14a6=await this['getSemanticDiagnostics'](_0x5a4b60,_0x4b03d3);return _0x53e091['push'](..._0x4f14a6),this['logger']?.['debug']('JavaScript\x20analysis\x20completed',{'file':_0x5a4b60,'totalDiagnostics':_0x53e091['length'],'errors':_0x53e091[_0x3abc77(0x1e5)](_0x1589de=>_0x1589de['severity']===STATIC_ANALYSIS['SEVERITY']['ERROR'])['length'],'warnings':_0x53e091[_0x3abc77(0x1e5)](_0x429411=>_0x429411[_0x3abc77(0x1c5)]===STATIC_ANALYSIS['SEVERITY'][_0x3abc77(0x1d3)])['length']}),_0x53e091;}catch(_0x2d996b){return this[_0x3abc77(0x1b8)]?.['error']('JavaScript\x20analysis\x20failed',{'file':_0x5a4b60,'error':_0x2d996b['message']}),[{'file':_0x5a4b60,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS[_0x3abc77(0x1bc)]['ERROR'],'rule':'analyzer-error','message':_0x3abc77(0x1d4)+_0x2d996b['message'],'category':STATIC_ANALYSIS['CATEGORY']['SYNTAX']}];}}[a0_0x186a40(0x1ca)](_0x22dfbd){const _0x4058ea=a0_0x186a40,_0x5d9dcf=[],_0x3a2fa5=_0x1801b3=>{const _0x447ca5=a0_0x44cf;if(_0x1801b3[_0x447ca5(0x1da)]===a0_0x447573[_0x447ca5(0x1c2)]['Unknown']){const _0x3b050f=_0x22dfbd[_0x447ca5(0x1dc)](_0x1801b3[_0x447ca5(0x1d8)]());_0x5d9dcf['push']({'file':_0x22dfbd['fileName'],'line':_0x3b050f[_0x447ca5(0x1d9)]+0x1,'column':_0x3b050f['character']+0x1,'severity':STATIC_ANALYSIS[_0x447ca5(0x1bc)]['ERROR'],'rule':_0x447ca5(0x1e8),'message':_0x447ca5(0x1e9),'category':STATIC_ANALYSIS[_0x447ca5(0x1eb)]['SYNTAX'],'fixable':![]});}a0_0x447573[_0x447ca5(0x1ba)](_0x1801b3,_0x3a2fa5);};_0x3a2fa5(_0x22dfbd);if(_0x22dfbd[_0x4058ea(0x1cd)]&&_0x22dfbd[_0x4058ea(0x1cd)][_0x4058ea(0x1cc)]>0x0)for(const _0x2a053a of _0x22dfbd['parseDiagnostics']){_0x5d9dcf['push'](this['formatDiagnostic'](_0x2a053a,_0x22dfbd));}return _0x5d9dcf;}async[a0_0x186a40(0x1db)](_0x83c44b,_0xd7910a){const _0x2803d9=a0_0x186a40,_0x165b7c=[];try{const _0x34f3c8=a0_0x447573['createSourceFile'](_0x83c44b,_0xd7910a,a0_0x447573['ScriptTarget'][_0x2803d9(0x1ce)],!![]),_0x5960fb={'getSourceFile':_0x24b4d7=>{if(_0x24b4d7===_0x83c44b)return _0x34f3c8;return undefined;},'getDefaultLibFileName':()=>'lib.d.ts','writeFile':()=>{},'getCurrentDirectory':()=>a0_0x3aadd2['dirname'](_0x83c44b),'getDirectories':()=>[],'fileExists':_0x4ef50c=>_0x4ef50c===_0x83c44b,'readFile':_0x1a4783=>{if(_0x1a4783===_0x83c44b)return _0xd7910a;return undefined;},'getCanonicalFileName':_0x473bdc=>_0x473bdc,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x2b087e=a0_0x447573[_0x2803d9(0x1d7)]({'rootNames':[_0x83c44b],'options':this[_0x2803d9(0x1d6)],'host':_0x5960fb}),_0x288653=_0x2b087e[_0x2803d9(0x1db)](_0x34f3c8);for(const _0x189d86 of _0x288653){_0x165b7c[_0x2803d9(0x1c1)](this['formatDiagnostic'](_0x189d86,_0x34f3c8));}}catch(_0x2ea503){this[_0x2803d9(0x1b8)]?.['debug'](_0x2803d9(0x1e3),{'file':_0x83c44b,'reason':_0x2ea503['message']});}return _0x165b7c;}[a0_0x186a40(0x1bf)](_0x74c122,_0x33d22d){const _0x27a48e=a0_0x186a40;let _0x50f79c=0x0,_0x141f7f=0x0;if(_0x74c122['file']&&_0x74c122['start']!==undefined){const _0x4d389c=_0x74c122['file'][_0x27a48e(0x1dc)](_0x74c122['start']);_0x50f79c=_0x4d389c['line']+0x1,_0x141f7f=_0x4d389c['character']+0x1;}else{if(_0x33d22d&&_0x74c122[_0x27a48e(0x1e4)]!==undefined){const _0x3b6eee=_0x33d22d[_0x27a48e(0x1dc)](_0x74c122['start']);_0x50f79c=_0x3b6eee[_0x27a48e(0x1d9)]+0x1,_0x141f7f=_0x3b6eee['character']+0x1;}}const _0xda7297=a0_0x447573[_0x27a48e(0x1c6)](_0x74c122[_0x27a48e(0x1c0)],'\x0a');let _0x45a6e1;switch(_0x74c122[_0x27a48e(0x1df)]){case a0_0x447573['DiagnosticCategory']['Error']:_0x45a6e1=STATIC_ANALYSIS['SEVERITY'][_0x27a48e(0x1d2)];break;case a0_0x447573['DiagnosticCategory'][_0x27a48e(0x1ec)]:_0x45a6e1=STATIC_ANALYSIS[_0x27a48e(0x1bc)][_0x27a48e(0x1d3)];break;case a0_0x447573[_0x27a48e(0x1cb)]['Message']:case a0_0x447573[_0x27a48e(0x1cb)][_0x27a48e(0x1d0)]:_0x45a6e1=STATIC_ANALYSIS['SEVERITY']['INFO'];break;default:_0x45a6e1=STATIC_ANALYSIS['SEVERITY']['ERROR'];}let _0x1a53fd=STATIC_ANALYSIS[_0x27a48e(0x1eb)][_0x27a48e(0x1c8)];const _0x140ea5=_0x74c122['code'];if(_0x140ea5>=0x7d0&&_0x140ea5<0xbb8)_0x1a53fd=STATIC_ANALYSIS[_0x27a48e(0x1eb)][_0x27a48e(0x1e7)];else{if(_0x140ea5>=0x3e8&&_0x140ea5<0x7d0)_0x1a53fd=STATIC_ANALYSIS[_0x27a48e(0x1eb)]['SYNTAX'];else _0x140ea5>=0x8fc&&_0x140ea5<0x960&&(_0x1a53fd=STATIC_ANALYSIS['CATEGORY'][_0x27a48e(0x1d1)]);}return(_0xda7297['toLowerCase']()['includes']('cannot\x20find\x20module')||_0xda7297['toLowerCase']()['includes']('import'))&&(_0x1a53fd=STATIC_ANALYSIS['CATEGORY']['IMPORT']),{'file':_0x74c122['file']?.['fileName']||_0x33d22d?.['fileName']||_0x27a48e(0x1e0),'line':_0x50f79c,'column':_0x141f7f,'severity':_0x45a6e1,'rule':'TS'+_0x140ea5,'message':_0xda7297,'category':_0x1a53fd,'fixable':![],'code':_0x74c122['code']};}}export default JavaScriptAnalyzer;
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 +1 @@
1
- function a0_0x59d6(_0x41ea32,_0x2c4a0){_0x41ea32=_0x41ea32-0x1b1;const _0x3a25c0=a0_0x3a25();let _0x59d6b4=_0x3a25c0[_0x41ea32];if(a0_0x59d6['rCnhkv']===undefined){var _0x1637d5=function(_0x121d3b){const _0x220cc2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5b95c4='',_0x252e7f='';for(let _0x28e649=0x0,_0x3db417,_0x5501ba,_0x21c665=0x0;_0x5501ba=_0x121d3b['charAt'](_0x21c665++);~_0x5501ba&&(_0x3db417=_0x28e649%0x4?_0x3db417*0x40+_0x5501ba:_0x5501ba,_0x28e649++%0x4)?_0x5b95c4+=String['fromCharCode'](0xff&_0x3db417>>(-0x2*_0x28e649&0x6)):0x0){_0x5501ba=_0x220cc2['indexOf'](_0x5501ba);}for(let _0x3615b5=0x0,_0x25dc51=_0x5b95c4['length'];_0x3615b5<_0x25dc51;_0x3615b5++){_0x252e7f+='%'+('00'+_0x5b95c4['charCodeAt'](_0x3615b5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x252e7f);};a0_0x59d6['tGgAkn']=_0x1637d5,a0_0x59d6['YfwROa']={},a0_0x59d6['rCnhkv']=!![];}const _0x605471=_0x3a25c0[0x0],_0x19c7b6=_0x41ea32+_0x605471,_0x102bb3=a0_0x59d6['YfwROa'][_0x19c7b6];return!_0x102bb3?(_0x59d6b4=a0_0x59d6['tGgAkn'](_0x59d6b4),a0_0x59d6['YfwROa'][_0x19c7b6]=_0x59d6b4):_0x59d6b4=_0x102bb3,_0x59d6b4;}const a0_0x3a543d=a0_0x59d6;(function(_0xbd8411,_0x17194b){const _0x59ad62=a0_0x59d6,_0x1e176d=_0xbd8411();while(!![]){try{const _0x1ea3ad=parseInt(_0x59ad62(0x1e0))/0x1+parseInt(_0x59ad62(0x1c1))/0x2*(parseInt(_0x59ad62(0x1b3))/0x3)+parseInt(_0x59ad62(0x1cc))/0x4+parseInt(_0x59ad62(0x1b1))/0x5*(-parseInt(_0x59ad62(0x1cd))/0x6)+parseInt(_0x59ad62(0x1bf))/0x7*(-parseInt(_0x59ad62(0x1db))/0x8)+-parseInt(_0x59ad62(0x1c7))/0x9*(parseInt(_0x59ad62(0x1d3))/0xa)+parseInt(_0x59ad62(0x1cb))/0xb;if(_0x1ea3ad===_0x17194b)break;else _0x1e176d['push'](_0x1e176d['shift']());}catch(_0x17c892){_0x1e176d['push'](_0x1e176d['shift']());}}}(a0_0x3a25,0x34353));import a0_0x5b95c4 from'prettier';import a0_0x252e7f from'path';import a0_0x28e649 from'fs/promises';class PrettierFormatter{constructor(_0x3db417=null){this['logger']=_0x3db417,this['configCache']=new Map();}async[a0_0x3a543d(0x1b9)](_0x5501ba,_0x21c665,_0x3615b5={}){const _0x3d6219=a0_0x3a543d;try{const _0x25dc51=await this['getPrettierConfig'](_0x5501ba,_0x3615b5[_0x3d6219(0x1c9)]),_0x30d1aa=this[_0x3d6219(0x1bd)](_0x5501ba),_0x102123=await a0_0x5b95c4['format'](_0x21c665,{..._0x25dc51,'filepath':_0x5501ba,'parser':_0x30d1aa}),_0x17e442=_0x102123!==_0x21c665;return{'formatted':_0x17e442,'content':_0x102123,'original':_0x21c665,'changes':_0x17e442?this['describeChanges'](_0x21c665,_0x102123):[],'linesChanged':_0x17e442?this[_0x3d6219(0x1d6)](_0x21c665,_0x102123):0x0};}catch(_0x4d79ff){this['logger']?.['error'](_0x3d6219(0x1d1),{'file':_0x5501ba,'error':_0x4d79ff['message']});throw new Error('Prettier\x20formatting\x20failed:\x20'+_0x4d79ff[_0x3d6219(0x1b8)]);}}async[a0_0x3a543d(0x1d5)](_0x105183,_0x20f862,_0x2222e2={}){const _0x31d8b1=a0_0x3a543d;try{const _0x1dd7d8=await this[_0x31d8b1(0x1b5)](_0x105183,_0x2222e2[_0x31d8b1(0x1c9)]),_0x3e620a=this[_0x31d8b1(0x1bd)](_0x105183),_0x4b9b4a=await a0_0x5b95c4[_0x31d8b1(0x1b9)](_0x20f862,{..._0x1dd7d8,'filepath':_0x105183,'parser':_0x3e620a});return _0x4b9b4a!==_0x20f862;}catch(_0x15edbc){return this['logger']?.[_0x31d8b1(0x1cf)](_0x31d8b1(0x1be),{'file':_0x105183,'error':_0x15edbc[_0x31d8b1(0x1b8)]}),![];}}async[a0_0x3a543d(0x1b5)](_0x5f58a0,_0x27c2af){const _0x2cb435=a0_0x3a543d,_0x39d3e7=_0x27c2af||a0_0x252e7f['dirname'](_0x5f58a0);if(this[_0x2cb435(0x1c4)]['has'](_0x39d3e7))return this['configCache']['get'](_0x39d3e7);let _0x3509a1={};if(_0x27c2af)try{const _0x1ca91b=await a0_0x5b95c4[_0x2cb435(0x1b2)](_0x5f58a0,{'config':_0x27c2af});_0x1ca91b&&(this['logger']?.[_0x2cb435(0x1d9)](_0x2cb435(0x1dd),{'workingDir':_0x27c2af}),_0x3509a1=_0x1ca91b);}catch(_0xcd5ef5){this['logger']?.['debug']('No Prettier config found, using defaults');}const defaultConfig={'semi':!![],'singleQuote':!![],'tabWidth':0x2,'trailingComma':_0x2cb435(0x1c2),'printWidth':0x64,'arrowParens':'avoid','endOfLine':'lf',..._0x3509a1};return this['configCache']['set'](_0x39d3e7,defaultConfig),defaultConfig;}[a0_0x3a543d(0x1bd)](_0x172e5b){const _0x4690f1=a0_0x3a543d,_0x444184=a0_0x252e7f['extname'](_0x172e5b)['toLowerCase'](),_0x20edcb={'.js':_0x4690f1(0x1de),'.jsx':'babel','.mjs':'babel','.cjs':_0x4690f1(0x1de),'.ts':_0x4690f1(0x1d7),'.tsx':'typescript','.json':'json','.json5':_0x4690f1(0x1ba),'.css':_0x4690f1(0x1ce),'.scss':_0x4690f1(0x1e1),'.less':'less','.html':_0x4690f1(0x1d2),'.vue':'vue','.md':'markdown','.yaml':_0x4690f1(0x1bb),'.yml':'yaml'};return _0x20edcb[_0x444184]||'babel';}['describeChanges'](_0x51136c,_0x49cb88){const _0x442fb4=a0_0x3a543d,_0x2b3b72=[],_0x50c365=_0x51136c[_0x442fb4(0x1dc)]('\x0a'),_0x54f39b=_0x49cb88[_0x442fb4(0x1dc)]('\x0a'),_0x366bf1=Math[_0x442fb4(0x1c5)](_0x50c365['length'],_0x54f39b['length']);for(let _0x37d224=0x0;_0x37d224<_0x366bf1;_0x37d224++){const _0x4266e7=_0x50c365[_0x37d224],_0x2b81d5=_0x54f39b[_0x37d224];_0x4266e7!==_0x2b81d5&&_0x2b3b72[_0x442fb4(0x1d4)]({'line':_0x37d224+0x1,'type':_0x4266e7!==undefined&&_0x2b81d5!==undefined?_0x442fb4(0x1b6):_0x4266e7!==undefined?'removed':_0x442fb4(0x1c3),'original':_0x4266e7||'','formatted':_0x2b81d5||''});}return _0x2b3b72;}['countChangedLines'](_0x3d4efd,_0x26e8d1){const _0x15a4c8=a0_0x3a543d,_0x494b97=_0x3d4efd[_0x15a4c8(0x1dc)]('\x0a'),_0x2c1d52=_0x26e8d1[_0x15a4c8(0x1dc)]('\x0a');let _0x2473a4=0x0;const _0x487d3f=Math[_0x15a4c8(0x1c5)](_0x494b97['length'],_0x2c1d52['length']);for(let _0x512aa9=0x0;_0x512aa9<_0x487d3f;_0x512aa9++){_0x494b97[_0x512aa9]!==_0x2c1d52[_0x512aa9]&&_0x2473a4++;}return _0x2473a4;}['getSupportedExtensions'](){const _0x135d61=a0_0x3a543d;return[_0x135d61(0x1c8),'.jsx',_0x135d61(0x1b7),'.cjs',_0x135d61(0x1da),'.tsx','.json',_0x135d61(0x1b4),_0x135d61(0x1c6),'.scss',_0x135d61(0x1d8),_0x135d61(0x1df),'.vue','.md','.yaml',_0x135d61(0x1c0)];}[a0_0x3a543d(0x1d0)](_0x1b5f0a){const _0x538532=a0_0x3a543d,_0x100426=a0_0x252e7f['extname'](_0x1b5f0a)[_0x538532(0x1ca)]();return this[_0x538532(0x1bc)]()['includes'](_0x100426);}}export default PrettierFormatter;function a0_0x3a25(){const _0xbd2392=['ChvZAa','y2HLy2S','y291BNrdAgfUz2vKtgLUzxm','DhLWzxnJCMLWDa','lMXLC3m','zgvIDwC','lNrZ','mte0odu1mLjdtxD0Eq','C3bSAxq','rM91BMqGuhjLDhrPzxiGy29UzMLN','yMfIzwW','lMH0BwW','mtq2nJqYwxrsuwvb','C2nZCW','mtbkuujfAMy','CMvZB2X2zunVBMzPzW','mtvxwKrpDhO','lMPZB241','z2v0uhjLDhrPzxjdB25MAwC','Bw9KAwzPzwq','lM1QCW','BwvZC2fNzq','zM9YBwf0','ANnVBJu','EwfTBa','z2v0u3vWCg9YDgvKrxH0zw5ZAw9UCW','z2v0ugfYC2vY','uhjLDhrPzxiGy2HLy2SGzMfPBgvK','n0LkBfnIwa','lNLTBa','mte2nti0CNLcyMfc','zxm1','ywrKzwq','y29UzMLNq2fJAgu','Bwf4','lMnZCW','odu1yvHYz1Dk','lMPZ','D29YA2LUz0rPCG','Dg9mB3DLCKnHC2u','mJiZmZa3n21RqLrRDa','nZGXmdiWvw53ue1s','mZa0otu2r3jrsMTu','y3nZ','D2fYBG','AxntDxbWB3j0zwq','uhjLDhrPzxiGzM9YBwf0DgLUzYbMywLSzwq','AhrTBa','mZK3mdbrBxzru0q'];a0_0x3a25=function(){return _0xbd2392;};return a0_0x3a25();}
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 +1 @@
1
- const a0_0x2079d8=a0_0x366e;(function(_0x55459e,_0x6b0431){const _0x363b9f=a0_0x366e,_0x58ba1d=_0x55459e();while(!![]){try{const _0x3e2833=parseInt(_0x363b9f(0xa8))/0x1*(parseInt(_0x363b9f(0xad))/0x2)+parseInt(_0x363b9f(0x9f))/0x3+-parseInt(_0x363b9f(0x90))/0x4+parseInt(_0x363b9f(0x97))/0x5+-parseInt(_0x363b9f(0x9b))/0x6+parseInt(_0x363b9f(0xac))/0x7+parseInt(_0x363b9f(0xa2))/0x8;if(_0x3e2833===_0x6b0431)break;else _0x58ba1d['push'](_0x58ba1d['shift']());}catch(_0x442e6f){_0x58ba1d['push'](_0x58ba1d['shift']());}}}(a0_0x4a7f,0x6ccd4));import{spawn}from'child_process';import{STATIC_ANALYSIS}from'../utilities/constants.js';function a0_0x4a7f(){const _0x6532ef=['zxjYB3jZ','zMLSDgvY','mJi5nJK2meTKvgPVqq','C3LUDgf4x2nOzwnRxW','y29SDw1U','D2fYBG','mZm1otK3me5UEvPlqq','BwvZC2fNzq','ChL0Ag9UmW','C3vJy2vZCW','mta2nZi4nMjjAM5Pwq','v0fstKLorW','zgvIDwC','mJKWmJK2ogLRy1HeBa','C3rKzxjY','AM9PBG','rMfPBgvKihrVihbHCNnLifb5DgHVBIbZEw50yxGGy2HLy2SGCMvZDwX0','BgLUzq','uhL0Ag9UigfUywX5C2LZignVBxbSzxrLza','mxnyB2XytG','ChvZAa','CNvUq29TBwfUza','Dg1WzgLY','mtm0ndy1ohbkrxvSvq','otq2ote0rfvOExPj','zgf0yq','u3LUDgf4rxjYB3i','CNvUuhL0Ag9Uu2nYAxb0','Dw5SAw5R','lNb5','ChL0Ag9Uq29TBwfUza','BgvUz3rO','D3jPDgvgAwXL','y2HLy2TtEw50yxG','cMLTCg9YDcbHC3qkAw1WB3j0ihn5CWPPBxbVCNqGANnVBGOkzgvMignOzwnRx3n5BNrHEcHMAwXLCgf0AcK6cIaGicb0CNK6cIaGicaGicaGD2L0AcbVCgvUkgzPBgvWyxrOlcaNCICSigvUy29KAw5NpsD1DgyTocCPigfZigy6cIaGicaGicaGicaGihnVDxjJzsa9igyUCMvHzcGPcGOGicaGicaGicmGvhj5ihrVihbHCNnLihrOzsbMAwXLcIaGicaGicaGyxn0lNbHCNnLkhnVDxjJzsWGzMLSzw5HBwu9zMLSzxbHDgGPcGOGicaGicaGicmGswyGC3vJy2vZC2z1BcWGBM8GzxjYB3jZcIaGicaGicaGChjPBNqOANnVBI5KDw1WCYH7iNn1y2nLC3mIoIbuCNvLlcaIzxjYB3jZiJOGw119ksKkcIaGicbLEgnLChqGu3LUDgf4rxjYB3iGyxmGztOkicaGicaGicbLCNjVCIa9ihSkicaGicaGicaGicaGiMzPBguIoIbMAwXLCgf0AcWkicaGicaGicaGicaGiMXPBMuIoIbLlMXPBMvUBYbVCIaXlaOGicaGicaGicaGicaIy29SDw1UiJOGzs5VzMzZzxqGB3iGmsWkicaGicaGicaGicaGiM1LC3nHz2uIoIbZDhiOzs5TC2CPlaOGicaGicaGicaGicaIDgv4Dci6iguUDgv4Dc5ZDhjPCcGPigLMiguUDgv4DcbLBhnLiciIcIaGicaGicaGFqOGicaGicaGihbYAw50kgPZB24UzhvTChmOEYjZDwnJzxnZiJOGrMfSC2uSicjLCNjVCNmIoIbBzxjYB3jDFsKPcGOGicaGzxHJzxb0iev4y2vWDgLVBIbHCYbLoGOGicaGicaGigvYCM9Yid0GEWOGicaGicaGicaGicaIzMLSzsi6igzPBgvWyxrOlaOGicaGicaGicaGicaIBgLUzsi6ideScIaGicaGicaGicaGicjJB2X1Bw4IoIaXlaOGicaGicaGicaGicaIBwvZC2fNzsi6ihn0CIHLksWkicaGicaGicaGicaGiNrLEhqIoIaIiGOGicaGicaGih0kicaGicaGicbWCMLUDcHQC29UlMr1BxbZkhSIC3vJy2vZCYi6iezHBhnLlcaIzxjYB3jZiJOGw2vYCM9Yxx0PkqOkAwyGx19Uyw1Lx18Gpt0GiL9FBwfPBL9FiJOkicaGigLMigXLBIHZExmUyxjNDIKGpIaXoGOGicaGicaGignOzwnRx3n5BNrHEcHZExmUyxjNDLSXxsKkicaGigvSC2u6cIaGicaGicaGChjPBNqOANnVBI5KDw1WCYH7iNn1y2nLC3mIoIbgywXZzsWGiMvYCM9YCYi6ifT7iM1LC3nHz2uIoIaItM8GzMLSzsbZCgvJAwzPzwqIFv19ksKk','u0vwrvjjvfK','C3rKB3v0','DgfYz2v0xW','ls12zxjZAw9U','BM93','DxrMltG','uhL0Ag9UigfUywX5C2LZigzHAwXLza','C3vWCg9YDhnbDxrVrML4','rvjst1i','mZm1mtCXnM9tqwH5yG','z2v0uhL0Ag9Uq29TBwfUza','Bg9Nz2vY','Dg9tDhjPBMC','q29TBwfUzcb0Aw1LB3v0'];a0_0x4a7f=function(){return _0x6532ef;};return a0_0x4a7f();}function a0_0x366e(_0xd725f8,_0x4ff2f9){_0xd725f8=_0xd725f8-0x8f;const _0x4a7f47=a0_0x4a7f();let _0x366ee9=_0x4a7f47[_0xd725f8];if(a0_0x366e['LErqjF']===undefined){var _0x1f3ae3=function(_0x53e96a){const _0x3920f8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1a087f='',_0x9c6156='';for(let _0x5cfc81=0x0,_0x3c2cd4,_0x3d8082,_0x3cf9ac=0x0;_0x3d8082=_0x53e96a['charAt'](_0x3cf9ac++);~_0x3d8082&&(_0x3c2cd4=_0x5cfc81%0x4?_0x3c2cd4*0x40+_0x3d8082:_0x3d8082,_0x5cfc81++%0x4)?_0x1a087f+=String['fromCharCode'](0xff&_0x3c2cd4>>(-0x2*_0x5cfc81&0x6)):0x0){_0x3d8082=_0x3920f8['indexOf'](_0x3d8082);}for(let _0x435151=0x0,_0x186a3f=_0x1a087f['length'];_0x435151<_0x186a3f;_0x435151++){_0x9c6156+='%'+('00'+_0x1a087f['charCodeAt'](_0x435151)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x9c6156);};a0_0x366e['yNorls']=_0x1f3ae3,a0_0x366e['mEdidD']={},a0_0x366e['LErqjF']=!![];}const _0x4ee898=_0x4a7f47[0x0],_0x3feac7=_0xd725f8+_0x4ee898,_0x5aa140=a0_0x366e['mEdidD'][_0x3feac7];return!_0x5aa140?(_0x366ee9=a0_0x366e['yNorls'](_0x366ee9),a0_0x366e['mEdidD'][_0x3feac7]=_0x366ee9):_0x366ee9=_0x5aa140,_0x366ee9;}import a0_0x1a087f from'fs/promises';import a0_0x9c6156 from'path';import a0_0x5cfc81 from'os';class PythonAnalyzer{constructor(_0x3c2cd4=null){const _0x3d7ca9=a0_0x366e;this[_0x3d7ca9(0x92)]=_0x3c2cd4,this[_0x3d7ca9(0xb3)]=null;}async['analyze'](_0x3d8082,_0x3cf9ac,_0x435151={}){const _0x14ba3b=a0_0x366e;try{const _0x186a3f=[],_0x54d87f=await this[_0x14ba3b(0x91)]();if(!_0x54d87f)return this['logger']?.[_0x14ba3b(0x9a)]('Python\x20not\x20available,\x20skipping\x20analysis'),[];const _0x16d18e=await this['checkSyntax'](_0x3d8082,_0x3cf9ac,_0x54d87f);return _0x186a3f[_0x14ba3b(0xa9)](..._0x16d18e),this[_0x14ba3b(0x92)]?.[_0x14ba3b(0xa1)](_0x14ba3b(0xa7),{'file':_0x3d8082,'totalDiagnostics':_0x186a3f['length'],'errors':_0x186a3f[_0x14ba3b(0x96)](_0x54c12e=>_0x54c12e['severity']===STATIC_ANALYSIS['SEVERITY'][_0x14ba3b(0x8f)])[_0x14ba3b(0xb4)],'warnings':_0x186a3f[_0x14ba3b(0x96)](_0x4f0551=>_0x4f0551['severity']===STATIC_ANALYSIS['SEVERITY'][_0x14ba3b(0xa0)])[_0x14ba3b(0xb4)]}),_0x186a3f;}catch(_0x2d141c){return this[_0x14ba3b(0x92)]?.['error'](_0x14ba3b(0xbe),{'file':_0x3d8082,'error':_0x2d141c['message']}),[];}}async[a0_0x2079d8(0xb6)](_0x38832a,_0x3935b4,_0x2eaa85){const _0x400f80=a0_0x2079d8,_0x5c94b7=[],_0x471624=a0_0x5cfc81[_0x400f80(0xab)](),_0x36e6e8=a0_0x9c6156[_0x400f80(0xa4)](_0x471624,_0x400f80(0x98)+Date[_0x400f80(0xbc)]()+_0x400f80(0xb2)),_0x46e24a=a0_0x9c6156[_0x400f80(0xa4)](_0x471624,_0x400f80(0xba)+Date['now']()+_0x400f80(0xb2));try{await a0_0x1a087f['writeFile'](_0x46e24a,_0x3935b4,'utf-8');const _0x5e8ff7=_0x400f80(0xb7);await a0_0x1a087f[_0x400f80(0xb5)](_0x36e6e8,_0x5e8ff7,_0x400f80(0xbd));const _0x45050d=await this[_0x400f80(0xb0)](_0x2eaa85,_0x36e6e8,[_0x46e24a]);try{const _0x207596=JSON['parse'](_0x45050d[_0x400f80(0xb9)]);if(!_0x207596[_0x400f80(0x9e)]&&_0x207596['errors'])for(const _0x2f108e of _0x207596[_0x400f80(0x95)]){_0x5c94b7[_0x400f80(0xa9)]({'file':_0x38832a,'line':_0x2f108e[_0x400f80(0xa6)]||0x1,'column':_0x2f108e[_0x400f80(0x99)]||0x1,'severity':STATIC_ANALYSIS[_0x400f80(0xb8)][_0x400f80(0x8f)],'rule':_0x400f80(0xaf),'message':_0x2f108e['message'],'category':STATIC_ANALYSIS['CATEGORY']['SYNTAX'],'fixable':![],'source':'python-ast','code':_0x2f108e['text']||undefined});}}catch(_0x1501dd){this[_0x400f80(0x92)]?.['warn'](_0x400f80(0xa5),{'error':_0x1501dd[_0x400f80(0x9c)],'stdout':_0x45050d[_0x400f80(0xb9)]});}}finally{try{await a0_0x1a087f[_0x400f80(0xb1)](_0x36e6e8),await a0_0x1a087f[_0x400f80(0xb1)](_0x46e24a);}catch{}}return _0x5c94b7;}async[a0_0x2079d8(0x91)](){const _0x27013e=a0_0x2079d8;if(this[_0x27013e(0xb3)])return this[_0x27013e(0xb3)];const _0x4945f9=[_0x27013e(0x9d),'python'];for(const _0x168736 of _0x4945f9){try{const _0x5a07b3=await this[_0x27013e(0xaa)](_0x168736,[_0x27013e(0xbb)]);if(_0x5a07b3['success'])return this[_0x27013e(0xb3)]=_0x168736,this['logger']?.['debug']('Found\x20Python\x20command',{'command':_0x168736,'version':_0x5a07b3[_0x27013e(0xb9)]['trim']()}),_0x168736;}catch{}}return null;}async[a0_0x2079d8(0xb0)](_0x56b052,_0x511ff1,_0x48d430=[]){const _0x3d0e9b=a0_0x2079d8;return this[_0x3d0e9b(0xaa)](_0x56b052,[_0x511ff1,..._0x48d430]);}async['runCommand'](_0x52377c,_0x40f42d=[],_0x305ebd={}){return new Promise((_0x3578e0,_0x1ae6ea)=>{const _0x23fa4c=a0_0x366e,_0x20ff51=spawn(_0x52377c,_0x40f42d,{..._0x305ebd,'shell':!![]});let _0x52a590='',_0x875ba5='';_0x20ff51['stdout']?.['on'](_0x23fa4c(0xae),_0x2095f2=>{const _0x345832=_0x23fa4c;_0x52a590+=_0x2095f2[_0x345832(0x93)]();}),_0x20ff51[_0x23fa4c(0xa3)]?.['on'](_0x23fa4c(0xae),_0x13688c=>{_0x875ba5+=_0x13688c['toString']();}),_0x20ff51['on']('error',_0xe87746=>{_0x1ae6ea(_0xe87746);}),_0x20ff51['on']('close',_0x38a7cf=>{_0x3578e0({'success':_0x38a7cf===0x0,'code':_0x38a7cf,'stdout':_0x52a590,'stderr':_0x875ba5});}),setTimeout(()=>{const _0x6d2b64=_0x23fa4c;_0x20ff51['kill'](),_0x1ae6ea(new Error(_0x6d2b64(0x94)));},0x2710);});}['getSupportedExtensions'](){return['.py'];}[a0_0x2079d8(0xbf)](){return![];}}export default PythonAnalyzer;
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 +1 @@
1
- const a0_0x3449c6=a0_0x548f;function a0_0x548f(_0x2ee8cf,_0x5cea74){_0x2ee8cf=_0x2ee8cf-0x1c3;const _0x1baabc=a0_0x1baa();let _0x548f53=_0x1baabc[_0x2ee8cf];if(a0_0x548f['AnKDLF']===undefined){var _0x97b8f8=function(_0x1e4e4a){const _0x1d4722='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2a2b22='',_0x1703e6='';for(let _0x2266d2=0x0,_0x342183,_0x582b4c,_0x5a818e=0x0;_0x582b4c=_0x1e4e4a['charAt'](_0x5a818e++);~_0x582b4c&&(_0x342183=_0x2266d2%0x4?_0x342183*0x40+_0x582b4c:_0x582b4c,_0x2266d2++%0x4)?_0x2a2b22+=String['fromCharCode'](0xff&_0x342183>>(-0x2*_0x2266d2&0x6)):0x0){_0x582b4c=_0x1d4722['indexOf'](_0x582b4c);}for(let _0x33b7ea=0x0,_0x2c5a46=_0x2a2b22['length'];_0x33b7ea<_0x2c5a46;_0x33b7ea++){_0x1703e6+='%'+('00'+_0x2a2b22['charCodeAt'](_0x33b7ea)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1703e6);};a0_0x548f['crXaXB']=_0x97b8f8,a0_0x548f['IqDdqu']={},a0_0x548f['AnKDLF']=!![];}const _0x31ab0f=_0x1baabc[0x0],_0x4a85c9=_0x2ee8cf+_0x31ab0f,_0x404d98=a0_0x548f['IqDdqu'][_0x4a85c9];return!_0x404d98?(_0x548f53=a0_0x548f['crXaXB'](_0x548f53),a0_0x548f['IqDdqu'][_0x4a85c9]=_0x548f53):_0x548f53=_0x404d98,_0x548f53;}(function(_0x22b6b7,_0x538466){const _0x18b54a=a0_0x548f,_0x3cc589=_0x22b6b7();while(!![]){try{const _0x5a5f78=parseInt(_0x18b54a(0x204))/0x1+-parseInt(_0x18b54a(0x222))/0x2+-parseInt(_0x18b54a(0x21c))/0x3+-parseInt(_0x18b54a(0x1ef))/0x4+-parseInt(_0x18b54a(0x1cb))/0x5*(-parseInt(_0x18b54a(0x221))/0x6)+-parseInt(_0x18b54a(0x213))/0x7*(parseInt(_0x18b54a(0x1f2))/0x8)+parseInt(_0x18b54a(0x1cc))/0x9*(parseInt(_0x18b54a(0x212))/0xa);if(_0x5a5f78===_0x538466)break;else _0x3cc589['push'](_0x3cc589['shift']());}catch(_0x3360ed){_0x3cc589['push'](_0x3cc589['shift']());}}}(a0_0x1baa,0x434a0));import{exec}from'child_process';import{promisify}from'util';import a0_0x2a2b22 from'path';import a0_0x1703e6 from'fs/promises';import{STATIC_ANALYSIS}from'../utilities/constants.js';const execAsync=promisify(exec);class SecurityAnalyzer{constructor(_0x2266d2=null){const _0x4511bd=a0_0x548f;this['logger']=_0x2266d2,this[_0x4511bd(0x1ed)]=null,this['scannerCache']=new Map(),this['localScannerDir']=a0_0x2a2b22['join'](process[_0x4511bd(0x241)](),_0x4511bd(0x1e7),_0x4511bd(0x1da));}async['detectAvailableScanners'](){const _0x3e277e=a0_0x548f;if(this[_0x3e277e(0x1ed)]!==null)return this['availableScanners'];const _0x342183={'semgrep':![],'bandit':![],'npmAudit':![],'pipAudit':![],'eslintSecurity':![]};try{const _0x582b4c=a0_0x2a2b22[_0x3e277e(0x1d9)](this[_0x3e277e(0x231)],'semgrep');try{await a0_0x1703e6[_0x3e277e(0x1ff)](_0x582b4c),_0x342183['semgrep']=!![],this[_0x3e277e(0x21d)]?.['debug'](_0x3e277e(0x220));}catch{await execAsync('semgrep\x20--version',{'timeout':0x1388}),_0x342183['semgrep']=!![],this[_0x3e277e(0x21d)]?.[_0x3e277e(0x1d5)]('Semgrep\x20scanner\x20detected\x20(system)');}}catch(_0x5a818e){this[_0x3e277e(0x21d)]?.['debug'](_0x3e277e(0x1c5),{'error':_0x5a818e[_0x3e277e(0x1fc)]});}try{await execAsync(_0x3e277e(0x1d1),{'timeout':0x1388}),_0x342183['bandit']=!![],this['logger']?.['debug'](_0x3e277e(0x214));}catch(_0x33b7ea){this['logger']?.['debug'](_0x3e277e(0x232),{'error':_0x33b7ea['message']});}try{await execAsync('npm\x20--version',{'timeout':0x1388}),_0x342183[_0x3e277e(0x20d)]=!![],this[_0x3e277e(0x21d)]?.['debug']('npm\x20audit\x20available');}catch(_0x2c5a46){this['logger']?.['debug']('npm\x20not\x20available',{'error':_0x2c5a46['message']});}try{await execAsync('pip-audit\x20--version',{'timeout':0x1388}),_0x342183[_0x3e277e(0x1e2)]=!![],this[_0x3e277e(0x21d)]?.['debug'](_0x3e277e(0x1e1));}catch(_0x5c9b50){this['logger']?.['debug']('pip-audit\x20not\x20available',{'error':_0x5c9b50[_0x3e277e(0x1fc)]});}try{const _0x47ba16=await execAsync(_0x3e277e(0x1f4),{'timeout':0x1388,'cwd':process[_0x3e277e(0x241)]()}),_0x28cd27=JSON[_0x3e277e(0x22c)](_0x47ba16['stdout']);_0x28cd27['dependencies']&&_0x28cd27['dependencies'][_0x3e277e(0x226)]&&(_0x342183[_0x3e277e(0x234)]=!![],this['logger']?.[_0x3e277e(0x1d5)]('eslint-plugin-security\x20detected'));}catch(_0x57bda1){this['logger']?.['debug'](_0x3e277e(0x239),{'error':_0x57bda1[_0x3e277e(0x1fc)]});}return this['availableScanners']=_0x342183,_0x342183;}async[a0_0x3449c6(0x215)](_0x45dd40,_0x38592f,_0x578ef3={}){const _0x4dd4ae=a0_0x3449c6,_0x2b0d4b=[],_0x4bdd2c=await this['detectAvailableScanners'](),_0x20824f=this[_0x4dd4ae(0x1d7)](_0x45dd40);if(_0x578ef3['skipTestFiles']!==![]&&this[_0x4dd4ae(0x210)](_0x45dd40))return this['logger']?.['debug']('Skipping\x20test\x20file\x20for\x20security\x20scan',{'filePath':_0x45dd40}),[];if(_0x20824f==='javascript'||_0x20824f===_0x4dd4ae(0x203)){if(_0x4bdd2c['semgrep']){const _0x249edf=await this[_0x4dd4ae(0x233)](_0x45dd40,[_0x20824f],_0x578ef3);_0x2b0d4b[_0x4dd4ae(0x229)](..._0x249edf);}if(_0x4bdd2c['eslintSecurity']){const _0x10fbf6=await this[_0x4dd4ae(0x205)](_0x45dd40,_0x38592f,_0x578ef3);_0x2b0d4b['push'](..._0x10fbf6);}}if(_0x20824f===_0x4dd4ae(0x1e3)){if(_0x4bdd2c[_0x4dd4ae(0x22e)]){const _0x18d58e=await this[_0x4dd4ae(0x1cd)](_0x45dd40,_0x578ef3);_0x2b0d4b[_0x4dd4ae(0x229)](..._0x18d58e);}if(_0x4bdd2c['semgrep']){const _0x5a84d0=await this[_0x4dd4ae(0x233)](_0x45dd40,[_0x20824f],_0x578ef3);_0x2b0d4b['push'](..._0x5a84d0);}}return _0x2b0d4b[_0x4dd4ae(0x1cf)]===0x0&&!this['hasScannersForLanguage'](_0x4bdd2c,_0x20824f)&&this['logger']?.['warn']('No\x20security\x20scanners\x20available\x20for\x20language',{'language':_0x20824f,'filePath':_0x45dd40}),this['normalizeResults'](_0x2b0d4b);}async[a0_0x3449c6(0x20b)](_0x32e8e3,_0x2d4e84,_0x2af951={}){const _0x371188=a0_0x3449c6,_0x25dd61=[],_0x43a1d0=await this['detectAvailableScanners']();if(_0x2d4e84==='javascript'||_0x2d4e84==='typescript'){if(_0x43a1d0[_0x371188(0x20d)]){const _0x3c5e1e=await this[_0x371188(0x22b)](_0x32e8e3,_0x2af951);_0x25dd61[_0x371188(0x229)](..._0x3c5e1e);}}if(_0x2d4e84==='python'){if(_0x43a1d0['pipAudit']){const _0x351588=await this['runPipAudit'](_0x32e8e3,_0x2af951);_0x25dd61['push'](..._0x351588);}}return this[_0x371188(0x21e)](_0x25dd61);}async[a0_0x3449c6(0x233)](_0x58fea9,_0x44881a,_0x120282={}){const _0x594a4d=a0_0x3449c6;try{const _0x3b6980=a0_0x2a2b22['dirname'](_0x58fea9),_0x3a26d2=await execAsync('semgrep\x20--config=auto\x20--json\x20\x22'+_0x58fea9+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530,'cwd':_0x3b6980}),_0x1f1fe8=JSON[_0x594a4d(0x22c)](_0x3a26d2[_0x594a4d(0x209)]);return this[_0x594a4d(0x23b)](_0x1f1fe8);}catch(_0x1725fd){if(_0x1725fd['stdout'])try{const _0x3a3589=JSON[_0x594a4d(0x22c)](_0x1725fd[_0x594a4d(0x209)]);return this['parseSemgrepResults'](_0x3a3589);}catch(_0x4056bd){this['logger']?.['error']('Failed\x20to\x20parse\x20Semgrep\x20output',{'error':_0x4056bd[_0x594a4d(0x1fc)],'stdout':_0x1725fd[_0x594a4d(0x209)]});}return this['logger']?.['error']('Semgrep\x20scan\x20failed',{'error':_0x1725fd[_0x594a4d(0x1fc)]}),[];}}[a0_0x3449c6(0x23b)](_0x33d1f0){const _0x6b1989=a0_0x3449c6,_0x255ac6=[];if(_0x33d1f0[_0x6b1989(0x228)]&&Array[_0x6b1989(0x1f5)](_0x33d1f0['results']))for(const _0x88bdc6 of _0x33d1f0[_0x6b1989(0x228)]){_0x255ac6[_0x6b1989(0x229)]({'file':_0x88bdc6['path'],'line':_0x88bdc6[_0x6b1989(0x1fe)]?.[_0x6b1989(0x1d0)]||0x1,'column':_0x88bdc6['start']?.['col']||0x1,'severity':this[_0x6b1989(0x202)](_0x88bdc6[_0x6b1989(0x1c4)]?.['severity']),'rule':_0x88bdc6['check_id'],'message':_0x88bdc6['extra']?.['message']||_0x88bdc6['extra']?.[_0x6b1989(0x236)]||_0x6b1989(0x1f7),'category':'security','scanner':'semgrep','cwe':_0x88bdc6[_0x6b1989(0x1c4)]?.[_0x6b1989(0x1ee)]?.[_0x6b1989(0x211)],'owasp':_0x88bdc6[_0x6b1989(0x1c4)]?.[_0x6b1989(0x1ee)]?.[_0x6b1989(0x1e6)],'confidence':_0x88bdc6[_0x6b1989(0x1c4)]?.[_0x6b1989(0x1ee)]?.['confidence'],'references':_0x88bdc6[_0x6b1989(0x1c4)]?.[_0x6b1989(0x1ee)]?.[_0x6b1989(0x238)]});}return _0x255ac6;}async['runBandit'](_0x27c0ff,_0x574f79={}){const _0x91712a=a0_0x3449c6;try{const _0x1ff5e4=await execAsync('bandit\x20-f\x20json\x20\x22'+_0x27c0ff+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530}),_0x4e79fc=JSON[_0x91712a(0x22c)](_0x1ff5e4[_0x91712a(0x209)]);return this[_0x91712a(0x20c)](_0x4e79fc);}catch(_0x13846e){if(_0x13846e['stdout'])try{const _0x46ce85=JSON[_0x91712a(0x22c)](_0x13846e['stdout']);return this['parseBanditResults'](_0x46ce85);}catch(_0x57fb52){this[_0x91712a(0x21d)]?.['error']('Failed\x20to\x20parse\x20Bandit\x20output',{'error':_0x57fb52[_0x91712a(0x1fc)]});}return this[_0x91712a(0x21d)]?.[_0x91712a(0x21f)](_0x91712a(0x23d),{'error':_0x13846e[_0x91712a(0x1fc)]}),[];}}[a0_0x3449c6(0x20c)](_0x10a9bb){const _0x2c939a=a0_0x3449c6,_0x382b7b=[];if(_0x10a9bb['results']&&Array[_0x2c939a(0x1f5)](_0x10a9bb['results']))for(const _0x15906c of _0x10a9bb[_0x2c939a(0x228)]){_0x382b7b['push']({'file':_0x15906c[_0x2c939a(0x1f0)],'line':_0x15906c[_0x2c939a(0x216)]||0x1,'column':_0x15906c['col_offset']||0x1,'severity':this['mapBanditSeverity'](_0x15906c[_0x2c939a(0x1fd)]),'rule':_0x15906c['test_id'],'message':_0x15906c[_0x2c939a(0x1dd)],'category':'security','scanner':_0x2c939a(0x22e),'cwe':_0x15906c['issue_cwe']?.['id']?'CWE-'+_0x15906c[_0x2c939a(0x1c8)]['id']:null,'confidence':_0x15906c['issue_confidence'],'moreInfo':_0x15906c[_0x2c939a(0x1ca)]});}return _0x382b7b;}async[a0_0x3449c6(0x205)](_0xa3603d,_0x331f77,_0x108651={}){const _0x3b5de6=a0_0x3449c6;try{const {ESLint:_0xac55f3}=await import(_0x3b5de6(0x20f)),_0x3152cf=new _0xac55f3({'overrideConfig':{'plugins':[_0x3b5de6(0x201)],'extends':[_0x3b5de6(0x1d8)],'parserOptions':{'ecmaVersion':_0x3b5de6(0x21b),'sourceType':'module'}},'useEslintrc':![]}),_0xac0e4e=await _0x3152cf['lintText'](_0x331f77,{'filePath':_0xa3603d});return this[_0x3b5de6(0x1de)](_0xac0e4e,_0xa3603d);}catch(_0x5e0e0b){return this[_0x3b5de6(0x21d)]?.[_0x3b5de6(0x21f)]('ESLint\x20security\x20scan\x20failed',{'error':_0x5e0e0b['message'],'filePath':_0xa3603d}),[];}}[a0_0x3449c6(0x1de)](_0x53fad1,_0xbcd899){const _0x108f6f=a0_0x3449c6,_0x3862d9=[];for(const _0x3a8fcc of _0x53fad1){if(_0x3a8fcc[_0x108f6f(0x223)]&&Array['isArray'](_0x3a8fcc['messages']))for(const _0x354524 of _0x3a8fcc[_0x108f6f(0x223)]){_0x354524['ruleId']&&_0x354524[_0x108f6f(0x1df)][_0x108f6f(0x1fa)]('security/')&&_0x3862d9[_0x108f6f(0x229)]({'file':_0xbcd899,'line':_0x354524['line']||0x1,'column':_0x354524['column']||0x1,'severity':this[_0x108f6f(0x1dc)](_0x354524[_0x108f6f(0x1ce)]),'rule':_0x354524[_0x108f6f(0x1df)],'message':_0x354524[_0x108f6f(0x1fc)],'category':'security','scanner':_0x108f6f(0x1e8),'fixable':_0x354524['fix']!==undefined});}}return _0x3862d9;}async[a0_0x3449c6(0x22b)](_0x5cd965,_0x12c57e={}){const _0x3e88f1=a0_0x3449c6;try{const _0x22004b=a0_0x2a2b22['join'](_0x5cd965,_0x3e88f1(0x1c9));try{await a0_0x1703e6['access'](_0x22004b);}catch{return this['logger']?.['debug'](_0x3e88f1(0x219)),[];}const _0xf8f0a4=await execAsync('npm\x20audit\x20--json',{'cwd':_0x5cd965,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x56937a=JSON[_0x3e88f1(0x22c)](_0xf8f0a4['stdout']);return this['parseNpmAuditResults'](_0x56937a);}catch(_0x282221){if(_0x282221['stdout'])try{const _0x14ddf7=JSON[_0x3e88f1(0x22c)](_0x282221['stdout']);return this[_0x3e88f1(0x1c7)](_0x14ddf7);}catch(_0x1c908c){this[_0x3e88f1(0x21d)]?.[_0x3e88f1(0x21f)]('Failed\x20to\x20parse\x20npm\x20audit\x20output',{'error':_0x1c908c['message']});}return[];}}['parseNpmAuditResults'](_0x549703){const _0x2a8265=a0_0x3449c6,_0x32c376=[];if(_0x549703[_0x2a8265(0x1f3)])for(const [_0xecdd5,_0x4b28c8]of Object[_0x2a8265(0x225)](_0x549703['vulnerabilities'])){_0x32c376['push']({'file':'package.json','line':0x1,'column':0x1,'severity':this[_0x2a8265(0x20e)](_0x4b28c8['severity']),'rule':_0x2a8265(0x1e4)+(_0x4b28c8[_0x2a8265(0x22f)][0x0]?.[_0x2a8265(0x1f1)]||'advisory'),'message':_0xecdd5+':\x20'+(_0x4b28c8['via'][0x0]?.[_0x2a8265(0x23a)]||_0x2a8265(0x1d2)),'category':_0x2a8265(0x201),'scanner':'npm-audit','package':_0xecdd5,'vulnerableVersions':_0x4b28c8[_0x2a8265(0x22a)],'patchedVersions':_0x4b28c8[_0x2a8265(0x1f9)]?_0x2a8265(0x217):'None','cve':_0x4b28c8['via'][0x0]?.['cve'],'cvss':_0x4b28c8['via'][0x0]?.['cvss'],'references':_0x4b28c8[_0x2a8265(0x22f)][0x0]?.['url']?[_0x4b28c8[_0x2a8265(0x22f)][0x0]['url']]:[]});}return _0x32c376;}async['runPipAudit'](_0xa69761,_0xf1bf07={}){const _0x1015e7=a0_0x3449c6;try{const requirementsPath=a0_0x2a2b22['join'](_0xa69761,'requirements.txt');try{await a0_0x1703e6['access'](requirementsPath);}catch{return this[_0x1015e7(0x21d)]?.['debug'](_0x1015e7(0x206)),[];}const _0x5f562d=await execAsync(_0x1015e7(0x1eb),{'cwd':_0xa69761,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x2ce39f=JSON[_0x1015e7(0x22c)](_0x5f562d['stdout']);return this['parsePipAuditResults'](_0x2ce39f);}catch(_0x26fbfa){if(_0x26fbfa['stdout'])try{const _0x147798=JSON[_0x1015e7(0x22c)](_0x26fbfa[_0x1015e7(0x209)]);return this[_0x1015e7(0x23f)](_0x147798);}catch(_0x4cdbab){this[_0x1015e7(0x21d)]?.['error']('Failed\x20to\x20parse\x20pip-audit\x20output',{'error':_0x4cdbab['message']});}return[];}}[a0_0x3449c6(0x23f)](_0x5d37ee){const _0x29f8f5=a0_0x3449c6,_0x52021e=[];if(_0x5d37ee['dependencies']&&Array['isArray'](_0x5d37ee[_0x29f8f5(0x218)]))for(const _0x2c5904 of _0x5d37ee['dependencies']){if(_0x2c5904[_0x29f8f5(0x1c3)]&&Array[_0x29f8f5(0x1f5)](_0x2c5904[_0x29f8f5(0x1c3)]))for(const _0x373d05 of _0x2c5904['vulns']){_0x52021e[_0x29f8f5(0x229)]({'file':_0x29f8f5(0x1ec),'line':0x1,'column':0x1,'severity':this[_0x29f8f5(0x23c)](_0x373d05['severity']),'rule':_0x373d05['id'],'message':_0x2c5904[_0x29f8f5(0x227)]+':\x20'+(_0x373d05['description']||_0x29f8f5(0x1d2)),'category':'security','scanner':_0x29f8f5(0x1c6),'package':_0x2c5904[_0x29f8f5(0x227)],'vulnerableVersion':_0x2c5904['version'],'fixedVersions':_0x373d05['fix_versions'],'references':_0x373d05[_0x29f8f5(0x1f8)]||[]});}}return _0x52021e;}['detectLanguage'](_0x3df64d){const _0x5cf117=a0_0x3449c6,_0x523c06=a0_0x2a2b22[_0x5cf117(0x20a)](_0x3df64d)[_0x5cf117(0x1db)](),_0x19cd09={'.js':_0x5cf117(0x1e5),'.jsx':_0x5cf117(0x1e5),'.mjs':_0x5cf117(0x1e5),'.cjs':_0x5cf117(0x1e5),'.ts':'typescript','.tsx':'typescript','.py':_0x5cf117(0x1e3)};return _0x19cd09[_0x523c06]||null;}[a0_0x3449c6(0x210)](_0x3ef910){const _0x4c1f55=a0_0x3449c6,_0x538b78=[/\.test\./,/\.spec\./,/__tests__\//,/\/tests?\//,/\.test$/,/\.spec$/];return _0x538b78[_0x4c1f55(0x1e0)](_0x57656c=>_0x57656c['test'](_0x3ef910));}[a0_0x3449c6(0x235)](_0x46a147,_0x89492f){const _0x26af6f=a0_0x3449c6;if(_0x89492f==='javascript'||_0x89492f===_0x26af6f(0x203))return _0x46a147[_0x26af6f(0x1d4)]||_0x46a147[_0x26af6f(0x234)];if(_0x89492f==='python')return _0x46a147['bandit']||_0x46a147[_0x26af6f(0x1d4)];return![];}['normalizeResults'](_0x416389){const _0x519d71=a0_0x3449c6;return _0x416389['map'](_0x38201c=>({'file':_0x38201c['file'],'line':_0x38201c['line']||0x1,'column':_0x38201c['column']||0x1,'severity':_0x38201c['severity']||STATIC_ANALYSIS[_0x519d71(0x22d)]['WARNING'],'rule':_0x38201c[_0x519d71(0x23e)]||'unknown','message':_0x38201c['message']||'Security\x20issue\x20detected','category':'security','scanner':_0x38201c['scanner'],'cwe':_0x38201c[_0x519d71(0x211)]||null,'owasp':_0x38201c['owasp']||null,'confidence':_0x38201c['confidence']||null,'fixable':_0x38201c[_0x519d71(0x1fb)]||![],'remediation':_0x38201c['remediation']||_0x38201c[_0x519d71(0x208)]||null,'references':_0x38201c['references']||[],'package':_0x38201c['package']||null}));}['mapSemgrepSeverity'](_0x29bd45){const _0x199d70=a0_0x3449c6,_0x6fa4c6={'ERROR':STATIC_ANALYSIS[_0x199d70(0x22d)]['CRITICAL'],'WARNING':STATIC_ANALYSIS['SEVERITY'][_0x199d70(0x1d6)],'INFO':STATIC_ANALYSIS['SEVERITY']['WARNING']};return _0x6fa4c6[_0x29bd45?.['toUpperCase']()]||STATIC_ANALYSIS[_0x199d70(0x22d)][_0x199d70(0x240)];}['mapBanditSeverity'](_0x3ace7b){const _0x4bc80a=a0_0x3449c6,_0x14d60d={'HIGH':STATIC_ANALYSIS[_0x4bc80a(0x22d)][_0x4bc80a(0x200)],'MEDIUM':STATIC_ANALYSIS['SEVERITY']['ERROR'],'LOW':STATIC_ANALYSIS[_0x4bc80a(0x22d)]['WARNING']};return _0x14d60d[_0x3ace7b?.[_0x4bc80a(0x21a)]()]||STATIC_ANALYSIS[_0x4bc80a(0x22d)]['WARNING'];}[a0_0x3449c6(0x1dc)](_0x13b7fd){const _0x2c6cfe=a0_0x3449c6;return _0x13b7fd===0x2?STATIC_ANALYSIS[_0x2c6cfe(0x22d)]['ERROR']:STATIC_ANALYSIS[_0x2c6cfe(0x22d)]['WARNING'];}['mapNpmSeverity'](_0x4507fb){const _0x3dd029=a0_0x3449c6,_0x2d052b={'critical':STATIC_ANALYSIS['SEVERITY']['CRITICAL'],'high':STATIC_ANALYSIS['SEVERITY']['CRITICAL'],'moderate':STATIC_ANALYSIS['SEVERITY'][_0x3dd029(0x1d6)],'low':STATIC_ANALYSIS[_0x3dd029(0x22d)]['WARNING'],'info':STATIC_ANALYSIS[_0x3dd029(0x22d)][_0x3dd029(0x1f6)]};return _0x2d052b[_0x4507fb?.['toLowerCase']()]||STATIC_ANALYSIS[_0x3dd029(0x22d)][_0x3dd029(0x240)];}['mapPipAuditSeverity'](_0x4baf03){const _0x2a6409=a0_0x3449c6;if(!_0x4baf03)return STATIC_ANALYSIS[_0x2a6409(0x22d)]['ERROR'];const _0x177984={'critical':STATIC_ANALYSIS['SEVERITY'][_0x2a6409(0x200)],'high':STATIC_ANALYSIS['SEVERITY']['CRITICAL'],'medium':STATIC_ANALYSIS['SEVERITY'][_0x2a6409(0x1d6)],'low':STATIC_ANALYSIS[_0x2a6409(0x22d)][_0x2a6409(0x240)]};return _0x177984[_0x4baf03?.['toLowerCase']()]||STATIC_ANALYSIS['SEVERITY'][_0x2a6409(0x1d6)];}async['getScannerStatus'](){const _0x5eaa42=await this['detectAvailableScanners']();return{'scanners':_0x5eaa42,'recommendations':this['getInstallRecommendations'](_0x5eaa42)};}['getInstallRecommendations'](_0xcc5829){const _0x4d4e8d=a0_0x3449c6,_0x54144a=[];return!_0xcc5829[_0x4d4e8d(0x1d4)]&&_0x54144a['push']({'scanner':_0x4d4e8d(0x1d3),'reason':'Multi-language\x20SAST\x20with\x20extensive\x20security\x20rules','install':'pip\x20install\x20semgrep\x20OR\x20use\x20Docker:\x20docker\x20pull\x20returntocorp/semgrep','priority':_0x4d4e8d(0x207)}),!_0xcc5829[_0x4d4e8d(0x22e)]&&_0x54144a[_0x4d4e8d(0x229)]({'scanner':'Bandit','reason':'Python\x20security\x20scanner','install':'pip\x20install\x20bandit','priority':'medium'}),!_0xcc5829['eslintSecurity']&&_0x54144a['push']({'scanner':'eslint-plugin-security','reason':_0x4d4e8d(0x237),'install':_0x4d4e8d(0x224),'priority':_0x4d4e8d(0x230)}),!_0xcc5829[_0x4d4e8d(0x1e2)]&&_0x54144a[_0x4d4e8d(0x229)]({'scanner':_0x4d4e8d(0x1c6),'reason':_0x4d4e8d(0x1ea),'install':_0x4d4e8d(0x242),'priority':_0x4d4e8d(0x1e9)}),_0x54144a;}}export default SecurityAnalyzer;function a0_0x1baa(){const _0x488fdf=['qMfUzgL0ig5VDcbHDMfPBgfIBgu','CNvUu2vTz3jLCa','zxnSAw50u2vJDxjPDhK','AgfZu2nHBM5LCNngB3jmyw5NDwfNzq','BgLUzxm','sMf2yvnJCMLWDc9uExbLu2nYAxb0ihnLy3vYAxr5ihj1BgvZ','CMvMzxjLBMnLCW','zxnSAw50lxbSDwDPBI1Zzwn1CML0EsbUB3qGyxzHAwXHyMXL','DgL0Bgu','CgfYC2vtzw1NCMvWuMvZDwX0CW','BwfWugLWqxvKAxrtzxzLCML0Eq','qMfUzgL0ihnJyw4GzMfPBgvK','CNvSzq','CgfYC2vqAxbbDwrPDfjLC3vSDhm','v0fstKLorW','y3DK','CgLWigLUC3rHBgWGCgLWlwf1zgL0','DNvSBNm','zxH0CMe','u2vTz3jLCcbUB3qGyxzHAwXHyMXL','CgLWlwf1zgL0','CgfYC2voCg1bDwrPDfjLC3vSDhm','AxnZDwvFy3DL','CgfJA2fNzs5QC29U','Bw9Yzv9PBMzV','mtq1D1z6z1nL','mtCXAgLwzfv4','CNvUqMfUzgL0','C2v2zxjPDhK','BgvUz3rO','BgLUzq','yMfUzgL0ic0TDMvYC2LVBG','u2vJDxjPDhKGDNvSBMvYywjPBgL0Eq','u2vTz3jLCa','C2vTz3jLCa','zgvIDwC','rvjst1i','zgv0zwn0tgfUz3vHz2u','CgX1z2LUoNnLy3vYAxr5l3jLy29TBwvUzgvK','AM9PBG','lNnJyw5UzxjZ','Dg9mB3DLCKnHC2u','BwfWrvnmAw50u2v2zxjPDhK','AxnZDwvFDgv4Da','CgfYC2vfu0XPBNrszxn1BhrZ','CNvSzuLK','C29Tzq','CgLWlwf1zgL0igrLDgvJDgvK','CgLWqxvKAxq','ChL0Ag9U','BNbTlq','AMf2yxnJCMLWDa','B3DHC3a','BM9Kzv9TB2r1BgvZ','zxnSAw50lxnLy3vYAxr5','Bg93','uhL0Ag9UigrLCgvUzgvUy3KGDNvSBMvYywjPBgL0EsbZy2fUBMvY','CgLWlwf1zgL0ic0TzM9YBwf0igPZB24','CMvXDwLYzw1LBNrZlNr4Da','yxzHAwXHyMXLu2nHBM5LCNm','Bwv0ywrHDge','mtu3nJuYmhLryu95Ca','zMLSzw5HBwu','C291CMnL','nJe4mZjJzePhzuC','DNvSBMvYywjPBgL0AwvZ','BNbTigXPC3qGzxnSAw50lxbSDwDPBI1Zzwn1CML0EsaTlwrLChrOptaGls1QC29U','AxnbCNjHEq','su5gtW','u2vJDxjPDhKGAxnZDwuGzgv0zwn0zwq','ywXPyxnLCW','zML4qxzHAwXHyMXL','C3rHCNrZv2L0Aa','zML4ywjSzq','BwvZC2fNzq','AxnZDwvFC2v2zxjPDhK','C3rHCNq','ywnJzxnZ','q1jjveLdquW','C2vJDxjPDhK','BwfWu2vTz3jLCfnLDMvYAxr5','DhLWzxnJCMLWDa','ndGWnZC3DM5PAKfW','CNvUrvnmAw50u2vJDxjPDhK','tM8GCMvXDwLYzw1LBNrZlNr4DcbMB3vUzcWGC2TPChbPBMCGCgLWlwf1zgL0','AgLNAa','Bw9YzuLUzM8','C3rKB3v0','zxH0BMfTzq','yw5HBhL6zvbYB2PLy3q','CgfYC2vcyw5KAxrszxn1BhrZ','BNbTqxvKAxq','BwfWtNbTu2v2zxjPDhK','zxnSAw50','Axnuzxn0rMLSzq','y3DL','mZK0ntGWu1jzqMX5','mJm4Eezvzgj5','qMfUzgL0ihnJyw5UzxiGzgv0zwn0zwq','yw5HBhL6zq','BgLUzv9UDw1Izxi','qxzHAwXHyMXL','zgvWzw5Kzw5JAwvZ','tM8GCgfJA2fNzs5QC29UigzVDw5KlcbZA2LWCgLUzYbUCg0GyxvKAxq','Dg9vChbLCKnHC2u','Bgf0zxn0','odmWmJu2C05gy1fP','Bg9Nz2vY','BM9YBwfSAxPLuMvZDwX0CW','zxjYB3i','u2vTz3jLCcbZy2fUBMvYigrLDgvJDgvKicHSB2nHBcK','odK4nZr3CurlsK8','oteXmtCYCeTssLbm','BwvZC2fNzxm','BNbTigLUC3rHBgWGls1ZyxzLlwrLDIbLC2XPBNqTCgX1z2LUlxnLy3vYAxr5','zw50CMLLCW','zxnSAw50lxbSDwDPBI1Zzwn1CML0Eq','BMfTzq','CMvZDwX0CW','ChvZAa','CMfUz2u','CNvUtNbTqxvKAxq','CgfYC2u','u0vwrvjjvfK','yMfUzgL0','DMLH','BwvKAxvT','Bg9JywXty2fUBMvYrgLY'];a0_0x1baa=function(){return _0x488fdf;};return a0_0x1baa();}
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 +1 @@
1
- const a0_0x293cb5=a0_0x1e5c;(function(_0x55652a,_0x2cc3ad){const _0x3bdc04=a0_0x1e5c,_0x5cf6e9=_0x55652a();while(!![]){try{const _0x25fc8e=parseInt(_0x3bdc04(0xbb))/0x1*(parseInt(_0x3bdc04(0x96))/0x2)+parseInt(_0x3bdc04(0xa8))/0x3*(parseInt(_0x3bdc04(0x9f))/0x4)+parseInt(_0x3bdc04(0xb4))/0x5+parseInt(_0x3bdc04(0xa3))/0x6+-parseInt(_0x3bdc04(0xab))/0x7+-parseInt(_0x3bdc04(0xa1))/0x8+-parseInt(_0x3bdc04(0xae))/0x9*(parseInt(_0x3bdc04(0xb9))/0xa);if(_0x25fc8e===_0x2cc3ad)break;else _0x5cf6e9['push'](_0x5cf6e9['shift']());}catch(_0x441bf4){_0x5cf6e9['push'](_0x5cf6e9['shift']());}}}(a0_0x1519,0xcb51b));import a0_0x142c68 from'typescript';import a0_0xcff81a from'path';function a0_0x1e5c(_0x3f3202,_0x1cdd86){_0x3f3202=_0x3f3202-0x94;const _0x15198e=a0_0x1519();let _0x1e5c0f=_0x15198e[_0x3f3202];if(a0_0x1e5c['vGhzkH']===undefined){var _0x411783=function(_0x20e88a){const _0x43f20c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x142c68='',_0xcff81a='';for(let _0x2918e0=0x0,_0x3d75b7,_0x4f304b,_0x3b9e47=0x0;_0x4f304b=_0x20e88a['charAt'](_0x3b9e47++);~_0x4f304b&&(_0x3d75b7=_0x2918e0%0x4?_0x3d75b7*0x40+_0x4f304b:_0x4f304b,_0x2918e0++%0x4)?_0x142c68+=String['fromCharCode'](0xff&_0x3d75b7>>(-0x2*_0x2918e0&0x6)):0x0){_0x4f304b=_0x43f20c['indexOf'](_0x4f304b);}for(let _0x511ca8=0x0,_0x31f404=_0x142c68['length'];_0x511ca8<_0x31f404;_0x511ca8++){_0xcff81a+='%'+('00'+_0x142c68['charCodeAt'](_0x511ca8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xcff81a);};a0_0x1e5c['OvjFzx']=_0x411783,a0_0x1e5c['VabIhB']={},a0_0x1e5c['vGhzkH']=!![];}const _0x4e6b8e=_0x15198e[0x0],_0xa4a728=_0x3f3202+_0x4e6b8e,_0x271918=a0_0x1e5c['VabIhB'][_0xa4a728];return!_0x271918?(_0x1e5c0f=a0_0x1e5c['OvjFzx'](_0x1e5c0f),a0_0x1e5c['VabIhB'][_0xa4a728]=_0x1e5c0f):_0x1e5c0f=_0x271918,_0x1e5c0f;}import{STATIC_ANALYSIS}from'../utilities/constants.js';function a0_0x1519(){const _0x98c755=['BgLUzq','BgvUz3rO','rxjYB3i','vhLWzvnJCMLWDcbHBMfSExnPCYbJB21WBgv0zwq','mtjHsw1mu0C','y29TCgLSzxjpChrPB25Z','ntm2mdiZmKfmq1jWtq','Aw5JBhvKzxm','mte0mdeXneTrqwvpzq','u2vTyw50AwmGyw5HBhLZAxmGzw5JB3vUDgvYzwqGzxjYB3i','q0furuDpuLK','y2HHCMfJDgvY','tw9KDwXLuMvZB2X1DgLVBKTPBMq','mtyYote1mfnHBNbmuW','rgLHz25VC3rPy0nHDgvNB3j5','zgvIDwC','mJuXmZy1muHWuKn6yW','Bg9Nz2vY','tM9KzuPZ','mtGXnZe5Axrvy0XZ','zMLSzu5HBwu','y2fUBM90igzPBMqGBw9KDwXL','y3jLyxrLu291CMnLrMLSzq','C3rHCNq','zMLSDgvY','mtGWmtyZmgj0tfnKva','u1Lovefy','tw9KDwXLs2LUza','zgLYBMfTzq','C2v2zxjPDhK','ntKWyw5PCNLY','CgfYC2veAwfNBM9ZDgLJCW','otyWmuDdz0DVBq','rvnozxH0','zMLSzq','z2v0u3LUDgfJDgLJrgLHz25VC3rPy3m','y29Kzq','z2v0u2vTyw50AwneAwfNBM9ZDgLJCW','rvjst1i','mtGYuw9Yy216','su5gtW','y2XHC3m','u0vwrvjjvfK','z2v0tgLUzufUzenOyxjHy3rLCK9Mug9ZAxrPB24'];a0_0x1519=function(){return _0x98c755;};return a0_0x1519();}class TypeScriptAnalyzer{constructor(_0x2918e0=null){const _0x90856=a0_0x1e5c;this['logger']=_0x2918e0,this[_0x90856(0xa0)]={'noEmit':!![],'jsx':a0_0x142c68['JsxEmit']['React'],'target':a0_0x142c68['ScriptTarget']['Latest'],'module':a0_0x142c68[_0x90856(0xb6)][_0x90856(0xbc)],'moduleResolution':a0_0x142c68[_0x90856(0xa7)][_0x90856(0xad)],'esModuleInterop':!![],'skipLibCheck':!![],'strict':!![],'noImplicitAny':!![],'strictNullChecks':!![],'strictFunctionTypes':!![],'allowJs':![]};}async['analyze'](_0x3d75b7,_0x4f304b,_0x3b9e47={}){const _0x55b381=a0_0x1e5c;try{const _0x511ca8=[],_0x31f404=a0_0x142c68[_0x55b381(0xb1)](_0x3d75b7,_0x4f304b,a0_0x142c68['ScriptTarget']['Latest'],!![]),_0x3bb075=this[_0x55b381(0xbe)](_0x31f404);_0x511ca8['push'](..._0x3bb075);const _0x2ea54d=await this['getSemanticDiagnostics'](_0x3d75b7,_0x4f304b);return _0x511ca8['push'](..._0x2ea54d),this['logger']?.[_0x55b381(0xaa)](_0x55b381(0x9e),{'file':_0x3d75b7,'totalDiagnostics':_0x511ca8['length'],'errors':_0x511ca8['filter'](_0x1650f5=>_0x1650f5[_0x55b381(0xb8)]===STATIC_ANALYSIS[_0x55b381(0x99)][_0x55b381(0x95)])['length'],'warnings':_0x511ca8[_0x55b381(0xb3)](_0x5679f0=>_0x5679f0[_0x55b381(0xb8)]===STATIC_ANALYSIS['SEVERITY']['WARNING'])[_0x55b381(0x9c)]}),_0x511ca8;}catch(_0x2d9201){return this['logger']?.['error']('TypeScript\x20analysis\x20failed',{'file':_0x3d75b7,'error':_0x2d9201['message']}),[{'file':_0x3d75b7,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS[_0x55b381(0x99)][_0x55b381(0x95)],'rule':'analyzer-error','message':'Analysis\x20failed:\x20'+_0x2d9201['message'],'category':STATIC_ANALYSIS[_0x55b381(0xa5)]['SYNTAX']}];}}['getSyntacticDiagnostics'](_0x437916){const _0x3ec7d0=a0_0x1e5c,_0x15052e=[];if(_0x437916[_0x3ec7d0(0xba)]&&_0x437916[_0x3ec7d0(0xba)][_0x3ec7d0(0x9c)]>0x0)for(const _0x518a53 of _0x437916['parseDiagnostics']){_0x15052e['push'](this['formatDiagnostic'](_0x518a53,_0x437916));}return _0x15052e;}async[a0_0x293cb5(0x94)](_0x268382,_0x2e28dd){const _0x540d4a=a0_0x293cb5,_0x1249bc=[];try{const _0x220da6=a0_0x142c68['createSourceFile'](_0x268382,_0x2e28dd,a0_0x142c68['ScriptTarget']['Latest'],!![]),_0x3fa4ae={'getSourceFile':_0xcec5e6=>{if(_0xcec5e6===_0x268382)return _0x220da6;return undefined;},'getDefaultLibFileName':()=>'lib.d.ts','writeFile':()=>{},'getCurrentDirectory':()=>a0_0xcff81a[_0x540d4a(0xb7)](_0x268382),'getDirectories':()=>[],'fileExists':_0x5db7b4=>_0x5db7b4===_0x268382,'readFile':_0x4f4ec6=>{if(_0x4f4ec6===_0x268382)return _0x2e28dd;return undefined;},'getCanonicalFileName':_0x2a535c=>_0x2a535c,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x19acb4=a0_0x142c68['createProgram']({'rootNames':[_0x268382],'options':this['compilerOptions'],'host':_0x3fa4ae}),_0xfc26bb=_0x19acb4[_0x540d4a(0xbe)](_0x220da6),_0x53083e=_0x19acb4['getSemanticDiagnostics'](_0x220da6);for(const _0x413e4b of[..._0xfc26bb,..._0x53083e]){_0x1249bc['push'](this['formatDiagnostic'](_0x413e4b,_0x220da6));}}catch(_0x2d5cdd){this[_0x540d4a(0xac)]?.['debug'](_0x540d4a(0xa4),{'file':_0x268382,'error':_0x2d5cdd['message']});}return _0x1249bc;}['formatDiagnostic'](_0x66e82b,_0x1f6cd3){const _0x4f4f99=a0_0x293cb5;let _0x37a67b=0x0,_0x20c0ae=0x0;if(_0x66e82b[_0x4f4f99(0xbd)]&&_0x66e82b[_0x4f4f99(0xb2)]!==undefined){const _0x5b2109=_0x66e82b[_0x4f4f99(0xbd)][_0x4f4f99(0x9a)](_0x66e82b[_0x4f4f99(0xb2)]);_0x37a67b=_0x5b2109['line']+0x1,_0x20c0ae=_0x5b2109['character']+0x1;}else{if(_0x1f6cd3&&_0x66e82b[_0x4f4f99(0xb2)]!==undefined){const _0x3fc93d=_0x1f6cd3['getLineAndCharacterOfPosition'](_0x66e82b['start']);_0x37a67b=_0x3fc93d[_0x4f4f99(0x9b)]+0x1,_0x20c0ae=_0x3fc93d[_0x4f4f99(0xa6)]+0x1;}}const _0x8cd171=a0_0x142c68['flattenDiagnosticMessageText'](_0x66e82b['messageText'],'\x0a');let _0x3e2f9e;switch(_0x66e82b['category']){case a0_0x142c68[_0x4f4f99(0xa9)][_0x4f4f99(0x9d)]:_0x3e2f9e=STATIC_ANALYSIS['SEVERITY'][_0x4f4f99(0x95)];break;case a0_0x142c68['DiagnosticCategory']['Warning']:_0x3e2f9e=STATIC_ANALYSIS['SEVERITY']['WARNING'];break;case a0_0x142c68[_0x4f4f99(0xa9)]['Message']:case a0_0x142c68[_0x4f4f99(0xa9)]['Suggestion']:_0x3e2f9e=STATIC_ANALYSIS['SEVERITY'][_0x4f4f99(0x97)];break;default:_0x3e2f9e=STATIC_ANALYSIS[_0x4f4f99(0x99)][_0x4f4f99(0x95)];}let _0x51c4b3=STATIC_ANALYSIS[_0x4f4f99(0xa5)][_0x4f4f99(0xb5)];const _0x3f1cde=_0x66e82b[_0x4f4f99(0xbf)];if(_0x3f1cde>=0x7d0&&_0x3f1cde<0xbb8)_0x51c4b3=STATIC_ANALYSIS[_0x4f4f99(0xa5)]['TYPE'];else{if(_0x3f1cde>=0x3e8&&_0x3f1cde<0x7d0)_0x51c4b3=STATIC_ANALYSIS['CATEGORY']['SYNTAX'];else _0x3f1cde>=0x8fc&&_0x3f1cde<0x960&&(_0x51c4b3=STATIC_ANALYSIS[_0x4f4f99(0xa5)]['IMPORT']);}const _0x3fed1f=_0x8cd171['toLowerCase']();if(_0x3fed1f[_0x4f4f99(0xa2)](_0x4f4f99(0xb0))||_0x3fed1f['includes']('import')||_0x3fed1f['includes']('export'))_0x51c4b3=STATIC_ANALYSIS['CATEGORY']['IMPORT'];else(_0x3fed1f['includes']('type')||_0x3fed1f['includes']('interface')||_0x3fed1f[_0x4f4f99(0xa2)](_0x4f4f99(0x98)))&&(_0x51c4b3=STATIC_ANALYSIS['CATEGORY']['TYPE']);return{'file':_0x66e82b[_0x4f4f99(0xbd)]?.['fileName']||_0x1f6cd3?.[_0x4f4f99(0xaf)]||'unknown','line':_0x37a67b,'column':_0x20c0ae,'severity':_0x3e2f9e,'rule':'TS'+_0x3f1cde,'message':_0x8cd171,'category':_0x51c4b3,'fixable':![],'code':_0x66e82b[_0x4f4f99(0xbf)]};}}export default TypeScriptAnalyzer;
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 +1 @@
1
- function a0_0x4255(_0x55278c,_0x24d456){_0x55278c=_0x55278c-0x141;const _0x45d9f6=a0_0x45d9();let _0x4255d2=_0x45d9f6[_0x55278c];if(a0_0x4255['PckgGS']===undefined){var _0x127e36=function(_0x11eb37){const _0x113db5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x19ef3e='',_0x2779fc='';for(let _0x29e737=0x0,_0x205230,_0x3d11bd,_0x32e6e6=0x0;_0x3d11bd=_0x11eb37['charAt'](_0x32e6e6++);~_0x3d11bd&&(_0x205230=_0x29e737%0x4?_0x205230*0x40+_0x3d11bd:_0x3d11bd,_0x29e737++%0x4)?_0x19ef3e+=String['fromCharCode'](0xff&_0x205230>>(-0x2*_0x29e737&0x6)):0x0){_0x3d11bd=_0x113db5['indexOf'](_0x3d11bd);}for(let _0x4f1541=0x0,_0x5d8dd=_0x19ef3e['length'];_0x4f1541<_0x5d8dd;_0x4f1541++){_0x2779fc+='%'+('00'+_0x19ef3e['charCodeAt'](_0x4f1541)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2779fc);};a0_0x4255['NVZRFr']=_0x127e36,a0_0x4255['xJCgAh']={},a0_0x4255['PckgGS']=!![];}const _0x175daf=_0x45d9f6[0x0],_0x12c499=_0x55278c+_0x175daf,_0x1a0d8e=a0_0x4255['xJCgAh'][_0x12c499];return!_0x1a0d8e?(_0x4255d2=a0_0x4255['NVZRFr'](_0x4255d2),a0_0x4255['xJCgAh'][_0x12c499]=_0x4255d2):_0x4255d2=_0x1a0d8e,_0x4255d2;}function a0_0x45d9(){const _0x2924b1=['nde2ntmYngLNq2nWvW','ChvZAa','twfRzsbMDxr1CMuGy2HHBMDLCYbLyxnPzxiGyw5KigXLC3mGzxjYB3iTChjVBMu','Dhj1BMnHDgvdB2rL','Aw1Wywn0u2nVCMu','mI4GuMvWBgfJzsbHBgWGAw5ZDgfUy2vZihDPDgGGDgHLigv4DhjHy3rLzcb2zxjZAw9U','C29YDa','y2fSy3vSyxrLtwv0CMLJCW','y29UC3q','y29UzMLN','zwXZzq','ms4Gq3jLyxrLigeGBMv3ignSyxnZihrVigvUy2fWC3vSyxrLihrOAxmGzNvUy3rPB25HBgL0Eq','Bg93','AM9PBG','twv0Ag9K','zM9YrwfJAa','DhLWzq','igrPzMzLCMvUDcbMAwXLCW','DMfY','Dg9Rzw5dB3vUDa','BwfW','zM9Y','CMvWBgfJzq','igr1CgXPy2f0zwqGBgLUzxmGB2yGy29Kzq','zhvWBgLJyxrLzeXPBMvZ','CM91BMq','y2fSy3vSyxrLsw1Wywn0u2nVCMu','BgvUz3rO','rwXPBwLUyxrLia','y3jLyxrLrNvUy3rPB25oyw1L','yxzLCMfNzuXPBMvdB3vUDa','ms4GrxH0CMfJDcb0AguGzhvWBgLJyxrLzcbJB2rLihvZAw5Nia','zgv0zxjTAw5LuMvMywn0B3jPBMDtDhjHDgvNEq','C29Tzq','C2XPy2u','ihDVDwXKigLTChjVDMuGBwfPBNrHAw5HyMLSAxr5','mJq5mZqXnePJv2TQrG','lcbHBMqGCMvKDwnLignVzguGC2L6zq','y2HHCKf0','C3bSAxq','mtm3mZu1mezpqMTJrW','AgLNAa','igXVy2f0Aw9UCW','BwvKAxvT','Bg9N','Aw5JBhvKzxm','zw5KtgLUzq','C3rHCNrmAw5L','zxH0CMfJDc1TB2r1Bgu','lIbuAgLZigLZigeGAgLNAc1PBxbHy3qGCMvMywn0B3jPBMCGB3bWB3j0Dw5PDhK','C3vNz2vZDe5HBwu','y29Kzq','mJKZnJi4mg9hqM1WzW','ihrPBwvZ','zMLSzxndB3zLCMvK','zxH0CMfJDc1JBgfZCW','ndCWntG4me5Vy0vovq','Aw5ZDgfUy2vdB3vUDa','ms4Gq3jLyxrLigeGBMv3igz1BMn0Aw9Uig5HBwvKicC','nc4Gq29UC2LKzxiGzgvWzw5Kzw5JEsbPBMPLy3rPB24GzM9YigjLDhrLCIb0zxn0ywjPBgL0Eq','zxH0CMfJDc1MDw5JDgLVBG','ns4GvxbKyxrLigfUEsbIDwLSzcbJB25MAwD1CMf0Aw9UCYbPzIbUzwvKzwq','mZG0ndyZmwrJzLblzG','z2vUzxjHDgvszwzHy3rVCMLUz0fKDMLJzq','BwLU','zgv0zxjTAw5LuhjPB3jPDhK','zxH0CMfJDgvKrNvUy3rPB24','mI4Gtw92zsb0AguGzhvWBgLJyxrLzcbSB2DPyYbPBNrVihrOAxmGzNvUy3rPB24','sw1WCM92zsbTywLUDgfPBMfIAwXPDhKGyNKGy2vUDhjHBgL6Aw5NigXVz2LJigLUig9UzsbWBgfJzq','zxn0Aw1HDgvfzMzVCNq','sw1WCM92zsbJB2rLig9Yz2fUAxPHDgLVBIbHy3jVC3mG','yMXVy2TZ','y29UzMLKzw5Jzq','CMvKDwnL','mZe4otnxD1vXr1C','Bgv0','uMvKDwnLihjPC2SGB2yGAw5JB25ZAxn0zw50ignOyw5NzxmGywnYB3nZia','zNvUy3rPB24','mY4GrxHWB3j0ihrOzsbUzwnLC3nHCNKGzNvUy3rPB25Zl2nSyxnZzxm','qw5HBhL6Aw5NignSB25LCYbMB3iGCMvMywn0B3jPBMCGB3bWB3j0Dw5PDgLLCY4UlG'];a0_0x45d9=function(){return _0x2924b1;};return a0_0x45d9();}const a0_0x308c64=a0_0x4255;(function(_0x13faa3,_0xae5568){const _0x321098=a0_0x4255,_0x9625a1=_0x13faa3();while(!![]){try{const _0x32f3eb=-parseInt(_0x321098(0x14e))/0x1+parseInt(_0x321098(0x17c))/0x2+-parseInt(_0x321098(0x188))/0x3+-parseInt(_0x321098(0x154))/0x4+parseInt(_0x321098(0x18c))/0x5+parseInt(_0x321098(0x178))/0x6+parseInt(_0x321098(0x142))/0x7;if(_0x32f3eb===_0xae5568)break;else _0x9625a1['push'](_0x9625a1['shift']());}catch(_0x1fd74d){_0x9625a1['push'](_0x9625a1['shift']());}}}(a0_0x45d9,0x84061));export class RefactoringAnalyzer{constructor(_0x19ef3e){const _0x393387=a0_0x4255;this[_0x393387(0x15d)]=_0x19ef3e;}['analyzeClones'](_0x2779fc){const _0x52e6e8=a0_0x4255;return console[_0x52e6e8(0x180)](_0x52e6e8(0x153)),_0x2779fc['map']((_0x29e737,_0x205230)=>{const _0x488723=_0x52e6e8,_0x3d11bd=this[_0x488723(0x15b)](_0x29e737),_0x32e6e6=this[_0x488723(0x143)](_0x29e737,_0x3d11bd);return{'id':'clone-'+(_0x205230+0x1),'type':_0x29e737['type'],'confidence':_0x29e737[_0x488723(0x14c)],'instances':_0x29e737[_0x488723(0x14b)]['map'](_0x4f1541=>({'file':_0x4f1541['file'],'startLine':_0x4f1541[_0x488723(0x183)],'endLine':_0x4f1541[_0x488723(0x182)],'code':this[_0x488723(0x157)](_0x4f1541['code']),'fullCode':_0x4f1541['code'],'blockType':_0x4f1541[_0x488723(0x164)]})),'metrics':_0x3d11bd,'refactoringAdvice':_0x32e6e6};})['sort']((_0x5d8dd,_0x5d5416)=>_0x5d5416['metrics'][_0x52e6e8(0x158)]-_0x5d8dd['metrics']['impactScore']);}['calculateMetrics'](_0x5d0d8f){const _0x230cce=a0_0x4255,_0x265fd2=_0x5d0d8f[_0x230cce(0x14b)],_0x5143a9=_0x5d0d8f[_0x230cce(0x167)],_0x362992=this['averageLineCount'](_0x265fd2),_0x56aa04=_0x265fd2[_0x230cce(0x16f)],_0x5168eb=this[_0x230cce(0x16e)](_0x5143a9,_0x362992,_0x56aa04,_0x5d0d8f['confidence']),_0x33be1b=_0x362992*(_0x56aa04-0x1),_0x54c1da=_0x5143a9*(_0x56aa04-0x1);return{'tokenCount':_0x5143a9,'lineCount':_0x362992,'instanceCount':_0x56aa04,'duplicatedLines':_0x33be1b,'duplicatedTokens':_0x54c1da,'impactScore':parseFloat(_0x5168eb['toFixed'](0x2)),'filesCovered':new Set(_0x265fd2[_0x230cce(0x168)](_0x449727=>_0x449727['file']))['size']};}['calculateImpactScore'](_0x513bc4,_0x42801c,_0x430346,_0x56809c){const _0x1a9ec3=a0_0x4255,_0x4f78a7=Math['log10'](_0x513bc4+0x1)*0x2,_0x132bd1=Math['log2'](_0x430346+0x1)*0x3,_0x24c7e5=_0x56809c*0x2,_0x3e8501=Math[_0x1a9ec3(0x144)](_0x42801c/0xa,0x3);return _0x4f78a7+_0x132bd1+_0x24c7e5+_0x3e8501;}[a0_0x308c64(0x143)](_0xd716f,_0x9f1a18){const _0x34a909=a0_0x308c64,_0xbb473a=this[_0x34a909(0x174)](_0xd716f,_0x9f1a18),_0x23ac0b=this[_0x34a909(0x145)](_0x9f1a18),_0x3c4c63=this['suggestName'](_0xd716f),_0x20dba4=this['generateReasoning'](_0xd716f,_0x9f1a18,_0xbb473a),_0x1e5975=this[_0x34a909(0x149)](_0x9f1a18,_0xbb473a),_0x2d4928=this['describeBenefits'](_0x9f1a18);return{'priority':_0x23ac0b,'strategy':_0xbb473a,'suggestedName':_0x3c4c63,'reasoning':_0x20dba4,'estimatedEffort':_0x1e5975,'benefits':_0x2d4928,'actionableSteps':this['generateActionableSteps'](_0xbb473a,_0x3c4c63,_0x9f1a18)};}['determineRefactoringStrategy'](_0x6a8b,_0x564786){const _0x4f1c65=a0_0x308c64,{tokenCount:_0x36630f,lineCount:_0x11cfbd,instanceCount:_0x12fe99,filesCovered:_0xbaaffa}=_0x564786,_0x233bde=_0x6a8b[_0x4f1c65(0x14b)]['map'](_0x4166aa=>_0x4166aa['type']),_0x306e68=_0x233bde['some'](_0x4eef91=>_0x4eef91[_0x4f1c65(0x181)]('Function')||_0x4eef91['includes'](_0x4f1c65(0x162))),_0x5a437b=_0x233bde[_0x4f1c65(0x175)](_0x14f9dc=>_0x14f9dc[_0x4f1c65(0x181)]('Class'));if(_0x5a437b&&_0x11cfbd>0x32)return'extract-module';else{if(_0xbaaffa>0x2&&_0x36630f>0x64)return'extract-module';else{if(_0x306e68||_0x11cfbd>=0xa&&_0x11cfbd<=0x32)return'extract-function';else{if(_0x11cfbd>0x32)return _0x4f1c65(0x18b);else return _0x11cfbd<0xa?'extract-constant-or-utility':_0x4f1c65(0x190);}}}}[a0_0x308c64(0x145)](_0x2f3e6f){const _0x1024d2=a0_0x308c64,{impactScore:_0x118f2a}=_0x2f3e6f;if(_0x118f2a>=0x8)return _0x1024d2(0x17d);if(_0x118f2a>=0x5)return'medium';return'low';}[a0_0x308c64(0x186)](_0x4ffb9d){const _0x517c23=a0_0x308c64,_0x674ad4=_0x4ffb9d[_0x517c23(0x14b)][_0x517c23(0x168)](_0x1809d0=>_0x1809d0[_0x517c23(0x187)])[_0x517c23(0x161)]('\x20'),_0x15a5af=_0x674ad4['match'](/[a-zA-Z_$][a-zA-Z0-9_$]*/g)||[],_0x523138={};_0x15a5af[_0x517c23(0x163)](_0x36bb59=>{const _0x405baa=_0x517c23;if([_0x405baa(0x15c),_0x405baa(0x14f),_0x405baa(0x166),_0x405baa(0x151),'return','if',_0x405baa(0x15e),_0x405baa(0x169),'while']['includes'](_0x36bb59))return;_0x523138[_0x36bb59]=(_0x523138[_0x36bb59]||0x0)+0x1;});const _0x30e1f1=Object['entries'](_0x523138)[_0x517c23(0x15a)]((_0x5bc53c,_0x2756f0)=>_0x2756f0[0x1]-_0x5bc53c[0x1])[_0x517c23(0x176)](0x0,0x3);if(_0x30e1f1[_0x517c23(0x16f)]>0x0){const _0x3ba4b2=_0x30e1f1[_0x517c23(0x168)](([_0x3ce51c])=>_0x3ce51c);return this[_0x517c23(0x171)](_0x3ba4b2);}return _0x517c23(0x146);}[a0_0x308c64(0x171)](_0x391581){const _0x4e2978=a0_0x308c64;if(_0x391581['length']===0x0)return _0x4e2978(0x146);return _0x391581[0x0]+_0x391581[_0x4e2978(0x176)](0x1)[_0x4e2978(0x168)](_0x45cc43=>_0x45cc43[_0x4e2978(0x17a)](0x0)['toUpperCase']()+_0x45cc43['slice'](0x1))['join']('');}['generateReasoning'](_0x2bc57f,_0x3f2800,_0x4457a9){const _0x48be7d=a0_0x308c64,{instanceCount:_0x25364b,duplicatedLines:_0xa3b620,filesCovered:_0x3f7d70}=_0x3f2800;let _0x547336='This\x20'+_0x2bc57f[_0x48be7d(0x164)]+'\x20code\x20pattern\x20appears\x20'+_0x25364b+_0x48be7d(0x189);return _0x3f7d70>0x1&&(_0x547336+='\x20across\x20'+_0x3f7d70+_0x48be7d(0x165)),_0x547336+=',\x20resulting\x20in\x20'+_0xa3b620+'\x20duplicated\x20lines.\x20',_0x547336+='Refactoring\x20to\x20'+_0x4457a9[_0x48be7d(0x16a)](/-/g,'\x20')+_0x48be7d(0x177),_0x25364b>=0x3&&(_0x547336+=', reduce bugs from inconsistent changes'),_0x547336+=_0x48be7d(0x179),_0x3f2800[_0x48be7d(0x158)]>=0x8&&(_0x547336+=_0x48be7d(0x185)),_0x547336+'.';}[a0_0x308c64(0x149)](_0x28ba80,_0x4441af){const _0x3956e8=a0_0x308c64,{lineCount:_0x1a9b94,instanceCount:_0x2146dc,filesCovered:_0x58a434}=_0x28ba80;let _0x26781b=0x0;_0x26781b+=Math['min'](_0x1a9b94/0xa,0x5),_0x26781b+=_0x2146dc*0.5,_0x26781b+=_0x58a434*0.5;if(_0x4441af===_0x3956e8(0x184))_0x26781b+=0x3;else{if(_0x4441af==='extract-class')_0x26781b+=0x2;else _0x4441af==='extract-function'&&(_0x26781b+=0x1);}if(_0x26781b<=0x3)return _0x3956e8(0x160);if(_0x26781b<=0x7)return _0x3956e8(0x17f);return _0x3956e8(0x17d);}['describeBenefits'](_0x3cbadb){const _0x377b8a=a0_0x308c64,_0xe2af83=[];return _0xe2af83['push'](_0x377b8a(0x170)+_0x3cbadb[_0x377b8a(0x16c)]+_0x377b8a(0x16b)),_0xe2af83['push'](_0x377b8a(0x148)),_0x3cbadb[_0x377b8a(0x18d)]>=0x3&&_0xe2af83['push'](_0x377b8a(0x150)+_0x3cbadb['instanceCount']+_0x377b8a(0x17e)),_0x3cbadb['filesCovered']>0x2&&_0xe2af83[_0x377b8a(0x155)](_0x377b8a(0x14a)+_0x3cbadb[_0x377b8a(0x18a)]+'\x20files'),_0xe2af83[_0x377b8a(0x155)](_0x377b8a(0x156)),_0xe2af83;}['generateActionableSteps'](_0x1ad73e,_0x332ac1,_0x37b1af){const _0x43e55f=a0_0x308c64,_0x1bdc43=[];switch(_0x1ad73e){case'extract-function':_0x1bdc43['push'](_0x43e55f(0x18e)+_0x332ac1+'\x27'),_0x1bdc43[_0x43e55f(0x155)](_0x43e55f(0x147)),_0x1bdc43['push']('3. Identify parameters needed from the surrounding context'),_0x1bdc43['push']('4.\x20Replace\x20all\x20instances\x20with\x20calls\x20to\x20the\x20new\x20function'),_0x1bdc43['push']('5.\x20Test\x20to\x20ensure\x20behavior\x20is\x20preserved');break;case _0x43e55f(0x18b):_0x1bdc43[_0x43e55f(0x155)](_0x43e55f(0x15f)),_0x1bdc43['push']('2.\x20Move\x20related\x20methods\x20and\x20properties\x20into\x20the\x20class'),_0x1bdc43[_0x43e55f(0x155)]('3.\x20Update\x20all\x20instances\x20to\x20use\x20the\x20new\x20class'),_0x1bdc43[_0x43e55f(0x155)](_0x43e55f(0x18f));break;case _0x43e55f(0x184):_0x1bdc43[_0x43e55f(0x155)]('1.\x20Create\x20a\x20new\x20module/file\x20for\x20this\x20shared\x20functionality'),_0x1bdc43[_0x43e55f(0x155)]('2.\x20Move\x20the\x20duplicated\x20code\x20into\x20the\x20new\x20module'),_0x1bdc43['push'](_0x43e55f(0x152)),_0x1bdc43[_0x43e55f(0x155)]('4. Update all files to import from the new module'),_0x1bdc43['push'](_0x43e55f(0x141));break;default:_0x1bdc43[_0x43e55f(0x155)](_0x43e55f(0x173)+_0x1ad73e[_0x43e55f(0x16a)](/-/g,'\x20')),_0x1bdc43[_0x43e55f(0x155)](_0x43e55f(0x159)),_0x1bdc43['push']('3.\x20Test\x20thoroughly');}return _0x1bdc43;}['truncateCode'](_0x580f71,_0x22c14d=0xa){const _0x3ddec0=a0_0x308c64,_0x29e95d=_0x580f71[_0x3ddec0(0x17b)]('\x0a');if(_0x29e95d[_0x3ddec0(0x16f)]<=_0x22c14d)return _0x580f71;return _0x29e95d['slice'](0x0,_0x22c14d)[_0x3ddec0(0x161)]('\x0a')+'\x0a...\x20(truncated)';}[a0_0x308c64(0x172)](_0x18d6d4){const _0x2cd29f=a0_0x308c64,_0x534577=_0x18d6d4[_0x2cd29f(0x14d)]((_0x4d3e89,_0x4743de)=>_0x4d3e89+(_0x4743de[_0x2cd29f(0x182)]-_0x4743de[_0x2cd29f(0x183)]+0x1),0x0);return Math[_0x2cd29f(0x16d)](_0x534577/_0x18d6d4['length']);}}
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 +1 @@
1
- function a0_0x29fd(){const _0x234fea=['zw50CMLLCW','BgvUz3rO','zMLSBa','BwfW','mti3oduWmtrcBfbzuwO','Dg9Rzw5Z','mJmYodvzzxL5qwG','ywrK','CgfYC2vY','AgfZ','mtqZnJmYmNPRzxL1Ba','C2LTAwXHCML0EvrOCMvZAg9Sza','nJy4mdy5nLrZCfzdqW','nJe5ndm4nfPeC1vdta','mtb2shLxwMG','C2LTAwXHCG','rM91BMqG','ChvZAa','BwLUvg9Rzw5Z','yxbWCM94Aw1HDgvmq1m','y2fSy3vSyxrLqMXVy2TtAw1PBgfYAxr5','mtj3qwrpuwe','Bwf4','ndy5mty4mKX4ugTWEG','C2XPy2u','ntrODujSseS','Bg9N','y2fSy3vSyxrLr3jVDxbdB25MAwrLBMnL','z3jVDxbcEuHHC2G','mta3mJGYou9mCfviwG','zMLSDgvY','mNjTCLz3uG','zMLUzfnPBwLSyxjdBg9Uzxm','qw5HBhL6Aw5Nia'];a0_0x29fd=function(){return _0x234fea;};return a0_0x29fd();}const a0_0x21947b=a0_0x495f;function a0_0x495f(_0x5241a1,_0x49994e){_0x5241a1=_0x5241a1-0x128;const _0x29fdf7=a0_0x29fd();let _0x495f02=_0x29fdf7[_0x5241a1];if(a0_0x495f['YlfXro']===undefined){var _0xb38d28=function(_0x26ece8){const _0x2b184a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xb79aa4='',_0x5650a8='';for(let _0x4dd688=0x0,_0x28d581,_0x79a5e5,_0x398730=0x0;_0x79a5e5=_0x26ece8['charAt'](_0x398730++);~_0x79a5e5&&(_0x28d581=_0x4dd688%0x4?_0x28d581*0x40+_0x79a5e5:_0x79a5e5,_0x4dd688++%0x4)?_0xb79aa4+=String['fromCharCode'](0xff&_0x28d581>>(-0x2*_0x4dd688&0x6)):0x0){_0x79a5e5=_0x2b184a['indexOf'](_0x79a5e5);}for(let _0x1f8316=0x0,_0x290d59=_0xb79aa4['length'];_0x1f8316<_0x290d59;_0x1f8316++){_0x5650a8+='%'+('00'+_0xb79aa4['charCodeAt'](_0x1f8316)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5650a8);};a0_0x495f['JTYzde']=_0xb38d28,a0_0x495f['LyrJQD']={},a0_0x495f['YlfXro']=!![];}const _0x4a64a4=_0x29fdf7[0x0],_0x18f0f9=_0x5241a1+_0x4a64a4,_0x4a68be=a0_0x495f['LyrJQD'][_0x18f0f9];return!_0x4a68be?(_0x495f02=a0_0x495f['JTYzde'](_0x495f02),a0_0x495f['LyrJQD'][_0x18f0f9]=_0x495f02):_0x495f02=_0x4a68be,_0x495f02;}(function(_0x55c6b8,_0x694b24){const _0x597a70=a0_0x495f,_0x4b2d66=_0x55c6b8();while(!![]){try{const _0x556d3d=parseInt(_0x597a70(0x12f))/0x1*(parseInt(_0x597a70(0x131))/0x2)+parseInt(_0x597a70(0x13e))/0x3*(parseInt(_0x597a70(0x149))/0x4)+-parseInt(_0x597a70(0x13a))/0x5*(parseInt(_0x597a70(0x12b))/0x6)+-parseInt(_0x597a70(0x141))/0x7+parseInt(_0x597a70(0x140))/0x8+-parseInt(_0x597a70(0x129))/0x9+-parseInt(_0x597a70(0x142))/0xa*(parseInt(_0x597a70(0x138))/0xb);if(_0x556d3d===_0x694b24)break;else _0x4b2d66['push'](_0x4b2d66['shift']());}catch(_0x302d21){_0x4b2d66['push'](_0x4b2d66['shift']());}}}(a0_0x29fd,0xb3291));export class CloneDetector{constructor(_0xb79aa4,_0x5650a8){const _0x51c43f=a0_0x495f;this['config']=_0xb79aa4,this[_0x51c43f(0x13c)]=_0x5650a8;}['detectClones'](_0x4dd688){const _0xa1a550=a0_0x495f;console[_0xa1a550(0x12c)]('Detecting\x20clones...');const _0x28d581=[],_0x79a5e5=[];for(const _0x290d59 of _0x4dd688){_0x79a5e5[_0xa1a550(0x145)](..._0x290d59['blocks']);}console[_0xa1a550(0x12c)](_0xa1a550(0x133)+_0x79a5e5[_0xa1a550(0x135)]+'\x20code\x20blocks');const _0x398730=this[_0xa1a550(0x12e)](_0x79a5e5);for(const [_0x3c3127,_0x2c7382]of Object[_0xa1a550(0x134)](_0x398730)){_0x2c7382['length']>0x1&&_0x28d581[_0xa1a550(0x145)]({'type':'exact','confidence':0x1,'blocks':_0x2c7382,'tokenCount':_0x2c7382[0x0]['tokens'][_0xa1a550(0x135)]});}const _0x1f8316=this['findSimilarClones'](_0x79a5e5);return _0x28d581['push'](..._0x1f8316),console['log'](_0xa1a550(0x144)+_0x28d581['length']+'\x20clone\x20groups'),_0x28d581;}[a0_0x21947b(0x12e)](_0x1c77f0){const _0x27ecc5=a0_0x21947b,_0x14ad08={};for(const _0x29b229 of _0x1c77f0){if(_0x29b229['tokens'][_0x27ecc5(0x135)]<this['config'][_0x27ecc5(0x146)])continue;!_0x14ad08[_0x29b229['hash']]&&(_0x14ad08[_0x29b229['hash']]=[]),_0x14ad08[_0x29b229['hash']]['push'](_0x29b229);}return _0x14ad08;}[a0_0x21947b(0x132)](_0x1d8b9b){const _0x182758=a0_0x21947b,_0x2dc7be=[],processed=new Set(),_0x38eca5=_0x1d8b9b['filter'](_0x47088c=>_0x47088c[_0x182758(0x139)]['length']>=this['config'][_0x182758(0x146)]);for(let _0x26a77d=0x0;_0x26a77d<_0x38eca5[_0x182758(0x135)];_0x26a77d++){const _0x11b146=_0x38eca5[_0x26a77d],_0xedc944=[_0x11b146];if(processed[_0x182758(0x13d)](_0x11b146['id']))continue;for(let _0x3d0082=_0x26a77d+0x1;_0x3d0082<_0x38eca5['length'];_0x3d0082++){const _0x5e4299=_0x38eca5[_0x3d0082];if(processed['has'](_0x5e4299['id']))continue;if(_0x11b146['hash']===_0x5e4299['hash'])continue;const _0x238c8c=this[_0x182758(0x148)](_0x11b146,_0x5e4299);_0x238c8c>=this['config'][_0x182758(0x13f)]&&(_0xedc944[_0x182758(0x145)](_0x5e4299),processed[_0x182758(0x13b)](_0x5e4299['id']));}_0xedc944['length']>0x1&&(processed['add'](_0x11b146['id']),_0x2dc7be[_0x182758(0x145)]({'type':_0x182758(0x143),'confidence':this[_0x182758(0x12d)](_0xedc944),'blocks':_0xedc944,'tokenCount':Math[_0x182758(0x128)](..._0xedc944[_0x182758(0x137)](_0x43b770=>_0x43b770['tokens']['length']))}));}return _0x2dc7be;}['calculateBlockSimilarity'](_0x41b92a,_0x5400e7){const _0x34c08b=a0_0x21947b,_0x76c93b=_0x41b92a[_0x34c08b(0x139)],_0x1084f4=_0x5400e7[_0x34c08b(0x139)],_0x2bbdb2=Math['min'](_0x76c93b['length'],_0x1084f4[_0x34c08b(0x135)])/Math[_0x34c08b(0x128)](_0x76c93b[_0x34c08b(0x135)],_0x1084f4['length']);if(_0x2bbdb2<0.7)return 0x0;const _0x55c74f=this['longestCommonSubsequence'](_0x76c93b,_0x1084f4),_0x8c954c=0x2*_0x55c74f/(_0x76c93b['length']+_0x1084f4['length']);return _0x8c954c;}['longestCommonSubsequence'](_0x1b9b81,_0x2a5bca){const _0x33ba22=a0_0x21947b,_0xfbdc49=_0x1b9b81['length'],_0x39482e=_0x2a5bca[_0x33ba22(0x135)];if(_0xfbdc49*_0x39482e>0x186a0)return this['approximateLCS'](_0x1b9b81,_0x2a5bca);const _0x450618=Array(_0xfbdc49+0x1)[_0x33ba22(0x136)](0x0)['map'](()=>Array(_0x39482e+0x1)['fill'](0x0));for(let _0x32fb40=0x1;_0x32fb40<=_0xfbdc49;_0x32fb40++){for(let _0x4e1286=0x1;_0x4e1286<=_0x39482e;_0x4e1286++){_0x1b9b81[_0x32fb40-0x1]===_0x2a5bca[_0x4e1286-0x1]?_0x450618[_0x32fb40][_0x4e1286]=_0x450618[_0x32fb40-0x1][_0x4e1286-0x1]+0x1:_0x450618[_0x32fb40][_0x4e1286]=Math[_0x33ba22(0x128)](_0x450618[_0x32fb40-0x1][_0x4e1286],_0x450618[_0x32fb40][_0x4e1286-0x1]);}}return _0x450618[_0xfbdc49][_0x39482e];}[a0_0x21947b(0x147)](_0x1650c5,_0x14935b){const _0x150e1c=a0_0x21947b,_0xbd0b3f=0x64;let _0x394cdd=0x0;for(let _0x423a7a=0x0;_0x423a7a<_0x1650c5['length'];_0x423a7a+=_0xbd0b3f){const _0x1074d3=_0x1650c5['slice'](_0x423a7a,_0x423a7a+_0xbd0b3f),_0x5b19a1=new Set(_0x14935b[_0x150e1c(0x12a)](Math[_0x150e1c(0x128)](0x0,_0x423a7a-_0xbd0b3f),_0x423a7a+_0xbd0b3f*0x2));_0x394cdd+=_0x1074d3[_0x150e1c(0x130)](_0x1d4926=>_0x5b19a1['has'](_0x1d4926))[_0x150e1c(0x135)];}return _0x394cdd;}[a0_0x21947b(0x12d)](_0x3acc1d){const _0xdf5f15=a0_0x21947b;if(_0x3acc1d['length']===0x0)return 0x0;let _0x489e42=0x0,_0x1d0028=0x0;for(let _0x419101=0x0;_0x419101<_0x3acc1d['length'];_0x419101++){for(let _0xec4a9f=_0x419101+0x1;_0xec4a9f<_0x3acc1d[_0xdf5f15(0x135)];_0xec4a9f++){_0x489e42+=this['calculateBlockSimilarity'](_0x3acc1d[_0x419101],_0x3acc1d[_0xec4a9f]),_0x1d0028++;}}return _0x1d0028>0x0?_0x489e42/_0x1d0028:0x0;}}
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;}}