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

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 (123) 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-CR8edPA3.js +348 -0
  121. package/web-ui/build/static/index-uN7nOVvZ.css +1 -0
  122. package/web-ui/build/static/index-DXN850Y2.js +0 -400
  123. package/web-ui/build/static/index-an-YRzUX.css +0 -1
@@ -1 +1 @@
1
- const a0_0x1e9b09=a0_0x5ccc;(function(_0x37d8f3,_0x124492){const _0x2ce13c=a0_0x5ccc,_0x19216c=_0x37d8f3();while(!![]){try{const _0xf13213=parseInt(_0x2ce13c(0x1ef))/0x1+parseInt(_0x2ce13c(0x1f2))/0x2*(parseInt(_0x2ce13c(0x1d8))/0x3)+parseInt(_0x2ce13c(0x1f7))/0x4*(-parseInt(_0x2ce13c(0x1fc))/0x5)+-parseInt(_0x2ce13c(0x1dd))/0x6+-parseInt(_0x2ce13c(0x203))/0x7+parseInt(_0x2ce13c(0x1d4))/0x8*(parseInt(_0x2ce13c(0x202))/0x9)+-parseInt(_0x2ce13c(0x1eb))/0xa;if(_0xf13213===_0x124492)break;else _0x19216c['push'](_0x19216c['shift']());}catch(_0x483bf0){_0x19216c['push'](_0x19216c['shift']());}}}(a0_0x359b,0xe986c));import a0_0x7209c1 from'typescript';function a0_0x359b(){const _0x549e75=['sNn4rw1PDa','zMLSDgvY','C2v2zxjPDhK','BgLUzq','sMf2yvnJCMLWDcbHBMfSExnPCYbMywLSzwq','Aw5JBhvKzxm','BwvZC2fNzq','ntyZnJuWCer4rNvo','su1qt1ju','u0vwrvjjvfK','y3jLyxrLuhjVz3jHBq','mtCXntK4n1Pushfdqq','u2nYAxb0vgfYz2v0','rgLHz25VC3rPy0nHDgvNB3j5','nty2rxbeDej1','zM9YrwfJAenOAwXK','rxjYB3i','BwvZC2fNzvrLEhq','q0furuDpuLK','mtjMD0jiugK','Dg9mB3DLCKnHC2u','y2HHCMfJDgvY','ChvZAa','zxjYB3i','mJiYntaXmhzbAuL3uW','zM9YBwf0rgLHz25VC3rPyW','v0fstKLorW','Bg9Nz2vY','u1Lovefy','CgfYC2veAwfNBM9ZDgLJCW','ntrvDxLxBuC','nJm3nti1n3zJCMf6AG','zMLSzq','rvjst1i','tM9KzuPZ','mti0mtKXmKPiC2jIDq','y3jLyxrLu291CMnLrMLSzq','C3rHCNq','sMf2yvnJCMLWDcbHBMfSExnPCYbJB21WBgv0zwq','mtm4mZz1uejjDM8','A2LUza','tw9KDwXLuMvZB2X1DgLVBKTPBMq','qw5HBhLZAxmGzMfPBgvKoIa','zgvIDwC','nde2mZGYnMLQEwnoAG','Dw5RBM93BG','u3vNz2vZDgLVBG','vfLqrq','y29TCgLSzxjpChrPB25Z','z2v0u3LUDgfJDgLJrgLHz25VC3rPy3m','zMLSzu5HBwu'];a0_0x359b=function(){return _0x549e75;};return a0_0x359b();}import a0_0x19b316 from'path';import{STATIC_ANALYSIS}from'../utilities/constants.js';function a0_0x5ccc(_0x3fa2e6,_0x2110c0){_0x3fa2e6=_0x3fa2e6-0x1d3;const _0x359b2b=a0_0x359b();let _0x5ccc2c=_0x359b2b[_0x3fa2e6];if(a0_0x5ccc['tviKyE']===undefined){var _0x3cb360=function(_0x4aaf3c){const _0x34b993='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x7209c1='',_0x19b316='';for(let _0x3ba4c1=0x0,_0x4cdcaf,_0x1f7bcb,_0x22a1fe=0x0;_0x1f7bcb=_0x4aaf3c['charAt'](_0x22a1fe++);~_0x1f7bcb&&(_0x4cdcaf=_0x3ba4c1%0x4?_0x4cdcaf*0x40+_0x1f7bcb:_0x1f7bcb,_0x3ba4c1++%0x4)?_0x7209c1+=String['fromCharCode'](0xff&_0x4cdcaf>>(-0x2*_0x3ba4c1&0x6)):0x0){_0x1f7bcb=_0x34b993['indexOf'](_0x1f7bcb);}for(let _0x23f660=0x0,_0x464389=_0x7209c1['length'];_0x23f660<_0x464389;_0x23f660++){_0x19b316+='%'+('00'+_0x7209c1['charCodeAt'](_0x23f660)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x19b316);};a0_0x5ccc['PkiukS']=_0x3cb360,a0_0x5ccc['uCXEbo']={},a0_0x5ccc['tviKyE']=!![];}const _0x413966=_0x359b2b[0x0],_0x1c838b=_0x3fa2e6+_0x413966,_0x43f4e5=a0_0x5ccc['uCXEbo'][_0x1c838b];return!_0x43f4e5?(_0x5ccc2c=a0_0x5ccc['PkiukS'](_0x5ccc2c),a0_0x5ccc['uCXEbo'][_0x1c838b]=_0x5ccc2c):_0x5ccc2c=_0x43f4e5,_0x5ccc2c;}class JavaScriptAnalyzer{constructor(_0x3ba4c1=null){const _0x169b11=a0_0x5ccc;this['logger']=_0x3ba4c1,this[_0x169b11(0x1e1)]={'allowJs':!![],'checkJs':!![],'noEmit':!![],'jsx':a0_0x7209c1[_0x169b11(0x1e4)]['React'],'target':a0_0x7209c1[_0x169b11(0x1f0)]['Latest'],'module':a0_0x7209c1['ModuleKind']['ESNext'],'moduleResolution':a0_0x7209c1[_0x169b11(0x1da)][_0x169b11(0x1d3)],'esModuleInterop':!![],'skipLibCheck':!![],'strict':![],'noImplicitAny':![]};}async['analyze'](_0x4cdcaf,_0x1f7bcb,_0x22a1fe={}){const _0x2df72c=a0_0x5ccc;try{const _0x23f660=[],_0x464389=a0_0x7209c1[_0x2df72c(0x1d5)](_0x4cdcaf,_0x1f7bcb,a0_0x7209c1[_0x2df72c(0x1f0)]['Latest'],!![]),_0x4ae5d8=this['getSyntacticDiagnostics'](_0x464389);_0x23f660[_0x2df72c(0x1fa)](..._0x4ae5d8);const _0x3723eb=await this['getSemanticDiagnostics'](_0x4cdcaf,_0x1f7bcb);return _0x23f660[_0x2df72c(0x1fa)](..._0x3723eb),this['logger']?.[_0x2df72c(0x1dc)](_0x2df72c(0x1d7),{'file':_0x4cdcaf,'totalDiagnostics':_0x23f660['length'],'errors':_0x23f660[_0x2df72c(0x1e5)](_0x33cca2=>_0x33cca2[_0x2df72c(0x1e6)]===STATIC_ANALYSIS[_0x2df72c(0x1ed)][_0x2df72c(0x205)])['length'],'warnings':_0x23f660[_0x2df72c(0x1e5)](_0x2b2d00=>_0x2b2d00['severity']===STATIC_ANALYSIS['SEVERITY'][_0x2df72c(0x1fe)])['length']}),_0x23f660;}catch(_0x336880){return this[_0x2df72c(0x1ff)]?.[_0x2df72c(0x1fb)](_0x2df72c(0x1e8),{'file':_0x4cdcaf,'error':_0x336880[_0x2df72c(0x1ea)]}),[{'file':_0x4cdcaf,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS[_0x2df72c(0x1ed)][_0x2df72c(0x205)],'rule':'analyzer-error','message':_0x2df72c(0x1db)+_0x336880['message'],'category':STATIC_ANALYSIS['CATEGORY']['SYNTAX']}];}}[a0_0x1e9b09(0x1e2)](_0x5459b6){const _0x374a8a=a0_0x1e9b09,_0x4f0b79=[],_0x384fc8=_0x330457=>{const _0x21bd74=a0_0x5ccc;if(_0x330457[_0x21bd74(0x1d9)]===a0_0x7209c1['SyntaxKind']['Unknown']){const _0x5f00b1=_0x5459b6['getLineAndCharacterOfPosition'](_0x330457['getStart']());_0x4f0b79[_0x21bd74(0x1fa)]({'file':_0x5459b6[_0x21bd74(0x1e3)],'line':_0x5f00b1[_0x21bd74(0x1e7)]+0x1,'column':_0x5f00b1['character']+0x1,'severity':STATIC_ANALYSIS[_0x21bd74(0x1ed)]['ERROR'],'rule':'syntax-error','message':'Syntax\x20error','category':STATIC_ANALYSIS[_0x21bd74(0x1f6)][_0x21bd74(0x200)],'fixable':![]});}a0_0x7209c1[_0x21bd74(0x1f3)](_0x330457,_0x384fc8);};_0x384fc8(_0x5459b6);if(_0x5459b6['parseDiagnostics']&&_0x5459b6[_0x374a8a(0x201)]['length']>0x0)for(const _0xb5d7a5 of _0x5459b6[_0x374a8a(0x201)]){_0x4f0b79['push'](this[_0x374a8a(0x1fd)](_0xb5d7a5,_0x5459b6));}return _0x4f0b79;}async['getSemanticDiagnostics'](_0x319269,_0x34096a){const _0x24727f=a0_0x1e9b09,_0x57bf9c=[];try{const _0xd58c21=a0_0x7209c1['createSourceFile'](_0x319269,_0x34096a,a0_0x7209c1[_0x24727f(0x1f0)]['Latest'],!![]),_0x3f4b13={'getSourceFile':_0x10a1f0=>{if(_0x10a1f0===_0x319269)return _0xd58c21;return undefined;},'getDefaultLibFileName':()=>'lib.d.ts','writeFile':()=>{},'getCurrentDirectory':()=>a0_0x19b316['dirname'](_0x319269),'getDirectories':()=>[],'fileExists':_0xc5c5c9=>_0xc5c5c9===_0x319269,'readFile':_0x2c8435=>{if(_0x2c8435===_0x319269)return _0x34096a;return undefined;},'getCanonicalFileName':_0x4da3b7=>_0x4da3b7,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x178310=a0_0x7209c1[_0x24727f(0x1ee)]({'rootNames':[_0x319269],'options':this[_0x24727f(0x1e1)],'host':_0x3f4b13}),_0x32e014=_0x178310['getSemanticDiagnostics'](_0xd58c21);for(const _0x129faf of _0x32e014){_0x57bf9c[_0x24727f(0x1fa)](this[_0x24727f(0x1fd)](_0x129faf,_0xd58c21));}}catch(_0x197218){this['logger']?.[_0x24727f(0x1dc)]('Semantic\x20analysis\x20skipped',{'file':_0x319269,'reason':_0x197218[_0x24727f(0x1ea)]});}return _0x57bf9c;}[a0_0x1e9b09(0x1fd)](_0x4fd048,_0x3e536d){const _0x3721ce=a0_0x1e9b09;let _0x244301=0x0,_0x51b041=0x0;if(_0x4fd048['file']&&_0x4fd048[_0x3721ce(0x1d6)]!==undefined){const _0x15fb1c=_0x4fd048[_0x3721ce(0x204)]['getLineAndCharacterOfPosition'](_0x4fd048['start']);_0x244301=_0x15fb1c['line']+0x1,_0x51b041=_0x15fb1c[_0x3721ce(0x1f9)]+0x1;}else{if(_0x3e536d&&_0x4fd048[_0x3721ce(0x1d6)]!==undefined){const _0x635d17=_0x3e536d['getLineAndCharacterOfPosition'](_0x4fd048[_0x3721ce(0x1d6)]);_0x244301=_0x635d17[_0x3721ce(0x1e7)]+0x1,_0x51b041=_0x635d17['character']+0x1;}}const _0x1145b7=a0_0x7209c1['flattenDiagnosticMessageText'](_0x4fd048[_0x3721ce(0x1f5)],'\x0a');let _0x460211;switch(_0x4fd048['category']){case a0_0x7209c1['DiagnosticCategory'][_0x3721ce(0x1f4)]:_0x460211=STATIC_ANALYSIS[_0x3721ce(0x1ed)][_0x3721ce(0x205)];break;case a0_0x7209c1[_0x3721ce(0x1f1)]['Warning']:_0x460211=STATIC_ANALYSIS[_0x3721ce(0x1ed)]['WARNING'];break;case a0_0x7209c1['DiagnosticCategory']['Message']:case a0_0x7209c1[_0x3721ce(0x1f1)][_0x3721ce(0x1df)]:_0x460211=STATIC_ANALYSIS['SEVERITY']['INFO'];break;default:_0x460211=STATIC_ANALYSIS[_0x3721ce(0x1ed)]['ERROR'];}let _0x22c152=STATIC_ANALYSIS['CATEGORY']['SYNTAX'];const _0xf0dc50=_0x4fd048['code'];if(_0xf0dc50>=0x7d0&&_0xf0dc50<0xbb8)_0x22c152=STATIC_ANALYSIS['CATEGORY'][_0x3721ce(0x1e0)];else{if(_0xf0dc50>=0x3e8&&_0xf0dc50<0x7d0)_0x22c152=STATIC_ANALYSIS['CATEGORY']['SYNTAX'];else _0xf0dc50>=0x8fc&&_0xf0dc50<0x960&&(_0x22c152=STATIC_ANALYSIS['CATEGORY'][_0x3721ce(0x1ec)]);}return(_0x1145b7[_0x3721ce(0x1f8)]()['includes']('cannot\x20find\x20module')||_0x1145b7['toLowerCase']()[_0x3721ce(0x1e9)]('import'))&&(_0x22c152=STATIC_ANALYSIS[_0x3721ce(0x1f6)]['IMPORT']),{'file':_0x4fd048[_0x3721ce(0x204)]?.[_0x3721ce(0x1e3)]||_0x3e536d?.['fileName']||_0x3721ce(0x1de),'line':_0x244301,'column':_0x51b041,'severity':_0x460211,'rule':'TS'+_0xf0dc50,'message':_0x1145b7,'category':_0x22c152,'fixable':![],'code':_0x4fd048['code']};}}export default JavaScriptAnalyzer;
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 +1 @@
1
- const a0_0x436aa7=a0_0x3b37;(function(_0x2c54f5,_0x431947){const _0x2dcbd5=a0_0x3b37,_0x5ae496=_0x2c54f5();while(!![]){try{const _0x4cfe5b=parseInt(_0x2dcbd5(0x1e9))/0x1*(-parseInt(_0x2dcbd5(0x20c))/0x2)+parseInt(_0x2dcbd5(0x1e7))/0x3*(parseInt(_0x2dcbd5(0x1f2))/0x4)+-parseInt(_0x2dcbd5(0x1f0))/0x5*(parseInt(_0x2dcbd5(0x1f7))/0x6)+parseInt(_0x2dcbd5(0x203))/0x7*(parseInt(_0x2dcbd5(0x1ee))/0x8)+parseInt(_0x2dcbd5(0x1e1))/0x9*(parseInt(_0x2dcbd5(0x1dc))/0xa)+-parseInt(_0x2dcbd5(0x1e4))/0xb+-parseInt(_0x2dcbd5(0x1e8))/0xc*(-parseInt(_0x2dcbd5(0x1fb))/0xd);if(_0x4cfe5b===_0x431947)break;else _0x5ae496['push'](_0x5ae496['shift']());}catch(_0x979012){_0x5ae496['push'](_0x5ae496['shift']());}}}(a0_0x35da,0xc7530));import a0_0x4dfb15 from'prettier';import a0_0x1db9ed from'path';import a0_0x5abeda from'fs/promises';function a0_0x35da(){const _0x2a5849=['zxjYB3i','yMfIzwW','mteXnJu2odDJrfD2Aeu','BgvZCW','lNz1zq','y2HLy2S','lMH0BwW','Dg9mB3DLCKnHC2u','C2nZCW','lMXLC3m','mtaYodi1mwnjqxvQDG','DhLWzxnJCMLWDa','uhjLDhrPzxiGy2HLy2SGzMfPBgvK','BwvZC2fNzq','zgLYBMfTzq','C3bSAxq','zgvZy3jPyMvdAgfUz2vZ','Bw9KAwzPzwq','CMvZB2X2zunVBMzPzW','mZrND2DSsKW','C2v0','z2v0u3vWCg9YDgvKrxH0zw5ZAw9UCW','lM1K','AhrTBa','y29UzMLNq2fJAgu','mJeWodmZmev2DgDpza','Bg9Nz2vY','lNnJC3m','lMPZ','z2v0ugfYC2vY','oxLxr2HLtW','lMPZEa','zgvIDwC','mJaZnZKXnwLhvgjlAW','zxH0BMfTzq','lNrZEa','nJm0mJa5ugjzv3ne','mtjKExj4vg8','nJe1odbOwLLbvwq','lMPZB241','y291BNrdAgfUz2vKtgLUzxm','EwfTBa','lMnQCW','mZjJwhn6t2W','DNvL','mZmYodGXmejbze1zzq','Bwf4','mJbPBe5WExK','rM91BMqGuhjLDhrPzxiGy29UzMLN','D29YA2LUz0rPCG','zM9YBwf0','lMnZCW','nLb1uujYqq','AgfZ'];a0_0x35da=function(){return _0x2a5849;};return a0_0x35da();}function a0_0x3b37(_0x4501f9,_0x5a9de0){_0x4501f9=_0x4501f9-0x1dc;const _0x35dabf=a0_0x35da();let _0x3b379d=_0x35dabf[_0x4501f9];if(a0_0x3b37['IGKYCw']===undefined){var _0x125a77=function(_0x4e82a4){const _0x3c33db='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4dfb15='',_0x1db9ed='';for(let _0x5abeda=0x0,_0x1db358,_0x2ef572,_0x741fb=0x0;_0x2ef572=_0x4e82a4['charAt'](_0x741fb++);~_0x2ef572&&(_0x1db358=_0x5abeda%0x4?_0x1db358*0x40+_0x2ef572:_0x2ef572,_0x5abeda++%0x4)?_0x4dfb15+=String['fromCharCode'](0xff&_0x1db358>>(-0x2*_0x5abeda&0x6)):0x0){_0x2ef572=_0x3c33db['indexOf'](_0x2ef572);}for(let _0x356687=0x0,_0x2327a2=_0x4dfb15['length'];_0x356687<_0x2327a2;_0x356687++){_0x1db9ed+='%'+('00'+_0x4dfb15['charCodeAt'](_0x356687)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1db9ed);};a0_0x3b37['kQqwOK']=_0x125a77,a0_0x3b37['MDweYh']={},a0_0x3b37['IGKYCw']=!![];}const _0x13abc6=_0x35dabf[0x0],_0x392c66=_0x4501f9+_0x13abc6,_0x33ee11=a0_0x3b37['MDweYh'][_0x392c66];return!_0x33ee11?(_0x3b379d=a0_0x3b37['kQqwOK'](_0x3b379d),a0_0x3b37['MDweYh'][_0x392c66]=_0x3b379d):_0x3b379d=_0x33ee11,_0x3b379d;}class PrettierFormatter{constructor(_0x1db358=null){this['logger']=_0x1db358,this['configCache']=new Map();}async[a0_0x436aa7(0x1f5)](_0x2ef572,_0x741fb,_0x356687={}){const _0x10fbc1=a0_0x436aa7;try{const _0x2327a2=await this['getPrettierConfig'](_0x2ef572,_0x356687[_0x10fbc1(0x1f4)]),_0x4516eb=this[_0x10fbc1(0x1e0)](_0x2ef572),_0x4724a4=await a0_0x4dfb15['format'](_0x741fb,{..._0x2327a2,'filepath':_0x2ef572,'parser':_0x4516eb}),_0x3abf67=_0x4724a4!==_0x741fb;return{'formatted':_0x3abf67,'content':_0x4724a4,'original':_0x741fb,'changes':_0x3abf67?this[_0x10fbc1(0x209)](_0x741fb,_0x4724a4):[],'linesChanged':_0x3abf67?this['countChangedLines'](_0x741fb,_0x4724a4):0x0};}catch(_0x4db2c6){this[_0x10fbc1(0x1dd)]?.[_0x10fbc1(0x1f9)]('Prettier\x20formatting\x20failed',{'file':_0x2ef572,'error':_0x4db2c6['message']});throw new Error('Prettier\x20formatting\x20failed:\x20'+_0x4db2c6[_0x10fbc1(0x206)]);}}async[a0_0x436aa7(0x1fe)](_0x31df35,_0x4e8e97,_0x3fd238={}){const _0x7fc53a=a0_0x436aa7;try{const _0x3fa004=await this['getPrettierConfig'](_0x31df35,_0x3fd238[_0x7fc53a(0x1f4)]),_0x93ff29=this[_0x7fc53a(0x1e0)](_0x31df35),_0x6b7270=await a0_0x4dfb15['format'](_0x4e8e97,{..._0x3fa004,'filepath':_0x31df35,'parser':_0x93ff29});return _0x6b7270!==_0x4e8e97;}catch(_0x553b07){return this['logger']?.['warn'](_0x7fc53a(0x205),{'file':_0x31df35,'error':_0x553b07[_0x7fc53a(0x206)]}),![];}}async['getPrettierConfig'](_0x39b6c9,_0x38b08c){const _0x176efb=a0_0x436aa7,_0x1cf475=_0x38b08c||a0_0x1db9ed[_0x176efb(0x207)](_0x39b6c9);if(this['configCache'][_0x176efb(0x1f8)](_0x1cf475))return this['configCache']['get'](_0x1cf475);let _0x18f03f={};if(_0x38b08c)try{const _0x5491de=await a0_0x4dfb15[_0x176efb(0x20b)](_0x39b6c9,{'config':_0x38b08c});_0x5491de&&(this[_0x176efb(0x1dd)]?.['debug'](_0x176efb(0x1f3),{'workingDir':_0x38b08c}),_0x18f03f=_0x5491de);}catch(_0x4e48ad){this['logger']?.[_0x176efb(0x1e3)]('No Prettier config found, using defaults');}const defaultConfig={'semi':!![],'singleQuote':!![],'tabWidth':0x2,'trailingComma':'es5','printWidth':0x64,'arrowParens':'avoid','endOfLine':'lf',..._0x18f03f};return this[_0x176efb(0x211)][_0x176efb(0x20d)](_0x1cf475,defaultConfig),defaultConfig;}[a0_0x436aa7(0x1e0)](_0x38a40d){const _0x268dcd=a0_0x436aa7,_0x4e02ed=a0_0x1db9ed['extname'](_0x38a40d)[_0x268dcd(0x200)](),_0x1a99c3={'.js':_0x268dcd(0x1fa),'.jsx':'babel','.mjs':'babel','.cjs':_0x268dcd(0x1fa),'.ts':_0x268dcd(0x204),'.tsx':'typescript','.json':'json','.json5':'json5','.css':'css','.scss':_0x268dcd(0x201),'.less':_0x268dcd(0x1fc),'.html':_0x268dcd(0x210),'.vue':_0x268dcd(0x1ef),'.md':'markdown','.yaml':_0x268dcd(0x1ec),'.yml':'yaml'};return _0x1a99c3[_0x4e02ed]||'babel';}[a0_0x436aa7(0x209)](_0x3d3057,_0x51d533){const _0xd1614a=a0_0x436aa7,_0x310a60=[],_0x364f9f=_0x3d3057['split']('\x0a'),_0x164951=_0x51d533['split']('\x0a'),_0xde917b=Math[_0xd1614a(0x1f1)](_0x364f9f['length'],_0x164951['length']);for(let _0x125888=0x0;_0x125888<_0xde917b;_0x125888++){const _0x1cd3d5=_0x364f9f[_0x125888],_0x38b8d9=_0x164951[_0x125888];_0x1cd3d5!==_0x38b8d9&&_0x310a60['push']({'line':_0x125888+0x1,'type':_0x1cd3d5!==undefined&&_0x38b8d9!==undefined?_0xd1614a(0x20a):_0x1cd3d5!==undefined?'removed':'added','original':_0x1cd3d5||'','formatted':_0x38b8d9||''});}return _0x310a60;}[a0_0x436aa7(0x1eb)](_0x2aec6b,_0x58b628){const _0x479031=a0_0x436aa7,_0x27ded8=_0x2aec6b['split']('\x0a'),_0x388ded=_0x58b628[_0x479031(0x208)]('\x0a');let _0x3b22f3=0x0;const _0x3e359f=Math[_0x479031(0x1f1)](_0x27ded8['length'],_0x388ded['length']);for(let _0x3efb5a=0x0;_0x3efb5a<_0x3e359f;_0x3efb5a++){_0x27ded8[_0x3efb5a]!==_0x388ded[_0x3efb5a]&&_0x3b22f3++;}return _0x3b22f3;}['getSupportedExtensions'](){const _0x2965de=a0_0x436aa7;return[_0x2965de(0x1df),_0x2965de(0x1e2),'.mjs',_0x2965de(0x1ed),'.ts',_0x2965de(0x1e6),'.json',_0x2965de(0x1ea),_0x2965de(0x1f6),_0x2965de(0x1de),_0x2965de(0x202),_0x2965de(0x1ff),_0x2965de(0x1fd),_0x2965de(0x20f),'.yaml','.yml'];}['isSupported'](_0x226205){const _0x3e3a1d=a0_0x436aa7,_0x5a3a8d=a0_0x1db9ed[_0x3e3a1d(0x1e5)](_0x226205)['toLowerCase']();return this[_0x3e3a1d(0x20e)]()['includes'](_0x5a3a8d);}}export default PrettierFormatter;
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 +1 @@
1
- const a0_0x58c86d=a0_0x3858;(function(_0x3b9a7a,_0x4d195b){const _0x3b66e3=a0_0x3858,_0x25e3a3=_0x3b9a7a();while(!![]){try{const _0x52ec04=parseInt(_0x3b66e3(0x20c))/0x1+parseInt(_0x3b66e3(0x201))/0x2*(-parseInt(_0x3b66e3(0x1f6))/0x3)+parseInt(_0x3b66e3(0x1f2))/0x4*(parseInt(_0x3b66e3(0x1eb))/0x5)+-parseInt(_0x3b66e3(0x1fe))/0x6*(-parseInt(_0x3b66e3(0x219))/0x7)+-parseInt(_0x3b66e3(0x20a))/0x8+parseInt(_0x3b66e3(0x1f4))/0x9*(-parseInt(_0x3b66e3(0x205))/0xa)+parseInt(_0x3b66e3(0x1f7))/0xb*(parseInt(_0x3b66e3(0x1e9))/0xc);if(_0x52ec04===_0x4d195b)break;else _0x25e3a3['push'](_0x25e3a3['shift']());}catch(_0x2872a7){_0x25e3a3['push'](_0x25e3a3['shift']());}}}(a0_0x8c87,0x9c7e7));import{spawn}from'child_process';function a0_0x3858(_0x7c8c58,_0x234a64){_0x7c8c58=_0x7c8c58-0x1e9;const _0x8c8788=a0_0x8c87();let _0x385856=_0x8c8788[_0x7c8c58];if(a0_0x3858['xTdrte']===undefined){var _0x210001=function(_0x320c9f){const _0x23e667='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x279eaf='',_0x2cdba3='';for(let _0x4c03ea=0x0,_0x46e3d5,_0x57dc5f,_0x3ada3f=0x0;_0x57dc5f=_0x320c9f['charAt'](_0x3ada3f++);~_0x57dc5f&&(_0x46e3d5=_0x4c03ea%0x4?_0x46e3d5*0x40+_0x57dc5f:_0x57dc5f,_0x4c03ea++%0x4)?_0x279eaf+=String['fromCharCode'](0xff&_0x46e3d5>>(-0x2*_0x4c03ea&0x6)):0x0){_0x57dc5f=_0x23e667['indexOf'](_0x57dc5f);}for(let _0x1670ee=0x0,_0x3f0876=_0x279eaf['length'];_0x1670ee<_0x3f0876;_0x1670ee++){_0x2cdba3+='%'+('00'+_0x279eaf['charCodeAt'](_0x1670ee)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2cdba3);};a0_0x3858['hIJCVC']=_0x210001,a0_0x3858['iNtuDV']={},a0_0x3858['xTdrte']=!![];}const _0x4344ea=_0x8c8788[0x0],_0x88151f=_0x7c8c58+_0x4344ea,_0x2c5170=a0_0x3858['iNtuDV'][_0x88151f];return!_0x2c5170?(_0x385856=a0_0x3858['hIJCVC'](_0x385856),a0_0x3858['iNtuDV'][_0x88151f]=_0x385856):_0x385856=_0x2c5170,_0x385856;}import{STATIC_ANALYSIS}from'../utilities/constants.js';function a0_0x8c87(){const _0x3d97a4=['CgfYC2u','z2v0uhL0Ag9Uq29TBwfUza','BM93','mte3nZy0mZbdtMfxyM4','ls12zxjZAw9U','rMfPBgvKihrVihbHCNnLifb5DgHVBIbZEw50yxGGy2HLy2SGCMvZDwX0','BgvUz3rO','D2fYBG','mZm0ntmZnNrgtu9vAa','ChL0Ag9Uq29TBwfUza','nJe4mJKWEKXJr3ns','zxjYB3jZ','zgvIDwC','C3LUDgf4x2nOzwnRxW','BgLUzq','Dg9tDhjPBMC','C3vJy2vZCW','q29TBwfUzcb0Aw1LB3v0','C3rKzxjY','Dg1WzgLY','yw5HBhL6zq','u0vwrvjjvfK','CNvUq29TBwfUza','mtq1mty1m0nID3vwrG','CNvUuhL0Ag9Uu2nYAxb0','ChvZAa','mtjRD1nVrKC','lNb5','nuXwwwDsyq','zxjYB3i','DxrMltG','y29SDw1U','zgf0yq','Dgv4Da','zMLSDgvY','ndqZmdm1nM5dshnTtq','BwvZC2fNzq','ourus3PPrq','D3jPDgvgAwXL','mJu0nZi0mefyugrUta','ntGZntqZnfHptujtCG','rM91BMqGuhL0Ag9UignVBw1HBMq','Bg9Nz2vY','DgfYz2v0xW','y2XVC2u','Dw5SAw5R','uhL0Ag9Uig5VDcbHDMfPBgfIBguSihnRAxbWAw5NigfUywX5C2LZ','mJrRANPPBuO','C3rKB3v0','rvjst1i','mNvsCw1HzW'];a0_0x8c87=function(){return _0x3d97a4;};return a0_0x8c87();}import a0_0x279eaf from'fs/promises';import a0_0x2cdba3 from'path';import a0_0x4c03ea from'os';class PythonAnalyzer{constructor(_0x46e3d5=null){const _0x23a7a5=a0_0x3858;this[_0x23a7a5(0x1f9)]=_0x46e3d5,this[_0x23a7a5(0x20b)]=null;}async[a0_0x58c86d(0x216)](_0x57dc5f,_0x3ada3f,_0x1670ee={}){const _0x1d3e0e=a0_0x58c86d;try{const _0x3f0876=[],_0x57a5ea=await this[_0x1d3e0e(0x203)]();if(!_0x57a5ea)return this['logger']?.['warn'](_0x1d3e0e(0x1fd)),[];const _0x3162ea=await this['checkSyntax'](_0x57dc5f,_0x3ada3f,_0x57a5ea);return _0x3f0876[_0x1d3e0e(0x21b)](..._0x3162ea),this['logger']?.['debug']('Python\x20analysis\x20completed',{'file':_0x57dc5f,'totalDiagnostics':_0x3f0876[_0x1d3e0e(0x208)],'errors':_0x3f0876['filter'](_0x36ee17=>_0x36ee17['severity']===STATIC_ANALYSIS['SEVERITY'][_0x1d3e0e(0x200)])['length'],'warnings':_0x3f0876[_0x1d3e0e(0x1f1)](_0x2e5246=>_0x2e5246['severity']===STATIC_ANALYSIS[_0x1d3e0e(0x217)]['WARNING'])['length']}),_0x3f0876;}catch(_0x2d9409){return this['logger']?.[_0x1d3e0e(0x1ec)]('Python\x20analysis\x20failed',{'file':_0x57dc5f,'error':_0x2d9409[_0x1d3e0e(0x1f3)]}),[];}}async['checkSyntax'](_0x32f046,_0x3187be,_0xeed012){const _0x4d902b=a0_0x58c86d,_0x235219=[],_0x359a97=a0_0x4c03ea[_0x4d902b(0x215)](),_0x3d2090=a0_0x2cdba3['join'](_0x359a97,_0x4d902b(0x20f)+Date[_0x4d902b(0x204)]()+'.py'),_0x402418=a0_0x2cdba3['join'](_0x359a97,_0x4d902b(0x1fa)+Date[_0x4d902b(0x204)]()+_0x4d902b(0x1ea));try{await a0_0x279eaf['writeFile'](_0x402418,_0x3187be,'utf-8');const _0x37ce5e='\x0aimport\x20ast\x0aimport\x20sys\x0aimport\x20json\x0a\x0adef\x20check_syntax(filepath):\x0a\x20\x20\x20\x20try:\x0a\x20\x20\x20\x20\x20\x20\x20\x20with\x20open(filepath,\x20\x27r\x27,\x20encoding=\x27utf-8\x27)\x20as\x20f:\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20source\x20=\x20f.read()\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20#\x20Try\x20to\x20parse\x20the\x20file\x0a\x20\x20\x20\x20\x20\x20\x20\x20ast.parse(source,\x20filename=filepath)\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20#\x20If\x20successful,\x20no\x20errors\x0a\x20\x20\x20\x20\x20\x20\x20\x20print(json.dumps({\x22success\x22:\x20True,\x20\x22errors\x22:\x20[]}))\x0a\x0a\x20\x20\x20\x20except\x20SyntaxError\x20as\x20e:\x0a\x20\x20\x20\x20\x20\x20\x20\x20error\x20=\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22file\x22:\x20filepath,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22line\x22:\x20e.lineno\x20or\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22column\x22:\x20e.offset\x20or\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22message\x22:\x20str(e.msg),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22text\x22:\x20e.text.strip()\x20if\x20e.text\x20else\x20\x22\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20print(json.dumps({\x22success\x22:\x20False,\x20\x22errors\x22:\x20[error]}))\x0a\x0a\x20\x20\x20\x20except\x20Exception\x20as\x20e:\x0a\x20\x20\x20\x20\x20\x20\x20\x20error\x20=\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22file\x22:\x20filepath,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22line\x22:\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22column\x22:\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22message\x22:\x20str(e),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22text\x22:\x20\x22\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20print(json.dumps({\x22success\x22:\x20False,\x20\x22errors\x22:\x20[error]}))\x0a\x0aif\x20__name__\x20==\x20\x22__main__\x22:\x0a\x20\x20\x20\x20if\x20len(sys.argv)\x20>\x201:\x0a\x20\x20\x20\x20\x20\x20\x20\x20check_syntax(sys.argv[1])\x0a\x20\x20\x20\x20else:\x0a\x20\x20\x20\x20\x20\x20\x20\x20print(json.dumps({\x22success\x22:\x20False,\x20\x22errors\x22:\x20[{\x22message\x22:\x20\x22No\x20file\x20specified\x22}]}))\x0a';await a0_0x279eaf[_0x4d902b(0x1f5)](_0x3d2090,_0x37ce5e,_0x4d902b(0x1ed));const _0x379305=await this['runPythonScript'](_0xeed012,_0x3d2090,[_0x402418]);try{const _0x2e964f=JSON[_0x4d902b(0x202)](_0x379305['stdout']);if(!_0x2e964f[_0x4d902b(0x212)]&&_0x2e964f[_0x4d902b(0x20d)])for(const _0x244796 of _0x2e964f['errors']){_0x235219[_0x4d902b(0x21b)]({'file':_0x32f046,'line':_0x244796[_0x4d902b(0x210)]||0x1,'column':_0x244796[_0x4d902b(0x1ee)]||0x1,'severity':STATIC_ANALYSIS[_0x4d902b(0x217)]['ERROR'],'rule':'SyntaxError','message':_0x244796['message'],'category':STATIC_ANALYSIS['CATEGORY']['SYNTAX'],'fixable':![],'source':'python-ast','code':_0x244796[_0x4d902b(0x1f0)]||undefined});}}catch(_0x151757){this[_0x4d902b(0x1f9)]?.[_0x4d902b(0x209)](_0x4d902b(0x207),{'error':_0x151757['message'],'stdout':_0x379305['stdout']});}}finally{try{await a0_0x279eaf['unlink'](_0x3d2090),await a0_0x279eaf[_0x4d902b(0x1fc)](_0x402418);}catch{}}return _0x235219;}async[a0_0x58c86d(0x203)](){const _0x39f70f=a0_0x58c86d;if(this[_0x39f70f(0x20b)])return this[_0x39f70f(0x20b)];const _0x5c0b6b=['python3','python'];for(const _0x35883e of _0x5c0b6b){try{const _0x5b016c=await this[_0x39f70f(0x218)](_0x35883e,[_0x39f70f(0x206)]);if(_0x5b016c['success'])return this[_0x39f70f(0x20b)]=_0x35883e,this['logger']?.[_0x39f70f(0x20e)](_0x39f70f(0x1f8),{'command':_0x35883e,'version':_0x5b016c['stdout']['trim']()}),_0x35883e;}catch{}}return null;}async[a0_0x58c86d(0x21a)](_0x39b85d,_0x4fa005,_0x4d98b0=[]){const _0x32ca3b=a0_0x58c86d;return this[_0x32ca3b(0x218)](_0x39b85d,[_0x4fa005,..._0x4d98b0]);}async['runCommand'](_0x4d95f2,_0xc63ef9=[],_0x2b3394={}){return new Promise((_0x3c8c87,_0x40f93b)=>{const _0x14fa35=a0_0x3858,_0x45df83=spawn(_0x4d95f2,_0xc63ef9,{..._0x2b3394,'shell':!![]});let _0x129191='',_0x55d0ce='';_0x45df83[_0x14fa35(0x1ff)]?.['on'](_0x14fa35(0x1ef),_0x57d5b7=>{_0x129191+=_0x57d5b7['toString']();}),_0x45df83[_0x14fa35(0x214)]?.['on']('data',_0x332921=>{const _0x45b412=_0x14fa35;_0x55d0ce+=_0x332921[_0x45b412(0x211)]();}),_0x45df83['on'](_0x14fa35(0x1ec),_0x1ee724=>{_0x40f93b(_0x1ee724);}),_0x45df83['on'](_0x14fa35(0x1fb),_0x3d74f5=>{_0x3c8c87({'success':_0x3d74f5===0x0,'code':_0x3d74f5,'stdout':_0x129191,'stderr':_0x55d0ce});}),setTimeout(()=>{const _0x59d80c=_0x14fa35;_0x45df83['kill'](),_0x40f93b(new Error(_0x59d80c(0x213)));},0x2710);});}['getSupportedExtensions'](){return['.py'];}['supportsAutoFix'](){return![];}}export default PythonAnalyzer;
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 +1 @@
1
- function a0_0x552d(){const _0x19a075=['Bwv0ywrHDge','AxnZDwvFC2v2zxjPDhK','z2v0u2nHBM5LCLn0yxr1CW','DxjS','BgLUDfrLEhq','nte4otjAr05lz3O','zxjYB3i','uhL0Ag9UihnLy3vYAxr5ihnJyw5Uzxi','BNbTigf1zgL0igf2ywLSywjSzq','CMvZDwX0CW','C2vJDxjPDhK','BNbTqxvKAxq','y3zL','zgvWzw5Kzw5JAwvZ','Bg9Nz2vY','CgfYC2vcyw5KAxrszxn1BhrZ','rvnmAw50ihnLy3vYAxr5ihnJyw4GzMfPBgvK','y29UzMLKzw5Jzq','C3rKB3v0','y29S','y29Sx29MzNnLDa','CgLWigLUC3rHBgWGCgLWlwf1zgL0','zgLYBMfTzq','q1jjveLdquW','zgvZy3jPChrPB24','C2vTz3jLCa','u2vJDxjPDhKGDNvSBMvYywjPBgL0Eq','u2TPChbPBMCGDgvZDcbMAwXLigzVCIbZzwn1CML0EsbZy2fU','su5gtW','Cgf0Aa','CgfJA2fNzq','BgLUzq','CgX1z2LUoNnLy3vYAxr5l3jLy29TBwvUzgvK','BwvZC2fNzxm','DMLH','DhLWzxnJCMLWDa','AxnbCNjHEq','DNvSBMvYywjPBgL0AwvZ','C2vJDxjPDhKV','zgv0zwn0qxzHAwXHyMXLu2nHBM5LCNm','zxnSAw50','BwfWqMfUzgL0u2v2zxjPDhK','y3DK','CgLWlwf1zgL0igrLDgvJDgvK','mJe2mdq3DNzUz2v3','yw5HBhL6zvbYB2PLy3q','mJKXmhb2s1HTBW','C2vTz3jLCcaTlxzLCNnPB24','mZq2mZaXnhPetwvRAa','BNbTig5VDcbHDMfPBgfIBgu','u2vJDxjPDhKGAxnZDwuGzgv0zwn0zwq','CgLWqxvKAxq','BwfWu2vTz3jLCfnLDMvYAxr5','Bw9Yzv9PBMzV','AMf2yxnJCMLWDa','qMfUzgL0ihnJyw5UzxiGzgv0zwn0zwq','CgLWlwf1zgL0ic0TDMvYC2LVBG','ywXPyxnLCW','zgv0zwn0tgfUz3vHz2u','mtv1yuDMs3e','CNvUrvnmAw50u2vJDxjPDhK','v0fstKLorW','ChL0Ag9U','u2vTz3jLCcbZy2fUigzHAwXLza','ChvZAa','CNvSzuLK','BgvUz3rO','AxnZDwvFy29UzMLKzw5Jzq','ntbnCgXet0O','B3DHC3a','zMLSzw5HBwu','zxH0CMe','AgLNAa','yxzHAwXHyMXLu2nHBM5LCNm','zML4ywjSzq','zML4qxzHAwXHyMXL','rvjst1i','BMfTzq','u0vwrvjjvfK','Dw5RBM93BG','lNnJyw5UzxjZ','ntu4mtCXvNzVquDW','CNvUqMfUzgL0','uhL0Ag9UigrLCgvUzgvUy3KGDNvSBMvYywjPBgL0EsbZy2fUBMvY','BM9YBwfSAxPLuMvZDwX0CW','mtmXnJK2odrPy2H3z3u','C3rHCNrZv2L0Aa','y29SDw1U','CMfUz2u','BNbTigXPC3qGzxnSAw50lxbSDwDPBI1Zzwn1CML0EsaTlwrLChrOptaGls1QC29U','ode1mJmYmeH2CfbivW','nJm0mNjMBejIvW','zML4x3zLCNnPB25Z','CgfYC2vfu0XPBNrszxn1BhrZ','zxnSAw50lxbSDwDPBI1Zzwn1CML0Eq','CMvTzwrPyxrPB24','u2vTz3jLCcbUB3qGyxzHAwXHyMXL','CgfYC2u','ywr2AxnVCNK','sMf2yvnJCMLWDc9uExbLu2nYAxb0ihnLy3vYAxr5ihj1BgvZ','zxnSAw50lxbSDwDPBI1Zzwn1CML0EsbKzxrLy3rLza','CNvUugLWqxvKAxq','qMfUzgL0ihnJyw4GzMfPBgvK','CgfJA2fNzs5QC29U','BwvZC2fNzq','C2v2zxjPDhK','CgfYC2vqAxbbDwrPDfjLC3vSDhm','CMvXDwLYzw1LBNrZlNr4Da','D2fYBG','txvSDgKTBgfUz3vHz2uGu0ftvcb3AxrOigv4DgvUC2L2zsbZzwn1CML0EsbYDwXLCW','qMfUzgL0','yMfUzgL0','offewe91rq','CgfYC2voCg1bDwrPDfjLC3vSDhm','AgfZu2nHBM5LCNngB3jmyw5NDwfNzq','Bg9JywXty2fUBMvYrgLY','zxnSAw50u2vJDxjPDhK','u2vTz3jLCcbZy2fUBMvYigrLDgvJDgvKicHZExn0zw0P','AM9PBG','DMvYC2LVBG','rMfPBgvKihrVihbHCNnLiejHBMrPDcbVDxrWDxq','zxnSAw50lxbSDwDPBI1Zzwn1CML0EsbUB3qGyxzHAwXHyMXL','qMfUzgL0ig5VDcbHDMfPBgfIBgu','AxnZDwvFy3DL','BwfWugLWqxvKAxrtzxzLCML0Eq','zgvIDwC','CgLWlwf1zgL0ig5VDcbHDMfPBgfIBgu','BM9Kzv9TB2r1BgvZ','u2vTz3jLCcbZy2fUBMvYigrLDgvJDgvKicHSB2nHBcK'];a0_0x552d=function(){return _0x19a075;};return a0_0x552d();}const a0_0x27a49b=a0_0x3a4b;function a0_0x3a4b(_0x5d7828,_0x119e35){_0x5d7828=_0x5d7828-0xb1;const _0x552d6=a0_0x552d();let _0x3a4b68=_0x552d6[_0x5d7828];if(a0_0x3a4b['iVPmSb']===undefined){var _0x1b5a7a=function(_0x33a909){const _0x4a80ff='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x20953e='',_0x384840='';for(let _0x26b5c5=0x0,_0x4855d6,_0x1a31ab,_0x426068=0x0;_0x1a31ab=_0x33a909['charAt'](_0x426068++);~_0x1a31ab&&(_0x4855d6=_0x26b5c5%0x4?_0x4855d6*0x40+_0x1a31ab:_0x1a31ab,_0x26b5c5++%0x4)?_0x20953e+=String['fromCharCode'](0xff&_0x4855d6>>(-0x2*_0x26b5c5&0x6)):0x0){_0x1a31ab=_0x4a80ff['indexOf'](_0x1a31ab);}for(let _0x3c8752=0x0,_0x26f76d=_0x20953e['length'];_0x3c8752<_0x26f76d;_0x3c8752++){_0x384840+='%'+('00'+_0x20953e['charCodeAt'](_0x3c8752)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x384840);};a0_0x3a4b['KRsxcr']=_0x1b5a7a,a0_0x3a4b['quTsXl']={},a0_0x3a4b['iVPmSb']=!![];}const _0x525911=_0x552d6[0x0],_0x26493a=_0x5d7828+_0x525911,_0x147e19=a0_0x3a4b['quTsXl'][_0x26493a];return!_0x147e19?(_0x3a4b68=a0_0x3a4b['KRsxcr'](_0x3a4b68),a0_0x3a4b['quTsXl'][_0x26493a]=_0x3a4b68):_0x3a4b68=_0x147e19,_0x3a4b68;}(function(_0x312331,_0x4703eb){const _0x3eb9f4=a0_0x3a4b,_0x6fc238=_0x312331();while(!![]){try{const _0x2e7c59=-parseInt(_0x3eb9f4(0xfa))/0x1*(-parseInt(_0x3eb9f4(0xbd))/0x2)+-parseInt(_0x3eb9f4(0xfe))/0x3+parseInt(_0x3eb9f4(0xd3))/0x4*(-parseInt(_0x3eb9f4(0x109))/0x5)+parseInt(_0x3eb9f4(0xfc))/0x6*(parseInt(_0x3eb9f4(0x129))/0x7)+-parseInt(_0x3eb9f4(0x128))/0x8+-parseInt(_0x3eb9f4(0x11f))/0x9*(-parseInt(_0x3eb9f4(0x112))/0xa)+parseInt(_0x3eb9f4(0x123))/0xb;if(_0x2e7c59===_0x4703eb)break;else _0x6fc238['push'](_0x6fc238['shift']());}catch(_0x56a583){_0x6fc238['push'](_0x6fc238['shift']());}}}(a0_0x552d,0x92270));import{exec}from'child_process';import{promisify}from'util';import a0_0x20953e from'path';import a0_0x384840 from'fs/promises';import{STATIC_ANALYSIS}from'../utilities/constants.js';const execAsync=promisify(exec);class SecurityAnalyzer{constructor(_0x26b5c5=null){const _0x43209a=a0_0x3a4b;this[_0x43209a(0xdc)]=_0x26b5c5,this['availableScanners']=null,this['scannerCache']=new Map(),this[_0x43209a(0xc0)]=a0_0x20953e[_0x43209a(0xc3)](process['cwd'](),_0x43209a(0xcc),_0x43209a(0x11e));}async[a0_0x27a49b(0xf5)](){const _0x89c317=a0_0x27a49b;if(this[_0x89c317(0x117)]!==null)return this['availableScanners'];const _0x4855d6={'semgrep':![],'bandit':![],'npmAudit':![],'pipAudit':![],'eslintSecurity':![]};try{const _0x1a31ab=a0_0x20953e['join'](this[_0x89c317(0xc0)],_0x89c317(0xe7));try{await a0_0x384840['access'](_0x1a31ab),_0x4855d6[_0x89c317(0xe7)]=!![],this[_0x89c317(0xdc)]?.['debug'](_0x89c317(0xcd));}catch{await execAsync(_0x89c317(0xfd),{'timeout':0x1388}),_0x4855d6[_0x89c317(0xe7)]=!![],this[_0x89c317(0xdc)]?.[_0x89c317(0xca)](_0x89c317(0xc2));}}catch(_0x426068){this[_0x89c317(0xdc)]?.[_0x89c317(0xca)](_0x89c317(0x12e),{'error':_0x426068['message']});}try{await execAsync('bandit\x20--version',{'timeout':0x1388}),_0x4855d6[_0x89c317(0xbc)]=!![],this[_0x89c317(0xdc)]?.['debug'](_0x89c317(0x105));}catch(_0x3c8752){this[_0x89c317(0xdc)]?.['debug'](_0x89c317(0xc7),{'error':_0x3c8752['message']});}try{await execAsync('npm\x20--version',{'timeout':0x1388}),_0x4855d6[_0x89c317(0xd9)]=!![],this[_0x89c317(0xdc)]?.[_0x89c317(0xca)](_0x89c317(0xd6));}catch(_0x26f76d){this[_0x89c317(0xdc)]?.[_0x89c317(0xca)](_0x89c317(0xff),{'error':_0x26f76d['message']});}try{await execAsync(_0x89c317(0x106),{'timeout':0x1388}),_0x4855d6['pipAudit']=!![],this[_0x89c317(0xdc)]?.[_0x89c317(0xca)](_0x89c317(0xf9));}catch(_0x8e1b99){this[_0x89c317(0xdc)]?.[_0x89c317(0xca)](_0x89c317(0xcb),{'error':_0x8e1b99[_0x89c317(0xb5)]});}try{const _0x261aaf=await execAsync(_0x89c317(0x127),{'timeout':0x1388,'cwd':process[_0x89c317(0xf8)]()}),_0x29eac1=JSON['parse'](_0x261aaf[_0x89c317(0xe0)]);_0x29eac1[_0x89c317(0xdb)]&&_0x29eac1['dependencies'][_0x89c317(0x12c)]&&(_0x4855d6['eslintSecurity']=!![],this[_0x89c317(0xdc)]?.[_0x89c317(0xca)](_0x89c317(0xb1)));}catch(_0x2c4b0f){this[_0x89c317(0xdc)]?.[_0x89c317(0xca)](_0x89c317(0xc6),{'error':_0x2c4b0f[_0x89c317(0xb5)]});}return this['availableScanners']=_0x4855d6,_0x4855d6;}async['analyze'](_0x5c21cf,_0xb865db,_0x329c06={}){const _0x3ed3ab=a0_0x27a49b,_0x3d1d65=[],_0x2d6ae1=await this['detectAvailableScanners'](),_0x14c563=this[_0x3ed3ab(0x108)](_0x5c21cf);if(_0x329c06['skipTestFiles']!==![]&&this['isTestFile'](_0x5c21cf))return this[_0x3ed3ab(0xdc)]?.['debug'](_0x3ed3ab(0xe9),{'filePath':_0x5c21cf}),[];if(_0x14c563==='javascript'||_0x14c563===_0x3ed3ab(0xf1)){if(_0x2d6ae1['semgrep']){const _0x5424b7=await this['runSemgrep'](_0x5c21cf,[_0x14c563],_0x329c06);_0x3d1d65[_0x3ed3ab(0x10e)](..._0x5424b7);}if(_0x2d6ae1[_0x3ed3ab(0xc1)]){const _0x4d51b3=await this[_0x3ed3ab(0x10a)](_0x5c21cf,_0xb865db,_0x329c06);_0x3d1d65[_0x3ed3ab(0x10e)](..._0x4d51b3);}}if(_0x14c563===_0x3ed3ab(0x10c)){if(_0x2d6ae1['bandit']){const _0x537a20=await this['runBandit'](_0x5c21cf,_0x329c06);_0x3d1d65['push'](..._0x537a20);}if(_0x2d6ae1['semgrep']){const _0x454712=await this['runSemgrep'](_0x5c21cf,[_0x14c563],_0x329c06);_0x3d1d65[_0x3ed3ab(0x10e)](..._0x454712);}}return _0x3d1d65[_0x3ed3ab(0x110)]===0x0&&!this['hasScannersForLanguage'](_0x2d6ae1,_0x14c563)&&this['logger']?.[_0x3ed3ab(0xb9)]('No\x20security\x20scanners\x20available\x20for\x20language',{'language':_0x14c563,'filePath':_0x5c21cf}),this['normalizeResults'](_0x3d1d65);}async[a0_0x27a49b(0xfb)](_0x364f94,_0x248076,_0x2db5bf={}){const _0x13c2c7=a0_0x27a49b,_0x3d7114=[],_0x22e0d1=await this[_0x13c2c7(0xf5)]();if(_0x248076==='javascript'||_0x248076==='typescript'){if(_0x22e0d1[_0x13c2c7(0xd9)]){const _0x2e8d66=await this['runNpmAudit'](_0x364f94,_0x2db5bf);_0x3d7114['push'](..._0x2e8d66);}}if(_0x248076==='python'){if(_0x22e0d1['pipAudit']){const _0x42ad57=await this[_0x13c2c7(0xb2)](_0x364f94,_0x2db5bf);_0x3d7114[_0x13c2c7(0x10e)](..._0x42ad57);}}return this['normalizeResults'](_0x3d7114);}async['runSemgrep'](_0x3a922c,_0x146d4c,_0xcaa07a={}){const _0x38bc9d=a0_0x27a49b;try{const _0x35f836=a0_0x20953e[_0x38bc9d(0xe4)](_0x3a922c),_0x2860d6=await execAsync('semgrep\x20--config=auto\x20--json\x20\x22'+_0x3a922c+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530,'cwd':_0x35f836}),_0x50e08c=JSON['parse'](_0x2860d6[_0x38bc9d(0xe0)]);return this['parseSemgrepResults'](_0x50e08c);}catch(_0x300ba8){if(_0x300ba8[_0x38bc9d(0xe0)])try{const _0x216a3e=JSON['parse'](_0x300ba8[_0x38bc9d(0xe0)]);return this['parseSemgrepResults'](_0x216a3e);}catch(_0x55da1b){this[_0x38bc9d(0xdc)]?.['error']('Failed\x20to\x20parse\x20Semgrep\x20output',{'error':_0x55da1b['message'],'stdout':_0x300ba8['stdout']});}return this['logger']?.[_0x38bc9d(0xd4)](_0x38bc9d(0x10d),{'error':_0x300ba8[_0x38bc9d(0xb5)]}),[];}}['parseSemgrepResults'](_0x85402c){const _0x12b0c0=a0_0x27a49b,_0x490baa=[];if(_0x85402c[_0x12b0c0(0xd7)]&&Array['isArray'](_0x85402c['results']))for(const _0x4fc929 of _0x85402c['results']){_0x490baa[_0x12b0c0(0x10e)]({'file':_0x4fc929[_0x12b0c0(0xeb)],'line':_0x4fc929['start']?.[_0x12b0c0(0xed)]||0x1,'column':_0x4fc929['start']?.[_0x12b0c0(0xe1)]||0x1,'severity':this[_0x12b0c0(0x102)](_0x4fc929['extra']?.['severity']),'rule':_0x4fc929['check_id'],'message':_0x4fc929[_0x12b0c0(0x115)]?.['message']||_0x4fc929['extra']?.['lines']||'Security\x20issue\x20detected','category':'security','scanner':'semgrep','cwe':_0x4fc929['extra']?.['metadata']?.['cwe'],'owasp':_0x4fc929[_0x12b0c0(0x115)]?.[_0x12b0c0(0xce)]?.['owasp'],'confidence':_0x4fc929[_0x12b0c0(0x115)]?.['metadata']?.[_0x12b0c0(0xdf)],'references':_0x4fc929[_0x12b0c0(0x115)]?.[_0x12b0c0(0xce)]?.['references']});}return _0x490baa;}async[a0_0x27a49b(0x120)](_0x5a32ff,_0x5a0b3e={}){const _0x39d140=a0_0x27a49b;try{const _0x1b4434=await execAsync('bandit\x20-f\x20json\x20\x22'+_0x5a32ff+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530}),_0x1aa472=JSON['parse'](_0x1b4434[_0x39d140(0xe0)]);return this[_0x39d140(0xdd)](_0x1aa472);}catch(_0x3153bf){if(_0x3153bf[_0x39d140(0xe0)])try{const _0x4103f8=JSON['parse'](_0x3153bf['stdout']);return this['parseBanditResults'](_0x4103f8);}catch(_0x24cdd){this[_0x39d140(0xdc)]?.[_0x39d140(0xd4)](_0x39d140(0xc5),{'error':_0x24cdd['message']});}return this['logger']?.['error'](_0x39d140(0xb3),{'error':_0x3153bf['message']}),[];}}['parseBanditResults'](_0x291a10){const _0x4bc445=a0_0x27a49b,_0x9ab178=[];if(_0x291a10[_0x4bc445(0xd7)]&&Array['isArray'](_0x291a10[_0x4bc445(0xd7)]))for(const _0x50e3c1 of _0x291a10['results']){_0x9ab178[_0x4bc445(0x10e)]({'file':_0x50e3c1[_0x4bc445(0x114)],'line':_0x50e3c1['line_number']||0x1,'column':_0x50e3c1[_0x4bc445(0xe2)]||0x1,'severity':this[_0x4bc445(0xf7)](_0x50e3c1[_0x4bc445(0xcf)]),'rule':_0x50e3c1['test_id'],'message':_0x50e3c1['issue_text'],'category':_0x4bc445(0xd8),'scanner':'bandit','cwe':_0x50e3c1[_0x4bc445(0xc8)]?.['id']?'CWE-'+_0x50e3c1['issue_cwe']['id']:null,'confidence':_0x50e3c1[_0x4bc445(0x111)],'moreInfo':_0x50e3c1[_0x4bc445(0x103)]});}return _0x9ab178;}async['runESLintSecurity'](_0x4a0286,_0x21d4f6,_0x489f96={}){const _0x314db1=a0_0x27a49b;try{const {ESLint:_0x4e95f3}=await import(_0x314db1(0xf6)),_0x12e2e0=new _0x4e95f3({'overrideConfig':{'plugins':[_0x314db1(0xd8)],'extends':[_0x314db1(0xee)],'parserOptions':{'ecmaVersion':'latest','sourceType':'module'}},'useEslintrc':![]}),_0x42a9ad=await _0x12e2e0[_0x314db1(0xd2)](_0x21d4f6,{'filePath':_0x4a0286});return this[_0x314db1(0x12b)](_0x42a9ad,_0x4a0286);}catch(_0x1bec54){return this['logger']?.['error'](_0x314db1(0xde),{'error':_0x1bec54['message'],'filePath':_0x4a0286}),[];}}[a0_0x27a49b(0x12b)](_0x50854b,_0x2e5bd3){const _0x15635a=a0_0x27a49b,_0x472536=[];for(const _0x1265b3 of _0x50854b){if(_0x1265b3['messages']&&Array[_0x15635a(0xf2)](_0x1265b3[_0x15635a(0xef)]))for(const _0x1857ca of _0x1265b3[_0x15635a(0xef)]){_0x1857ca['ruleId']&&_0x1857ca[_0x15635a(0x10f)][_0x15635a(0x124)](_0x15635a(0xf4))&&_0x472536['push']({'file':_0x2e5bd3,'line':_0x1857ca['line']||0x1,'column':_0x1857ca[_0x15635a(0x125)]||0x1,'severity':this['mapESLintSeverity'](_0x1857ca[_0x15635a(0xb6)]),'rule':_0x1857ca[_0x15635a(0x10f)],'message':_0x1857ca['message'],'category':_0x15635a(0xd8),'scanner':'eslint-security','fixable':_0x1857ca['fix']!==undefined});}}return _0x472536;}async['runNpmAudit'](_0x4b600b,_0x519006={}){const _0x2244d6=a0_0x27a49b;try{const _0x48bf04=a0_0x20953e['join'](_0x4b600b,'package.json');try{await a0_0x384840['access'](_0x48bf04);}catch{return this[_0x2244d6(0xdc)]?.[_0x2244d6(0xca)]('No\x20package.json\x20found,\x20skipping\x20npm\x20audit'),[];}const _0x3e16be=await execAsync('npm\x20audit\x20--json',{'cwd':_0x4b600b,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x5b3c5f=JSON[_0x2244d6(0x12f)](_0x3e16be['stdout']);return this[_0x2244d6(0xbe)](_0x5b3c5f);}catch(_0x9f20d0){if(_0x9f20d0['stdout'])try{const _0x42433e=JSON[_0x2244d6(0x12f)](_0x9f20d0[_0x2244d6(0xe0)]);return this['parseNpmAuditResults'](_0x42433e);}catch(_0x271bcb){this['logger']?.['error']('Failed\x20to\x20parse\x20npm\x20audit\x20output',{'error':_0x271bcb[_0x2244d6(0xb5)]});}return[];}}[a0_0x27a49b(0xbe)](_0x409320){const _0x32bbe9=a0_0x27a49b,_0x13abf6=[];if(_0x409320['vulnerabilities'])for(const [_0x4670ed,_0x1ae65a]of Object['entries'](_0x409320[_0x32bbe9(0xf3)])){_0x13abf6[_0x32bbe9(0x10e)]({'file':_0x32bbe9(0xb4),'line':0x1,'column':0x1,'severity':this['mapNpmSeverity'](_0x1ae65a['severity']),'rule':'npm-'+(_0x1ae65a['via'][0x0]?.['source']||_0x32bbe9(0x130)),'message':_0x4670ed+':\x20'+(_0x1ae65a['via'][0x0]?.['title']||_0x32bbe9(0xe8)),'category':'security','scanner':'npm-audit','package':_0x4670ed,'vulnerableVersions':_0x1ae65a[_0x32bbe9(0x126)],'patchedVersions':_0x1ae65a[_0x32bbe9(0x119)]?'Available':'None','cve':_0x1ae65a[_0x32bbe9(0xf0)][0x0]?.[_0x32bbe9(0xda)],'cvss':_0x1ae65a[_0x32bbe9(0xf0)][0x0]?.['cvss'],'references':_0x1ae65a['via'][0x0]?.[_0x32bbe9(0xd1)]?[_0x1ae65a[_0x32bbe9(0xf0)][0x0]['url']]:[]});}return _0x13abf6;}async[a0_0x27a49b(0xb2)](_0x506ba9,_0x3f4b71={}){const _0xb7011=a0_0x27a49b;try{const requirementsPath=a0_0x20953e['join'](_0x506ba9,_0xb7011(0xb8));try{await a0_0x384840['access'](requirementsPath);}catch{return this['logger']?.[_0xb7011(0xca)]('No\x20requirements.txt\x20found,\x20skipping\x20pip-audit'),[];}const _0x29f35d=await execAsync('pip-audit\x20--format\x20json',{'cwd':_0x506ba9,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x5ddf39=JSON[_0xb7011(0x12f)](_0x29f35d[_0xb7011(0xe0)]);return this[_0xb7011(0xb7)](_0x5ddf39);}catch(_0x385313){if(_0x385313[_0xb7011(0xe0)])try{const _0x2d4bb8=JSON[_0xb7011(0x12f)](_0x385313['stdout']);return this['parsePipAuditResults'](_0x2d4bb8);}catch(_0x1a7f5f){this[_0xb7011(0xdc)]?.['error']('Failed\x20to\x20parse\x20pip-audit\x20output',{'error':_0x1a7f5f[_0xb7011(0xb5)]});}return[];}}[a0_0x27a49b(0xb7)](_0x1be385){const _0x480431=a0_0x27a49b,_0x1cd4d6=[];if(_0x1be385[_0x480431(0xdb)]&&Array[_0x480431(0xf2)](_0x1be385[_0x480431(0xdb)]))for(const _0x4f19c9 of _0x1be385[_0x480431(0xdb)]){if(_0x4f19c9['vulns']&&Array[_0x480431(0xf2)](_0x4f19c9['vulns']))for(const _0x5caa37 of _0x4f19c9['vulns']){_0x1cd4d6[_0x480431(0x10e)]({'file':'requirements.txt','line':0x1,'column':0x1,'severity':this['mapPipAuditSeverity'](_0x5caa37[_0x480431(0xb6)]),'rule':_0x5caa37['id'],'message':_0x4f19c9[_0x480431(0x11b)]+':\x20'+(_0x5caa37[_0x480431(0xe6)]||'Security\x20vulnerability'),'category':'security','scanner':'pip-audit','package':_0x4f19c9[_0x480431(0x11b)],'vulnerableVersion':_0x4f19c9[_0x480431(0xc4)],'fixedVersions':_0x5caa37[_0x480431(0x12a)],'references':_0x5caa37[_0x480431(0x107)]||[]});}}return _0x1cd4d6;}['detectLanguage'](_0x9527d5){const _0x37d146=a0_0x27a49b,_0x6ef423=a0_0x20953e['extname'](_0x9527d5)['toLowerCase'](),_0x4877c4={'.js':_0x37d146(0x104),'.jsx':'javascript','.mjs':_0x37d146(0x104),'.cjs':_0x37d146(0x104),'.ts':'typescript','.tsx':'typescript','.py':_0x37d146(0x10c)};return _0x4877c4[_0x6ef423]||null;}['isTestFile'](_0x18f347){const _0x2984a1=[/\.test\./,/\.spec\./,/__tests__\//,/\/tests?\//,/\.test$/,/\.spec$/];return _0x2984a1['some'](_0x312f1c=>_0x312f1c['test'](_0x18f347));}[a0_0x27a49b(0xbf)](_0x6b3161,_0x5fcc7a){const _0x6f7f93=a0_0x27a49b;if(_0x5fcc7a==='javascript'||_0x5fcc7a===_0x6f7f93(0xf1))return _0x6b3161['semgrep']||_0x6b3161['eslintSecurity'];if(_0x5fcc7a===_0x6f7f93(0x10c))return _0x6b3161[_0x6f7f93(0xbc)]||_0x6b3161[_0x6f7f93(0xe7)];return![];}[a0_0x27a49b(0x122)](_0x5ab808){const _0x3584f5=a0_0x27a49b;return _0x5ab808['map'](_0x486b76=>({'file':_0x486b76['file'],'line':_0x486b76[_0x3584f5(0xed)]||0x1,'column':_0x486b76['column']||0x1,'severity':_0x486b76['severity']||STATIC_ANALYSIS[_0x3584f5(0x11c)]['WARNING'],'rule':_0x486b76['rule']||_0x3584f5(0x11d),'message':_0x486b76['message']||_0x3584f5(0x100),'category':'security','scanner':_0x486b76['scanner'],'cwe':_0x486b76['cwe']||null,'owasp':_0x486b76[_0x3584f5(0x113)]||null,'confidence':_0x486b76['confidence']||null,'fixable':_0x486b76[_0x3584f5(0x118)]||![],'remediation':_0x486b76[_0x3584f5(0x12d)]||_0x486b76['moreInfo']||null,'references':_0x486b76['references']||[],'package':_0x486b76[_0x3584f5(0xec)]||null}));}[a0_0x27a49b(0x102)](_0x220e78){const _0xaaa8b3=a0_0x27a49b,_0x2ddb34={'ERROR':STATIC_ANALYSIS[_0xaaa8b3(0x11c)]['CRITICAL'],'WARNING':STATIC_ANALYSIS['SEVERITY'][_0xaaa8b3(0x11a)],'INFO':STATIC_ANALYSIS['SEVERITY'][_0xaaa8b3(0x10b)]};return _0x2ddb34[_0x220e78?.['toUpperCase']()]||STATIC_ANALYSIS['SEVERITY'][_0xaaa8b3(0x10b)];}[a0_0x27a49b(0xf7)](_0x54a9dd){const _0x28e87c=a0_0x27a49b,_0x593227={'HIGH':STATIC_ANALYSIS[_0x28e87c(0x11c)]['CRITICAL'],'MEDIUM':STATIC_ANALYSIS['SEVERITY'][_0x28e87c(0x11a)],'LOW':STATIC_ANALYSIS['SEVERITY']['WARNING']};return _0x593227[_0x54a9dd?.['toUpperCase']()]||STATIC_ANALYSIS[_0x28e87c(0x11c)]['WARNING'];}['mapESLintSeverity'](_0x46919d){const _0x5702c7=a0_0x27a49b;return _0x46919d===0x2?STATIC_ANALYSIS['SEVERITY']['ERROR']:STATIC_ANALYSIS[_0x5702c7(0x11c)]['WARNING'];}['mapNpmSeverity'](_0x2f88ec){const _0x2faad8=a0_0x27a49b,_0x18c660={'critical':STATIC_ANALYSIS['SEVERITY'][_0x2faad8(0xe5)],'high':STATIC_ANALYSIS[_0x2faad8(0x11c)][_0x2faad8(0xe5)],'moderate':STATIC_ANALYSIS[_0x2faad8(0x11c)]['ERROR'],'low':STATIC_ANALYSIS['SEVERITY']['WARNING'],'info':STATIC_ANALYSIS['SEVERITY'][_0x2faad8(0xea)]};return _0x18c660[_0x2f88ec?.['toLowerCase']()]||STATIC_ANALYSIS['SEVERITY']['WARNING'];}[a0_0x27a49b(0xc9)](_0x7eacbf){const _0x4d655e=a0_0x27a49b;if(!_0x7eacbf)return STATIC_ANALYSIS[_0x4d655e(0x11c)][_0x4d655e(0x11a)];const _0x28c7e4={'critical':STATIC_ANALYSIS['SEVERITY']['CRITICAL'],'high':STATIC_ANALYSIS[_0x4d655e(0x11c)][_0x4d655e(0xe5)],'medium':STATIC_ANALYSIS['SEVERITY']['ERROR'],'low':STATIC_ANALYSIS[_0x4d655e(0x11c)]['WARNING']};return _0x28c7e4[_0x7eacbf?.['toLowerCase']()]||STATIC_ANALYSIS['SEVERITY']['ERROR'];}async[a0_0x27a49b(0xd0)](){const _0x471069=a0_0x27a49b,_0x56e9ec=await this[_0x471069(0xf5)]();return{'scanners':_0x56e9ec,'recommendations':this['getInstallRecommendations'](_0x56e9ec)};}['getInstallRecommendations'](_0x433133){const _0x52d29c=a0_0x27a49b,_0x66d815=[];return!_0x433133[_0x52d29c(0xe7)]&&_0x66d815[_0x52d29c(0x10e)]({'scanner':'Semgrep','reason':_0x52d29c(0xba),'install':'pip\x20install\x20semgrep\x20OR\x20use\x20Docker:\x20docker\x20pull\x20returntocorp/semgrep','priority':_0x52d29c(0x116)}),!_0x433133['bandit']&&_0x66d815['push']({'scanner':_0x52d29c(0xbb),'reason':_0x52d29c(0xd5),'install':'pip\x20install\x20bandit','priority':'medium'}),!_0x433133[_0x52d29c(0xc1)]&&_0x66d815['push']({'scanner':_0x52d29c(0x12c),'reason':_0x52d29c(0x131),'install':'npm\x20install\x20--save-dev\x20eslint-plugin-security','priority':'medium'}),!_0x433133[_0x52d29c(0x101)]&&_0x66d815[_0x52d29c(0x10e)]({'scanner':'pip-audit','reason':_0x52d29c(0x121),'install':_0x52d29c(0xe3),'priority':'low'}),_0x66d815;}}export default SecurityAnalyzer;
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 +1 @@
1
- const a0_0x121a4b=a0_0x19bc;(function(_0x333dbe,_0xe2c87d){const _0x15b40e=a0_0x19bc,_0x5529cc=_0x333dbe();while(!![]){try{const _0x4ae86b=parseInt(_0x15b40e(0x169))/0x1*(-parseInt(_0x15b40e(0x173))/0x2)+-parseInt(_0x15b40e(0x164))/0x3+-parseInt(_0x15b40e(0x14d))/0x4*(parseInt(_0x15b40e(0x179))/0x5)+-parseInt(_0x15b40e(0x162))/0x6*(-parseInt(_0x15b40e(0x178))/0x7)+-parseInt(_0x15b40e(0x15e))/0x8+parseInt(_0x15b40e(0x14f))/0x9*(parseInt(_0x15b40e(0x17c))/0xa)+parseInt(_0x15b40e(0x152))/0xb;if(_0x4ae86b===_0xe2c87d)break;else _0x5529cc['push'](_0x5529cc['shift']());}catch(_0x28a6c2){_0x5529cc['push'](_0x5529cc['shift']());}}}(a0_0x4ab9,0x22eae));function a0_0x19bc(_0x5dd93c,_0x4fb402){_0x5dd93c=_0x5dd93c-0x14a;const _0x4ab9c0=a0_0x4ab9();let _0x19bc34=_0x4ab9c0[_0x5dd93c];if(a0_0x19bc['KyBOSI']===undefined){var _0x4d9537=function(_0x29ae21){const _0x4c59ca='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x362fe8='',_0x3936f4='';for(let _0x2b6e0d=0x0,_0x48d693,_0x1ec572,_0x3cbd87=0x0;_0x1ec572=_0x29ae21['charAt'](_0x3cbd87++);~_0x1ec572&&(_0x48d693=_0x2b6e0d%0x4?_0x48d693*0x40+_0x1ec572:_0x1ec572,_0x2b6e0d++%0x4)?_0x362fe8+=String['fromCharCode'](0xff&_0x48d693>>(-0x2*_0x2b6e0d&0x6)):0x0){_0x1ec572=_0x4c59ca['indexOf'](_0x1ec572);}for(let _0x417088=0x0,_0x3f3b67=_0x362fe8['length'];_0x417088<_0x3f3b67;_0x417088++){_0x3936f4+='%'+('00'+_0x362fe8['charCodeAt'](_0x417088)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3936f4);};a0_0x19bc['xZuvRs']=_0x4d9537,a0_0x19bc['FNqBqv']={},a0_0x19bc['KyBOSI']=!![];}const _0x2b59df=_0x4ab9c0[0x0],_0x21168c=_0x5dd93c+_0x2b59df,_0x2a2baf=a0_0x19bc['FNqBqv'][_0x21168c];return!_0x2a2baf?(_0x19bc34=a0_0x19bc['xZuvRs'](_0x19bc34),a0_0x19bc['FNqBqv'][_0x21168c]=_0x19bc34):_0x19bc34=_0x2a2baf,_0x19bc34;}import a0_0x362fe8 from'typescript';import a0_0x3936f4 from'path';import{STATIC_ANALYSIS}from'../utilities/constants.js';function a0_0x4ab9(){const _0x3b731b=['tw9KDwXLuMvZB2X1DgLVBKTPBMq','ndvJyMzxrhq','y2XHC3m','y2HHCMfJDgvY','mZa3odK5oufZtunZwG','z2v0tgLUzufUzenOyxjHy3rLCK9Mug9ZAxrPB24','Aw5JBhvKzxm','y29TCgLSzxjpChrPB25Z','tM9KzuPZ','qw5HBhLZAxmGzMfPBgvKoIa','zgLYBMfTzq','rvjst1i','zMXHDhrLBKrPywDUB3n0AwnnzxnZywDLvgv4Da','q0furuDpuLK','zM9YBwf0rgLHz25VC3rPyW','zgvIDwC','mZmXnJq4CwPmtu1P','vhLWzvnJCMLWDcbHBMfSExnPCYbJB21WBgv0zwq','su1qt1ju','tw9KDwXLs2LUza','mZK2mtjXu1HVtxe','u1Lovefy','mteWmty5q3PxA1np','tgf0zxn0','Bg9Nz2vY','C3rHCNq','u3vNz2vZDgLVBG','mJzlu0L5yLe','BwvZC2fNzq','rgLHz25VC3rPy0nHDgvNB3j5','z2v0u3LUDgfJDgLJrgLHz25VC3rPy3m','zMLSDgvY','CgfYC2veAwfNBM9ZDgLJCW','BgvUz3rO','sNn4rw1PDa','zMLSzu5HBwu','twvZC2fNzq','mtaZotbJshrjsLK','y3jLyxrLu291CMnLrMLSzq','u0vwrvjjvfK','su5gtW','u2nYAxb0vgfYz2v0','odrwrgv3CfC','nduWndq1vLzvDMr4','BgLUzq','y2f0zwDVCNK','ntm0odeWt2Lvsg9Q','DhLWzq','z2v0u2vTyw50AwneAwfNBM9ZDgLJCW','vfLqrq','Aw50zxjMywnL','Dw5RBM93BG','C2v2zxjPDhK','ChvZAa','v2fYBMLUzW','mtjXrKnJEfC'];a0_0x4ab9=function(){return _0x3b731b;};return a0_0x4ab9();}class TypeScriptAnalyzer{constructor(_0x2b6e0d=null){const _0x1b4f0d=a0_0x19bc;this['logger']=_0x2b6e0d,this[_0x1b4f0d(0x155)]={'noEmit':!![],'jsx':a0_0x362fe8[_0x1b4f0d(0x170)]['React'],'target':a0_0x362fe8[_0x1b4f0d(0x177)][_0x1b4f0d(0x165)],'module':a0_0x362fe8[_0x1b4f0d(0x161)]['ESNext'],'moduleResolution':a0_0x362fe8[_0x1b4f0d(0x14e)][_0x1b4f0d(0x156)],'esModuleInterop':!![],'skipLibCheck':!![],'strict':!![],'noImplicitAny':!![],'strictNullChecks':!![],'strictFunctionTypes':!![],'allowJs':![]};}async['analyze'](_0x48d693,_0x1ec572,_0x3cbd87={}){const _0x28b5be=a0_0x19bc;try{const _0x417088=[],_0x3f3b67=a0_0x362fe8['createSourceFile'](_0x48d693,_0x1ec572,a0_0x362fe8['ScriptTarget'][_0x28b5be(0x165)],!![]),_0x2d529c=this[_0x28b5be(0x16c)](_0x3f3b67);_0x417088['push'](..._0x2d529c);const _0x201c5e=await this[_0x28b5be(0x17e)](_0x48d693,_0x1ec572);return _0x417088['push'](..._0x201c5e),this[_0x28b5be(0x166)]?.[_0x28b5be(0x15d)](_0x28b5be(0x15f),{'file':_0x48d693,'totalDiagnostics':_0x417088['length'],'errors':_0x417088[_0x28b5be(0x16d)](_0x1f3c80=>_0x1f3c80['severity']===STATIC_ANALYSIS['SEVERITY']['ERROR'])['length'],'warnings':_0x417088['filter'](_0x2ad967=>_0x2ad967[_0x28b5be(0x14a)]===STATIC_ANALYSIS[_0x28b5be(0x175)]['WARNING'])[_0x28b5be(0x16f)]}),_0x417088;}catch(_0x378188){return this['logger']?.['error']('TypeScript\x20analysis\x20failed',{'file':_0x48d693,'error':_0x378188[_0x28b5be(0x16a)]}),[{'file':_0x48d693,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS['SEVERITY']['ERROR'],'rule':'analyzer-error','message':_0x28b5be(0x157)+_0x378188[_0x28b5be(0x16a)],'category':STATIC_ANALYSIS['CATEGORY']['SYNTAX']}];}}[a0_0x121a4b(0x16c)](_0x1b6c88){const _0x20bbd8=a0_0x121a4b,_0x453d3a=[];if(_0x1b6c88[_0x20bbd8(0x16e)]&&_0x1b6c88['parseDiagnostics']['length']>0x0)for(const _0x93f60a of _0x1b6c88['parseDiagnostics']){_0x453d3a[_0x20bbd8(0x14b)](this['formatDiagnostic'](_0x93f60a,_0x1b6c88));}return _0x453d3a;}async[a0_0x121a4b(0x17e)](_0x4aacf4,_0x26deeb){const _0x5b81dd=a0_0x121a4b,_0x4a5574=[];try{const _0x39d688=a0_0x362fe8[_0x5b81dd(0x174)](_0x4aacf4,_0x26deeb,a0_0x362fe8['ScriptTarget'][_0x5b81dd(0x165)],!![]),_0x525e24={'getSourceFile':_0x88da54=>{if(_0x88da54===_0x4aacf4)return _0x39d688;return undefined;},'getDefaultLibFileName':()=>'lib.d.ts','writeFile':()=>{},'getCurrentDirectory':()=>a0_0x3936f4[_0x5b81dd(0x158)](_0x4aacf4),'getDirectories':()=>[],'fileExists':_0x3c5974=>_0x3c5974===_0x4aacf4,'readFile':_0x4b2441=>{if(_0x4b2441===_0x4aacf4)return _0x26deeb;return undefined;},'getCanonicalFileName':_0x3138a9=>_0x3138a9,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x1d6346=a0_0x362fe8['createProgram']({'rootNames':[_0x4aacf4],'options':this['compilerOptions'],'host':_0x525e24}),_0x5e61fa=_0x1d6346['getSyntacticDiagnostics'](_0x39d688),_0x49c0ce=_0x1d6346[_0x5b81dd(0x17e)](_0x39d688);for(const _0x320541 of[..._0x5e61fa,..._0x49c0ce]){_0x4a5574[_0x5b81dd(0x14b)](this[_0x5b81dd(0x15c)](_0x320541,_0x39d688));}}catch(_0x4ae08b){this['logger']?.[_0x5b81dd(0x15d)]('Semantic\x20analysis\x20encountered\x20error',{'file':_0x4aacf4,'error':_0x4ae08b[_0x5b81dd(0x16a)]});}return _0x4a5574;}[a0_0x121a4b(0x15c)](_0x3675cf,_0x7d7af){const _0x371a48=a0_0x121a4b;let _0x145735=0x0,_0x2e0199=0x0;if(_0x3675cf['file']&&_0x3675cf[_0x371a48(0x167)]!==undefined){const _0x201c65=_0x3675cf['file'][_0x371a48(0x153)](_0x3675cf[_0x371a48(0x167)]);_0x145735=_0x201c65['line']+0x1,_0x2e0199=_0x201c65[_0x371a48(0x151)]+0x1;}else{if(_0x7d7af&&_0x3675cf['start']!==undefined){const _0x540758=_0x7d7af['getLineAndCharacterOfPosition'](_0x3675cf[_0x371a48(0x167)]);_0x145735=_0x540758[_0x371a48(0x17a)]+0x1,_0x2e0199=_0x540758[_0x371a48(0x151)]+0x1;}}const _0x219cbd=a0_0x362fe8[_0x371a48(0x15a)](_0x3675cf['messageText'],'\x0a');let _0x2e26ce;switch(_0x3675cf[_0x371a48(0x17b)]){case a0_0x362fe8['DiagnosticCategory']['Error']:_0x2e26ce=STATIC_ANALYSIS[_0x371a48(0x175)][_0x371a48(0x159)];break;case a0_0x362fe8[_0x371a48(0x16b)][_0x371a48(0x14c)]:_0x2e26ce=STATIC_ANALYSIS[_0x371a48(0x175)]['WARNING'];break;case a0_0x362fe8['DiagnosticCategory'][_0x371a48(0x172)]:case a0_0x362fe8['DiagnosticCategory'][_0x371a48(0x168)]:_0x2e26ce=STATIC_ANALYSIS[_0x371a48(0x175)][_0x371a48(0x176)];break;default:_0x2e26ce=STATIC_ANALYSIS['SEVERITY'][_0x371a48(0x159)];}let _0x569eee=STATIC_ANALYSIS[_0x371a48(0x15b)][_0x371a48(0x163)];const _0x4de718=_0x3675cf['code'];if(_0x4de718>=0x7d0&&_0x4de718<0xbb8)_0x569eee=STATIC_ANALYSIS['CATEGORY']['TYPE'];else{if(_0x4de718>=0x3e8&&_0x4de718<0x7d0)_0x569eee=STATIC_ANALYSIS[_0x371a48(0x15b)][_0x371a48(0x163)];else _0x4de718>=0x8fc&&_0x4de718<0x960&&(_0x569eee=STATIC_ANALYSIS[_0x371a48(0x15b)][_0x371a48(0x160)]);}const _0x383e0c=_0x219cbd['toLowerCase']();if(_0x383e0c['includes']('cannot\x20find\x20module')||_0x383e0c[_0x371a48(0x154)]('import')||_0x383e0c[_0x371a48(0x154)]('export'))_0x569eee=STATIC_ANALYSIS['CATEGORY']['IMPORT'];else(_0x383e0c['includes'](_0x371a48(0x17d))||_0x383e0c['includes'](_0x371a48(0x180))||_0x383e0c[_0x371a48(0x154)](_0x371a48(0x150)))&&(_0x569eee=STATIC_ANALYSIS[_0x371a48(0x15b)][_0x371a48(0x17f)]);return{'file':_0x3675cf['file']?.['fileName']||_0x7d7af?.[_0x371a48(0x171)]||_0x371a48(0x181),'line':_0x145735,'column':_0x2e0199,'severity':_0x2e26ce,'rule':'TS'+_0x4de718,'message':_0x219cbd,'category':_0x569eee,'fixable':![],'code':_0x3675cf['code']};}}export default TypeScriptAnalyzer;
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 +1 @@
1
- function a0_0x1cd9(_0xc8b283,_0x23f9c7){_0xc8b283=_0xc8b283-0xb0;const _0x1688b8=a0_0x1688();let _0x1cd942=_0x1688b8[_0xc8b283];if(a0_0x1cd9['NJKmUQ']===undefined){var _0x252b8b=function(_0x5cedf2){const _0x2502bb='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x7c4310='',_0x3259f5='';for(let _0x38c2ec=0x0,_0x17e4b9,_0x245465,_0x5c91c2=0x0;_0x245465=_0x5cedf2['charAt'](_0x5c91c2++);~_0x245465&&(_0x17e4b9=_0x38c2ec%0x4?_0x17e4b9*0x40+_0x245465:_0x245465,_0x38c2ec++%0x4)?_0x7c4310+=String['fromCharCode'](0xff&_0x17e4b9>>(-0x2*_0x38c2ec&0x6)):0x0){_0x245465=_0x2502bb['indexOf'](_0x245465);}for(let _0x840b59=0x0,_0x425e68=_0x7c4310['length'];_0x840b59<_0x425e68;_0x840b59++){_0x3259f5+='%'+('00'+_0x7c4310['charCodeAt'](_0x840b59)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3259f5);};a0_0x1cd9['BcEHzI']=_0x252b8b,a0_0x1cd9['TZIzFL']={},a0_0x1cd9['NJKmUQ']=!![];}const _0x398f30=_0x1688b8[0x0],_0x3e15ea=_0xc8b283+_0x398f30,_0x111bf6=a0_0x1cd9['TZIzFL'][_0x3e15ea];return!_0x111bf6?(_0x1cd942=a0_0x1cd9['BcEHzI'](_0x1cd942),a0_0x1cd9['TZIzFL'][_0x3e15ea]=_0x1cd942):_0x1cd942=_0x111bf6,_0x1cd942;}const a0_0x15882f=a0_0x1cd9;(function(_0x4e0c6b,_0x1a52c4){const _0x4a2688=a0_0x1cd9,_0x7f400a=_0x4e0c6b();while(!![]){try{const _0x408cb3=-parseInt(_0x4a2688(0xb1))/0x1+-parseInt(_0x4a2688(0xcf))/0x2*(parseInt(_0x4a2688(0xb5))/0x3)+-parseInt(_0x4a2688(0xc2))/0x4+-parseInt(_0x4a2688(0xc7))/0x5+parseInt(_0x4a2688(0xee))/0x6+-parseInt(_0x4a2688(0xd8))/0x7+parseInt(_0x4a2688(0xbb))/0x8*(parseInt(_0x4a2688(0xd5))/0x9);if(_0x408cb3===_0x1a52c4)break;else _0x7f400a['push'](_0x7f400a['shift']());}catch(_0x52dcfa){_0x7f400a['push'](_0x7f400a['shift']());}}}(a0_0x1688,0xd32b4));function a0_0x1688(){const _0x3a0cb5=['Aw1Wywn0u2nVCMu','ndK5ogLnywj1Bq','Bwv0CMLJCW','BwfW','y2HHCKf0','ms4Gq3jLyxrLigeGBMv3igz1BMn0Aw9Uig5HBwvKicC','C3bSAxq','mJyZn0LMzezrwa','mI4Gtw92zsbYzwXHDgvKig1LDgHVzhmGyw5KihbYB3bLCNrPzxmGAw50BYb0AguGy2XHC3m','y3jLyxrLrNvUy3rPB25oyw1L','nJqXmtC1nxbnD1LnBa','ns4GvgvZDcb0BYbLBNn1CMuGyMvOyxzPB3iGAxmGChjLC2vYDMvK','C29YDa','Bg9Nmta','AgLNAa','Dg9gAxHLza','ihrPBwvZ','z2vUzxjHDgvby3rPB25HyMXLu3rLChm','zxH0CMfJDc1TB2r1Bgu','mY4GvxbKyxrLigfSBcbPBNn0yw5JzxmGDg8GDxnLihrOzsbUzxCGy2XHC3m','DMfY','vgHPCYa','y29UzMLKzw5Jzq','yxzLCMfNzuXPBMvdB3vUDa','CMvKDwnL','y29Kzq','zxH0CMfJDc1JBgfZCW','zw5KtgLUzq','C2L6zq','zgv0zxjTAw5LuhjPB3jPDhK','Aw5JBhvKzxm','ms4Gq3jLyxrLigeGBMv3ig1VzhvSzs9MAwXLigzVCIb0AgLZihnOyxjLzcbMDw5JDgLVBMfSAxr5','nda0odCYmKzIternwq','zgvZy3jPyMvczw5LzML0CW','zgv0zxjTAw5LuMvMywn0B3jPBMDtDhjHDgvNEq','sw1WCM92zsbJB2rLig9Yz2fUAxPHDgLVBIbHy3jVC3mG','yMXVy2TZ','C3rHCNrmAw5L','z2vUzxjHDgvszwfZB25PBMC','mtq3ntmZmhb3u2nbtW','zxH0CMfJDgvKrNvUy3rPB24','uMvMywn0B3jPBMCGDg8G','ChvZAa','nJq1seTQqurs','Bg9N','zNvUy3rPB24','C2XPy2u','mY4GvgvZDcb0Ag9YB3vNAgX5','zwXZzq','mteYmJmYu3nst2T1','igXVy2f0Aw9UCW','zxn0Aw1HDgvfzMzVCNq','zMLSzxndB3zLCMvK','C3vNz2vZDe5HBwu','z2vUzxjHDgvszwzHy3rVCMLUz0fKDMLJzq','y29UC3q','nJGXodiWqLrVB1rN','mI4GuMvWBgfJzsbHBgWGAw5ZDgfUy2vZihDPDgGGDgHLigv4DhjHy3rLzcb2zxjZAw9U','y2fSy3vSyxrLtwv0CMLJCW','zxH0CMfJDc1JB25ZDgfUDc1VCI11DgLSAxr5','BwvKAxvT','ndeWnJuWnxrezK5QzG','ms4Gq3jLyxrLigeGBMv3ignSyxnZihrVigvUy2fWC3vSyxrLihrOAxmGzNvUy3rPB25HBgL0Eq','igzPBgvZ','Bg93','BgvUz3rO','Dg9Rzw5dB3vUDa','C29Tzq'];a0_0x1688=function(){return _0x3a0cb5;};return a0_0x1688();}export class RefactoringAnalyzer{constructor(_0x7c4310){this['config']=_0x7c4310;}['analyzeClones'](_0x3259f5){const _0x14e97d=a0_0x1cd9;return console[_0x14e97d(0xb6)]('Analyzing\x20clones\x20for\x20refactoring\x20opportunities...'),_0x3259f5[_0x14e97d(0xd1)]((_0x38c2ec,_0x17e4b9)=>{const _0x1c472b=_0x14e97d,_0x245465=this[_0x1c472b(0xc4)](_0x38c2ec),_0x5c91c2=this[_0x1c472b(0xc0)](_0x38c2ec,_0x245465);return{'id':'clone-'+(_0x17e4b9+0x1),'type':_0x38c2ec['type'],'confidence':_0x38c2ec[_0x1c472b(0xe4)],'instances':_0x38c2ec[_0x1c472b(0xf2)][_0x1c472b(0xd1)](_0x840b59=>({'file':_0x840b59['file'],'startLine':_0x840b59[_0x1c472b(0xf3)],'endLine':_0x840b59[_0x1c472b(0xe9)],'code':this['truncateCode'](_0x840b59[_0x1c472b(0xe7)]),'fullCode':_0x840b59['code'],'blockType':_0x840b59['type']})),'metrics':_0x245465,'refactoringAdvice':_0x5c91c2};})[_0x14e97d(0xda)]((_0x425e68,_0x5534ff)=>_0x5534ff['metrics'][_0x14e97d(0xce)]-_0x425e68[_0x14e97d(0xd0)]['impactScore']);}['calculateMetrics'](_0xffe4a7){const _0x4c8e4d=a0_0x1cd9,_0x58a6fb=_0xffe4a7['blocks'],_0x44f2ac=_0xffe4a7[_0x4c8e4d(0xcc)],_0x2af1d4=this[_0x4c8e4d(0xe5)](_0x58a6fb),_0xd395ff=_0x58a6fb['length'],_0x1d2adc=this['calculateImpactScore'](_0x44f2ac,_0x2af1d4,_0xd395ff,_0xffe4a7['confidence']),_0x21f4d7=_0x2af1d4*(_0xd395ff-0x1),_0x2d384c=_0x44f2ac*(_0xd395ff-0x1);return{'tokenCount':_0x44f2ac,'lineCount':_0x2af1d4,'instanceCount':_0xd395ff,'duplicatedLines':_0x21f4d7,'duplicatedTokens':_0x2d384c,'impactScore':parseFloat(_0x1d2adc[_0x4c8e4d(0xdd)](0x2)),'filesCovered':new Set(_0x58a6fb[_0x4c8e4d(0xd1)](_0x50247e=>_0x50247e['file']))[_0x4c8e4d(0xea)]};}['calculateImpactScore'](_0x4a97b3,_0x77631e,_0xea1376,_0x26302c){const _0x30f8c8=a0_0x1cd9,_0x32841b=Math[_0x30f8c8(0xdb)](_0x4a97b3+0x1)*0x2,_0x42b91d=Math['log2'](_0xea1376+0x1)*0x3,_0x485597=_0x26302c*0x2,_0x45fb8c=Math['min'](_0x77631e/0xa,0x3);return _0x32841b+_0x42b91d+_0x485597+_0x45fb8c;}[a0_0x15882f(0xc0)](_0x1a732e,_0x5b5435){const _0x293a8d=a0_0x15882f,_0x55a248=this[_0x293a8d(0xf0)](_0x1a732e,_0x5b5435),_0x213346=this[_0x293a8d(0xeb)](_0x5b5435),_0x2c5965=this[_0x293a8d(0xbf)](_0x1a732e),_0x237b9c=this[_0x293a8d(0xb0)](_0x1a732e,_0x5b5435,_0x55a248),_0x3d1c30=this[_0x293a8d(0xbd)](_0x5b5435,_0x55a248),_0x448a9d=this['describeBenefits'](_0x5b5435);return{'priority':_0x213346,'strategy':_0x55a248,'suggestedName':_0x2c5965,'reasoning':_0x237b9c,'estimatedEffort':_0x3d1c30,'benefits':_0x448a9d,'actionableSteps':this['generateActionableSteps'](_0x55a248,_0x2c5965,_0x5b5435)};}[a0_0x15882f(0xf0)](_0x37cb7d,_0x2db4f9){const _0x2d0388=a0_0x15882f,{tokenCount:_0x30c346,lineCount:_0xa59ee2,instanceCount:_0x28dbd9,filesCovered:_0x254cff}=_0x2db4f9,_0x201971=_0x37cb7d['blocks'][_0x2d0388(0xd1)](_0x280c6e=>_0x280c6e['type']),_0x4cb0ee=_0x201971[_0x2d0388(0xcd)](_0xa3635e=>_0xa3635e[_0x2d0388(0xec)]('Function')||_0xa3635e['includes']('Method')),_0x21277c=_0x201971[_0x2d0388(0xcd)](_0x2e8346=>_0x2e8346[_0x2d0388(0xec)]('Class'));if(_0x21277c&&_0xa59ee2>0x32)return'extract-module';else{if(_0x254cff>0x2&&_0x30c346>0x64)return _0x2d0388(0xe0);else{if(_0x4cb0ee||_0xa59ee2>=0xa&&_0xa59ee2<=0x32)return'extract-function';else{if(_0xa59ee2>0x32)return'extract-class';else return _0xa59ee2<0xa?_0x2d0388(0xc5):'extract-function';}}}}[a0_0x15882f(0xeb)](_0x5374c4){const {impactScore:_0x33bb45}=_0x5374c4;if(_0x33bb45>=0x8)return'high';if(_0x33bb45>=0x5)return'medium';return'low';}['suggestName'](_0x1ff920){const _0x469bf6=a0_0x15882f,_0x464945=_0x1ff920['blocks'][_0x469bf6(0xd1)](_0x3b01b6=>_0x3b01b6['code'])['join']('\x20'),_0x338515=_0x464945['match'](/[a-zA-Z_$][a-zA-Z0-9_$]*/g)||[],_0x303f43={};_0x338515['forEach'](_0x1c26cf=>{const _0x163fe0=_0x469bf6;if([_0x163fe0(0xc1),'let',_0x163fe0(0xe2),_0x163fe0(0xb7),'return','if',_0x163fe0(0xba),'for','while'][_0x163fe0(0xec)](_0x1c26cf))return;_0x303f43[_0x1c26cf]=(_0x303f43[_0x1c26cf]||0x0)+0x1;});const _0x5cdc72=Object['entries'](_0x303f43)[_0x469bf6(0xda)]((_0x64270f,_0x460e66)=>_0x460e66[0x1]-_0x64270f[0x1])[_0x469bf6(0xb8)](0x0,0x3);if(_0x5cdc72[_0x469bf6(0xcb)]>0x0){const _0xabe91b=_0x5cdc72['map'](([_0x5a7172])=>_0x5a7172);return this['createFunctionName'](_0xabe91b);}return'extractedFunction';}[a0_0x15882f(0xd7)](_0x12b3e4){const _0x343cee=a0_0x15882f;if(_0x12b3e4['length']===0x0)return _0x343cee(0xb2);return _0x12b3e4[0x0]+_0x12b3e4[_0x343cee(0xb8)](0x1)['map'](_0x3b1e6d=>_0x3b1e6d[_0x343cee(0xd2)](0x0)['toUpperCase']()+_0x3b1e6d['slice'](0x1))['join']('');}[a0_0x15882f(0xb0)](_0xdc5029,_0x2f8058,_0x667351){const _0x48101f=a0_0x15882f,{instanceCount:_0x133b74,duplicatedLines:_0x7aabe1,filesCovered:_0x46aff7}=_0x2f8058;let _0x45c2b5=_0x48101f(0xe3)+_0xdc5029['type']+'\x20code\x20pattern\x20appears\x20'+_0x133b74+_0x48101f(0xde);return _0x46aff7>0x1&&(_0x45c2b5+='\x20across\x20'+_0x46aff7+'\x20different\x20files'),_0x45c2b5+=',\x20resulting\x20in\x20'+_0x7aabe1+'\x20duplicated\x20lines.\x20',_0x45c2b5+=_0x48101f(0xb3)+_0x667351['replace'](/-/g,'\x20')+'\x20would\x20improve\x20maintainability',_0x133b74>=0x3&&(_0x45c2b5+=', reduce bugs from inconsistent changes'),_0x45c2b5+=',\x20and\x20reduce\x20code\x20size',_0x2f8058['impactScore']>=0x8&&(_0x45c2b5+='.\x20This\x20is\x20a\x20high-impact\x20refactoring\x20opportunity'),_0x45c2b5+'.';}['estimateEffort'](_0x183e12,_0xb005b9){const _0x50b324=a0_0x15882f,{lineCount:_0xa0e69,instanceCount:_0x239a87,filesCovered:_0x4ff8cc}=_0x183e12;let _0x36d14a=0x0;_0x36d14a+=Math['min'](_0xa0e69/0xa,0x5),_0x36d14a+=_0x239a87*0.5,_0x36d14a+=_0x4ff8cc*0.5;if(_0xb005b9===_0x50b324(0xe0))_0x36d14a+=0x3;else{if(_0xb005b9==='extract-class')_0x36d14a+=0x2;else _0xb005b9==='extract-function'&&(_0x36d14a+=0x1);}if(_0x36d14a<=0x3)return _0x50b324(0xca);if(_0x36d14a<=0x7)return _0x50b324(0xc6);return _0x50b324(0xdc);}[a0_0x15882f(0xef)](_0x4c7b88){const _0x6620d8=a0_0x15882f,_0x506714=[];return _0x506714['push']('Eliminate\x20'+_0x4c7b88['duplicatedLines']+'\x20duplicated\x20lines\x20of\x20code'),_0x506714[_0x6620d8(0xb4)]('Improve\x20maintainability\x20by\x20centralizing\x20logic\x20in\x20one\x20place'),_0x4c7b88['instanceCount']>=0x3&&_0x506714[_0x6620d8(0xb4)]('Reduce\x20risk\x20of\x20inconsistent\x20changes\x20across\x20'+_0x4c7b88['instanceCount']+_0x6620d8(0xbc)),_0x4c7b88[_0x6620d8(0xbe)]>0x2&&_0x506714[_0x6620d8(0xb4)](_0x6620d8(0xf1)+_0x4c7b88['filesCovered']+_0x6620d8(0xc9)),_0x506714['push']('Make\x20future\x20changes\x20easier\x20and\x20less\x20error-prone'),_0x506714;}[a0_0x15882f(0xdf)](_0x264ea6,_0x2bc358,_0x2aa9b5){const _0x1aa855=a0_0x15882f,_0x37ff55=[];switch(_0x264ea6){case'extract-function':_0x37ff55[_0x1aa855(0xb4)](_0x1aa855(0xd3)+_0x2bc358+'\x27'),_0x37ff55['push']('2.\x20Move\x20the\x20duplicated\x20logic\x20into\x20this\x20function'),_0x37ff55[_0x1aa855(0xb4)]('3. Identify parameters needed from the surrounding context'),_0x37ff55[_0x1aa855(0xb4)]('4.\x20Replace\x20all\x20instances\x20with\x20calls\x20to\x20the\x20new\x20function'),_0x37ff55[_0x1aa855(0xb4)](_0x1aa855(0xd9));break;case _0x1aa855(0xe8):_0x37ff55[_0x1aa855(0xb4)](_0x1aa855(0xc8)),_0x37ff55[_0x1aa855(0xb4)](_0x1aa855(0xd6)),_0x37ff55[_0x1aa855(0xb4)](_0x1aa855(0xe1)),_0x37ff55['push']('4.\x20Consider\x20dependency\x20injection\x20for\x20better\x20testability');break;case _0x1aa855(0xe0):_0x37ff55['push'](_0x1aa855(0xed)),_0x37ff55['push']('2.\x20Move\x20the\x20duplicated\x20code\x20into\x20the\x20new\x20module'),_0x37ff55['push']('3.\x20Export\x20the\x20necessary\x20functions/classes'),_0x37ff55['push']('4. Update all files to import from the new module'),_0x37ff55['push']('5.\x20Update\x20any\x20build\x20configurations\x20if\x20needed');break;default:_0x37ff55['push']('1.\x20Extract\x20the\x20duplicated\x20code\x20using\x20'+_0x264ea6['replace'](/-/g,'\x20')),_0x37ff55[_0x1aa855(0xb4)](_0x1aa855(0xc3)),_0x37ff55['push'](_0x1aa855(0xb9));}return _0x37ff55;}['truncateCode'](_0x692983,_0x180cf5=0xa){const _0x4fd695=a0_0x15882f,_0x16bb97=_0x692983[_0x4fd695(0xd4)]('\x0a');if(_0x16bb97[_0x4fd695(0xcb)]<=_0x180cf5)return _0x692983;return _0x16bb97['slice'](0x0,_0x180cf5)['join']('\x0a')+'\x0a...\x20(truncated)';}[a0_0x15882f(0xe5)](_0x221fc2){const _0x4d708b=a0_0x15882f,_0x4b65b0=_0x221fc2[_0x4d708b(0xe6)]((_0x595b34,_0x21985b)=>_0x595b34+(_0x21985b['endLine']-_0x21985b['startLine']+0x1),0x0);return Math['round'](_0x4b65b0/_0x221fc2['length']);}}
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 +1 @@
1
- function a0_0x5830(_0x1e9d2f,_0xec4222){_0x1e9d2f=_0x1e9d2f-0x71;const _0x35bc5b=a0_0x35bc();let _0x58305e=_0x35bc5b[_0x1e9d2f];if(a0_0x5830['XAqOHX']===undefined){var _0x24c36b=function(_0x3ef6ec){const _0x190839='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x56537f='',_0x232a5e='';for(let _0x7deb43=0x0,_0xb37af9,_0x3d0efb,_0xf302a6=0x0;_0x3d0efb=_0x3ef6ec['charAt'](_0xf302a6++);~_0x3d0efb&&(_0xb37af9=_0x7deb43%0x4?_0xb37af9*0x40+_0x3d0efb:_0x3d0efb,_0x7deb43++%0x4)?_0x56537f+=String['fromCharCode'](0xff&_0xb37af9>>(-0x2*_0x7deb43&0x6)):0x0){_0x3d0efb=_0x190839['indexOf'](_0x3d0efb);}for(let _0x1e4f20=0x0,_0x4c7c62=_0x56537f['length'];_0x1e4f20<_0x4c7c62;_0x1e4f20++){_0x232a5e+='%'+('00'+_0x56537f['charCodeAt'](_0x1e4f20)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x232a5e);};a0_0x5830['GtVirQ']=_0x24c36b,a0_0x5830['yJuwkg']={},a0_0x5830['XAqOHX']=!![];}const _0x178fda=_0x35bc5b[0x0],_0x3fa998=_0x1e9d2f+_0x178fda,_0x20aed3=a0_0x5830['yJuwkg'][_0x3fa998];return!_0x20aed3?(_0x58305e=a0_0x5830['GtVirQ'](_0x58305e),a0_0x5830['yJuwkg'][_0x3fa998]=_0x58305e):_0x58305e=_0x20aed3,_0x58305e;}const a0_0x415f76=a0_0x5830;function a0_0x35bc(){const _0x23a81e=['BwLU','yxbWCM94Aw1HDgvmq1m','rM91BMqG','z3jVDxbcEuHHC2G','ndmYodeWngHAzhfeua','C2LTAwXHCG','AgfZAa','Bg9N','y29UzMLN','ChvZAa','mtnpq0rvDNy','zMLUzfnPBwLSyxjdBg9Uzxm','ignVzguGyMXVy2TZ','Bwf4','ndLvuMTJvKe','zw50CMLLCW','ndK3odyYCwn2r0H2','BwfW','mJK5ntbUqvzesNO','zMLSDgvY','mZy1ndy2CwHcs0XW','mJmXm0Dhqu1UDW','nJG2mtLZEerqvMC','C2LTAwXHCML0EvrOCMvZAg9Sza','qw5HBhL6Aw5Nia','mtmZmJyZmMTYzw16vq','Dg9Rzw5Z','ywrK','BgvUz3rO','oeXRy3HqvG','zMLSBa','CgfYC2vY','mZi5nZC2ntzIu0TbzgS','BwLUvg9Rzw5Z','C2XPy2u','y2fSy3vSyxrLqMXVy2TtAw1PBgfYAxr5','mJvQEgDHDNK','oezlzuLKzG'];a0_0x35bc=function(){return _0x23a81e;};return a0_0x35bc();}(function(_0x25bf9b,_0x4130a7){const _0x55cd02=a0_0x5830,_0x4842dd=_0x25bf9b();while(!![]){try{const _0x5da6a4=parseInt(_0x55cd02(0x80))/0x1*(parseInt(_0x55cd02(0x8f))/0x2)+parseInt(_0x55cd02(0x7a))/0x3*(parseInt(_0x55cd02(0x87))/0x4)+-parseInt(_0x55cd02(0x8e))/0x5*(parseInt(_0x55cd02(0x7e))/0x6)+-parseInt(_0x55cd02(0x78))/0x7*(parseInt(_0x55cd02(0x83))/0x8)+-parseInt(_0x55cd02(0x7f))/0x9*(parseInt(_0x55cd02(0x7c))/0xa)+-parseInt(_0x55cd02(0x94))/0xb+parseInt(_0x55cd02(0x8a))/0xc*(parseInt(_0x55cd02(0x74))/0xd);if(_0x5da6a4===_0x4130a7)break;else _0x4842dd['push'](_0x4842dd['shift']());}catch(_0x3aaad9){_0x4842dd['push'](_0x4842dd['shift']());}}}(a0_0x35bc,0xaff5f));export class CloneDetector{constructor(_0x56537f,_0x232a5e){const _0x18e83e=a0_0x5830;this['config']=_0x56537f,this[_0x18e83e(0x89)]=_0x232a5e;}['detectClones'](_0x7deb43){const _0x3e09d7=a0_0x5830;console[_0x3e09d7(0x71)]('Detecting\x20clones...');const _0xb37af9=[],_0x3d0efb=[];for(const _0x4c7c62 of _0x7deb43){_0x3d0efb[_0x3e09d7(0x73)](..._0x4c7c62['blocks']);}console['log'](_0x3e09d7(0x82)+_0x3d0efb['length']+_0x3e09d7(0x76));const _0xf302a6=this['groupByHash'](_0x3d0efb);for(const [_0x24aaf5,_0x3edd93]of Object[_0x3e09d7(0x79)](_0xf302a6)){_0x3edd93['length']>0x1&&_0xb37af9['push']({'type':'exact','confidence':0x1,'blocks':_0x3edd93,'tokenCount':_0x3edd93[0x0]['tokens'][_0x3e09d7(0x86)]});}const _0x1e4f20=this[_0x3e09d7(0x75)](_0x3d0efb);return _0xb37af9['push'](..._0x1e4f20),console[_0x3e09d7(0x71)](_0x3e09d7(0x92)+_0xb37af9['length']+'\x20clone\x20groups'),_0xb37af9;}[a0_0x415f76(0x93)](_0x22e6ac){const _0xcdbdbd=a0_0x415f76,_0x2ec3b1={};for(const _0x23f3e9 of _0x22e6ac){if(_0x23f3e9[_0xcdbdbd(0x84)]['length']<this['config'][_0xcdbdbd(0x8b)])continue;!_0x2ec3b1[_0x23f3e9[_0xcdbdbd(0x96)]]&&(_0x2ec3b1[_0x23f3e9['hash']]=[]),_0x2ec3b1[_0x23f3e9['hash']]['push'](_0x23f3e9);}return _0x2ec3b1;}['findSimilarClones'](_0x249c92){const _0x40bdda=a0_0x415f76,_0x20a1e5=[],processed=new Set(),_0x202405=_0x249c92[_0x40bdda(0x7d)](_0x445968=>_0x445968[_0x40bdda(0x84)][_0x40bdda(0x86)]>=this[_0x40bdda(0x72)][_0x40bdda(0x8b)]);for(let _0x4d508e=0x0;_0x4d508e<_0x202405['length'];_0x4d508e++){const _0xca92dc=_0x202405[_0x4d508e],_0x117bbe=[_0xca92dc];if(processed['has'](_0xca92dc['id']))continue;for(let _0x9739b8=_0x4d508e+0x1;_0x9739b8<_0x202405[_0x40bdda(0x86)];_0x9739b8++){const _0xb2532=_0x202405[_0x9739b8];if(processed['has'](_0xb2532['id']))continue;if(_0xca92dc[_0x40bdda(0x96)]===_0xb2532['hash'])continue;const _0x486bdb=this[_0x40bdda(0x8d)](_0xca92dc,_0xb2532);_0x486bdb>=this['config'][_0x40bdda(0x81)]&&(_0x117bbe[_0x40bdda(0x73)](_0xb2532),processed['add'](_0xb2532['id']));}_0x117bbe['length']>0x1&&(processed[_0x40bdda(0x85)](_0xca92dc['id']),_0x20a1e5['push']({'type':_0x40bdda(0x95),'confidence':this['calculateGroupConfidence'](_0x117bbe),'blocks':_0x117bbe,'tokenCount':Math['max'](..._0x117bbe[_0x40bdda(0x7b)](_0x20a0c8=>_0x20a0c8['tokens'][_0x40bdda(0x86)]))}));}return _0x20a1e5;}['calculateBlockSimilarity'](_0x53e88f,_0x4200c4){const _0xc8ea0e=a0_0x415f76,_0x11ba1d=_0x53e88f['tokens'],_0x51694d=_0x4200c4[_0xc8ea0e(0x84)],_0x16fffb=Math[_0xc8ea0e(0x90)](_0x11ba1d[_0xc8ea0e(0x86)],_0x51694d['length'])/Math[_0xc8ea0e(0x77)](_0x11ba1d['length'],_0x51694d['length']);if(_0x16fffb<0.7)return 0x0;const _0x5839f8=this['longestCommonSubsequence'](_0x11ba1d,_0x51694d),_0x26be13=0x2*_0x5839f8/(_0x11ba1d[_0xc8ea0e(0x86)]+_0x51694d['length']);return _0x26be13;}['longestCommonSubsequence'](_0x1af3bd,_0xd2bdac){const _0x492c31=a0_0x415f76,_0x5c9458=_0x1af3bd['length'],_0x399b23=_0xd2bdac[_0x492c31(0x86)];if(_0x5c9458*_0x399b23>0x186a0)return this[_0x492c31(0x91)](_0x1af3bd,_0xd2bdac);const _0x32e0ff=Array(_0x5c9458+0x1)['fill'](0x0)[_0x492c31(0x7b)](()=>Array(_0x399b23+0x1)[_0x492c31(0x88)](0x0));for(let _0x54364f=0x1;_0x54364f<=_0x5c9458;_0x54364f++){for(let _0x4b0a04=0x1;_0x4b0a04<=_0x399b23;_0x4b0a04++){_0x1af3bd[_0x54364f-0x1]===_0xd2bdac[_0x4b0a04-0x1]?_0x32e0ff[_0x54364f][_0x4b0a04]=_0x32e0ff[_0x54364f-0x1][_0x4b0a04-0x1]+0x1:_0x32e0ff[_0x54364f][_0x4b0a04]=Math[_0x492c31(0x77)](_0x32e0ff[_0x54364f-0x1][_0x4b0a04],_0x32e0ff[_0x54364f][_0x4b0a04-0x1]);}}return _0x32e0ff[_0x5c9458][_0x399b23];}[a0_0x415f76(0x91)](_0x12c339,_0x4d79dc){const _0x44ce05=a0_0x415f76,_0x22d529=0x64;let _0x488b84=0x0;for(let _0xb79838=0x0;_0xb79838<_0x12c339[_0x44ce05(0x86)];_0xb79838+=_0x22d529){const _0x36fdc6=_0x12c339[_0x44ce05(0x8c)](_0xb79838,_0xb79838+_0x22d529),_0x47fb80=new Set(_0x4d79dc['slice'](Math['max'](0x0,_0xb79838-_0x22d529),_0xb79838+_0x22d529*0x2));_0x488b84+=_0x36fdc6[_0x44ce05(0x7d)](_0x443c74=>_0x47fb80['has'](_0x443c74))[_0x44ce05(0x86)];}return _0x488b84;}['calculateGroupConfidence'](_0x342a8a){const _0x1774f1=a0_0x415f76;if(_0x342a8a['length']===0x0)return 0x0;let _0x47bb33=0x0,_0x2933b5=0x0;for(let _0x3667a0=0x0;_0x3667a0<_0x342a8a[_0x1774f1(0x86)];_0x3667a0++){for(let _0x47f724=_0x3667a0+0x1;_0x47f724<_0x342a8a[_0x1774f1(0x86)];_0x47f724++){_0x47bb33+=this[_0x1774f1(0x8d)](_0x342a8a[_0x3667a0],_0x342a8a[_0x47f724]),_0x2933b5++;}}return _0x2933b5>0x0?_0x47bb33/_0x2933b5:0x0;}}
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;}}