pmd-ruleset-visualizer 0.0.0-stage → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +228 -2
- package/package.json +46 -4
- package/public/app.js +1 -0
- package/public/index.html +236 -0
- package/public/sample-ruleset.xml +214 -0
- package/public/styles.css +310 -0
- package/server.js +2 -0
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
|
|
2
|
+
:root{--ink:#17231f;--muted:#77837d;--line:#e5ebe7;--paper:#f7f9f7;--green:#176b50}
|
|
3
|
+
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px "DM Sans",sans-serif}.topbar{height:66px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 5vw;position:sticky;top:0;z-index:3}.brand{display:flex;align-items:center;gap:9px;color:var(--ink);text-decoration:none;font-size:15px}.brand b{font-weight:700}.mark{background:var(--green);color:#fff;border-radius:8px;width:30px;height:30px;display:grid;place-items:center;font-weight:800}.actions{display:flex;align-items:center;gap:11px}.local{font-size:12px;color:#47705f}.local i{display:inline-block;width:7px;height:7px;background:#39a979;border-radius:50%;margin-right:5px}.primary,.ghost{border:0;border-radius:7px;padding:11px 15px;font:600 12px "DM Sans";cursor:pointer}.primary{background:var(--green);color:#fff}.primary:hover{background:#10583f}.ghost{background:#eff4f0;color:#40574a}.upload{display:inline-block}.upload input{display:none}.shell{max-width:1400px;margin:auto;padding:0 5vw}.intro{display:flex;justify-content:space-between;align-items:center;padding:52px 0 38px;min-height:240px}.eyebrow,.side-label,article small{font:500 10px "DM Mono";letter-spacing:1.2px;color:#829087}.intro h1{font:800 clamp(32px,4vw,47px)/1.1 Manrope;letter-spacing:-2px;margin:12px 0}.intro h1 em{font-style:normal;color:var(--green)}.intro p{max-width:540px;color:#738078;font-size:15px;line-height:1.6}.art{width:230px;height:160px;position:relative;display:grid;place-items:center;margin-right:7%}.ring{position:absolute;border:1px solid #cbded2;border-radius:50%;transform:rotate(-20deg)}.r1{width:205px;height:88px}.r2{width:150px;height:150px;border-color:#dce8e0}.core{width:62px;height:62px;border-radius:18px;background:var(--green);color:#fff;display:grid;place-items:center;font:700 16px "DM Mono";z-index:1}.node{position:absolute;background:white;border:1px solid var(--line);padding:5px 8px;border-radius:6px;color:#587365;font:10px "DM Mono"}.n1{top:7px;left:24px}.n2{right:0;top:72px}.n3{bottom:1px;left:74px}.input-panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px 24px;box-shadow:0 10px 30px #1c34290a;margin-bottom:45px}.panel-head,.result-head{display:flex;justify-content:space-between;align-items:start}.panel-head h2{font:700 18px Manrope;margin:0 0 5px}.panel-head p,.result-head p{margin:0;color:var(--muted);font-size:12px}.panel-head small{font:10px "DM Mono";color:#99a49d}textarea{width:100%;height:170px;margin:17px 0 12px;padding:14px;border:1px solid var(--line);border-radius:7px;background:#fafcfb;resize:vertical;font:12px/1.6 "DM Mono";color:#42564b;outline:none}textarea:focus{border-color:#8ab5a0}.input-foot{display:flex;align-items:center;justify-content:space-between;color:#9aa59e;font-size:11px}.error{margin-top:12px;padding:10px;background:#fff0ee;color:#a13f35;border-radius:6px}.result-head{align-items:center;margin-bottom:20px}.result-head h2{font:700 26px Manrope;margin:6px 0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:21px}.stats article{background:#fff;border:1px solid var(--line);border-radius:9px;padding:16px 18px}.stats strong{display:block;font:800 28px Manrope;margin:7px 0 0}.stats article span{font-size:11px;color:#89958e}.workspace{display:grid;grid-template-columns:210px minmax(0,1fr);gap:22px;align-items:start}.sidebar{background:#fff;border:1px solid var(--line);border-radius:9px;padding:16px 10px;position:sticky;top:80px}.side-label{padding:0 8px 10px}.nav{width:100%;display:flex;align-items:center;gap:5px;border:0;background:transparent;text-align:left;padding:9px 8px;border-radius:6px;color:#65736b;font:500 12px "DM Sans";cursor:pointer;margin-bottom:2px}.nav b{margin-left:auto;font:11px "DM Mono";color:#9aa69f}.nav.selected,.nav:hover{background:#edf5f0;color:var(--green)}.sidebar hr{border:0;border-top:1px solid var(--line);margin:13px 3px}.content{min-width:0}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:2px 0 16px}.toolbar h3{font:700 18px Manrope;margin:0 0 4px}.toolbar p{margin:0;color:#89958e;font-size:11px}.controls{display:flex;gap:7px;align-items:center}.search{height:35px;display:flex;align-items:center;gap:6px;padding:0 9px;border:1px solid var(--line);border-radius:6px;background:#fff;color:#829087}.search input{width:125px;border:0;outline:0;font:12px "DM Sans"}.controls select{height:35px;border:1px solid var(--line);border-radius:6px;background:white;padding:0 8px;color:#68766e;font:11px "DM Sans"}.toggle{display:flex;border:1px solid var(--line);background:#fff;border-radius:6px;padding:2px}.toggle button{border:0;background:transparent;color:#8b9790;width:28px;height:27px;border-radius:4px;cursor:pointer}.toggle button.active{background:#e9f3ed;color:var(--green)}.category-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:15px}.category-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px;text-align:left;cursor:pointer}.category-card:hover{border-color:#9dc6ae}.category-top{display:flex;justify-content:space-between;gap:6px}.category-name{font:600 12px Manrope;color:#35483e}.category-count{font:10px "DM Mono";color:#6d9a81;white-space:nowrap}.bar{height:4px;background:#edf1ee;border-radius:5px;margin-top:11px;overflow:hidden}.bar span{display:block;height:100%;background:#69a987}.rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.rule-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:13px;cursor:pointer;min-width:0}.rule-card:hover{border-color:#a6c7b4;box-shadow:0 4px 13px #1c34290b}.rule-top{display:flex;justify-content:space-between;gap:7px;align-items:start}.rule-name{font:700 13px Manrope;overflow-wrap:anywhere}.priority{font:10px "DM Mono";padding:4px 6px;border-radius:4px;white-space:nowrap;background:#eef4f0;color:#557a65}.priority.p1{background:#fdebea;color:#a64e45}.priority.p2{background:#fff2e2;color:#a66b25}.priority.p4,.priority.p5{background:#f1f2f1;color:#79847e}.rule-message{font-size:11px;color:#87928c;line-height:1.5;margin:8px 0 11px;min-height:16px}.rule-bottom{display:flex;justify-content:space-between;gap:8px;border-top:1px solid #f0f3f1;padding-top:8px}.rule-group{font:10px "DM Mono";color:#71917e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.property-count{font-size:10px;color:#9aa49e;white-space:nowrap}.list-layout{grid-template-columns:1fr}.list-layout .rule-message{min-height:0;margin:4px 0 7px}.empty{text-align:center;padding:45px;color:#89958e}.empty h3{font:700 16px Manrope;color:#42564b}.commented{margin:30px 0;padding:20px;background:#fff;border:1px solid var(--line);border-radius:9px}.commented h3{font:700 18px Manrope;margin:7px 0 4px}.commented p{font-size:12px;color:#89958e}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.chip{border:1px dashed #d6dfd9;background:#fafcfb;border-radius:6px;padding:8px 10px;color:#79867e;font:11px "DM Mono"}dialog{border:0;padding:0;border-radius:12px;width:min(550px,calc(100% - 28px));box-shadow:0 25px 80px #10271c44;color:var(--ink)}dialog::backdrop{background:#15271e66;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;padding:21px 23px 14px;border-bottom:1px solid var(--line)}.dialog-head h2{font:700 20px Manrope;margin:6px 0 0}.dialog-head button{border:0;border-radius:50%;width:29px;height:29px;font-size:20px;cursor:pointer}.detail-body{padding:18px 23px 25px}.meta{display:flex;gap:7px;flex-wrap:wrap}.meta span{padding:5px 8px;border-radius:5px;background:#eef4f0;color:#557b65;font:10px "DM Mono"}.detail-body p{font-size:13px;line-height:1.6;color:#69776f}.detail-body h4{font:700 10px "DM Mono";letter-spacing:.7px;color:#829087;margin:19px 0 8px}.detail-body code{font:11px/1.5 "DM Mono";color:#4e6e5b;overflow-wrap:anywhere}.prop{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #edf1ee;font-size:12px}.prop code{color:#4e6e5b}footer{display:flex;justify-content:space-between;color:#a0aaa3;font-size:11px;padding:30px 0 23px;margin-top:20px;border-top:1px solid var(--line)}
|
|
4
|
+
@media(max-width:950px){.workspace{grid-template-columns:175px 1fr}.category-cards{grid-template-columns:repeat(2,1fr)}.toolbar{align-items:flex-start;flex-direction:column}.controls{width:100%;flex-wrap:wrap}.intro .art{margin-right:0}}
|
|
5
|
+
@media(max-width:680px){.topbar{padding:0 14px}.local,.art{display:none}.shell{padding:0 14px}.intro{padding:32px 0 25px}.input-panel{padding:16px}.stats{grid-template-columns:repeat(2,1fr)}.workspace{grid-template-columns:1fr}.sidebar{position:static}.rule-grid{grid-template-columns:1fr}.category-cards{grid-template-columns:repeat(2,1fr)}.search{flex:1}.search input{width:100%;min-width:55px}.input-foot{align-items:flex-start;gap:10px;flex-direction:column}footer{flex-direction:column;gap:8px}}
|
|
6
|
+
|
|
7
|
+
.head-actions{display:flex;gap:8px}.tool-strip{display:flex;gap:5px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);padding:6px;border-radius:9px;margin:18px 0}.tool-tab{border:0;background:transparent;padding:10px 13px;border-radius:6px;color:#718078;font:600 12px "DM Sans";cursor:pointer}.tool-tab.active,.tool-tab:hover{background:#eaf4ee;color:var(--green)}.tab-panel[hidden]{display:none}.section-heading{margin:23px 0 16px}.section-heading h3{font:700 19px Manrope;margin:0 0 5px}.section-heading p{color:#849087;font-size:12px;margin:0}.graph-view{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.graph-group{background:#fff;border:1px solid var(--line);border-radius:9px;overflow:hidden}.graph-category{width:100%;display:flex;align-items:center;gap:12px;padding:14px;border:0;background:#f8fbf9;text-align:left;cursor:pointer;color:#34493d}.graph-symbol{width:34px;height:34px;border-radius:9px;background:#e6f2ea;color:var(--green);display:grid;place-items:center;font-size:18px}.graph-category b{display:block;font:700 13px Manrope}.graph-category small{display:block;color:#87948b;font-size:10px;margin-top:3px}.graph-chevron{margin-left:auto;color:#8b9b91}.graph-rules{padding:8px 12px 12px;display:grid;grid-template-columns:1fr 1fr;gap:6px}.graph-rule{display:flex;justify-content:space-between;gap:5px;text-align:left;border:1px solid #edf1ee;border-radius:5px;background:#fff;padding:8px;font:11px "DM Sans";color:#56685d;cursor:pointer;overflow-wrap:anywhere}.graph-rule:hover{border-color:#a7cbb4}.graph-rule small{font:10px "DM Mono";color:#8da396;white-space:nowrap}.graph-group.collapsed .graph-rules{display:none}.health-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:13px}.health-cards article{background:white;border:1px solid var(--line);border-radius:9px;padding:17px}.health-cards small{display:block;font:10px "DM Mono";letter-spacing:.8px;color:#829087}.health-cards b{display:block;font:800 25px Manrope;margin:7px 0}.health-cards span,.health-note{font-size:11px;color:#8a968e}.health-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.health-box{background:white;border:1px solid var(--line);border-radius:9px;padding:18px}.health-box h4,.diff-section h4{font:700 11px "DM Mono";letter-spacing:.8px;color:#77877d;margin:0 0 17px}.health-row{display:grid;grid-template-columns:130px 1fr 24px;gap:10px;align-items:center;margin:13px 0;font-size:11px;color:#637168}.health-row b{text-align:right;font:11px "DM Mono"}.health-track{height:7px;background:#edf2ee;border-radius:6px;overflow:hidden}.health-track i{height:100%;display:block;background:#69a987;border-radius:6px}.health-note{line-height:1.6;margin-top:16px}.compare-upload{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px;color:#89958e;font-size:12px}.diff-summary{display:flex;gap:10px;margin:15px 0}.diff-summary span{background:white;border:1px solid var(--line);border-radius:7px;padding:12px 17px;color:#6c7a71;font-size:12px}.diff-summary b{font:700 19px Manrope;margin-right:5px;color:#273c31}.diff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.diff-section{background:white;border:1px solid var(--line);border-radius:8px;padding:14px}.diff-section h4{display:flex;justify-content:space-between}.diff-section h4 b{font:11px "DM Mono"}.diff-row{padding:9px 0;border-top:1px solid #eff2f0}.diff-row code{display:block;font:11px "DM Mono";color:#536f5d;overflow-wrap:anywhere}.diff-row small{display:block;color:#9aa49e;font-size:9px;margin-top:3px;overflow-wrap:anywhere}.diff-row.added code{color:#2f8b5e}.diff-row.removed code{color:#b05c50}.diff-row.changed code{color:#aa7a32}.catalog-summary,.success-note{padding:14px;background:#edf6f0;border-radius:7px;color:#426e54;font-size:13px;margin:15px 0}.edit-row{display:flex;gap:20px;align-items:center;margin:12px 0 17px}.edit-row label{font-size:12px;color:#69776f}.edit-row select{margin-left:8px;border:1px solid var(--line);border-radius:5px;padding:6px}.check-label input{vertical-align:middle;margin-right:5px}
|
|
8
|
+
@media(max-width:900px){.graph-view{grid-template-columns:1fr}.health-columns,.diff-grid{grid-template-columns:1fr}.toolbar{flex-wrap:wrap}.health-row{grid-template-columns:110px 1fr 24px}}
|
|
9
|
+
@media(max-width:650px){.head-actions{flex-direction:column}.tool-strip{gap:2px}.tool-tab{padding:9px 8px;font-size:10px}.health-cards{grid-template-columns:1fr}.graph-rules{grid-template-columns:1fr}.compare-upload{align-items:flex-start;flex-direction:column}.diff-summary{flex-wrap:wrap}}
|
|
10
|
+
|
|
11
|
+
/* ── theme toggle button ── */
|
|
12
|
+
.theme-btn{background:transparent;border:1px solid var(--line);border-radius:7px;width:34px;height:34px;display:grid;place-items:center;font-size:16px;cursor:pointer;color:var(--ink);flex-shrink:0}
|
|
13
|
+
.theme-btn:hover{background:var(--line)}
|
|
14
|
+
|
|
15
|
+
/* ── chart row ── */
|
|
16
|
+
.chart-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}
|
|
17
|
+
.chart-box{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px;height:270px;display:flex;align-items:center;justify-content:center}
|
|
18
|
+
.chart-box canvas{max-height:234px}
|
|
19
|
+
@media(max-width:680px){.chart-row{grid-template-columns:1fr}}
|
|
20
|
+
|
|
21
|
+
/* ── dark mode ── */
|
|
22
|
+
[data-theme="dark"]{--ink:#c8d8d0;--muted:#7a9488;--line:#253028;--paper:#0f1712;--green:#39a979}
|
|
23
|
+
[data-theme="dark"] body{background:#0f1712;color:#c8d8d0}
|
|
24
|
+
[data-theme="dark"] .topbar{background:#111e18;border-color:#253028}
|
|
25
|
+
[data-theme="dark"] .brand{color:#c8d8d0}
|
|
26
|
+
[data-theme="dark"] .input-panel{background:#162019;border-color:#253028;box-shadow:none}
|
|
27
|
+
[data-theme="dark"] textarea{background:#0f1712;color:#a8c4b8;border-color:#253028}
|
|
28
|
+
[data-theme="dark"] textarea:focus{border-color:#39a979}
|
|
29
|
+
[data-theme="dark"] .stats article{background:#162019;border-color:#253028}
|
|
30
|
+
[data-theme="dark"] .stats strong{color:#c8d8d0}
|
|
31
|
+
[data-theme="dark"] .rule-card{background:#162019;border-color:#253028}
|
|
32
|
+
[data-theme="dark"] .rule-card:hover{border-color:#39a979;box-shadow:none}
|
|
33
|
+
[data-theme="dark"] .rule-name{color:#c8d8d0}
|
|
34
|
+
[data-theme="dark"] .rule-message{color:#7a9488}
|
|
35
|
+
[data-theme="dark"] .rule-group{color:#5a8a72}
|
|
36
|
+
[data-theme="dark"] .category-card{background:#162019;border-color:#253028}
|
|
37
|
+
[data-theme="dark"] .category-card:hover{border-color:#39a979}
|
|
38
|
+
[data-theme="dark"] .category-name{color:#c8d8d0}
|
|
39
|
+
[data-theme="dark"] .sidebar{background:#162019;border-color:#253028}
|
|
40
|
+
[data-theme="dark"] .nav{color:#7a9488}
|
|
41
|
+
[data-theme="dark"] .nav.selected,[data-theme="dark"] .nav:hover{background:#1d2f26;color:#39a979}
|
|
42
|
+
[data-theme="dark"] .sidebar hr{border-color:#253028}
|
|
43
|
+
[data-theme="dark"] .ghost{background:#1d2f26;color:#8db5a0}
|
|
44
|
+
[data-theme="dark"] .ghost:hover{background:#253028}
|
|
45
|
+
[data-theme="dark"] .search{background:#162019;border-color:#253028}
|
|
46
|
+
[data-theme="dark"] .search input{background:transparent;color:#a8c4b8}
|
|
47
|
+
[data-theme="dark"] .controls select{background:#162019;border-color:#253028;color:#a8c4b8}
|
|
48
|
+
[data-theme="dark"] .toggle{background:#162019;border-color:#253028}
|
|
49
|
+
[data-theme="dark"] .toggle button{color:#7a9488}
|
|
50
|
+
[data-theme="dark"] .toggle button.active{background:#1d2f26;color:#39a979}
|
|
51
|
+
[data-theme="dark"] .tool-strip{background:#111e18;border-color:#253028}
|
|
52
|
+
[data-theme="dark"] .tool-tab{color:#7a9488}
|
|
53
|
+
[data-theme="dark"] .tool-tab.active,[data-theme="dark"] .tool-tab:hover{background:#1d2f26;color:#39a979}
|
|
54
|
+
[data-theme="dark"] .priority{background:#1d2f26;color:#7dc4a0}
|
|
55
|
+
[data-theme="dark"] .priority.p1{background:#2e1a18;color:#d07068}
|
|
56
|
+
[data-theme="dark"] .priority.p2{background:#2a1f10;color:#c89050}
|
|
57
|
+
[data-theme="dark"] .priority.p4,[data-theme="dark"] .priority.p5{background:#1e2820;color:#7a9488}
|
|
58
|
+
[data-theme="dark"] .bar{background:#253028}
|
|
59
|
+
[data-theme="dark"] .graph-group{background:#162019;border-color:#253028}
|
|
60
|
+
[data-theme="dark"] .graph-category{background:#1a2620;color:#c8d8d0}
|
|
61
|
+
[data-theme="dark"] .graph-symbol{background:#1d2f26;color:#39a979}
|
|
62
|
+
[data-theme="dark"] .graph-rule{background:#162019;border-color:#253028;color:#8db5a0}
|
|
63
|
+
[data-theme="dark"] .graph-rule:hover{border-color:#39a979}
|
|
64
|
+
[data-theme="dark"] .chart-box{background:#162019;border-color:#253028}
|
|
65
|
+
[data-theme="dark"] .health-cards article{background:#162019;border-color:#253028}
|
|
66
|
+
[data-theme="dark"] .health-box{background:#162019;border-color:#253028}
|
|
67
|
+
[data-theme="dark"] .health-track{background:#253028}
|
|
68
|
+
[data-theme="dark"] .health-row{color:#7a9488}
|
|
69
|
+
[data-theme="dark"] .commented{background:#162019;border-color:#253028}
|
|
70
|
+
[data-theme="dark"] .chip{background:#162019;border-color:#253028;color:#7a9488}
|
|
71
|
+
[data-theme="dark"] .compare-upload{background:#162019;border-color:#253028;color:#7a9488}
|
|
72
|
+
[data-theme="dark"] .diff-summary span{background:#162019;border-color:#253028;color:#8db5a0}
|
|
73
|
+
[data-theme="dark"] .diff-summary b{color:#c8d8d0}
|
|
74
|
+
[data-theme="dark"] .diff-section{background:#162019;border-color:#253028}
|
|
75
|
+
[data-theme="dark"] .diff-row{border-color:#253028}
|
|
76
|
+
[data-theme="dark"] .diff-row code{color:#7a9488}
|
|
77
|
+
[data-theme="dark"] .diff-row.added code{color:#39a979}
|
|
78
|
+
[data-theme="dark"] .diff-row.removed code{color:#d07068}
|
|
79
|
+
[data-theme="dark"] .diff-row.changed code{color:#c89050}
|
|
80
|
+
[data-theme="dark"] .diff-row small{color:#5a7a68}
|
|
81
|
+
[data-theme="dark"] .catalog-summary{background:#1d2f26;color:#7dc4a0}
|
|
82
|
+
[data-theme="dark"] .success-note{background:#1d2f26;color:#7dc4a0}
|
|
83
|
+
[data-theme="dark"] .health-note{color:#5a7a68}
|
|
84
|
+
[data-theme="dark"] .empty h3{color:#a8c4b8}
|
|
85
|
+
[data-theme="dark"] .empty{color:#5a7a68}
|
|
86
|
+
[data-theme="dark"] dialog{background:#162019;color:#c8d8d0;border:1px solid #253028}
|
|
87
|
+
[data-theme="dark"] dialog::backdrop{background:#0a100d99}
|
|
88
|
+
[data-theme="dark"] .dialog-head{border-color:#253028}
|
|
89
|
+
[data-theme="dark"] .dialog-head h2{color:#c8d8d0}
|
|
90
|
+
[data-theme="dark"] .dialog-head button{background:#1d2f26;color:#a8c4b8}
|
|
91
|
+
[data-theme="dark"] .detail-body p{color:#8db5a0}
|
|
92
|
+
[data-theme="dark"] .detail-body h4{color:#5a8a72}
|
|
93
|
+
[data-theme="dark"] .detail-body code{color:#7dc4a0}
|
|
94
|
+
[data-theme="dark"] .meta span{background:#1d2f26;color:#7dc4a0}
|
|
95
|
+
[data-theme="dark"] .prop{border-color:#253028}
|
|
96
|
+
[data-theme="dark"] .prop code{color:#7dc4a0}
|
|
97
|
+
[data-theme="dark"] .edit-row label{color:#8db5a0}
|
|
98
|
+
[data-theme="dark"] .edit-row select{background:#162019;border-color:#253028;color:#a8c4b8}
|
|
99
|
+
[data-theme="dark"] .check-label{color:#8db5a0}
|
|
100
|
+
[data-theme="dark"] footer{border-color:#253028;color:#5a7a68}
|
|
101
|
+
[data-theme="dark"] .intro h1{color:#c8d8d0}
|
|
102
|
+
[data-theme="dark"] .intro p{color:#7a9488}
|
|
103
|
+
[data-theme="dark"] .core{background:#39a979}
|
|
104
|
+
[data-theme="dark"] .ring{border-color:#253028}
|
|
105
|
+
[data-theme="dark"] .node{background:#162019;border-color:#253028;color:#5a8a72}
|
|
106
|
+
[data-theme="dark"] .panel-head h2{color:#c8d8d0}
|
|
107
|
+
[data-theme="dark"] .result-head h2{color:#c8d8d0}
|
|
108
|
+
[data-theme="dark"] .toolbar h3{color:#c8d8d0}
|
|
109
|
+
[data-theme="dark"] .section-heading h3{color:#c8d8d0}
|
|
110
|
+
[data-theme="dark"] .input-foot{color:#5a7a68}
|
|
111
|
+
[data-theme="dark"] .local{color:#39a979}
|
|
112
|
+
[data-theme="dark"] .error{background:#2e1a18;color:#d07068}
|
|
113
|
+
[data-theme="dark"] .graph-chevron{color:#5a8a72}
|
|
114
|
+
|
|
115
|
+
/* ── bulk edit ── */
|
|
116
|
+
.bulk-cb{position:absolute;top:8px;left:8px;width:14px;height:14px;cursor:pointer;z-index:2;accent-color:var(--green)}
|
|
117
|
+
.rule-card{position:relative}
|
|
118
|
+
.rule-card.bulk-sel{border-color:var(--green);background:#f0faf4}
|
|
119
|
+
[data-theme="dark"] .rule-card.bulk-sel{background:#1a2e22}
|
|
120
|
+
#bulkBar{position:sticky;bottom:16px;background:#fff;border:1.5px solid var(--green);border-radius:10px;padding:12px 16px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;box-shadow:0 8px 30px #17231f22;z-index:4;margin-top:8px}
|
|
121
|
+
[data-theme="dark"] #bulkBar{background:#162019;box-shadow:0 8px 30px #00000055}
|
|
122
|
+
#bulkBar.hidden{display:none}
|
|
123
|
+
#bulkBar span{font:600 12px "DM Sans";color:var(--ink)}
|
|
124
|
+
#bulkBar select{border:1px solid var(--line);border-radius:5px;padding:5px 8px;font:11px "DM Sans";background:#fff;color:var(--ink)}
|
|
125
|
+
[data-theme="dark"] #bulkBar select{background:#162019;color:#c8d8d0;border-color:#253028}
|
|
126
|
+
|
|
127
|
+
/* ── heatmap ── */
|
|
128
|
+
.heatmap-grid{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}
|
|
129
|
+
.heatmap-cell{width:28px;height:28px;border-radius:4px;cursor:pointer;border:1px solid transparent;transition:transform .1s;position:relative}
|
|
130
|
+
.heatmap-cell:hover{transform:scale(1.25);z-index:1}
|
|
131
|
+
|
|
132
|
+
/* ── toast ── */
|
|
133
|
+
#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);background:#273c31;color:#c8d8d0;padding:10px 20px;border-radius:8px;font:12px "DM Sans";opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;z-index:99}
|
|
134
|
+
#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
|
|
135
|
+
|
|
136
|
+
/* ── kbd help ── */
|
|
137
|
+
#kbdHelp{position:fixed;bottom:24px;right:24px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 18px;font:11px "DM Mono";color:#556a5e;box-shadow:0 8px 30px #17231f18;z-index:99;line-height:1.9;opacity:0;pointer-events:none;transition:opacity .25s}
|
|
138
|
+
#kbdHelp.show{opacity:1}
|
|
139
|
+
[data-theme="dark"] #kbdHelp{background:#162019;border-color:#253028;color:#7a9488}
|
|
140
|
+
|
|
141
|
+
/* ── docs link ── */
|
|
142
|
+
.docs-link{font-size:10px;color:var(--green);text-decoration:none;white-space:nowrap}
|
|
143
|
+
.docs-link:hover{text-decoration:underline}
|
|
144
|
+
a#detailDocsLink{display:block;margin-top:6px;font-size:11px}
|
|
145
|
+
|
|
146
|
+
/* ── select all ── */
|
|
147
|
+
.select-all-wrap{display:flex;align-items:center;gap:5px;font:11px "DM Sans";color:var(--muted);cursor:pointer}
|
|
148
|
+
.select-all-wrap input{accent-color:var(--green)}
|
|
149
|
+
|
|
150
|
+
/* ── preset select ── */
|
|
151
|
+
#presetSelect{height:35px;border:1px solid var(--line);border-radius:6px;background:white;padding:0 8px;color:#68766e;font:11px "DM Sans";cursor:pointer}
|
|
152
|
+
[data-theme="dark"] #presetSelect{background:#162019;border-color:#253028;color:#a8c4b8}
|
|
153
|
+
|
|
154
|
+
/* ── kbd focus ── */
|
|
155
|
+
.rule-card.kbd-focus{outline:2px solid var(--green);outline-offset:1px}
|
|
156
|
+
|
|
157
|
+
/* ── settings slide-in panel ── */
|
|
158
|
+
.settings-overlay{position:fixed;inset:0;background:#00000055;z-index:9;backdrop-filter:blur(3px)}
|
|
159
|
+
.settings-overlay.hidden{display:none}
|
|
160
|
+
.settings-panel{position:fixed;top:0;right:-440px;width:400px;height:100vh;background:#fff;box-shadow:-8px 0 40px #17231f22;z-index:10;display:flex;flex-direction:column;transition:right .3s cubic-bezier(.4,0,.2,1)}
|
|
161
|
+
.settings-panel.open{right:0}
|
|
162
|
+
.settings-head{display:flex;justify-content:space-between;align-items:center;padding:20px 22px 14px;border-bottom:1px solid var(--line)}
|
|
163
|
+
.settings-head h3{font:700 18px Manrope;margin:0}
|
|
164
|
+
.settings-head button{border:0;background:transparent;font-size:22px;cursor:pointer;color:var(--muted);width:32px;height:32px;display:grid;place-items:center;border-radius:6px}
|
|
165
|
+
.settings-head button:hover{background:var(--line)}
|
|
166
|
+
.settings-body{padding:20px 22px;flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:14px}
|
|
167
|
+
.set-label{display:flex;flex-direction:column;gap:5px;font:600 11px "DM Mono";letter-spacing:.6px;color:var(--muted)}
|
|
168
|
+
.set-label input,.set-label select{height:38px;border:1px solid var(--line);border-radius:7px;padding:0 10px;font:13px "DM Sans";color:var(--ink);background:#fafcfb;outline:none}
|
|
169
|
+
.set-label input:focus,.set-label select:focus{border-color:var(--green)}
|
|
170
|
+
.settings-trigger{background:transparent;border:1px solid var(--line);border-radius:7px;width:34px;height:34px;display:grid;place-items:center;font-size:16px;cursor:pointer;color:var(--ink)}
|
|
171
|
+
.settings-trigger:hover{background:var(--line)}
|
|
172
|
+
[data-theme="dark"] .settings-panel{background:#162019;box-shadow:-8px 0 40px #00000055}
|
|
173
|
+
[data-theme="dark"] .settings-head{border-color:#253028}
|
|
174
|
+
[data-theme="dark"] .settings-head h3{color:#c8d8d0}
|
|
175
|
+
[data-theme="dark"] .settings-head button{color:#7a9488}
|
|
176
|
+
[data-theme="dark"] .settings-head button:hover{background:#253028}
|
|
177
|
+
[data-theme="dark"] .set-label input,[data-theme="dark"] .set-label select{background:#0f1712;border-color:#253028;color:#a8c4b8}
|
|
178
|
+
[data-theme="dark"] .settings-trigger{border-color:#253028;color:#c8d8d0}
|
|
179
|
+
|
|
180
|
+
/* ── run pmd panel ── */
|
|
181
|
+
.run-config{display:flex;align-items:flex-end;gap:10px;background:#fff;border:1px solid var(--line);border-radius:9px;padding:16px;margin-bottom:16px}
|
|
182
|
+
.run-status{padding:10px 14px;border-radius:7px;font-size:12px;margin-bottom:14px}
|
|
183
|
+
.run-status.running{background:#e8f4ec;color:#266644}
|
|
184
|
+
.run-status.error{background:#fdebea;color:#a13f35}
|
|
185
|
+
.run-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}
|
|
186
|
+
.run-summary article{background:#fff;border:1px solid var(--line);border-radius:9px;padding:14px 16px}
|
|
187
|
+
.run-summary small{display:block;font:10px "DM Mono";letter-spacing:.8px;color:#829087}
|
|
188
|
+
.run-summary strong{display:block;font:800 26px Manrope;margin:6px 0 2px;color:var(--ink)}
|
|
189
|
+
.run-summary span{font-size:11px;color:#8a968e}
|
|
190
|
+
.run-top-rule{font-size:14px}
|
|
191
|
+
.run-file-group{background:#fff;border:1px solid var(--line);border-radius:9px;overflow:hidden;margin-bottom:10px}
|
|
192
|
+
.run-file-head{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#f8fbf9;border-bottom:1px solid var(--line)}
|
|
193
|
+
.run-file-name{font:600 12px "DM Mono";color:#3d5e4d;overflow-wrap:anywhere}
|
|
194
|
+
.run-file-count{font:10px "DM Mono";color:#829087;white-space:nowrap;margin-left:8px}
|
|
195
|
+
.run-violation{display:grid;grid-template-columns:48px 1fr auto;gap:10px;align-items:start;padding:10px 14px;border-top:1px solid #f0f4f1}
|
|
196
|
+
.run-violation:first-child{border-top:0}
|
|
197
|
+
.run-line{font:11px "DM Mono";color:#829087;padding-top:2px;white-space:nowrap}
|
|
198
|
+
.run-rule{font:600 12px Manrope;color:var(--green);text-decoration:none}
|
|
199
|
+
.run-rule:hover{text-decoration:underline}
|
|
200
|
+
.run-desc{font-size:11px;color:#87928c;margin:3px 0 0;line-height:1.5}
|
|
201
|
+
.run-empty{text-align:center;padding:40px;color:#89958e}
|
|
202
|
+
.run-empty h3{font:700 16px Manrope;color:#42564b;margin:0 0 6px}
|
|
203
|
+
[data-theme="dark"] .run-config{background:#162019;border-color:#253028}
|
|
204
|
+
[data-theme="dark"] .run-status.running{background:#1d2f26;color:#39a979}
|
|
205
|
+
[data-theme="dark"] .run-status.error{background:#2e1a18;color:#d07068}
|
|
206
|
+
[data-theme="dark"] .run-summary article{background:#162019;border-color:#253028}
|
|
207
|
+
[data-theme="dark"] .run-summary strong{color:#c8d8d0}
|
|
208
|
+
[data-theme="dark"] .run-file-group{background:#162019;border-color:#253028}
|
|
209
|
+
[data-theme="dark"] .run-file-head{background:#1a2620;border-color:#253028}
|
|
210
|
+
[data-theme="dark"] .run-file-name{color:#7dc4a0}
|
|
211
|
+
[data-theme="dark"] .run-violation{border-color:#253028}
|
|
212
|
+
[data-theme="dark"] .run-rule{color:#39a979}
|
|
213
|
+
[data-theme="dark"] .run-desc{color:#7a9488}
|
|
214
|
+
[data-theme="dark"] .run-empty h3{color:#a8c4b8}
|
|
215
|
+
[data-theme="dark"] .run-empty{color:#5a7a68}
|
|
216
|
+
@media(max-width:680px){.run-config{flex-direction:column;align-items:stretch}.run-summary{grid-template-columns:1fr 1fr}.run-violation{grid-template-columns:36px 1fr auto}}
|
|
217
|
+
|
|
218
|
+
/* ── Code view panel (Monaco slide-in) ── */
|
|
219
|
+
.code-view-panel{position:fixed;top:0;right:-62vw;width:60vw;min-width:340px;max-width:900px;height:100vh;background:var(--paper);border-left:1px solid var(--line);box-shadow:-4px 0 24px rgba(0,0,0,.13);z-index:1200;display:flex;flex-direction:column;transition:right .3s cubic-bezier(.4,0,.2,1)}
|
|
220
|
+
.code-view-panel.open{right:0}
|
|
221
|
+
.code-view-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 12px;border-bottom:1px solid var(--line);gap:12px;flex-shrink:0}
|
|
222
|
+
.code-view-title{font:600 13px Manrope;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:4px}
|
|
223
|
+
.code-view-head button{font-size:20px;line-height:1;background:none;border:none;cursor:pointer;color:var(--muted);padding:4px 8px;border-radius:6px;flex-shrink:0}
|
|
224
|
+
.code-view-head button:hover{background:var(--line);color:var(--ink)}
|
|
225
|
+
.code-view-violations{display:flex;gap:6px;padding:8px 12px;border-bottom:1px solid var(--line);overflow-x:auto;flex-shrink:0;flex-wrap:nowrap}
|
|
226
|
+
.cv-vio{display:flex;align-items:center;gap:5px;padding:4px 8px;border-radius:6px;border:1px solid var(--line);background:var(--paper);cursor:pointer;font-size:11px;white-space:nowrap;transition:background .15s}
|
|
227
|
+
.cv-vio:hover{background:var(--line)}
|
|
228
|
+
.cv-line{font:600 11px "DM Mono";color:var(--muted)}
|
|
229
|
+
.cv-rule{font:500 11px Manrope;color:var(--ink)}
|
|
230
|
+
.monaco-container{flex:1;min-height:0;overflow:hidden}
|
|
231
|
+
.monaco-violation-line{background:rgba(200,80,60,.10)!important;border-left:3px solid rgba(200,80,60,.55)!important}
|
|
232
|
+
.monaco-violation-glyph::before{content:"⚠";font-size:12px;line-height:19px}
|
|
233
|
+
.run-file-btn{display:flex;align-items:center;gap:8px;background:none;border:none;cursor:pointer;padding:0;text-align:left;flex:1;min-width:0}
|
|
234
|
+
.run-file-btn:hover .run-file-name{color:var(--green);text-decoration:underline}
|
|
235
|
+
.run-file-open{font:600 10px "DM Mono";color:var(--green);opacity:.7;white-space:nowrap}
|
|
236
|
+
[data-theme="dark"] .code-view-panel{background:#121c16;border-color:#253028;box-shadow:-4px 0 24px rgba(0,0,0,.4)}
|
|
237
|
+
[data-theme="dark"] .code-view-head{border-color:#253028}
|
|
238
|
+
[data-theme="dark"] .code-view-violations{border-color:#253028}
|
|
239
|
+
[data-theme="dark"] .cv-vio{background:#1a2620;border-color:#253028}
|
|
240
|
+
[data-theme="dark"] .cv-vio:hover{background:#1f2f24}
|
|
241
|
+
[data-theme="dark"] .cv-rule{color:#c8d8d0}
|
|
242
|
+
[data-theme="dark"] .monaco-violation-line{background:rgba(200,80,60,.15)!important}
|
|
243
|
+
@media(max-width:700px){.code-view-panel{width:100vw;min-width:unset;right:-100vw}}
|
|
244
|
+
/* ── rule card checkbox fix ── */
|
|
245
|
+
.rule-card{padding-left:26px}
|
|
246
|
+
/* ── Monaco resize handle ── */
|
|
247
|
+
.cv-resize-handle{position:absolute;left:0;top:0;width:5px;height:100%;cursor:ew-resize;z-index:2;border-radius:3px 0 0 3px;transition:background .15s}
|
|
248
|
+
.cv-resize-handle:hover,.cv-resize-handle.dragging{background:var(--green);opacity:.4}
|
|
249
|
+
/* ── Save-as-default dialog ── */
|
|
250
|
+
.save-default-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:600;display:flex;align-items:center;justify-content:center;animation:fadeIn .15s ease}
|
|
251
|
+
.save-default-overlay.hidden{display:none}
|
|
252
|
+
.save-default-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:32px 36px;max-width:380px;width:90%;text-align:center;box-shadow:0 8px 40px rgba(0,0,0,.18);animation:slideUp .18s ease}
|
|
253
|
+
.save-default-icon{font-size:2.2rem;margin-bottom:10px}
|
|
254
|
+
.save-default-card h3{margin:0 0 8px;font-size:1.05rem;color:var(--ink)}
|
|
255
|
+
.save-default-card p{margin:0 0 24px;font-size:.85rem;color:var(--muted);line-height:1.5}
|
|
256
|
+
.save-default-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
|
|
257
|
+
.save-default-actions button{min-width:130px}
|
|
258
|
+
@keyframes slideUp{from{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}
|
|
259
|
+
.save-default-path-row{text-align:left;margin-bottom:20px}
|
|
260
|
+
.save-default-path-row label{display:block;font-size:.75rem;font-weight:600;letter-spacing:.05em;color:var(--muted);margin-bottom:6px;text-transform:uppercase}
|
|
261
|
+
.save-default-path-row input{width:100%;box-sizing:border-box;padding:9px 12px;border:1px solid var(--line);border-radius:7px;background:var(--paper);color:var(--ink);font-family:inherit;font-size:.82rem}
|
|
262
|
+
.save-default-path-hint{display:block;font-size:.76rem;color:var(--muted);margin-top:5px}
|
|
263
|
+
/* ── Run PMD button ── */
|
|
264
|
+
#runPmdBtn{font-family:'Rajdhani',system-ui,sans-serif;font-weight:700;font-size:1.08rem;letter-spacing:.08em;text-transform:uppercase}
|
|
265
|
+
/* ── Run elapsed badge ── */
|
|
266
|
+
.run-elapsed{display:inline-block;font-size:.78rem;color:var(--muted);margin-top:6px}
|
|
267
|
+
/* ── Run results toolbar ── */
|
|
268
|
+
.run-results-toolbar{display:flex;gap:8px;align-items:center;justify-content:flex-end;margin-bottom:8px}
|
|
269
|
+
|
|
270
|
+
/* ── Splash screen ── */
|
|
271
|
+
.splash-screen{position:fixed;inset:0;z-index:2000;background:radial-gradient(ellipse at 60% 40%,#1a3d2a 0%,#0d1f16 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .4s ease;overflow:hidden}
|
|
272
|
+
.splash-content{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;padding:32px}
|
|
273
|
+
.splash-mark{width:72px;height:72px;border-radius:50%;background:#39a979;color:#fff;font-size:2.2rem;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 0 40px rgba(57,169,121,.35);animation:splashPulse 2s ease-in-out infinite}
|
|
274
|
+
.splash-title{margin:0;color:#fff;font-size:2rem;font-weight:700;letter-spacing:-.01em}
|
|
275
|
+
.splash-sub{margin:0;color:rgba(255,255,255,.55);font-size:.9rem;letter-spacing:.03em}
|
|
276
|
+
.splash-ver{display:inline-block;padding:3px 10px;border-radius:20px;border:1px solid rgba(57,169,121,.4);color:rgba(255,255,255,.6);font-size:.75rem}
|
|
277
|
+
.splash-btns{display:inline-flex;gap:12px;margin-top:8px;flex-wrap:wrap;justify-content:center}
|
|
278
|
+
.splash-btn-primary{padding:10px 22px;border-radius:8px;background:#39a979;color:#fff;border:none;font-size:.9rem;font-weight:600;cursor:pointer;transition:opacity .15s}
|
|
279
|
+
.splash-btn-primary:hover{opacity:.85}
|
|
280
|
+
.splash-btn-ghost{padding:10px 22px;border-radius:8px;background:transparent;color:rgba(255,255,255,.8);border:1px solid rgba(255,255,255,.25);font-size:.9rem;cursor:pointer;transition:background .15s}
|
|
281
|
+
.splash-btn-ghost:hover{background:rgba(255,255,255,.08)}
|
|
282
|
+
.splash-progress-bar{position:absolute;bottom:0;left:0;height:3px;background:#39a979;width:0;animation:splashProgress 2.5s linear forwards}
|
|
283
|
+
@keyframes splashProgress{from{width:0}to{width:100%}}
|
|
284
|
+
@keyframes splashPulse{0%,100%{box-shadow:0 0 30px rgba(57,169,121,.3)}50%{box-shadow:0 0 55px rgba(57,169,121,.6)}}
|
|
285
|
+
|
|
286
|
+
/* ── Tour overlay ── */
|
|
287
|
+
.tour-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:900;pointer-events:none;transition:opacity .2s}
|
|
288
|
+
.tour-overlay.hidden{opacity:0}
|
|
289
|
+
.tour-overlay:not(.hidden){opacity:1}
|
|
290
|
+
|
|
291
|
+
/* ── Tour highlight ── */
|
|
292
|
+
.tour-highlight{outline:3px solid #39a979!important;outline-offset:4px;border-radius:6px;position:relative;z-index:901;box-shadow:0 0 0 6px rgba(57,169,121,.18)!important;transition:outline .2s}
|
|
293
|
+
|
|
294
|
+
/* ── Tour tooltip ── */
|
|
295
|
+
.tour-tip{position:fixed;z-index:902;width:340px;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:20px;box-shadow:0 8px 32px rgba(0,0,0,.2);transition:top .25s,left .25s,opacity .2s;max-width:calc(100vw - 16px)}
|
|
296
|
+
.tour-tip.hidden{opacity:0;pointer-events:none}
|
|
297
|
+
.tour-tip-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
|
|
298
|
+
.tour-counter{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600}
|
|
299
|
+
.tour-close{background:none;border:none;cursor:pointer;color:var(--muted);font-size:1rem;padding:2px 6px;border-radius:4px;line-height:1}
|
|
300
|
+
.tour-close:hover{color:var(--ink)}
|
|
301
|
+
.tour-tip-title{margin:0 0 8px;font-size:1rem;color:var(--ink)}
|
|
302
|
+
.tour-tip-text{margin:0 0 16px;font-size:.85rem;color:var(--muted);line-height:1.55}
|
|
303
|
+
.tour-tip-footer{display:flex;align-items:center;gap:8px}
|
|
304
|
+
.tour-dots{display:flex;gap:5px;flex:1;justify-content:center}
|
|
305
|
+
.tour-dot{width:6px;height:6px;border-radius:50%;background:var(--line);transition:background .2s;cursor:pointer}
|
|
306
|
+
.tour-dot.active{background:var(--green)}
|
|
307
|
+
.tour-prev:disabled{opacity:.35;cursor:default}
|
|
308
|
+
.tour-btn{width:32px;height:32px;border-radius:50%;background:none;border:1px solid var(--line);color:var(--muted);font-size:.95rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .15s,color .15s}
|
|
309
|
+
.tour-btn:hover{border-color:var(--green);color:var(--green)}
|
|
310
|
+
body.tour-active{overflow:hidden}
|
package/server.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
const _0x541c9a=_0x2d38;(function(_0x388926,_0x3d9e51){const _0x472c78={_0x5ce7f1:0xe9,_0xae77a5:0x14f,_0x2985b1:0x193,_0x2eb034:0x1ba},_0x44bab2=_0x2d38,_0x50fe48=_0x388926();while(!![]){try{const _0x6e8809=-parseInt(_0x44bab2(_0x472c78._0x5ce7f1))/0x1*(-parseInt(_0x44bab2(0x1b7))/0x2)+-parseInt(_0x44bab2(_0x472c78._0xae77a5))/0x3+-parseInt(_0x44bab2(0x156))/0x4*(parseInt(_0x44bab2(0x15c))/0x5)+-parseInt(_0x44bab2(_0x472c78._0x2985b1))/0x6*(-parseInt(_0x44bab2(0xfd))/0x7)+parseInt(_0x44bab2(0x1c0))/0x8*(-parseInt(_0x44bab2(_0x472c78._0x2eb034))/0x9)+parseInt(_0x44bab2(0x199))/0xa*(parseInt(_0x44bab2(0x196))/0xb)+-parseInt(_0x44bab2(0x100))/0xc;if(_0x6e8809===_0x3d9e51)break;else _0x50fe48['push'](_0x50fe48['shift']());}catch(_0x5e2b8a){_0x50fe48['push'](_0x50fe48['shift']());}}}(_0xfe10,0x1a53c));const express=require(_0x541c9a(0xdf)),multer=require(_0x541c9a(0xdb)),path=require(_0x541c9a(0x180)),{XMLParser,XMLValidator}=require(_0x541c9a(0x15f)+'arser'),{execFile}=require('child_proc'+_0x541c9a(0x128)),{writeFileSync,readFileSync,unlinkSync,mkdtempSync,rmdirSync}=require('fs'),{tmpdir}=require('os'),ExcelJS=require(_0x541c9a(0x175)),rawArgs=process[_0x541c9a(0x18b)][_0x541c9a(0x12e)](0x2);(rawArgs[_0x541c9a(0x1e8)](_0x541c9a(0x194))||rawArgs[_0x541c9a(0x1e8)]('-h'))&&(console['log']('\x0aPMD\x20Rules'+'et\x20Visuali'+_0x541c9a(0xe5)+':\x20node\x20ser'+_0x541c9a(0xf5)+_0x541c9a(0x149)+_0x541c9a(0x198)+_0x541c9a(0x146)+_0x541c9a(0x1c9)+'ort\x20to\x20lis'+'ten\x20on\x20(de'+_0x541c9a(0x181)+_0x541c9a(0x1a2)+'T)\x0a\x20\x20--ope'+'n\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x541c9a(0x1a8)+'the\x20app\x20in'+_0x541c9a(0x157)+_0x541c9a(0x1b8)+_0x541c9a(0x1d0)+'rting\x0a\x20\x20-h'+_0x541c9a(0xdd)+_0x541c9a(0x19c)+'ow\x20this\x20he'+_0x541c9a(0x1b6)+'\x0a\x20\x20'),process[_0x541c9a(0x19d)](0x0));function _0x2d38(_0x328c85,_0xd26659){_0x328c85=_0x328c85-0xd4;const _0xfe107=_0xfe10();let _0x2d38e3=_0xfe107[_0x328c85];if(_0x2d38['mSKEkR']===undefined){var _0x584e93=function(_0xd79499){const _0x18f747='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5d4389='',_0x5187a3='';for(let _0x59f214=0x0,_0x3883b8,_0x20a307,_0x24a033=0x0;_0x20a307=_0xd79499['charAt'](_0x24a033++);~_0x20a307&&(_0x3883b8=_0x59f214%0x4?_0x3883b8*0x40+_0x20a307:_0x20a307,_0x59f214++%0x4)?_0x5d4389+=String['fromCharCode'](0xff&_0x3883b8>>(-0x2*_0x59f214&0x6)):0x0){_0x20a307=_0x18f747['indexOf'](_0x20a307);}for(let _0x121df7=0x0,_0x5c5d65=_0x5d4389['length'];_0x121df7<_0x5c5d65;_0x121df7++){_0x5187a3+='%'+('00'+_0x5d4389['charCodeAt'](_0x121df7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5187a3);};_0x2d38['BkAGJu']=_0x584e93,_0x2d38['nlgSTq']={},_0x2d38['mSKEkR']=!![];}const _0x39bd0c=_0xfe107[0x0];_0x2d38['VdfyHM']!==_0x39bd0c&&(_0x2d38['nlgSTq']={},_0x2d38['VdfyHM']=_0x39bd0c);const _0x45433c=_0x2d38['nlgSTq'][_0x328c85];return _0x45433c===undefined?(_0x2d38e3=_0x2d38['BkAGJu'](_0x2d38e3),_0x2d38['nlgSTq'][_0x328c85]=_0x2d38e3):_0x2d38e3=_0x45433c,_0x2d38e3;}let PORT=Number(process.env.PORT)||0xbb8;const portIdx=rawArgs['findIndex'](_0x364115=>_0x364115==='-p'||_0x364115===_0x541c9a(0xe1));if(portIdx!==-0x1&&rawArgs[portIdx+0x1]){const p=Number(rawArgs[portIdx+0x1]);if(p>0x0)PORT=p;}const shouldOpen=rawArgs['includes'](_0x541c9a(0x176)),app=express(),upload=multer({'storage':multer[_0x541c9a(0x1cd)+_0x541c9a(0x17b)](),'limits':{'fileSize':0x2*0x400*0x400}});app[_0x541c9a(0xdc)](express[_0x541c9a(0x125)]({'limit':_0x541c9a(0x1e9)})),app['use'](express[_0x541c9a(0x18d)](path[_0x541c9a(0x154)](__dirname,'public')));const parser=new XMLParser({'ignoreAttributes':![],'attributeNamePrefix':'@_','textNodeName':_0x541c9a(0x171),'parseTagValue':![],'trimValues':!![]}),arr=_0x55b557=>_0x55b557==null?[]:Array[_0x541c9a(0x107)](_0x55b557)?_0x55b557:[_0x55b557],txt=_0x3f4918=>_0x3f4918==null?'':typeof _0x3f4918===_0x541c9a(0x1fa)?_0x3f4918:String(_0x3f4918[_0x541c9a(0x171)]??'');function sections(_0x22aacf){const _0x2609ae={_0x3661bf:0x1eb,_0x353ba1:0x10d,_0x3d2808:0x16b},_0x206027=_0x541c9a;let _0x1cb676='';const _0x17c932=[];for(const _0x3093d4 of _0x22aacf[_0x206027(0x13b)](/\r?\n/)){const _0x213fbc=_0x3093d4[_0x206027(_0x2609ae._0x3661bf)](/^\s*<!--\s*([A-Z][A-Z0-9 _/&-]{1,48})\s*-->\s*$/);if(_0x213fbc)_0x1cb676=_0x213fbc[0x1][_0x206027(0x1a3)]()[_0x206027(0x19f)](/\s+/g,'\x20');if(/<rule\b/i[_0x206027(_0x2609ae._0x353ba1)](_0x3093d4)&&!/<!--/[_0x206027(_0x2609ae._0x353ba1)](_0x3093d4))_0x17c932[_0x206027(_0x2609ae._0x3d2808)](_0x1cb676);}return _0x17c932;}function comments(_0x42a1ae){const _0x43640b={_0x1dd097:0x1eb,_0x2d9fe3:0x1b0,_0x1e8119:0xf4,_0x1a9924:0x1e1,_0x47b5fe:0x160,_0x4a0cb:0x13b},_0x9a7e96=_0x541c9a,_0xa57434=[];for(const _0x41da67 of _0x42a1ae[_0x9a7e96(_0x43640b._0x1dd097)](/<!--[\s\S]*?-->/g)||[]){for(const _0x1ee8a2 of _0x41da67[_0x9a7e96(_0x43640b._0x2d9fe3)](/<rule\b([^>]*)\/?>/gi)){const _0x1e8000=Object[_0x9a7e96(_0x43640b._0x1e8119)+'s']([..._0x1ee8a2[0x1]['matchAll'](/([\w:-]+)\s*=\s*"([^"]*)"/g)][_0x9a7e96(_0x43640b._0x1a9924)](_0x4bb496=>[_0x4bb496[0x1],_0x4bb496[0x2]]));if(_0x1e8000['ref'])_0xa57434[_0x9a7e96(0x16b)]({'ref':_0x1e8000[_0x9a7e96(_0x43640b._0x47b5fe)],'name':_0x1e8000[_0x9a7e96(_0x43640b._0x47b5fe)][_0x9a7e96(_0x43640b._0x4a0cb)]('/')[_0x9a7e96(0x10a)]()});}}return _0xa57434;}function groupOf(_0x2c42ed,_0x34d618){const _0x48ddc6={_0x5463dd:0x19f},_0x9dd44=_0x541c9a,_0x4dffac={'GwjfY':function(_0x56b72c,_0x5d5e76){return _0x56b72c(_0x5d5e76);},'paQbB':_0x9dd44(0x14d)};if(_0x34d618)return _0x34d618;const _0x2aa646=_0x4dffac['GwjfY'](String,_0x2c42ed)[_0x9dd44(0x1eb)](/category\/[^/]+\/([^/.]+)\.xml/i);return _0x2aa646?_0x2aa646[0x1][_0x9dd44(_0x48ddc6._0x5463dd)](/[-_]/g,'\x20')[_0x9dd44(_0x48ddc6._0x5463dd)](/\b\w/g,_0x160817=>_0x160817[_0x9dd44(0x1f6)+'e']()):_0x4dffac[_0x9dd44(0x115)];}function parse(_0x2b558b){const _0xddc7c9={_0x378856:0x1b9,_0x18d3e3:0x15a,_0x1ebf64:0xff,_0x53d3a8:0x14c,_0x5f365e:0x1ab,_0x56a0ba:0x1e2,_0x4c4e30:0x15e,_0x59c301:0x159,_0x3da446:0x112,_0xc99e7f:0x133,_0x2ec848:0x1e1,_0x4c8a40:0x1f7},_0x53c14b={_0x3093f2:0x18a,_0x5ab785:0x183,_0x5463aa:0xe8},_0x5d2bca={_0x166292:0x13b,_0xf5dc52:0x173},_0x5d3cc4=_0x541c9a,_0x56955d={'aClHF':function(_0x4afaf3,_0x39790c,_0x1ce225){return _0x4afaf3(_0x39790c,_0x1ce225);},'MpdCc':function(_0x73d0a9,_0x53c9d2){return _0x73d0a9(_0x53c9d2);},'WXCLA':function(_0x3ac38a,_0x2cb7a9){return _0x3ac38a+_0x2cb7a9;},'YfpfH':function(_0x2022ac,_0x2f7f7e){return _0x2022ac!==_0x2f7f7e;},'XNGNK':function(_0xed1bcf,_0x4d7c24){return _0xed1bcf!==_0x4d7c24;},'uhejK':_0x5d3cc4(_0xddc7c9._0x378856),'riDkz':function(_0x1692a7,_0x283833){return _0x1692a7(_0x283833);}},_0x4bceef=XMLValidator['validate'](_0x2b558b);if(_0x56955d[_0x5d3cc4(_0xddc7c9._0x18d3e3)](_0x4bceef,!![])){const _0x3afa8c=_0x4bceef[_0x5d3cc4(_0xddc7c9._0x1ebf64)]||{};throw new Error(_0x5d3cc4(0x18c)+_0x5d3cc4(0x16a)+(_0x3afa8c['msg']||'Unable\x20to\x20'+_0x5d3cc4(_0xddc7c9._0x53d3a8))+_0x5d3cc4(_0xddc7c9._0x5f365e)+(_0x3afa8c[_0x5d3cc4(_0xddc7c9._0x56a0ba)]||'?')+',\x20column\x20'+(_0x3afa8c[_0x5d3cc4(_0xddc7c9._0x4c4e30)]||'?')+')');}const _0x42fb91=parser[_0x5d3cc4(0x126)](_0x2b558b),_0x3771ac=Object['keys'](_0x42fb91)['find'](_0x1f8107=>_0x1f8107['toLowerCas'+'e']()['includes'](_0x5d3cc4(0x134))),_0x5eaaf0=_0x3771ac?_0x42fb91[_0x3771ac]:_0x42fb91['ruleset'];if(!_0x5eaaf0||_0x56955d['XNGNK'](typeof _0x5eaaf0,_0x5d3cc4(_0xddc7c9._0x59c301)))throw new Error(_0x5d3cc4(0x1dd)+'t>\x20root\x20el'+_0x5d3cc4(_0xddc7c9._0x3da446)+'d.');const _0x13b2b5=_0x56955d[_0x5d3cc4(0x173)](sections,_0x2b558b),_0x39f6fa=arr(_0x5eaaf0[_0x5d3cc4(_0xddc7c9._0xc99e7f)])[_0x5d3cc4(_0xddc7c9._0x2ec848)]((_0xaeb8c1,_0xa73676)=>{const _0x4de0cb=_0x5d3cc4,_0x12a7c6=_0xaeb8c1[_0x4de0cb(0x1ce)]||'';return{'id':_0xa73676+'-'+(_0x12a7c6[_0x4de0cb(0x13b)]('/')['pop']()||'rule'),'name':_0x12a7c6[_0x4de0cb(_0x5d2bca._0x166292)]('/')['filter'](Boolean)['pop']()||'Rule\x20'+(_0xa73676+0x1),'ref':_0x12a7c6,'group':_0x56955d['aClHF'](groupOf,_0x12a7c6,_0x13b2b5[_0xa73676]||''),'message':_0xaeb8c1['@_message']||'','priority':Number(_0x56955d[_0x4de0cb(_0x5d2bca._0xf5dc52)](txt,_0xaeb8c1[_0x4de0cb(0x164)]))||null,'properties':arr(_0xaeb8c1['properties']?.[_0x4de0cb(0x124)])['map'](_0x506908=>({'name':_0x506908[_0x4de0cb(0x1b9)]||'(unnamed)','value':_0x506908[_0x4de0cb(0x12a)]??txt(_0x506908)}))};}),_0x4cf7ba={},_0x2a76ca={};return _0x39f6fa['forEach'](_0x95b1af=>{const _0x26e5be=_0x5d3cc4;_0x4cf7ba[_0x95b1af[_0x26e5be(_0x53c14b._0x3093f2)]]=(_0x4cf7ba[_0x95b1af[_0x26e5be(0x18a)]]||0x0)+0x1;const _0x25c446=_0x95b1af[_0x26e5be(0x164)]?_0x26e5be(_0x53c14b._0x5ab785)+_0x95b1af['priority']:'Unset';_0x2a76ca[_0x25c446]=_0x56955d[_0x26e5be(_0x53c14b._0x5463aa)](_0x2a76ca[_0x25c446]||0x0,0x1);}),{'name':_0x5eaaf0[_0x56955d['uhejK']]||'Untitled\x20r'+_0x5d3cc4(0xf3),'description':_0x56955d[_0x5d3cc4(0x1d5)](txt,_0x5eaaf0[_0x5d3cc4(_0xddc7c9._0x4c8a40)+'n']),'rules':_0x39f6fa,'commented':_0x56955d['MpdCc'](comments,_0x2b558b),'raw':_0x2b558b,'summary':{'active':_0x39f6fa['length'],'commented':comments(_0x2b558b)[_0x5d3cc4(0x178)],'groups':Object['keys'](_0x4cf7ba)['length'],'groupsByCount':_0x4cf7ba,'priorities':_0x2a76ca}};}app[_0x541c9a(0x1ef)](_0x541c9a(0x1d2),(_0x3e4a15,_0x47a203)=>{const _0x6b628d={_0x3153be:0x11e,_0xf37447:0x125,_0x473360:0x150,_0x76ed46:0x1e4,_0x9d2c7b:0x144,_0x7318dc:0x1eb,_0x41dd43:0x1a3,_0x4902c8:0x19f,_0x503f94:0x10d},_0x20d9c0=_0x541c9a,_0x3f8a09={'ELjfW':'XML\x20is\x20req'+_0x20d9c0(0x1f4),'Dahhq':function(_0x21a5e2,_0x3bbd1f){return _0x21a5e2(_0x3bbd1f);},'OOXLp':function(_0xe9db5c,_0xe4de16){return _0xe9db5c===_0xe4de16;},'kdpdl':_0x20d9c0(_0x6b628d._0x3153be)};try{const _0x5e5ccb=_0x3e4a15[_0x20d9c0(0x1fb)]?.[_0x20d9c0(0x1b3)];if(!_0x5e5ccb?.[_0x20d9c0(0x1a3)]())throw new Error(_0x3f8a09['ELjfW']);_0x47a203[_0x20d9c0(_0x6b628d._0xf37447)](_0x3f8a09[_0x20d9c0(_0x6b628d._0x473360)](parse,_0x5e5ccb));}catch(_0x5c3ae5){if(_0x3f8a09['OOXLp'](_0x3f8a09[_0x20d9c0(_0x6b628d._0x76ed46)],_0x20d9c0(0x11e)))_0x47a203[_0x20d9c0(0x119)](0x190)[_0x20d9c0(0x125)]({'error':_0x5c3ae5[_0x20d9c0(_0x6b628d._0x9d2c7b)]});else{let _0x5abdf2='';const _0xead224=[];for(const _0x15bb98 of _0x26996b['split'](/\r?\n/)){const _0x1d704f=_0x15bb98[_0x20d9c0(_0x6b628d._0x7318dc)](/^\s*<!--\s*([A-Z][A-Z0-9 _/&-]{1,48})\s*-->\s*$/);if(_0x1d704f)_0x5abdf2=_0x1d704f[0x1][_0x20d9c0(_0x6b628d._0x41dd43)]()[_0x20d9c0(_0x6b628d._0x4902c8)](/\s+/g,'\x20');if(/<rule\b/i[_0x20d9c0(_0x6b628d._0x503f94)](_0x15bb98)&&!/<!--/['test'](_0x15bb98))_0xead224[_0x20d9c0(0x16b)](_0x5abdf2);}return _0xead224;}}}),app[_0x541c9a(0x1ef)](_0x541c9a(0x1be)+'md',(_0x3add62,_0x2d8eae)=>{const _0xc39ffa={_0x171af2:0xde,_0x5a4338:0x1ac,_0x1bc3f9:0x165,_0x4252ca:0x1cb,_0x1d14f2:0x17c,_0x1a187e:0xe0,_0x59c34e:0x1d9,_0x1cf5a:0x1df,_0x3588a4:0x14a,_0x5b7ad3:0x19b,_0x47b5c5:0x128,_0x31e875:0x151,_0x6d5124:0x114,_0x8474a9:0xd5,_0x452056:0x125,_0x51d1b0:0x17d,_0x46fdcd:0xf6,_0x19bf62:0x1f8,_0x1fe5a2:0x13c,_0x450e30:0x191,_0x30f8ff:0x1ae,_0xc06e30:0xf7,_0x41cd0d:0x170,_0x4ac28f:0x14e,_0x1ce9af:0x1f9},_0x166c6a={_0x193c36:0x17a,_0x101c52:0x14c,_0x50a693:0x135,_0x5b6657:0x144,_0x23b139:0x15d,_0x2de8c0:0x189,_0x286b77:0x18c,_0x1c9ef0:0x16a,_0x474765:0x11f,_0x3cca5b:0x104,_0x3dfc7f:0x126,_0x409eea:0x1b5,_0x5c3012:0xef,_0x6165e1:0x10f,_0x321203:0x122,_0x458d68:0x19e,_0x584f41:0x12e},_0x8dd736=_0x541c9a,_0x3635e3={'VjOkr':function(_0xecbc92,_0x218805){return _0xecbc92===_0x218805;},'FARHt':function(_0x4f8536,_0x210f7d){return _0x4f8536(_0x210f7d);},'GsXQA':function(_0x4189ba,_0x3773ac){return _0x4189ba!==_0x3773ac;},'fohmD':'qPHSh','fvWoh':_0x8dd736(_0xc39ffa._0x171af2),'kYXWS':_0x8dd736(0x132),'ShyNn':'yiEPe','afuGj':_0x8dd736(0x1c2)+_0x8dd736(_0xc39ffa._0x5a4338)+_0x8dd736(0x103)+'t.','KwSUW':_0x8dd736(_0xc39ffa._0x1bc3f9)+_0x8dd736(0x1f4),'FZOdg':_0x8dd736(_0xc39ffa._0x4252ca)+_0x8dd736(_0xc39ffa._0x1d14f2)+_0x8dd736(_0xc39ffa._0x1a187e),'wJGKi':function(_0x3f887e){return _0x3f887e();},'dQrQL':_0x8dd736(0x111),'HOuDm':'ruleset.xm'+'l','LLcyA':_0x8dd736(_0xc39ffa._0x59c34e),'fHXIi':function(_0x3ba7cd,_0x341a67){return _0x3ba7cd+_0x341a67;},'AbtNt':'--no-fail-'+_0x8dd736(_0xc39ffa._0x1cf5a)+'on','bOfKl':'--no-fail-'+_0x8dd736(_0xc39ffa._0x3588a4),'jHvCU':_0x8dd736(_0xc39ffa._0x5b7ad3)+_0x8dd736(_0xc39ffa._0x47b5c5),'nmVdO':'--force-la'+_0x8dd736(0x187),'FHGiJ':function(_0x29eb84,_0x53d1b5){return _0x29eb84!==_0x53d1b5;},'upPtt':_0x8dd736(_0xc39ffa._0x31e875),'oINwB':function(_0x35d4d1,_0xff43ec){return _0x35d4d1*_0xff43ec;}},{xml:_0x4ba53e,pmdBin:_0x301dc9,sourcePath:_0x314ba8,language:_0x4bb512,minPriority:_0x3feb70}=_0x3add62[_0x8dd736(0x1fb)]||{};if(!_0x4ba53e)return _0x2d8eae['status'](0x190)['json']({'error':_0x3635e3['KwSUW']});if(!_0x301dc9)return _0x2d8eae['status'](0x190)['json']({'error':_0x8dd736(_0xc39ffa._0x6d5124)+_0x8dd736(_0xc39ffa._0x8474a9)+'equired.'});if(!_0x314ba8)return _0x2d8eae[_0x8dd736(0x119)](0x190)[_0x8dd736(_0xc39ffa._0x452056)]({'error':_0x3635e3[_0x8dd736(0x161)]});let _0x357e96,_0x3b98d0;try{_0x357e96=mkdtempSync(path[_0x8dd736(0x154)](_0x3635e3[_0x8dd736(_0xc39ffa._0x51d1b0)](tmpdir),_0x3635e3['dQrQL'])),_0x3b98d0=path[_0x8dd736(0x154)](_0x357e96,_0x3635e3[_0x8dd736(0x1c7)]),writeFileSync(_0x3b98d0,_0x4ba53e,_0x3635e3[_0x8dd736(_0xc39ffa._0x46fdcd)]);}catch(_0x284b23){return _0x2d8eae[_0x8dd736(0x119)](0x1f4)['json']({'error':_0x3635e3['fHXIi'](_0x8dd736(0x1c2)+_0x8dd736(_0xc39ffa._0x19bf62)+_0x8dd736(0xe7),_0x284b23['message'])});}const _0x4839d6=[_0x8dd736(0x1bf),'-d',_0x314ba8,'-R',_0x3b98d0,'-f',_0x8dd736(0x125),_0x8dd736(0x1cc),_0x3635e3[_0x8dd736(_0xc39ffa._0x1fe5a2)],_0x3635e3[_0x8dd736(_0xc39ffa._0x450e30)],_0x3635e3[_0x8dd736(_0xc39ffa._0x30f8ff)]];if(_0x4bb512)_0x4839d6[_0x8dd736(0x16b)](_0x3635e3[_0x8dd736(_0xc39ffa._0xc06e30)],_0x4bb512);if(_0x3feb70&&_0x3635e3[_0x8dd736(_0xc39ffa._0x41cd0d)](_0x3feb70,_0x3635e3[_0x8dd736(_0xc39ffa._0x4ac28f)]))_0x4839d6[_0x8dd736(0x16b)](_0x8dd736(_0xc39ffa._0x1ce9af)+'priority',_0x3feb70);execFile(_0x301dc9,_0x4839d6,{'timeout':0x1d4c0,'maxBuffer':_0x3635e3[_0x8dd736(0x167)](0x14*0x400,0x400)},(_0x14930c,_0x5796a6)=>{const _0x124a20=_0x8dd736,_0x3b4189={'VHlHD':function(_0x20235a,_0x38656f){const _0x156256=_0x2d38;return _0x3635e3[_0x156256(0x153)](_0x20235a,_0x38656f);},'rpNft':_0x124a20(_0x166c6a._0x193c36)+_0x124a20(_0x166c6a._0x101c52),'VbFIf':function(_0x3b5646,_0x24fa9d){const _0x397a65=_0x124a20;return _0x3635e3[_0x397a65(0x1b1)](_0x3b5646,_0x24fa9d);}};try{_0x3635e3[_0x124a20(0x1b1)](unlinkSync,_0x3b98d0);}catch{}try{rmdirSync(_0x357e96);}catch{}if(_0x14930c&&_0x14930c[_0x124a20(0x1e0)]!==0x4&&!_0x5796a6){if(_0x3635e3[_0x124a20(0x1d1)](_0x3635e3[_0x124a20(0x1ed)],_0x3635e3[_0x124a20(_0x166c6a._0x50a693)]))return _0x2d8eae[_0x124a20(0x119)](0x190)[_0x124a20(0x125)]({'error':_0x14930c[_0x124a20(_0x166c6a._0x5b6657)]||_0x124a20(0x101)+'s\x20failed.'});else{const _0x835ebc=_0x2608c8['addRow'](_0x2c7170);if(_0x3b4189[_0x124a20(_0x166c6a._0x23b139)](_0x51242d%0x2,0x0))_0x835ebc[_0x124a20(_0x166c6a._0x2de8c0)]=_0xbfdbc0;}}try{if(_0x3635e3['GsXQA'](_0x3635e3[_0x124a20(0xea)],'MiLMz')){const _0x3de6f0=_0xb0c265[_0x124a20(0xff)]||{};throw new _0x4761f4(_0x124a20(_0x166c6a._0x286b77)+_0x124a20(_0x166c6a._0x1c9ef0)+(_0x3de6f0[_0x124a20(_0x166c6a._0x474765)]||hSKrmA['rpNft'])+'\x20(line\x20'+(_0x3de6f0['line']||'?')+_0x124a20(_0x166c6a._0x3cca5b)+(_0x3de6f0['col']||'?')+')');}else{const _0x1c8d57=JSON[_0x124a20(_0x166c6a._0x3dfc7f)](_0x5796a6||_0x124a20(_0x166c6a._0x409eea)+_0x124a20(_0x166c6a._0x5c3012)+_0x124a20(_0x166c6a._0x6165e1)+_0x124a20(0xe4));_0x2d8eae['json'](_0x1c8d57);}}catch{_0x3635e3[_0x124a20(_0x166c6a._0x321203)]===_0x124a20(_0x166c6a._0x458d68)?_0x3b4189[_0x124a20(0x141)](_0x16c560,_0x18b35c):_0x2d8eae[_0x124a20(0x119)](0x190)['json']({'error':_0x3635e3[_0x124a20(0x1d3)],'raw':(_0x5796a6||'')[_0x124a20(_0x166c6a._0x584f41)](0x0,0x320)});}});});const ALLOWED_READ_EXTS=new Set(['.xml',_0x541c9a(0x168),_0x541c9a(0xeb),_0x541c9a(0xe6),_0x541c9a(0x13e),_0x541c9a(0x16c),_0x541c9a(0x1e6),_0x541c9a(0x1c1),_0x541c9a(0x14b),'.py','.go',_0x541c9a(0x1a6),_0x541c9a(0x137),_0x541c9a(0xfe),_0x541c9a(0x1c8),'.c','.h',_0x541c9a(0x120),_0x541c9a(0x143),'.rb',_0x541c9a(0x1d6),_0x541c9a(0x1c6),_0x541c9a(0xed),_0x541c9a(0x1c5),_0x541c9a(0x13d),_0x541c9a(0x12f),_0x541c9a(0x11c),'.vue']);app[_0x541c9a(0x1ef)](_0x541c9a(0x1b2)+_0x541c9a(0x109),(_0x433dad,_0xe802b4)=>{const _0x24bbce={_0xe4a35c:0x1d9,_0x3c6ba1:0x1fb,_0xebd84:0xfc,_0x3e7861:0xee,_0x45bdaa:0xd9,_0x8b865e:0x1f1,_0x2b2dc3:0x1aa,_0x47f42a:0x125},_0x2ce154=_0x541c9a,_0x4ac6c2={'DxQVH':function(_0x3fc807,_0x1b12e0){return _0x3fc807(_0x1b12e0);},'xdLTh':function(_0x42b980,_0x356713){return _0x42b980+_0x356713;},'CdCup':function(_0xb17665,_0x278ed3){return _0xb17665>_0x278ed3;},'WVlaU':function(_0x4b5d5c,_0x4ecd2c){return _0x4b5d5c===_0x4ecd2c;},'hGWfJ':function(_0xe7b7e9,_0xecc1ee,_0xa43192){return _0xe7b7e9(_0xecc1ee,_0xa43192);},'bptli':_0x2ce154(_0x24bbce._0xe4a35c),'VbdND':_0x2ce154(0x142)},{filePath:_0x272e9d}=_0x433dad[_0x2ce154(_0x24bbce._0x3c6ba1)]||{};if(!_0x272e9d)return _0xe802b4['status'](0x190)['json']({'error':_0x2ce154(0xec)+'s\x20required'+'.'});if(_0x4ac6c2['WVlaU'](ALLOWED_READ_EXTS[_0x2ce154(0x1a7)](path[_0x2ce154(0xd6)](_0x272e9d)[_0x2ce154(0x1d4)+'e']()),![]))return _0xe802b4[_0x2ce154(0x119)](0x190)[_0x2ce154(0x125)]({'error':_0x2ce154(_0x24bbce._0xebd84)+_0x2ce154(0x177)+_0x2ce154(_0x24bbce._0x3e7861)+_0x2ce154(0x162)+'.'});try{const _0x40d828=_0x4ac6c2[_0x2ce154(0x1a0)](readFileSync,_0x272e9d,_0x4ac6c2['bptli']);_0xe802b4['json']({'content':_0x40d828});}catch(_0x43cfb2){if(_0x4ac6c2[_0x2ce154(_0x24bbce._0x45bdaa)]===_0x2ce154(_0x24bbce._0x8b865e)){const _0x2782fe=apyHeQ[_0x2ce154(0x10c)](_0x544006,_0x4a9c03[apyHeQ[_0x2ce154(_0x24bbce._0x2b2dc3)](_0x1902ba,0x1)]);if(apyHeQ['CdCup'](_0x2782fe,0x0))_0x527d1b=_0x2782fe;}else _0xe802b4['status'](0x190)[_0x2ce154(_0x24bbce._0x47f42a)]({'error':_0x43cfb2[_0x2ce154(0x144)]});}});const GREEN='FF39a979',GREEN_ZEBRA=_0x541c9a(0x108),WHITE=_0x541c9a(0x140),HEADER_FONT={'bold':!![],'color':{'argb':WHITE}},HEADER_FILL={'type':_0x541c9a(0x1e7),'pattern':_0x541c9a(0xf2),'fgColor':{'argb':GREEN}},ZEBRA_FILL={'type':_0x541c9a(0x1e7),'pattern':_0x541c9a(0xf2),'fgColor':{'argb':GREEN_ZEBRA}};function addZebraRows(_0x22f49a,_0x3b3a4b){const _0x270c90={_0x2d01dc:0x131},_0x624403={_0x1388ba:0x11d},_0xb121d=_0x541c9a,_0xcafb6d={'DyXoq':function(_0x184d66,_0x442ddc){return _0x184d66%_0x442ddc;}};_0x3b3a4b[_0xb121d(_0x270c90._0x2d01dc)]((_0xbcfe02,_0x37dbb0)=>{const _0x1651f0=_0xb121d,_0x1a598c=_0x22f49a['addRow'](_0xbcfe02);if(_0xcafb6d[_0x1651f0(_0x624403._0x1388ba)](_0x37dbb0,0x2)===0x0)_0x1a598c[_0x1651f0(0x189)]=ZEBRA_FILL;});}function scaleToFit(_0x57f58c,_0x1bda72,_0xd141dc,_0x3f0aec){const _0x595ade={_0x5ad5a3:0x1da},_0xfc7cce=_0x541c9a,_0x1bf6f9={'lQdBh':function(_0x306023,_0x484372){return _0x306023/_0x484372;}};if(!_0x57f58c||!_0x1bda72)return{'width':_0xd141dc,'height':_0x3f0aec};const _0xaf7426=Math[_0xfc7cce(0x13a)](_0x1bf6f9[_0xfc7cce(0x182)](_0xd141dc,_0x57f58c),_0x3f0aec/_0x1bda72,0x1);return{'width':Math[_0xfc7cce(_0x595ade._0x5ad5a3)](_0x57f58c*_0xaf7426),'height':Math[_0xfc7cce(_0x595ade._0x5ad5a3)](_0x1bda72*_0xaf7426)};}function _0xfe10(){const _0x2008d8=['Bwf0y2G','C2v0sgvHzgvY','zM9OBuq','wuvVq04','Cg9ZDa','CKjoufC','uM10s0O','B21gvxG','l2fWAs9LEhbVCG','DwLYzwqU','q29SDw1U','Dg9vChbLCKnHCW','zgvZy3jPChrPBW','D3jPDguGDgvTCa','ls1TAw5PBxvTlq','C3rYAw5N','yM9KEq','tKHwve0','ihbHDgGGAxmGCG','zxH0BMfTzq','DM95uwS','rw5KienVBhvTBG','vMjKtKq','y3jLyxrLza','BxvSDgvY','DxnL','lcaTlwHLBhaGia','zvDVEwK','zxHWCMvZCW','CMvKlG','ls1WB3j0','u25KA0C','uhjPB3jPDhK','oLTDFq','EMvYcGPvC2fNzq','lNrYAwDNzxi','ihj1BgvZzxq6ia','v1Hdtee','mZqWnvLVuM52Cq','A1Lyv1m','lMnSCW','zMLSzvbHDgGGAq','lMDYB292Eq','zxqGzMLSzxmGBq','xsWIChjVy2vZCW','igj5ifbYAw9YAq','DcbwAxn1ywXPEG','C29SAwq','DwXLC2v0','zNjVBuvUDhjPzq','DMvYlMPZifTVCa','teXJEue','BM1wze8','zM9UDa','Eg1SzM9YBwf0CW','lw9MzMLJzwrVyW','qNKGuNvSzq','t25SEsaUEg1Sia','n3buvKn4DG','lMnJ','zxjY','mta5nJGWmgjUC25hEa','ue1eihbYB2nLCW','q291BNq','sLnptIbVDxrWDq','lcbJB2X1Bw4G','ufv6Dgy','BI92BMqUB3bLBG','AxnbCNjHEq','rKzLogy1zwu','zMLSzq','Cg9W','wg1esuq','rhHrvKG','DgvZDa','lNHSC3GI','Aw5NrxjYB3jZiG','EgXZEa','Cg1KDMLZlq','zw1LBNqGzM91BG','Eg11tKy','ue1eigjPBMfYEq','CgfryKi','y29SDw1UCW','tMjXrK8','vxvIyue','C3rHDhvZ','u0TRrKO','vMLVBgf0Aw9UCW','lMPZCa','rhLyB3e','tMvgA0i','BxnN','lNn3Awz0','zKDTt2S','u2H5tM4','Cg5N','ChjVCgvYDhK','ANnVBG','CgfYC2u','v29YA2jVB2S','zxnZ','CgXHDgzVCM0','qf92ywX1zq','rvjNsvG','uNvSzxnLDa','Dw1LBNqUC3bYzq','C2XPy2u','lMH0BwW','y2HPBgrFChjVyW','zM9YrwfJAa','twLmtxO','CNvSzq','CNvSzxnLDa','zNzxB2G','AgvHzgvYC1nLBG','lMnWCa','q2HHCNrZ','AgvPz2H0','BwLU','C3bSAxq','qwj0tNq','lMfWzxG','lMPHDMe','C3bVC2L0Aw9U','rKzgrKzgrKy','vMjgswy','zLP1rwi','lMT0','BwvZC2fNzq','uMLLALC','CcWGls1WB3j0ia','A1bdue8','rgvZy3jPChrPBW','DgLVBNnDcGPpCa','B24TzxjYB3i','lNrZEa','CgfYC2uGwe1m','t3rOzxi','DxbqDhq','ntKXEersELrN','rgfOAhe','te9x','BhrZlq','vMPpA3i','AM9PBG','C3rHCNq','mJe0nJyWB3vyteHJ','ihrOzsbKzwzHDq','ue1eifj1BgvZzq','B2jQzwn0','wwzWzKG','sMDfzuC','nvn0D0LnyG','vKHSseq','y29S','zMfZDc14BwWTCa','CMvM','rLPpzgC','yxKGyMuGCMvHza','ywrKv29YA3nOzq','ChjPB3jPDhK','we1migLZihjLCq','D2LUmZi','B0LoD0i','lNj1BgvZzxq','zw5K','tdOG','ChvZAa','lMPZ','BKn3q0G','DLfMu24','rMLSzq','rKHhAuO','i3rLEhq','uNvSzq','txbKq2m','Dg9ju09tDhjPBG','zxHJzwXQCW','ls1VCgvU','yw5Kic5YDwXLCW','BgvUz3rO','y291BNq','vw5HyMXLihrVia','ywDL','AcbPCYbYzxf1Aq','D0Phs2K','zwnVBa','ywrKsw1Hz2u','Cgf0Aa','zMf1Bhq6idmWma','BffKqMG','uhjPB3jPDhKG','EgrNlw9Wzw4','z2v0q2vSBa','ywXOB3n0oG','BMD1ywDL','tgLUzq','zMLSBa','z3jVDxa','yxjNDG','sw52ywXPzcbytq','C3rHDgLJ','yxv0B0zPBhrLCG','zwqGuNvSzxm','zwXPBMu','yK9Ms2W','mti3lJaUmc4X','ndy5mZu2D1jXywH1','ls1OzwXW','psjWBwqTCMvZDq','mtG5nJaZn2zxz3PuzG','uvHAsK4','DgLVBNm6cIaGlq','mtbvrgzHvNm','yxr0ywnOBwvUDa','ls1UBY1WCM9NCG','icaGicaGicbtAa','zxHPDa','Dg5Ar3i','CMvWBgfJzq','AeDxzKO','yuLeDu0','mcWGB3iGjfbpuG','DhjPBq','BgLZDgvU','vg9WifzPB2XHDa','lMnZ','AgfZ','icaGicbpCgvUia','uujbDLC','EgrmvgG','icHSAw5Lia','CgfYC2uGue1eia','zxHLyW','AKH2q1u','DNHTCuK','Bwf0y2HbBgW','rKfsshq','l2fWAs9YzwfKlq','Eg1S','C2HLzxq','EYjMAwXLCYi6wW','BhaGBwvZC2fNzq','mta2qunjAxPi','BhqGyNjVD3nLCG','qf9Uyw1L','ndaWndfUtfbxCwm','Ahr0CdOVl2XVyW','DMfSDwu','ChjP','l2fWAs9YDw4TCa','y2HLy2S','mZiWsfrvy2D5','lMPZEa','q291BgqGBM90ia','yxbWBgLJyxrPBW','vhb0zLe','lNbS','lNnJywXH','se91rg0','lMn4Ea','phbVCNq+icaGua','q29UDgvUDc1uEq','u291CMnLihbHDa','ls1UBY1JywnOzq','BwvTB3j5u3rVCG','qf9Yzwy','ywrZAgvLDg1SlG','igfMDgvYihn0yq','r3nyuue','l2fWAs9WyxjZzq','ywz1r2O','Dg9mB3DLCKnHCW','CMLeA3O','lNbOCa','q29UDgvUDc1eAq','z2v0uM93','DxrMoa','CM91BMq','y3jLyxrVCG','Dc14Bhn4','tM8Gphj1BgvZzq','C0fvrhC','B24TDMLVBgf0Aq','y29Kzq','BwfW','BgLUzq','y1Hhz2G','A2rWzgW','Exjuvum','lNrZ','Cgf0DgvYBG','Aw5JBhvKzxm','ng1I','D1POy0i'];_0xfe10=function(){return _0x2008d8;};return _0xfe10();}app[_0x541c9a(0x1ef)](_0x541c9a(0x1f3)+_0x541c9a(0x1dc),async(_0x24bf25,_0x333b26)=>{const _0xc8beb6={_0x2a8e27:0x11b,_0x3cef27:0x16f,_0x40fafd:0x109,_0x5f3056:0x190,_0x21af21:0x17e,_0x26d29a:0x1bd,_0x3bdc70:0x179,_0x27f6a1:0x18f,_0x1e5328:0x127,_0x10707e:0x1db,_0x292167:0x158,_0x4a89b1:0x15b,_0x2267e4:0x116,_0x2a2625:0x12b,_0x4c6e39:0x145,_0x2e1e51:0x105,_0x1991ae:0x1f5,_0x527fbb:0xe3,_0x5c3836:0x1bd,_0x2471a3:0x172,_0x5c45cb:0x133,_0x303149:0x113,_0x32d581:0xf8,_0x4e0370:0x139,_0x26c458:0x163,_0x1fe43d:0x121,_0x41c6b5:0x1d8,_0x352736:0xf8,_0x218ba7:0x1f2,_0x242767:0xd7,_0x2a82ea:0x139,_0x1dedca:0x118,_0x5d93d8:0x185,_0x161233:0x1bc,_0x294145:0x1e3,_0x4ee5e3:0xf8,_0x1035df:0x17f,_0x326f65:0x123,_0x235e83:0x106,_0x1dcf43:0x12d,_0x32a33a:0x1cf,_0x42b249:0x1ec,_0x4b4e3b:0x19a,_0x334344:0x195,_0x2abc89:0x10e,_0x217c67:0x110,_0x2042af:0x169,_0x13b2ad:0x136,_0x9320e0:0x119,_0x51c748:0x144},_0x5a0472=_0x541c9a,_0x2ce8a0={'JgEeG':_0x5a0472(_0xc8beb6._0x2a8e27),'ERgIX':_0x5a0472(_0xc8beb6._0x3cef27),'aIDuM':_0x5a0472(_0xc8beb6._0x40fafd),'RiejW':_0x5a0472(0x188),'PUztf':'line','QBAvW':'col','TptfQ':_0x5a0472(_0xc8beb6._0x5f3056),'SIKgz':_0x5a0472(0xd8),'rBNPW':_0x5a0472(_0xc8beb6._0x21af21),'QXZJN':_0x5a0472(0x12c),'xmuNF':_0x5a0472(0x148)+'n','SndkG':function(_0x887160,_0x4323bc,_0x46cb0d){return _0x887160(_0x4323bc,_0x46cb0d);},'SKkFJ':'A1:I1','sAUDw':_0x5a0472(0xe3),'fGmOk':_0x5a0472(_0xc8beb6._0x26d29a),'omFUx':_0x5a0472(0x133),'voyQk':_0x5a0472(_0xc8beb6._0x3bdc70),'WuifR':_0x5a0472(0x138),'UubaA':_0x5a0472(0x11b)+_0x5a0472(0xf0)+'ty','cXGgh':_0x5a0472(0x1a5)+_0x5a0472(_0xc8beb6._0x27f6a1),'NbqFO':function(_0x31e505,_0x55c61a,_0x239f97,_0xda2af6,_0x4500dc){return _0x31e505(_0x55c61a,_0x239f97,_0xda2af6,_0x4500dc);},'wnHLF':_0x5a0472(0x123),'yrTUC':_0x5a0472(0x1ca)+'pe'},{violations:_0x7d00c0,byPriority:_0x1adf60,byRule:_0x3bc24e,priChartImage:_0x33bb18,priChartW:_0x4cfcd5,priChartH:_0x190c39,ruleChartImage:_0x4bf80f,ruleChartW:_0x10a87d,ruleChartH:_0x59a450}=_0x24bf25['body']||{};try{const _0x3a2093=new ExcelJS[(_0x5a0472(_0xc8beb6._0x1e5328))]();_0x3a2093[_0x5a0472(_0xc8beb6._0x10707e)]=_0x5a0472(_0xc8beb6._0x292167)+'t\x20Visualiz'+'er',_0x3a2093[_0x5a0472(0xda)]=new Date();const _0x11954d=_0x3a2093[_0x5a0472(0x163)+'et'](_0x2ce8a0[_0x5a0472(_0xc8beb6._0x4a89b1)]);_0x11954d[_0x5a0472(_0xc8beb6._0x2267e4)]=[{'header':_0x2ce8a0[_0x5a0472(_0xc8beb6._0x2a2625)],'key':_0x2ce8a0[_0x5a0472(0x1a1)],'width':0x3c},{'header':_0x2ce8a0[_0x5a0472(_0xc8beb6._0x4c6e39)],'key':_0x2ce8a0[_0x5a0472(_0xc8beb6._0x2e1e51)],'width':0x7},{'header':_0x5a0472(_0xc8beb6._0x1991ae),'key':_0x2ce8a0[_0x5a0472(0x1a9)],'width':0x7},{'header':'End\x20Line','key':_0x2ce8a0[_0x5a0472(0x1c4)],'width':0x9},{'header':_0x2ce8a0['SIKgz'],'key':_0x2ce8a0[_0x5a0472(0x1f0)],'width':0x9},{'header':_0x5a0472(_0xc8beb6._0x527fbb),'key':_0x5a0472(_0xc8beb6._0x5c3836),'width':0xa},{'header':_0x5a0472(_0xc8beb6._0x2471a3),'key':_0x5a0472(_0xc8beb6._0x5c45cb),'width':0x26},{'header':_0x2ce8a0[_0x5a0472(0x197)],'key':_0x5a0472(0x134),'width':0x1a},{'header':_0x2ce8a0[_0x5a0472(_0xc8beb6._0x303149)],'key':'desc','width':0x50}];const _0x1a338e=_0x11954d[_0x5a0472(0x1d8)](0x1);_0x1a338e[_0x5a0472(_0xc8beb6._0x32d581)]=HEADER_FONT,_0x1a338e[_0x5a0472(0x189)]=HEADER_FILL,_0x1a338e[_0x5a0472(_0xc8beb6._0x4e0370)]=0x12,_0x2ce8a0[_0x5a0472(0xe2)](addZebraRows,_0x11954d,_0x7d00c0||[]),_0x11954d[_0x5a0472(0x18e)]=_0x2ce8a0[_0x5a0472(0x11a)];const _0xe9096=_0x3a2093[_0x5a0472(_0xc8beb6._0x26c458)+'et']('By\x20Priorit'+'y');_0xe9096[_0x5a0472(_0xc8beb6._0x2267e4)]=[{'header':_0x2ce8a0[_0x5a0472(0x1de)],'key':_0x2ce8a0[_0x5a0472(_0xc8beb6._0x1fe43d)],'width':0xe},{'header':_0x2ce8a0[_0x5a0472(0x15b)],'key':_0x5a0472(0x179),'width':0xe}];const _0x448190=_0xe9096[_0x5a0472(_0xc8beb6._0x41c6b5)](0x1);_0x448190[_0x5a0472(_0xc8beb6._0x352736)]=HEADER_FONT,_0x448190['fill']=HEADER_FILL,_0x448190[_0x5a0472(0x139)]=0x12,addZebraRows(_0xe9096,_0x1adf60||[]);const _0x18a8e5=_0x3a2093[_0x5a0472(0x163)+'et'](_0x5a0472(0xfb));_0x18a8e5[_0x5a0472(0x116)]=[{'header':_0x5a0472(_0xc8beb6._0x2471a3),'key':_0x2ce8a0[_0x5a0472(_0xc8beb6._0x218ba7)],'width':0x2a},{'header':_0x5a0472(0x102),'key':_0x2ce8a0[_0x5a0472(_0xc8beb6._0x242767)],'width':0xa}];const _0x32d290=_0x18a8e5[_0x5a0472(0x1d8)](0x1);_0x32d290['font']=HEADER_FONT,_0x32d290[_0x5a0472(0x189)]=HEADER_FILL,_0x32d290[_0x5a0472(_0xc8beb6._0x2a82ea)]=0x12,addZebraRows(_0x18a8e5,_0x3bc24e||[]);const _0x82a2be=_0x3a2093['addWorkshe'+'et'](_0x2ce8a0['WuifR']);_0x82a2be['getCell']('A1')['value']=_0x2ce8a0[_0x5a0472(_0xc8beb6._0x1dedca)],_0x82a2be[_0x5a0472(_0xc8beb6._0x5d93d8)]('A1')['font']={'bold':!![],'size':0xd},_0x82a2be['getCell']('N1')[_0x5a0472(_0xc8beb6._0x161233)]=_0x2ce8a0[_0x5a0472(_0xc8beb6._0x294145)],_0x82a2be[_0x5a0472(_0xc8beb6._0x5d93d8)]('N1')[_0x5a0472(_0xc8beb6._0x4ee5e3)]={'bold':!![],'size':0xd};const _0x2c4c3c=_0x20fa24=>(_0x20fa24||'')[_0x5a0472(0x19f)](/^data:image\/png;base64,/,'');if(_0x33bb18){const _0x3b8c84=_0x2ce8a0[_0x5a0472(0x117)](scaleToFit,_0x4cfcd5,_0x190c39,0x1b8,0x1b8),_0x8bfcd0=_0x3a2093['addImage']({'base64':_0x2c4c3c(_0x33bb18),'extension':_0x2ce8a0['wnHLF']});_0x82a2be[_0x5a0472(_0xc8beb6._0x1035df)](_0x8bfcd0,{'tl':{'col':0x0,'row':0x1},'ext':_0x3b8c84});}if(_0x4bf80f){const _0x4c8b18=_0x2ce8a0[_0x5a0472(0x117)](scaleToFit,_0x10a87d,_0x59a450,0x26c,0x1a4),_0x2a309a=_0x3a2093[_0x5a0472(_0xc8beb6._0x1035df)]({'base64':_0x2c4c3c(_0x4bf80f),'extension':_0x5a0472(_0xc8beb6._0x326f65)});_0x82a2be[_0x5a0472(0x17f)](_0x2a309a,{'tl':{'col':0xd,'row':0x1},'ext':_0x4c8b18});}const _0x27eab4=new Date()[_0x5a0472(0x174)+'g']()['slice'](0x0,0x10)['replace'](/[T:]/g,'-');_0x333b26['setHeader'](_0x2ce8a0[_0x5a0472(0x1e5)],_0x5a0472(0x1c3)+_0x5a0472(_0xc8beb6._0x235e83)+_0x5a0472(0xf9)+_0x5a0472(0xfa)+_0x5a0472(_0xc8beb6._0x1dcf43)+_0x5a0472(_0xc8beb6._0x32a33a)+_0x5a0472(0x1b4)),_0x333b26[_0x5a0472(_0xc8beb6._0x42b249)](_0x5a0472(0x1d7)+_0x5a0472(0x13f),_0x5a0472(_0xc8beb6._0x4b4e3b)+';\x20filename'+_0x5a0472(_0xc8beb6._0x334344)+_0x5a0472(0x152)+_0x27eab4+_0x5a0472(_0xc8beb6._0x2abc89)),await _0x3a2093[_0x5a0472(_0xc8beb6._0x217c67)]['write'](_0x333b26),_0x333b26[_0x5a0472(_0xc8beb6._0x2042af)]();}catch(_0x331544){if(!_0x333b26[_0x5a0472(_0xc8beb6._0x13b2ad)+'t'])_0x333b26[_0x5a0472(_0xc8beb6._0x9320e0)](0x1f4)[_0x5a0472(0x125)]({'error':_0x331544[_0x5a0472(_0xc8beb6._0x51c748)]});}});const HOST=_0x541c9a(0x192);app[_0x541c9a(0x1a4)](PORT,HOST,()=>{const _0x5aa52e={_0x299c91:0x128,_0x26789f:0x1bb,_0x5558a7:0x186,_0x392d17:0x158,_0x2834fe:0x17f,_0x1ee1ae:0x16e,_0x1c5c1c:0x1af,_0x10a07a:0x147,_0x495cd5:0x129,_0x24c1d6:0x16d,_0x58e8b6:0x1ea},_0x8134ce=_0x541c9a,_0xee7e66={'vQfSn':function(_0x37fb22,_0x1dc3e5){return _0x37fb22(_0x1dc3e5);},'hzSeO':_0x8134ce(0x123),'XmDID':function(_0x231905,_0x2fee58){return _0x231905!==_0x2fee58;},'NHVTM':'dvnNi','vxmqI':function(_0x4ff2c7,_0x5e30fd){return _0x4ff2c7===_0x5e30fd;},'YEoCN':'darwin','kPCPO':'open','nCwCH':_0x8134ce(0x155),'wZhcB':_0x8134ce(0x130)+_0x8134ce(_0x5aa52e._0x299c91)},_0x4b0d1e=_0x8134ce(_0x5aa52e._0x26789f)+_0x8134ce(_0x5aa52e._0x5558a7)+PORT;console['log'](_0x8134ce(_0x5aa52e._0x392d17)+_0x8134ce(0xf1)+'er:\x20'+_0x4b0d1e);if(shouldOpen){if(_0xee7e66[_0x8134ce(0x10b)](_0xee7e66[_0x8134ce(0xd4)],_0xee7e66[_0x8134ce(0xd4)])){const _0x21090c=_0x1b30e5(_0x5184af,_0x24acd7,0x1b8,0x1b8),_0x3e65aa=_0x3206f3[_0x8134ce(_0x5aa52e._0x2834fe)]({'base64':LOhwxX[_0x8134ce(_0x5aa52e._0x1ee1ae)](_0xdfae5,_0x1021d1),'extension':LOhwxX['hzSeO']});_0x49e560[_0x8134ce(0x17f)](_0x3e65aa,{'tl':{'col':0x0,'row':0x1},'ext':_0x21090c});}else{const _0x5de233=_0xee7e66[_0x8134ce(_0x5aa52e._0x1c5c1c)](process[_0x8134ce(0x129)],_0xee7e66[_0x8134ce(0x1ee)])?_0xee7e66[_0x8134ce(_0x5aa52e._0x10a07a)]:_0xee7e66[_0x8134ce(_0x5aa52e._0x1c5c1c)](process[_0x8134ce(_0x5aa52e._0x495cd5)],_0x8134ce(0x166))?_0xee7e66[_0x8134ce(_0x5aa52e._0x24c1d6)]:_0x8134ce(0x184);_0xee7e66[_0x8134ce(0x16e)](require,_0xee7e66[_0x8134ce(_0x5aa52e._0x58e8b6)])[_0x8134ce(0x1ad)](_0x5de233+'\x20'+_0x4b0d1e);}}});
|