@dayinxisheng/zreadbrow 1.3.6 → 1.5.7

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 (76) hide show
  1. package/bin/zreadbrow.js +12 -4
  2. package/dist/public/assets/{_baseUniq-Dtu8LeFA.js → _baseUniq-BhpQLJeR.js} +1 -1
  3. package/dist/public/assets/{arc-Dk6CPU84.js → arc-CYQdDLfg.js} +1 -1
  4. package/dist/public/assets/{architectureDiagram-Q4EWVU46-ECXWIHGG.js → architectureDiagram-Q4EWVU46-HRrJLD68.js} +1 -1
  5. package/dist/public/assets/{blockDiagram-DXYQGD6D-CzkfU3rv.js → blockDiagram-DXYQGD6D-DRolWTl-.js} +1 -1
  6. package/dist/public/assets/{c4Diagram-AHTNJAMY-BxVvCxCC.js → c4Diagram-AHTNJAMY-VVMl6NQD.js} +1 -1
  7. package/dist/public/assets/channel-BAtZJhLP.js +1 -0
  8. package/dist/public/assets/{chunk-4BX2VUAB-B_AMxwHa.js → chunk-4BX2VUAB-BZp9KA8i.js} +1 -1
  9. package/dist/public/assets/{chunk-4TB4RGXK-BZrXu6-m.js → chunk-4TB4RGXK-CuyH_pN_.js} +1 -1
  10. package/dist/public/assets/{chunk-55IACEB6--hlj772k.js → chunk-55IACEB6-BBVWvLWT.js} +1 -1
  11. package/dist/public/assets/{chunk-EDXVE4YY-Bn4eIler.js → chunk-EDXVE4YY-Be3RYz3C.js} +1 -1
  12. package/dist/public/assets/{chunk-FMBD7UC4-ybYNezni.js → chunk-FMBD7UC4-AnnDS3Wd.js} +1 -1
  13. package/dist/public/assets/{chunk-OYMX7WX6-CfcwsZKT.js → chunk-OYMX7WX6-0GXZ74_-.js} +1 -1
  14. package/dist/public/assets/{chunk-QZHKN3VN-CM8LZMr-.js → chunk-QZHKN3VN-C-b3Bvy8.js} +1 -1
  15. package/dist/public/assets/{chunk-YZCP3GAM-Cre_r94J.js → chunk-YZCP3GAM-Dtz39a49.js} +1 -1
  16. package/dist/public/assets/classDiagram-6PBFFD2Q-BT32A8xg.js +1 -0
  17. package/dist/public/assets/classDiagram-v2-HSJHXN6E-BT32A8xg.js +1 -0
  18. package/dist/public/assets/clone-BlORZGGx.js +1 -0
  19. package/dist/public/assets/{cose-bilkent-S5V4N54A-wnJWDLz_.js → cose-bilkent-S5V4N54A-C9MDV2NH.js} +1 -1
  20. package/dist/public/assets/{dagre-KV5264BT-HN7pgumz.js → dagre-KV5264BT-BTehb9Tm.js} +1 -1
  21. package/dist/public/assets/{diagram-5BDNPKRD-CG8uVwwB.js → diagram-5BDNPKRD-CiJX6ZcC.js} +1 -1
  22. package/dist/public/assets/{diagram-G4DWMVQ6-l_WTKspY.js → diagram-G4DWMVQ6-BpjyDML3.js} +1 -1
  23. package/dist/public/assets/{diagram-MMDJMWI5-B_KAUQCO.js → diagram-MMDJMWI5-BMKNKMUb.js} +1 -1
  24. package/dist/public/assets/{diagram-TYMM5635-BSObHe1-.js → diagram-TYMM5635-BKbsDXU0.js} +1 -1
  25. package/dist/public/assets/{erDiagram-SMLLAGMA-a6d17pZT.js → erDiagram-SMLLAGMA-ZU2EY7JB.js} +1 -1
  26. package/dist/public/assets/{flowDiagram-DWJPFMVM-CcAaYDzh.js → flowDiagram-DWJPFMVM-CDA_xPM_.js} +1 -1
  27. package/dist/public/assets/{ganttDiagram-T4ZO3ILL-B888F7CC.js → ganttDiagram-T4ZO3ILL-KhPrE8Ml.js} +1 -1
  28. package/dist/public/assets/{gitGraphDiagram-UUTBAWPF-sGmXF1h5.js → gitGraphDiagram-UUTBAWPF-BI_hKewg.js} +1 -1
  29. package/dist/public/assets/{graph-Doi3wwYD.js → graph-kob6eZQt.js} +1 -1
  30. package/dist/public/assets/index-6fsPy1BK.js +386 -0
  31. package/dist/public/assets/index-BP3TStZP.css +1 -0
  32. package/dist/public/assets/{infoDiagram-42DDH7IO-BNp9faax.js → infoDiagram-42DDH7IO-CT8ywNfc.js} +1 -1
  33. package/dist/public/assets/{ishikawaDiagram-UXIWVN3A-BuBue2F5.js → ishikawaDiagram-UXIWVN3A-Du7FsE49.js} +1 -1
  34. package/dist/public/assets/{journeyDiagram-VCZTEJTY-DGozq0_w.js → journeyDiagram-VCZTEJTY-BImfFl-q.js} +1 -1
  35. package/dist/public/assets/{kanban-definition-6JOO6SKY-CadILWfB.js → kanban-definition-6JOO6SKY-BrTdOgPc.js} +1 -1
  36. package/dist/public/assets/{layout-D_MwMQt2.js → layout-DQeJB1CE.js} +1 -1
  37. package/dist/public/assets/{linear-Dwj0lSRt.js → linear-ChHoQsc4.js} +1 -1
  38. package/dist/public/assets/{min-CiH-G6z7.js → min-V29D1s2x.js} +1 -1
  39. package/dist/public/assets/{mindmap-definition-QFDTVHPH-CVX1_M-q.js → mindmap-definition-QFDTVHPH-D7f5Kpux.js} +1 -1
  40. package/dist/public/assets/{pieDiagram-DEJITSTG-AgUhy7he.js → pieDiagram-DEJITSTG-B0MAcDOI.js} +1 -1
  41. package/dist/public/assets/{quadrantDiagram-34T5L4WZ-DVcab_DI.js → quadrantDiagram-34T5L4WZ-vCkF5gYE.js} +1 -1
  42. package/dist/public/assets/{requirementDiagram-MS252O5E-Vp1Ol1wk.js → requirementDiagram-MS252O5E-CUX954Xc.js} +1 -1
  43. package/dist/public/assets/{sankeyDiagram-XADWPNL6-DTxuB9M0.js → sankeyDiagram-XADWPNL6-5ExQ5oqP.js} +1 -1
  44. package/dist/public/assets/{sequenceDiagram-FGHM5R23-CXUNtWnN.js → sequenceDiagram-FGHM5R23-DkcT5kUa.js} +1 -1
  45. package/dist/public/assets/{stateDiagram-FHFEXIEX-303_DxMv.js → stateDiagram-FHFEXIEX-BXEFg5IP.js} +1 -1
  46. package/dist/public/assets/stateDiagram-v2-QKLJ7IA2-DERLViHP.js +1 -0
  47. package/dist/public/assets/{timeline-definition-GMOUNBTQ-BJOPgk6l.js → timeline-definition-GMOUNBTQ-CLW8y8RH.js} +1 -1
  48. package/dist/public/assets/{vennDiagram-DHZGUBPP-BRxwSidK.js → vennDiagram-DHZGUBPP-BNAV8mxz.js} +1 -1
  49. package/dist/public/assets/{wardley-RL74JXVD-COzOtH2L.js → wardley-RL74JXVD-oGXg70Ct.js} +1 -1
  50. package/dist/public/assets/{wardleyDiagram-NUSXRM2D-HOi_Gwe2.js → wardleyDiagram-NUSXRM2D-DZmNicBR.js} +1 -1
  51. package/dist/public/assets/{xychartDiagram-5P7HB3ND-DEoKACAs.js → xychartDiagram-5P7HB3ND-B6uBUjiH.js} +1 -1
  52. package/dist/public/index.html +2 -2
  53. package/dist/server/index.js +1 -1
  54. package/dist/server/middleware/errorHandler.js +1 -1
  55. package/dist/server/routes/ai.js +1 -0
  56. package/dist/server/routes/config.js +1 -1
  57. package/dist/server/routes/files.js +1 -1
  58. package/dist/server/routes/projects.js +1 -1
  59. package/dist/server/routes/scan.js +1 -1
  60. package/dist/server/routes/search.js +1 -1
  61. package/dist/server/routes/wiki.js +1 -1
  62. package/dist/server/services/ai.js +1 -0
  63. package/dist/server/services/config.js +1 -1
  64. package/dist/server/services/logger.js +1 -0
  65. package/dist/server/services/scanner.js +1 -1
  66. package/dist/server/services/search.js +1 -1
  67. package/dist/server/services/wiki-loader.js +1 -1
  68. package/dist/server/services/wire-reader.js +1 -0
  69. package/package.json +1 -1
  70. package/dist/public/assets/channel-C5DtJoQ1.js +0 -1
  71. package/dist/public/assets/classDiagram-6PBFFD2Q-BaAnwnVG.js +0 -1
  72. package/dist/public/assets/classDiagram-v2-HSJHXN6E-BaAnwnVG.js +0 -1
  73. package/dist/public/assets/clone-DyMoneR4.js +0 -1
  74. package/dist/public/assets/index-DmnC0rTU.css +0 -1
  75. package/dist/public/assets/index-vJkse6bL.js +0 -384
  76. package/dist/public/assets/stateDiagram-v2-QKLJ7IA2-DKMJZea5.js +0 -1
@@ -1,4 +1,4 @@
1
- import{s as zt,g as Lt,q as Xt,p as At,a as Ct,b as Et,_ as y,l as et,I as Tt,e as Yt,z as Bt,c as H,i as Rt}from"./index-vJkse6bL.js";import{p as Ft}from"./chunk-4BX2VUAB-B_AMxwHa.js";import{p as It}from"./wardley-RL74JXVD-COzOtH2L.js";import"./min-CiH-G6z7.js";import"./_baseUniq-Dtu8LeFA.js";var q=y((a,r)=>{const e=a<=1?a*100:a;if(e<0||e>100)throw new Error(`${r} must be between 0-1 (decimal) or 0-100 (percentage). Received: ${a}`);return e},"toPercent"),Y=y((a,r,e)=>({x:q(r,`${e} evolution`),y:q(a,`${e} visibility`)}),"toCoordinates"),tt=y(a=>{if(a){if(a==="+<>")return"bidirectional";if(a==="+<")return"backward";if(a==="+>")return"forward"}},"getFlowFromPort"),Ot=y(a=>{if(!(a!=null&&a.startsWith("+")))return{};const r=/^\+'([^']*)'/.exec(a),e=r==null?void 0:r[1];return a.includes("<>")?{flow:"bidirectional",label:e}:a.includes("<")?{flow:"backward",label:e}:a.includes(">")?{flow:"forward",label:e}:{label:e}},"extractFlowFromArrow"),Wt=y((a,r)=>{if(Ft(a,r),a.size&&r.setSize(a.size.width,a.size.height),a.evolution){const e=a.evolution.stages.map(o=>o.secondName?`${o.name.trim()} / ${o.secondName.trim()}`:o.name.trim()),h=a.evolution.stages.filter(o=>o.boundary!==void 0).map(o=>o.boundary);r.updateAxes({stages:e,stageBoundaries:h})}if(a.anchors.forEach(e=>{const h=Y(e.visibility,e.evolution,`Anchor "${e.name}"`);r.addNode(e.name,e.name,h.x,h.y,"anchor")}),a.components.forEach(e=>{var v;const h=Y(e.visibility,e.evolution,`Component "${e.name}"`),o=e.label?(e.label.negX?-1:1)*e.label.offsetX:void 0,d=e.label?(e.label.negY?-1:1)*e.label.offsetY:void 0,m=(v=e.decorator)==null?void 0:v.strategy;r.addNode(e.name,e.name,h.x,h.y,"component",o,d,e.inertia,m)}),a.notes.forEach(e=>{const h=Y(e.visibility,e.evolution,`Note "${e.text}"`);r.addNote(e.text,h.x,h.y)}),a.pipelines.forEach(e=>{const h=r.getNode(e.parent);if(!h||typeof h.y!="number")throw new Error(`Pipeline "${e.parent}" must reference an existing component with coordinates.`);const o=h.y;r.startPipeline(e.parent),e.components.forEach(d=>{const m=`${e.parent}_${d.name}`,v=d.label?(d.label.negX?-1:1)*d.label.offsetX:void 0,g=d.label?(d.label.negY?-1:1)*d.label.offsetY:void 0,A=q(d.evolution,`Pipeline component "${d.name}" evolution`);r.addNode(m,d.name,A,o,"pipeline-component",v,g),r.addPipelineComponent(e.parent,m)})}),a.links.forEach(e=>{const h=!!e.arrow&&(e.arrow.includes("-.->")||e.arrow.includes(".-."));let o=tt(e.fromPort)??tt(e.toPort);const{flow:d,label:m}=Ot(e.arrow);!o&&d&&(o=d);const v=e.linkLabel,g=m??v;r.addLink(e.from,e.to,h,g,o)}),a.evolves.forEach(e=>{const h=r.getNode(e.component);if((h==null?void 0:h.y)!==void 0){const o=q(e.target,`Evolve target for "${e.component}"`);r.addTrend(e.component,o,h.y)}}),a.annotations.length>0){const e=a.annotations[0],h=Y(e.x,e.y,"Annotations box");r.setAnnotationsBox(h.x,h.y)}a.annotation.forEach(e=>{const h=Y(e.x,e.y,`Annotation ${e.number}`);r.addAnnotation(e.number,[{x:h.x,y:h.y}],e.text)}),a.accelerators.forEach(e=>{const h=Y(e.x,e.y,`Accelerator "${e.name}"`);r.addAccelerator(e.name,h.x,h.y)}),a.deaccelerators.forEach(e=>{const h=Y(e.x,e.y,`Deaccelerator "${e.name}"`);r.addDeaccelerator(e.name,h.x,h.y)})},"populateDb"),at={parser:{yy:void 0},parse:y(async a=>{var h;const r=await It("wardley",a);et.debug(r);const e=(h=at.parser)==null?void 0:h.yy;if(!e||typeof e.addNode!="function")throw new Error("parser.parser?.yy was not a WardleyDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Wt(r,e)},"parse")},R,Dt=(R=class{constructor(){this.nodes=new Map,this.links=[],this.trends=new Map,this.pipelines=new Map,this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.axes={}}addNode(r){const e=this.nodes.get(r.id)??{id:r.id,label:r.label},h={...e,...r,className:r.className??e.className,labelOffsetX:r.labelOffsetX??e.labelOffsetX,labelOffsetY:r.labelOffsetY??e.labelOffsetY};this.nodes.set(r.id,h)}addLink(r){this.links.push(r)}addTrend(r){this.trends.set(r.nodeId,r)}startPipeline(r){this.pipelines.set(r,{nodeId:r,componentIds:[]});const e=this.nodes.get(r);e&&(e.isPipelineParent=!0)}addPipelineComponent(r,e){const h=this.pipelines.get(r);h&&h.componentIds.push(e);const o=this.nodes.get(e);o&&(o.inPipeline=!0)}addAnnotation(r){this.annotations.push(r)}addNote(r){this.notes.push(r)}addAccelerator(r){this.accelerators.push(r)}addDeaccelerator(r){this.deaccelerators.push(r)}setAnnotationsBox(r,e){this.annotationsBox={x:r,y:e}}setAxes(r){this.axes={...this.axes,...r}}setSize(r,e){this.size={width:r,height:e}}getNode(r){return this.nodes.get(r)}build(){const r=[];for(const e of this.nodes.values()){if(typeof e.x!="number"||typeof e.y!="number")throw new Error(`Node "${e.label}" is missing coordinates`);r.push(e)}return{nodes:r,links:[...this.links],trends:[...this.trends.values()],pipelines:[...this.pipelines.values()],annotations:[...this.annotations],notes:[...this.notes],accelerators:[...this.accelerators],deaccelerators:[...this.deaccelerators],annotationsBox:this.annotationsBox,axes:{...this.axes},size:this.size}}clear(){this.nodes.clear(),this.links=[],this.trends.clear(),this.pipelines.clear(),this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.annotationsBox=void 0,this.axes={},this.size=void 0}},y(R,"WardleyBuilder"),R),P=new Dt;function N(a){const r=H();return Rt(a.trim(),r)}y(N,"textSanitizer");function rt(){return H()["wardley-beta"]}y(rt,"getConfig");function ot(a,r,e,h,o,d,m,v,g){P.addNode({id:a,label:N(r),x:e,y:h,className:o,labelOffsetX:d,labelOffsetY:m,inertia:v,sourceStrategy:g})}y(ot,"addNode");function st(a,r,e=!1,h,o){P.addLink({source:a,target:r,dashed:e,label:h,flow:o})}y(st,"addLink");function nt(a,r,e){P.addTrend({nodeId:a,targetX:r,targetY:e})}y(nt,"addTrend");function it(a,r,e){P.addAnnotation({number:a,coordinates:r,text:e?N(e):void 0})}y(it,"addAnnotation");function dt(a,r,e){P.addNote({text:N(a),x:r,y:e})}y(dt,"addNote");function lt(a,r,e){P.addAccelerator({name:N(a),x:r,y:e})}y(lt,"addAccelerator");function ct(a,r,e){P.addDeaccelerator({name:N(a),x:r,y:e})}y(ct,"addDeaccelerator");function pt(a,r){P.setAnnotationsBox(a,r)}y(pt,"setAnnotationsBox");function ht(a,r){P.setSize(a,r)}y(ht,"setSize");function xt(a){P.startPipeline(a)}y(xt,"startPipeline");function ft(a,r){P.addPipelineComponent(a,r)}y(ft,"addPipelineComponent");function gt(a){const r={};a.xLabel&&(r.xLabel=N(a.xLabel)),a.yLabel&&(r.yLabel=N(a.yLabel)),a.stages&&(r.stages=a.stages.map(e=>N(e))),a.stageBoundaries&&(r.stageBoundaries=a.stageBoundaries),P.setAxes(r)}y(gt,"updateAxes");function ut(a){return P.getNode(a)}y(ut,"getNode");function yt(){return P.build()}y(yt,"getWardleyData");function mt(){P.clear(),Bt()}y(mt,"clear");var Gt={getConfig:rt,addNode:ot,addLink:st,addTrend:nt,addAnnotation:it,addNote:dt,addAccelerator:lt,addDeaccelerator:ct,setAnnotationsBox:pt,setSize:ht,startPipeline:xt,addPipelineComponent:ft,updateAxes:gt,getNode:ut,getWardleyData:yt,clear:mt,setAccTitle:Et,getAccTitle:Ct,setDiagramTitle:At,getDiagramTitle:Xt,getAccDescription:Lt,setAccDescription:zt},qt=["Genesis","Custom Built","Product","Commodity"],Ht=y(()=>{var r,e,h,o,d,m,v,g,A,M,b,z;const{themeVariables:a}=H();return{backgroundColor:((r=a.wardley)==null?void 0:r.backgroundColor)??a.background??"#fff",axisColor:((e=a.wardley)==null?void 0:e.axisColor)??"#000",axisTextColor:((h=a.wardley)==null?void 0:h.axisTextColor)??a.primaryTextColor??"#222",gridColor:((o=a.wardley)==null?void 0:o.gridColor)??"rgba(100, 100, 100, 0.2)",componentFill:((d=a.wardley)==null?void 0:d.componentFill)??"#fff",componentStroke:((m=a.wardley)==null?void 0:m.componentStroke)??"#000",componentLabelColor:((v=a.wardley)==null?void 0:v.componentLabelColor)??a.primaryTextColor??"#222",linkStroke:((g=a.wardley)==null?void 0:g.linkStroke)??"#000",evolutionStroke:((A=a.wardley)==null?void 0:A.evolutionStroke)??"#dc3545",annotationStroke:((M=a.wardley)==null?void 0:M.annotationStroke)??"#000",annotationTextColor:((b=a.wardley)==null?void 0:b.annotationTextColor)??a.primaryTextColor??"#222",annotationFill:((z=a.wardley)==null?void 0:z.annotationFill)??a.background??"#fff"}},"getTheme"),jt=y(()=>{const a=H()["wardley-beta"];return{width:(a==null?void 0:a.width)??900,height:(a==null?void 0:a.height)??600,padding:(a==null?void 0:a.padding)??48,nodeRadius:(a==null?void 0:a.nodeRadius)??6,nodeLabelOffset:(a==null?void 0:a.nodeLabelOffset)??8,axisFontSize:(a==null?void 0:a.axisFontSize)??12,labelFontSize:(a==null?void 0:a.labelFontSize)??10,showGrid:(a==null?void 0:a.showGrid)??!1,useMaxWidth:(a==null?void 0:a.useMaxWidth)??!0}},"getConfigValues"),_t=y((a,r,e,h)=>{var K,Q;et.debug(`Rendering Wardley map
1
+ import{s as zt,g as Lt,q as Xt,p as At,a as Ct,b as Et,_ as y,l as et,I as Tt,e as Yt,z as Bt,c as H,i as Rt}from"./index-6fsPy1BK.js";import{p as Ft}from"./chunk-4BX2VUAB-BZp9KA8i.js";import{p as It}from"./wardley-RL74JXVD-oGXg70Ct.js";import"./min-V29D1s2x.js";import"./_baseUniq-BhpQLJeR.js";var q=y((a,r)=>{const e=a<=1?a*100:a;if(e<0||e>100)throw new Error(`${r} must be between 0-1 (decimal) or 0-100 (percentage). Received: ${a}`);return e},"toPercent"),Y=y((a,r,e)=>({x:q(r,`${e} evolution`),y:q(a,`${e} visibility`)}),"toCoordinates"),tt=y(a=>{if(a){if(a==="+<>")return"bidirectional";if(a==="+<")return"backward";if(a==="+>")return"forward"}},"getFlowFromPort"),Ot=y(a=>{if(!(a!=null&&a.startsWith("+")))return{};const r=/^\+'([^']*)'/.exec(a),e=r==null?void 0:r[1];return a.includes("<>")?{flow:"bidirectional",label:e}:a.includes("<")?{flow:"backward",label:e}:a.includes(">")?{flow:"forward",label:e}:{label:e}},"extractFlowFromArrow"),Wt=y((a,r)=>{if(Ft(a,r),a.size&&r.setSize(a.size.width,a.size.height),a.evolution){const e=a.evolution.stages.map(o=>o.secondName?`${o.name.trim()} / ${o.secondName.trim()}`:o.name.trim()),h=a.evolution.stages.filter(o=>o.boundary!==void 0).map(o=>o.boundary);r.updateAxes({stages:e,stageBoundaries:h})}if(a.anchors.forEach(e=>{const h=Y(e.visibility,e.evolution,`Anchor "${e.name}"`);r.addNode(e.name,e.name,h.x,h.y,"anchor")}),a.components.forEach(e=>{var v;const h=Y(e.visibility,e.evolution,`Component "${e.name}"`),o=e.label?(e.label.negX?-1:1)*e.label.offsetX:void 0,d=e.label?(e.label.negY?-1:1)*e.label.offsetY:void 0,m=(v=e.decorator)==null?void 0:v.strategy;r.addNode(e.name,e.name,h.x,h.y,"component",o,d,e.inertia,m)}),a.notes.forEach(e=>{const h=Y(e.visibility,e.evolution,`Note "${e.text}"`);r.addNote(e.text,h.x,h.y)}),a.pipelines.forEach(e=>{const h=r.getNode(e.parent);if(!h||typeof h.y!="number")throw new Error(`Pipeline "${e.parent}" must reference an existing component with coordinates.`);const o=h.y;r.startPipeline(e.parent),e.components.forEach(d=>{const m=`${e.parent}_${d.name}`,v=d.label?(d.label.negX?-1:1)*d.label.offsetX:void 0,g=d.label?(d.label.negY?-1:1)*d.label.offsetY:void 0,A=q(d.evolution,`Pipeline component "${d.name}" evolution`);r.addNode(m,d.name,A,o,"pipeline-component",v,g),r.addPipelineComponent(e.parent,m)})}),a.links.forEach(e=>{const h=!!e.arrow&&(e.arrow.includes("-.->")||e.arrow.includes(".-."));let o=tt(e.fromPort)??tt(e.toPort);const{flow:d,label:m}=Ot(e.arrow);!o&&d&&(o=d);const v=e.linkLabel,g=m??v;r.addLink(e.from,e.to,h,g,o)}),a.evolves.forEach(e=>{const h=r.getNode(e.component);if((h==null?void 0:h.y)!==void 0){const o=q(e.target,`Evolve target for "${e.component}"`);r.addTrend(e.component,o,h.y)}}),a.annotations.length>0){const e=a.annotations[0],h=Y(e.x,e.y,"Annotations box");r.setAnnotationsBox(h.x,h.y)}a.annotation.forEach(e=>{const h=Y(e.x,e.y,`Annotation ${e.number}`);r.addAnnotation(e.number,[{x:h.x,y:h.y}],e.text)}),a.accelerators.forEach(e=>{const h=Y(e.x,e.y,`Accelerator "${e.name}"`);r.addAccelerator(e.name,h.x,h.y)}),a.deaccelerators.forEach(e=>{const h=Y(e.x,e.y,`Deaccelerator "${e.name}"`);r.addDeaccelerator(e.name,h.x,h.y)})},"populateDb"),at={parser:{yy:void 0},parse:y(async a=>{var h;const r=await It("wardley",a);et.debug(r);const e=(h=at.parser)==null?void 0:h.yy;if(!e||typeof e.addNode!="function")throw new Error("parser.parser?.yy was not a WardleyDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Wt(r,e)},"parse")},R,Dt=(R=class{constructor(){this.nodes=new Map,this.links=[],this.trends=new Map,this.pipelines=new Map,this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.axes={}}addNode(r){const e=this.nodes.get(r.id)??{id:r.id,label:r.label},h={...e,...r,className:r.className??e.className,labelOffsetX:r.labelOffsetX??e.labelOffsetX,labelOffsetY:r.labelOffsetY??e.labelOffsetY};this.nodes.set(r.id,h)}addLink(r){this.links.push(r)}addTrend(r){this.trends.set(r.nodeId,r)}startPipeline(r){this.pipelines.set(r,{nodeId:r,componentIds:[]});const e=this.nodes.get(r);e&&(e.isPipelineParent=!0)}addPipelineComponent(r,e){const h=this.pipelines.get(r);h&&h.componentIds.push(e);const o=this.nodes.get(e);o&&(o.inPipeline=!0)}addAnnotation(r){this.annotations.push(r)}addNote(r){this.notes.push(r)}addAccelerator(r){this.accelerators.push(r)}addDeaccelerator(r){this.deaccelerators.push(r)}setAnnotationsBox(r,e){this.annotationsBox={x:r,y:e}}setAxes(r){this.axes={...this.axes,...r}}setSize(r,e){this.size={width:r,height:e}}getNode(r){return this.nodes.get(r)}build(){const r=[];for(const e of this.nodes.values()){if(typeof e.x!="number"||typeof e.y!="number")throw new Error(`Node "${e.label}" is missing coordinates`);r.push(e)}return{nodes:r,links:[...this.links],trends:[...this.trends.values()],pipelines:[...this.pipelines.values()],annotations:[...this.annotations],notes:[...this.notes],accelerators:[...this.accelerators],deaccelerators:[...this.deaccelerators],annotationsBox:this.annotationsBox,axes:{...this.axes},size:this.size}}clear(){this.nodes.clear(),this.links=[],this.trends.clear(),this.pipelines.clear(),this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.annotationsBox=void 0,this.axes={},this.size=void 0}},y(R,"WardleyBuilder"),R),P=new Dt;function N(a){const r=H();return Rt(a.trim(),r)}y(N,"textSanitizer");function rt(){return H()["wardley-beta"]}y(rt,"getConfig");function ot(a,r,e,h,o,d,m,v,g){P.addNode({id:a,label:N(r),x:e,y:h,className:o,labelOffsetX:d,labelOffsetY:m,inertia:v,sourceStrategy:g})}y(ot,"addNode");function st(a,r,e=!1,h,o){P.addLink({source:a,target:r,dashed:e,label:h,flow:o})}y(st,"addLink");function nt(a,r,e){P.addTrend({nodeId:a,targetX:r,targetY:e})}y(nt,"addTrend");function it(a,r,e){P.addAnnotation({number:a,coordinates:r,text:e?N(e):void 0})}y(it,"addAnnotation");function dt(a,r,e){P.addNote({text:N(a),x:r,y:e})}y(dt,"addNote");function lt(a,r,e){P.addAccelerator({name:N(a),x:r,y:e})}y(lt,"addAccelerator");function ct(a,r,e){P.addDeaccelerator({name:N(a),x:r,y:e})}y(ct,"addDeaccelerator");function pt(a,r){P.setAnnotationsBox(a,r)}y(pt,"setAnnotationsBox");function ht(a,r){P.setSize(a,r)}y(ht,"setSize");function xt(a){P.startPipeline(a)}y(xt,"startPipeline");function ft(a,r){P.addPipelineComponent(a,r)}y(ft,"addPipelineComponent");function gt(a){const r={};a.xLabel&&(r.xLabel=N(a.xLabel)),a.yLabel&&(r.yLabel=N(a.yLabel)),a.stages&&(r.stages=a.stages.map(e=>N(e))),a.stageBoundaries&&(r.stageBoundaries=a.stageBoundaries),P.setAxes(r)}y(gt,"updateAxes");function ut(a){return P.getNode(a)}y(ut,"getNode");function yt(){return P.build()}y(yt,"getWardleyData");function mt(){P.clear(),Bt()}y(mt,"clear");var Gt={getConfig:rt,addNode:ot,addLink:st,addTrend:nt,addAnnotation:it,addNote:dt,addAccelerator:lt,addDeaccelerator:ct,setAnnotationsBox:pt,setSize:ht,startPipeline:xt,addPipelineComponent:ft,updateAxes:gt,getNode:ut,getWardleyData:yt,clear:mt,setAccTitle:Et,getAccTitle:Ct,setDiagramTitle:At,getDiagramTitle:Xt,getAccDescription:Lt,setAccDescription:zt},qt=["Genesis","Custom Built","Product","Commodity"],Ht=y(()=>{var r,e,h,o,d,m,v,g,A,M,b,z;const{themeVariables:a}=H();return{backgroundColor:((r=a.wardley)==null?void 0:r.backgroundColor)??a.background??"#fff",axisColor:((e=a.wardley)==null?void 0:e.axisColor)??"#000",axisTextColor:((h=a.wardley)==null?void 0:h.axisTextColor)??a.primaryTextColor??"#222",gridColor:((o=a.wardley)==null?void 0:o.gridColor)??"rgba(100, 100, 100, 0.2)",componentFill:((d=a.wardley)==null?void 0:d.componentFill)??"#fff",componentStroke:((m=a.wardley)==null?void 0:m.componentStroke)??"#000",componentLabelColor:((v=a.wardley)==null?void 0:v.componentLabelColor)??a.primaryTextColor??"#222",linkStroke:((g=a.wardley)==null?void 0:g.linkStroke)??"#000",evolutionStroke:((A=a.wardley)==null?void 0:A.evolutionStroke)??"#dc3545",annotationStroke:((M=a.wardley)==null?void 0:M.annotationStroke)??"#000",annotationTextColor:((b=a.wardley)==null?void 0:b.annotationTextColor)??a.primaryTextColor??"#222",annotationFill:((z=a.wardley)==null?void 0:z.annotationFill)??a.background??"#fff"}},"getTheme"),jt=y(()=>{const a=H()["wardley-beta"];return{width:(a==null?void 0:a.width)??900,height:(a==null?void 0:a.height)??600,padding:(a==null?void 0:a.padding)??48,nodeRadius:(a==null?void 0:a.nodeRadius)??6,nodeLabelOffset:(a==null?void 0:a.nodeLabelOffset)??8,axisFontSize:(a==null?void 0:a.axisFontSize)??12,labelFontSize:(a==null?void 0:a.labelFontSize)??10,showGrid:(a==null?void 0:a.showGrid)??!1,useMaxWidth:(a==null?void 0:a.useMaxWidth)??!0}},"getConfigValues"),_t=y((a,r,e,h)=>{var K,Q;et.debug(`Rendering Wardley map
2
2
  `+a);const o=jt(),d=Ht(),m=o.nodeRadius*1.6,v=h.db,g=v.getWardleyData(),A=v.getDiagramTitle(),M=((K=g.size)==null?void 0:K.width)??o.width,b=((Q=g.size)==null?void 0:Q.height)??o.height,z=Tt(r);z.selectAll("*").remove(),Yt(z,b,M,o.useMaxWidth),z.attr("viewBox",`0 0 ${M} ${b}`);const S=z.append("g").attr("class","wardley-map"),j=z.append("defs");j.append("marker").attr("id",`arrow-${r}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",d.evolutionStroke).attr("stroke","none"),j.append("marker").attr("id",`link-arrow-end-${r}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",d.linkStroke).attr("stroke","none"),j.append("marker").attr("id",`link-arrow-start-${r}`).attr("viewBox","0 0 10 10").attr("refX",1).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z").attr("fill",d.linkStroke).attr("stroke","none"),S.append("rect").attr("class","wardley-background").attr("width",M).attr("height",b).attr("fill",d.backgroundColor);const F=M-o.padding*2,I=b-o.padding*2;A&&S.append("text").attr("class","wardley-title").attr("x",M/2).attr("y",o.padding/2).attr("fill",d.axisTextColor).attr("font-size",o.axisFontSize*1.05).attr("font-weight","bold").attr("text-anchor","middle").attr("dominant-baseline","middle").text(A);const C=y(t=>o.padding+t/100*F,"projectX"),E=y(t=>b-o.padding-t/100*I,"projectY"),W=S.append("g").attr("class","wardley-axes");W.append("line").attr("x1",o.padding).attr("x2",M-o.padding).attr("y1",b-o.padding).attr("y2",b-o.padding).attr("stroke",d.axisColor).attr("stroke-width",1),W.append("line").attr("x1",o.padding).attr("x2",o.padding).attr("y1",o.padding).attr("y2",b-o.padding).attr("stroke",d.axisColor).attr("stroke-width",1);const wt=g.axes.xLabel??"Evolution",bt=g.axes.yLabel??"Visibility";W.append("text").attr("class","wardley-axis-label wardley-axis-label-x").attr("x",o.padding+F/2).attr("y",b-o.padding/4).attr("fill",d.axisTextColor).attr("font-size",o.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").text(wt),W.append("text").attr("class","wardley-axis-label wardley-axis-label-y").attr("x",o.padding/3).attr("y",o.padding+I/2).attr("fill",d.axisTextColor).attr("font-size",o.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").attr("transform",`rotate(-90 ${o.padding/3} ${o.padding+I/2})`).text(bt);const O=g.axes.stages&&g.axes.stages.length>0?g.axes.stages:qt;if(O.length>0){const t=S.append("g").attr("class","wardley-stages"),n=g.axes.stageBoundaries,s=[];if(n&&n.length===O.length){let i=0;n.forEach(p=>{s.push({start:i,end:p}),i=p})}else{const i=1/O.length;O.forEach((p,l)=>{s.push({start:l*i,end:(l+1)*i})})}O.forEach((i,p)=>{const l=s[p],x=o.padding+l.start*F,f=o.padding+l.end*F,u=(x+f)/2;p>0&&t.append("line").attr("x1",x).attr("x2",x).attr("y1",o.padding).attr("y2",b-o.padding).attr("stroke","#000").attr("stroke-width",1).attr("stroke-dasharray","5 5").attr("opacity",.8),t.append("text").attr("class","wardley-stage-label").attr("x",u).attr("y",b-o.padding/1.5).attr("fill",d.axisTextColor).attr("font-size",o.axisFontSize-2).attr("text-anchor","middle").text(i)})}if(o.showGrid){const t=S.append("g").attr("class","wardley-grid");for(let n=1;n<4;n++){const s=n/4,i=o.padding+F*s;t.append("line").attr("x1",i).attr("x2",i).attr("y1",o.padding).attr("y2",b-o.padding).attr("stroke",d.gridColor).attr("stroke-dasharray","2 6"),t.append("line").attr("x1",o.padding).attr("x2",M-o.padding).attr("y1",b-o.padding-I*s).attr("y2",b-o.padding-I*s).attr("stroke",d.gridColor).attr("stroke-dasharray","2 6")}}const c=new Map;if(g.nodes.forEach(t=>{c.set(t.id,{x:C(t.x),y:E(t.y),node:t})}),g.pipelines.length>0){const t=S.append("g").attr("class","wardley-pipelines"),n=S.append("g").attr("class","wardley-pipeline-links");g.pipelines.forEach(s=>{if(s.componentIds.length===0)return;const i=s.componentIds.map(f=>({id:f,pos:c.get(f),node:g.nodes.find(u=>u.id===f)})).filter(f=>f.pos&&f.node).sort((f,u)=>f.node.x-u.node.x);for(let f=0;f<i.length-1;f++){const u=i[f],w=i[f+1];n.append("line").attr("class","wardley-pipeline-evolution-link").attr("x1",u.pos.x).attr("y1",u.pos.y).attr("x2",w.pos.x).attr("y2",w.pos.y).attr("stroke",d.linkStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4")}let p=1/0,l=-1/0,x=0;if(s.componentIds.forEach(f=>{const u=c.get(f);u&&(p=Math.min(p,u.x),l=Math.max(l,u.x),x=u.y)}),p!==1/0&&l!==-1/0){const u=o.nodeRadius*4,w=x-u/2,$=c.get(s.nodeId);if($){const X=(p+l)/2;$.x=X,$.y=w-m/6}t.append("rect").attr("class","wardley-pipeline-box").attr("x",p-15).attr("y",w).attr("width",l-p+30).attr("height",u).attr("fill","none").attr("stroke",d.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}})}const Z=S.append("g").attr("class","wardley-links"),U=new Map;g.pipelines.forEach(t=>{U.set(t.nodeId,new Set(t.componentIds))});const J=g.links.filter(t=>{if(!c.has(t.source)||!c.has(t.target))return!1;const n=U.get(t.target);return!(n!=null&&n.has(t.source))});Z.selectAll("line").data(J).enter().append("line").attr("class",t=>`wardley-link${t.dashed?" wardley-link--dashed":""}`).attr("x1",t=>{const n=c.get(t.source),s=c.get(t.target),p=g.nodes.find(u=>u.id===t.source).isPipelineParent?m/Math.sqrt(2):o.nodeRadius,l=s.x-n.x,x=s.y-n.y,f=Math.sqrt(l*l+x*x);return n.x+l/f*p}).attr("y1",t=>{const n=c.get(t.source),s=c.get(t.target),p=g.nodes.find(u=>u.id===t.source).isPipelineParent?m/Math.sqrt(2):o.nodeRadius,l=s.x-n.x,x=s.y-n.y,f=Math.sqrt(l*l+x*x);return n.y+x/f*p}).attr("x2",t=>{const n=c.get(t.source),s=c.get(t.target),p=g.nodes.find(u=>u.id===t.target).isPipelineParent?m/Math.sqrt(2):o.nodeRadius,l=n.x-s.x,x=n.y-s.y,f=Math.sqrt(l*l+x*x);return s.x+l/f*p}).attr("y2",t=>{const n=c.get(t.source),s=c.get(t.target),p=g.nodes.find(u=>u.id===t.target).isPipelineParent?m/Math.sqrt(2):o.nodeRadius,l=n.x-s.x,x=n.y-s.y,f=Math.sqrt(l*l+x*x);return s.y+x/f*p}).attr("stroke",d.linkStroke).attr("stroke-width",1).attr("stroke-dasharray",t=>t.dashed?"6 6":null).attr("marker-end",t=>t.flow==="forward"||t.flow==="bidirectional"?`url(#link-arrow-end-${r})`:null).attr("marker-start",t=>t.flow==="backward"||t.flow==="bidirectional"?`url(#link-arrow-start-${r})`:null),Z.selectAll("text").data(J.filter(t=>t.label)).enter().append("text").attr("class","wardley-link-label").attr("x",t=>{const n=c.get(t.source),s=c.get(t.target),i=(n.x+s.x)/2,p=s.y-n.y,l=s.x-n.x,x=Math.sqrt(l*l+p*p),f=8,u=p/x;return i+u*f}).attr("y",t=>{const n=c.get(t.source),s=c.get(t.target),i=(n.y+s.y)/2,p=s.x-n.x,l=s.y-n.y,x=Math.sqrt(p*p+l*l),f=8,u=-p/x;return i+u*f}).attr("fill",d.axisTextColor).attr("font-size",o.labelFontSize).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("transform",t=>{const n=c.get(t.source),s=c.get(t.target),i=(n.x+s.x)/2,p=(n.y+s.y)/2,l=s.x-n.x,x=s.y-n.y,f=Math.sqrt(l*l+x*x),u=8,w=x/f,$=-l/f,X=i+w*u,D=p+$*u;let B=Math.atan2(x,l)*180/Math.PI;return(B>90||B<-90)&&(B+=180),`rotate(${B} ${X} ${D})`}).text(t=>t.label);const kt=S.append("g").attr("class","wardley-trends"),Pt=g.trends.map(t=>{const n=c.get(t.nodeId);if(!n)return null;const s=C(t.targetX),i=E(t.targetY),p=s-n.x,l=i-n.y,x=Math.sqrt(p*p+l*l),f=o.nodeRadius+2,u=x>f?s-p/x*f:s,w=x>f?i-l/x*f:i;return{origin:n,targetX:s,targetY:i,adjustedX2:u,adjustedY2:w}}).filter(t=>t!==null);kt.selectAll("line").data(Pt).enter().append("line").attr("class","wardley-trend").attr("x1",t=>t.origin.x).attr("y1",t=>t.origin.y).attr("x2",t=>t.adjustedX2).attr("y2",t=>t.adjustedY2).attr("stroke",d.evolutionStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4").attr("marker-end",`url(#arrow-${r})`);const L=S.append("g").attr("class","wardley-nodes").selectAll("g").data(g.nodes).enter().append("g").attr("class",t=>["wardley-node",t.className?`wardley-node--${t.className}`:""].filter(Boolean).join(" "));L.filter(t=>t.sourceStrategy==="outsource").append("circle").attr("class","wardley-outsource-overlay").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y).attr("r",o.nodeRadius*2).attr("fill","#666").attr("stroke",d.componentStroke).attr("stroke-width",1),L.filter(t=>t.sourceStrategy==="buy").append("circle").attr("class","wardley-buy-overlay").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y).attr("r",o.nodeRadius*2).attr("fill","#ccc").attr("stroke",d.componentStroke).attr("stroke-width",1),L.filter(t=>t.sourceStrategy==="build").append("circle").attr("class","wardley-build-overlay").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y).attr("r",o.nodeRadius*2).attr("fill","#eee").attr("stroke","#000").attr("stroke-width",1);const T=L.filter(t=>t.sourceStrategy==="market");T.append("circle").attr("class","wardley-market-overlay").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y).attr("r",o.nodeRadius*2).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",1),L.filter(t=>!t.isPipelineParent&&t.sourceStrategy!=="market"&&t.className!=="anchor").append("circle").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y).attr("r",o.nodeRadius).attr("fill",d.componentFill).attr("stroke",d.componentStroke).attr("stroke-width",1);const _=o.nodeRadius*.7,k=o.nodeRadius*1.2;if(T.append("line").attr("class","wardley-market-line").attr("x1",t=>c.get(t.id).x).attr("y1",t=>c.get(t.id).y-k).attr("x2",t=>c.get(t.id).x-k*Math.cos(Math.PI/6)).attr("y2",t=>c.get(t.id).y+k*Math.sin(Math.PI/6)).attr("stroke",d.componentStroke).attr("stroke-width",1),T.append("line").attr("class","wardley-market-line").attr("x1",t=>c.get(t.id).x-k*Math.cos(Math.PI/6)).attr("y1",t=>c.get(t.id).y+k*Math.sin(Math.PI/6)).attr("x2",t=>c.get(t.id).x+k*Math.cos(Math.PI/6)).attr("y2",t=>c.get(t.id).y+k*Math.sin(Math.PI/6)).attr("stroke",d.componentStroke).attr("stroke-width",1),T.append("line").attr("class","wardley-market-line").attr("x1",t=>c.get(t.id).x+k*Math.cos(Math.PI/6)).attr("y1",t=>c.get(t.id).y+k*Math.sin(Math.PI/6)).attr("x2",t=>c.get(t.id).x).attr("y2",t=>c.get(t.id).y-k).attr("stroke",d.componentStroke).attr("stroke-width",1),T.append("circle").attr("class","wardley-market-dot").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y-k).attr("r",_).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",2),T.append("circle").attr("class","wardley-market-dot").attr("cx",t=>c.get(t.id).x-k*Math.cos(Math.PI/6)).attr("cy",t=>c.get(t.id).y+k*Math.sin(Math.PI/6)).attr("r",_).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",2),T.append("circle").attr("class","wardley-market-dot").attr("cx",t=>c.get(t.id).x+k*Math.cos(Math.PI/6)).attr("cy",t=>c.get(t.id).y+k*Math.sin(Math.PI/6)).attr("r",_).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",2),L.filter(t=>t.isPipelineParent===!0).append("rect").attr("x",t=>c.get(t.id).x-m/2).attr("y",t=>c.get(t.id).y-m/2).attr("width",m).attr("height",m).attr("fill",d.componentFill).attr("stroke",d.componentStroke).attr("stroke-width",1),L.filter(t=>t.inertia===!0).append("line").attr("class","wardley-inertia").attr("x1",t=>{const n=c.get(t.id);let s=t.isPipelineParent?m/2+15:o.nodeRadius+15;return t.sourceStrategy&&(s+=o.nodeRadius+10),n.x+s}).attr("y1",t=>{const n=c.get(t.id),s=t.isPipelineParent?m:o.nodeRadius*2;return n.y-s/2}).attr("x2",t=>{const n=c.get(t.id);let s=t.isPipelineParent?m/2+15:o.nodeRadius+15;return t.sourceStrategy&&(s+=o.nodeRadius+10),n.x+s}).attr("y2",t=>{const n=c.get(t.id),s=t.isPipelineParent?m:o.nodeRadius*2;return n.y+s/2}).attr("stroke",d.componentStroke).attr("stroke-width",6),L.append("text").attr("x",t=>{const n=c.get(t.id);if(t.className==="anchor")return t.labelOffsetX!==void 0?n.x+t.labelOffsetX:n.x;let s=o.nodeLabelOffset;t.sourceStrategy&&t.labelOffsetX===void 0&&(s+=10);const i=t.labelOffsetX??s;return n.x+i}).attr("y",t=>{const n=c.get(t.id);if(t.className==="anchor")return t.labelOffsetY!==void 0?n.y+t.labelOffsetY:n.y-3;let s=-o.nodeLabelOffset;t.sourceStrategy&&t.labelOffsetY===void 0&&(s-=10);const i=t.labelOffsetY??s;return n.y+i}).attr("class","wardley-node-label").attr("fill",t=>t.className==="evolved"?d.evolutionStroke:t.className==="anchor"?"#000":d.componentLabelColor).attr("font-size",o.labelFontSize).attr("font-weight",t=>t.className==="anchor"?"bold":"normal").attr("text-anchor",t=>t.className==="anchor"?"middle":"start").attr("dominant-baseline",t=>t.className==="anchor"?"middle":"auto").text(t=>t.label),g.annotations.length>0){const t=S.append("g").attr("class","wardley-annotations");if(g.annotations.forEach(n=>{const s=n.coordinates.map(i=>({x:C(i.x),y:E(i.y)}));if(s.length>1)for(let i=0;i<s.length-1;i++)t.append("line").attr("class","wardley-annotation-line").attr("x1",s[i].x).attr("y1",s[i].y).attr("x2",s[i+1].x).attr("y2",s[i+1].y).attr("stroke",d.axisColor).attr("stroke-width",1.5).attr("stroke-dasharray","4 4");s.forEach(i=>{const p=t.append("g").attr("class","wardley-annotation");p.append("circle").attr("cx",i.x).attr("cy",i.y).attr("r",10).attr("fill","white").attr("stroke",d.axisColor).attr("stroke-width",1.5),p.append("text").attr("x",i.x).attr("y",i.y).attr("text-anchor","middle").attr("dominant-baseline","central").attr("font-size",10).attr("fill",d.axisTextColor).attr("font-weight","bold").text(n.number)})}),g.annotationsBox){let n=C(g.annotationsBox.x),s=E(g.annotationsBox.y);const i=10,p=16,l=11,x=t.append("g").attr("class","wardley-annotations-box"),f=[...g.annotations].filter(w=>w.text).sort((w,$)=>w.number-$.number),u=[];if(f.forEach((w,$)=>{const X=x.append("text").attr("x",n+i).attr("y",s+i+($+1)*p).attr("font-size",l).attr("fill",d.axisTextColor).attr("text-anchor","start").attr("dominant-baseline","middle").text(`${w.number}. ${w.text}`);u.push(X)}),u.length>0){let w=0,$=0;u.forEach(V=>{const G=V.node(),Mt=G.getComputedTextLength();w=Math.max(w,Mt);const Nt=G.getBBox();$=Math.max($,Nt.height)});const X=w+i*2+105,D=f.length*p+i*2+$/2,B=o.padding,vt=M-o.padding-X,St=o.padding,$t=b-o.padding-D;n=Math.max(B,Math.min(n,vt)),s=Math.max(St,Math.min(s,$t)),u.forEach((V,G)=>{V.attr("x",n+i).attr("y",s+i+(G+1)*p)}),x.insert("rect","text").attr("x",n).attr("y",s).attr("width",X).attr("height",D).attr("fill","white").attr("stroke",d.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}}}if(g.notes.length>0){const t=S.append("g").attr("class","wardley-notes");g.notes.forEach(n=>{const s=C(n.x),i=E(n.y);t.append("text").attr("x",s).attr("y",i).attr("text-anchor","start").attr("font-size",11).attr("fill",d.axisTextColor).attr("font-weight","bold").text(n.text)})}if(g.accelerators.length>0){const t=S.append("g").attr("class","wardley-accelerators");g.accelerators.forEach(n=>{const s=C(n.x),i=E(n.y),p=60,l=30,x=20,f=`
3
3
  M ${s} ${i-l/2}
4
4
  L ${s+p-x} ${i-l/2}
@@ -1,4 +1,4 @@
1
- import{s as gi,g as xi,q as Xt,p as di,a as fi,b as pi,_ as a,l as Yt,I as mi,e as yi,z as bi,D as _t,i as Ai,F as Nt,G as wi,K as Ci,aC as Si,R as Wt}from"./index-vJkse6bL.js";import{i as _i}from"./init-Gi6I4Gst.js";import{o as ki}from"./ordinal-Cboi1Yqb.js";import{l as zt}from"./linear-Dwj0lSRt.js";import"./defaultLocale-DX6XiGOO.js";function Ri(e,t,i){e=+e,t=+t,i=(n=arguments.length)<2?(t=e,e=0,1):n<3?1:+i;for(var s=-1,n=Math.max(0,Math.ceil((t-e)/i))|0,o=new Array(n);++s<n;)o[s]=e+s*i;return o}function bt(){var e=ki().unknown(void 0),t=e.domain,i=e.range,s=0,n=1,o,u,p=!1,f=0,T=0,P=.5;delete e.unknown;function _(){var y=t().length,E=n<s,v=E?n:s,L=E?s:n;o=(L-v)/Math.max(1,y-f+T*2),p&&(o=Math.floor(o)),v+=(L-v-o*(y-f))*P,u=o*(1-f),p&&(v=Math.round(v),u=Math.round(u));var I=Ri(y).map(function(m){return v+o*m});return i(E?I.reverse():I)}return e.domain=function(y){return arguments.length?(t(y),_()):t()},e.range=function(y){return arguments.length?([s,n]=y,s=+s,n=+n,_()):[s,n]},e.rangeRound=function(y){return[s,n]=y,s=+s,n=+n,p=!0,_()},e.bandwidth=function(){return u},e.step=function(){return o},e.round=function(y){return arguments.length?(p=!!y,_()):p},e.padding=function(y){return arguments.length?(f=Math.min(1,T=+y),_()):f},e.paddingInner=function(y){return arguments.length?(f=Math.min(1,y),_()):f},e.paddingOuter=function(y){return arguments.length?(T=+y,_()):T},e.align=function(y){return arguments.length?(P=Math.max(0,Math.min(1,y)),_()):P},e.copy=function(){return bt(t(),[s,n]).round(p).paddingInner(f).paddingOuter(T).align(P)},_i.apply(_(),arguments)}var At=(function(){var e=a(function(F,h,c,g){for(c=c||{},g=F.length;g--;c[F[g]]=h);return c},"o"),t=[1,10,12,14,16,18,19,21,23],i=[2,6],s=[1,3],n=[1,5],o=[1,6],u=[1,7],p=[1,5,10,12,14,16,18,19,21,23,34,35,36],f=[1,25],T=[1,26],P=[1,28],_=[1,29],y=[1,30],E=[1,31],v=[1,32],L=[1,33],I=[1,34],m=[1,35],R=[1,36],l=[1,37],W=[1,43],O=[1,42],X=[1,47],Y=[1,50],S=[1,10,12,14,16,18,19,21,23,34,35,36],U=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],b=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],w=[1,64],V={trace:a(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:a(function(h,c,g,x,C,r,rt){var d=r.length-1;switch(C){case 5:x.setOrientation(r[d]);break;case 9:x.setDiagramTitle(r[d].text.trim());break;case 12:x.setLineData({text:"",type:"text"},r[d]);break;case 13:x.setLineData(r[d-1],r[d]);break;case 14:x.setBarData({text:"",type:"text"},r[d]);break;case 15:x.setBarData(r[d-1],r[d]);break;case 16:this.$=r[d].trim(),x.setAccTitle(this.$);break;case 17:case 18:this.$=r[d].trim(),x.setAccDescription(this.$);break;case 19:this.$=r[d-1];break;case 20:this.$=[Number(r[d-2]),...r[d]];break;case 21:this.$=[Number(r[d])];break;case 22:x.setXAxisTitle(r[d]);break;case 23:x.setXAxisTitle(r[d-1]);break;case 24:x.setXAxisTitle({type:"text",text:""});break;case 25:x.setXAxisBand(r[d]);break;case 26:x.setXAxisRangeData(Number(r[d-2]),Number(r[d]));break;case 27:this.$=r[d-1];break;case 28:this.$=[r[d-2],...r[d]];break;case 29:this.$=[r[d]];break;case 30:x.setYAxisTitle(r[d]);break;case 31:x.setYAxisTitle(r[d-1]);break;case 32:x.setYAxisTitle({type:"text",text:""});break;case 33:x.setYAxisRangeData(Number(r[d-2]),Number(r[d]));break;case 37:this.$={text:r[d],type:"text"};break;case 38:this.$={text:r[d],type:"text"};break;case 39:this.$={text:r[d],type:"markdown"};break;case 40:this.$=r[d];break;case 41:this.$=r[d-1]+""+r[d];break}},"anonymous"),table:[e(t,i,{3:1,4:2,7:4,5:s,34:n,35:o,36:u}),{1:[3]},e(t,i,{4:2,7:4,3:8,5:s,34:n,35:o,36:u}),e(t,i,{4:2,7:4,6:9,3:10,5:s,8:[1,11],34:n,35:o,36:u}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},e(p,[2,34]),e(p,[2,35]),e(p,[2,36]),{1:[2,1]},e(t,i,{4:2,7:4,3:21,5:s,34:n,35:o,36:u}),{1:[2,3]},e(p,[2,5]),e(t,[2,7],{4:22,34:n,35:o,36:u}),{11:23,37:24,38:f,39:T,40:27,41:P,42:_,43:y,44:E,45:v,46:L,47:I,48:m,49:R,50:l},{11:39,13:38,24:W,27:O,29:40,30:41,37:24,38:f,39:T,40:27,41:P,42:_,43:y,44:E,45:v,46:L,47:I,48:m,49:R,50:l},{11:45,15:44,27:X,33:46,37:24,38:f,39:T,40:27,41:P,42:_,43:y,44:E,45:v,46:L,47:I,48:m,49:R,50:l},{11:49,17:48,24:Y,37:24,38:f,39:T,40:27,41:P,42:_,43:y,44:E,45:v,46:L,47:I,48:m,49:R,50:l},{11:52,17:51,24:Y,37:24,38:f,39:T,40:27,41:P,42:_,43:y,44:E,45:v,46:L,47:I,48:m,49:R,50:l},{20:[1,53]},{22:[1,54]},e(S,[2,18]),{1:[2,2]},e(S,[2,8]),e(S,[2,9]),e(U,[2,37],{40:55,41:P,42:_,43:y,44:E,45:v,46:L,47:I,48:m,49:R,50:l}),e(U,[2,38]),e(U,[2,39]),e(b,[2,40]),e(b,[2,42]),e(b,[2,43]),e(b,[2,44]),e(b,[2,45]),e(b,[2,46]),e(b,[2,47]),e(b,[2,48]),e(b,[2,49]),e(b,[2,50]),e(b,[2,51]),e(S,[2,10]),e(S,[2,22],{30:41,29:56,24:W,27:O}),e(S,[2,24]),e(S,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:f,39:T,40:27,41:P,42:_,43:y,44:E,45:v,46:L,47:I,48:m,49:R,50:l},e(S,[2,11]),e(S,[2,30],{33:60,27:X}),e(S,[2,32]),{31:[1,61]},e(S,[2,12]),{17:62,24:Y},{25:63,27:w},e(S,[2,14]),{17:65,24:Y},e(S,[2,16]),e(S,[2,17]),e(b,[2,41]),e(S,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},e(S,[2,31]),{27:[1,69]},e(S,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},e(S,[2,15]),e(S,[2,26]),e(S,[2,27]),{11:59,32:72,37:24,38:f,39:T,40:27,41:P,42:_,43:y,44:E,45:v,46:L,47:I,48:m,49:R,50:l},e(S,[2,33]),e(S,[2,19]),{25:73,27:w},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:a(function(h,c){if(c.recoverable)this.trace(h);else{var g=new Error(h);throw g.hash=c,g}},"parseError"),parse:a(function(h){var c=this,g=[0],x=[],C=[null],r=[],rt=this.table,d="",ct=0,It=0,hi=2,Mt=1,li=r.slice.call(arguments,1),D=Object.create(this.lexer),$={yy:{}};for(var ft in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ft)&&($.yy[ft]=this.yy[ft]);D.setInput(h,$.yy),$.yy.lexer=D,$.yy.parser=this,typeof D.yylloc>"u"&&(D.yylloc={});var pt=D.yylloc;r.push(pt);var ci=D.options&&D.options.ranges;typeof $.yy.parseError=="function"?this.parseError=$.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ui(B){g.length=g.length-2*B,C.length=C.length-B,r.length=r.length-B}a(ui,"popStack");function Vt(){var B;return B=x.pop()||D.lex()||Mt,typeof B!="number"&&(B instanceof Array&&(x=B,B=x.pop()),B=c.symbols_[B]||B),B}a(Vt,"lex");for(var M,q,z,mt,G={},ut,N,Bt,gt;;){if(q=g[g.length-1],this.defaultActions[q]?z=this.defaultActions[q]:((M===null||typeof M>"u")&&(M=Vt()),z=rt[q]&&rt[q][M]),typeof z>"u"||!z.length||!z[0]){var yt="";gt=[];for(ut in rt[q])this.terminals_[ut]&&ut>hi&&gt.push("'"+this.terminals_[ut]+"'");D.showPosition?yt="Parse error on line "+(ct+1)+`:
1
+ import{s as gi,g as xi,q as Xt,p as di,a as fi,b as pi,_ as a,l as Yt,I as mi,e as yi,z as bi,D as _t,i as Ai,F as Nt,G as wi,K as Ci,aC as Si,R as Wt}from"./index-6fsPy1BK.js";import{i as _i}from"./init-Gi6I4Gst.js";import{o as ki}from"./ordinal-Cboi1Yqb.js";import{l as zt}from"./linear-ChHoQsc4.js";import"./defaultLocale-DX6XiGOO.js";function Ri(e,t,i){e=+e,t=+t,i=(n=arguments.length)<2?(t=e,e=0,1):n<3?1:+i;for(var s=-1,n=Math.max(0,Math.ceil((t-e)/i))|0,o=new Array(n);++s<n;)o[s]=e+s*i;return o}function bt(){var e=ki().unknown(void 0),t=e.domain,i=e.range,s=0,n=1,o,u,p=!1,f=0,T=0,P=.5;delete e.unknown;function _(){var y=t().length,E=n<s,v=E?n:s,L=E?s:n;o=(L-v)/Math.max(1,y-f+T*2),p&&(o=Math.floor(o)),v+=(L-v-o*(y-f))*P,u=o*(1-f),p&&(v=Math.round(v),u=Math.round(u));var I=Ri(y).map(function(m){return v+o*m});return i(E?I.reverse():I)}return e.domain=function(y){return arguments.length?(t(y),_()):t()},e.range=function(y){return arguments.length?([s,n]=y,s=+s,n=+n,_()):[s,n]},e.rangeRound=function(y){return[s,n]=y,s=+s,n=+n,p=!0,_()},e.bandwidth=function(){return u},e.step=function(){return o},e.round=function(y){return arguments.length?(p=!!y,_()):p},e.padding=function(y){return arguments.length?(f=Math.min(1,T=+y),_()):f},e.paddingInner=function(y){return arguments.length?(f=Math.min(1,y),_()):f},e.paddingOuter=function(y){return arguments.length?(T=+y,_()):T},e.align=function(y){return arguments.length?(P=Math.max(0,Math.min(1,y)),_()):P},e.copy=function(){return bt(t(),[s,n]).round(p).paddingInner(f).paddingOuter(T).align(P)},_i.apply(_(),arguments)}var At=(function(){var e=a(function(F,h,c,g){for(c=c||{},g=F.length;g--;c[F[g]]=h);return c},"o"),t=[1,10,12,14,16,18,19,21,23],i=[2,6],s=[1,3],n=[1,5],o=[1,6],u=[1,7],p=[1,5,10,12,14,16,18,19,21,23,34,35,36],f=[1,25],T=[1,26],P=[1,28],_=[1,29],y=[1,30],E=[1,31],v=[1,32],L=[1,33],I=[1,34],m=[1,35],R=[1,36],l=[1,37],W=[1,43],O=[1,42],X=[1,47],Y=[1,50],S=[1,10,12,14,16,18,19,21,23,34,35,36],U=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],b=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],w=[1,64],V={trace:a(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:a(function(h,c,g,x,C,r,rt){var d=r.length-1;switch(C){case 5:x.setOrientation(r[d]);break;case 9:x.setDiagramTitle(r[d].text.trim());break;case 12:x.setLineData({text:"",type:"text"},r[d]);break;case 13:x.setLineData(r[d-1],r[d]);break;case 14:x.setBarData({text:"",type:"text"},r[d]);break;case 15:x.setBarData(r[d-1],r[d]);break;case 16:this.$=r[d].trim(),x.setAccTitle(this.$);break;case 17:case 18:this.$=r[d].trim(),x.setAccDescription(this.$);break;case 19:this.$=r[d-1];break;case 20:this.$=[Number(r[d-2]),...r[d]];break;case 21:this.$=[Number(r[d])];break;case 22:x.setXAxisTitle(r[d]);break;case 23:x.setXAxisTitle(r[d-1]);break;case 24:x.setXAxisTitle({type:"text",text:""});break;case 25:x.setXAxisBand(r[d]);break;case 26:x.setXAxisRangeData(Number(r[d-2]),Number(r[d]));break;case 27:this.$=r[d-1];break;case 28:this.$=[r[d-2],...r[d]];break;case 29:this.$=[r[d]];break;case 30:x.setYAxisTitle(r[d]);break;case 31:x.setYAxisTitle(r[d-1]);break;case 32:x.setYAxisTitle({type:"text",text:""});break;case 33:x.setYAxisRangeData(Number(r[d-2]),Number(r[d]));break;case 37:this.$={text:r[d],type:"text"};break;case 38:this.$={text:r[d],type:"text"};break;case 39:this.$={text:r[d],type:"markdown"};break;case 40:this.$=r[d];break;case 41:this.$=r[d-1]+""+r[d];break}},"anonymous"),table:[e(t,i,{3:1,4:2,7:4,5:s,34:n,35:o,36:u}),{1:[3]},e(t,i,{4:2,7:4,3:8,5:s,34:n,35:o,36:u}),e(t,i,{4:2,7:4,6:9,3:10,5:s,8:[1,11],34:n,35:o,36:u}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},e(p,[2,34]),e(p,[2,35]),e(p,[2,36]),{1:[2,1]},e(t,i,{4:2,7:4,3:21,5:s,34:n,35:o,36:u}),{1:[2,3]},e(p,[2,5]),e(t,[2,7],{4:22,34:n,35:o,36:u}),{11:23,37:24,38:f,39:T,40:27,41:P,42:_,43:y,44:E,45:v,46:L,47:I,48:m,49:R,50:l},{11:39,13:38,24:W,27:O,29:40,30:41,37:24,38:f,39:T,40:27,41:P,42:_,43:y,44:E,45:v,46:L,47:I,48:m,49:R,50:l},{11:45,15:44,27:X,33:46,37:24,38:f,39:T,40:27,41:P,42:_,43:y,44:E,45:v,46:L,47:I,48:m,49:R,50:l},{11:49,17:48,24:Y,37:24,38:f,39:T,40:27,41:P,42:_,43:y,44:E,45:v,46:L,47:I,48:m,49:R,50:l},{11:52,17:51,24:Y,37:24,38:f,39:T,40:27,41:P,42:_,43:y,44:E,45:v,46:L,47:I,48:m,49:R,50:l},{20:[1,53]},{22:[1,54]},e(S,[2,18]),{1:[2,2]},e(S,[2,8]),e(S,[2,9]),e(U,[2,37],{40:55,41:P,42:_,43:y,44:E,45:v,46:L,47:I,48:m,49:R,50:l}),e(U,[2,38]),e(U,[2,39]),e(b,[2,40]),e(b,[2,42]),e(b,[2,43]),e(b,[2,44]),e(b,[2,45]),e(b,[2,46]),e(b,[2,47]),e(b,[2,48]),e(b,[2,49]),e(b,[2,50]),e(b,[2,51]),e(S,[2,10]),e(S,[2,22],{30:41,29:56,24:W,27:O}),e(S,[2,24]),e(S,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:f,39:T,40:27,41:P,42:_,43:y,44:E,45:v,46:L,47:I,48:m,49:R,50:l},e(S,[2,11]),e(S,[2,30],{33:60,27:X}),e(S,[2,32]),{31:[1,61]},e(S,[2,12]),{17:62,24:Y},{25:63,27:w},e(S,[2,14]),{17:65,24:Y},e(S,[2,16]),e(S,[2,17]),e(b,[2,41]),e(S,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},e(S,[2,31]),{27:[1,69]},e(S,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},e(S,[2,15]),e(S,[2,26]),e(S,[2,27]),{11:59,32:72,37:24,38:f,39:T,40:27,41:P,42:_,43:y,44:E,45:v,46:L,47:I,48:m,49:R,50:l},e(S,[2,33]),e(S,[2,19]),{25:73,27:w},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:a(function(h,c){if(c.recoverable)this.trace(h);else{var g=new Error(h);throw g.hash=c,g}},"parseError"),parse:a(function(h){var c=this,g=[0],x=[],C=[null],r=[],rt=this.table,d="",ct=0,It=0,hi=2,Mt=1,li=r.slice.call(arguments,1),D=Object.create(this.lexer),$={yy:{}};for(var ft in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ft)&&($.yy[ft]=this.yy[ft]);D.setInput(h,$.yy),$.yy.lexer=D,$.yy.parser=this,typeof D.yylloc>"u"&&(D.yylloc={});var pt=D.yylloc;r.push(pt);var ci=D.options&&D.options.ranges;typeof $.yy.parseError=="function"?this.parseError=$.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ui(B){g.length=g.length-2*B,C.length=C.length-B,r.length=r.length-B}a(ui,"popStack");function Vt(){var B;return B=x.pop()||D.lex()||Mt,typeof B!="number"&&(B instanceof Array&&(x=B,B=x.pop()),B=c.symbols_[B]||B),B}a(Vt,"lex");for(var M,q,z,mt,G={},ut,N,Bt,gt;;){if(q=g[g.length-1],this.defaultActions[q]?z=this.defaultActions[q]:((M===null||typeof M>"u")&&(M=Vt()),z=rt[q]&&rt[q][M]),typeof z>"u"||!z.length||!z[0]){var yt="";gt=[];for(ut in rt[q])this.terminals_[ut]&&ut>hi&&gt.push("'"+this.terminals_[ut]+"'");D.showPosition?yt="Parse error on line "+(ct+1)+`:
2
2
  `+D.showPosition()+`
3
3
  Expecting `+gt.join(", ")+", got '"+(this.terminals_[M]||M)+"'":yt="Parse error on line "+(ct+1)+": Unexpected "+(M==Mt?"end of input":"'"+(this.terminals_[M]||M)+"'"),this.parseError(yt,{text:D.match,token:this.terminals_[M]||M,line:D.yylineno,loc:pt,expected:gt})}if(z[0]instanceof Array&&z.length>1)throw new Error("Parse Error: multiple actions possible at state: "+q+", token: "+M);switch(z[0]){case 1:g.push(M),C.push(D.yytext),r.push(D.yylloc),g.push(z[1]),M=null,It=D.yyleng,d=D.yytext,ct=D.yylineno,pt=D.yylloc;break;case 2:if(N=this.productions_[z[1]][1],G.$=C[C.length-N],G._$={first_line:r[r.length-(N||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(N||1)].first_column,last_column:r[r.length-1].last_column},ci&&(G._$.range=[r[r.length-(N||1)].range[0],r[r.length-1].range[1]]),mt=this.performAction.apply(G,[d,It,ct,$.yy,z[1],C,r].concat(li)),typeof mt<"u")return mt;N&&(g=g.slice(0,-1*N*2),C=C.slice(0,-1*N),r=r.slice(0,-1*N)),g.push(this.productions_[z[1]][0]),C.push(G.$),r.push(G._$),Bt=rt[g[g.length-2]][g[g.length-1]],g.push(Bt);break;case 3:return!0}}return!0},"parse")},k=(function(){var F={EOF:1,parseError:a(function(c,g){if(this.yy.parser)this.yy.parser.parseError(c,g);else throw new Error(c)},"parseError"),setInput:a(function(h,c){return this.yy=c||this.yy||{},this._input=h,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:a(function(){var h=this._input[0];this.yytext+=h,this.yyleng++,this.offset++,this.match+=h,this.matched+=h;var c=h.match(/(?:\r\n?|\n).*/g);return c?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),h},"input"),unput:a(function(h){var c=h.length,g=h.split(/(?:\r\n?|\n)/g);this._input=h+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-c),this.offset-=c;var x=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),g.length-1&&(this.yylineno-=g.length-1);var C=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:g?(g.length===x.length?this.yylloc.first_column:0)+x[x.length-g.length].length-g[0].length:this.yylloc.first_column-c},this.options.ranges&&(this.yylloc.range=[C[0],C[0]+this.yyleng-c]),this.yyleng=this.yytext.length,this},"unput"),more:a(function(){return this._more=!0,this},"more"),reject:a(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
4
4
  `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:a(function(h){this.unput(this.match.slice(h))},"less"),pastInput:a(function(){var h=this.matched.substr(0,this.matched.length-this.match.length);return(h.length>20?"...":"")+h.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:a(function(){var h=this.match;return h.length<20&&(h+=this._input.substr(0,20-h.length)),(h.substr(0,20)+(h.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:a(function(){var h=this.pastInput(),c=new Array(h.length+1).join("-");return h+this.upcomingInput()+`
@@ -4,8 +4,8 @@
4
4
  <meta charset="UTF-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <title>Zread Browser</title>
7
- <script type="module" crossorigin src="/assets/index-vJkse6bL.js"></script>
8
- <link rel="stylesheet" crossorigin href="/assets/index-DmnC0rTU.css">
7
+ <script type="module" crossorigin src="/assets/index-6fsPy1BK.js"></script>
8
+ <link rel="stylesheet" crossorigin href="/assets/index-BP3TStZP.css">
9
9
  </head>
10
10
  <body>
11
11
  <div id="root"></div>
@@ -1 +1 @@
1
- const a0_0x185d82=a0_0x5a24;(function(_0x1bc117,_0x23d5b9){const _0x52d444=a0_0x5a24,_0x2bc4bb=_0x1bc117();while(!![]){try{const _0x595f90=-parseInt(_0x52d444(0xed))/0x1*(parseInt(_0x52d444(0xc8))/0x2)+parseInt(_0x52d444(0x105))/0x3+parseInt(_0x52d444(0xde))/0x4+parseInt(_0x52d444(0xe5))/0x5+-parseInt(_0x52d444(0xd5))/0x6+-parseInt(_0x52d444(0xdb))/0x7+parseInt(_0x52d444(0xf1))/0x8*(parseInt(_0x52d444(0x106))/0x9);if(_0x595f90===_0x23d5b9)break;else _0x2bc4bb['push'](_0x2bc4bb['shift']());}catch(_0x685073){_0x2bc4bb['push'](_0x2bc4bb['shift']());}}}(a0_0x16b1,0xa43b5));import a0_0x340d37 from'express';import a0_0x107979 from'cors';import a0_0xea7e52 from'path';import{fileURLToPath}from'url';import{errorHandler}from'./middleware/errorHandler.js';import{projectsRouter}from'./routes/projects.js';import{wikiRouter}from'./routes/wiki.js';import{scanRouter}from'./routes/scan.js';import{searchRouter}from'./routes/search.js';function a0_0x16b1(){const _0x1d5a02=['C2nHBLbHDgHZ','DxnL','z2v0q29UzMLN','AM9PBG','B3vUzca','lI4VChvIBgLJ','l2fWAs93AwTP','B2fKzwqGy29UzG','Bg9N','nJGWodi5nNDOEgDtCW','zwfKyNjVDYbZzq','C3rHCNrZv2L0Aa','mti3lJaUmc4X','B21WBgv0zs4GrG','DxrVlxnJyw4GzG','mJG2mJu1mLnvt1vuza','BK1XtM8','DxrVlxnJyw5UAq','mZyWoti0ohrhB3DQza','yLfSrve','y2f0y2G','ihbYB2PLy3rZla','se9tva','EcbIDwLSDc4','ihnJyw4GCgf0Aa','nduXmJuWmg9YuvvtsG','wLjfqurcuK9xxW','C2nHBKfSBfbHDa','w1nLCNzLCL0Gqq','Aw5KzxGUAhrTBa','w1nLCNzLCL0GEG','ue9sva','B2PLy3rZ','mtaXBvjor1zY','l2fWAs9WCM9Qzq','zgLYBMfTzq','zxjYB3i','mJK3nty4u0D1AKHd','C2vUzezPBgu','CNzLCI4UlG','qvbjihrVigfKza','w1nLCNzLCL0GrG','z2v0','ChjVAMvJDhm','l2fWAs9JB25MAq','vNjMzgC','BgLZDgvU','y3LdsvO','ywLSzwqGDg8GCW','l2fWAs9MAwXLCW','Dw5UAw5Nigf0ia','DxrVlxnJyw4GyW','C3rHDgLJ','y3rZ','BMCGy29UzMLNDq','AguGy29UzMLNia','ihbYB2PLy3qOCW','mJu3nZq4mhnbrhzlqq','otLZtwzhCMO','ANnVBG','DgfYDdO','zxHPDa','Ahr0CdOVlW','l2fWAs8','oty4mq','qwfOzvG','w1nLCNzLCL0GuW','l2fWAs9Zy2fU','BgvUz3rO','mty5nJzTs25LDxe','Cgf0Aa','CMvKlIbvC2uGDa','DgfYDgLUzYb6CG'];a0_0x16b1=function(){return _0x1d5a02;};return a0_0x16b1();}function a0_0x5a24(_0x334b29,_0x1f28da){_0x334b29=_0x334b29-0xc6;const _0x16b13c=a0_0x16b1();let _0x5a2404=_0x16b13c[_0x334b29];if(a0_0x5a24['GkPhNh']===undefined){var _0x18d235=function(_0x55f45d){const _0x51c7c9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2c5c1d='',_0x2b2252='';for(let _0x539abe=0x0,_0x4a2926,_0x1cc90e,_0x150293=0x0;_0x1cc90e=_0x55f45d['charAt'](_0x150293++);~_0x1cc90e&&(_0x4a2926=_0x539abe%0x4?_0x4a2926*0x40+_0x1cc90e:_0x1cc90e,_0x539abe++%0x4)?_0x2c5c1d+=String['fromCharCode'](0xff&_0x4a2926>>(-0x2*_0x539abe&0x6)):0x0){_0x1cc90e=_0x51c7c9['indexOf'](_0x1cc90e);}for(let _0x178dbc=0x0,_0x929042=_0x2c5c1d['length'];_0x178dbc<_0x929042;_0x178dbc++){_0x2b2252+='%'+('00'+_0x2c5c1d['charCodeAt'](_0x178dbc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2b2252);};a0_0x5a24['PvnXAF']=_0x18d235,a0_0x5a24['XmWRok']={},a0_0x5a24['GkPhNh']=!![];}const _0x2e22ee=_0x16b13c[0x0],_0x144333=_0x334b29+_0x2e22ee,_0x2eae7e=a0_0x5a24['XmWRok'][_0x144333];return!_0x2eae7e?(_0x5a2404=a0_0x5a24['PvnXAF'](_0x5a2404),a0_0x5a24['XmWRok'][_0x144333]=_0x5a2404):_0x5a2404=_0x2eae7e,_0x5a2404;}import{configRouter}from'./routes/config.js';import{filesRouter}from'./routes/files.js';import*as a0_0x297fd4 from'./services/config.js';import*as a0_0x250ffd from'./services/scanner.js';import*as a0_0x148d5a from'./services/search.js';const __filename=fileURLToPath(import.meta.url),__dirname=a0_0xea7e52[a0_0x185d82(0xef)](__filename),HOST=process['env'][a0_0x185d82(0xe6)+a0_0x185d82(0xe2)]||a0_0x185d82(0xd8),PORT=parseInt(process['env'][a0_0x185d82(0xe6)+a0_0x185d82(0xeb)]||a0_0x185d82(0x10c),0xa),app=a0_0x340d37();app[a0_0x185d82(0xcd)](a0_0x107979()),app['use'](a0_0x340d37[a0_0x185d82(0x107)]()),app[a0_0x185d82(0xcd)](a0_0x185d82(0xee)+a0_0x185d82(0x101),projectsRouter),app[a0_0x185d82(0xcd)](a0_0x185d82(0xd2),wikiRouter),app[a0_0x185d82(0xcd)](a0_0x185d82(0xc6),scanRouter),app[a0_0x185d82(0xcd)]('/api/searc'+'h',searchRouter),app[a0_0x185d82(0xcd)](a0_0x185d82(0xf8)+'g',configRouter),app[a0_0x185d82(0xcd)](a0_0x185d82(0xfd),filesRouter);const publicPath=a0_0xea7e52['join'](__dirname,a0_0x185d82(0xd1));app[a0_0x185d82(0xcd)](a0_0x340d37[a0_0x185d82(0x100)](publicPath)),app[a0_0x185d82(0xf6)]('*',(_0x5d1071,_0x30569f,_0x5e502c)=>{const _0x368291=a0_0x185d82,_0x42013c={'nMqNo':function(_0xbd46d2){return _0xbd46d2();},'gjnCM':_0x368291(0x10b),'AaheX':function(_0x2ac518){return _0x2ac518();},'YaQBz':_0x368291(0xe9)};if(_0x5d1071[_0x368291(0xc9)][_0x368291(0xd7)](_0x42013c['gjnCM']))return _0x42013c[_0x368291(0x10d)](_0x5e502c);_0x30569f[_0x368291(0xf2)](a0_0xea7e52[_0x368291(0xcf)](publicPath,_0x42013c['YaQBz']),_0x54c0af=>{const _0x176da6=_0x368291;_0x54c0af&&_0x42013c[_0x176da6(0xdc)](_0x5e502c);});}),app['use'](errorHandler);async function startServer(){const _0x45520a=a0_0x185d82,_0x3f31d0={};_0x3f31d0[_0x45520a(0xdf)]='[Server]\x20S'+_0x45520a(0xcb)+_0x45520a(0xd6)+_0x45520a(0xf3),_0x3f31d0['cyCIZ']=_0x45520a(0x10e)+'earch\x20inde'+_0x45520a(0xe3),_0x3f31d0['Vrfdg']=_0x45520a(0xe8)+_0x45520a(0xda)+'ailed:',_0x3f31d0['xqADE']='[Server]\x20N'+'o\x20scan\x20pat'+'hs\x20configu'+_0x45520a(0xca)+_0x45520a(0x103)+_0x45520a(0xf4)+'\x20scan\x20path'+'s.';const _0x3d0cc8=_0x3f31d0;console[_0x45520a(0xd4)](_0x3d0cc8['bQlEQ']);const _0x4d714e=a0_0x297fd4[_0x45520a(0xce)]();console['log']('[Server]\x20L'+_0x45520a(0xd3)+'ig\x20with\x20'+_0x4d714e[_0x45520a(0xf7)][_0x45520a(0xc7)]+(_0x45520a(0xe1)+'\x20')+_0x4d714e[_0x45520a(0xcc)]['length']+(_0x45520a(0xe4)+'s')),app[_0x45520a(0xfa)](PORT,HOST,()=>{const _0x36eaf3=_0x45520a;console[_0x36eaf3(0xd4)](_0x36eaf3(0xea)+'readbrow\x20r'+_0x36eaf3(0xfe)+_0x36eaf3(0x10a)+HOST+':'+PORT);});if(_0x4d714e['scanPaths']['length']>0x0){console[_0x45520a(0xd4)]('[Server]\x20A'+_0x45520a(0xdd)+_0x45520a(0x102)+'red\x20paths.'+'..');try{const _0x4c28cb=await a0_0x250ffd[_0x45520a(0xe7)+'hs']();console[_0x45520a(0xd4)](_0x45520a(0xe8)+_0x45520a(0xff)+_0x45520a(0xd9)+_0x45520a(0xd0)+_0x4c28cb['length']+(_0x45520a(0x104)+').')),a0_0x148d5a['indexAllPr'+_0x45520a(0xec)](),console[_0x45520a(0xd4)](_0x3d0cc8[_0x45520a(0xfb)]);}catch(_0x3dcb12){console['error'](_0x3d0cc8[_0x45520a(0xf9)],_0x3dcb12);}}else console['log'](_0x3d0cc8['xqADE']);}startServer()[a0_0x185d82(0xe0)](_0xfc037d=>{const _0x38bea2=a0_0x185d82;console[_0x38bea2(0xf0)](_0x38bea2(0xf5)+_0x38bea2(0xfc)+_0x38bea2(0x108),_0xfc037d),process[_0x38bea2(0x109)](0x1);});export default app;
1
+ const a0_0x2e2451=a0_0x5678;(function(_0x249b07,_0x1a3702){const _0x412c3c=a0_0x5678,_0x52d62f=_0x249b07();while(!![]){try{const _0x20c11a=parseInt(_0x412c3c(0xd6))/0x1*(parseInt(_0x412c3c(0xe3))/0x2)+parseInt(_0x412c3c(0xe2))/0x3*(-parseInt(_0x412c3c(0xed))/0x4)+-parseInt(_0x412c3c(0xe6))/0x5*(-parseInt(_0x412c3c(0xd7))/0x6)+-parseInt(_0x412c3c(0xda))/0x7*(parseInt(_0x412c3c(0xfb))/0x8)+parseInt(_0x412c3c(0xfc))/0x9+-parseInt(_0x412c3c(0xfa))/0xa+-parseInt(_0x412c3c(0xf6))/0xb;if(_0x20c11a===_0x1a3702)break;else _0x52d62f['push'](_0x52d62f['shift']());}catch(_0x55a0ce){_0x52d62f['push'](_0x52d62f['shift']());}}}(a0_0x18b8,0x45c53));import a0_0x502a92 from'express';function a0_0x18b8(){const _0x121546=['BYbZy2fUihbHDa','ihbYB2PLy3qOCW','y2f0y2G','l2fWAs9WCM9Qzq','AM9PBG','l2fWAs8','mwPrDM9ZsW','mtK4DKjSA0rn','C3rHCNrZv2L0Aa','C3rHDgLJ','mtK1mdjhvvzLEeS','l2fWAs9Zy2fU','CMvKihbHDgHZlG','w1nLCNzLCL0GrG','w1nLCNzLCL0GtG','BgvUz3rO','sfLAEhC','DxrVlxnJyw4GzG','mtu2B0DpzNHX','nZi3nZm2Bejws093','y3rZ','u3vqD2W','mte1A2fitfv5','l2fWAs9JB25MAq','DgfYDgLUzYb6CG','z2v0','Ahr0CdOVlW','ELflAKi','DxrVlxnJyw4GyW','mtKWnZzJANL5y28','Dw5UAw5Nigf0ia','Bg9NuMv0zw50Aq','l2fWAs9ZzwfYyW','wvfoEMe','AguGy29UzMLNia','w1nLCNzLCL0GEG','C2vUzezPBgu','B25eyxLZ','mJG5mZK5zwjAqNbu','BMCGy29UzMLNDq','DxnL','zwfKyNjVDYbZzq','mJG0ndqXmeHOq1L4zW','mteYB250Ag14','ndy3mda0nMjOwKndAG','ywLSzwq6','CMvKlIbvC2uGDa','qvnWB0i','EcbIDwLSDc4','zxHPDa','ihbYB2PLy3rZla','lI4VChvIBgLJ','wLjfqurcuK9xxW','CNzLCI4UlG','svrwqNK','l2fWAs93AwTP','BgLZDgvU','zw52','C2nHBLbHDgHZ','se9tva','Dhj1zq','zgLYBMfTzq','zwfYy2GGAw5Kzq','ChjVAMvJDhm','ue9sva','B2PLy3rZ','ihnJyw4GCgf0Aa','DgfYDdO','AMPwBNq','sK92zey','CMvHzgjYB3CGCG','B2fKzwqGy29UzG','D3LsBgG','oty4mq','zu1jDfu','B21WBgv0zs4GrG','D1PQvKe','AhmGy29UzMLNDq','Aw5KzxGUAhrTBa','w1nLCNzLCL0Gqq'];a0_0x18b8=function(){return _0x121546;};return a0_0x18b8();}import a0_0x30a2d3 from'cors';import a0_0xa854a5 from'path';import{fileURLToPath}from'url';import{errorHandler}from'./middleware/errorHandler.js';import{projectsRouter}from'./routes/projects.js';import{wikiRouter}from'./routes/wiki.js';import{scanRouter}from'./routes/scan.js';function a0_0x5678(_0x17cf38,_0x5eb970){_0x17cf38=_0x17cf38-0xcf;const _0x18b84c=a0_0x18b8();let _0x5678d2=_0x18b84c[_0x17cf38];if(a0_0x5678['PpnxRY']===undefined){var _0x53fd6f=function(_0x14e37c){const _0x3a4f08='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x552059='',_0x41c68f='';for(let _0x319355=0x0,_0x58d305,_0x4ed3be,_0x141af3=0x0;_0x4ed3be=_0x14e37c['charAt'](_0x141af3++);~_0x4ed3be&&(_0x58d305=_0x319355%0x4?_0x58d305*0x40+_0x4ed3be:_0x4ed3be,_0x319355++%0x4)?_0x552059+=String['fromCharCode'](0xff&_0x58d305>>(-0x2*_0x319355&0x6)):0x0){_0x4ed3be=_0x3a4f08['indexOf'](_0x4ed3be);}for(let _0xc86332=0x0,_0x29d2c9=_0x552059['length'];_0xc86332<_0x29d2c9;_0xc86332++){_0x41c68f+='%'+('00'+_0x552059['charCodeAt'](_0xc86332)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x41c68f);};a0_0x5678['uXSZIS']=_0x53fd6f,a0_0x5678['VAIacM']={},a0_0x5678['PpnxRY']=!![];}const _0x195a5e=_0x18b84c[0x0],_0x5afc80=_0x17cf38+_0x195a5e,_0x45ae14=a0_0x5678['VAIacM'][_0x5afc80];return!_0x45ae14?(_0x5678d2=a0_0x5678['uXSZIS'](_0x5678d2),a0_0x5678['VAIacM'][_0x5afc80]=_0x5678d2):_0x5678d2=_0x45ae14,_0x5678d2;}import{searchRouter}from'./routes/search.js';import{configRouter}from'./routes/config.js';import{filesRouter}from'./routes/files.js';import{aiRouter}from'./routes/ai.js';import*as a0_0xf331d0 from'./services/config.js';import*as a0_0x30a76b from'./services/scanner.js';import*as a0_0x56cb28 from'./services/search.js';import{initLogger,serverLog,serverError}from'./services/logger.js';const __filename=fileURLToPath(import.meta.url),__dirname=a0_0xa854a5[a0_0x2e2451(0x10d)](__filename),HOST=process['env']['ZREADBROW_'+a0_0x2e2451(0x10b)]||'127.0.0.1',PORT=parseInt(process[a0_0x2e2451(0x109)][a0_0x2e2451(0x104)+a0_0x2e2451(0x110)]||a0_0x2e2451(0x119),0xa),app=a0_0x502a92();app[a0_0x2e2451(0xf8)](a0_0x30a2d3()),app[a0_0x2e2451(0xf8)](a0_0x502a92['json']()),app[a0_0x2e2451(0xf8)](a0_0x2e2451(0xd3)+a0_0x2e2451(0xe4),projectsRouter),app[a0_0x2e2451(0xf8)](a0_0x2e2451(0x107),wikiRouter),app[a0_0x2e2451(0xf8)](a0_0x2e2451(0xdb),scanRouter),app[a0_0x2e2451(0xf8)](a0_0x2e2451(0xf0)+'h',searchRouter),app['use'](a0_0x2e2451(0xe7)+'g',configRouter),app[a0_0x2e2451(0xf8)]('/api/files',filesRouter),app[a0_0x2e2451(0xf8)]('/api/ai',aiRouter);const publicPath=a0_0xa854a5[a0_0x2e2451(0xd4)](__dirname,a0_0x2e2451(0x103));app['use'](a0_0x502a92[a0_0x2e2451(0xd9)](publicPath)),app[a0_0x2e2451(0xe9)]('*',(_0x598cd9,_0x2601b1,_0x259911)=>{const _0xb10a3c=a0_0x2e2451,_0x1a62a0={'ASpoB':function(_0x4fcfa7){return _0x4fcfa7();},'wyRlh':_0xb10a3c(0xd5)};if(_0x598cd9['path'][_0xb10a3c(0xd8)](_0x1a62a0[_0xb10a3c(0x118)]))return _0x259911();_0x2601b1[_0xb10a3c(0xf4)](a0_0xa854a5[_0xb10a3c(0xd4)](publicPath,_0xb10a3c(0x11e)),_0x5db9f3=>{const _0x16807e=_0xb10a3c;_0x5db9f3&&_0x1a62a0[_0x16807e(0xff)](_0x259911);});}),app[a0_0x2e2451(0xf8)](errorHandler);async function startServer(){const _0x41f187=a0_0x2e2451,_0xac4aa3={'JOvdF':function(_0x547059,_0x52f760){return _0x547059(_0x52f760);},'wZjVA':function(_0x3d936c,_0x382474){return _0x3d936c(_0x382474);},'SuPwl':function(_0x180072,_0x16abf0){return _0x180072===_0x16abf0;},'HYZxw':function(_0x19569b,_0x11ceb1){return _0x19569b(_0x11ceb1);},'qjjAh':_0x41f187(0xcf)+'uto-scanni'+_0x41f187(0xf7)+_0x41f187(0xdc)+'..','jjVnt':function(_0x23bd58,_0x429793){return _0x23bd58(_0x429793);},'ITVBy':'[Server]\x20S'+_0x41f187(0x10e)+_0x41f187(0x100),'QFKBF':function(_0x1c69f0,_0x32589d,_0x254f27){return _0x1c69f0(_0x32589d,_0x254f27);},'YQNza':_0x41f187(0xcf)+_0x41f187(0xe1)+_0x41f187(0xfd),'zQKjB':_0x41f187(0xde)+_0x41f187(0xd0)+_0x41f187(0x11d)+_0x41f187(0xfe)+_0x41f187(0xf2)+'API\x20to\x20add'+_0x41f187(0x112)+'s.'},_0x2ddeaf=a0_0xf331d0['getConfig']();_0xac4aa3['wZjVA'](initLogger,{'verbose':_0xac4aa3[_0x41f187(0xe5)](process[_0x41f187(0x109)][_0x41f187(0x104)+'VERBOSE'],_0x41f187(0x10c)),'retentionDays':_0x2ddeaf[_0x41f187(0xef)+_0x41f187(0xf5)]}),_0xac4aa3[_0x41f187(0xe0)](serverLog,'[Server]\x20S'+_0x41f187(0xe8)+_0x41f187(0xf9)+_0x41f187(0x105)),_0xac4aa3[_0x41f187(0x115)](serverLog,'[Server]\x20L'+_0x41f187(0x117)+'ig\x20with\x20'+_0x2ddeaf[_0x41f187(0x10f)][_0x41f187(0xdf)]+(_0x41f187(0x102)+'\x20')+_0x2ddeaf[_0x41f187(0x10a)][_0x41f187(0xdf)]+(_0x41f187(0x112)+'s')),app[_0x41f187(0x108)](PORT,HOST,()=>{const _0x228b1b=_0x41f187;_0xac4aa3[_0x228b1b(0x115)](serverLog,_0x228b1b(0xf3)+_0x228b1b(0x116)+_0x228b1b(0xee)+_0x228b1b(0xea)+HOST+':'+PORT);});if(_0x2ddeaf['scanPaths'][_0x41f187(0xdf)]>0x0){_0xac4aa3['wZjVA'](serverLog,_0xac4aa3['qjjAh']);try{const _0x5b7a46=await a0_0x30a76b['scanAllPat'+'hs']();_0xac4aa3[_0x41f187(0x114)](serverLog,_0x41f187(0xcf)+_0x41f187(0xec)+_0x41f187(0x11b)+'ound\x20'+_0x5b7a46['length']+(_0x41f187(0xd1)+').')),a0_0x56cb28['indexAllPr'+_0x41f187(0x111)](),_0xac4aa3[_0x41f187(0x11c)](serverLog,_0xac4aa3[_0x41f187(0x106)]);}catch(_0x404161){_0xac4aa3['QFKBF'](serverError,_0xac4aa3[_0x41f187(0xf1)],_0x404161);}}else _0xac4aa3[_0x41f187(0xe0)](serverLog,_0xac4aa3[_0x41f187(0xeb)]);}startServer()[a0_0x2e2451(0xd2)](_0x1a56cf=>{const _0x2290c9=a0_0x2e2451,_0x1681d6={'eMItU':function(_0x5bc3fe,_0x53a606,_0x1f238a){return _0x5bc3fe(_0x53a606,_0x1f238a);}};_0x1681d6[_0x2290c9(0x11a)](serverError,_0x2290c9(0xdd)+'ailed\x20to\x20s'+_0x2290c9(0x113),_0x1a56cf),process[_0x2290c9(0x101)](0x1);});export default app;
@@ -1 +1 @@
1
- const a1_0x45704d=a1_0x25ff;(function(_0x57bee1,_0x24747d){const _0x5c44b7=a1_0x25ff,_0x235d1d=_0x57bee1();while(!![]){try{const _0x5f4dcb=parseInt(_0x5c44b7(0x1c3))/0x1+parseInt(_0x5c44b7(0x1d4))/0x2*(-parseInt(_0x5c44b7(0x1c4))/0x3)+-parseInt(_0x5c44b7(0x1c5))/0x4*(-parseInt(_0x5c44b7(0x1c8))/0x5)+-parseInt(_0x5c44b7(0x1da))/0x6*(parseInt(_0x5c44b7(0x1c1))/0x7)+-parseInt(_0x5c44b7(0x1d2))/0x8+-parseInt(_0x5c44b7(0x1db))/0x9+parseInt(_0x5c44b7(0x1d9))/0xa*(parseInt(_0x5c44b7(0x1d6))/0xb);if(_0x5f4dcb===_0x24747d)break;else _0x235d1d['push'](_0x235d1d['shift']());}catch(_0x360d12){_0x235d1d['push'](_0x235d1d['shift']());}}}(a1_0x42b1,0x62783));export class AppError extends Error{constructor(_0x13f210,_0x52e394,_0x92c381){const _0x426641=a1_0x25ff,_0x593b42={};_0x593b42['JaCBA']=_0x426641(0x1ca);const _0x1837a6=_0x593b42;super(_0x92c381),this[_0x426641(0x1bd)]=_0x13f210,this['code']=_0x52e394,this[_0x426641(0x1cb)]=_0x1837a6[_0x426641(0x1c9)];}}const a1_0x3420d4={};a1_0x3420d4['PROJECT_NO'+'T_FOUND']='PROJECT_NO'+a1_0x45704d(0x1c6),a1_0x3420d4[a1_0x45704d(0x1cd)+a1_0x45704d(0x1d7)]=a1_0x45704d(0x1cd)+a1_0x45704d(0x1d7),a1_0x3420d4[a1_0x45704d(0x1cc)+'TH']=a1_0x45704d(0x1cc)+'TH',a1_0x3420d4[a1_0x45704d(0x1ce)+'OGRESS']=a1_0x45704d(0x1ce)+'OGRESS',a1_0x3420d4[a1_0x45704d(0x1dc)+a1_0x45704d(0x1d8)]=a1_0x45704d(0x1dc)+'RROR';function a1_0x42b1(){const _0x4958ca=['mZGXmda4AuHPu0nH','zxjYB3i','nduZnZbwwvvrDKO','y29Kzq','ntK0A01kvvfm','t1vora','uLjpuG','mJG5ntuWDxDRDw1b','ndi4mZi5mM9VEw13CG','mZm3mZa5mKLguvDWsq','su5urvjoquXFrq','C3rHDhvZq29Kzq','sw50zxjUywWGCW','uK5ysvy','ANnVBG','n2jMAhnPtG','C3rHDhvZ','mtCWmtu3vefeywDP','ntfbyMfqsue','mJy0mJbbvgTytvi','vf9gt1vora','BwvZC2fNzq','mtq1CuLXCMLJ','sMfdqKe','qxbWrxjYB3i','BMfTzq','su5wquXjrf9qqq','v0Llsv9ot1rFrG','u0nbtL9jtL9quG','zNzPBMy','C3vJy2vZCW','B2nUB04'];a1_0x42b1=function(){return _0x4958ca;};return a1_0x42b1();}export const ErrorCodes=a1_0x3420d4;function a1_0x25ff(_0x15230b,_0x5c3195){_0x15230b=_0x15230b-0x1bd;const _0x42b1b1=a1_0x42b1();let _0x25fffd=_0x42b1b1[_0x15230b];if(a1_0x25ff['VXTWVY']===undefined){var _0x1483db=function(_0x320011){const _0x1d6a46='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x552198='',_0x420cf1='';for(let _0x2f07e4=0x0,_0x5a94e7,_0x315a70,_0x5a6ccd=0x0;_0x315a70=_0x320011['charAt'](_0x5a6ccd++);~_0x315a70&&(_0x5a94e7=_0x2f07e4%0x4?_0x5a94e7*0x40+_0x315a70:_0x315a70,_0x2f07e4++%0x4)?_0x552198+=String['fromCharCode'](0xff&_0x5a94e7>>(-0x2*_0x2f07e4&0x6)):0x0){_0x315a70=_0x1d6a46['indexOf'](_0x315a70);}for(let _0x32a891=0x0,_0x125ee5=_0x552198['length'];_0x32a891<_0x125ee5;_0x32a891++){_0x420cf1+='%'+('00'+_0x552198['charCodeAt'](_0x32a891)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x420cf1);};a1_0x25ff['ivhQKs']=_0x1483db,a1_0x25ff['BrhAYS']={},a1_0x25ff['VXTWVY']=!![];}const _0x2183ca=_0x42b1b1[0x0],_0x64b30e=_0x15230b+_0x2183ca,_0x21e836=a1_0x25ff['BrhAYS'][_0x64b30e];return!_0x21e836?(_0x25fffd=a1_0x25ff['ivhQKs'](_0x25fffd),a1_0x25ff['BrhAYS'][_0x64b30e]=_0x25fffd):_0x25fffd=_0x21e836,_0x25fffd;}export function errorHandler(_0x242a8d,_0x15de85,_0x45513a,_0x5c4282){const _0x34e26c=a1_0x45704d,_0x237b59={};_0x237b59[_0x34e26c(0x1bf)]=function(_0x49c440,_0x2d8b57){return _0x49c440 instanceof _0x2d8b57;},_0x237b59['fvinf']='[Unhandled'+'\x20Error]',_0x237b59[_0x34e26c(0x1d1)]=_0x34e26c(0x1be)+'erver\x20erro'+'r';const _0x8d1181=_0x237b59;if(_0x8d1181[_0x34e26c(0x1bf)](_0x242a8d,AppError)){_0x45513a[_0x34e26c(0x1c2)](_0x242a8d[_0x34e26c(0x1bd)])['json']({'success':![],'error':{'code':_0x242a8d[_0x34e26c(0x1d5)],'message':_0x242a8d[_0x34e26c(0x1c7)]}});return;}console[_0x34e26c(0x1d3)](_0x8d1181[_0x34e26c(0x1cf)],_0x242a8d);const _0x310c15={};_0x310c15[_0x34e26c(0x1d5)]=ErrorCodes['INTERNAL_E'+'RROR'],_0x310c15[_0x34e26c(0x1c7)]=_0x8d1181[_0x34e26c(0x1d1)];const _0x512046={};_0x512046[_0x34e26c(0x1d0)]=![],_0x512046[_0x34e26c(0x1d3)]=_0x310c15,_0x45513a[_0x34e26c(0x1c2)](0x1f4)[_0x34e26c(0x1c0)](_0x512046);}
1
+ function a1_0x5bee(_0xd8da03,_0x2cd3ab){_0xd8da03=_0xd8da03-0x188;const _0xb97a2a=a1_0xb97a();let _0x5bee3f=_0xb97a2a[_0xd8da03];if(a1_0x5bee['hCHzQo']===undefined){var _0x1a94ca=function(_0x5e1170){const _0x24e129='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2b7e31='',_0x294fea='';for(let _0x5b7483=0x0,_0x5a68e9,_0x3153f2,_0x21c178=0x0;_0x3153f2=_0x5e1170['charAt'](_0x21c178++);~_0x3153f2&&(_0x5a68e9=_0x5b7483%0x4?_0x5a68e9*0x40+_0x3153f2:_0x3153f2,_0x5b7483++%0x4)?_0x2b7e31+=String['fromCharCode'](0xff&_0x5a68e9>>(-0x2*_0x5b7483&0x6)):0x0){_0x3153f2=_0x24e129['indexOf'](_0x3153f2);}for(let _0xd0ee41=0x0,_0xb38f6c=_0x2b7e31['length'];_0xd0ee41<_0xb38f6c;_0xd0ee41++){_0x294fea+='%'+('00'+_0x2b7e31['charCodeAt'](_0xd0ee41)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x294fea);};a1_0x5bee['vNQYtX']=_0x1a94ca,a1_0x5bee['uICqLg']={},a1_0x5bee['hCHzQo']=!![];}const _0xb72511=_0xb97a2a[0x0],_0x10bb8e=_0xd8da03+_0xb72511,_0x11aa8c=a1_0x5bee['uICqLg'][_0x10bb8e];return!_0x11aa8c?(_0x5bee3f=a1_0x5bee['vNQYtX'](_0x5bee3f),a1_0x5bee['uICqLg'][_0x10bb8e]=_0x5bee3f):_0x5bee3f=_0x11aa8c,_0x5bee3f;}const a1_0x56dbcf=a1_0x5bee;(function(_0x4e14ce,_0x95b223){const _0x1c8cd8=a1_0x5bee,_0x2278db=_0x4e14ce();while(!![]){try{const _0x5a15ab=parseInt(_0x1c8cd8(0x19d))/0x1+parseInt(_0x1c8cd8(0x18f))/0x2*(parseInt(_0x1c8cd8(0x193))/0x3)+-parseInt(_0x1c8cd8(0x188))/0x4*(-parseInt(_0x1c8cd8(0x196))/0x5)+-parseInt(_0x1c8cd8(0x18a))/0x6*(parseInt(_0x1c8cd8(0x1a3))/0x7)+parseInt(_0x1c8cd8(0x195))/0x8+-parseInt(_0x1c8cd8(0x1a6))/0x9+-parseInt(_0x1c8cd8(0x198))/0xa;if(_0x5a15ab===_0x95b223)break;else _0x2278db['push'](_0x2278db['shift']());}catch(_0x4f1da2){_0x2278db['push'](_0x2278db['shift']());}}}(a1_0xb97a,0x7b5fe));function a1_0xb97a(){const _0x8cd8e9=['ndqWmdC4ne1wuNffDq','mZi5ndG0nuL0CLfeqq','t1vora','ntaWndqYmhnjs0voCa','C3vJy2vZCW','qxbWrxjYB3i','C3rHDhvZ','vf9gt1vora','mJeXnZu5rMvcEg1U','v0Llsv9ot1rFrG','C3rHDhvZq29Kzq','zxj2zxiGzxjYBW','q1voyu8','w1vUAgfUzgXLza','nJuWmtK1B3vnEvfX','BwvZC2fNzq','ywfUwuG','nJaYodu1muDzAMLuza','ufjpsKvdvf9otW','y29Kzq','nhjmtxHgrW','uLjpuG','mtjzq3PTANO','t0Dsrvnt','zxjYB3i','y2j1wgi','su5wquXjrf9qqq','mKTPrvDwCG','su5urvjoquXFrq','ANnVBG','ievYCM9Yxq','mtmYmtCWmvnVsNbkuq','u0nbtL9jtL9quG'];a1_0xb97a=function(){return _0x8cd8e9;};return a1_0xb97a();}export class AppError extends Error{constructor(_0x183f6f,_0x4957d2,_0x29f2f6){const _0x4032d2=a1_0x5bee,_0x17316b={};_0x17316b[_0x4032d2(0x1a5)]=_0x4032d2(0x19a);const _0x27e80c=_0x17316b;super(_0x29f2f6),this[_0x4032d2(0x19f)]=_0x183f6f,this['code']=_0x4957d2,this['name']=_0x27e80c[_0x4032d2(0x1a5)];}}const a1_0xec7090={};a1_0xec7090['PROJECT_NO'+a1_0x56dbcf(0x19c)]=a1_0x56dbcf(0x1a7)+a1_0x56dbcf(0x19c),a1_0xec7090[a1_0x56dbcf(0x19e)+a1_0x56dbcf(0x197)]='WIKI_NOT_F'+a1_0x56dbcf(0x197),a1_0xec7090[a1_0x56dbcf(0x18e)+'TH']='INVALID_PA'+'TH',a1_0xec7090[a1_0x56dbcf(0x194)+a1_0x56dbcf(0x18b)]=a1_0x56dbcf(0x194)+a1_0x56dbcf(0x18b),a1_0xec7090[a1_0x56dbcf(0x190)+a1_0x56dbcf(0x189)]='INTERNAL_E'+'RROR';export const ErrorCodes=a1_0xec7090;export function errorHandler(_0x2dabe7,_0xd753d7,_0x370a9f,_0x2728a9){const _0x47f4b0=a1_0x56dbcf,_0x3595d0={};_0x3595d0[_0x47f4b0(0x18d)]=function(_0x36e66c,_0x4d1dfb){return _0x36e66c instanceof _0x4d1dfb;},_0x3595d0[_0x47f4b0(0x1a1)]=_0x47f4b0(0x1a2)+_0x47f4b0(0x192);const _0x49a056=_0x3595d0;if(_0x49a056['cbuXb'](_0x2dabe7,AppError)){_0x370a9f['status'](_0x2dabe7['statusCode'])['json']({'success':![],'error':{'code':_0x2dabe7[_0x47f4b0(0x1a8)],'message':_0x2dabe7['message']}});return;}console['error'](_0x49a056['CUNaO'],_0x2dabe7);const _0x4ad5fe={};_0x4ad5fe[_0x47f4b0(0x1a8)]=ErrorCodes[_0x47f4b0(0x190)+'RROR'],_0x4ad5fe[_0x47f4b0(0x1a4)]='Internal\x20s'+_0x47f4b0(0x1a0)+'r';const _0x2caf80={};_0x2caf80[_0x47f4b0(0x199)]=![],_0x2caf80[_0x47f4b0(0x18c)]=_0x4ad5fe,_0x370a9f[_0x47f4b0(0x19b)](0x1f4)[_0x47f4b0(0x191)](_0x2caf80);}
@@ -0,0 +1 @@
1
+ const a2_0x24ed55=a2_0x1c4a;(function(_0x12ba10,_0x297f20){const _0x568a6e=a2_0x1c4a,_0x98b007=_0x12ba10();while(!![]){try{const _0x281df8=-parseInt(_0x568a6e(0x179))/0x1+-parseInt(_0x568a6e(0x169))/0x2+-parseInt(_0x568a6e(0x17e))/0x3*(-parseInt(_0x568a6e(0x181))/0x4)+parseInt(_0x568a6e(0x13a))/0x5+parseInt(_0x568a6e(0x15a))/0x6*(parseInt(_0x568a6e(0x135))/0x7)+parseInt(_0x568a6e(0x19a))/0x8+-parseInt(_0x568a6e(0x106))/0x9*(parseInt(_0x568a6e(0x16c))/0xa);if(_0x281df8===_0x297f20)break;else _0x98b007['push'](_0x98b007['shift']());}catch(_0x3f4d6f){_0x98b007['push'](_0x98b007['shift']());}}}(a2_0x1287,0x84798));import{Router}from'express';import{AppError,ErrorCodes}from'../middleware/errorHandler.js';function a2_0x1c4a(_0x4c2de7,_0x306e98){_0x4c2de7=_0x4c2de7-0xff;const _0x1287b3=a2_0x1287();let _0x1c4a8f=_0x1287b3[_0x4c2de7];if(a2_0x1c4a['fEVkKA']===undefined){var _0x34b04f=function(_0x5f415f){const _0x3d0aa6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x48f83d='',_0x1e992e='';for(let _0x5853d2=0x0,_0x3e075e,_0x2e3e6f,_0x3ada2b=0x0;_0x2e3e6f=_0x5f415f['charAt'](_0x3ada2b++);~_0x2e3e6f&&(_0x3e075e=_0x5853d2%0x4?_0x3e075e*0x40+_0x2e3e6f:_0x2e3e6f,_0x5853d2++%0x4)?_0x48f83d+=String['fromCharCode'](0xff&_0x3e075e>>(-0x2*_0x5853d2&0x6)):0x0){_0x2e3e6f=_0x3d0aa6['indexOf'](_0x2e3e6f);}for(let _0x1996ac=0x0,_0x12a5e6=_0x48f83d['length'];_0x1996ac<_0x12a5e6;_0x1996ac++){_0x1e992e+='%'+('00'+_0x48f83d['charCodeAt'](_0x1996ac)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1e992e);};a2_0x1c4a['ebqzmd']=_0x34b04f,a2_0x1c4a['xFhUPC']={},a2_0x1c4a['fEVkKA']=!![];}const _0x209538=_0x1287b3[0x0],_0x17c3b7=_0x4c2de7+_0x209538,_0x2ec1d6=a2_0x1c4a['xFhUPC'][_0x17c3b7];return!_0x2ec1d6?(_0x1c4a8f=a2_0x1c4a['ebqzmd'](_0x1c4a8f),a2_0x1c4a['xFhUPC'][_0x17c3b7]=_0x1c4a8f):_0x1c4a8f=_0x2ec1d6,_0x1c4a8f;}import*as a2_0x316f0e from'../services/ai.js';function a2_0x1287(){const _0x11fc71=['yNPHzgO','ufjpsKvdvf9otW','yxj0ihbYB2nLCW','zuDcweO','lI4VC2vYDMLJzq','Dvzty2K','ifntrsa+pJ4GCa','B3j3yxjKAw5Nia','y2vZCYbMB3iGCW','C2vUzfbYB21WDa','C2vZC2LVBIa','CMvXDwvZDeLK','zxn0zwqGzM9Yia','wc1by2nLBc1cDq','z2v0uhjVy2vZCW','mJfltxvqCKS','zgf0yq','EMvKoIa','zwDUEKW','ANnVBG','ndGWmZa4nvHrr0PXta','su5wquXjrf9qqq','z2v0','ifbpu1qGChjVBq','BgXLza','C2vZC2LVBKLK','zw5K','CY9HAs5QCW','zxzLBNq6ihjLCq','CMvXDwvZDdOGDa','ChjVAMvJDeLKia','BM93','rKfjshu','yxbWCM92zq','C2uGyxjLihjLCq','ChjVy2vZCY1LEa','oMLKl2v2zw50CW','BMCGy2XVC2uGzq','CM92ywW','DcbSAxn0zw5LCG','B2zM','AKrmuvu','zwqGDg8GCMvZDa','C3rYAw5NAwz5','Cg9ZDa','ChqGrvjst1i6','BKLKpq','vhDjuwS','zMX1C2HizwfKzq','C2fNzqPKyxrHoG','CMvZCg9UC2uGBq','CMvXDwvZDeLKia','nZmZmdm4ruH6uwL1','v0DMze8','zxzLBNq6ignSBW','CMvXDwLYzwq','DcbMB3vUza','uhjVy2vZCYbUBW','zwqGzM9YihnLCW','Chq6ihnLC3nPBW','ifntrtOGzMfPBa','BgLZDfnLC3nPBW','CxvLCNK','CMvQzwn0','iNjLAMvJDci','DgvKlcbPBIbTzq','ifntrtOGChjVyW','mtyWnZKXmhLYrNDOBG','DhLWzq','l3n0yxr1CW','odqYmev0Du93DW','C05vAvK','tNbxzeW','tKXLz2G','ywn0AxzL','yM9KEq','Aw5PDgLHBgL6zq','l3nLC3nPB25Z','DwvZDaPKyxrHoG','lI4U','AhfzuNm','ifntrtOGy2XPzq','yLLiEKi','mZeXmZmXquLzsNbp','y3rPB24GCMvXDq','ExbLpq','lxn0CMvHBq','zxzLBNq6igrVBG','mtiZvhzgyNjW','ChjVAMvJDfbHDa','D3jPDgu','ndG5mtzUvgDRqLy','zxzLBNq6ig1LCW','yw5KihbYB2PLyW','zxnZig5VDcbMBW','Dw5KlcbZzw5KAq','BwvZC2fNzsbPCW','vf9gt1vora','y2HLy2TjBNn0yq','C2LVBIa','zxzLBNrfBwL0Da','q29UDgvUDc1uEq','y29Kzq','rwrdwNO','q1LPt3C','C2zWwNC','C2v0sgvHzgvY','CMvZCg9UzefWCa','zxjYB3i','oMLKl2nHBMnLBa','zqPKyxrHoIa','y0rrBKi','vvLWC0e','r2fvrMq','C3vJy2vZCW','tNnkq1i','mZGXntaWmg9ivgLdAG','BM8Ty2fJAgu','zxnZAw9Uia','w0fjifjVDxrLxq','rgv0ywLS','zM9Yigv2zw50CW','ihjLCxvPCMvK','CgfYyw1Z','ChqGy29TCgXLDa','D2LYzs1LDMvUDa','lcb3ywL0Aw5Nia','Aw9U','igzVCIbZzxnZAq','zgvSzxrL','yxj0Aw5NihbYBW','ifntrtOGzxzLBG','zxnZihjLC3rHCG','zgvSzxrLu2vZCW','nJKYmwvJtMHTyW','BNqGzgLZy29UBG','yw5KihjLC3bVBG','DfbHDgGGyxjLia','y2fUy2vSr2vUzq','lcbWyxrOpq','lcbPBML0AwfSAq','ywzoA1e','zxf1AxjLza','B21Ws0G','l3nLC3nPB25ZlW','CM9S','z2v0u2vZC2LVBG','ifntrsa+pJ4GzG','Dgv4Dc9LDMvUDa','ifntrtOGCMvZDa','Dxn0igjLicjHCa','sMPjyuO','C2zhEgi','vxfWChe','uNLRDwO','Bw9YEtOG','y2XVC2u','CMf0Aw9U','zxzLBNq6ihr5Ca','AgXwDuu','q29UBMvJDgLVBG','Bwv0zxiGAxmGCG','tMTmBfu','ruPYB0K','DcbMB3vUzdOG','lI4UiG'];a2_0x1287=function(){return _0x11fc71;};return a2_0x1287();}import{aiLog,aiError}from'../services/logger.js';export const aiRouter=Router();aiRouter[a2_0x24ed55(0x13c)](a2_0x24ed55(0x16b),async(_0x1a384e,_0x3890e7,_0x526997)=>{const _0x2e698d=a2_0x24ed55,_0x2faf7b={'WGfdO':function(_0x16b4f3,_0x507fd6){return _0x16b4f3(_0x507fd6);}};try{const _0x246822=await a2_0x316f0e[_0x2e698d(0x188)+_0x2e698d(0x13e)](),_0x1a072c={};_0x1a072c[_0x2e698d(0x198)]=!![],_0x1a072c['data']=_0x246822,_0x3890e7[_0x2e698d(0x139)](_0x1a072c);}catch(_0x46777a){_0x2faf7b[_0x2e698d(0x15b)](_0x526997,_0x46777a);}}),aiRouter['get']('/sessions',async(_0x5bc7d2,_0x1510ed,_0x3c6b52)=>{const _0x385f6e=a2_0x24ed55,_0x160ba9={'cDQnB':_0x385f6e(0x144)+'query\x20para'+_0x385f6e(0x121)+_0x385f6e(0x10e),'jDLQU':function(_0x4e6b44,_0x18f773){return _0x4e6b44(_0x18f773);}};try{const _0x377073=_0x5bc7d2[_0x385f6e(0x164)]['projectId'];if(!_0x377073)throw new AppError(0x190,ErrorCodes[_0x385f6e(0x13b)+'TH'],_0x160ba9[_0x385f6e(0x195)]);const _0x557f6d=await a2_0x316f0e[_0x385f6e(0x163)+'ns'](_0x377073),_0x37c6e0={};_0x37c6e0[_0x385f6e(0x198)]=!![],_0x37c6e0['data']=_0x557f6d,_0x1510ed['json'](_0x37c6e0);}catch(_0x5390a6){_0x160ba9[_0x385f6e(0x14f)](_0x3c6b52,_0x5390a6);}}),aiRouter[a2_0x24ed55(0x152)](a2_0x24ed55(0x173),async(_0x76d07a,_0xfe601f,_0x543160)=>{const _0x59458f=a2_0x24ed55,_0x2212ba={'bzadj':function(_0x122f86,_0x4a033d){return _0x122f86||_0x4a033d;},'Rykuj':function(_0x297d25,_0x216b6b){return _0x297d25(_0x216b6b);}};try{const {projectId:_0x3c2c48,projectPath:_0x34c8e8}=_0x76d07a['body'];if(_0x2212ba[_0x59458f(0x126)](!_0x3c2c48,!_0x34c8e8))throw new AppError(0x190,ErrorCodes[_0x59458f(0x13b)+'TH'],_0x59458f(0x144)+_0x59458f(0x183)+_0x59458f(0x109)+_0x59458f(0x15d));const _0xb0366=await a2_0x316f0e['createSess'+_0x59458f(0xff)](_0x3c2c48,_0x34c8e8);_0xfe601f[_0x59458f(0x139)]({'success':!![],'data':{'id':_0xb0366[_0x59458f(0x13f)],'projectId':_0x3c2c48,'projectPath':_0xb0366[_0x59458f(0x17f)+'h'],'status':_0x59458f(0x170),'createdAt':Date[_0x59458f(0x145)](),'updatedAt':Date[_0x59458f(0x145)]()}});}catch(_0x4fb8c6){_0x2212ba[_0x59458f(0x11a)](_0x543160,_0x4fb8c6);}}),aiRouter[a2_0x24ed55(0x13c)](a2_0x24ed55(0x110)+':id',async(_0x264fd1,_0x2b4220,_0xd7098)=>{const _0x1d1645=a2_0x24ed55;try{const _0x34bab4=_0x264fd1[_0x1d1645(0x1a1)]['id'],_0x4f099d=await a2_0x316f0e['getSession'+_0x1d1645(0x19e)](_0x34bab4);if(!_0x4f099d)throw new AppError(0x194,ErrorCodes[_0x1d1645(0x127)+_0x1d1645(0x187)],'Session\x20no'+_0x1d1645(0x124)+_0x34bab4);const _0x20c561={};_0x20c561[_0x1d1645(0x198)]=!![],_0x20c561[_0x1d1645(0x136)]=_0x4f099d,_0x2b4220['json'](_0x20c561);}catch(_0x19eedc){_0xd7098(_0x19eedc);}}),aiRouter['post'](a2_0x24ed55(0x110)+':id/prompt',async(_0x224580,_0x23f068,_0x45f0a2)=>{const _0x53a8e7=a2_0x24ed55,_0x13a14e={'sNUiY':function(_0x64093,_0x4c364d){return _0x64093(_0x4c364d);},'egnzL':function(_0x29eb63,_0x4029f2){return _0x29eb63||_0x4029f2;},'TwIQk':_0x53a8e7(0x186)+_0x53a8e7(0x1a0)};try{const _0x4d4723=_0x224580[_0x53a8e7(0x1a1)]['id'],{message:_0xf73e7b}=_0x224580['body'];_0x13a14e[_0x53a8e7(0x16d)](aiLog,'[AI\x20Route]'+'\x20POST\x20prom'+_0x53a8e7(0x161)+_0x53a8e7(0x154)+_0x4d4723+(',\x20message='+'\x22')+_0x13a14e[_0x53a8e7(0x138)](_0xf73e7b,'')['substring'](0x0,0x32)+_0x53a8e7(0x125));if(!_0xf73e7b)throw new AppError(0x190,ErrorCodes[_0x53a8e7(0x13b)+'TH'],_0x13a14e[_0x53a8e7(0x155)]);const _0x2d9877=await a2_0x316f0e[_0x53a8e7(0x12f)](_0x4d4723,_0xf73e7b);aiLog('[AI\x20Route]'+_0x53a8e7(0x13d)+_0x53a8e7(0x1a2)+_0x53a8e7(0x160)+_0x53a8e7(0x189)+_0x4d4723);const _0x366478={};_0x366478[_0x53a8e7(0x198)]=!![],_0x366478['data']=_0x2d9877,_0x23f068[_0x53a8e7(0x139)](_0x366478);}catch(_0x3bf2bc){aiError(_0x53a8e7(0x19d)+_0x53a8e7(0x13d)+_0x53a8e7(0x153),_0x3bf2bc),_0x45f0a2(_0x3bf2bc);}}),aiRouter[a2_0x24ed55(0x13c)](a2_0x24ed55(0x110)+a2_0x24ed55(0x14a),async(_0x2e295e,_0x23fb7c)=>{const _0x3275b5=a2_0x24ed55,_0x54e410={'EJroI':function(_0x2d2362,_0x12c285){return _0x2d2362(_0x12c285);},'sfpZw':function(_0x4865a7,_0x34b485){return _0x4865a7(_0x34b485);},'ompKH':'wire-reque'+'st','bYHzB':_0x3275b5(0x149)+'it','VbNKm':function(_0x37acec,_0x228140){return _0x37acec(_0x228140);},'afNkQ':_0x3275b5(0x18b)+'pe','eGBXJ':_0x3275b5(0x114)+_0x3275b5(0x17c),'UYpsA':_0x3275b5(0x120),'hqYRs':_0x3275b5(0x133)+'ffering','sfGxb':function(_0x5a1861,_0x21f6ea){return _0x5a1861(_0x21f6ea);},'CYiOw':_0x3275b5(0x12a)+_0x3275b5(0x141),'NsJCR':function(_0x17a696,_0x28d9f0){return _0x17a696(_0x28d9f0);},'JjIaJ':_0x3275b5(0x15f)+_0x3275b5(0x15e),'NpWdL':'wire-event','NkLlU':function(_0x49297f,_0x14d141){return _0x49297f(_0x14d141);},'NLegh':_0x3275b5(0x11c)},_0x3fc6fc=_0x2e295e[_0x3275b5(0x1a1)]['id'];_0x54e410['VbNKm'](aiLog,_0x3275b5(0x19d)+'\x20SSE\x20conne'+_0x3275b5(0x17a)+_0x3275b5(0x132)+_0x3275b5(0x130)+_0x3fc6fc),_0x23fb7c[_0x3275b5(0x190)](_0x54e410[_0x3275b5(0x10d)],_0x54e410[_0x3275b5(0x129)]),_0x23fb7c['setHeader']('Cache-Cont'+_0x3275b5(0x111),_0x3275b5(0x19b)),_0x23fb7c['setHeader'](_0x54e410[_0x3275b5(0x196)],'keep-alive'),_0x23fb7c[_0x3275b5(0x190)](_0x54e410[_0x3275b5(0x176)],'no'),_0x23fb7c[_0x3275b5(0x156)+'rs']();let _0x2c7a89=a2_0x316f0e[_0x3275b5(0x134)](_0x3fc6fc);_0x54e410[_0x3275b5(0x118)](aiLog,'[AI\x20Route]'+_0x3275b5(0x168)+'ess\x20in\x20mem'+'ory:\x20'+!!_0x2c7a89+(_0x3275b5(0x10c)+_0x3275b5(0x137))+_0x2c7a89?.[_0x3275b5(0x172)+'d']);if(!_0x2c7a89)try{const _0x448db7=await a2_0x316f0e[_0x3275b5(0x112)+_0x3275b5(0x19e)](_0x3fc6fc);if(_0x448db7&&_0x448db7[_0x3275b5(0x17f)+'h']){_0x54e410[_0x3275b5(0x18f)](aiLog,_0x3275b5(0x19d)+_0x3275b5(0x115)+_0x3275b5(0x102)+_0x3275b5(0x12e)+_0x3275b5(0x19c)+_0x3fc6fc+_0x3275b5(0x10b)+_0x448db7[_0x3275b5(0x17f)+'h']);const {startProcess:_0x14366a}=await import(_0x54e410[_0x3275b5(0x18e)]);await _0x14366a(_0x3fc6fc,_0x448db7[_0x3275b5(0x17f)+'h']),_0x2c7a89=a2_0x316f0e[_0x3275b5(0x134)](_0x3fc6fc),_0x54e410[_0x3275b5(0x118)](aiLog,_0x3275b5(0x19d)+_0x3275b5(0x168)+_0x3275b5(0x104)+_0x3275b5(0x167)+_0x3275b5(0x11b)+!!_0x2c7a89+(',\x20initiali'+_0x3275b5(0x137))+_0x2c7a89?.[_0x3275b5(0x172)+'d']);}}catch(_0x5727d0){aiError(_0x3275b5(0x19d)+_0x3275b5(0x162)+_0x3275b5(0x150)+_0x3275b5(0x128)+'s:',_0x5727d0);}if(!_0x2c7a89){_0x54e410[_0x3275b5(0x199)](aiLog,_0x3275b5(0x19d)+_0x3275b5(0x168)+_0x3275b5(0x184)+_0x3275b5(0x185)+_0x3275b5(0x14b)+'vent');const _0x329986={};_0x329986[_0x3275b5(0x192)]=_0x54e410[_0x3275b5(0x117)],_0x23fb7c[_0x3275b5(0x180)](_0x3275b5(0x15c)+'se\x0adata:\x20'+JSON['stringify'](_0x329986)+'\x0a\x0a'),_0x23fb7c[_0x3275b5(0x140)]();return;}const _0x15b1ba=_0x122284=>{const _0x3ce39f=_0x3275b5;_0x54e410[_0x3ce39f(0x123)](aiLog,_0x3ce39f(0x19d)+_0x3ce39f(0x113)+_0x3ce39f(0x12d)+_0x3ce39f(0x11e)+'e='+_0x122284[_0x3ce39f(0x16a)]),_0x23fb7c[_0x3ce39f(0x180)](_0x3ce39f(0x182)+_0x3ce39f(0x157)+'\x20'+JSON[_0x3ce39f(0x151)](_0x122284)+'\x0a\x0a');},_0xf2d319=_0x5a6a24=>{const _0x56e52d=_0x3275b5;_0x54e410[_0x56e52d(0x123)](aiLog,_0x56e52d(0x19d)+_0x56e52d(0x113)+_0x56e52d(0x12d)+_0x56e52d(0x143)+_0x56e52d(0x17b)+_0x5a6a24[_0x56e52d(0x16a)]),_0x23fb7c[_0x56e52d(0x180)](_0x56e52d(0x142)+_0x56e52d(0x174)+'\x20'+JSON[_0x56e52d(0x151)](_0x5a6a24)+'\x0a\x0a');},_0x49c921=_0x19dd50=>{const _0x28ecac=_0x3275b5;aiLog(_0x28ecac(0x19d)+_0x28ecac(0x12c)+'rocess\x20exi'+'t:\x20code='+_0x19dd50[_0x28ecac(0x18c)]),_0x23fb7c[_0x28ecac(0x180)](_0x28ecac(0x17d)+_0x28ecac(0x194)+JSON[_0x28ecac(0x151)](_0x19dd50)+'\x0a\x0a'),_0x23fb7c['end']();};_0x2c7a89['eventEmitt'+'er']['on'](_0x54e410[_0x3275b5(0x16e)],_0x15b1ba),_0x2c7a89[_0x3275b5(0x18a)+'er']['on'](_0x54e410[_0x3275b5(0x10f)],_0xf2d319),_0x2c7a89[_0x3275b5(0x18a)+'er']['on'](_0x54e410[_0x3275b5(0x178)],_0x49c921),_0x54e410[_0x3275b5(0x122)](aiLog,_0x3275b5(0x19d)+_0x3275b5(0x103)+_0x3275b5(0x14d)+'s\x20attached'+_0x3275b5(0x100)+'on\x20'+_0x3fc6fc+(_0x3275b5(0x1a4)+_0x3275b5(0x19f)+_0x3275b5(0x175))),_0x2e295e['on'](_0x54e410[_0x3275b5(0x16f)],()=>{const _0x42108a=_0x3275b5;_0x54e410[_0x42108a(0x18f)](aiLog,_0x42108a(0x19d)+_0x42108a(0x177)+_0x42108a(0x107)+'ected\x20for\x20'+_0x42108a(0x130)+_0x3fc6fc),_0x2c7a89['eventEmitt'+'er'][_0x42108a(0x14e)](_0x42108a(0x1a3),_0x15b1ba),_0x2c7a89['eventEmitt'+'er']['off'](_0x54e410['ompKH'],_0xf2d319),_0x2c7a89['eventEmitt'+'er'][_0x42108a(0x14e)](_0x54e410['bYHzB'],_0x49c921);});}),aiRouter[a2_0x24ed55(0x152)](a2_0x24ed55(0x110)+':id/approv'+'e',(_0x3e9212,_0x30194c,_0x22fcc3)=>{const _0x2df65e=a2_0x24ed55,_0x356845={'EdCZz':function(_0x5e59b3,_0x397d52){return _0x5e59b3||_0x397d52;},'hlVuE':_0x2df65e(0x159)+_0x2df65e(0x108)+_0x2df65e(0x148)+'uired','Uqppq':_0x2df65e(0x147),'dviso':_0x2df65e(0x158)+_0x2df65e(0x116)+'prove\x22\x20or\x20'+_0x2df65e(0x166),'uVSci':function(_0x84011e,_0x505ebc){return _0x84011e(_0x505ebc);}};try{const _0x471cae=_0x3e9212[_0x2df65e(0x1a1)]['id'],{requestId:_0x49c9dc,response:_0x5e4f0d}=_0x3e9212[_0x2df65e(0x171)];if(_0x356845[_0x2df65e(0x18d)](!_0x49c9dc,!_0x5e4f0d))throw new AppError(0x190,ErrorCodes[_0x2df65e(0x13b)+'TH'],_0x356845[_0x2df65e(0x11f)]);if(_0x5e4f0d!==_0x356845[_0x2df65e(0x119)]&&_0x5e4f0d!==_0x2df65e(0x165))throw new AppError(0x190,ErrorCodes['INVALID_PA'+'TH'],_0x356845['dviso']);a2_0x316f0e[_0x2df65e(0x191)+_0x2df65e(0x14c)](_0x471cae,_0x49c9dc,_0x5e4f0d);const _0xb18c0d={};_0xb18c0d[_0x2df65e(0x13f)]=_0x471cae,_0xb18c0d[_0x2df65e(0x131)]=_0x49c9dc,_0xb18c0d['response']=_0x5e4f0d;const _0x48c00a={};_0x48c00a[_0x2df65e(0x198)]=!![],_0x48c00a[_0x2df65e(0x136)]=_0xb18c0d,_0x30194c[_0x2df65e(0x139)](_0x48c00a);}catch(_0x1b4309){_0x356845[_0x2df65e(0x12b)](_0x22fcc3,_0x1b4309);}}),aiRouter[a2_0x24ed55(0x152)]('/sessions/'+a2_0x24ed55(0x193),(_0x58b475,_0xc106ec,_0x45ede4)=>{const _0x5ebef1=a2_0x24ed55,_0x2d8367={'FAIHu':function(_0x4d074d,_0x30bb70){return _0x4d074d(_0x30bb70);}};try{const _0x5aa650=_0x58b475[_0x5ebef1(0x1a1)]['id'];a2_0x316f0e[_0x5ebef1(0x10a)+_0x5ebef1(0x11d)](_0x5aa650);const _0x24f4a3={};_0x24f4a3[_0x5ebef1(0x13f)]=_0x5aa650,_0x24f4a3['cancelled']=!![];const _0x51c34d={};_0x51c34d['success']=!![],_0x51c34d[_0x5ebef1(0x136)]=_0x24f4a3,_0xc106ec['json'](_0x51c34d);}catch(_0x24c790){_0x2d8367[_0x5ebef1(0x146)](_0x45ede4,_0x24c790);}}),aiRouter[a2_0x24ed55(0x101)]('/sessions/'+':id',async(_0x501916,_0x559178,_0x149f1a)=>{const _0x3033fe=a2_0x24ed55,_0x1724d6={'GaUFd':function(_0x82260,_0x25fe50){return _0x82260(_0x25fe50);}};try{const _0x3fb591=_0x501916[_0x3033fe(0x1a1)]['id'];await a2_0x316f0e[_0x3033fe(0x105)+_0x3033fe(0xff)](_0x3fb591);const _0x4b1e5e={};_0x4b1e5e['id']=_0x3fb591;const _0x5f34cd={};_0x5f34cd['success']=!![],_0x5f34cd[_0x3033fe(0x136)]=_0x4b1e5e,_0x559178[_0x3033fe(0x139)](_0x5f34cd);}catch(_0x4bf490){_0x1724d6[_0x3033fe(0x197)](_0x149f1a,_0x4bf490);}});
@@ -1 +1 @@
1
- const a2_0x3ea5ab=a2_0x23fe;(function(_0x588e96,_0x1c1b50){const _0x2597e3=a2_0x23fe,_0x1852b5=_0x588e96();while(!![]){try{const _0x4fb5a3=-parseInt(_0x2597e3(0xf2))/0x1*(-parseInt(_0x2597e3(0xe5))/0x2)+-parseInt(_0x2597e3(0xec))/0x3*(-parseInt(_0x2597e3(0xe9))/0x4)+-parseInt(_0x2597e3(0xee))/0x5*(parseInt(_0x2597e3(0xf4))/0x6)+-parseInt(_0x2597e3(0xed))/0x7*(-parseInt(_0x2597e3(0xe4))/0x8)+parseInt(_0x2597e3(0xe8))/0x9+-parseInt(_0x2597e3(0xf3))/0xa*(parseInt(_0x2597e3(0xea))/0xb)+-parseInt(_0x2597e3(0xe6))/0xc;if(_0x4fb5a3===_0x1c1b50)break;else _0x1852b5['push'](_0x1852b5['shift']());}catch(_0x969fcf){_0x1852b5['push'](_0x1852b5['shift']());}}}(a2_0xfb26,0x3fe51));import{Router}from'express';import*as a2_0x4da5fc from'../services/config.js';function a2_0x23fe(_0x1c3faf,_0x2aefbc){_0x1c3faf=_0x1c3faf-0xe4;const _0xfb266d=a2_0xfb26();let _0x23fee5=_0xfb266d[_0x1c3faf];if(a2_0x23fe['cqOZqp']===undefined){var _0x58a5d7=function(_0x54fbbc){const _0x3d272a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x45196a='',_0x2478ef='';for(let _0x498faf=0x0,_0x1b2a69,_0x3358ad,_0x50c14c=0x0;_0x3358ad=_0x54fbbc['charAt'](_0x50c14c++);~_0x3358ad&&(_0x1b2a69=_0x498faf%0x4?_0x1b2a69*0x40+_0x3358ad:_0x3358ad,_0x498faf++%0x4)?_0x45196a+=String['fromCharCode'](0xff&_0x1b2a69>>(-0x2*_0x498faf&0x6)):0x0){_0x3358ad=_0x3d272a['indexOf'](_0x3358ad);}for(let _0x5134e2=0x0,_0x47c1a5=_0x45196a['length'];_0x5134e2<_0x47c1a5;_0x5134e2++){_0x2478ef+='%'+('00'+_0x45196a['charCodeAt'](_0x5134e2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2478ef);};a2_0x23fe['QcAONA']=_0x58a5d7,a2_0x23fe['pdYrQp']={},a2_0x23fe['cqOZqp']=!![];}const _0x4490c7=_0xfb266d[0x0],_0xec4af3=_0x1c3faf+_0x4490c7,_0x1cef3d=a2_0x23fe['pdYrQp'][_0xec4af3];return!_0x1cef3d?(_0x23fee5=a2_0x23fe['QcAONA'](_0x23fee5),a2_0x23fe['pdYrQp'][_0xec4af3]=_0x23fee5):_0x23fee5=_0x1cef3d,_0x23fee5;}export const configRouter=Router();configRouter[a2_0x3ea5ab(0xef)]('/',(_0x5139c1,_0x2e61d0)=>{const _0x3323de=a2_0x3ea5ab,_0x38087b=a2_0x4da5fc[_0x3323de(0xf6)](),_0x392a9d={};_0x392a9d[_0x3323de(0xe7)]=!![],_0x392a9d[_0x3323de(0xf1)]=_0x38087b,_0x2e61d0[_0x3323de(0xeb)](_0x392a9d);}),configRouter[a2_0x3ea5ab(0xf0)]('/',(_0x194ff3,_0x432c13,_0x5dbba7)=>{const _0x59ae98=a2_0x3ea5ab,_0x457f34={'OzSaI':function(_0x1433d7,_0x139af4){return _0x1433d7(_0x139af4);}};try{const _0x18b416=_0x194ff3['body'],_0x53f6c5=a2_0x4da5fc[_0x59ae98(0xf5)+'ig'](_0x18b416),_0x1d1d97={};_0x1d1d97[_0x59ae98(0xe7)]=!![],_0x1d1d97[_0x59ae98(0xf1)]=_0x53f6c5,_0x432c13[_0x59ae98(0xeb)](_0x1d1d97);}catch(_0x3f8e74){_0x457f34['OzSaI'](_0x5dbba7,_0x3f8e74);}});function a2_0xfb26(){const _0x499205=['nJm5mZK2BMrcuMXw','ntyZmZu2oeHSCwXQwa','C3vJy2vZCW','nda5mZa4m1b3B09tuG','mZi2meTlAK9YuW','mtftENzdCwq','ANnVBG','mtGZuvfZse9l','odq2mJKZEvbkAurP','ntb3C2vbq3e','z2v0','Chv0','zgf0yq','muTTr3nduW','mZu1nJC5meDHBfjwBa','mtmYnty0yvb6whnm','DxbKyxrLq29UzG','z2v0q29UzMLN','mZjZBKjKCuS'];a2_0xfb26=function(){return _0x499205;};return a2_0xfb26();}
1
+ const a3_0x49ac8c=a3_0x177b;(function(_0x1d30be,_0x11f802){const _0x1d0a78=a3_0x177b,_0x3d9ed6=_0x1d30be();while(!![]){try{const _0x2a117e=-parseInt(_0x1d0a78(0xce))/0x1*(-parseInt(_0x1d0a78(0xd4))/0x2)+-parseInt(_0x1d0a78(0xcd))/0x3+-parseInt(_0x1d0a78(0xd1))/0x4+parseInt(_0x1d0a78(0xcb))/0x5+-parseInt(_0x1d0a78(0xd3))/0x6*(parseInt(_0x1d0a78(0xcc))/0x7)+-parseInt(_0x1d0a78(0xd2))/0x8+parseInt(_0x1d0a78(0xca))/0x9;if(_0x2a117e===_0x11f802)break;else _0x3d9ed6['push'](_0x3d9ed6['shift']());}catch(_0x4de3dc){_0x3d9ed6['push'](_0x3d9ed6['shift']());}}}(a3_0x359c,0xc0217));import{Router}from'express';function a3_0x359c(){const _0x31644e=['odm5odK2oez3Bw1eAW','mJruzKjvBKy','nefcDwXtBG','z2v0','z2v0q29UzMLN','zgf0yq','yM9KEq','ntG0nZm4mu5jAhrjtG','nJmWotCZmeTvDhb5ra','mtm1otK2DKzbq2Ho','mti1nJC1n3PqvLrMDG','nJiZodi3rhvvCKfP','C3vJy2vZCW','ANnVBG','mZmWmZm2meTqvMHvrG'];a3_0x359c=function(){return _0x31644e;};return a3_0x359c();}import*as a3_0x930a97 from'../services/config.js';export const configRouter=Router();function a3_0x177b(_0xa3be74,_0x3883f8){_0xa3be74=_0xa3be74-0xc8;const _0x359cb9=a3_0x359c();let _0x177bb5=_0x359cb9[_0xa3be74];if(a3_0x177b['EbEyoI']===undefined){var _0x5db988=function(_0x2b587f){const _0x18dbf2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1b9f97='',_0x378621='';for(let _0x218092=0x0,_0xa98943,_0x2cdef0,_0x13b90b=0x0;_0x2cdef0=_0x2b587f['charAt'](_0x13b90b++);~_0x2cdef0&&(_0xa98943=_0x218092%0x4?_0xa98943*0x40+_0x2cdef0:_0x2cdef0,_0x218092++%0x4)?_0x1b9f97+=String['fromCharCode'](0xff&_0xa98943>>(-0x2*_0x218092&0x6)):0x0){_0x2cdef0=_0x18dbf2['indexOf'](_0x2cdef0);}for(let _0x489ddb=0x0,_0x58d7e6=_0x1b9f97['length'];_0x489ddb<_0x58d7e6;_0x489ddb++){_0x378621+='%'+('00'+_0x1b9f97['charCodeAt'](_0x489ddb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x378621);};a3_0x177b['FNmFKh']=_0x5db988,a3_0x177b['JOwXdL']={},a3_0x177b['EbEyoI']=!![];}const _0x54ab5a=_0x359cb9[0x0],_0x45a027=_0xa3be74+_0x54ab5a,_0xa17be9=a3_0x177b['JOwXdL'][_0x45a027];return!_0xa17be9?(_0x177bb5=a3_0x177b['FNmFKh'](_0x177bb5),a3_0x177b['JOwXdL'][_0x45a027]=_0x177bb5):_0x177bb5=_0xa17be9,_0x177bb5;}configRouter[a3_0x49ac8c(0xd5)]('/',(_0xdfcdf8,_0x555bc7)=>{const _0x1a6039=a3_0x49ac8c,_0xf9dd16=a3_0x930a97[_0x1a6039(0xd6)](),_0x31d2d5={};_0x31d2d5[_0x1a6039(0xcf)]=!![],_0x31d2d5[_0x1a6039(0xc8)]=_0xf9dd16,_0x555bc7[_0x1a6039(0xd0)](_0x31d2d5);}),configRouter['put']('/',(_0x254780,_0x4f154e,_0x38839c)=>{const _0x3baf7f=a3_0x49ac8c;try{const _0x3c6de1=_0x254780[_0x3baf7f(0xc9)],_0x21c33f=a3_0x930a97['updateConf'+'ig'](_0x3c6de1),_0x1984f3={};_0x1984f3[_0x3baf7f(0xcf)]=!![],_0x1984f3[_0x3baf7f(0xc8)]=_0x21c33f,_0x4f154e[_0x3baf7f(0xd0)](_0x1984f3);}catch(_0xf46b7d){_0x38839c(_0xf46b7d);}});
@@ -1 +1 @@
1
- const a3_0x41762d=a3_0x4a66;(function(_0x4a663e,_0x8b1629){const _0x5c954d=a3_0x4a66,_0x330a33=_0x4a663e();while(!![]){try{const _0x1c2261=parseInt(_0x5c954d(0x129))/0x1+parseInt(_0x5c954d(0x11f))/0x2*(-parseInt(_0x5c954d(0x11d))/0x3)+-parseInt(_0x5c954d(0x120))/0x4+-parseInt(_0x5c954d(0x113))/0x5*(-parseInt(_0x5c954d(0x133))/0x6)+-parseInt(_0x5c954d(0x123))/0x7*(parseInt(_0x5c954d(0x115))/0x8)+parseInt(_0x5c954d(0x121))/0x9+-parseInt(_0x5c954d(0x131))/0xa*(-parseInt(_0x5c954d(0x139))/0xb);if(_0x1c2261===_0x8b1629)break;else _0x330a33['push'](_0x330a33['shift']());}catch(_0x42ec7a){_0x330a33['push'](_0x330a33['shift']());}}}(a3_0x44e1,0x31630));import{Router}from'express';import*as a3_0x17fe7b from'fs';import*as a3_0x140831 from'path';export const filesRouter=Router();filesRouter[a3_0x41762d(0x124)](a3_0x41762d(0x132),(_0x5c0310,_0x387dad)=>{const _0x131229=a3_0x41762d,_0x3f4fa0={'aZXEh':function(_0x2c5777,_0x3009b6){return _0x2c5777!==_0x3009b6;},'MWQIY':_0x131229(0x12d),'tjDvq':_0x131229(0x117)+_0x131229(0x136)+'d','JAqzL':_0x131229(0x118)+'OUND','yLWdj':'File\x20not\x20f'+_0x131229(0x116),'dWTcV':_0x131229(0x138),'AFoKV':function(_0x2a0f45,_0x406f4a,_0x47c260){return _0x2a0f45(_0x406f4a,_0x47c260);},'Qxkkb':function(_0x5c2a73,_0x1dc776,_0x364098){return _0x5c2a73(_0x1dc776,_0x364098);},'NtEYQ':_0x131229(0x13c)+_0x131229(0x12c)+_0x131229(0x126)+_0x131229(0x122),'KqeoA':_0x131229(0x12a)},{path:_0x485711,startLine:_0x44d311,endLine:_0x2336aa}=_0x5c0310[_0x131229(0x12b)];if(!_0x485711||_0x3f4fa0[_0x131229(0x13b)](typeof _0x485711,_0x3f4fa0[_0x131229(0x134)])){const _0x18cd56={};_0x18cd56['code']=_0x131229(0x135)+'TH',_0x18cd56[_0x131229(0x112)]=_0x3f4fa0['tjDvq'];const _0x1bc41b={};return _0x1bc41b[_0x131229(0x11c)]=![],_0x1bc41b[_0x131229(0x11e)]=_0x18cd56,_0x387dad['status'](0x190)[_0x131229(0x12f)](_0x1bc41b);}const _0x418aa0=a3_0x140831[_0x131229(0x128)](_0x485711);try{if(!a3_0x17fe7b['existsSync'](_0x418aa0)){const _0x577b5f={};_0x577b5f[_0x131229(0x119)]=_0x3f4fa0[_0x131229(0x11b)],_0x577b5f[_0x131229(0x112)]=_0x3f4fa0[_0x131229(0x125)];const _0x131235={};return _0x131235[_0x131229(0x11c)]=![],_0x131235[_0x131229(0x11e)]=_0x577b5f,_0x387dad['status'](0x194)[_0x131229(0x12f)](_0x131235);}const _0x567445=a3_0x17fe7b['readFileSy'+'nc'](_0x418aa0,_0x3f4fa0[_0x131229(0x11a)]),_0x3f399f=_0x567445[_0x131229(0x137)]('\x0a'),_0x5a8253=_0x44d311?_0x3f4fa0['AFoKV'](parseInt,_0x44d311,0xa):undefined,_0x3c4c7e=_0x2336aa?_0x3f4fa0[_0x131229(0x127)](parseInt,_0x2336aa,0xa):undefined;_0x387dad[_0x131229(0x12f)]({'success':!![],'data':{'path':_0x485711,'totalLines':_0x3f399f['length'],'lines':_0x3f399f[_0x131229(0x114)]((_0x318238,_0x59b9fd)=>({'lineNumber':_0x59b9fd+0x1,'content':_0x318238,'highlighted':_0x5a8253&&_0x3c4c7e?_0x59b9fd+0x1>=_0x5a8253&&_0x59b9fd+0x1<=_0x3c4c7e:![]}))}});}catch(_0x3ad4a0){console['error'](_0x3f4fa0['NtEYQ'],_0x3ad4a0);const _0x3de846={};_0x3de846['code']=_0x3f4fa0[_0x131229(0x12e)],_0x3de846[_0x131229(0x112)]=_0x131229(0x130)+_0x131229(0x111);const _0x226951={};_0x226951[_0x131229(0x11c)]=![],_0x226951['error']=_0x3de846,_0x387dad[_0x131229(0x13a)](0x1f4)['json'](_0x226951);}});function a3_0x4a66(_0x346184,_0x4a3f79){_0x346184=_0x346184-0x111;const _0x44e15d=a3_0x44e1();let _0x4a660=_0x44e15d[_0x346184];if(a3_0x4a66['coLqGj']===undefined){var _0x5c3843=function(_0x3d741a){const _0x2be256='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x8f9561='',_0x306496='';for(let _0x46fa3a=0x0,_0x4c3101,_0x1239ea,_0x457c3f=0x0;_0x1239ea=_0x3d741a['charAt'](_0x457c3f++);~_0x1239ea&&(_0x4c3101=_0x46fa3a%0x4?_0x4c3101*0x40+_0x1239ea:_0x1239ea,_0x46fa3a++%0x4)?_0x8f9561+=String['fromCharCode'](0xff&_0x4c3101>>(-0x2*_0x46fa3a&0x6)):0x0){_0x1239ea=_0x2be256['indexOf'](_0x1239ea);}for(let _0x1b17e1=0x0,_0x326539=_0x8f9561['length'];_0x1b17e1<_0x326539;_0x1b17e1++){_0x306496+='%'+('00'+_0x8f9561['charCodeAt'](_0x1b17e1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x306496);};a3_0x4a66['dDIrNx']=_0x5c3843,a3_0x4a66['yDPjvK']={},a3_0x4a66['coLqGj']=!![];}const _0x1161e2=_0x44e15d[0x0],_0xa13cde=_0x346184+_0x1161e2,_0x484124=a3_0x4a66['yDPjvK'][_0xa13cde];return!_0x484124?(_0x4a660=a3_0x4a66['dDIrNx'](_0x4a660),a3_0x4a66['yDPjvK'][_0xa13cde]=_0x4a660):_0x4a660=_0x484124,_0x4a660;}function a3_0x44e1(){const _0x27ea4d=['BwfW','mteYzMnpDurA','B3vUza','rMLSzsbWyxrOia','rKLmrv9ot1rFrG','y29Kzq','zfDuy1y','sKfXEKW','C3vJy2vZCW','m3rdDujZCa','zxjYB3i','odmXmNL2B2zXsG','mtu4ote5nM5pB2PPqq','mZa0odiXr0zjDKXp','Bgu6','mtm4nZy4CKXrvwvL','z2v0','EuXxzgO','Dg8GCMvHzcbMAq','uxHRA2i','CMvZB2X2zq','mZKWntK5CfDZuLjJ','uKvbrf9fuLjpuG','CxvLCNK','zv0GrMfPBgvKia','C3rYAw5N','s3fLB0e','ANnVBG','rMfPBgvKihrVia','mtiWmdG1mgX0A2ntrG','l2nVBNrLBNq','nMjnzu9Jzq','tvDrsvK','su5wquXjrf9qqq','AxmGCMvXDwLYzq','C3bSAxq','DxrMltG','mJjRBMLoy2u','C3rHDhvZ','yvPyrwG','w0zPBgvZuM91Da','CMvHzcbMAwXL','BwvZC2fNzq','mta4mZiWnwnUBvPqrq'];a3_0x44e1=function(){return _0x27ea4d;};return a3_0x44e1();}
1
+ const a4_0x31d11c=a4_0x43f6;(function(_0x446c97,_0x5654fd){const _0x31f7d7=a4_0x43f6,_0x4b09f5=_0x446c97();while(!![]){try{const _0x5d44b6=parseInt(_0x31f7d7(0x179))/0x1+parseInt(_0x31f7d7(0x17d))/0x2*(-parseInt(_0x31f7d7(0x184))/0x3)+parseInt(_0x31f7d7(0x17b))/0x4+-parseInt(_0x31f7d7(0x18b))/0x5+parseInt(_0x31f7d7(0x17e))/0x6+parseInt(_0x31f7d7(0x183))/0x7*(-parseInt(_0x31f7d7(0x18c))/0x8)+parseInt(_0x31f7d7(0x16e))/0x9;if(_0x5d44b6===_0x5654fd)break;else _0x4b09f5['push'](_0x4b09f5['shift']());}catch(_0x15a979){_0x4b09f5['push'](_0x4b09f5['shift']());}}}(a4_0x2046,0x798a8));import{Router}from'express';import*as a4_0x2ccb57 from'fs';function a4_0x43f6(_0x357098,_0x2b878b){_0x357098=_0x357098-0x168;const _0x204672=a4_0x2046();let _0x43f614=_0x204672[_0x357098];if(a4_0x43f6['MjfVOg']===undefined){var _0x1fc033=function(_0x3d63fe){const _0x2e0921='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x10df18='',_0x5ccd53='';for(let _0x5036e5=0x0,_0x1a8d3f,_0x3b69dc,_0x5d4c6e=0x0;_0x3b69dc=_0x3d63fe['charAt'](_0x5d4c6e++);~_0x3b69dc&&(_0x1a8d3f=_0x5036e5%0x4?_0x1a8d3f*0x40+_0x3b69dc:_0x3b69dc,_0x5036e5++%0x4)?_0x10df18+=String['fromCharCode'](0xff&_0x1a8d3f>>(-0x2*_0x5036e5&0x6)):0x0){_0x3b69dc=_0x2e0921['indexOf'](_0x3b69dc);}for(let _0x46265f=0x0,_0x3a8d6b=_0x10df18['length'];_0x46265f<_0x3a8d6b;_0x46265f++){_0x5ccd53+='%'+('00'+_0x10df18['charCodeAt'](_0x46265f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5ccd53);};a4_0x43f6['bGEexT']=_0x1fc033,a4_0x43f6['vVWRwJ']={},a4_0x43f6['MjfVOg']=!![];}const _0x675ec9=_0x204672[0x0],_0x20e1fb=_0x357098+_0x675ec9,_0x5ec31e=a4_0x43f6['vVWRwJ'][_0x20e1fb];return!_0x5ec31e?(_0x43f614=a4_0x43f6['bGEexT'](_0x43f614),a4_0x43f6['vVWRwJ'][_0x20e1fb]=_0x43f614):_0x43f614=_0x5ec31e,_0x43f614;}import*as a4_0x270ee7 from'path';export const filesRouter=Router();filesRouter[a4_0x31d11c(0x186)](a4_0x31d11c(0x17c),(_0x457f1b,_0x3650ce)=>{const _0x48c859=a4_0x31d11c,_0x18d469={'UqRnp':function(_0x3965d6,_0x55dd50){return _0x3965d6!==_0x55dd50;},'XXHdA':_0x48c859(0x168)+'TH','bioBx':_0x48c859(0x16b)+_0x48c859(0x174)+'d','JYAOj':_0x48c859(0x180)+_0x48c859(0x18e),'tbGhm':_0x48c859(0x178)+'ound','kqmEO':_0x48c859(0x16a),'Ysyny':function(_0x9ddff1,_0x351cb9,_0x2e0018){return _0x9ddff1(_0x351cb9,_0x2e0018);},'cecKq':_0x48c859(0x173)+'e]\x20Failed\x20'+_0x48c859(0x16f)+_0x48c859(0x172),'mznLc':_0x48c859(0x189)},{path:_0x2473c7,startLine:_0x266ded,endLine:_0x575e43}=_0x457f1b['query'];if(!_0x2473c7||_0x18d469['UqRnp'](typeof _0x2473c7,_0x48c859(0x175))){const _0x3e9ec6={};_0x3e9ec6[_0x48c859(0x16c)]=_0x18d469[_0x48c859(0x182)],_0x3e9ec6[_0x48c859(0x181)]=_0x18d469[_0x48c859(0x190)];const _0x344e90={};return _0x344e90['success']=![],_0x344e90[_0x48c859(0x17a)]=_0x3e9ec6,_0x3650ce['status'](0x190)['json'](_0x344e90);}const _0x2346fc=a4_0x270ee7[_0x48c859(0x17f)](_0x2473c7);try{if(!a4_0x2ccb57['existsSync'](_0x2346fc)){const _0x2ed891={};_0x2ed891['code']=_0x18d469[_0x48c859(0x18d)],_0x2ed891[_0x48c859(0x181)]=_0x18d469[_0x48c859(0x188)];const _0x59bb0d={};return _0x59bb0d[_0x48c859(0x170)]=![],_0x59bb0d[_0x48c859(0x17a)]=_0x2ed891,_0x3650ce[_0x48c859(0x169)](0x194)[_0x48c859(0x176)](_0x59bb0d);}const _0x49af55=a4_0x2ccb57[_0x48c859(0x177)+'nc'](_0x2346fc,_0x18d469[_0x48c859(0x18f)]),_0x25ec7f=_0x49af55[_0x48c859(0x185)]('\x0a'),_0x26abab=_0x266ded?_0x18d469['Ysyny'](parseInt,_0x266ded,0xa):undefined,_0x43e533=_0x575e43?_0x18d469['Ysyny'](parseInt,_0x575e43,0xa):undefined;_0x3650ce['json']({'success':!![],'data':{'path':_0x2473c7,'totalLines':_0x25ec7f['length'],'lines':_0x25ec7f[_0x48c859(0x16d)]((_0x4e9fe1,_0x3e55e4)=>({'lineNumber':_0x3e55e4+0x1,'content':_0x4e9fe1,'highlighted':_0x26abab&&_0x43e533?_0x3e55e4+0x1>=_0x26abab&&_0x3e55e4+0x1<=_0x43e533:![]}))}});}catch(_0x832530){console['error'](_0x18d469['cecKq'],_0x832530);const _0x368eba={};_0x368eba[_0x48c859(0x16c)]=_0x18d469[_0x48c859(0x171)],_0x368eba[_0x48c859(0x181)]=_0x48c859(0x187)+_0x48c859(0x18a);const _0x811326={};_0x811326[_0x48c859(0x170)]=![],_0x811326[_0x48c859(0x17a)]=_0x368eba,_0x3650ce[_0x48c859(0x169)](0x1f4)['json'](_0x811326);}});function a4_0x2046(){const _0x4b38a1=['su5wquXjrf9qqq','C3rHDhvZ','DxrMltG','rMLSzsbWyxrOia','y29Kzq','BwfW','nJa0ote2muflAwTRzG','Dg8GCMvHzcbMAq','C3vJy2vZCW','BxPUtgm','Bgu6','w0zPBgvZuM91Da','AxmGCMvXDwLYzq','C3rYAw5N','ANnVBG','CMvHzezPBgvtEq','rMLSzsbUB3qGzG','odq0oduWsuvICNzN','zxjYB3i','mti2mtK2mgjize1AzW','l2nVBNrLBNq','nda4uLrzvhnP','mJu5mZyZmLzPsxP1rq','CMvZB2X2zq','rKLmrv9ot1rFrG','BwvZC2fNzq','wfHizee','mtrgvxDAsuC','mJyWn0D0EwzgrG','C3bSAxq','z2v0','rMfPBgvKihrVia','DgjhAg0','uKvbrf9fuLjpuG','CMvHzcbMAwXL','mZq5mte3nxPkBLrWrW','mZu2ntu5mLjgB2TJCq','sLLbt2O','t1vora','A3fTru8','yMLVqNG'];a4_0x2046=function(){return _0x4b38a1;};return a4_0x2046();}
@@ -1 +1 @@
1
- const a4_0x223efe=a4_0x4241;(function(_0x37759d,_0x223f56){const _0x3d2a0e=a4_0x4241,_0x4f6834=_0x37759d();while(!![]){try{const _0x389337=parseInt(_0x3d2a0e(0x177))/0x1*(parseInt(_0x3d2a0e(0x16e))/0x2)+-parseInt(_0x3d2a0e(0x158))/0x3+-parseInt(_0x3d2a0e(0x167))/0x4+parseInt(_0x3d2a0e(0x162))/0x5*(parseInt(_0x3d2a0e(0x155))/0x6)+parseInt(_0x3d2a0e(0x186))/0x7*(-parseInt(_0x3d2a0e(0x18e))/0x8)+-parseInt(_0x3d2a0e(0x183))/0x9*(-parseInt(_0x3d2a0e(0x185))/0xa)+parseInt(_0x3d2a0e(0x174))/0xb*(parseInt(_0x3d2a0e(0x180))/0xc);if(_0x389337===_0x223f56)break;else _0x4f6834['push'](_0x4f6834['shift']());}catch(_0x5e22ec){_0x4f6834['push'](_0x4f6834['shift']());}}}(a4_0x53aa,0xc1cad));import{Router}from'express';import*as a4_0x416928 from'fs';function a4_0x53aa(){const _0x3891c8=['zgf0yq','BM90igv4Axn0oG','yM9KEq','su5wquXjrf9qqq','ndy5mdy5n1boEvvYza','C2nHBLnPBMDSzq','AM9PBG','nda5CxLht294','rMfPBgvKihrVia','z2v0uhjVAMvJDa','igf0oIa','CMvTB3zLuhjVAG','D2LRAq','zYbMB3i6ia','zgvSzxrL','DgGGAxmGCMvXDq','mtjHu1DqA0y','zxHPC3rZu3LUyW','C3vJy2vZCW','owrhEw1RwG','AxjLza','mZK1mta3mg5MrMz5qq','mta4nvjWEe9esq','zwn0','CgfYyw1Z','z2v0q29UzMLN','lZPPzc9Hy3rPDG','DcbMB3vUzdOG','ANnVBG','t2jcr2K','ntaZnZzJDvHZs1u','uhjVAMvJDcbWyq','y2XLyxjqCM9Qzq','nNfIswDvtG','CMvWBgfJzq','y3rjBMrLEa','mtu1otmYnwzhBufwrq','CM9Qzwn0','Dg9YEsbMB3vUza','ugf0AcbKB2vZia','yxrL','DMHwuLm','ChjVAMvJDhm','qNLjza','Cg9ZDa','Aw5KzxHqCM9Qzq','nJu1mdC5nvD5wNfTyG','v0XXBKe','vw1vDg0','tM8GlNPYzwfKlW','vvLhrwy','ntmYnteXnM1yDhPQsq','CMvZB2X2zq','ugf0Aa','lZPPza','AMvJDcbJB25MAq','D2LRAsbKAxjLyW','ufjpsKvdvf9otW','nZi4mMHfsev2rG','C0rnrve'];a4_0x53aa=function(){return _0x3891c8;};return a4_0x53aa();}import*as a4_0xb95d79 from'path';import*as a4_0xfc2f60 from'../services/config.js';import*as a4_0x11d78b from'../services/scanner.js';import*as a4_0x37fcc6 from'../services/search.js';import{AppError,ErrorCodes}from'../middleware/errorHandler.js';function normalizePath(_0x12516c){const _0x241033=a4_0x4241;return _0x12516c[_0x241033(0x156)](/\\/g,'/');}function getWikiPath(_0x39b93e){const _0x886577=a4_0x4241,_0x5b6f40={};_0x5b6f40[_0x886577(0x163)]='.zread',_0x5b6f40[_0x886577(0x166)]=_0x886577(0x17c);const _0x47faf5=_0x5b6f40;return a4_0xb95d79[_0x886577(0x176)](_0x39b93e,_0x47faf5[_0x886577(0x163)],_0x47faf5['UYGEf']);}export const projectsRouter=Router();function a4_0x4241(_0x459f16,_0x48a117){_0x459f16=_0x459f16-0x155;const _0x53aa82=a4_0x53aa();let _0x424135=_0x53aa82[_0x459f16];if(a4_0x4241['ELbKvk']===undefined){var _0x17a4af=function(_0x2c96ca){const _0x482ffc='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3ec494='',_0x7c65c2='';for(let _0x4d66e6=0x0,_0x1e7a39,_0x318c2b,_0x219eb3=0x0;_0x318c2b=_0x2c96ca['charAt'](_0x219eb3++);~_0x318c2b&&(_0x1e7a39=_0x4d66e6%0x4?_0x1e7a39*0x40+_0x318c2b:_0x318c2b,_0x4d66e6++%0x4)?_0x3ec494+=String['fromCharCode'](0xff&_0x1e7a39>>(-0x2*_0x4d66e6&0x6)):0x0){_0x318c2b=_0x482ffc['indexOf'](_0x318c2b);}for(let _0x23b4e2=0x0,_0x2ccde1=_0x3ec494['length'];_0x23b4e2<_0x2ccde1;_0x23b4e2++){_0x7c65c2+='%'+('00'+_0x3ec494['charCodeAt'](_0x23b4e2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x7c65c2);};a4_0x4241['Paccda']=_0x17a4af,a4_0x4241['GyHiTQ']={},a4_0x4241['ELbKvk']=!![];}const _0x32f3e8=_0x53aa82[0x0],_0x25cb9d=_0x459f16+_0x32f3e8,_0x248e6e=a4_0x4241['GyHiTQ'][_0x25cb9d];return!_0x248e6e?(_0x424135=a4_0x4241['Paccda'](_0x424135),a4_0x4241['GyHiTQ'][_0x25cb9d]=_0x424135):_0x424135=_0x248e6e,_0x424135;}projectsRouter['get']('/',(_0x154064,_0x451e7d)=>{const _0x1c20d7=a4_0x4241,_0x436245=a4_0xfc2f60[_0x1c20d7(0x189)](),_0xf965f6={};_0xf965f6[_0x1c20d7(0x182)]=!![],_0xf965f6[_0x1c20d7(0x170)]=_0x436245[_0x1c20d7(0x15e)],_0x451e7d[_0x1c20d7(0x18c)](_0xf965f6);}),projectsRouter[a4_0x223efe(0x160)]('/',async(_0x325116,_0x283c90,_0x196b29)=>{const _0x55f5a8=a4_0x223efe,_0x3e023c={'sDMEQ':_0x55f5a8(0x18f)+_0x55f5a8(0x17f)+_0x55f5a8(0x184),'vhVRS':function(_0x20e5a5,_0x34bfd7){return _0x20e5a5(_0x34bfd7);}};try{const {path:_0xb5a180}=_0x325116[_0x55f5a8(0x172)];if(!_0xb5a180)throw new AppError(0x190,ErrorCodes[_0x55f5a8(0x173)+'TH'],_0x3e023c[_0x55f5a8(0x16f)]);const _0x583d15=a4_0xb95d79[_0x55f5a8(0x168)](_0xb5a180);if(!a4_0x416928[_0x55f5a8(0x181)](_0x583d15))throw new AppError(0x190,ErrorCodes[_0x55f5a8(0x173)+'TH'],_0x55f5a8(0x15b)+_0x55f5a8(0x171)+'\x20'+_0x583d15);const _0x516e01=_0x3e023c[_0x55f5a8(0x15d)](getWikiPath,_0x583d15);if(!a4_0x416928[_0x55f5a8(0x181)](_0x516e01))throw new AppError(0x190,ErrorCodes[_0x55f5a8(0x173)+'TH'],_0x55f5a8(0x165)+_0x55f5a8(0x16c)+_0x55f5a8(0x15a)+_0x55f5a8(0x17a)+_0x583d15);const _0x4aad8c=await a4_0x11d78b[_0x55f5a8(0x175)+_0x55f5a8(0x169)](_0x583d15);if(!_0x4aad8c)throw new AppError(0x190,ErrorCodes[_0x55f5a8(0x173)+'TH'],_0x55f5a8(0x178)+'create\x20pro'+_0x55f5a8(0x16b)+_0x55f5a8(0x17d)+_0x583d15);a4_0x37fcc6[_0x55f5a8(0x161)+'ct'](_0x4aad8c);const _0x5f194b={};_0x5f194b['success']=!![],_0x5f194b[_0x55f5a8(0x170)]=_0x4aad8c,_0x283c90[_0x55f5a8(0x18c)](_0x5f194b);}catch(_0x770f6b){_0x3e023c['vhVRS'](_0x196b29,_0x770f6b);}}),projectsRouter[a4_0x223efe(0x17e)](a4_0x223efe(0x16a),(_0x29c73f,_0x2c53f8,_0x26e8e9)=>{const _0x185b19=a4_0x223efe,_0x5ea62b={'ObBGi':function(_0x1f5cbe,_0x5f173c){return _0x1f5cbe(_0x5f173c);}};try{const _0x9df6e5=_0x29c73f['params']['id'],_0x20b8a5=a4_0xfc2f60['getProject'+_0x185b19(0x15f)](_0x9df6e5);if(!_0x20b8a5)throw new AppError(0x194,ErrorCodes['PROJECT_NO'+'T_FOUND'],'Project\x20no'+_0x185b19(0x18b)+_0x9df6e5);a4_0xfc2f60[_0x185b19(0x17b)+_0x185b19(0x187)](_0x9df6e5),a4_0x37fcc6[_0x185b19(0x190)+_0x185b19(0x157)](_0x9df6e5);const _0x469817={};_0x469817['id']=_0x9df6e5;const _0x38503a={};_0x38503a[_0x185b19(0x182)]=!![],_0x38503a['data']=_0x469817,_0x2c53f8[_0x185b19(0x18c)](_0x38503a);}catch(_0x22e2c0){_0x5ea62b[_0x185b19(0x18d)](_0x26e8e9,_0x22e2c0);}}),projectsRouter['post'](a4_0x223efe(0x18a)+a4_0x223efe(0x15c),(_0x5b1f87,_0x42e43c,_0x59c314)=>{const _0x9e06f4=a4_0x223efe,_0x59ee50={'UmUtm':function(_0x41de16,_0xbebe97){return _0x41de16(_0xbebe97);}};try{const _0x525aa7=_0x5b1f87[_0x9e06f4(0x188)]['id'],_0x202522=a4_0xfc2f60[_0x9e06f4(0x179)+'ById'](_0x525aa7);if(!_0x202522)throw new AppError(0x194,ErrorCodes[_0x9e06f4(0x16d)+'T_FOUND'],'Project\x20no'+_0x9e06f4(0x18b)+_0x525aa7);const _0x43824b=a4_0xfc2f60['setActiveP'+_0x9e06f4(0x159)](_0x525aa7),_0x207008=_0x43824b[_0x9e06f4(0x15e)]['find'](_0x499b3f=>_0x499b3f['id']===_0x525aa7);_0x207008&&a4_0x37fcc6['indexProje'+'ct'](_0x207008);const _0x37e95d={};_0x37e95d['success']=!![],_0x37e95d[_0x9e06f4(0x170)]=_0x207008,_0x42e43c[_0x9e06f4(0x18c)](_0x37e95d);}catch(_0x129825){_0x59ee50[_0x9e06f4(0x164)](_0x59c314,_0x129825);}});
1
+ const a5_0x2c7005=a5_0x10fc;(function(_0x38ba27,_0x4063e7){const _0x4d533b=a5_0x10fc,_0x288ee7=_0x38ba27();while(!![]){try{const _0x343b9a=parseInt(_0x4d533b(0x21d))/0x1*(-parseInt(_0x4d533b(0x21c))/0x2)+parseInt(_0x4d533b(0x1f6))/0x3+parseInt(_0x4d533b(0x214))/0x4*(-parseInt(_0x4d533b(0x20c))/0x5)+-parseInt(_0x4d533b(0x21a))/0x6+parseInt(_0x4d533b(0x20b))/0x7+parseInt(_0x4d533b(0x1ef))/0x8*(-parseInt(_0x4d533b(0x218))/0x9)+parseInt(_0x4d533b(0x1ee))/0xa;if(_0x343b9a===_0x4063e7)break;else _0x288ee7['push'](_0x288ee7['shift']());}catch(_0x598e2f){_0x288ee7['push'](_0x288ee7['shift']());}}}(a5_0x19df,0x2c3fd));function a5_0x10fc(_0xedbf8,_0x4697b2){_0xedbf8=_0xedbf8-0x1ee;const _0x19dfd9=a5_0x19df();let _0x10fcc9=_0x19dfd9[_0xedbf8];if(a5_0x10fc['BavWyQ']===undefined){var _0x1c76c6=function(_0x3c3ac8){const _0x1e3c59='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x67e9a5='',_0x447ccd='';for(let _0x3b6828=0x0,_0x1ddb6f,_0x20a438,_0x237fb2=0x0;_0x20a438=_0x3c3ac8['charAt'](_0x237fb2++);~_0x20a438&&(_0x1ddb6f=_0x3b6828%0x4?_0x1ddb6f*0x40+_0x20a438:_0x20a438,_0x3b6828++%0x4)?_0x67e9a5+=String['fromCharCode'](0xff&_0x1ddb6f>>(-0x2*_0x3b6828&0x6)):0x0){_0x20a438=_0x1e3c59['indexOf'](_0x20a438);}for(let _0x2440c1=0x0,_0x48a08a=_0x67e9a5['length'];_0x2440c1<_0x48a08a;_0x2440c1++){_0x447ccd+='%'+('00'+_0x67e9a5['charCodeAt'](_0x2440c1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x447ccd);};a5_0x10fc['zjaYLk']=_0x1c76c6,a5_0x10fc['QGUdBI']={},a5_0x10fc['BavWyQ']=!![];}const _0x432005=_0x19dfd9[0x0],_0x5d0c83=_0xedbf8+_0x432005,_0x5df707=a5_0x10fc['QGUdBI'][_0x5d0c83];return!_0x5df707?(_0x10fcc9=a5_0x10fc['zjaYLk'](_0x10fcc9),a5_0x10fc['QGUdBI'][_0x5d0c83]=_0x10fcc9):_0x10fcc9=_0x5df707,_0x10fcc9;}import{Router}from'express';import*as a5_0x7a288 from'fs';import*as a5_0x224adb from'path';import*as a5_0x199490 from'../services/config.js';import*as a5_0x2df307 from'../services/scanner.js';import*as a5_0x16e6d5 from'../services/search.js';import{AppError,ErrorCodes}from'../middleware/errorHandler.js';function normalizePath(_0x3b88da){const _0x4ec67b=a5_0x10fc;return _0x3b88da[_0x4ec67b(0x215)](/\\/g,'/');}function getWikiPath(_0x106911){const _0x3b7e6c=a5_0x10fc;return a5_0x224adb[_0x3b7e6c(0x221)](_0x106911,_0x3b7e6c(0x203),_0x3b7e6c(0x1f1));}export const projectsRouter=Router();function a5_0x19df(){const _0x38a6fd=['y3jLyxrLihbYBW','zwn0','zgf0yq','Dg9YEsbMB3vUza','tM8GlNPYzwfKlW','lNPYzwfK','ChjVAMvJDhm','Aw5KzxHqCM9Qzq','CMvTB3zLuhjVAG','y2XLyxjqCM9Qzq','zgvSzxrL','y3rjBMrLEa','CMvZB2X2zq','ntu4nJi4wLPTEvz3','mZC0mtv4r2vouvy','CM9Qzwn0','ANnVBG','lZPPzc9Hy3rPDG','igf0oIa','zYbMB3i6ia','C2nHBLnPBMDSzq','zxHPC3rZu3LUyW','nJHHzxDPD1G','CMvWBgfJzq','qNLjza','z2v0uhjVAMvJDa','ndm2nJHjqM1NyM4','uhjVAMvJDcbWyq','ntKXmZyWufvJvhLI','ugf0Aa','mtCYntG2u3DwEKvZ','mMfTvND2qW','D2LRAsbKAxjLyW','BM90igv4Axn0oG','C3vJy2vZCW','AM9PBG','uhjVAMvJDcbUBW','rMfPBgvKihrVia','vf9gt1vora','ugf0AcbKB2vZia','mZGZodKYmeP3rurHuq','ndaWAgL1CK1H','vNzUyLO','D2LRAq','AxjLza','ufjpsKvdvf9otW','su5wquXjrf9qqq','Cg9ZDa','mta3ntuXogzqvLvXrW','lZPPza','CgfYyw1Z','tKHgteO','zMLUza','z2v0','rKzPy0G','AMvJDcbJB25MAq'];a5_0x19df=function(){return _0x38a6fd;};return a5_0x19df();}projectsRouter[a5_0x2c7005(0x1fb)]('/',(_0x3d08cc,_0x481008)=>{const _0x4ea7d3=a5_0x2c7005,_0x97768c=a5_0x199490['getConfig'](),_0x1a0ed1={};_0x1a0ed1[_0x4ea7d3(0x220)]=!![],_0x1a0ed1[_0x4ea7d3(0x200)]=_0x97768c['projects'],_0x481008['json'](_0x1a0ed1);}),projectsRouter['post']('/',async(_0x33af92,_0x641217,_0x312014)=>{const _0xff1c73=a5_0x2c7005,_0xd749d5={'FFicH':function(_0x304259,_0x18dd7f){return _0x304259(_0x18dd7f);}};try{const {path:_0x4c9ed2}=_0x33af92['body'];if(!_0x4c9ed2)throw new AppError(0x190,ErrorCodes[_0xff1c73(0x1f4)+'TH'],_0xff1c73(0x219)+'th\x20is\x20requ'+_0xff1c73(0x1f2));const _0x18fd48=a5_0x224adb[_0xff1c73(0x20a)](_0x4c9ed2);if(!a5_0x7a288[_0xff1c73(0x213)](_0x18fd48))throw new AppError(0x190,ErrorCodes[_0xff1c73(0x1f4)+'TH'],_0xff1c73(0x225)+_0xff1c73(0x21f)+'\x20'+_0x18fd48);const _0x4cbe6f=_0xd749d5[_0xff1c73(0x1fc)](getWikiPath,_0x18fd48);if(!a5_0x7a288[_0xff1c73(0x213)](_0x4cbe6f))throw new AppError(0x190,ErrorCodes['INVALID_PA'+'TH'],_0xff1c73(0x202)+_0xff1c73(0x21e)+_0xff1c73(0x201)+_0xff1c73(0x210)+_0x18fd48);const _0x3b70b1=await a5_0x2df307[_0xff1c73(0x212)+_0xff1c73(0x21b)](_0x18fd48);if(!_0x3b70b1)throw new AppError(0x190,ErrorCodes[_0xff1c73(0x1f4)+'TH'],_0xff1c73(0x223)+_0xff1c73(0x1fe)+_0xff1c73(0x1fd)+_0xff1c73(0x211)+_0x18fd48);a5_0x16e6d5[_0xff1c73(0x205)+'ct'](_0x3b70b1);const _0x305180={};_0x305180[_0xff1c73(0x220)]=!![],_0x305180[_0xff1c73(0x200)]=_0x3b70b1,_0x641217[_0xff1c73(0x20e)](_0x305180);}catch(_0x1851a){_0xd749d5[_0xff1c73(0x1fc)](_0x312014,_0x1851a);}}),projectsRouter[a5_0x2c7005(0x208)](a5_0x2c7005(0x1f7),(_0x5e0953,_0x4ae7ee,_0x5574fb)=>{const _0x26f273=a5_0x2c7005,_0x510533={'VvnbZ':function(_0x38def9,_0x134514){return _0x38def9(_0x134514);}};try{const _0x471646=_0x5e0953['params']['id'],_0x24a69b=a5_0x199490[_0x26f273(0x217)+_0x26f273(0x216)](_0x471646);if(!_0x24a69b)throw new AppError(0x194,ErrorCodes[_0x26f273(0x1f3)+_0x26f273(0x224)],_0x26f273(0x222)+'t\x20found:\x20'+_0x471646);a5_0x199490[_0x26f273(0x206)+_0x26f273(0x1ff)](_0x471646),a5_0x16e6d5[_0x26f273(0x207)+_0x26f273(0x209)](_0x471646);const _0x4e26d8={};_0x4e26d8['id']=_0x471646;const _0x5c3617={};_0x5c3617['success']=!![],_0x5c3617['data']=_0x4e26d8,_0x4ae7ee[_0x26f273(0x20e)](_0x5c3617);}catch(_0x3b29ce){_0x510533[_0x26f273(0x1f0)](_0x5574fb,_0x3b29ce);}}),projectsRouter[a5_0x2c7005(0x1f5)](a5_0x2c7005(0x20f)+'ate',(_0x3a9cac,_0x30a18a,_0x20b02c)=>{const _0x3a9dc2=a5_0x2c7005,_0x404df8={'NHFLJ':function(_0x4a48f9,_0x3ee46f){return _0x4a48f9(_0x3ee46f);}};try{const _0x379dcf=_0x3a9cac[_0x3a9dc2(0x1f8)]['id'],_0x1528d0=a5_0x199490[_0x3a9dc2(0x217)+_0x3a9dc2(0x216)](_0x379dcf);if(!_0x1528d0)throw new AppError(0x194,ErrorCodes[_0x3a9dc2(0x1f3)+'T_FOUND'],_0x3a9dc2(0x222)+'t\x20found:\x20'+_0x379dcf);const _0x5e156f=a5_0x199490['setActiveP'+_0x3a9dc2(0x20d)](_0x379dcf),_0x125aa7=_0x5e156f[_0x3a9dc2(0x204)][_0x3a9dc2(0x1fa)](_0xbc3d59=>_0xbc3d59['id']===_0x379dcf);_0x125aa7&&a5_0x16e6d5['indexProje'+'ct'](_0x125aa7);const _0x1c7aa0={};_0x1c7aa0[_0x3a9dc2(0x220)]=!![],_0x1c7aa0[_0x3a9dc2(0x200)]=_0x125aa7,_0x30a18a[_0x3a9dc2(0x20e)](_0x1c7aa0);}catch(_0x4cbd76){_0x404df8[_0x3a9dc2(0x1f9)](_0x20b02c,_0x4cbd76);}});
@@ -1 +1 @@
1
- const a5_0x45d3ef=a5_0xc80b;function a5_0xc80b(_0x4db3ce,_0x2dfe1d){_0x4db3ce=_0x4db3ce-0x10c;const _0x344dcb=a5_0x344d();let _0xc80b5=_0x344dcb[_0x4db3ce];if(a5_0xc80b['fGnzfY']===undefined){var _0x1af63c=function(_0x133ca6){const _0x517084='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x30ede3='',_0x75bb9f='';for(let _0x58a370=0x0,_0x15995b,_0x41d9dd,_0x333d12=0x0;_0x41d9dd=_0x133ca6['charAt'](_0x333d12++);~_0x41d9dd&&(_0x15995b=_0x58a370%0x4?_0x15995b*0x40+_0x41d9dd:_0x41d9dd,_0x58a370++%0x4)?_0x30ede3+=String['fromCharCode'](0xff&_0x15995b>>(-0x2*_0x58a370&0x6)):0x0){_0x41d9dd=_0x517084['indexOf'](_0x41d9dd);}for(let _0x584cb3=0x0,_0x2ea895=_0x30ede3['length'];_0x584cb3<_0x2ea895;_0x584cb3++){_0x75bb9f+='%'+('00'+_0x30ede3['charCodeAt'](_0x584cb3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x75bb9f);};a5_0xc80b['HWkWCq']=_0x1af63c,a5_0xc80b['WbhSft']={},a5_0xc80b['fGnzfY']=!![];}const _0x2771e6=_0x344dcb[0x0],_0xfcbbc7=_0x4db3ce+_0x2771e6,_0x5fcea=a5_0xc80b['WbhSft'][_0xfcbbc7];return!_0x5fcea?(_0xc80b5=a5_0xc80b['HWkWCq'](_0xc80b5),a5_0xc80b['WbhSft'][_0xfcbbc7]=_0xc80b5):_0xc80b5=_0x5fcea,_0xc80b5;}(function(_0x14308f,_0x24480f){const _0x465df7=a5_0xc80b,_0x4a708f=_0x14308f();while(!![]){try{const _0x251390=-parseInt(_0x465df7(0x126))/0x1*(-parseInt(_0x465df7(0x111))/0x2)+-parseInt(_0x465df7(0x112))/0x3+parseInt(_0x465df7(0x115))/0x4+-parseInt(_0x465df7(0x11c))/0x5*(parseInt(_0x465df7(0x120))/0x6)+parseInt(_0x465df7(0x125))/0x7*(-parseInt(_0x465df7(0x113))/0x8)+-parseInt(_0x465df7(0x121))/0x9+parseInt(_0x465df7(0x127))/0xa*(parseInt(_0x465df7(0x11e))/0xb);if(_0x251390===_0x24480f)break;else _0x4a708f['push'](_0x4a708f['shift']());}catch(_0x146134){_0x4a708f['push'](_0x4a708f['shift']());}}}(a5_0x344d,0xa82bf));import{Router}from'express';function a5_0x344d(){const _0x53c38c=['ywXYzwfKEsbPBG','qsbZy2fUigLZia','nLfmsxLiAa','mJG4mJe2ou9Ru0rbBa','mtzlvMXnrMu','zgv4zxm','ntaWmZK1nKHAEeLyBq','z2v0u2nHBLn0yq','t0Dsrvnt','zgf0yq','B2PLy3rZ','C2nHBKfSBfbHDa','z2v0','mtb6yKTku24','Cg9ZDa','mZi0odG5mdD1AfvyCfO','l3n0yxr1CW','mJa1nJiWnLvXyK9WrG','otq1nJiWmw1KBxjLBW','y2XLyxjbBgXjBG','DhvZ','C3vJy2vZCW','mZi2otC3n01Squr1sW','mZG0ndDNyvLkrgS','mtbTs1PjqMK','u0nbtL9jtL9quG','ANnVBG','Aw5KzxHbBgXqCG'];a5_0x344d=function(){return _0x53c38c;};return a5_0x344d();}import*as a5_0x15a12d from'../services/scanner.js';import*as a5_0x49fa02 from'../services/search.js';import{AppError,ErrorCodes}from'../middleware/errorHandler.js';export const scanRouter=Router();scanRouter[a5_0x45d3ef(0x11d)]('/',async(_0x2876bc,_0x5a2d53,_0x4f6f8b)=>{const _0xa2a74a=a5_0x45d3ef,_0x29d045={'clwQz':function(_0x2ed791,_0x213e63){return _0x2ed791(_0x213e63);}};try{const _0x3304a2=a5_0x15a12d[_0xa2a74a(0x116)+_0xa2a74a(0x123)]();if(_0x3304a2['scanning'])throw new AppError(0x199,ErrorCodes[_0xa2a74a(0x10c)+_0xa2a74a(0x117)],_0xa2a74a(0x110)+_0xa2a74a(0x10f)+'\x20progress');const _0x4e605a=await a5_0x15a12d[_0xa2a74a(0x11a)+'hs']();a5_0x49fa02[_0xa2a74a(0x122)+_0xa2a74a(0x114)](),a5_0x49fa02[_0xa2a74a(0x10e)+_0xa2a74a(0x119)]();const _0x1103c0={};_0x1103c0[_0xa2a74a(0x124)]=!![],_0x1103c0[_0xa2a74a(0x118)]=_0x4e605a,_0x5a2d53[_0xa2a74a(0x10d)](_0x1103c0);}catch(_0x4d7ab2){_0x29d045['clwQz'](_0x4f6f8b,_0x4d7ab2);}}),scanRouter[a5_0x45d3ef(0x11b)](a5_0x45d3ef(0x11f),(_0x285a63,_0x5a28d2)=>{const _0x5ac845=a5_0x45d3ef,_0x5c9b50=a5_0x15a12d['getScanSta'+'tus'](),_0x132505={};_0x132505[_0x5ac845(0x124)]=!![],_0x132505[_0x5ac845(0x118)]=_0x5c9b50,_0x5a28d2['json'](_0x132505);});
1
+ const a6_0x16ac59=a6_0x5673;(function(_0x5c2e8e,_0x70868){const _0xf4f284=a6_0x5673,_0x47500c=_0x5c2e8e();while(!![]){try{const _0x54d43b=parseInt(_0xf4f284(0x1a5))/0x1+-parseInt(_0xf4f284(0x1ad))/0x2+parseInt(_0xf4f284(0x1b2))/0x3+-parseInt(_0xf4f284(0x1a1))/0x4+-parseInt(_0xf4f284(0x1b1))/0x5*(-parseInt(_0xf4f284(0x1a6))/0x6)+parseInt(_0xf4f284(0x1a4))/0x7+-parseInt(_0xf4f284(0x1ab))/0x8;if(_0x54d43b===_0x70868)break;else _0x47500c['push'](_0x47500c['shift']());}catch(_0x2d3268){_0x47500c['push'](_0x47500c['shift']());}}}(a6_0x4311,0x20d4f));import{Router}from'express';import*as a6_0x20f3e2 from'../services/scanner.js';import*as a6_0x8a53a5 from'../services/search.js';function a6_0x4311(){const _0x5398d9=['ntm0mte1AhLzvLfh','mZGYnZy3AKHRr2zg','ANnVBG','Cg9ZDa','zgf0yq','qsbZy2fUigLZia','z2v0','mtK2ntG0sfbovgnA','z2v0u2nHBLn0yq','C2nHBM5PBMC','mtuYmZq1mKPQAfj6DW','mta5otGYtuToEwzn','nLHYCMTyuq','B2PLy3rZ','ywXYzwfKEsbPBG','C3vJy2vZCW','u0nbtL9jtL9quG','mtC5mtG2nhjuCvLdqq','l3n0yxr1CW','mZa4odq0CNrSuMHb','zgv4zxm','ihbYB2DYzxnZ','DhvZ'];a6_0x4311=function(){return _0x5398d9;};return a6_0x4311();}import{AppError,ErrorCodes}from'../middleware/errorHandler.js';export const scanRouter=Router();function a6_0x5673(_0x359287,_0xab71c8){_0x359287=_0x359287-0x19e;const _0x43111b=a6_0x4311();let _0x567352=_0x43111b[_0x359287];if(a6_0x5673['tRLVSN']===undefined){var _0x1f65f8=function(_0x382381){const _0x9c6741='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x12de4a='',_0x1b47dc='';for(let _0x272f56=0x0,_0x244abe,_0x53714d,_0x492dea=0x0;_0x53714d=_0x382381['charAt'](_0x492dea++);~_0x53714d&&(_0x244abe=_0x272f56%0x4?_0x244abe*0x40+_0x53714d:_0x53714d,_0x272f56++%0x4)?_0x12de4a+=String['fromCharCode'](0xff&_0x244abe>>(-0x2*_0x272f56&0x6)):0x0){_0x53714d=_0x9c6741['indexOf'](_0x53714d);}for(let _0x5abd0a=0x0,_0x46ff82=_0x12de4a['length'];_0x5abd0a<_0x46ff82;_0x5abd0a++){_0x1b47dc+='%'+('00'+_0x12de4a['charCodeAt'](_0x5abd0a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1b47dc);};a6_0x5673['FIofhA']=_0x1f65f8,a6_0x5673['dUuRIy']={},a6_0x5673['tRLVSN']=!![];}const _0x49a240=_0x43111b[0x0],_0x5649da=_0x359287+_0x49a240,_0x483301=a6_0x5673['dUuRIy'][_0x5649da];return!_0x483301?(_0x567352=a6_0x5673['FIofhA'](_0x567352),a6_0x5673['dUuRIy'][_0x5649da]=_0x567352):_0x567352=_0x483301,_0x567352;}scanRouter[a6_0x16ac59(0x1b4)]('/',async(_0x4cc94b,_0x318058,_0x10588d)=>{const _0x5ec6ca=a6_0x16ac59,_0x17c8c3={'iyAIO':function(_0x4a40cf,_0xf510eb){return _0x4a40cf(_0xf510eb);}};try{const _0x334d01=a6_0x20f3e2['getScanSta'+_0x5ec6ca(0x1b0)]();if(_0x334d01[_0x5ec6ca(0x1a3)])throw new AppError(0x199,ErrorCodes[_0x5ec6ca(0x1aa)+'OGRESS'],_0x5ec6ca(0x19f)+_0x5ec6ca(0x1a8)+_0x5ec6ca(0x1af));const _0x1a71bf=await a6_0x20f3e2['scanAllPat'+'hs']();a6_0x8a53a5['clearAllIn'+_0x5ec6ca(0x1ae)](),a6_0x8a53a5['indexAllPr'+_0x5ec6ca(0x1a7)]();const _0x14a9eb={};_0x14a9eb['success']=!![],_0x14a9eb[_0x5ec6ca(0x19e)]=_0x1a71bf,_0x318058[_0x5ec6ca(0x1b3)](_0x14a9eb);}catch(_0x5c47da){_0x17c8c3['iyAIO'](_0x10588d,_0x5c47da);}}),scanRouter[a6_0x16ac59(0x1a0)](a6_0x16ac59(0x1ac),(_0x9f9027,_0x25f6f9)=>{const _0x98eeaf=a6_0x16ac59,_0x504147=a6_0x20f3e2[_0x98eeaf(0x1a2)+_0x98eeaf(0x1b0)](),_0xd83316={};_0xd83316[_0x98eeaf(0x1a9)]=!![],_0xd83316[_0x98eeaf(0x19e)]=_0x504147,_0x25f6f9[_0x98eeaf(0x1b3)](_0xd83316);});
@@ -1 +1 @@
1
- const a6_0x5bbfd2=a6_0x94b9;(function(_0x40ed2b,_0x388ce7){const _0x2c7bc5=a6_0x94b9,_0x14183c=_0x40ed2b();while(!![]){try{const _0x56da62=-parseInt(_0x2c7bc5(0xfd))/0x1+parseInt(_0x2c7bc5(0x109))/0x2+-parseInt(_0x2c7bc5(0x105))/0x3*(-parseInt(_0x2c7bc5(0x106))/0x4)+-parseInt(_0x2c7bc5(0x102))/0x5+parseInt(_0x2c7bc5(0xff))/0x6+-parseInt(_0x2c7bc5(0x103))/0x7+parseInt(_0x2c7bc5(0x100))/0x8;if(_0x56da62===_0x388ce7)break;else _0x14183c['push'](_0x14183c['shift']());}catch(_0x3cce9c){_0x14183c['push'](_0x14183c['shift']());}}}(a6_0x1d6e,0x5ba0d));import{Router}from'express';function a6_0x94b9(_0x576d13,_0x11e20d){_0x576d13=_0x576d13-0xf3;const _0x1d6ec4=a6_0x1d6e();let _0x94b99c=_0x1d6ec4[_0x576d13];if(a6_0x94b9['uJldmT']===undefined){var _0x15b503=function(_0x2fe096){const _0x3c4131='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2ae7f0='',_0x44dd45='';for(let _0x3df944=0x0,_0x41cf47,_0x26873b,_0x6bd581=0x0;_0x26873b=_0x2fe096['charAt'](_0x6bd581++);~_0x26873b&&(_0x41cf47=_0x3df944%0x4?_0x41cf47*0x40+_0x26873b:_0x26873b,_0x3df944++%0x4)?_0x2ae7f0+=String['fromCharCode'](0xff&_0x41cf47>>(-0x2*_0x3df944&0x6)):0x0){_0x26873b=_0x3c4131['indexOf'](_0x26873b);}for(let _0x10aa65=0x0,_0x174d25=_0x2ae7f0['length'];_0x10aa65<_0x174d25;_0x10aa65++){_0x44dd45+='%'+('00'+_0x2ae7f0['charCodeAt'](_0x10aa65)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x44dd45);};a6_0x94b9['USePhz']=_0x15b503,a6_0x94b9['PMZfqh']={},a6_0x94b9['uJldmT']=!![];}const _0x3f38d5=_0x1d6ec4[0x0],_0x1c3e4d=_0x576d13+_0x3f38d5,_0x5ab923=a6_0x94b9['PMZfqh'][_0x1c3e4d];return!_0x5ab923?(_0x94b99c=a6_0x94b9['USePhz'](_0x94b99c),a6_0x94b9['PMZfqh'][_0x1c3e4d]=_0x94b99c):_0x94b99c=_0x5ab923,_0x94b99c;}function a6_0x1d6e(){const _0x2a7572=['mJC3mti3mfzJA2Pdta','mZu0nZq4oevUBNzhCa','DcbMB3vUzdOG','nJy5DfbIzfL1','mZG0nfn6wfHQzG','tLD6tg4','ChjVAMvJDeLK','ota2mtGYDuDKDuzK','BgvUz3rO','C2vHCMnOsw5qCG','zgf0yq','ufjpsKvdvf9otW','wNbbtLa','ANnVBG','z2v0uhjVAMvJDa','B2PLy3q','DhjPBq','CxvLCNK','lZPWCM9Qzwn0sq','ntuXnJmWugfwy2fe','qNLjza','mZy1mteWoefoCxH6qG','nty5nJuYmffKBLn6Aa','C3vJy2vZCW'];a6_0x1d6e=function(){return _0x2a7572;};return a6_0x1d6e();}import*as a6_0x17f812 from'../services/search.js';import*as a6_0x584e18 from'../services/config.js';import{AppError,ErrorCodes}from'../middleware/errorHandler.js';export const searchRouter=Router();searchRouter['get'](a6_0x5bbfd2(0xfc)+'d',(_0x5c4a66,_0x4135d4,_0xb5fd32)=>{const _0x25e916=a6_0x5bbfd2,_0xd7dd8e={'NWzLn':function(_0x3f0b55,_0x4dcb3b){return _0x3f0b55===_0x4dcb3b;},'ZpANP':function(_0x5a1516,_0x374926){return _0x5a1516(_0x374926);}};try{const _0x3c633d=_0x5c4a66['params'][_0x25e916(0x108)],_0x4967a2=_0x5c4a66[_0x25e916(0xfb)]['q'];if(!_0x4967a2||_0xd7dd8e[_0x25e916(0x107)](_0x4967a2[_0x25e916(0xfa)]()[_0x25e916(0x10a)],0x0)){const _0xcb81d4={};_0xcb81d4[_0x25e916(0x101)]=!![],_0xcb81d4[_0x25e916(0xf4)]=[],_0x4135d4[_0x25e916(0xf7)](_0xcb81d4);return;}const _0x500229=a6_0x584e18[_0x25e916(0xf8)+_0x25e916(0xfe)](_0x3c633d);if(!_0x500229)throw new AppError(0x194,ErrorCodes[_0x25e916(0xf5)+'T_FOUND'],'Project\x20no'+_0x25e916(0x104)+_0x3c633d);const _0x4bb7ae=a6_0x17f812[_0x25e916(0xf3)+_0x25e916(0xf9)](_0x3c633d,_0x4967a2[_0x25e916(0xfa)]()),_0x50b21a={};_0x50b21a[_0x25e916(0x101)]=!![],_0x50b21a[_0x25e916(0xf4)]=_0x4bb7ae,_0x4135d4['json'](_0x50b21a);}catch(_0x8fb4c2){_0xd7dd8e[_0x25e916(0xf6)](_0xb5fd32,_0x8fb4c2);}});
1
+ const a7_0x483136=a7_0x53f6;(function(_0x5362cd,_0xa65a10){const _0x4c50de=a7_0x53f6,_0x4d1e1f=_0x5362cd();while(!![]){try{const _0x5e3ae6=-parseInt(_0x4c50de(0xda))/0x1*(-parseInt(_0x4c50de(0xcf))/0x2)+parseInt(_0x4c50de(0xcb))/0x3+-parseInt(_0x4c50de(0xc6))/0x4*(parseInt(_0x4c50de(0xc5))/0x5)+-parseInt(_0x4c50de(0xd1))/0x6+-parseInt(_0x4c50de(0xc8))/0x7*(parseInt(_0x4c50de(0xcd))/0x8)+-parseInt(_0x4c50de(0xc3))/0x9+parseInt(_0x4c50de(0xd3))/0xa*(parseInt(_0x4c50de(0xc7))/0xb);if(_0x5e3ae6===_0xa65a10)break;else _0x4d1e1f['push'](_0x4d1e1f['shift']());}catch(_0x538ec3){_0x4d1e1f['push'](_0x4d1e1f['shift']());}}}(a7_0x3f7b,0xc9b8f));import{Router}from'express';import*as a7_0x3e28a9 from'../services/search.js';import*as a7_0x234a14 from'../services/config.js';import{AppError,ErrorCodes}from'../middleware/errorHandler.js';function a7_0x53f6(_0x1c55a6,_0x26e956){_0x1c55a6=_0x1c55a6-0xc3;const _0x3f7b24=a7_0x3f7b();let _0x53f62d=_0x3f7b24[_0x1c55a6];if(a7_0x53f6['ylbeYf']===undefined){var _0x4cccf9=function(_0x53767d){const _0x358e62='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3257d4='',_0x2f597d='';for(let _0x2d48f2=0x0,_0x5406cc,_0x408d9a,_0x518d67=0x0;_0x408d9a=_0x53767d['charAt'](_0x518d67++);~_0x408d9a&&(_0x5406cc=_0x2d48f2%0x4?_0x5406cc*0x40+_0x408d9a:_0x408d9a,_0x2d48f2++%0x4)?_0x3257d4+=String['fromCharCode'](0xff&_0x5406cc>>(-0x2*_0x2d48f2&0x6)):0x0){_0x408d9a=_0x358e62['indexOf'](_0x408d9a);}for(let _0x338f61=0x0,_0x57190b=_0x3257d4['length'];_0x338f61<_0x57190b;_0x338f61++){_0x2f597d+='%'+('00'+_0x3257d4['charCodeAt'](_0x338f61)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2f597d);};a7_0x53f6['pHvLJs']=_0x4cccf9,a7_0x53f6['keobTK']={},a7_0x53f6['ylbeYf']=!![];}const _0x159621=_0x3f7b24[0x0],_0x5bfda5=_0x1c55a6+_0x159621,_0x29afc6=a7_0x53f6['keobTK'][_0x5bfda5];return!_0x29afc6?(_0x53f62d=a7_0x53f6['pHvLJs'](_0x53f62d),a7_0x53f6['keobTK'][_0x5bfda5]=_0x53f62d):_0x53f62d=_0x29afc6,_0x53f62d;}function a7_0x3f7b(){const _0x53c22a=['uhjVAMvJDcbUBW','BgvUz3rO','ChjVAMvJDeLK','B2PLy3q','DcbMB3vUzdOG','mJn2s2nTyui','z2v0','CxvLCNK','C2vHCMnOsw5qCG','ANnVBG','qNLjza','CgfYyw1Z','mta1nJC4mdLdt0fUC2C','vf9gt1vora','mJqWnJvUDwvcv1m','mti5mNHIvMfJCq','mZqWnJK2nZn0CwX1CKS','mte3mdyXzNfzshjf','ufjpsKvdvf9otW','z2v0uhjVAMvJDa','nduZnJm3mKvNwNLeBq','rNPJvMe','nJu2AvLgBgv4','zgf0yq','ntiYndjHueDIBhm','C3vJy2vZCW','mtCWmJG1ngn6AxfWuG','Eg1ru0O','mtb3zNLNs2K','DhjPBq'];a7_0x3f7b=function(){return _0x53c22a;};return a7_0x3f7b();}export const searchRouter=Router();searchRouter[a7_0x483136(0xdb)]('/:projectI'+'d',(_0x326825,_0x5530ca,_0x32f2d4)=>{const _0x1a894e=a7_0x483136,_0x534bb4={'xmQSJ':function(_0x5b987b,_0xdcef43){return _0x5b987b===_0xdcef43;},'FzcVa':function(_0x2275b4,_0x51d51f){return _0x2275b4(_0x51d51f);}};try{const _0x8370ed=_0x326825[_0x1a894e(0xe0)][_0x1a894e(0xd7)],_0x46c1f9=_0x326825[_0x1a894e(0xdc)]['q'];if(!_0x46c1f9||_0x534bb4[_0x1a894e(0xd2)](_0x46c1f9['trim']()[_0x1a894e(0xd6)],0x0)){const _0x33613a={};_0x33613a[_0x1a894e(0xd0)]=!![],_0x33613a[_0x1a894e(0xce)]=[],_0x5530ca[_0x1a894e(0xde)](_0x33613a);return;}const _0x4931b6=a7_0x234a14[_0x1a894e(0xca)+_0x1a894e(0xdf)](_0x8370ed);if(!_0x4931b6)throw new AppError(0x194,ErrorCodes[_0x1a894e(0xc9)+_0x1a894e(0xc4)],_0x1a894e(0xd5)+_0x1a894e(0xd9)+_0x8370ed);const _0x19bf82=a7_0x3e28a9[_0x1a894e(0xdd)+_0x1a894e(0xd8)](_0x8370ed,_0x46c1f9[_0x1a894e(0xd4)]()),_0x1c0f77={};_0x1c0f77['success']=!![],_0x1c0f77[_0x1a894e(0xce)]=_0x19bf82,_0x5530ca['json'](_0x1c0f77);}catch(_0x24a330){_0x534bb4[_0x1a894e(0xcc)](_0x32f2d4,_0x24a330);}});
@@ -1 +1 @@
1
- function a7_0x8cc1(){const _0x243076=['Dw5KoIa','z2v0uhjVAMvJDa','BhvN','rMHgwee','z2v0ugfNzuj5uW','z2v0','DcbMB3vUzdOG','C2LVBG','CgfYyw1Z','AwXLig5VDcbMBW','lZPWCM9Qzwn0sq','t1vora','mJjotfvxtuy','mtG5nujTDe91tq','Bg9HzfDPA2LkCW','ntG5nZm4nwzmz0vJra','CMTKB3DU','m2XlDxv0sW','y3vYCMvUDfzLCG','DdOG','ndC0mfDnvgHYEa','B1zZrNK','BM90igzVDw5Kia','nJzuCMrKELu','BMfTzq','v2LRAsbKyxrHia','mte2ogzpzu1gwa','uhjVAMvJDcbUBW','v0Llsv9ot1rFrG','vf9gt1vora','n3nwz3r4yq','D2LRAvbHDgG','ugfNzsbUB3qGzG','zc86DMvYC2LVBG','B3vUzdOG','ufjpsKvdvf9otW','C3vJy2vZCW','ANnVBG','zM9YihbYB2PLyW','twfYA2rVD24GzG','zM9YihzLCNnPBW','mtaYmZyZmgXdDLPSyG','mtK1nJyYoejgwu1fzq','mtyZotq3mdbWsxDKv2S','zgf0yq','mJCWnwH0DMLmCq','ChjVAMvJDeLK','qNLjza','zMLSzq'];a7_0x8cc1=function(){return _0x243076;};return a7_0x8cc1();}const a7_0x29030d=a7_0xeb8a;(function(_0x32ea8d,_0xeb6757){const _0x1b8e04=a7_0xeb8a,_0x50f136=_0x32ea8d();while(!![]){try{const _0x4bbdbf=-parseInt(_0x1b8e04(0x93))/0x1*(parseInt(_0x1b8e04(0x6c))/0x2)+-parseInt(_0x1b8e04(0x97))/0x3*(parseInt(_0x1b8e04(0x7f))/0x4)+-parseInt(_0x1b8e04(0x82))/0x5*(-parseInt(_0x1b8e04(0x9a))/0x6)+parseInt(_0x1b8e04(0x73))/0x7*(-parseInt(_0x1b8e04(0x6f))/0x8)+-parseInt(_0x1b8e04(0x95))/0x9+-parseInt(_0x1b8e04(0x7e))/0xa*(parseInt(_0x1b8e04(0x92))/0xb)+parseInt(_0x1b8e04(0x80))/0xc;if(_0x4bbdbf===_0xeb6757)break;else _0x50f136['push'](_0x50f136['shift']());}catch(_0x51f886){_0x50f136['push'](_0x50f136['shift']());}}}(a7_0x8cc1,0x5d35a));function a7_0xeb8a(_0x188efc,_0x5cf2cd){_0x188efc=_0x188efc-0x6c;const _0x8cc10=a7_0x8cc1();let _0xeb8a8a=_0x8cc10[_0x188efc];if(a7_0xeb8a['ddwvXM']===undefined){var _0x484616=function(_0x2162ae){const _0x58fdfa='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4aecb4='',_0x3dfa5a='';for(let _0x231cf8=0x0,_0x2d1aff,_0x160ae1,_0x32d424=0x0;_0x160ae1=_0x2162ae['charAt'](_0x32d424++);~_0x160ae1&&(_0x2d1aff=_0x231cf8%0x4?_0x2d1aff*0x40+_0x160ae1:_0x160ae1,_0x231cf8++%0x4)?_0x4aecb4+=String['fromCharCode'](0xff&_0x2d1aff>>(-0x2*_0x231cf8&0x6)):0x0){_0x160ae1=_0x58fdfa['indexOf'](_0x160ae1);}for(let _0x456992=0x0,_0x2a1adb=_0x4aecb4['length'];_0x456992<_0x2a1adb;_0x456992++){_0x3dfa5a+='%'+('00'+_0x4aecb4['charCodeAt'](_0x456992)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3dfa5a);};a7_0xeb8a['lYoUzF']=_0x484616,a7_0xeb8a['ztlkMK']={},a7_0xeb8a['ddwvXM']=!![];}const _0x45094b=_0x8cc10[0x0],_0x4cdda7=_0x188efc+_0x45094b,_0x7ea65a=a7_0xeb8a['ztlkMK'][_0x4cdda7];return!_0x7ea65a?(_0xeb8a8a=a7_0xeb8a['lYoUzF'](_0xeb8a8a),a7_0xeb8a['ztlkMK'][_0x4cdda7]=_0xeb8a8a):_0xeb8a8a=_0x7ea65a,_0xeb8a8a;}import{Router}from'express';import*as a7_0xdff9ab from'../services/config.js';import*as a7_0x1daf67 from'../services/wiki-loader.js';import{AppError,ErrorCodes}from'../middleware/errorHandler.js';export const wikiRouter=Router();wikiRouter[a7_0x29030d(0x8b)](a7_0x29030d(0x90)+'d',(_0x1d73b9,_0x32eb14,_0x5239a8)=>{const _0x80770d=a7_0x29030d,_0x13c3ed={'FhFXA':function(_0x970e4,_0x51d3c3){return _0x970e4(_0x51d3c3);}};try{const _0x3be682=_0x1d73b9[_0x80770d(0x8e)][_0x80770d(0x83)],_0x364d4d=a7_0xdff9ab['getProject'+_0x80770d(0x84)](_0x3be682);if(!_0x364d4d)throw new AppError(0x194,ErrorCodes[_0x80770d(0x78)+'T_FOUND'],'Project\x20no'+_0x80770d(0x8c)+_0x3be682);const _0x36c506=a7_0x1daf67[_0x80770d(0x94)+'on'](_0x364d4d[_0x80770d(0x74)],_0x364d4d[_0x80770d(0x98)+_0x80770d(0x8d)]);if(!_0x36c506)throw new AppError(0x194,ErrorCodes['WIKI_NOT_F'+_0x80770d(0x91)],'Wiki\x20data\x20'+_0x80770d(0x9c)+_0x80770d(0x7b)+_0x80770d(0x99)+_0x364d4d[_0x80770d(0x6d)]);const _0xdf7305={};_0xdf7305[_0x80770d(0x79)]=!![],_0xdf7305[_0x80770d(0x81)]=_0x36c506,_0x32eb14['json'](_0xdf7305);}catch(_0x5f22e6){_0x13c3ed[_0x80770d(0x89)](_0x5239a8,_0x5f22e6);}}),wikiRouter[a7_0x29030d(0x8b)](a7_0x29030d(0x90)+a7_0x29030d(0x76)+'/:slug',(_0x50396a,_0x360658,_0x195959)=>{const _0x5e3028=a7_0x29030d,_0x2f30a6={'oVsFy':function(_0x286d1d,_0x465fcd){return _0x286d1d(_0x465fcd);}};try{const _0x196745=_0x50396a[_0x5e3028(0x8e)][_0x5e3028(0x83)],_0x1f4daa=_0x50396a[_0x5e3028(0x8e)]['version'],_0x35d15e=_0x50396a[_0x5e3028(0x8e)]['slug'],_0x3bc6e4=a7_0xdff9ab[_0x5e3028(0x87)+_0x5e3028(0x84)](_0x196745);if(!_0x3bc6e4)throw new AppError(0x194,ErrorCodes[_0x5e3028(0x78)+_0x5e3028(0x72)],_0x5e3028(0x70)+'t\x20found:\x20'+_0x196745);const _0x3d42ba=a7_0x1daf67[_0x5e3028(0x94)+'on'](_0x3bc6e4[_0x5e3028(0x74)],_0x1f4daa);if(!_0x3d42ba)throw new AppError(0x194,ErrorCodes[_0x5e3028(0x71)+'OUND'],_0x5e3028(0x6e)+_0x5e3028(0x9c)+_0x5e3028(0x7d)+'n:\x20'+_0x1f4daa);const _0x46ef63=a7_0x1daf67[_0x5e3028(0x8a)+_0x5e3028(0x88)](_0x3d42ba,_0x35d15e);if(!_0x46ef63)throw new AppError(0x194,ErrorCodes[_0x5e3028(0x71)+_0x5e3028(0x91)],_0x5e3028(0x75)+_0x5e3028(0x77)+_0x35d15e);const _0x2c7b41=a7_0x1daf67['loadPageMa'+_0x5e3028(0x96)](_0x3bc6e4[_0x5e3028(0x74)],_0x1f4daa,_0x46ef63[_0x5e3028(0x85)]);if(_0x2c7b41===null)throw new AppError(0x194,ErrorCodes[_0x5e3028(0x71)+_0x5e3028(0x91)],_0x5e3028(0x7c)+_0x5e3028(0x8f)+_0x5e3028(0x86)+_0x46ef63[_0x5e3028(0x85)]);const _0xa80262={};_0xa80262['page']=_0x46ef63,_0xa80262['content']=_0x2c7b41;const _0x457616={};_0x457616['success']=!![],_0x457616[_0x5e3028(0x81)]=_0xa80262,_0x360658[_0x5e3028(0x7a)](_0x457616);}catch(_0x200f9d){_0x2f30a6[_0x5e3028(0x9b)](_0x195959,_0x200f9d);}});
1
+ const a8_0x5176c1=a8_0x5472;(function(_0x1e882d,_0x5c0daa){const _0x4268c9=a8_0x5472,_0x308e27=_0x1e882d();while(!![]){try{const _0x2b59cf=-parseInt(_0x4268c9(0x20e))/0x1*(parseInt(_0x4268c9(0x214))/0x2)+-parseInt(_0x4268c9(0x208))/0x3*(parseInt(_0x4268c9(0x218))/0x4)+-parseInt(_0x4268c9(0x21d))/0x5*(parseInt(_0x4268c9(0x20c))/0x6)+-parseInt(_0x4268c9(0x1f6))/0x7*(parseInt(_0x4268c9(0x1f5))/0x8)+-parseInt(_0x4268c9(0x1f8))/0x9+-parseInt(_0x4268c9(0x215))/0xa*(-parseInt(_0x4268c9(0x200))/0xb)+-parseInt(_0x4268c9(0x21a))/0xc*(-parseInt(_0x4268c9(0x207))/0xd);if(_0x2b59cf===_0x5c0daa)break;else _0x308e27['push'](_0x308e27['shift']());}catch(_0x1b0106){_0x308e27['push'](_0x308e27['shift']());}}}(a8_0x35bb,0x5f5d7));import{Router}from'express';import*as a8_0x2a7740 from'../services/config.js';import*as a8_0x3b3ad6 from'../services/wiki-loader.js';import{AppError,ErrorCodes}from'../middleware/errorHandler.js';function a8_0x35bb(){const _0x4caa8b=['ugfNzsbUB3qGzG','mtfrqKDeENG','zMLSzq','CMTKB3DU','twfYA2rVD24GzG','t1vora','BMfTzq','CgfNzq','mJi5mZeZnZzju29PvKi','mtyWodaWm3b2CevzBq','DcbMB3vUzdOG','B3vUzdOG','BJOG','mtq4nZa2nhjSDxjfuq','CgfYyw1Z','mJe5BgTgEvDg','zM9YihzLCNnPBW','DMvYC2LVBG','AwXLig5VDcbMBW','v2LRAsbKyxrHia','DdOG','mJq5nerrwevSDq','mJa2mZKYmgPvwxnIza','qNLjza','vxLsr1K','ngvRy0rctW','BhvN','mtj6r2fxvgG','zc86DMvYC2LVBG','z2v0','nuzvvLriza','ufjpsKvdvf9otW','v0Llsv9ot1rFrG','Bg9HzfDPA2LkCW','ANnVBG','lZPWCM9Qzwn0sq','vf9gt1vora','Bg9HzfbHz2vnyq','zM9YihbYB2PLyW','nduWngDozMvWwa','nta2oeHstNfPDG','z2v0uhjVAMvJDa','mtaZnJyXmxzYy2TMAW','ChjVAMvJDeLK','D2LRAvbHDgG','BM90igzVDw5Kia','uhjVAMvJDcbUBW','C3vJy2vZCW','C2X1zW'];a8_0x35bb=function(){return _0x4caa8b;};return a8_0x35bb();}function a8_0x5472(_0x445362,_0x472ca8){_0x445362=_0x445362-0x1f1;const _0x35bb1f=a8_0x35bb();let _0x5472ac=_0x35bb1f[_0x445362];if(a8_0x5472['neVSKS']===undefined){var _0xca55b8=function(_0x16ed24){const _0x3b1b8f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x180057='',_0x55c1e2='';for(let _0x54c5ca=0x0,_0x51edc5,_0x5eac20,_0x581d8a=0x0;_0x5eac20=_0x16ed24['charAt'](_0x581d8a++);~_0x5eac20&&(_0x51edc5=_0x54c5ca%0x4?_0x51edc5*0x40+_0x5eac20:_0x5eac20,_0x54c5ca++%0x4)?_0x180057+=String['fromCharCode'](0xff&_0x51edc5>>(-0x2*_0x54c5ca&0x6)):0x0){_0x5eac20=_0x3b1b8f['indexOf'](_0x5eac20);}for(let _0x4363fc=0x0,_0x80d10=_0x180057['length'];_0x4363fc<_0x80d10;_0x4363fc++){_0x55c1e2+='%'+('00'+_0x180057['charCodeAt'](_0x4363fc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x55c1e2);};a8_0x5472['AvhBzU']=_0xca55b8,a8_0x5472['uuRstE']={},a8_0x5472['neVSKS']=!![];}const _0x123b5f=_0x35bb1f[0x0],_0x4b42ac=_0x445362+_0x123b5f,_0x5ad361=a8_0x5472['uuRstE'][_0x4b42ac];return!_0x5ad361?(_0x5472ac=a8_0x5472['AvhBzU'](_0x5472ac),a8_0x5472['uuRstE'][_0x4b42ac]=_0x5472ac):_0x5472ac=_0x5ad361,_0x5472ac;}export const wikiRouter=Router();wikiRouter['get'](a8_0x5176c1(0x1f1)+'d',(_0x55cb57,_0x4a6804,_0x3e9b7e)=>{const _0x18e201=a8_0x5176c1,_0x409e43={'cISkO':function(_0x472554,_0x4aac5b){return _0x472554(_0x4aac5b);}};try{const _0x161205=_0x55cb57['params'][_0x18e201(0x1f9)],_0x45f832=a8_0x2a7740[_0x18e201(0x1f7)+'ById'](_0x161205);if(!_0x45f832)throw new AppError(0x194,ErrorCodes['PROJECT_NO'+_0x18e201(0x1f2)],_0x18e201(0x1fc)+'t\x20found:\x20'+_0x161205);const _0x3fc582=a8_0x3b3ad6[_0x18e201(0x220)+'on'](_0x45f832[_0x18e201(0x1fa)],_0x45f832['currentVer'+'sion']);if(!_0x3fc582)throw new AppError(0x194,ErrorCodes[_0x18e201(0x21f)+_0x18e201(0x204)],_0x18e201(0x212)+'not\x20found\x20'+_0x18e201(0x1f4)+_0x18e201(0x213)+_0x45f832[_0x18e201(0x205)]);const _0x40488f={};_0x40488f['success']=!![],_0x40488f['data']=_0x3fc582,_0x4a6804[_0x18e201(0x221)](_0x40488f);}catch(_0x4fcb83){_0x409e43['cISkO'](_0x3e9b7e,_0x4fcb83);}}),wikiRouter[a8_0x5176c1(0x21c)]('/:projectI'+a8_0x5176c1(0x21b)+'/:slug',(_0x13289,_0x107b5f,_0x637b98)=>{const _0x4c4d6f=a8_0x5176c1,_0x3dd66f={};_0x3dd66f[_0x4c4d6f(0x217)]=function(_0x281159,_0x264f39){return _0x281159===_0x264f39;};const _0x144667=_0x3dd66f;try{const _0x3ad7da=_0x13289[_0x4c4d6f(0x20d)]['projectId'],_0x4f32cf=_0x13289[_0x4c4d6f(0x20d)][_0x4c4d6f(0x210)],_0x43603b=_0x13289[_0x4c4d6f(0x20d)][_0x4c4d6f(0x1fe)],_0xfd1cb6=a8_0x2a7740[_0x4c4d6f(0x1f7)+_0x4c4d6f(0x216)](_0x3ad7da);if(!_0xfd1cb6)throw new AppError(0x194,ErrorCodes[_0x4c4d6f(0x21e)+'T_FOUND'],_0x4c4d6f(0x1fc)+_0x4c4d6f(0x209)+_0x3ad7da);const _0x52bf7b=a8_0x3b3ad6[_0x4c4d6f(0x220)+'on'](_0xfd1cb6[_0x4c4d6f(0x1fa)],_0x4f32cf);if(!_0x52bf7b)throw new AppError(0x194,ErrorCodes[_0x4c4d6f(0x21f)+_0x4c4d6f(0x204)],_0x4c4d6f(0x212)+_0x4c4d6f(0x1fb)+_0x4c4d6f(0x20f)+_0x4c4d6f(0x20b)+_0x4f32cf);const _0x19381c=a8_0x3b3ad6['getPageByS'+_0x4c4d6f(0x219)](_0x52bf7b,_0x43603b);if(!_0x19381c)throw new AppError(0x194,ErrorCodes['WIKI_NOT_F'+_0x4c4d6f(0x204)],_0x4c4d6f(0x1ff)+_0x4c4d6f(0x20a)+_0x43603b);const _0x460dae=a8_0x3b3ad6[_0x4c4d6f(0x1f3)+_0x4c4d6f(0x202)](_0xfd1cb6[_0x4c4d6f(0x1fa)],_0x4f32cf,_0x19381c[_0x4c4d6f(0x201)]);if(_0x144667[_0x4c4d6f(0x217)](_0x460dae,null))throw new AppError(0x194,ErrorCodes['WIKI_NOT_F'+_0x4c4d6f(0x204)],_0x4c4d6f(0x203)+_0x4c4d6f(0x211)+'und:\x20'+_0x19381c[_0x4c4d6f(0x201)]);const _0x5444b9={};_0x5444b9[_0x4c4d6f(0x206)]=_0x19381c,_0x5444b9['content']=_0x460dae;const _0x5c4c9d={};_0x5c4c9d[_0x4c4d6f(0x1fd)]=!![],_0x5c4c9d['data']=_0x5444b9,_0x107b5f['json'](_0x5c4c9d);}catch(_0x2b1e22){_0x637b98(_0x2b1e22);}});