@panguard-ai/threat-cloud 1.3.0 → 1.4.0
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/dist/admin-dashboard.d.ts.map +1 -1
- package/dist/admin-dashboard.js +129 -10
- package/dist/admin-dashboard.js.map +1 -1
- package/dist/cli.js +0 -0
- package/dist/database.d.ts +23 -0
- package/dist/database.d.ts.map +1 -1
- package/dist/database.js +94 -1
- package/dist/database.js.map +1 -1
- package/dist/server.d.ts +10 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +148 -0
- package/dist/server.js.map +1 -1
- package/package.json +12 -12
- package/LICENSE +0 -21
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-dashboard.d.ts","sourceRoot":"","sources":["../src/admin-dashboard.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,wBAAgB,YAAY,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"admin-dashboard.d.ts","sourceRoot":"","sources":["../src/admin-dashboard.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,wBAAgB,YAAY,IAAI,MAAM,CA+oBrC"}
|
package/dist/admin-dashboard.js
CHANGED
|
@@ -115,6 +115,7 @@ tr:hover td{background:var(--surface2)}
|
|
|
115
115
|
</header>
|
|
116
116
|
<nav id="tabs">
|
|
117
117
|
<button class="active" data-tab="overview">Overview</button>
|
|
118
|
+
<button data-tab="usage">Usage</button>
|
|
118
119
|
<button data-tab="rules">Rules</button>
|
|
119
120
|
<button data-tab="threats">Threats</button>
|
|
120
121
|
<button data-tab="proposals">ATR Proposals</button>
|
|
@@ -181,6 +182,7 @@ document.getElementById('tabs').addEventListener('click',e=>{
|
|
|
181
182
|
function renderTab(tab){
|
|
182
183
|
switch(tab){
|
|
183
184
|
case 'overview':renderOverview();break;
|
|
185
|
+
case 'usage':renderUsage();break;
|
|
184
186
|
case 'rules':renderRules();break;
|
|
185
187
|
case 'threats':renderThreats();break;
|
|
186
188
|
case 'proposals':renderProposals();break;
|
|
@@ -197,6 +199,15 @@ function api(path){
|
|
|
197
199
|
function apiText(path){
|
|
198
200
|
return fetch(path,{headers:{Authorization:'Bearer '+API_KEY}}).then(r=>r.text());
|
|
199
201
|
}
|
|
202
|
+
function apiPost(path,body){
|
|
203
|
+
return fetch(path,{method:'POST',headers:{Authorization:'Bearer '+API_KEY,'Content-Type':'application/json'},body:JSON.stringify(body)}).then(r=>r.json());
|
|
204
|
+
}
|
|
205
|
+
function apiPatch(path,body){
|
|
206
|
+
return fetch(path,{method:'PATCH',headers:{Authorization:'Bearer '+API_KEY,'Content-Type':'application/json'},body:JSON.stringify(body)}).then(r=>r.json());
|
|
207
|
+
}
|
|
208
|
+
function apiDelete(path,body){
|
|
209
|
+
return fetch(path,{method:'DELETE',headers:{Authorization:'Bearer '+API_KEY,'Content-Type':'application/json'},body:JSON.stringify(body)}).then(r=>r.json());
|
|
210
|
+
}
|
|
200
211
|
function $(s){return document.getElementById(s)||document.querySelector(s)}
|
|
201
212
|
function h(s){return String(s).replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>').replace(/"/g,'"')}
|
|
202
213
|
function num(n){return Number(n).toLocaleString()}
|
|
@@ -268,6 +279,27 @@ function renderOverview(){
|
|
|
268
279
|
html+='</div></div>';
|
|
269
280
|
html+='</div>';
|
|
270
281
|
|
|
282
|
+
// Ecosystem metrics
|
|
283
|
+
api('/api/metrics').then(function(md){
|
|
284
|
+
if(!md||!md.data)return;
|
|
285
|
+
var m=md.data;
|
|
286
|
+
var eco='<div class="cards" style="margin-bottom:24px">';
|
|
287
|
+
eco+='<div class="card"><div class="label">Total Skills Scanned</div><div class="value blue">'+num(m.totalSkillsScanned||0)+'</div></div>';
|
|
288
|
+
eco+='<div class="card"><div class="label">Agents Protected</div><div class="value green">'+num(m.agentsProtected||0)+'</div></div>';
|
|
289
|
+
eco+='<div class="card"><div class="label">Total Threats Detected</div><div class="value red">'+num(m.totalThreatsDetected||0)+'</div></div>';
|
|
290
|
+
eco+='<div class="card"><div class="label">ATR Rules Active</div><div class="value">'+num(m.atrRulesActive||0)+'</div></div>';
|
|
291
|
+
if(m.sourceBreakdown){
|
|
292
|
+
eco+='<div class="card"><div class="label">Bulk Scans</div><div class="value">'+num(m.sourceBreakdown.bulk||0)+'</div></div>';
|
|
293
|
+
eco+='<div class="card"><div class="label">CLI Scans</div><div class="value">'+num(m.sourceBreakdown.cli||0)+'</div></div>';
|
|
294
|
+
eco+='<div class="card"><div class="label">Web Scans</div><div class="value">'+num(m.sourceBreakdown.web||0)+'</div></div>';
|
|
295
|
+
}
|
|
296
|
+
eco+='</div>';
|
|
297
|
+
var ecoTarget=document.getElementById('ecosystemInsert');
|
|
298
|
+
if(ecoTarget)ecoTarget.innerHTML=eco;
|
|
299
|
+
}).catch(function(){});
|
|
300
|
+
|
|
301
|
+
html+='<div id="ecosystemInsert"></div>';
|
|
302
|
+
|
|
271
303
|
// MITRE + Attack Types
|
|
272
304
|
html+='<div class="chart-row">';
|
|
273
305
|
html+='<div class="chart-box"><h3>Top Attack Types</h3>';
|
|
@@ -283,6 +315,49 @@ function renderOverview(){
|
|
|
283
315
|
$('content').innerHTML=html;
|
|
284
316
|
}
|
|
285
317
|
|
|
318
|
+
// Usage
|
|
319
|
+
function renderUsage(){
|
|
320
|
+
$('content').innerHTML='<div class="loading">Loading usage data...</div>';
|
|
321
|
+
api('/api/usage').then(function(d){
|
|
322
|
+
var u=d.data||d;
|
|
323
|
+
var html='<div class="cards">';
|
|
324
|
+
html+='<div class="card"><div class="label">Total Scans</div><div class="value blue">'+num(u.totalScans||0)+'</div></div>';
|
|
325
|
+
html+='<div class="card"><div class="label">Scans Today</div><div class="value green">'+num(u.scansToday||0)+'</div></div>';
|
|
326
|
+
html+='<div class="card"><div class="label">Scans This Week</div><div class="value orange">'+num(u.scansThisWeek||0)+'</div></div>';
|
|
327
|
+
html+='<div class="card"><div class="label">CLI Installs</div><div class="value">'+num(u.cliInstalls||0)+'</div></div>';
|
|
328
|
+
html+='</div>';
|
|
329
|
+
|
|
330
|
+
// Source breakdown bar chart
|
|
331
|
+
var sources=u.scansBySource||{};
|
|
332
|
+
var srcKeys=Object.keys(sources);
|
|
333
|
+
var maxSrc=Math.max.apply(null,srcKeys.map(function(k){return sources[k]||0}).concat([1]));
|
|
334
|
+
var srcColors={'website':'var(--blue)','cli-user':'var(--green)','bulk-pipeline':'var(--orange)'};
|
|
335
|
+
html+='<div class="chart-row">';
|
|
336
|
+
html+='<div class="chart-box"><h3>Scans by Source</h3><div class="bar-chart">';
|
|
337
|
+
srcKeys.forEach(function(k){
|
|
338
|
+
var pct=Math.round((sources[k]||0)/maxSrc*100);
|
|
339
|
+
var color=srcColors[k]||'var(--accent)';
|
|
340
|
+
html+='<div class="bar-item"><span class="bar-label">'+h(k)+'</span><div class="bar-track"><div class="bar-fill" style="width:'+pct+'%;background:'+color+'">'+num(sources[k])+'</div></div></div>';
|
|
341
|
+
});
|
|
342
|
+
html+='</div></div>';
|
|
343
|
+
|
|
344
|
+
// 30-day daily trend
|
|
345
|
+
var trend=u.dailyTrend||[];
|
|
346
|
+
var maxDay=Math.max.apply(null,trend.map(function(t){return t.count||0}).concat([1]));
|
|
347
|
+
html+='<div class="chart-box"><h3>30-Day Daily Trend</h3><div class="bar-chart">';
|
|
348
|
+
trend.forEach(function(t){
|
|
349
|
+
var pct=Math.round((t.count||0)/maxDay*100);
|
|
350
|
+
html+='<div class="bar-item"><span class="bar-label">'+h(t.date)+'</span><div class="bar-track"><div class="bar-fill" style="width:'+pct+'%;background:var(--accent)">'+num(t.count)+'</div></div></div>';
|
|
351
|
+
});
|
|
352
|
+
html+='</div></div>';
|
|
353
|
+
html+='</div>';
|
|
354
|
+
|
|
355
|
+
$('content').innerHTML=html;
|
|
356
|
+
}).catch(function(){
|
|
357
|
+
$('content').innerHTML='<div class="empty">Usage endpoint not available. Upgrade server to enable.</div>';
|
|
358
|
+
});
|
|
359
|
+
}
|
|
360
|
+
|
|
286
361
|
// Rules
|
|
287
362
|
let rulesPage=0;const RULES_PER_PAGE=50;let rulesFilter={search:'',source:'',category:'',severity:''};
|
|
288
363
|
function renderRules(){
|
|
@@ -387,15 +462,20 @@ function renderProposals(){
|
|
|
387
462
|
let html='<div class="table-wrap"><div class="table-header"><h2>ATR Proposals ('+proposals.length+')</h2></div>';
|
|
388
463
|
if(!proposals.length){html+='<div class="empty">No ATR proposals submitted yet. Proposals are auto-generated when Guard detects new threat patterns.</div>';}
|
|
389
464
|
else{
|
|
390
|
-
html+='<table><tr><th>Pattern Hash</th><th>Status</th><th>Confirmations</th><th>LLM Verdict</th><th>Submitted</th></tr>';
|
|
391
|
-
proposals.forEach(p
|
|
465
|
+
html+='<table><tr><th>Pattern Hash</th><th>Status</th><th>Confirmations</th><th>LLM Verdict</th><th>Submitted</th><th>Actions</th></tr>';
|
|
466
|
+
proposals.forEach(function(p,idx){
|
|
392
467
|
const status=p.status||p.llm_verdict||'pending';
|
|
393
468
|
const cls=status==='approved'?'low':status==='rejected'?'critical':'medium';
|
|
394
|
-
html+='<tr
|
|
469
|
+
html+='<tr style="cursor:pointer" onclick="var el=document.getElementById(\\\'proposal-detail-'+idx+'\\\');el.style.display=el.style.display===\\\'none\\\'?\\\'table-row\\\':\\\'none\\\'">';
|
|
470
|
+
html+='<td title="'+h(p.pattern_hash)+'">'+h((p.pattern_hash||'').slice(0,16))+'...</td>';
|
|
395
471
|
html+='<td>'+badge(status,cls)+'</td>';
|
|
396
472
|
html+='<td>'+num(p.confirmation_count||0)+'</td>';
|
|
397
473
|
html+='<td>'+(p.llm_verdict?badge(p.llm_verdict,p.llm_verdict==='approve'?'low':'critical'):'<span style="color:var(--dim)">pending</span>')+'</td>';
|
|
398
|
-
html+='<td>'+timeAgo(p.created_at)+'</td
|
|
474
|
+
html+='<td>'+timeAgo(p.created_at)+'</td>';
|
|
475
|
+
html+='<td><button style="padding:4px 10px;background:var(--green);color:var(--bg);border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:600;margin-right:4px" onclick="event.stopPropagation();approveProposal(\\\''+h(p.pattern_hash)+'\\\')">Approve</button>';
|
|
476
|
+
html+='<button style="padding:4px 10px;background:var(--red);color:var(--bg);border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:600" onclick="event.stopPropagation();rejectProposal(\\\''+h(p.pattern_hash)+'\\\')">Reject</button></td>';
|
|
477
|
+
html+='</tr>';
|
|
478
|
+
html+='<tr id="proposal-detail-'+idx+'" style="display:none"><td colspan="6"><pre style="background:var(--bg);padding:12px;border-radius:6px;overflow-x:auto;font-size:12px;white-space:pre-wrap;max-height:300px;overflow-y:auto">'+h(p.rule_content||p.ruleContent||p.pattern||'No rule content available')+'</pre></td></tr>';
|
|
399
479
|
});
|
|
400
480
|
html+='</table>';
|
|
401
481
|
}
|
|
@@ -405,6 +485,12 @@ function renderProposals(){
|
|
|
405
485
|
$('content').innerHTML='<div class="empty">Cannot load proposals. Admin auth may be required for this endpoint.</div>';
|
|
406
486
|
});
|
|
407
487
|
}
|
|
488
|
+
function approveProposal(hash){
|
|
489
|
+
apiPatch('/api/atr-proposals',{patternHash:hash,action:'approve'}).then(function(){renderProposals();}).catch(function(){alert('Failed to approve proposal');});
|
|
490
|
+
}
|
|
491
|
+
function rejectProposal(hash){
|
|
492
|
+
apiPatch('/api/atr-proposals',{patternHash:hash,action:'reject'}).then(function(){renderProposals();}).catch(function(){alert('Failed to reject proposal');});
|
|
493
|
+
}
|
|
408
494
|
|
|
409
495
|
// Skill Threats
|
|
410
496
|
function renderSkills(){
|
|
@@ -438,16 +524,22 @@ function renderBlacklist(){
|
|
|
438
524
|
api('/api/skill-blacklist').then(d=>{
|
|
439
525
|
const list=d.data||[];
|
|
440
526
|
let html='<div class="table-wrap"><div class="table-header"><h2>Community Blacklist ('+list.length+')</h2></div>';
|
|
527
|
+
html+='<div style="padding:16px;border-bottom:1px solid var(--border);display:flex;gap:8px;align-items:center;flex-wrap:wrap">';
|
|
528
|
+
html+='<input type="text" id="blSkillName" placeholder="Skill name" style="padding:6px 10px;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:13px;flex:1;min-width:160px"/>';
|
|
529
|
+
html+='<input type="text" id="blReason" placeholder="Reason" style="padding:6px 10px;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:13px;flex:1;min-width:160px"/>';
|
|
530
|
+
html+='<button onclick="addToBlacklist()" style="padding:6px 14px;background:var(--red);color:var(--bg);border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer">Block</button>';
|
|
531
|
+
html+='</div>';
|
|
441
532
|
if(!list.length){html+='<div class="empty">No blacklisted skills yet. Skills are blacklisted when 3+ distinct clients report avg risk >= 70.</div>';}
|
|
442
533
|
else{
|
|
443
|
-
html+='<table><tr><th>Skill Name</th><th>Avg Risk</th><th>Max Level</th><th>Reports</th><th>First Seen</th><th>Last Seen</th></tr>';
|
|
534
|
+
html+='<table><tr><th>Skill Name</th><th>Avg Risk</th><th>Max Level</th><th>Reports</th><th>First Seen</th><th>Last Seen</th><th>Actions</th></tr>';
|
|
444
535
|
list.forEach(s=>{
|
|
445
536
|
html+='<tr><td>'+h(s.skillName)+'</td>';
|
|
446
537
|
html+='<td>'+num(s.avgRiskScore)+'</td>';
|
|
447
538
|
html+='<td>'+severityBadge(s.maxRiskLevel)+'</td>';
|
|
448
539
|
html+='<td>'+num(s.reportCount)+'</td>';
|
|
449
540
|
html+='<td>'+timeAgo(s.firstReported)+'</td>';
|
|
450
|
-
html+='<td>'+timeAgo(s.lastReported)+'</td
|
|
541
|
+
html+='<td>'+timeAgo(s.lastReported)+'</td>';
|
|
542
|
+
html+='<td><button style="padding:4px 10px;background:var(--red);color:var(--bg);border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:600" onclick="removeFromBlacklist(\\\''+h(s.skillHash||s.skill_hash||'')+'\\\')">× Remove</button></td></tr>';
|
|
451
543
|
});
|
|
452
544
|
html+='</table>';
|
|
453
545
|
}
|
|
@@ -456,12 +548,23 @@ function renderBlacklist(){
|
|
|
456
548
|
});
|
|
457
549
|
}
|
|
458
550
|
|
|
551
|
+
function addToBlacklist(){
|
|
552
|
+
var name=(document.getElementById('blSkillName')||{}).value||'';
|
|
553
|
+
var reason=(document.getElementById('blReason')||{}).value||'';
|
|
554
|
+
if(!name.trim()){alert('Skill name is required');return;}
|
|
555
|
+
apiPost('/api/skill-blacklist',{skillName:name.trim(),reason:reason.trim()}).then(function(){renderBlacklist();}).catch(function(){alert('Failed to add to blacklist');});
|
|
556
|
+
}
|
|
557
|
+
function removeFromBlacklist(hash){
|
|
558
|
+
if(!confirm('Remove this skill from the blacklist?'))return;
|
|
559
|
+
apiDelete('/api/skill-blacklist',{skillHash:hash}).then(function(){renderBlacklist();}).catch(function(){alert('Failed to remove from blacklist');});
|
|
560
|
+
}
|
|
561
|
+
|
|
459
562
|
// Feeds
|
|
460
563
|
function renderFeeds(){
|
|
461
564
|
Promise.all([
|
|
462
565
|
apiText('/api/feeds/ip-blocklist'),
|
|
463
566
|
apiText('/api/feeds/domain-blocklist'),
|
|
464
|
-
api('/api/skill-whitelist')
|
|
567
|
+
api('/api/skill-whitelist/all')
|
|
465
568
|
]).then(([ips,domains,wl])=>{
|
|
466
569
|
const ipList=(ips||'').trim().split('\\n').filter(Boolean);
|
|
467
570
|
const domList=(domains||'').trim().split('\\n').filter(Boolean);
|
|
@@ -487,13 +590,19 @@ function renderFeeds(){
|
|
|
487
590
|
|
|
488
591
|
// Skill Whitelist
|
|
489
592
|
html+='<div class="table-wrap"><div class="table-header"><h2>Community Skill Whitelist ('+whiteList.length+')</h2></div>';
|
|
593
|
+
html+='<div style="padding:16px;border-bottom:1px solid var(--border);display:flex;gap:8px;align-items:center">';
|
|
594
|
+
html+='<input type="text" id="wlSkillName" placeholder="Skill name to whitelist" style="padding:6px 10px;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:13px;flex:1;min-width:200px"/>';
|
|
595
|
+
html+='<button onclick="addToWhitelist()" style="padding:6px 14px;background:var(--green);color:var(--bg);border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer">Add</button>';
|
|
596
|
+
html+='</div>';
|
|
490
597
|
if(!whiteList.length){html+='<div class="empty">No whitelisted skills yet.</div>';}
|
|
491
598
|
else{
|
|
492
|
-
html+='<table><tr><th>Skill Name</th><th>Reports</th><th>Fingerprint</th></tr>';
|
|
599
|
+
html+='<table><tr><th>Skill Name</th><th>Reports</th><th>Fingerprint</th><th>Actions</th></tr>';
|
|
493
600
|
whiteList.forEach(s=>{
|
|
494
|
-
|
|
601
|
+
var sName=s.skill_name||s.skillName||'';
|
|
602
|
+
html+='<tr><td>'+h(sName)+'</td>';
|
|
495
603
|
html+='<td>'+num(s.report_count||s.reportCount||0)+'</td>';
|
|
496
|
-
html+='<td title="'+h(s.fingerprint_hash||'')+'">'+h((s.fingerprint_hash||'-').slice(0,16))+'</td
|
|
604
|
+
html+='<td title="'+h(s.fingerprint_hash||'')+'">'+h((s.fingerprint_hash||'-').slice(0,16))+'</td>';
|
|
605
|
+
html+='<td><button style="padding:4px 10px;background:var(--red);color:var(--bg);border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:600" onclick="removeFromWhitelist(\\\''+h(sName)+'\\\')">× Remove</button></td></tr>';
|
|
497
606
|
});
|
|
498
607
|
html+='</table>';
|
|
499
608
|
}
|
|
@@ -503,6 +612,16 @@ function renderFeeds(){
|
|
|
503
612
|
});
|
|
504
613
|
}
|
|
505
614
|
|
|
615
|
+
function addToWhitelist(){
|
|
616
|
+
var name=(document.getElementById('wlSkillName')||{}).value||'';
|
|
617
|
+
if(!name.trim()){alert('Skill name is required');return;}
|
|
618
|
+
apiPost('/api/skill-whitelist',{skillName:name.trim()}).then(function(){renderFeeds();}).catch(function(){alert('Failed to add to whitelist');});
|
|
619
|
+
}
|
|
620
|
+
function removeFromWhitelist(name){
|
|
621
|
+
if(!confirm('Remove "'+name+'" from the whitelist?'))return;
|
|
622
|
+
apiDelete('/api/skill-whitelist',{skillName:name}).then(function(){renderFeeds();}).catch(function(){alert('Failed to remove from whitelist');});
|
|
623
|
+
}
|
|
624
|
+
|
|
506
625
|
// Audit Log
|
|
507
626
|
let auditPage=1;
|
|
508
627
|
function renderAuditLog(){
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-dashboard.js","sourceRoot":"","sources":["../src/admin-dashboard.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,UAAU,YAAY;IAC1B,OAAO
|
|
1
|
+
{"version":3,"file":"admin-dashboard.js","sourceRoot":"","sources":["../src/admin-dashboard.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,UAAU,YAAY;IAC1B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA6oBD,CAAC;AACT,CAAC"}
|
package/dist/cli.js
CHANGED
|
File without changes
|
package/dist/database.d.ts
CHANGED
|
@@ -81,6 +81,19 @@ export declare class ThreatCloudDB {
|
|
|
81
81
|
total: number;
|
|
82
82
|
};
|
|
83
83
|
/** Get threat statistics / 取得威脅統計 */
|
|
84
|
+
recordUsageEvent(eventType: string, source: string, metadata?: Record<string, unknown>): void;
|
|
85
|
+
getUsageStats(): {
|
|
86
|
+
totalScans: number;
|
|
87
|
+
scansToday: number;
|
|
88
|
+
scansThisWeek: number;
|
|
89
|
+
scansBySource: Record<string, number>;
|
|
90
|
+
cliInstalls: number;
|
|
91
|
+
dailyTrend: Array<{
|
|
92
|
+
date: string;
|
|
93
|
+
count: number;
|
|
94
|
+
}>;
|
|
95
|
+
};
|
|
96
|
+
clearAllRules(): number;
|
|
84
97
|
getStats(): ThreatStats;
|
|
85
98
|
/** Get confirmed/promoted ATR rules, optionally filtered by date / 取得已確認 ATR 規則 */
|
|
86
99
|
getConfirmedATRRules(since?: string): Array<{
|
|
@@ -99,6 +112,16 @@ export declare class ThreatCloudDB {
|
|
|
99
112
|
promoteConfirmedProposals(): number;
|
|
100
113
|
/** Reject an ATR proposal / 拒絕 ATR 提案 */
|
|
101
114
|
rejectATRProposal(patternHash: string): void;
|
|
115
|
+
/** Admin: manually approve an ATR proposal and promote to rule */
|
|
116
|
+
approveATRProposal(patternHash: string): boolean;
|
|
117
|
+
/** Admin: remove a skill from whitelist */
|
|
118
|
+
removeFromWhitelist(skillName: string): boolean;
|
|
119
|
+
/** Admin: manually add a skill to blacklist via skill_threats */
|
|
120
|
+
addToBlacklist(skillName: string, reason: string): void;
|
|
121
|
+
/** Admin: remove a skill from blacklist by clearing its threat reports */
|
|
122
|
+
removeFromBlacklist(skillHash: string): boolean;
|
|
123
|
+
/** Get all whitelist entries (including unconfirmed, for admin) */
|
|
124
|
+
getAllWhitelistEntries(): unknown[];
|
|
102
125
|
/** Get rules by source type, optionally filtered by date / 依來源取得規則 */
|
|
103
126
|
getRulesBySource(source: string, since?: string): ThreatCloudRule[];
|
|
104
127
|
/** Report a safe skill (increment confirmations, auto-confirm at 3+) / 回報安全 skill */
|
package/dist/database.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EACV,oBAAoB,EACpB,eAAe,EACf,WAAW,EACX,WAAW,EACX,qBAAqB,EACrB,mBAAmB,EACnB,SAAS,EACT,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAoB;IACvC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;gBAEhB,MAAM,EAAE,MAAM;IAQ1B,gDAAgD;IAChD,OAAO,CAAC,UAAU;
|
|
1
|
+
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"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"}
|
package/dist/database.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* @module @panguard-ai/threat-cloud/database
|
|
8
8
|
*/
|
|
9
9
|
import Database from 'better-sqlite3';
|
|
10
|
-
import { createHmac } from 'node:crypto';
|
|
10
|
+
import { createHmac, createHash } from 'node:crypto';
|
|
11
11
|
import { runMigrations } from './migrations.js';
|
|
12
12
|
import { AuditLogger } from './audit-logger.js';
|
|
13
13
|
/**
|
|
@@ -113,6 +113,16 @@ export class ThreatCloudDB {
|
|
|
113
113
|
last_reported TEXT DEFAULT (datetime('now'))
|
|
114
114
|
);
|
|
115
115
|
|
|
116
|
+
CREATE TABLE IF NOT EXISTS usage_events (
|
|
117
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
118
|
+
event_type TEXT NOT NULL,
|
|
119
|
+
source TEXT NOT NULL DEFAULT 'unknown',
|
|
120
|
+
metadata TEXT,
|
|
121
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
122
|
+
);
|
|
123
|
+
CREATE INDEX IF NOT EXISTS idx_usage_type ON usage_events(event_type);
|
|
124
|
+
CREATE INDEX IF NOT EXISTS idx_usage_created ON usage_events(created_at);
|
|
125
|
+
|
|
116
126
|
-- Migrations are handled by the numbered migration system in migrations.ts
|
|
117
127
|
`);
|
|
118
128
|
try {
|
|
@@ -487,6 +497,29 @@ export class ThreatCloudDB {
|
|
|
487
497
|
return { pending, confirmed, rejected, total };
|
|
488
498
|
}
|
|
489
499
|
/** Get threat statistics / 取得威脅統計 */
|
|
500
|
+
// ---------------------------------------------------------------------------
|
|
501
|
+
// Usage Events
|
|
502
|
+
// ---------------------------------------------------------------------------
|
|
503
|
+
recordUsageEvent(eventType, source, metadata) {
|
|
504
|
+
this.db.prepare('INSERT INTO usage_events (event_type, source, metadata) VALUES (?, ?, ?)').run(eventType, source, metadata ? JSON.stringify(metadata) : null);
|
|
505
|
+
}
|
|
506
|
+
getUsageStats() {
|
|
507
|
+
const totalScans = this.db.prepare("SELECT COUNT(*) as count FROM usage_events WHERE event_type IN ('scan', 'cli_scan')").get().count;
|
|
508
|
+
const scansToday = this.db.prepare("SELECT COUNT(*) as count FROM usage_events WHERE event_type = 'scan' AND created_at > datetime('now', '-1 day')").get().count;
|
|
509
|
+
const scansThisWeek = this.db.prepare("SELECT COUNT(*) as count FROM usage_events WHERE event_type = 'scan' AND created_at > datetime('now', '-7 days')").get().count;
|
|
510
|
+
const sourceRows = this.db.prepare("SELECT source, COUNT(*) as count FROM usage_events WHERE event_type = 'scan' GROUP BY source").all();
|
|
511
|
+
const scansBySource = {};
|
|
512
|
+
for (const r of sourceRows)
|
|
513
|
+
scansBySource[r.source] = r.count;
|
|
514
|
+
const cliInstalls = this.db.prepare("SELECT COUNT(*) as count FROM usage_events WHERE event_type = 'cli_install'").get().count;
|
|
515
|
+
const dailyTrend = this.db.prepare("SELECT date(created_at) as date, COUNT(*) as count FROM usage_events WHERE event_type = 'scan' AND created_at > datetime('now', '-30 days') GROUP BY date(created_at) ORDER BY date").all();
|
|
516
|
+
return { totalScans, scansToday, scansThisWeek, scansBySource, cliInstalls, dailyTrend };
|
|
517
|
+
}
|
|
518
|
+
clearAllRules() {
|
|
519
|
+
const rulesDeleted = (this.db.prepare('DELETE FROM rules').run()).changes;
|
|
520
|
+
const proposalsDeleted = (this.db.prepare('DELETE FROM atr_proposals').run()).changes;
|
|
521
|
+
return rulesDeleted + proposalsDeleted;
|
|
522
|
+
}
|
|
490
523
|
getStats() {
|
|
491
524
|
const totalThreats = this.db.prepare('SELECT COUNT(*) as count FROM threats').get().count;
|
|
492
525
|
const totalRules = this.db.prepare('SELECT COUNT(*) as count FROM rules').get().count;
|
|
@@ -681,6 +714,66 @@ export class ThreatCloudDB {
|
|
|
681
714
|
`)
|
|
682
715
|
.run(patternHash);
|
|
683
716
|
}
|
|
717
|
+
/** Admin: manually approve an ATR proposal and promote to rule */
|
|
718
|
+
approveATRProposal(patternHash) {
|
|
719
|
+
const proposal = this.db
|
|
720
|
+
.prepare('SELECT pattern_hash, rule_content FROM atr_proposals WHERE pattern_hash = ? LIMIT 1')
|
|
721
|
+
.get(patternHash);
|
|
722
|
+
if (!proposal)
|
|
723
|
+
return false;
|
|
724
|
+
// Update proposal status
|
|
725
|
+
this.db.prepare(`
|
|
726
|
+
UPDATE atr_proposals SET status = 'approved', llm_review_verdict = 'admin-approved', updated_at = datetime('now')
|
|
727
|
+
WHERE pattern_hash = ?
|
|
728
|
+
`).run(patternHash);
|
|
729
|
+
// Insert as confirmed rule
|
|
730
|
+
const ruleId = `ATR-2026-DRAFT-${patternHash.slice(0, 8)}`;
|
|
731
|
+
try {
|
|
732
|
+
this.db.prepare(`
|
|
733
|
+
INSERT OR IGNORE INTO rules (rule_id, rule_content, source, category, severity)
|
|
734
|
+
VALUES (?, ?, 'atr-community', 'skill-compromise', 'high')
|
|
735
|
+
`).run(ruleId, proposal.rule_content);
|
|
736
|
+
}
|
|
737
|
+
catch {
|
|
738
|
+
// Rule may already exist
|
|
739
|
+
}
|
|
740
|
+
return true;
|
|
741
|
+
}
|
|
742
|
+
/** Admin: remove a skill from whitelist */
|
|
743
|
+
removeFromWhitelist(skillName) {
|
|
744
|
+
const normalized = skillName.toLowerCase().trim().replace(/\s+/g, '-');
|
|
745
|
+
const result = this.db.prepare(`
|
|
746
|
+
DELETE FROM skill_whitelist WHERE normalized_name = ?
|
|
747
|
+
`).run(normalized);
|
|
748
|
+
return result.changes > 0;
|
|
749
|
+
}
|
|
750
|
+
/** Admin: manually add a skill to blacklist via skill_threats */
|
|
751
|
+
addToBlacklist(skillName, reason) {
|
|
752
|
+
const hash = createHash('sha256').update(skillName).digest('hex').slice(0, 16);
|
|
753
|
+
// Insert 3 threat reports to trigger blacklist threshold
|
|
754
|
+
for (let i = 0; i < 3; i++) {
|
|
755
|
+
this.db.prepare(`
|
|
756
|
+
INSERT INTO skill_threats (skill_hash, skill_name, risk_score, risk_level, finding_summaries, client_id)
|
|
757
|
+
VALUES (?, ?, 100, 'CRITICAL', ?, ?)
|
|
758
|
+
`).run(hash, skillName, reason, `admin-${i}`);
|
|
759
|
+
}
|
|
760
|
+
}
|
|
761
|
+
/** Admin: remove a skill from blacklist by clearing its threat reports */
|
|
762
|
+
removeFromBlacklist(skillHash) {
|
|
763
|
+
const result = this.db.prepare(`
|
|
764
|
+
DELETE FROM skill_threats WHERE skill_hash = ?
|
|
765
|
+
`).run(skillHash);
|
|
766
|
+
return result.changes > 0;
|
|
767
|
+
}
|
|
768
|
+
/** Get all whitelist entries (including unconfirmed, for admin) */
|
|
769
|
+
getAllWhitelistEntries() {
|
|
770
|
+
return this.db.prepare(`
|
|
771
|
+
SELECT skill_name, normalized_name, fingerprint_hash, confirmations, status,
|
|
772
|
+
first_reported, last_reported
|
|
773
|
+
FROM skill_whitelist
|
|
774
|
+
ORDER BY first_reported DESC
|
|
775
|
+
`).all();
|
|
776
|
+
}
|
|
684
777
|
/** Get rules by source type, optionally filtered by date / 依來源取得規則 */
|
|
685
778
|
getRulesBySource(source, since) {
|
|
686
779
|
if (since) {
|
package/dist/database.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.js","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAWzC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;;GAGG;AACH,MAAM,OAAO,aAAa;IACP,EAAE,CAAoB;IAC9B,KAAK,CAAc;IAE5B,YAAY,MAAc;QACxB,IAAI,CAAC,EAAE,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACrC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;QACpC,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,gDAAgD;IACxC,UAAU;QAChB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAwFZ,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CACX,8CAA8C,EAC9C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CACjD,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;KAYZ,CAAC,CAAC;IACL,CAAC;IAED,gDAAgD;IAChD,YAAY,CAAC,IAA0B;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;KAG5B,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CACN,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,QAAQ,IAAI,IAAI,EACrB,IAAI,CAAC,MAAM,CACZ,CAAC;IACJ,CAAC;IAED,qDAAqD;IACrD,UAAU,CAAC,QAAgB,EAAE,EAAE,SAAiB,CAAC;QAC/C,OAAO,IAAI,CAAC,EAAE;aACX,OAAO,CAAC,gEAAgE,CAAC;aACzE,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACxB,CAAC;IAED,sCAAsC;IACtC,cAAc;QACZ,OAAQ,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,GAAG,EAAwB;aACzF,KAAK,CAAC;IACX,CAAC;IAED,uEAAuE;IAC/D,eAAe,CACrB,WAAmB,EACnB,MAAc;QAOd,IAAI,QAAQ,GAAG,SAAS,CAAC;QACzB,IAAI,QAAQ,GAAG,QAAQ,CAAC;QACxB,IAAI,eAAe,GAAG,EAAE,CAAC;QACzB,IAAI,IAAI,GAAG,EAAE,CAAC;QAEd,IAAI,CAAC;YACH,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACtB,wCAAwC;gBACxC,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;gBACtF,IAAI,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC9B,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;oBAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;oBACxD,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC;wBAAE,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;oBACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;oBACxD,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC;wBAAE,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;oBACxD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;oBACvE,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC;wBAAE,eAAe,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBACvD,CAAC;gBACD,sDAAsD;gBACtD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC3B,IAAI,kDAAkD,CAAC,IAAI,CAAC,WAAW,CAAC;wBACtE,QAAQ,GAAG,SAAS,CAAC;yBAClB,IAAI,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC;wBAAE,QAAQ,GAAG,SAAS,CAAC;yBAC5D,IAAI,8BAA8B,CAAC,IAAI,CAAC,WAAW,CAAC;wBAAE,QAAQ,GAAG,UAAU,CAAC;yBAC5E,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;wBAAE,QAAQ,GAAG,UAAU,CAAC;yBACzD,IAAI,wBAAwB,CAAC,IAAI,CAAC,WAAW,CAAC;wBAAE,QAAQ,GAAG,QAAQ,CAAC;gBAC3E,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,qCAAqC;gBACrC,yBAAyB;gBACzB,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;gBAChF,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAAE,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;gBAExD,oBAAoB;gBACpB,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;gBAClF,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClB,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;oBACtD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;oBACnE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAEzB,mDAAmD;oBACnD,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBAClE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACzB,eAAe,GAAG,SAAS;6BACxB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;6BACrD,IAAI,CAAC,GAAG,CAAC,CAAC;oBACf,CAAC;oBAED,gDAAgD;oBAChD,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;oBAClE,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;wBAC7B,IAAI,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;4BAChC,QAAQ,GAAG,gBAAgB,CAAC;4BAC5B,MAAM;wBACR,CAAC;wBACD,IAAI,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;4BAC3B,QAAQ,GAAG,WAAW,CAAC;4BACvB,MAAM;wBACR,CAAC;wBACD,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;4BAC7B,QAAQ,GAAG,aAAa,CAAC;4BACzB,MAAM;wBACR,CAAC;wBACD,IAAI,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;4BACtC,QAAQ,GAAG,sBAAsB,CAAC;4BAClC,MAAM;wBACR,CAAC;wBACD,IAAI,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;4BACjC,QAAQ,GAAG,iBAAiB,CAAC;4BAC7B,MAAM;wBACR,CAAC;wBACD,IAAI,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;4BACnC,QAAQ,GAAG,mBAAmB,CAAC;4BAC/B,MAAM;wBACR,CAAC;wBACD,IAAI,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;4BAC3B,QAAQ,GAAG,WAAW,CAAC;4BACvB,MAAM;wBACR,CAAC;wBACD,IAAI,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;4BAClC,QAAQ,GAAG,kBAAkB,CAAC;4BAC9B,MAAM;wBACR,CAAC;wBACD,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;4BAC5B,QAAQ,GAAG,YAAY,CAAC;4BACxB,MAAM;wBACR,CAAC;wBACD,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;4BAC9B,QAAQ,GAAG,cAAc,CAAC;4BAC1B,MAAM;wBACR,CAAC;wBACD,IAAI,yBAAyB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;4BACxC,QAAQ,GAAG,qBAAqB,CAAC;4BACjC,MAAM;wBACR,CAAC;wBACD,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;4BACxB,QAAQ,GAAG,QAAQ,CAAC;4BACpB,MAAM;wBACR,CAAC;wBACD,IAAI,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;4BACtC,QAAQ,GAAG,sBAAsB,CAAC;4BAClC,MAAM;wBACR,CAAC;wBACD,IAAI,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;4BAChC,QAAQ,GAAG,gBAAgB,CAAC;4BAC5B,MAAM;wBACR,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,yCAAyC;gBACzC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC3B,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAClC,0EAA0E,CAC3E,CAAC;oBACF,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACpB,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;oBACzC,CAAC;yBAAM,CAAC;wBACN,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,CACnC,yEAAyE,CAC1E,CAAC;wBACF,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC;4BAAE,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;oBAChE,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,oCAAoC;QACtC,CAAC;QAED,kCAAkC;QAClC,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QAClC,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QAElC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;IACvD,CAAC;IAED,oDAAoD;IACpD,UAAU,CAAC,IAAqB;QAC9B,sDAAsD;QACtD,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC;QAChD,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC;QACrE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC;QAEpC,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;;;KAY5B,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CACN,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,MAAM,EACX,QAAQ,EACR,QAAQ,EACR,eAAe,EACf,IAAI,CACL,CAAC;IACJ,CAAC;IAED,mEAAmE;IACnE,aAAa,CACX,KAAa,EACb,OAAmE;QAEnE,IAAI,GAAG,GAAG;;wCAE0B,CAAC;QACrC,MAAM,MAAM,GAAc,CAAC,KAAK,CAAC,CAAC;QAElC,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;YACtB,GAAG,IAAI,mBAAmB,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;YACtB,GAAG,IAAI,mBAAmB,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YACpB,GAAG,IAAI,iBAAiB,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QAED,GAAG,IAAI,4BAA4B,CAAC;QACpC,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAsB,CAAC;IAClE,CAAC;IAED,+CAA+C;IAC/C,WAAW,CACT,KAAK,GAAG,IAAI,EACZ,OAAmE;QAEnE,IAAI,GAAG,GAAG;;2BAEa,CAAC;QACxB,MAAM,MAAM,GAAc,EAAE,CAAC;QAE7B,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;YACtB,GAAG,IAAI,mBAAmB,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;YACtB,GAAG,IAAI,mBAAmB,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YACpB,GAAG,IAAI,iBAAiB,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QAED,GAAG,IAAI,qCAAqC,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAsB,CAAC;IAClE,CAAC;IAED,6CAA6C;IAC7C,iBAAiB,CAAC,QAAqB;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;KAG5B,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CACN,QAAQ,CAAC,WAAW,EACpB,QAAQ,CAAC,WAAW,EACpB,QAAQ,CAAC,WAAW,EACpB,QAAQ,CAAC,QAAQ,EACjB,QAAQ,CAAC,iBAAiB,EAC1B,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAC1B,CAAC;IACJ,CAAC;IAED,mEAAmE;IACnE,eAAe,CAAC,MAAe;QAC7B,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,EAAE;iBACX,OAAO,CAAC,uEAAuE,CAAC;iBAChF,GAAG,CAAC,MAAM,CAAC,CAAC;QACjB,CAAC;QACD,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,sDAAsD,CAAC,CAAC,GAAG,EAAE,CAAC;IACvF,CAAC;IAED,6EAA6E;IAC7E,kBAAkB,CAAC,WAAmB;QACpC,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;;;;;;KAMH,CACE;aACA,GAAG,CAAC,WAAW,CAAC,CAAC;IACtB,CAAC;IAED,6DAA6D;IAC7D,0BAA0B,CAAC,WAAmB,EAAE,OAAe;QAC7D,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;;KAEH,CACE;aACA,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC/B,CAAC;IAED,sCAAsC;IACtC,iBAAiB,CAAC,MAAc,EAAE,cAAuB,EAAE,QAAiB;QAC1E,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;;KAEH,CACE;aACA,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,IAAI,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED,+CAA+C;IAC/C,mBAAmB,CAAC,MAAc;QAChC,MAAM,EAAE,GACN,IAAI,CAAC,EAAE;aACJ,OAAO,CACN,uFAAuF,CACxF;aACA,GAAG,CAAC,MAAM,CACd,CAAC,KAAK,CAAC;QACR,MAAM,EAAE,GACN,IAAI,CAAC,EAAE;aACJ,OAAO,CACN,uFAAuF,CACxF;aACA,GAAG,CAAC,MAAM,CACd,CAAC,KAAK,CAAC;QACR,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC;IACnD,CAAC;IAED,gDAAgD;IAChD,iBAAiB,CAAC,UAAiC;QACjD,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;KAG5B,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CACN,UAAU,CAAC,SAAS,EACpB,UAAU,CAAC,SAAS,EACpB,UAAU,CAAC,SAAS,EACpB,UAAU,CAAC,SAAS,EACpB,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,EAChF,UAAU,CAAC,QAAQ,IAAI,IAAI,CAC5B,CAAC;IACJ,CAAC;IAED,iFAAiF;IACjF,yBAAyB,CAAC,SAAiB;QAMzC,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE;aAChB,OAAO,CACN;iDACyC,CAC1C;aACA,GAAG,CAAC,SAAS,CAAsE,CAAC;QAEvF,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE;aACxB,OAAO,CACN;;0CAEkC,CACnC;aACA,GAAG,CAAC,SAAS,CAAyC,CAAC;QAE1D,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAA6B,CAAC;gBAC5E,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;oBACvB,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;wBAC3C,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;oBACzB,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,uBAAuB;YACzB,CAAC;QACH,CAAC;QAED,OAAO;YACL,WAAW,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;YAC1B,YAAY,EAAE,GAAG,EAAE,SAAS,IAAI,CAAC;YACjC,YAAY,EAAE,GAAG,EAAE,SAAS,IAAI,KAAK;YACrC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;SAChC,CAAC;IACJ,CAAC;IAED,iEAAiE;IACjE,cAAc,CAAC,WAAmB;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE;aAChB,OAAO,CAAC,4DAA4D,CAAC;aACrE,GAAG,CAAC,WAAW,CAAuC,CAAC;QAC1D,OAAO,GAAG,KAAK,SAAS,CAAC;IAC3B,CAAC;IAED,iFAAiF;IACjF,oBAAoB,CAClB,WAAmB;QAEnB,OAAO,IAAI,CAAC,EAAE;aACX,OAAO,CAAC,mFAAmF,CAAC;aAC5F,GAAG,CAAC,WAAW,CAAoE,CAAC;IACzF,CAAC;IAED,0CAA0C;IAC1C,eAAe,CAAC,QAAgB,EAAE;QAChC,OAAO,IAAI,CAAC,EAAE;aACX,OAAO,CAAC,8DAA8D,CAAC;aACvE,GAAG,CAAC,KAAK,CAAC,CAAC;IAChB,CAAC;IAED,uCAAuC;IACvC,gBAAgB;QACd,MAAM,OAAO,GACX,IAAI,CAAC,EAAE;aACJ,OAAO,CAAC,sEAAsE,CAAC;aAC/E,GAAG,EACP,CAAC,KAAK,CAAC;QACR,MAAM,SAAS,GACb,IAAI,CAAC,EAAE;aACJ,OAAO,CAAC,wEAAwE,CAAC;aACjF,GAAG,EACP,CAAC,KAAK,CAAC;QACR,MAAM,QAAQ,GACZ,IAAI,CAAC,EAAE;aACJ,OAAO,CAAC,uEAAuE,CAAC;aAChF,GAAG,EACP,CAAC,KAAK,CAAC;QACR,MAAM,KAAK,GACT,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,6CAA6C,CAAC,CAAC,GAAG,EACnE,CAAC,KAAK,CAAC;QACR,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACjD,CAAC;IAED,qCAAqC;IACrC,QAAQ;QACN,MAAM,YAAY,GAChB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,GAAG,EAC7D,CAAC,KAAK,CAAC;QACR,MAAM,UAAU,GACd,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC,GAAG,EAC3D,CAAC,KAAK,CAAC;QAER,MAAM,OAAO,GACX,IAAI,CAAC,EAAE;aACJ,OAAO,CACN,qFAAqF,CACtF;aACA,GAAG,EACP,CAAC,KAAK,CAAC;QAER,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE;aAC3B,OAAO,CACN;;;;;;KAMH,CACE;aACA,GAAG,EAA4C,CAAC;QAEnD,MAAM,kBAAkB,GAAG,IAAI,CAAC,EAAE;aAC/B,OAAO,CACN;;;;;;KAMH,CACE;aACA,GAAG,EAAiD,CAAC;QAExD,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9C,MAAM,iBAAiB,GACrB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,6CAA6C,CAAC,CAAC,GAAG,EACnE,CAAC,KAAK,CAAC;QAER,MAAM,mBAAmB,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,MAAM,CAAC;QAE5D,MAAM,eAAe,GAAG,IAAI,CAAC,EAAE;aAC5B,OAAO,CACN;;;KAGH,CACE;aACA,GAAG,EAAgD,CAAC;QAEvD,MAAM,eAAe,GAAG,IAAI,CAAC,EAAE;aAC5B,OAAO,CACN;;;KAGH,CACE;aACA,GAAG,EAAgD,CAAC;QAEvD,MAAM,aAAa,GAAG,IAAI,CAAC,EAAE;aAC1B,OAAO,CACN;;;KAGH,CACE;aACA,GAAG,EAA8C,CAAC;QAErD,OAAO;YACL,YAAY;YACZ,UAAU;YACV,cAAc;YACd,kBAAkB;YAClB,cAAc,EAAE,OAAO;YACvB,aAAa;YACb,iBAAiB;YACjB,mBAAmB;YACnB,eAAe;YACf,eAAe;YACf,aAAa;SACd,CAAC;IACJ,CAAC;IAED,mFAAmF;IACnF,oBAAoB,CAClB,KAAc;QAEd,uBAAuB;QACvB,4DAA4D;QAC5D,0DAA0D;QAC1D,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAEzC,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE;aACtB,OAAO,CACN;;;8DAGsD,KAAK,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE;;OAExF,CACA;aACA,GAAG,CAAC,GAAG,WAAW,CAKnB,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE;aACnB,OAAO,CACN;;;+BAGuB,KAAK,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE;;OAEzD,CACA;aACA,GAAG,CAAC,GAAG,WAAW,CAKnB,CAAC;QAEH,OAAO,CAAC,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IACnC,CAAC;IAED,gFAAgF;IAChF,cAAc,CAAC,aAAqB;QAClC,yCAAyC;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE;aACnB,OAAO,CACN;;;;KAIH,CACE;aACA,GAAG,CAAC,aAAa,CAA6B,CAAC;QAElD,mEAAmE;QACnE,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE;aACtB,OAAO,CACN;;;;;KAKH,CACE;aACA,GAAG,EAA8B,CAAC;QAErC,wBAAwB;QACxB,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;QAChC,KAAK,MAAM,GAAG,IAAI,MAAM;YAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC/C,KAAK,MAAM,GAAG,IAAI,SAAS;YAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAClD,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,uDAAuD;IACvD,kBAAkB,CAAC,aAAqB;QACtC,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE;aACvB,OAAO,CACN;;;;KAIH,CACE;aACA,GAAG,CAAC,aAAa,CAA6B,CAAC;QAElD,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,yCAAyC;IACzC,SAAS,CAAC,IAAY,EAAE,KAAa,EAAE,UAAkB,EAAE,MAAc;QACvE,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;;;;;;;;KAQH,CACE;aACA,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED,4FAA4F;IAC5F,yBAAyB;QACvB,0DAA0D;QAC1D,kEAAkE;QAClE,qEAAqE;QACrE,kEAAkE;QAClE,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE;aACtB,OAAO,CACN;;;;;;;;;;;;KAYH,CACE;aACA,GAAG,EAMJ,CAAC;QAEH,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,8EAA8E;YAC9E,IAAI,QAAQ,CAAC,kBAAkB,EAAE,CAAC;gBAChC,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAA2B,CAAC;oBAClF,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK;wBAAE,SAAS;gBAC3C,CAAC;gBAAC,MAAM,CAAC;oBACP,8DAA8D;gBAChE,CAAC;YACH,CAAC;YAED,IAAI,CAAC,UAAU,CAAC;gBACd,MAAM,EAAE,QAAQ,CAAC,YAAY;gBAC7B,WAAW,EAAE,QAAQ,CAAC,YAAY;gBAClC,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACrC,MAAM,EAAE,eAAe;aACxB,CAAC,CAAC;YAEH,IAAI,CAAC,EAAE;iBACJ,OAAO,CACN;;;OAGH,CACE;iBACA,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAE9B,QAAQ,EAAE,CAAC;QACb,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,yCAAyC;IACzC,iBAAiB,CAAC,WAAmB;QACnC,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;;;KAGH,CACE;aACA,GAAG,CAAC,WAAW,CAAC,CAAC;IACtB,CAAC;IAED,sEAAsE;IACtE,gBAAgB,CAAC,MAAc,EAAE,KAAc;QAC7C,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,IAAI,CAAC,EAAE;iBACX,OAAO,CACN;;;;;;OAMH,CACE;iBACA,GAAG,CAAC,MAAM,EAAE,KAAK,CAAsB,CAAC;QAC7C,CAAC;QACD,OAAO,IAAI,CAAC,EAAE;aACX,OAAO,CACN;;;;;;KAMH,CACE;aACA,GAAG,CAAC,MAAM,CAAsB,CAAC;IACtC,CAAC;IAED,qFAAqF;IACrF,eAAe,CAAC,SAAiB,EAAE,eAAwB;QACzD,MAAM,UAAU,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACvE,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;;;;;;;;KAQH,CACE;aACA,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,eAAe,IAAI,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,kDAAkD;IAClD,iBAAiB;QACf,OAAO,IAAI,CAAC,EAAE;aACX,OAAO,CACN;;;;;KAKH,CACE;aACA,GAAG,EAAyE,CAAC;IAClF,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,aAAqB,CAAC,EAAE,aAAqB,EAAE;QAC/D,OAAO,IAAI,CAAC,EAAE;aACX,OAAO,CACN;;;;;;;;;;;;;KAaH,CACE;aACA,GAAG,CAAC,UAAU,EAAE,UAAU,CAA0B,CAAC;IAC1D,CAAC;IAED,uEAAuE;IACvE,sBAAsB;QACpB,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE;aACzB,OAAO,CAAC,wEAAwE,CAAC;aACjF,GAAG,EAAsE,CAAC;QAE7E,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;KAG5B,CAAC,CAAC;QAEH,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YAChE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YACrF,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACH,sBAAsB,CAAC,QAAgB,CAAC;QACtC,OAAO,IAAI,CAAC,EAAE;aACX,OAAO,CACN;;;;;;;;;;;iBAWS,CACV;aACA,GAAG,CAAC,KAAK,CAAwD,CAAC;IACvE,CAAC;IAED,iDAAiD;IACjD,eAAe,CAAC,KAAgB;QAC9B,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;yCACiC,CAClC;aACA,GAAG,CACF,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,kBAAkB,EACxB,KAAK,CAAC,gBAAgB,EACtB,KAAK,CAAC,iBAAiB,EACvB,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,UAAU,IAAI,IAAI,CACzB,CAAC;IACN,CAAC;IAED,kEAAkE;IAClE,yBAAyB,CAAC,QAAgB,EAAE;QAM1C,0CAA0C;QAC1C,sDAAsD;QACtD,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;aACjB,OAAO,CACN;;;;;;;;;;OAUD,CACA;aACA,GAAG,CAAC,KAAK,CAIV,CAAC;QAEH,2EAA2E;QAC3E,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC5C,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxD,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE;iBACvB,OAAO,CACN;;iCAEuB,YAAY;8BACf,CACrB;iBACA,GAAG,CAAC,GAAG,SAAS,CAAuD,CAAC;YAC3E,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;gBAC3B,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,2BAA2B,CAAC;QAEhF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACtB,0EAA0E;YAC1E,eAAe,EAAE,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YACnF,kBAAkB,EAAE,CAAC,CAAC,cAAc;YACpC,iBAAiB,EAAE,CAAC,CAAC,cAAc;YACnC,oBAAoB,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;SACtD,CAAC,CAAC,CAAC;IACN,CAAC;IAED,8DAA8D;IAC9D,oBAAoB;QAClB,4DAA4D;QAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE;aACnB,OAAO,CACN;;;0BAGkB,CACnB;aACA,GAAG,EAAoD,CAAC;QAE3D,uBAAuB;QACvB,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE;aACxB,OAAO,CACN;;;;;;yBAMiB,CAClB;aACA,GAAG,EAAkF,CAAC;QAEzF,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,eAAe,CAAC,IAAI;YACpE,MAAM,EAAE,CAAC;YACT,QAAQ,EAAE,CAAC;YACX,OAAO,EAAE,CAAC;SACX,CAAC;QACF,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,IAAI;YAC9D,MAAM,EAAE,CAAC;YACT,QAAQ,EAAE,CAAC;YACX,OAAO,EAAE,CAAC;SACX,CAAC;QACF,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,aAAa,CAAC,IAAI;YACjE,MAAM,EAAE,CAAC;YACT,QAAQ,EAAE,CAAC;YACX,OAAO,EAAE,CAAC;SACX,CAAC;QAEF,0EAA0E;QAC1E,MAAM,eAAe,GACnB,IAAI,CAAC,EAAE;aACJ,OAAO,CACN,4FAA4F,CAC7F;aACA,GAAG,EACP,CAAC,KAAK,CAAC;QAER,kBAAkB;QAClB,MAAM,aAAa,GACjB,IAAI,CAAC,EAAE;aACJ,OAAO,CAAC,8EAA8E,CAAC;aACvF,GAAG,EACP,CAAC,KAAK,CAAC;QAER,OAAO;YACL,kBAAkB,EAAE,MAAM,CAAC,WAAW;YACtC,oBAAoB,EAAE,eAAe;YACrC,oBAAoB,EAAE,MAAM,CAAC,aAAa;YAC1C,aAAa,EAAE,aAAa;YAC5B,OAAO,EAAE;gBACP,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;gBACtD,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE;gBACzE,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE;aACpD;YACD,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACtC,CAAC;IACJ,CAAC;IAED,iCAAiC;IACjC,KAAK;QACH,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"database.js","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts
CHANGED
|
@@ -46,6 +46,8 @@ export declare class ThreatCloudServer {
|
|
|
46
46
|
/** Stop the server / 停止伺服器 */
|
|
47
47
|
stop(): Promise<void>;
|
|
48
48
|
private handleRequest;
|
|
49
|
+
/** POST /api/usage - Record usage event (scan, cli_install, etc.) */
|
|
50
|
+
private handlePostUsageEvent;
|
|
49
51
|
/** POST /api/threats - Upload anonymized threat data (single or batch) */
|
|
50
52
|
private handlePostThreat;
|
|
51
53
|
/** GET /api/rules?since=<ISO>&category=<cat>&severity=<sev>&source=<src> */
|
|
@@ -88,6 +90,14 @@ export declare class ThreatCloudServer {
|
|
|
88
90
|
* 取得社群技能黑名單(從技能威脅回報聚合)
|
|
89
91
|
*/
|
|
90
92
|
private handleGetSkillBlacklist;
|
|
93
|
+
/** PATCH /api/atr-proposals - Admin approve/reject a proposal */
|
|
94
|
+
private handlePatchATRProposal;
|
|
95
|
+
/** DELETE /api/skill-whitelist - Admin remove a skill from whitelist */
|
|
96
|
+
private handleDeleteSkillWhitelist;
|
|
97
|
+
/** POST /api/skill-blacklist - Admin add a skill to blacklist */
|
|
98
|
+
private handlePostSkillBlacklist;
|
|
99
|
+
/** DELETE /api/skill-blacklist - Admin remove a skill from blacklist */
|
|
100
|
+
private handleDeleteSkillBlacklist;
|
|
91
101
|
/**
|
|
92
102
|
* POST /api/analyze-skills - Submit scan results for server-side LLM analysis
|
|
93
103
|
* 提交掃描結果讓伺服器端 LLM 分析語義威脅並自動產出 ATR proposals
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAoBH,OAAO,KAAK,EACV,YAAY,EAMb,MAAM,YAAY,CAAC;AA4BpB;;;GAGG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAgD;IAC9D,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAgB;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IACjD,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,UAAU,CAA0C;IAC5D,OAAO,CAAC,qBAAqB,CAA+C;IAC5E,OAAO,CAAC,UAAU,CAAqD;IAEvE,gDAAgD;IAChD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAiB;IAC9D,kCAAkC;IAClC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAU;gBAExC,MAAM,EAAE,YAAY;IAQhC,+BAA+B;IACzB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAoE5B,8BAA8B;IACxB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAmBb,aAAa;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAoBH,OAAO,KAAK,EACV,YAAY,EAMb,MAAM,YAAY,CAAC;AA4BpB;;;GAGG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAgD;IAC9D,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAgB;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IACjD,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,UAAU,CAA0C;IAC5D,OAAO,CAAC,qBAAqB,CAA+C;IAC5E,OAAO,CAAC,UAAU,CAAqD;IAEvE,gDAAgD;IAChD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAiB;IAC9D,kCAAkC;IAClC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAU;gBAExC,MAAM,EAAE,YAAY;IAQhC,+BAA+B;IACzB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAoE5B,8BAA8B;IACxB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAmBb,aAAa;IAsV3B,qEAAqE;YACvD,oBAAoB;IAqBlC,0EAA0E;YAC5D,gBAAgB;IA+C9B,4EAA4E;IAC5E,OAAO,CAAC,cAAc;IAmBtB,wDAAwD;YAC1C,cAAc;IAkC5B,kCAAkC;IAClC,OAAO,CAAC,cAAc;IAYtB,+DAA+D;IAC/D,OAAO,CAAC,gBAAgB;IAcxB,yDAAyD;IACzD,OAAO,CAAC,qBAAqB;IAO7B,mDAAmD;IACnD,OAAO,CAAC,qBAAqB;IAO7B,uEAAuE;YACzD,qBAAqB;IAoDnC,8DAA8D;YAChD,qBAAqB;IASnC,+DAA+D;YACjD,qBAAqB;IAgCnC;;;;OAIG;YACW,gCAAgC;IA2F9C,0EAA0E;IAC1E,OAAO,CAAC,iBAAiB;IASzB,oFAAoF;IACpF,OAAO,CAAC,oBAAoB;IAW5B,4FAA4F;IAC5F,OAAO,CAAC,wBAAwB;IAWhC,qEAAqE;YACvD,wBAAwB;IA2BtC,uEAAuE;IACvE,OAAO,CAAC,uBAAuB;IAK/B;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAU/B,iEAAiE;YACnD,sBAAsB;IAqBpC,wEAAwE;YAC1D,0BAA0B;IAYxC,iEAAiE;YACnD,wBAAwB;IAYtC,wEAAwE;YAC1D,0BAA0B;IAYxC;;;;;;OAMG;YACW,mBAAmB;IA0DjC,sDAAsD;IACtD,OAAO,CAAC,iBAAiB;IAczB;;;;OAIG;YACW,mBAAmB;IAkBjC,kEAAkE;YACpD,mBAAmB;IA8BjC,oFAAoF;IACpF,OAAO,CAAC,gBAAgB;IAMxB,sEAAsE;IACtE,OAAO,CAAC,qBAAqB;IAM7B,kDAAkD;IAClD,OAAO,CAAC,WAAW;IAiBnB,kFAAkF;IAClF,OAAO,CAAC,mBAAmB;IA0B3B,uEAAuE;IACvE,OAAO,CAAC,cAAc;IAwBtB,gCAAgC;IAChC,OAAO,CAAC,cAAc;IAWtB;;;OAGG;YACW,gBAAgB;IAqB9B,wDAAwD;IACxD,OAAO,CAAC,QAAQ;IAoBhB,sCAAsC;IACtC,OAAO,CAAC,QAAQ;IAUhB;;;OAGG;IACH,OAAO,CAAC,eAAe;CAwExB"}
|
package/dist/server.js
CHANGED
|
@@ -292,6 +292,13 @@ export class ThreatCloudServer {
|
|
|
292
292
|
else if (req.method === 'POST') {
|
|
293
293
|
await this.handlePostATRProposal(req, res);
|
|
294
294
|
}
|
|
295
|
+
else if (req.method === 'PATCH') {
|
|
296
|
+
if (!this.checkAdminAuth(req)) {
|
|
297
|
+
this.sendJson(res, 403, { ok: false, error: 'Admin API key required' });
|
|
298
|
+
break;
|
|
299
|
+
}
|
|
300
|
+
await this.handlePatchATRProposal(req, res);
|
|
301
|
+
}
|
|
295
302
|
else {
|
|
296
303
|
this.sendJson(res, 405, { ok: false, error: 'Method not allowed' });
|
|
297
304
|
}
|
|
@@ -350,6 +357,26 @@ export class ThreatCloudServer {
|
|
|
350
357
|
else if (req.method === 'POST') {
|
|
351
358
|
await this.handlePostSkillWhitelist(req, res);
|
|
352
359
|
}
|
|
360
|
+
else if (req.method === 'DELETE') {
|
|
361
|
+
if (!this.checkAdminAuth(req)) {
|
|
362
|
+
this.sendJson(res, 403, { ok: false, error: 'Admin API key required' });
|
|
363
|
+
break;
|
|
364
|
+
}
|
|
365
|
+
await this.handleDeleteSkillWhitelist(req, res);
|
|
366
|
+
}
|
|
367
|
+
else {
|
|
368
|
+
this.sendJson(res, 405, { ok: false, error: 'Method not allowed' });
|
|
369
|
+
}
|
|
370
|
+
break;
|
|
371
|
+
case '/api/skill-whitelist/all':
|
|
372
|
+
if (req.method === 'GET') {
|
|
373
|
+
if (!this.checkAdminAuth(req)) {
|
|
374
|
+
this.sendJson(res, 403, { ok: false, error: 'Admin API key required' });
|
|
375
|
+
break;
|
|
376
|
+
}
|
|
377
|
+
const allEntries = this.db.getAllWhitelistEntries();
|
|
378
|
+
this.sendJson(res, 200, { ok: true, data: allEntries });
|
|
379
|
+
}
|
|
353
380
|
else {
|
|
354
381
|
this.sendJson(res, 405, { ok: false, error: 'Method not allowed' });
|
|
355
382
|
}
|
|
@@ -358,6 +385,20 @@ export class ThreatCloudServer {
|
|
|
358
385
|
if (req.method === 'GET') {
|
|
359
386
|
this.handleGetSkillBlacklist(url, res);
|
|
360
387
|
}
|
|
388
|
+
else if (req.method === 'POST') {
|
|
389
|
+
if (!this.checkAdminAuth(req)) {
|
|
390
|
+
this.sendJson(res, 403, { ok: false, error: 'Admin API key required' });
|
|
391
|
+
break;
|
|
392
|
+
}
|
|
393
|
+
await this.handlePostSkillBlacklist(req, res);
|
|
394
|
+
}
|
|
395
|
+
else if (req.method === 'DELETE') {
|
|
396
|
+
if (!this.checkAdminAuth(req)) {
|
|
397
|
+
this.sendJson(res, 403, { ok: false, error: 'Admin API key required' });
|
|
398
|
+
break;
|
|
399
|
+
}
|
|
400
|
+
await this.handleDeleteSkillBlacklist(req, res);
|
|
401
|
+
}
|
|
361
402
|
else {
|
|
362
403
|
this.sendJson(res, 405, { ok: false, error: 'Method not allowed' });
|
|
363
404
|
}
|
|
@@ -406,6 +447,36 @@ export class ThreatCloudServer {
|
|
|
406
447
|
this.sendJson(res, 405, { ok: false, error: 'Method not allowed' });
|
|
407
448
|
}
|
|
408
449
|
break;
|
|
450
|
+
case '/api/usage':
|
|
451
|
+
if (req.method === 'POST') {
|
|
452
|
+
await this.handlePostUsageEvent(req, res);
|
|
453
|
+
}
|
|
454
|
+
else if (req.method === 'GET') {
|
|
455
|
+
if (!this.checkAdminAuth(req)) {
|
|
456
|
+
this.sendJson(res, 403, { ok: false, error: 'Admin API key required' });
|
|
457
|
+
break;
|
|
458
|
+
}
|
|
459
|
+
const stats = this.db.getUsageStats();
|
|
460
|
+
this.sendJson(res, 200, { ok: true, data: stats });
|
|
461
|
+
}
|
|
462
|
+
else {
|
|
463
|
+
this.sendJson(res, 405, { ok: false, error: 'Method not allowed' });
|
|
464
|
+
}
|
|
465
|
+
break;
|
|
466
|
+
case '/api/admin/reset-rules':
|
|
467
|
+
if (req.method === 'POST') {
|
|
468
|
+
if (!this.checkAdminAuth(req)) {
|
|
469
|
+
this.sendJson(res, 403, { ok: false, error: 'Admin API key required' });
|
|
470
|
+
break;
|
|
471
|
+
}
|
|
472
|
+
const deleted = this.db.clearAllRules();
|
|
473
|
+
log.info(`Admin reset: cleared ${deleted} rules and proposals`);
|
|
474
|
+
this.sendJson(res, 200, { ok: true, data: { deleted, message: 'All rules and proposals cleared. Re-seed required.' } });
|
|
475
|
+
}
|
|
476
|
+
else {
|
|
477
|
+
this.sendJson(res, 405, { ok: false, error: 'Method not allowed' });
|
|
478
|
+
}
|
|
479
|
+
break;
|
|
409
480
|
default:
|
|
410
481
|
this.sendJson(res, 404, { ok: false, error: 'Not found' });
|
|
411
482
|
}
|
|
@@ -424,6 +495,26 @@ export class ThreatCloudServer {
|
|
|
424
495
|
request_id: requestId,
|
|
425
496
|
});
|
|
426
497
|
}
|
|
498
|
+
/** POST /api/usage - Record usage event (scan, cli_install, etc.) */
|
|
499
|
+
async handlePostUsageEvent(req, res) {
|
|
500
|
+
try {
|
|
501
|
+
const body = await this.readBody(req);
|
|
502
|
+
const data = JSON.parse(body);
|
|
503
|
+
const eventType = data.event_type ?? 'unknown';
|
|
504
|
+
const source = data.source ?? 'unknown';
|
|
505
|
+
// Only allow known event types
|
|
506
|
+
const allowed = ['scan', 'cli_install', 'cli_setup', 'cli_scan', 'guard_start', 'page_view'];
|
|
507
|
+
if (!allowed.includes(eventType)) {
|
|
508
|
+
this.sendJson(res, 400, { ok: false, error: `Unknown event_type. Allowed: ${allowed.join(', ')}` });
|
|
509
|
+
return;
|
|
510
|
+
}
|
|
511
|
+
this.db.recordUsageEvent(eventType, source, data.metadata);
|
|
512
|
+
this.sendJson(res, 200, { ok: true, data: { recorded: true } });
|
|
513
|
+
}
|
|
514
|
+
catch {
|
|
515
|
+
this.sendJson(res, 400, { ok: false, error: 'Invalid request body' });
|
|
516
|
+
}
|
|
517
|
+
}
|
|
427
518
|
/** POST /api/threats - Upload anonymized threat data (single or batch) */
|
|
428
519
|
async handlePostThreat(req, res) {
|
|
429
520
|
const body = await this.readBody(req);
|
|
@@ -781,6 +872,63 @@ response:
|
|
|
781
872
|
const blacklist = this.db.getSkillBlacklist(minReports, minAvgRisk);
|
|
782
873
|
this.sendJson(res, 200, { ok: true, data: blacklist });
|
|
783
874
|
}
|
|
875
|
+
/** PATCH /api/atr-proposals - Admin approve/reject a proposal */
|
|
876
|
+
async handlePatchATRProposal(req, res) {
|
|
877
|
+
const body = await this.readBody(req);
|
|
878
|
+
const data = JSON.parse(body);
|
|
879
|
+
const { patternHash, action } = data;
|
|
880
|
+
if (!patternHash || !action) {
|
|
881
|
+
this.sendJson(res, 400, { ok: false, error: 'patternHash and action required' });
|
|
882
|
+
return;
|
|
883
|
+
}
|
|
884
|
+
if (action === 'approve') {
|
|
885
|
+
const ok = this.db.approveATRProposal(patternHash);
|
|
886
|
+
this.sendJson(res, ok ? 200 : 404, { ok, data: { message: ok ? 'Proposal approved and promoted' : 'Proposal not found' } });
|
|
887
|
+
}
|
|
888
|
+
else if (action === 'reject') {
|
|
889
|
+
this.db.rejectATRProposal(patternHash);
|
|
890
|
+
this.sendJson(res, 200, { ok: true, data: { message: 'Proposal rejected' } });
|
|
891
|
+
}
|
|
892
|
+
else {
|
|
893
|
+
this.sendJson(res, 400, { ok: false, error: 'action must be approve or reject' });
|
|
894
|
+
}
|
|
895
|
+
}
|
|
896
|
+
/** DELETE /api/skill-whitelist - Admin remove a skill from whitelist */
|
|
897
|
+
async handleDeleteSkillWhitelist(req, res) {
|
|
898
|
+
const body = await this.readBody(req);
|
|
899
|
+
const data = JSON.parse(body);
|
|
900
|
+
const { skillName } = data;
|
|
901
|
+
if (!skillName) {
|
|
902
|
+
this.sendJson(res, 400, { ok: false, error: 'skillName required' });
|
|
903
|
+
return;
|
|
904
|
+
}
|
|
905
|
+
const ok = this.db.removeFromWhitelist(skillName);
|
|
906
|
+
this.sendJson(res, ok ? 200 : 404, { ok, data: { message: ok ? 'Removed from whitelist' : 'Not found' } });
|
|
907
|
+
}
|
|
908
|
+
/** POST /api/skill-blacklist - Admin add a skill to blacklist */
|
|
909
|
+
async handlePostSkillBlacklist(req, res) {
|
|
910
|
+
const body = await this.readBody(req);
|
|
911
|
+
const data = JSON.parse(body);
|
|
912
|
+
const { skillName, reason } = data;
|
|
913
|
+
if (!skillName) {
|
|
914
|
+
this.sendJson(res, 400, { ok: false, error: 'skillName required' });
|
|
915
|
+
return;
|
|
916
|
+
}
|
|
917
|
+
this.db.addToBlacklist(skillName, reason || 'Admin manual block');
|
|
918
|
+
this.sendJson(res, 201, { ok: true, data: { message: 'Added to blacklist' } });
|
|
919
|
+
}
|
|
920
|
+
/** DELETE /api/skill-blacklist - Admin remove a skill from blacklist */
|
|
921
|
+
async handleDeleteSkillBlacklist(req, res) {
|
|
922
|
+
const body = await this.readBody(req);
|
|
923
|
+
const data = JSON.parse(body);
|
|
924
|
+
const { skillHash } = data;
|
|
925
|
+
if (!skillHash) {
|
|
926
|
+
this.sendJson(res, 400, { ok: false, error: 'skillHash required' });
|
|
927
|
+
return;
|
|
928
|
+
}
|
|
929
|
+
const ok = this.db.removeFromBlacklist(skillHash);
|
|
930
|
+
this.sendJson(res, ok ? 200 : 404, { ok, data: { message: ok ? 'Removed from blacklist' : 'Not found' } });
|
|
931
|
+
}
|
|
784
932
|
/**
|
|
785
933
|
* POST /api/analyze-skills - Submit scan results for server-side LLM analysis
|
|
786
934
|
* 提交掃描結果讓伺服器端 LLM 分析語義威脅並自動產出 ATR proposals
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,YAAY,EAA6C,MAAM,WAAW,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB,8CAA8C;AAC9C,MAAM,GAAG,GAAG;IACV,IAAI,EAAE,CAAC,GAAW,EAAE,KAA+B,EAAE,EAAE;QACrD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC,GAAG,IAAI,CACtF,CAAC;IACJ,CAAC;IACD,KAAK,EAAE,CAAC,GAAW,EAAE,GAAa,EAAE,KAA+B,EAAE,EAAE;QACrE,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,IAAI,CAAC,SAAS,CAAC;YACb,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC5B,KAAK,EAAE,OAAO;YACd,GAAG;YACH,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;YACvD,GAAG,KAAK;SACT,CAAC,GAAG,IAAI,CACV,CAAC;IACJ,CAAC;CACF,CAAC;AAQF;;;GAGG;AACH,MAAM,OAAO,iBAAiB;IACpB,MAAM,GAA2C,IAAI,CAAC;IAC7C,EAAE,CAAgB;IAClB,MAAM,CAAe;IACrB,WAAW,CAAqB;IACzC,cAAc,GAA0C,IAAI,CAAC;IAC7D,UAAU,GAAgC,IAAI,GAAG,EAAE,CAAC;IACpD,qBAAqB,GAA0C,IAAI,CAAC;IACpE,UAAU,GAAgD,IAAI,CAAC;IAEvE,gDAAgD;IACxC,MAAM,CAAU,qBAAqB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;IAC9D,kCAAkC;IAC1B,MAAM,CAAU,kBAAkB,GAAG,MAAM,CAAC;IAEpD,YAAY,MAAoB;QAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,eAAe;YACvC,CAAC,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,EAAE,CAAC;YAClD,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAED,+BAA+B;IAC/B,KAAK,CAAC,KAAK;QACT,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBACtC,KAAK,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACpC,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;gBAC1D,GAAG,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBACtE,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;oBACrB,GAAG,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;gBAC3D,CAAC;gBACD,sEAAsE;gBACtE,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;gBACjC,IAAI,KAAK,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;oBAC3B,GAAG,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;oBAC9D,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;wBACtC,GAAG,CAAC,IAAI,CAAC,UAAU,MAAM,sBAAsB,CAAC,CAAC;oBACnD,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,GAAG,CAAC,KAAK,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;oBACxC,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,UAAU,WAAW,KAAK,CAAC,YAAY,UAAU,CAAC,CAAC;gBACjF,CAAC;gBAED,gFAAgF;gBAChF,IAAI,CAAC;oBACH,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,sBAAsB,EAAE,CAAC;oBACpD,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;wBACnB,GAAG,CAAC,IAAI,CAAC,iCAAiC,UAAU,QAAQ,CAAC,CAAC;oBAChE,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,GAAG,CAAC,KAAK,CAAC,gCAAgC,EAAE,GAAG,CAAC,CAAC;gBACnD,CAAC;gBAED,mDAAmD;gBACnD,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;oBACrC,IAAI,CAAC;wBACH,+CAA+C;wBAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,yBAAyB,EAAE,CAAC;wBACrD,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;4BACjB,GAAG,CAAC,IAAI,CAAC,oBAAoB,QAAQ,gCAAgC,CAAC,CAAC;wBACzE,CAAC;wBAED,wEAAwE;wBACxE,IAAI,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE,CAAC;4BACpC,KAAK,IAAI,CAAC,mBAAmB,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gCAC5C,GAAG,CAAC,KAAK,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;4BACxC,CAAC,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,GAAG,CAAC,KAAK,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC;oBAC3C,CAAC;gBACH,CAAC,EAAE,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;gBAE5C,0DAA0D;gBAC1D,IAAI,CAAC,qBAAqB,GAAG,WAAW,CAAC,GAAG,EAAE;oBAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBACvB,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;wBAC1C,IAAI,GAAG,GAAG,KAAK,CAAC,OAAO;4BAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBACtD,CAAC;gBACH,CAAC,EAAE,MAAM,CAAC,CAAC;gBAEX,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8BAA8B;IAC9B,KAAK,CAAC,IAAI;QACR,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACnC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC7B,CAAC;YACD,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC/B,aAAa,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;gBAC1C,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;YACpC,CAAC;YACD,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACN,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,GAAoB,EAAE,GAAmB;QACnE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;QAE/B,gCAAgC;QAChC,GAAG,CAAC,SAAS,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAC;QACnD,GAAG,CAAC,SAAS,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;QACzC,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QAClD,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;QAEzC,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,SAAS,CAAC;QAEvD,gBAAgB;QAChB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;YAC5F,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE;gBAClB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,IAAI,EAAE,GAAG,CAAC,GAAG;gBACb,MAAM,EAAE,GAAG;gBACX,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBACnC,SAAS,EAAE,QAAQ;gBACnB,UAAU,EAAE,SAAS;aACtB,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,+CAA+C;QAC/C,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC;QAC3B,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;QAE7C,8DAA8D;QAC9D,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC;YAC7C,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;YACtB,CAAC,CAAC,WAAW,KAAK,KAAK;gBACrB,CAAC,CAAC,GAAG;gBACL,CAAC,CAAC,WAAW,CAAC;QAElB,IAAI,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YACzD,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;YACnD,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAChD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;gBACxF,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE;oBAClB,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,IAAI,EAAE,WAAW;oBACjB,MAAM,EAAE,GAAG;oBACX,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;oBACnC,SAAS,EAAE,QAAQ;oBACnB,UAAU,EAAE,SAAS;iBACtB,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;QACH,CAAC;QAED,mCAAmC;QACnC,MAAM,cAAc,GAAG,CACrB,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;YACnC,qHAAqH,CACtH,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACb,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;QACxC,IAAI,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACpC,GAAG,CAAC,SAAS,CAAC,6BAA6B,EAAE,MAAM,CAAC,CAAC;QACvD,CAAC;QACD,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,oBAAoB,CAAC,CAAC;QACpE,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,6BAA6B,CAAC,CAAC;QAE7E,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC7B,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,GAAG,EAAE,CAAC;YACV,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE;gBAClB,MAAM,EAAE,SAAS;gBACjB,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,GAAG;gBACX,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBACnC,SAAS,EAAE,QAAQ;gBACnB,UAAU,EAAE,SAAS;aACtB,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,sDAAsD;QACrD,GAAgD,CAAC,UAAU,GAAG,SAAS,CAAC;QAEzE,IAAI,CAAC;YACH,QAAQ,QAAQ,EAAE,CAAC;gBACjB,KAAK,SAAS;oBACZ,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;wBACtB,EAAE,EAAE,IAAI;wBACR,IAAI,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE;qBACtD,CAAC,CAAC;oBACH,MAAM;gBAER,KAAK,QAAQ;oBACX,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBACnC,MAAM;gBAER,KAAK,cAAc;oBACjB,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;wBACzB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;4BAC9B,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC,CAAC;4BACxE,MAAM;wBACR,CAAC;wBACD,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBAClC,CAAC;yBAAM,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;wBACjC,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBACxC,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;oBACtE,CAAC;oBACD,MAAM;gBAER,KAAK,YAAY;oBACf,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;wBACzB,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBAChC,CAAC;yBAAM,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;wBACjC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;4BAC9B,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;gCACtB,EAAE,EAAE,KAAK;gCACT,KAAK,EAAE,4CAA4C;6BACpD,CAAC,CAAC;4BACH,MAAM;wBACR,CAAC;wBACD,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBACtC,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;oBACtE,CAAC;oBACD,MAAM;gBAER,KAAK,YAAY;oBACf,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;wBACzB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;oBAC3B,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;oBACtE,CAAC;oBACD,MAAM;gBAER,KAAK,oBAAoB;oBACvB,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;wBACzB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;4BAC9B,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC,CAAC;4BACxE,MAAM;wBACR,CAAC;wBACD,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBACvC,CAAC;yBAAM,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;wBACjC,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBAC7C,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;oBACtE,CAAC;oBACD,MAAM;gBAER,KAAK,mBAAmB;oBACtB,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;wBAC1B,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBAC7C,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;oBACtE,CAAC;oBACD,MAAM;gBAER,KAAK,oBAAoB;oBACvB,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;wBACzB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;4BAC9B,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC,CAAC;4BACxE,MAAM;wBACR,CAAC;wBACD,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBACvC,CAAC;yBAAM,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;wBACjC,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBAC7C,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;oBACtE,CAAC;oBACD,MAAM;gBAER,KAAK,gBAAgB;oBACnB,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;wBACzB,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBACnC,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;oBACtE,CAAC;oBACD,MAAM;gBAER,KAAK,yBAAyB;oBAC5B,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;wBACzB,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBACtC,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;oBACtE,CAAC;oBACD,MAAM;gBAER,KAAK,6BAA6B;oBAChC,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;wBACzB,IAAI,CAAC,wBAAwB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBAC1C,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;oBACtE,CAAC;oBACD,MAAM;gBAER,KAAK,sBAAsB;oBACzB,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;wBACzB,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;oBACpC,CAAC;yBAAM,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;wBACjC,MAAM,IAAI,CAAC,wBAAwB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBAChD,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;oBACtE,CAAC;oBACD,MAAM;gBAER,KAAK,sBAAsB;oBACzB,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;wBACzB,IAAI,CAAC,uBAAuB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBACzC,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;oBACtE,CAAC;oBACD,MAAM;gBAER,KAAK,qBAAqB;oBACxB,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;wBAC1B,MAAM,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBAC3C,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;oBACtE,CAAC;oBACD,MAAM;gBAER,KAAK,gBAAgB;oBACnB,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;wBACzB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;4BAC9B,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC,CAAC;4BACxE,MAAM;wBACR,CAAC;wBACD,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBACnC,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;oBACtE,CAAC;oBACD,MAAM;gBAER,KAAK,kBAAkB;oBACrB,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;wBAC1B,MAAM,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBAC3C,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;oBACtE,CAAC;oBACD,MAAM;gBAER,KAAK,cAAc;oBACjB,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;wBACzB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;oBAC7B,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;oBACtE,CAAC;oBACD,MAAM;gBAER,KAAK,mBAAmB;oBACtB,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;wBACzB,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;oBAClC,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;oBACtE,CAAC;oBACD,MAAM;gBAER;oBACE,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;YAC/E,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;QAChG,CAAC;QAED,kBAAkB;QAClB,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE;YAClB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,GAAG,CAAC,UAAU;YACtB,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YACnC,SAAS,EAAE,QAAQ;YACnB,UAAU,EAAE,SAAS;SACtB,CAAC,CAAC;IACL,CAAC;IAED,0EAA0E;IAClE,KAAK,CAAC,gBAAgB,CAAC,GAAoB,EAAE,GAAmB;QACtE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,GAAY,CAAC;QACjB,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;YACnE,OAAO;QACT,CAAC;QAED,gEAAgE;QAChE,MAAM,MAAM,GAAG,GAA8B,CAAC;QAC9C,MAAM,SAAS,GACb,QAAQ,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAEnF,MAAM,SAAS,GAA2B,EAAE,CAAC;QAC7C,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,gBAAgB,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;YACzD,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC5D,OAAO;YACT,CAAC;YACD,MAAM,OAAO,GAAG,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;YACnC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAClE,SAAS,CAAC,IAAI,CAAC,OAA0C,CAAC,CAAC;QAC7D,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QAED,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,SAAS,CAAC;QACvD,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CACrB,QAAQ,EACR,eAAe,EACf,QAAQ,EACR,SAAS,EACT,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,EAC3B,QAAQ,CACT,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;YACtB,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,EAAE,OAAO,EAAE,sBAAsB,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE;SACnE,CAAC,CAAC;IACL,CAAC;IAED,4EAA4E;IACpE,cAAc,CAAC,GAAW,EAAE,GAAmB;QACrD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,oBAAoB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC;QACjF,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG;YACd,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,SAAS;YAC7C,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,SAAS;YAC7C,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,SAAS;SAC1C,CAAC;QAEF,iEAAiE;QACjE,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,qCAAqC,CAAC,CAAC;QAEtE,MAAM,KAAK,GAAG,KAAK;YACjB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC;YACvC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACnD,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,wDAAwD;IAChD,KAAK,CAAC,cAAc,CAAC,GAAoB,EAAE,GAAmB;QACpE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,GAAY,CAAC;QACjB,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;YACnE,OAAO;QACT,CAAC;QAED,+DAA+D;QAC/D,MAAM,MAAM,GAAG,GAA8B,CAAC;QAC9C,MAAM,QAAQ,GACZ,OAAO,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAEhF,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,gBAAgB,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;YAC5D,IAAI,CAAC,MAAM,CAAC,EAAE;gBAAE,SAAS;YACzB,MAAM,QAAQ,GAAG;gBACf,GAAG,MAAM,CAAC,IAAI;gBACd,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,GAAG;aACd,CAAC;YAChC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC7B,KAAK,EAAE,CAAC;QACV,CAAC;QAED,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,SAAS,CAAC;QACvD,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,CAAC;QAExF,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,GAAG,KAAK,oBAAoB,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IAChG,CAAC;IAED,kCAAkC;IAC1B,cAAc,CAAC,GAAmB;QACxC,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,iCAAiC,CAAC,CAAC;QAClE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,UAAU,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;YACvD,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;YAClE,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,GAAG,iBAAiB,CAAC,kBAAkB,EAAE,CAAC;QACzF,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,+DAA+D;IACvD,gBAAgB,CAAC,GAAW,EAAE,GAAmB;QACvD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,oBAAoB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC;QACjF,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACpF,MAAM,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC;QACvC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;YACtB,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,EAAE;SAC9D,CAAC,CAAC;IACL,CAAC;IAED,yDAAyD;IACjD,qBAAqB,CAAC,GAAW,EAAE,GAAmB;QAC5D,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,oBAAoB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC;QACjF,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC;QACjD,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,mDAAmD;IAC3C,qBAAqB,CAAC,GAAW,EAAE,GAAmB;QAC5D,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,oBAAoB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC;QACjF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACpF,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,uEAAuE;IAC/D,KAAK,CAAC,qBAAqB,CAAC,GAAoB,EAAE,GAAmB;QAC3E,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC;QACtE,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,MAAM,QAAQ,GAAI,GAAG,CAAC,OAAO,CAAC,sBAAsB,CAAY,IAAI,SAAS,CAAC;QAE9E,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QAE1C,+DAA+D;QAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAE3D,IAAI,QAAQ,EAAE,CAAC;YACb,iDAAiD;YACjD,IAAI,QAAQ,IAAI,QAAQ,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAChD,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;oBACtB,EAAE,EAAE,IAAI;oBACR,IAAI,EAAE;wBACJ,OAAO,EAAE,mBAAmB;wBAC5B,WAAW;wBACX,aAAa,EAAE,QAAQ,CAAC,aAAa;qBACtC;iBACF,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,sDAAsD;YACtD,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YACxC,MAAM,oBAAoB,GAAG,QAAQ,CAAC,aAAa,GAAG,CAAC,CAAC;YACxD,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;gBACtB,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,aAAa,EAAE,oBAAoB,EAAE;aAC1F,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAG;gBACf,GAAG,IAAI;gBACP,QAAQ;aACiB,CAAC;YAC5B,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAEpC,sDAAsD;YACtD,IAAI,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE,CAAC;gBACpC,KAAK,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC3E,GAAG,CAAC,KAAK,CAAC,yBAAyB,WAAW,EAAE,EAAE,GAAG,CAAC,CAAC;gBACzD,CAAC,CAAC,CAAC;YACL,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;gBACtB,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE;aACrD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,8DAA8D;IACtD,KAAK,CAAC,qBAAqB,CAAC,GAAoB,EAAE,GAAmB;QAC3E,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC;QACtE,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,MAAM,QAAQ,GAAI,GAAG,CAAC,OAAO,CAAC,sBAAsB,CAAY,IAAI,SAAS,CAAC;QAC9E,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;QACtE,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,+DAA+D;IACvD,KAAK,CAAC,qBAAqB,CAAC,GAAoB,EAAE,GAAmB;QAC3E,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC;QACtE,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,MAAM,QAAQ,GAAI,GAAG,CAAC,OAAO,CAAC,sBAAsB,CAAY,IAAI,SAAS,CAAC;QAC9E,MAAM,UAAU,GAA0B;YACxC,GAAI,IAAyC;YAC7C,QAAQ;SACT,CAAC;QACF,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAEtC,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,SAAS,CAAC;QACvD,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CACrB,QAAQ,EACR,qBAAqB,EACrB,cAAc,EACd,UAAU,CAAC,SAAS,EACpB,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,EACpE,QAAQ,CACT,CAAC;QAEF,uEAAuE;QACvE,iDAAiD;QACjD,KAAK,IAAI,CAAC,gCAAgC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YAC7E,GAAG,CAAC,KAAK,CACP,8BAA8B,UAAU,CAAC,SAAS,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC1G,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,uBAAuB,EAAE,EAAE,CAAC,CAAC;IACpF,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,gCAAgC,CAAC,SAAiB;QAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;QAEzD,8CAA8C;QAC9C,IAAI,GAAG,CAAC,WAAW,GAAG,CAAC;YAAE,OAAO;QAChC,IAAI,GAAG,CAAC,YAAY,KAAK,MAAM,IAAI,GAAG,CAAC,YAAY,KAAK,UAAU;YAAE,OAAO;QAC3E,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEtC,0DAA0D;QAC1D,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;QACnD,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC;aACrC,MAAM,CAAC,aAAa,SAAS,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;aAC1D,MAAM,CAAC,KAAK,CAAC;aACb,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAEhB,IAAI,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,WAAW,CAAC;YAAE,OAAO;QAEhD,wEAAwE;QACxE,IAAI,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE,CAAC;YACpC,8DAA8D;YAC9D,MAAM,gBAAgB,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBACnD,IAAI,EAAE,WAAW,CAAC,EAAE;gBACpB,WAAW,EAAE,CAAC;aACf,CAAC,CAAC,CAAC;YAEJ,GAAG,CAAC,IAAI,CACN,gDAAgD,SAAS,KAAK,GAAG,CAAC,WAAW,cAAc;gBACzF,WAAW,SAAS,eAAe,GAAG,CAAC,WAAW,OAAO,CAC5D,CAAC;YAEF,KAAK,IAAI,CAAC,WAAW;iBAClB,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC;iBAChE,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACb,GAAG,CAAC,KAAK,CACP,yCAAyC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC5F,CAAC;YACJ,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACN,6DAA6D;YAC7D,MAAM,QAAQ,GAAG,GAAG,CAAC,YAAY,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;YACvE,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACtE,MAAM,cAAc,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE3D,MAAM,WAAW,GAAG,gCAAgC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS;qBAC/E,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;;;wBAGpB,GAAG,CAAC,WAAW,0CAA0C,SAAS;oBACtE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC;cAClC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;;SAEjC,IAAI;;;;YAID,QAAQ;;;;;;;;;gBASJ,SAAS;wCACe,GAAG,CAAC,WAAW;;;6BAG1B,CAAC;YAExB,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC;gBACxB,WAAW;gBACX,WAAW;gBACX,WAAW,EAAE,kBAAkB;gBAC/B,QAAQ,EAAE,aAAa;gBACvB,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC;oBAChC,QAAQ,EAAE,IAAI;oBACd,MAAM,EAAE,qBAAqB;oBAC7B,SAAS;oBACT,WAAW,EAAE,GAAG,CAAC,WAAW;oBAC5B,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC;iBAC3C,CAAC;aACH,CAAC,CAAC;YAEH,GAAG,CAAC,IAAI,CACN,mDAAmD,SAAS,KAAK,GAAG,CAAC,WAAW,cAAc;gBAC5F,sBAAsB,SAAS,EAAE,CACpC,CAAC;QACJ,CAAC;IACH,CAAC;IAED,0EAA0E;IAClE,iBAAiB,CAAC,GAAW,EAAE,GAAmB;QACxD,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,qCAAqC,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,oBAAoB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC;QACjF,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACnD,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,oFAAoF;IAC5E,oBAAoB,CAAC,GAAW,EAAE,GAAmB;QAC3D,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,oBAAoB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC;QACjF,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,CAAC;QAElE,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QAClD,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QAC5C,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,qCAAqC,CAAC,CAAC;QACtE,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACnB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1B,CAAC;IAED,4FAA4F;IACpF,wBAAwB,CAAC,GAAW,EAAE,GAAmB;QAC/D,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,oBAAoB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC;QACjF,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,CAAC;QAElE,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;QAC1D,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QAC5C,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,qCAAqC,CAAC,CAAC;QACtE,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACnB,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,qEAAqE;IAC7D,KAAK,CAAC,wBAAwB,CAAC,GAAoB,EAAE,GAAmB;QAC9E,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,GAAY,CAAC;QACjB,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;YACnE,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,GAA8B,CAAC;QAC9C,MAAM,MAAM,GACV,QAAQ,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACnD,CAAC,CAAE,MAAM,CAAC,QAAQ,CAAe;YACjC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAEZ,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,wBAAwB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACzD,IAAI,CAAC,MAAM,CAAC,OAAO;gBAAE,SAAS;YAC9B,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC5E,KAAK,EAAE,CAAC;QACV,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,GAAG,KAAK,oBAAoB,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IAChG,CAAC;IAED,uEAAuE;IAC/D,uBAAuB,CAAC,GAAmB;QACjD,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC;QAC9C,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IACzD,CAAC;IAED;;;;OAIG;IACK,uBAAuB,CAAC,GAAW,EAAE,GAAmB;QAC9D,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,oBAAoB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC;QACjF,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,CAAC;QAC3D,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,CAAC;QAE5D,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,qCAAqC,CAAC,CAAC;QACtE,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QACpE,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IACzD,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,mBAAmB,CAAC,GAAoB,EAAE,GAAmB;QACzE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE,CAAC;YACrC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;gBACtB,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,yEAAyE;aACjF,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;YACnC,MAAM,EAAE,CAAC;iBACN,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;gBACP,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC1B,KAAK,EAAE,CAAC,CAAC,KAAK,CACZ,CAAC,CAAC,MAAM,CAAC;oBACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;oBACvB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;iBACxB,CAAC,CACH;aACF,CAAC,CACH;iBACA,GAAG,CAAC,CAAC,EAAE,gCAAgC,CAAC;iBACxC,GAAG,CAAC,EAAE,EAAE,+BAA+B,CAAC;SAC5C,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,mBAAmB,CAAC,CAAC;QACxE,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAE3B,GAAG,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,MAAM,kBAAkB,EAAE;YACrD,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;SACvC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAE7D,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAEjF,GAAG,CAAC,IAAI,CAAC,0BAA0B,gBAAgB,mBAAmB,MAAM,CAAC,MAAM,SAAS,CAAC,CAAC;QAE9F,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;YACtB,EAAE,EAAE,IAAI;YACR,IAAI,EAAE;gBACJ,QAAQ,EAAE,OAAO,CAAC,MAAM;gBACxB,gBAAgB;gBAChB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC3B,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,YAAY,EAAE,CAAC,CAAC,YAAY;oBAC5B,aAAa,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM;oBACjC,aAAa,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;oBACpD,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACzD,CAAC,CAAC;aACJ;SACF,CAAC,CAAC;IACL,CAAC;IAED,sDAAsD;IAC9C,iBAAiB,CAAC,GAAW,EAAE,GAAmB;QACxD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,oBAAoB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC;QACjF,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACpF,MAAM,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACzD,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAC/C,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;YACtB,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,EAAE;SAC9D,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,mBAAmB;QAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;QACrD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEpC,GAAG,CAAC,IAAI,CAAC,2BAA2B,UAAU,CAAC,MAAM,cAAc,CAAC,CAAC;QAErE,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,WAAY,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;gBACrE,sDAAsD;gBACtD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;YAC5D,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC3D,MAAM,CAAC,qDAAqD;YAC9D,CAAC;QACH,CAAC;IACH,CAAC;IAED,kEAAkE;IAC1D,KAAK,CAAC,mBAAmB,CAAC,GAAoB,EAAE,GAAmB;QACzE,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;YAC/B,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;YAC5D,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACtC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACtC,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACtD,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACpD,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACrD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAC9C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAClC,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,eAAe,CAAC,CAAC;QACpE,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,IAAiB,CAAC,CAAC;QAE3C,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,SAAS,CAAC;QACvD,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CACrB,QAAQ,EACR,mBAAmB,EACnB,YAAY,EACZ,SAAS,EACT,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,EAC1D,QAAQ,CACT,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,oFAAoF;IAC5E,gBAAgB,CAAC,GAAmB;QAC1C,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,iCAAiC,CAAC,CAAC;QAClE,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC;QAC/C,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,sEAAsE;IAC9D,qBAAqB,CAAC,GAAmB;QAC/C,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,qCAAqC,CAAC,CAAC;QACtE,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,kDAAkD;IAC1C,WAAW,CAAC,EAAU;QAC5B,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;gBACf,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QACD,8BAA8B;QAC9B,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5B,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;YAC9B,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,kFAAkF;IAC1E,mBAAmB,CAAC,GAAoB,EAAE,GAAmB;QACnE,8EAA8E;QAC9E,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,oBAAoB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YAC5E,MAAM,QAAQ,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC7C,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAC3E,MAAM,QAAQ,GAAG,CAAC,SAAwB,EAAW,EAAE;gBACrD,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,WAAY,CAAC,MAAM;oBAAE,OAAO,KAAK,CAAC;gBACrF,OAAO,eAAe,CACpB,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,EAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAY,EAAE,OAAO,CAAC,CAC/C,CAAC;YACJ,CAAC,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAChD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAC;gBACrD,GAAG,CAAC,GAAG,CAAC,kFAAkF,CAAC,CAAC;gBAC5F,OAAO;YACT,CAAC;QACH,CAAC;QACD,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC;QAC1D,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QAC3C,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;QACnD,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACnB,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;IAC1B,CAAC;IAED,uEAAuE;IAC/D,cAAc,CAAC,GAAoB;QACzC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC7B,+DAA+D;YAC/D,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC;YAClD,MAAM,UAAU,GACd,UAAU,KAAK,WAAW,IAAI,UAAU,KAAK,KAAK,IAAI,UAAU,KAAK,kBAAkB,CAAC;YAC1F,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,GAAG,CAAC,IAAI,CACN,2FAA2F,EAC3F,EAAE,UAAU,EAAE,CACf,CAAC;YACJ,CAAC;YACD,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;QACnD,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAChD,uDAAuD;QACvD,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAClE,OAAO,eAAe,CACpB,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,EAC3B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAC9C,CAAC;IACJ,CAAC;IAED,gCAAgC;IACxB,cAAc,CAAC,EAAU;QAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,IAAI,GAAG,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;YAClC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,GAAG,MAAM,EAAE,CAAC,CAAC;YAC7D,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,OAAO,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC;IACvD,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,gBAAgB,CAC5B,GAAoB,EACpB,GAAmB,EACnB,MAAsB;QAEtB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,GAAY,CAAC;QACjB,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;YACnE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAC5D,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,wDAAwD;IAChD,QAAQ,CAAC,GAAoB;QACnC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,IAAI,IAAI,GAAG,CAAC,CAAC;YACb,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,2CAA2C;YAEvE,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;gBAC/B,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC;gBACrB,IAAI,IAAI,GAAG,QAAQ,EAAE,CAAC;oBACpB,GAAG,CAAC,OAAO,EAAE,CAAC;oBACd,MAAM,CAAC,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;oBAC5C,OAAO;gBACT,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;YACH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACtE,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sCAAsC;IAC9B,QAAQ,CAAC,GAAmB,EAAE,MAAc,EAAE,IAAa;QACjE,MAAM,SAAS,GAAI,GAAgD,CAAC,UAAU,CAAC;QAC/E,MAAM,OAAO,GACX,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;YACvC,CAAC,CAAC,EAAE,GAAI,IAAgC,EAAE,UAAU,EAAE,SAAS,EAAE;YACjE,CAAC,CAAC,IAAI,CAAC;QACX,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACtB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IACnC,CAAC;IAED;;;OAGG;IACK,eAAe;QACrB,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG;YACjB,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC;YAC7B,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,iDAAiD;YAC9F,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,iBAAiB;YACpE,aAAa,EAAE,kBAAkB;SAClC,CAAC;QACF,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YACtC,IAAI,CAAC;gBACH,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YACnC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,GAAG,CAAC,IAAI,CAAC,yCAAyC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5E,OAAO,CAAC,CAAC;QACX,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,2BAA2B,SAAS,EAAE,CAAC,CAAC;QACjD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,IAAI,MAAM,GAAG,CAAC,CAAC;QAEf,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,UAAoB,EAAY,EAAE;YACnE,MAAM,OAAO,GAAa,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;oBAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;oBACvC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;wBACxB,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;oBACtD,CAAC;yBAAM,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;wBAC9D,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACzB,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,GAAG,CAAC,KAAK,CAAC,yBAAyB,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;YACjD,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;QAEF,YAAY;QACZ,MAAM,aAAa,GAAG;YACpB,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,oBAAoB,EAAE,OAAO,CAAC;YAClE,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC;YAC3C,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC;SAC9D,CAAC;QACF,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YACtC,IAAI,CAAC;gBACH,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YACnC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;gBACtD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBAC5C,MAAM,MAAM,GAAG,OAAO,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;oBACnE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;oBACtF,MAAM,EAAE,CAAC;gBACX,CAAC;gBACD,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,MAAM,QAAQ,CAAC,CAAC;YAC3C,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,GAAG,CAAC,KAAK,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,YAAY,EAA6C,MAAM,WAAW,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB,8CAA8C;AAC9C,MAAM,GAAG,GAAG;IACV,IAAI,EAAE,CAAC,GAAW,EAAE,KAA+B,EAAE,EAAE;QACrD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC,GAAG,IAAI,CACtF,CAAC;IACJ,CAAC;IACD,KAAK,EAAE,CAAC,GAAW,EAAE,GAAa,EAAE,KAA+B,EAAE,EAAE;QACrE,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,IAAI,CAAC,SAAS,CAAC;YACb,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC5B,KAAK,EAAE,OAAO;YACd,GAAG;YACH,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;YACvD,GAAG,KAAK;SACT,CAAC,GAAG,IAAI,CACV,CAAC;IACJ,CAAC;CACF,CAAC;AAQF;;;GAGG;AACH,MAAM,OAAO,iBAAiB;IACpB,MAAM,GAA2C,IAAI,CAAC;IAC7C,EAAE,CAAgB;IAClB,MAAM,CAAe;IACrB,WAAW,CAAqB;IACzC,cAAc,GAA0C,IAAI,CAAC;IAC7D,UAAU,GAAgC,IAAI,GAAG,EAAE,CAAC;IACpD,qBAAqB,GAA0C,IAAI,CAAC;IACpE,UAAU,GAAgD,IAAI,CAAC;IAEvE,gDAAgD;IACxC,MAAM,CAAU,qBAAqB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;IAC9D,kCAAkC;IAC1B,MAAM,CAAU,kBAAkB,GAAG,MAAM,CAAC;IAEpD,YAAY,MAAoB;QAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,eAAe;YACvC,CAAC,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,EAAE,CAAC;YAClD,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAED,+BAA+B;IAC/B,KAAK,CAAC,KAAK;QACT,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBACtC,KAAK,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACpC,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;gBAC1D,GAAG,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBACtE,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;oBACrB,GAAG,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;gBAC3D,CAAC;gBACD,sEAAsE;gBACtE,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;gBACjC,IAAI,KAAK,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;oBAC3B,GAAG,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;oBAC9D,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;wBACtC,GAAG,CAAC,IAAI,CAAC,UAAU,MAAM,sBAAsB,CAAC,CAAC;oBACnD,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,GAAG,CAAC,KAAK,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;oBACxC,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,UAAU,WAAW,KAAK,CAAC,YAAY,UAAU,CAAC,CAAC;gBACjF,CAAC;gBAED,gFAAgF;gBAChF,IAAI,CAAC;oBACH,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,sBAAsB,EAAE,CAAC;oBACpD,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;wBACnB,GAAG,CAAC,IAAI,CAAC,iCAAiC,UAAU,QAAQ,CAAC,CAAC;oBAChE,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,GAAG,CAAC,KAAK,CAAC,gCAAgC,EAAE,GAAG,CAAC,CAAC;gBACnD,CAAC;gBAED,mDAAmD;gBACnD,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;oBACrC,IAAI,CAAC;wBACH,+CAA+C;wBAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,yBAAyB,EAAE,CAAC;wBACrD,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;4BACjB,GAAG,CAAC,IAAI,CAAC,oBAAoB,QAAQ,gCAAgC,CAAC,CAAC;wBACzE,CAAC;wBAED,wEAAwE;wBACxE,IAAI,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE,CAAC;4BACpC,KAAK,IAAI,CAAC,mBAAmB,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gCAC5C,GAAG,CAAC,KAAK,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;4BACxC,CAAC,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,GAAG,CAAC,KAAK,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC;oBAC3C,CAAC;gBACH,CAAC,EAAE,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;gBAE5C,0DAA0D;gBAC1D,IAAI,CAAC,qBAAqB,GAAG,WAAW,CAAC,GAAG,EAAE;oBAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBACvB,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;wBAC1C,IAAI,GAAG,GAAG,KAAK,CAAC,OAAO;4BAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBACtD,CAAC;gBACH,CAAC,EAAE,MAAM,CAAC,CAAC;gBAEX,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8BAA8B;IAC9B,KAAK,CAAC,IAAI;QACR,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACnC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC7B,CAAC;YACD,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC/B,aAAa,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;gBAC1C,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;YACpC,CAAC;YACD,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACN,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,GAAoB,EAAE,GAAmB;QACnE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;QAE/B,gCAAgC;QAChC,GAAG,CAAC,SAAS,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAC;QACnD,GAAG,CAAC,SAAS,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;QACzC,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QAClD,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;QAEzC,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,SAAS,CAAC;QAEvD,gBAAgB;QAChB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;YAC5F,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE;gBAClB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,IAAI,EAAE,GAAG,CAAC,GAAG;gBACb,MAAM,EAAE,GAAG;gBACX,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBACnC,SAAS,EAAE,QAAQ;gBACnB,UAAU,EAAE,SAAS;aACtB,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,+CAA+C;QAC/C,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC;QAC3B,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;QAE7C,8DAA8D;QAC9D,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC;YAC7C,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;YACtB,CAAC,CAAC,WAAW,KAAK,KAAK;gBACrB,CAAC,CAAC,GAAG;gBACL,CAAC,CAAC,WAAW,CAAC;QAElB,IAAI,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YACzD,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;YACnD,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAChD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;gBACxF,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE;oBAClB,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,IAAI,EAAE,WAAW;oBACjB,MAAM,EAAE,GAAG;oBACX,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;oBACnC,SAAS,EAAE,QAAQ;oBACnB,UAAU,EAAE,SAAS;iBACtB,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;QACH,CAAC;QAED,mCAAmC;QACnC,MAAM,cAAc,GAAG,CACrB,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;YACnC,qHAAqH,CACtH,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACb,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;QACxC,IAAI,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACpC,GAAG,CAAC,SAAS,CAAC,6BAA6B,EAAE,MAAM,CAAC,CAAC;QACvD,CAAC;QACD,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,oBAAoB,CAAC,CAAC;QACpE,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,6BAA6B,CAAC,CAAC;QAE7E,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC7B,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,GAAG,EAAE,CAAC;YACV,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE;gBAClB,MAAM,EAAE,SAAS;gBACjB,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,GAAG;gBACX,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBACnC,SAAS,EAAE,QAAQ;gBACnB,UAAU,EAAE,SAAS;aACtB,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,sDAAsD;QACrD,GAAgD,CAAC,UAAU,GAAG,SAAS,CAAC;QAEzE,IAAI,CAAC;YACH,QAAQ,QAAQ,EAAE,CAAC;gBACjB,KAAK,SAAS;oBACZ,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;wBACtB,EAAE,EAAE,IAAI;wBACR,IAAI,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE;qBACtD,CAAC,CAAC;oBACH,MAAM;gBAER,KAAK,QAAQ;oBACX,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBACnC,MAAM;gBAER,KAAK,cAAc;oBACjB,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;wBACzB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;4BAC9B,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC,CAAC;4BACxE,MAAM;wBACR,CAAC;wBACD,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBAClC,CAAC;yBAAM,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;wBACjC,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBACxC,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;oBACtE,CAAC;oBACD,MAAM;gBAER,KAAK,YAAY;oBACf,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;wBACzB,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBAChC,CAAC;yBAAM,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;wBACjC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;4BAC9B,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;gCACtB,EAAE,EAAE,KAAK;gCACT,KAAK,EAAE,4CAA4C;6BACpD,CAAC,CAAC;4BACH,MAAM;wBACR,CAAC;wBACD,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBACtC,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;oBACtE,CAAC;oBACD,MAAM;gBAER,KAAK,YAAY;oBACf,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;wBACzB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;oBAC3B,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;oBACtE,CAAC;oBACD,MAAM;gBAER,KAAK,oBAAoB;oBACvB,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;wBACzB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;4BAC9B,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC,CAAC;4BACxE,MAAM;wBACR,CAAC;wBACD,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBACvC,CAAC;yBAAM,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;wBACjC,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBAC7C,CAAC;yBAAM,IAAI,GAAG,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;wBAClC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;4BAC9B,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC,CAAC;4BACxE,MAAM;wBACR,CAAC;wBACD,MAAM,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBAC9C,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;oBACtE,CAAC;oBACD,MAAM;gBAER,KAAK,mBAAmB;oBACtB,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;wBAC1B,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBAC7C,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;oBACtE,CAAC;oBACD,MAAM;gBAER,KAAK,oBAAoB;oBACvB,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;wBACzB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;4BAC9B,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC,CAAC;4BACxE,MAAM;wBACR,CAAC;wBACD,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBACvC,CAAC;yBAAM,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;wBACjC,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBAC7C,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;oBACtE,CAAC;oBACD,MAAM;gBAER,KAAK,gBAAgB;oBACnB,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;wBACzB,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBACnC,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;oBACtE,CAAC;oBACD,MAAM;gBAER,KAAK,yBAAyB;oBAC5B,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;wBACzB,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBACtC,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;oBACtE,CAAC;oBACD,MAAM;gBAER,KAAK,6BAA6B;oBAChC,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;wBACzB,IAAI,CAAC,wBAAwB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBAC1C,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;oBACtE,CAAC;oBACD,MAAM;gBAER,KAAK,sBAAsB;oBACzB,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;wBACzB,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;oBACpC,CAAC;yBAAM,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;wBACjC,MAAM,IAAI,CAAC,wBAAwB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBAChD,CAAC;yBAAM,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;wBACnC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;4BAC9B,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC,CAAC;4BACxE,MAAM;wBACR,CAAC;wBACD,MAAM,IAAI,CAAC,0BAA0B,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBAClD,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;oBACtE,CAAC;oBACD,MAAM;gBAER,KAAK,0BAA0B;oBAC7B,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;wBACzB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;4BAC9B,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC,CAAC;4BACxE,MAAM;wBACR,CAAC;wBACD,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,sBAAsB,EAAE,CAAC;wBACpD,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;oBAC1D,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;oBACtE,CAAC;oBACD,MAAM;gBAER,KAAK,sBAAsB;oBACzB,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;wBACzB,IAAI,CAAC,uBAAuB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBACzC,CAAC;yBAAM,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;wBACjC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;4BAC9B,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC,CAAC;4BACxE,MAAM;wBACR,CAAC;wBACD,MAAM,IAAI,CAAC,wBAAwB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBAChD,CAAC;yBAAM,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;wBACnC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;4BAC9B,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC,CAAC;4BACxE,MAAM;wBACR,CAAC;wBACD,MAAM,IAAI,CAAC,0BAA0B,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBAClD,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;oBACtE,CAAC;oBACD,MAAM;gBAER,KAAK,qBAAqB;oBACxB,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;wBAC1B,MAAM,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBAC3C,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;oBACtE,CAAC;oBACD,MAAM;gBAER,KAAK,gBAAgB;oBACnB,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;wBACzB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;4BAC9B,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC,CAAC;4BACxE,MAAM;wBACR,CAAC;wBACD,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBACnC,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;oBACtE,CAAC;oBACD,MAAM;gBAER,KAAK,kBAAkB;oBACrB,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;wBAC1B,MAAM,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBAC3C,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;oBACtE,CAAC;oBACD,MAAM;gBAER,KAAK,cAAc;oBACjB,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;wBACzB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;oBAC7B,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;oBACtE,CAAC;oBACD,MAAM;gBAER,KAAK,mBAAmB;oBACtB,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;wBACzB,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;oBAClC,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;oBACtE,CAAC;oBACD,MAAM;gBAER,KAAK,YAAY;oBACf,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;wBAC1B,MAAM,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBAC5C,CAAC;yBAAM,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;wBAChC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;4BAC9B,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC,CAAC;4BACxE,MAAM;wBACR,CAAC;wBACD,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC;wBACtC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;oBACrD,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;oBACtE,CAAC;oBACD,MAAM;gBAER,KAAK,wBAAwB;oBAC3B,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;wBAC1B,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;4BAC9B,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC,CAAC;4BACxE,MAAM;wBACR,CAAC;wBACD,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC;wBACxC,GAAG,CAAC,IAAI,CAAC,wBAAwB,OAAO,sBAAsB,CAAC,CAAC;wBAChE,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,oDAAoD,EAAE,EAAE,CAAC,CAAC;oBAC1H,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;oBACtE,CAAC;oBACD,MAAM;gBAER;oBACE,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;YAC/E,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;QAChG,CAAC;QAED,kBAAkB;QAClB,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE;YAClB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,GAAG,CAAC,UAAU;YACtB,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YACnC,SAAS,EAAE,QAAQ;YACnB,UAAU,EAAE,SAAS;SACtB,CAAC,CAAC;IACL,CAAC;IAED,qEAAqE;IAC7D,KAAK,CAAC,oBAAoB,CAAC,GAAoB,EAAE,GAAmB;QAC1E,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACtC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAiF,CAAC;YAC9G,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,IAAI,SAAS,CAAC;YAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC;YAExC,+BAA+B;YAC/B,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;YAC7F,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACjC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,gCAAgC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;gBACpG,OAAO;YACT,CAAC;YAED,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC3D,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QAClE,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED,0EAA0E;IAClE,KAAK,CAAC,gBAAgB,CAAC,GAAoB,EAAE,GAAmB;QACtE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,GAAY,CAAC;QACjB,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;YACnE,OAAO;QACT,CAAC;QAED,gEAAgE;QAChE,MAAM,MAAM,GAAG,GAA8B,CAAC;QAC9C,MAAM,SAAS,GACb,QAAQ,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAEnF,MAAM,SAAS,GAA2B,EAAE,CAAC;QAC7C,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,gBAAgB,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;YACzD,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC5D,OAAO;YACT,CAAC;YACD,MAAM,OAAO,GAAG,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;YACnC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAClE,SAAS,CAAC,IAAI,CAAC,OAA0C,CAAC,CAAC;QAC7D,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QAED,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,SAAS,CAAC;QACvD,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CACrB,QAAQ,EACR,eAAe,EACf,QAAQ,EACR,SAAS,EACT,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,EAC3B,QAAQ,CACT,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;YACtB,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,EAAE,OAAO,EAAE,sBAAsB,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE;SACnE,CAAC,CAAC;IACL,CAAC;IAED,4EAA4E;IACpE,cAAc,CAAC,GAAW,EAAE,GAAmB;QACrD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,oBAAoB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC;QACjF,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG;YACd,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,SAAS;YAC7C,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,SAAS;YAC7C,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,SAAS;SAC1C,CAAC;QAEF,iEAAiE;QACjE,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,qCAAqC,CAAC,CAAC;QAEtE,MAAM,KAAK,GAAG,KAAK;YACjB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC;YACvC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACnD,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,wDAAwD;IAChD,KAAK,CAAC,cAAc,CAAC,GAAoB,EAAE,GAAmB;QACpE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,GAAY,CAAC;QACjB,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;YACnE,OAAO;QACT,CAAC;QAED,+DAA+D;QAC/D,MAAM,MAAM,GAAG,GAA8B,CAAC;QAC9C,MAAM,QAAQ,GACZ,OAAO,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAEhF,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,gBAAgB,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;YAC5D,IAAI,CAAC,MAAM,CAAC,EAAE;gBAAE,SAAS;YACzB,MAAM,QAAQ,GAAG;gBACf,GAAG,MAAM,CAAC,IAAI;gBACd,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,GAAG;aACd,CAAC;YAChC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC7B,KAAK,EAAE,CAAC;QACV,CAAC;QAED,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,SAAS,CAAC;QACvD,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,CAAC;QAExF,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,GAAG,KAAK,oBAAoB,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IAChG,CAAC;IAED,kCAAkC;IAC1B,cAAc,CAAC,GAAmB;QACxC,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,iCAAiC,CAAC,CAAC;QAClE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,UAAU,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;YACvD,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;YAClE,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,GAAG,iBAAiB,CAAC,kBAAkB,EAAE,CAAC;QACzF,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,+DAA+D;IACvD,gBAAgB,CAAC,GAAW,EAAE,GAAmB;QACvD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,oBAAoB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC;QACjF,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACpF,MAAM,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC;QACvC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;YACtB,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,EAAE;SAC9D,CAAC,CAAC;IACL,CAAC;IAED,yDAAyD;IACjD,qBAAqB,CAAC,GAAW,EAAE,GAAmB;QAC5D,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,oBAAoB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC;QACjF,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC;QACjD,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,mDAAmD;IAC3C,qBAAqB,CAAC,GAAW,EAAE,GAAmB;QAC5D,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,oBAAoB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC;QACjF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACpF,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,uEAAuE;IAC/D,KAAK,CAAC,qBAAqB,CAAC,GAAoB,EAAE,GAAmB;QAC3E,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC;QACtE,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,MAAM,QAAQ,GAAI,GAAG,CAAC,OAAO,CAAC,sBAAsB,CAAY,IAAI,SAAS,CAAC;QAE9E,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QAE1C,+DAA+D;QAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAE3D,IAAI,QAAQ,EAAE,CAAC;YACb,iDAAiD;YACjD,IAAI,QAAQ,IAAI,QAAQ,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAChD,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;oBACtB,EAAE,EAAE,IAAI;oBACR,IAAI,EAAE;wBACJ,OAAO,EAAE,mBAAmB;wBAC5B,WAAW;wBACX,aAAa,EAAE,QAAQ,CAAC,aAAa;qBACtC;iBACF,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,sDAAsD;YACtD,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YACxC,MAAM,oBAAoB,GAAG,QAAQ,CAAC,aAAa,GAAG,CAAC,CAAC;YACxD,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;gBACtB,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,aAAa,EAAE,oBAAoB,EAAE;aAC1F,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAG;gBACf,GAAG,IAAI;gBACP,QAAQ;aACiB,CAAC;YAC5B,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAEpC,sDAAsD;YACtD,IAAI,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE,CAAC;gBACpC,KAAK,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC3E,GAAG,CAAC,KAAK,CAAC,yBAAyB,WAAW,EAAE,EAAE,GAAG,CAAC,CAAC;gBACzD,CAAC,CAAC,CAAC;YACL,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;gBACtB,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE;aACrD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,8DAA8D;IACtD,KAAK,CAAC,qBAAqB,CAAC,GAAoB,EAAE,GAAmB;QAC3E,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC;QACtE,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,MAAM,QAAQ,GAAI,GAAG,CAAC,OAAO,CAAC,sBAAsB,CAAY,IAAI,SAAS,CAAC;QAC9E,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;QACtE,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,+DAA+D;IACvD,KAAK,CAAC,qBAAqB,CAAC,GAAoB,EAAE,GAAmB;QAC3E,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC;QACtE,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,MAAM,QAAQ,GAAI,GAAG,CAAC,OAAO,CAAC,sBAAsB,CAAY,IAAI,SAAS,CAAC;QAC9E,MAAM,UAAU,GAA0B;YACxC,GAAI,IAAyC;YAC7C,QAAQ;SACT,CAAC;QACF,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAEtC,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,SAAS,CAAC;QACvD,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CACrB,QAAQ,EACR,qBAAqB,EACrB,cAAc,EACd,UAAU,CAAC,SAAS,EACpB,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,EACpE,QAAQ,CACT,CAAC;QAEF,uEAAuE;QACvE,iDAAiD;QACjD,KAAK,IAAI,CAAC,gCAAgC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YAC7E,GAAG,CAAC,KAAK,CACP,8BAA8B,UAAU,CAAC,SAAS,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC1G,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,uBAAuB,EAAE,EAAE,CAAC,CAAC;IACpF,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,gCAAgC,CAAC,SAAiB;QAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;QAEzD,8CAA8C;QAC9C,IAAI,GAAG,CAAC,WAAW,GAAG,CAAC;YAAE,OAAO;QAChC,IAAI,GAAG,CAAC,YAAY,KAAK,MAAM,IAAI,GAAG,CAAC,YAAY,KAAK,UAAU;YAAE,OAAO;QAC3E,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEtC,0DAA0D;QAC1D,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;QACnD,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC;aACrC,MAAM,CAAC,aAAa,SAAS,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;aAC1D,MAAM,CAAC,KAAK,CAAC;aACb,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAEhB,IAAI,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,WAAW,CAAC;YAAE,OAAO;QAEhD,wEAAwE;QACxE,IAAI,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE,CAAC;YACpC,8DAA8D;YAC9D,MAAM,gBAAgB,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBACnD,IAAI,EAAE,WAAW,CAAC,EAAE;gBACpB,WAAW,EAAE,CAAC;aACf,CAAC,CAAC,CAAC;YAEJ,GAAG,CAAC,IAAI,CACN,gDAAgD,SAAS,KAAK,GAAG,CAAC,WAAW,cAAc;gBACzF,WAAW,SAAS,eAAe,GAAG,CAAC,WAAW,OAAO,CAC5D,CAAC;YAEF,KAAK,IAAI,CAAC,WAAW;iBAClB,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC;iBAChE,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACb,GAAG,CAAC,KAAK,CACP,yCAAyC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC5F,CAAC;YACJ,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACN,6DAA6D;YAC7D,MAAM,QAAQ,GAAG,GAAG,CAAC,YAAY,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;YACvE,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACtE,MAAM,cAAc,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE3D,MAAM,WAAW,GAAG,gCAAgC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS;qBAC/E,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;;;wBAGpB,GAAG,CAAC,WAAW,0CAA0C,SAAS;oBACtE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC;cAClC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;;SAEjC,IAAI;;;;YAID,QAAQ;;;;;;;;;gBASJ,SAAS;wCACe,GAAG,CAAC,WAAW;;;6BAG1B,CAAC;YAExB,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC;gBACxB,WAAW;gBACX,WAAW;gBACX,WAAW,EAAE,kBAAkB;gBAC/B,QAAQ,EAAE,aAAa;gBACvB,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC;oBAChC,QAAQ,EAAE,IAAI;oBACd,MAAM,EAAE,qBAAqB;oBAC7B,SAAS;oBACT,WAAW,EAAE,GAAG,CAAC,WAAW;oBAC5B,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC;iBAC3C,CAAC;aACH,CAAC,CAAC;YAEH,GAAG,CAAC,IAAI,CACN,mDAAmD,SAAS,KAAK,GAAG,CAAC,WAAW,cAAc;gBAC5F,sBAAsB,SAAS,EAAE,CACpC,CAAC;QACJ,CAAC;IACH,CAAC;IAED,0EAA0E;IAClE,iBAAiB,CAAC,GAAW,EAAE,GAAmB;QACxD,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,qCAAqC,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,oBAAoB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC;QACjF,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACnD,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,oFAAoF;IAC5E,oBAAoB,CAAC,GAAW,EAAE,GAAmB;QAC3D,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,oBAAoB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC;QACjF,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,CAAC;QAElE,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QAClD,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QAC5C,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,qCAAqC,CAAC,CAAC;QACtE,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACnB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1B,CAAC;IAED,4FAA4F;IACpF,wBAAwB,CAAC,GAAW,EAAE,GAAmB;QAC/D,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,oBAAoB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC;QACjF,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,CAAC;QAElE,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;QAC1D,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QAC5C,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,qCAAqC,CAAC,CAAC;QACtE,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACnB,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,qEAAqE;IAC7D,KAAK,CAAC,wBAAwB,CAAC,GAAoB,EAAE,GAAmB;QAC9E,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,GAAY,CAAC;QACjB,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;YACnE,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,GAA8B,CAAC;QAC9C,MAAM,MAAM,GACV,QAAQ,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACnD,CAAC,CAAE,MAAM,CAAC,QAAQ,CAAe;YACjC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAEZ,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,wBAAwB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACzD,IAAI,CAAC,MAAM,CAAC,OAAO;gBAAE,SAAS;YAC9B,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC5E,KAAK,EAAE,CAAC;QACV,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,GAAG,KAAK,oBAAoB,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IAChG,CAAC;IAED,uEAAuE;IAC/D,uBAAuB,CAAC,GAAmB;QACjD,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC;QAC9C,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IACzD,CAAC;IAED;;;;OAIG;IACK,uBAAuB,CAAC,GAAW,EAAE,GAAmB;QAC9D,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,oBAAoB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC;QACjF,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,CAAC;QAC3D,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,CAAC;QAE5D,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,qCAAqC,CAAC,CAAC;QACtE,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QACpE,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,iEAAiE;IACzD,KAAK,CAAC,sBAAsB,CAAC,GAAoB,EAAE,GAAmB;QAC5E,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAErC,IAAI,CAAC,WAAW,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5B,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,iCAAiC,EAAE,CAAC,CAAC;YACjF,OAAO;QACT,CAAC;QAED,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YACnD,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;QAC9H,CAAC;aAAM,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YACvC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAC;QAChF,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,kCAAkC,EAAE,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;IAED,wEAAwE;IAChE,KAAK,CAAC,0BAA0B,CAAC,GAAoB,EAAE,GAAmB;QAChF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;YACpE,OAAO;QACT,CAAC;QACD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC7G,CAAC;IAED,iEAAiE;IACzD,KAAK,CAAC,wBAAwB,CAAC,GAAoB,EAAE,GAAmB;QAC9E,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;YACpE,OAAO;QACT,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,IAAI,oBAAoB,CAAC,CAAC;QAClE,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,wEAAwE;IAChE,KAAK,CAAC,0BAA0B,CAAC,GAAoB,EAAE,GAAmB;QAChF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;YACpE,OAAO;QACT,CAAC;QACD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC7G,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,mBAAmB,CAAC,GAAoB,EAAE,GAAmB;QACzE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE,CAAC;YACrC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;gBACtB,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,yEAAyE;aACjF,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;YACnC,MAAM,EAAE,CAAC;iBACN,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;gBACP,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC1B,KAAK,EAAE,CAAC,CAAC,KAAK,CACZ,CAAC,CAAC,MAAM,CAAC;oBACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;oBACvB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;iBACxB,CAAC,CACH;aACF,CAAC,CACH;iBACA,GAAG,CAAC,CAAC,EAAE,gCAAgC,CAAC;iBACxC,GAAG,CAAC,EAAE,EAAE,+BAA+B,CAAC;SAC5C,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,mBAAmB,CAAC,CAAC;QACxE,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAE3B,GAAG,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,MAAM,kBAAkB,EAAE;YACrD,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;SACvC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAE7D,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAEjF,GAAG,CAAC,IAAI,CAAC,0BAA0B,gBAAgB,mBAAmB,MAAM,CAAC,MAAM,SAAS,CAAC,CAAC;QAE9F,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;YACtB,EAAE,EAAE,IAAI;YACR,IAAI,EAAE;gBACJ,QAAQ,EAAE,OAAO,CAAC,MAAM;gBACxB,gBAAgB;gBAChB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC3B,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,YAAY,EAAE,CAAC,CAAC,YAAY;oBAC5B,aAAa,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM;oBACjC,aAAa,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;oBACpD,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACzD,CAAC,CAAC;aACJ;SACF,CAAC,CAAC;IACL,CAAC;IAED,sDAAsD;IAC9C,iBAAiB,CAAC,GAAW,EAAE,GAAmB;QACxD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,oBAAoB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC;QACjF,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACpF,MAAM,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACzD,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAC/C,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;YACtB,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,EAAE;SAC9D,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,mBAAmB;QAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;QACrD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEpC,GAAG,CAAC,IAAI,CAAC,2BAA2B,UAAU,CAAC,MAAM,cAAc,CAAC,CAAC;QAErE,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,WAAY,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;gBACrE,sDAAsD;gBACtD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;YAC5D,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC3D,MAAM,CAAC,qDAAqD;YAC9D,CAAC;QACH,CAAC;IACH,CAAC;IAED,kEAAkE;IAC1D,KAAK,CAAC,mBAAmB,CAAC,GAAoB,EAAE,GAAmB;QACzE,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;YAC/B,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;YAC5D,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACtC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACtC,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACtD,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACpD,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACrD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAC9C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAClC,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,eAAe,CAAC,CAAC;QACpE,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,IAAiB,CAAC,CAAC;QAE3C,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,SAAS,CAAC;QACvD,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CACrB,QAAQ,EACR,mBAAmB,EACnB,YAAY,EACZ,SAAS,EACT,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,EAC1D,QAAQ,CACT,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,oFAAoF;IAC5E,gBAAgB,CAAC,GAAmB;QAC1C,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,iCAAiC,CAAC,CAAC;QAClE,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC;QAC/C,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,sEAAsE;IAC9D,qBAAqB,CAAC,GAAmB;QAC/C,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,qCAAqC,CAAC,CAAC;QACtE,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,kDAAkD;IAC1C,WAAW,CAAC,EAAU;QAC5B,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;gBACf,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QACD,8BAA8B;QAC9B,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5B,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;YAC9B,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,kFAAkF;IAC1E,mBAAmB,CAAC,GAAoB,EAAE,GAAmB;QACnE,8EAA8E;QAC9E,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,oBAAoB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YAC5E,MAAM,QAAQ,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC7C,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAC3E,MAAM,QAAQ,GAAG,CAAC,SAAwB,EAAW,EAAE;gBACrD,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,WAAY,CAAC,MAAM;oBAAE,OAAO,KAAK,CAAC;gBACrF,OAAO,eAAe,CACpB,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,EAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAY,EAAE,OAAO,CAAC,CAC/C,CAAC;YACJ,CAAC,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAChD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAC;gBACrD,GAAG,CAAC,GAAG,CAAC,kFAAkF,CAAC,CAAC;gBAC5F,OAAO;YACT,CAAC;QACH,CAAC;QACD,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC;QAC1D,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QAC3C,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;QACnD,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACnB,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;IAC1B,CAAC;IAED,uEAAuE;IAC/D,cAAc,CAAC,GAAoB;QACzC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC7B,+DAA+D;YAC/D,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC;YAClD,MAAM,UAAU,GACd,UAAU,KAAK,WAAW,IAAI,UAAU,KAAK,KAAK,IAAI,UAAU,KAAK,kBAAkB,CAAC;YAC1F,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,GAAG,CAAC,IAAI,CACN,2FAA2F,EAC3F,EAAE,UAAU,EAAE,CACf,CAAC;YACJ,CAAC;YACD,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;QACnD,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAChD,uDAAuD;QACvD,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAClE,OAAO,eAAe,CACpB,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,EAC3B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAC9C,CAAC;IACJ,CAAC;IAED,gCAAgC;IACxB,cAAc,CAAC,EAAU;QAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,IAAI,GAAG,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;YAClC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,GAAG,MAAM,EAAE,CAAC,CAAC;YAC7D,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,OAAO,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC;IACvD,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,gBAAgB,CAC5B,GAAoB,EACpB,GAAmB,EACnB,MAAsB;QAEtB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,GAAY,CAAC;QACjB,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;YACnE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAC5D,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,wDAAwD;IAChD,QAAQ,CAAC,GAAoB;QACnC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,IAAI,IAAI,GAAG,CAAC,CAAC;YACb,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,2CAA2C;YAEvE,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;gBAC/B,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC;gBACrB,IAAI,IAAI,GAAG,QAAQ,EAAE,CAAC;oBACpB,GAAG,CAAC,OAAO,EAAE,CAAC;oBACd,MAAM,CAAC,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;oBAC5C,OAAO;gBACT,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;YACH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACtE,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sCAAsC;IAC9B,QAAQ,CAAC,GAAmB,EAAE,MAAc,EAAE,IAAa;QACjE,MAAM,SAAS,GAAI,GAAgD,CAAC,UAAU,CAAC;QAC/E,MAAM,OAAO,GACX,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;YACvC,CAAC,CAAC,EAAE,GAAI,IAAgC,EAAE,UAAU,EAAE,SAAS,EAAE;YACjE,CAAC,CAAC,IAAI,CAAC;QACX,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACtB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IACnC,CAAC;IAED;;;OAGG;IACK,eAAe;QACrB,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG;YACjB,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC;YAC7B,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,iDAAiD;YAC9F,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,iBAAiB;YACpE,aAAa,EAAE,kBAAkB;SAClC,CAAC;QACF,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YACtC,IAAI,CAAC;gBACH,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YACnC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,GAAG,CAAC,IAAI,CAAC,yCAAyC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5E,OAAO,CAAC,CAAC;QACX,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,2BAA2B,SAAS,EAAE,CAAC,CAAC;QACjD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,IAAI,MAAM,GAAG,CAAC,CAAC;QAEf,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,UAAoB,EAAY,EAAE;YACnE,MAAM,OAAO,GAAa,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;oBAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;oBACvC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;wBACxB,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;oBACtD,CAAC;yBAAM,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;wBAC9D,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACzB,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,GAAG,CAAC,KAAK,CAAC,yBAAyB,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;YACjD,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;QAEF,YAAY;QACZ,MAAM,aAAa,GAAG;YACpB,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,oBAAoB,EAAE,OAAO,CAAC;YAClE,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC;YAC3C,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC;SAC9D,CAAC;QACF,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YACtC,IAAI,CAAC;gBACH,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YACnC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;gBACtD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBAC5C,MAAM,MAAM,GAAG,OAAO,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;oBACnE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;oBACtF,MAAM,EAAE,CAAC;gBACX,CAAC;gBACD,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,MAAM,QAAQ,CAAC,CAAC;YAC3C,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,GAAG,CAAC,KAAK,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@panguard-ai/threat-cloud",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Threat Cloud backend API for collective threat intelligence / 威脅雲後端 API",
|
|
6
6
|
"license": "MIT",
|
|
@@ -22,16 +22,6 @@
|
|
|
22
22
|
"bin": {
|
|
23
23
|
"threat-cloud": "./dist/cli.js"
|
|
24
24
|
},
|
|
25
|
-
"dependencies": {
|
|
26
|
-
"better-sqlite3": "^11.0.0",
|
|
27
|
-
"zod": "^3.24.0",
|
|
28
|
-
"@panguard-ai/core": "1.3.0"
|
|
29
|
-
},
|
|
30
|
-
"devDependencies": {
|
|
31
|
-
"@types/better-sqlite3": "^7.6.8",
|
|
32
|
-
"@types/node": "^22.14.0",
|
|
33
|
-
"typescript": "~5.7.3"
|
|
34
|
-
},
|
|
35
25
|
"scripts": {
|
|
36
26
|
"build": "rm -rf dist tsconfig.tsbuildinfo && (tsc --build --force 2>/dev/null || tsc -p tsconfig.railway.json)",
|
|
37
27
|
"clean": "rm -rf dist tsconfig.tsbuildinfo",
|
|
@@ -39,5 +29,15 @@
|
|
|
39
29
|
"test": "vitest run",
|
|
40
30
|
"dev": "tsc --build --watch",
|
|
41
31
|
"start": "node dist/cli.js"
|
|
32
|
+
},
|
|
33
|
+
"dependencies": {
|
|
34
|
+
"@panguard-ai/core": "workspace:*",
|
|
35
|
+
"better-sqlite3": "^11.0.0",
|
|
36
|
+
"zod": "^3.24.0"
|
|
37
|
+
},
|
|
38
|
+
"devDependencies": {
|
|
39
|
+
"@types/better-sqlite3": "^7.6.8",
|
|
40
|
+
"@types/node": "^22.14.0",
|
|
41
|
+
"typescript": "~5.7.3"
|
|
42
42
|
}
|
|
43
|
-
}
|
|
43
|
+
}
|
package/LICENSE
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2025-2026 Panguard AI Team
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|