auto-sync-0320
Some checks failed
WEVAL NonReg / nonreg (push) Has been cancelled

This commit is contained in:
Opus
2026-04-24 03:20:06 +02:00
parent c5d75302c7
commit d014fa77e9
49 changed files with 407 additions and 50631 deletions

View File

@@ -1,18 +0,0 @@
{
"agent": "V41_Risk_Escalation",
"ts": "2026-04-24T03:00:03+02:00",
"dg_alerts_active": 7,
"wevia_life_stats_preview": "{
"ok": true,
"agent": "wevialife",
"name": "WEVIA Life",
"category": "agent \u00b7 ",
"escalation_rules": {
"critical": "notify_Yacine_WhatsApp",
"high": "send_email_summary_daily",
"medium": "log_to_vault_and_dg"
},
"cron_schedule": "every_15min",
"telegram_webhook_ready": "/api/wedroid-telegram-alert.php",
"root_cause_resolved": "risks_detected via escalation rules active"
}

View File

@@ -1,13 +0,0 @@
{
"agent": "V45_Leads_Sync",
"ts": "2026-04-24T03:00:05+02:00",
"paperclip_total": 48,
"active_customer": 4,
"warm_prospect": 5,
"mql_score_50plus": 48,
"sql_qualified": 4,
"top_5_by_score": "Groupe Ethica Pharma:100, Vistex Inc.:95, Huawei Cloud:90, Attijariwafa Bank:88, Confluent Inc.:85",
"source": "paperclip_db_weval_leads",
"cron": "every_10min",
"root_cause_resolved": "Paperclip leads table live + scored"
}

View File

@@ -1,5 +1,5 @@
{
"generated_at": "2026-04-24T03:10:02.755129",
"generated_at": "2026-04-24T03:20:02.002766",
"stats": {
"total": 48,
"pending": 23,

0
api/enrich-ollama.sh Executable file
View File

View File

@@ -1,8 +1,11 @@
{
"ts": "2026-04-23T03:15:01+02:00",
"scanned": 2067,
"misplaced_count": 0,
"ts": "2026-04-24T03:15:02+02:00",
"scanned": 2345,
"misplaced_count": 3,
"misplaced": [
"intent-opus4-gemini_rolling_enrich.php",
"intent-opus4-gemini_rolling_enrich_v2.php",
"intent-opus4-playwright_gemini_v5.php"
],
"source": "wevia-handlers-detector.sh · wave 206 · nightly 03:15"
}

0
api/rolling-enrich-v3.sh Executable file
View File

View File

@@ -1,44 +0,0 @@
{
"ok": true,
"source": "truth_registry_unified",
"built_at": "2026-04-24T00:50:01+00:00",
"agents_count": 1000,
"agents_total": 1000,
"skills_count": 20176,
"skills_total": 20176,
"intents_count": 2338,
"intents_total": 2338,
"brains_count": 25,
"doctrines_count": 19,
"dashboards_count": 118,
"providers_count": 15,
"ethica_total": 146694,
"docker_running": 19,
"nonreg_score": 100,
"autonomy_score": 99.5,
"autonomy_level": "GODMODE",
"counts": {
"agents": 1000,
"agents_total_live": 950,
"intents": 2338,
"skills_total": 20176,
"brains": 25,
"doctrines": 19,
"dashboards": 118,
"providers": 15,
"qdrant_cols": 19,
"qdrant_points": 22148,
"nonreg_score": 100,
"autonomy_score": 99.5,
"autonomy_level": "GODMODE"
},
"agents_by_source": {
"agent_avatars_v2": 761,
"agent_avatars_v1": 86,
"paperclip_db": 674,
"paperclip_agility_v71": 96,
"api_agent_files": 22,
"agent_stubs": 50,
"claude_subagents": 65
}
}

View File

@@ -0,0 +1,53 @@
{
"ok": true,
"version": "V83-business-kpi",
"ts": "2026-04-24T01:19:42+00:00",
"summary": {
"total_categories": 8,
"total_kpis": 64,
"ok": 60,
"warn": 3,
"fail": 1,
"wire_needed": 0,
"data_completeness_pct": 98.4
},
"by_category": {
"revenue": {
"title": "\ud83d\udcb0 Revenue & Business Growth",
"count": 8
},
"customer_success": {
"title": "\ud83e\udd1d Customer Success & Retention",
"count": 8
},
"growth": {
"title": "\ud83d\udcc8 Growth & Marketing",
"count": 8
},
"engagement": {
"title": "\ud83c\udfaf Product Engagement",
"count": 8
},
"predictive": {
"title": "\ud83d\udd2e Predictive Analytics (WePredict)",
"count": 8
},
"platform_sla": {
"title": "\u26a1 Platform Health & SLA",
"count": 8
},
"productivity": {
"title": "\u2699\ufe0f Team Productivity",
"count": 8
},
"architecture_quality": {
"title": "\ud83d\udcc7 Architecture Quality",
"count": 8
}
},
"value_proposition_saas": {
"customer_pays_for": "Complete business intelligence + predictive analytics + automation platform",
"why_we_are_different": "Sovereign AI 0\u20ac\/month + 11-layer tested + 100\/100 AI audit + 950 agents on-demand",
"target_market": "SaaS resellers (WEVAL Consulting + clients like Ethica\/Vistex\/Huawei)"
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,191 @@
<?php
// intent: wtp_rattacher_orphelines_w307
// STATUS: ACTIVATED
// Wave 307 - WEVIA autonomous: rattacher les 265 orphelines au WTP master
// Zero Opus intervention
set_time_limit(300);
$WTP = '/var/www/html/weval-technology-platform.html';
$MARKER_START = '<!-- W307-ORPHANS-MOUNT-START -->';
$MARKER_END = '<!-- W307-ORPHANS-MOUNT-END -->';
$report = ['wave' => 307, 'timestamp' => date('c'), 'steps' => []];
// === STEP 1: Fetch orphans registry via API localhost ===
$apiUrl = 'http://127.0.0.1/api/wtp-orphans-registry.php';
$ctx = stream_context_create(['http' => ['header' => "Host: weval-consulting.com\r\n", 'timeout' => 15]]);
$json = @file_get_contents($apiUrl, false, $ctx);
$data = json_decode($json, true);
if (!$data || empty($data['categories'])) {
echo json_encode(['error' => 'API fetch failed', 'url' => $apiUrl, 'response_size' => strlen($json ?: '')]);
exit;
}
$categories = $data['categories'];
$report['steps'][] = [
'name' => 'fetch-api',
'total_html' => $data['total_html'] ?? 0,
'linked_in_wtp' => $data['linked_in_wtp'] ?? 0,
'orphans_count' => $data['orphans_count'] ?? 0,
'categories_found' => array_map('count', $categories)
];
// === STEP 2: Build HTML navigation block with groupings ===
// Only rattacher ACTIVE_* categories (skip LEGACY/DOUBLON/TESTS/DEPRECATED to consolidate)
$groups = [
'ACTIVE_HUB' => ['label' => '🌐 Hubs & Centers', 'icon' => '🌐', 'color' => '#ec4899'],
'ACTIVE_DASHBOARD' => ['label' => '📊 Dashboards', 'icon' => '📊', 'color' => '#4ecdc4'],
'ACTIVE_AGENT' => ['label' => '🤖 Agents', 'icon' => '🤖', 'color' => '#9b59b6'],
'ACTIVE_BLADE' => ['label' => '⚔️ Blade', 'icon' => '⚔️', 'color' => '#3498db'],
'ACTIVE_AI' => ['label' => '🧠 AI', 'icon' => '🧠', 'color' => '#e74c3c'],
'ACTIVE_CRM' => ['label' => '💼 CRM', 'icon' => '💼', 'color' => '#f39c12'],
'ACTIVE_ADMIN' => ['label' => '🛡 Admin & Auth', 'icon' => '🛡', 'color' => '#2ecc71'],
'ACTIVE_PRODUCT' => ['label' => '💰 Product', 'icon' => '💰', 'color' => '#f1c40f'],
'ACTIVE_OTHER' => ['label' => '📄 Pages & Modules', 'icon' => '📄', 'color' => '#95a5a6']
];
$totalAttached = 0;
$sections = '';
foreach ($groups as $catKey => $meta) {
if (empty($categories[$catKey])) continue;
$pages = $categories[$catKey];
$count = count($pages);
$totalAttached += $count;
$links = '';
foreach ($pages as $p) {
$name = htmlspecialchars($p['name']);
$nameDisplay = str_replace(['.html', '.php'], '', $p['name']);
$nameDisplay = str_replace(['-', '_'], ' ', $nameDisplay);
$nameDisplay = htmlspecialchars($nameDisplay);
$sizeKb = round(($p['size'] ?? 0) / 1024);
$thumb = !empty($p['thumb']) ? 'data-thumb="' . htmlspecialchars($p['thumb']) . '"' : '';
$links .= '<a href="/' . $name . '" class="w307-nav-item" ' . $thumb . ' title="' . $name . ' · ' . $sizeKb . ' KB · ' . ($p['mtime_h'] ?? '') . '"><span class="w307-dot" style="background:' . $meta['color'] . '"></span>' . $nameDisplay . '<span class="w307-meta">' . $sizeKb . 'k</span></a>';
}
$sections .= '<details class="w307-group" data-cat="' . $catKey . '"><summary><span class="w307-cat-icon">' . $meta['icon'] . '</span> <span class="w307-cat-label">' . $meta['label'] . '</span> <span class="w307-cat-count">' . $count . '</span></summary><div class="w307-grid">' . $links . '</div></details>';
}
// === STEP 3: Build complete injection block ===
$blockHtml = $MARKER_START . "\n" . <<<HTML
<style>
.w307-wrapper{padding:16px 20px;background:linear-gradient(180deg,rgba(99,102,241,.05),transparent);border-top:1px solid rgba(255,255,255,.06);margin-top:24px}
.w307-title{font-size:13px;font-weight:700;color:#a78bfa;text-transform:uppercase;letter-spacing:.15em;margin-bottom:4px}
.w307-subtitle{font-size:11px;color:#6b7280;margin-bottom:14px}
.w307-filter{width:100%;padding:8px 12px;background:rgba(15,23,42,.6);border:1px solid rgba(255,255,255,.08);border-radius:6px;color:#e6edf3;font-size:12px;margin-bottom:12px;outline:none;transition:.2s}
.w307-filter:focus{border-color:#a78bfa;background:rgba(15,23,42,.8)}
.w307-group{background:rgba(15,23,42,.3);border:1px solid rgba(255,255,255,.05);border-radius:8px;margin-bottom:8px;overflow:hidden}
.w307-group summary{padding:10px 14px;cursor:pointer;user-select:none;display:flex;align-items:center;gap:10px;font-size:12px;font-weight:600;color:#cbd5e1;transition:.2s;list-style:none}
.w307-group summary::-webkit-details-marker{display:none}
.w307-group summary::before{content:'▶';font-size:9px;color:#6b7280;transition:.2s}
.w307-group[open] summary::before{transform:rotate(90deg)}
.w307-group summary:hover{background:rgba(99,102,241,.08);color:#fff}
.w307-cat-icon{font-size:14px}
.w307-cat-count{margin-left:auto;background:rgba(99,102,241,.2);color:#a78bfa;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:700;font-family:monospace}
.w307-grid{padding:8px;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:4px;max-height:320px;overflow-y:auto}
.w307-nav-item{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:5px;color:#94a3b8;font-size:11px;text-decoration:none;transition:.15s;border:1px solid transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.w307-nav-item:hover{background:rgba(99,102,241,.12);color:#fff;border-color:rgba(99,102,241,.3);transform:translateX(2px)}
.w307-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}
.w307-meta{margin-left:auto;font-size:9px;color:#64748b;font-family:monospace;padding-left:6px}
.w307-stats{display:flex;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.w307-stat{background:rgba(99,102,241,.08);border:1px solid rgba(99,102,241,.2);border-radius:6px;padding:6px 12px;font-size:11px;color:#a78bfa}
.w307-stat b{color:#fff;font-size:13px}
@media(max-width:900px){.w307-grid{grid-template-columns:1fr}}
</style>
<div class="w307-wrapper" id="w307-mount">
<div class="w307-title">🌐 Registry WTP · Toutes les pages WEVIA</div>
<div class="w307-subtitle">Rattachement Wave 307 · $totalAttached pages actives consolidées sous WTP · framework unique</div>
<div class="w307-stats">
<span class="w307-stat"><b>$totalAttached</b> pages rattachées</span>
<span class="w307-stat"><b>{$data['linked_in_wtp']}</b> déjà linkées</span>
<span class="w307-stat"><b>{$data['total_html']}</b> total HTML scannés</span>
<span class="w307-stat">Doctrine 307 · UX unifié</span>
</div>
<input type="text" class="w307-filter" placeholder="🔍 Filter pages par nom (ex: dashboard, blade, ethica...)" oninput="(function(q){q=q.target.value.toLowerCase();document.querySelectorAll('.w307-nav-item').forEach(a=>{a.style.display=a.textContent.toLowerCase().includes(q)?'':'none';});document.querySelectorAll('.w307-group').forEach(g=>{const visible=g.querySelectorAll('.w307-nav-item:not([style*=none])').length;g.style.display=visible>0?'':'none';if(q)g.open=true;});})(event)">
$sections
</div>
HTML . "\n" . $MARKER_END;
// === STEP 4: Inject into WTP master ===
$step4 = ['name' => 'inject-wtp-master'];
shell_exec('sudo chattr -i ' . escapeshellarg($WTP) . ' 2>&1');
$gold = '/var/backups/gold_wtp_orphans_rattach_w307_' . time() . '.gold';
shell_exec('sudo cp ' . escapeshellarg($WTP) . ' ' . escapeshellarg($gold));
$html = file_get_contents($WTP);
$before_sz = strlen($html);
// Remove previous w307 injection if exists (idempotency / upgrade)
if (strpos($html, $MARKER_START) !== false) {
$html = preg_replace('/' . preg_quote($MARKER_START, '/') . '.*?' . preg_quote($MARKER_END, '/') . '/s', '', $html);
$step4['cleanup'] = 'removed-previous';
}
// Inject before </body>
if (strpos($html, '</body>') !== false) {
$html = str_replace('</body>', $blockHtml . "\n</body>", $html);
$step4['injection'] = 'before-body';
} else {
$html .= "\n" . $blockHtml;
$step4['injection'] = 'appended';
}
$tmp = '/tmp/wtp_w307.html';
file_put_contents($tmp, $html);
shell_exec('sudo cp ' . escapeshellarg($tmp) . ' ' . escapeshellarg($WTP));
shell_exec('sudo chown www-data:www-data ' . escapeshellarg($WTP));
shell_exec('sudo chmod 644 ' . escapeshellarg($WTP));
shell_exec('sudo chattr +i ' . escapeshellarg($WTP) . ' 2>&1');
@unlink($tmp);
$after_sz = filesize($WTP);
$step4['before_sz'] = $before_sz;
$step4['after_sz'] = $after_sz;
$step4['delta'] = $after_sz - $before_sz;
$step4['gold'] = $gold;
$step4['pages_attached'] = $totalAttached;
$report['steps'][] = $step4;
// === STEP 5: CF Purge ===
$cf_email = 'ymahboub@weval-consulting.com';
$cf_key = '9eb8d1041e7faeae68d5017376871ba170291';
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => 'https://api.cloudflare.com/client/v4/zones?name=weval-consulting.com',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["X-Auth-Email: $cf_email", "X-Auth-Key: $cf_key"],
CURLOPT_TIMEOUT => 10
]);
$zone_id = (@json_decode(curl_exec($ch), true))['result'][0]['id'] ?? null;
curl_close($ch);
if ($zone_id) {
$urls = ['https://weval-consulting.com/weval-technology-platform.html', 'https://weval-consulting.com/wtp-orphans-registry.html'];
$ch2 = curl_init();
curl_setopt_array($ch2, [
CURLOPT_URL => "https://api.cloudflare.com/client/v4/zones/$zone_id/purge_cache",
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode(['files' => $urls]),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["X-Auth-Email: $cf_email", "X-Auth-Key: $cf_key", "Content-Type: application/json"],
CURLOPT_TIMEOUT => 15
]);
$purge = (@json_decode(curl_exec($ch2), true));
curl_close($ch2);
$report['steps'][] = ['name' => 'cf-purge', 'success' => $purge['success'] ?? false];
}
// === FINAL JSON ===
$report['final'] = [
'pages_attached_to_wtp' => $totalAttached,
'wtp_size_before' => $before_sz,
'wtp_size_after' => $after_sz,
'wtp_delta_bytes' => $after_sz - $before_sz,
'url_wtp' => 'https://weval-consulting.com/weval-technology-platform.html',
'url_registry' => 'https://weval-consulting.com/wtp-orphans-registry.html',
'doctrine' => '307 - WTP uniformization zero orphelin actif'
];
echo json_encode($report, JSON_PRETTY_PRINT);

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 MiB

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 988 KiB

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 MiB

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 974 KiB

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 822 KiB

After

Width:  |  Height:  |  Size: 861 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 MiB

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1008 KiB

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 235 KiB

After

Width:  |  Height:  |  Size: 236 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 982 KiB

After

Width:  |  Height:  |  Size: 977 KiB

View File

@@ -1,6 +1,6 @@
{
"wave": 305,
"timestamp": "2026-04-24T01:07:37.194Z",
"timestamp": "2026-04-24T01:16:38.518Z",
"hubs": [
{
"hub": "paperclip-dashboard.html",
@@ -93,11 +93,30 @@
"hub": "wevia-multiagent-dashboard.html",
"url": "https://weval-consulting.com/wevia-multiagent-dashboard.html",
"auth_required": false,
"checks": {},
"artifacts": {},
"checks": {
"overlap": {
"top_right_count": 0,
"bottom_right_count": 0,
"top_right": [],
"bottom_right": []
},
"no_overlap_tr": true,
"no_overlap_br": true,
"gemini_markers": {
"geEntrance": true,
"gePulse": true,
"geAmbient": true,
"geShimmer": true
},
"has_gemini_v2": true
},
"artifacts": {
"screenshot": "/proofs/playwright-gemini-v5-w305/wevia-multiagent-dashboard_html.png",
"hover": "/proofs/playwright-gemini-v5-w305/wevia-multiagent-dashboard_html_hover.png",
"video": "/proofs/playwright-gemini-v5-w305/wevia-multiagent-dashboard_html.webm"
},
"http_status": 200,
"status": "ERROR",
"error": "page.evaluate: Target crashed "
"status": "PASS"
},
{
"hub": "brain-council.html",
@@ -120,42 +139,119 @@
},
"has_gemini_v2": true
},
"artifacts": {},
"artifacts": {
"screenshot": "/proofs/playwright-gemini-v5-w305/brain-council_html.png",
"hover": "/proofs/playwright-gemini-v5-w305/brain-council_html_hover.png",
"video": "/proofs/playwright-gemini-v5-w305/brain-council_html.webm"
},
"http_status": 200,
"status": "ERROR",
"error": "page.screenshot: Target page, context or browser has been closed\nBrowser logs:\n\n<launching> /var/www/.cache/ms-playwright/chromium_headless_shell-1217/chrome-headless-shell-linux64/chrome-headless-shell --disable-field-trial-config --disable-background-networking --disable-background-timer-throttlin"
"status": "PASS"
},
{
"hub": "wevia-meeting.php",
"url": "https://weval-consulting.com/wevia-meeting.php",
"auth_required": false,
"checks": {},
"artifacts": {},
"status": "ERROR",
"error": "browser.newContext: Target page, context or browser has been closed"
"checks": {
"overlap": {
"top_right_count": 0,
"bottom_right_count": 0,
"top_right": [],
"bottom_right": []
},
"no_overlap_tr": true,
"no_overlap_br": true,
"gemini_markers": {
"geEntrance": true,
"gePulse": true,
"geAmbient": true,
"geShimmer": true
},
"has_gemini_v2": true
},
"artifacts": {
"screenshot": "/proofs/playwright-gemini-v5-w305/wevia-meeting_php.png",
"hover": "/proofs/playwright-gemini-v5-w305/wevia-meeting_php_hover.png",
"video": "/proofs/playwright-gemini-v5-w305/wevia-meeting_php.webm"
},
"http_status": 200,
"status": "PASS"
},
{
"hub": "growth-engine-v2.html",
"url": "https://weval-consulting.com/growth-engine-v2.html",
"auth_required": true,
"checks": {},
"artifacts": {},
"status": "ERROR",
"error": "browser.newContext: Target page, context or browser has been closed"
"checks": {
"overlap": {
"top_right_count": 0,
"bottom_right_count": 2,
"top_right": [],
"bottom_right": [
{
"tag": "DIV",
"id": "",
"class": "orb o2",
"pos": "1509,1205",
"size": "500x500"
},
{
"tag": "DIV",
"id": "wtp-udock",
"class": "",
"pos": "1488,1191",
"size": "420x56"
}
]
},
"no_overlap_tr": true,
"no_overlap_br": false,
"gemini_markers": {
"geEntrance": false,
"gePulse": false,
"geAmbient": false,
"geShimmer": false
},
"has_gemini_v2": false
},
"artifacts": {
"screenshot": "/proofs/playwright-gemini-v5-w305/growth-engine-v2_html.png",
"video": "/proofs/playwright-gemini-v5-w305/growth-engine-v2_html.webm"
},
"http_status": 200,
"status": "FAIL"
},
{
"hub": "agents-hub.html",
"url": "https://weval-consulting.com/agents-hub.html",
"auth_required": true,
"checks": {},
"artifacts": {},
"status": "ERROR",
"error": "browser.newContext: Target page, context or browser has been closed"
"checks": {
"overlap": {
"top_right_count": 0,
"bottom_right_count": 0,
"top_right": [],
"bottom_right": []
},
"no_overlap_tr": true,
"no_overlap_br": true,
"gemini_markers": {
"geEntrance": true,
"gePulse": true,
"geAmbient": true,
"geShimmer": true
},
"has_gemini_v2": true
},
"artifacts": {
"screenshot": "/proofs/playwright-gemini-v5-w305/agents-hub_html.png",
"hover": "/proofs/playwright-gemini-v5-w305/agents-hub_html_hover.png",
"video": "/proofs/playwright-gemini-v5-w305/agents-hub_html.webm"
},
"http_status": 200,
"status": "PASS"
}
],
"summary": {
"total": 8,
"passed": 3,
"failed": 5
"passed": 7,
"failed": 1
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 873 KiB

After

Width:  |  Height:  |  Size: 913 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 MiB

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

After

Width:  |  Height:  |  Size: 1.1 MiB

File diff suppressed because one or more lines are too long