nanobot: 2026-09-20 12:21:23
This commit is contained in:
258
cron/jobs.json
258
cron/jobs.json
@@ -37,8 +37,8 @@
|
||||
}
|
||||
},
|
||||
"state": {
|
||||
"nextRunAtMs": 1789884000000,
|
||||
"lastRunAtMs": 1789797600001,
|
||||
"nextRunAtMs": 1789970400000,
|
||||
"lastRunAtMs": 1789884000001,
|
||||
"lastStatus": "ok",
|
||||
"lastError": null,
|
||||
"runHistory": [
|
||||
@@ -111,11 +111,18 @@
|
||||
"durationMs": 7488,
|
||||
"error": null,
|
||||
"runId": "c1e268c8:1789797600001:a9bf94ec"
|
||||
},
|
||||
{
|
||||
"runAtMs": 1789884000001,
|
||||
"status": "ok",
|
||||
"durationMs": 47538,
|
||||
"error": null,
|
||||
"runId": "c1e268c8:1789884000002:7d0fdaa0"
|
||||
}
|
||||
]
|
||||
},
|
||||
"createdAtMs": 1788948314679,
|
||||
"updatedAtMs": 1789797607489,
|
||||
"updatedAtMs": 1789884047539,
|
||||
"deleteAfterRun": false
|
||||
},
|
||||
{
|
||||
@@ -142,32 +149,11 @@
|
||||
"originMetadata": {}
|
||||
},
|
||||
"state": {
|
||||
"nextRunAtMs": 1789801337499,
|
||||
"lastRunAtMs": 1789794137480,
|
||||
"nextRunAtMs": 1789902137794,
|
||||
"lastRunAtMs": 1789894937775,
|
||||
"lastStatus": "ok",
|
||||
"lastError": null,
|
||||
"runHistory": [
|
||||
{
|
||||
"runAtMs": 1789736537196,
|
||||
"status": "ok",
|
||||
"durationMs": 133,
|
||||
"error": null,
|
||||
"runId": null
|
||||
},
|
||||
{
|
||||
"runAtMs": 1789743737331,
|
||||
"status": "ok",
|
||||
"durationMs": 19,
|
||||
"error": null,
|
||||
"runId": null
|
||||
},
|
||||
{
|
||||
"runAtMs": 1789750937353,
|
||||
"status": "ok",
|
||||
"durationMs": 18,
|
||||
"error": null,
|
||||
"runId": null
|
||||
},
|
||||
{
|
||||
"runAtMs": 1789758137372,
|
||||
"status": "ok",
|
||||
@@ -209,11 +195,109 @@
|
||||
"durationMs": 19,
|
||||
"error": null,
|
||||
"runId": null
|
||||
},
|
||||
{
|
||||
"runAtMs": 1789801337501,
|
||||
"status": "ok",
|
||||
"durationMs": 19,
|
||||
"error": null,
|
||||
"runId": null
|
||||
},
|
||||
{
|
||||
"runAtMs": 1789808537521,
|
||||
"status": "ok",
|
||||
"durationMs": 20,
|
||||
"error": null,
|
||||
"runId": null
|
||||
},
|
||||
{
|
||||
"runAtMs": 1789815737542,
|
||||
"status": "ok",
|
||||
"durationMs": 19,
|
||||
"error": null,
|
||||
"runId": null
|
||||
},
|
||||
{
|
||||
"runAtMs": 1789822937564,
|
||||
"status": "ok",
|
||||
"durationMs": 20,
|
||||
"error": null,
|
||||
"runId": null
|
||||
},
|
||||
{
|
||||
"runAtMs": 1789830137585,
|
||||
"status": "ok",
|
||||
"durationMs": 19,
|
||||
"error": null,
|
||||
"runId": null
|
||||
},
|
||||
{
|
||||
"runAtMs": 1789837337605,
|
||||
"status": "ok",
|
||||
"durationMs": 23,
|
||||
"error": null,
|
||||
"runId": null
|
||||
},
|
||||
{
|
||||
"runAtMs": 1789844537629,
|
||||
"status": "ok",
|
||||
"durationMs": 19,
|
||||
"error": null,
|
||||
"runId": null
|
||||
},
|
||||
{
|
||||
"runAtMs": 1789851737649,
|
||||
"status": "ok",
|
||||
"durationMs": 20,
|
||||
"error": null,
|
||||
"runId": null
|
||||
},
|
||||
{
|
||||
"runAtMs": 1789858937670,
|
||||
"status": "ok",
|
||||
"durationMs": 23,
|
||||
"error": null,
|
||||
"runId": null
|
||||
},
|
||||
{
|
||||
"runAtMs": 1789866137695,
|
||||
"status": "ok",
|
||||
"durationMs": 18,
|
||||
"error": null,
|
||||
"runId": null
|
||||
},
|
||||
{
|
||||
"runAtMs": 1789873337715,
|
||||
"status": "ok",
|
||||
"durationMs": 19,
|
||||
"error": null,
|
||||
"runId": null
|
||||
},
|
||||
{
|
||||
"runAtMs": 1789880537736,
|
||||
"status": "ok",
|
||||
"durationMs": 19,
|
||||
"error": null,
|
||||
"runId": null
|
||||
},
|
||||
{
|
||||
"runAtMs": 1789887737756,
|
||||
"status": "ok",
|
||||
"durationMs": 18,
|
||||
"error": null,
|
||||
"runId": null
|
||||
},
|
||||
{
|
||||
"runAtMs": 1789894937775,
|
||||
"status": "ok",
|
||||
"durationMs": 19,
|
||||
"error": null,
|
||||
"runId": null
|
||||
}
|
||||
]
|
||||
},
|
||||
"createdAtMs": 1776109113789,
|
||||
"updatedAtMs": 1789794137499,
|
||||
"updatedAtMs": 1789894937794,
|
||||
"deleteAfterRun": false
|
||||
},
|
||||
{
|
||||
@@ -240,155 +324,155 @@
|
||||
"originMetadata": {}
|
||||
},
|
||||
"state": {
|
||||
"nextRunAtMs": 1789801337517,
|
||||
"lastRunAtMs": 1789799537516,
|
||||
"nextRunAtMs": 1789900337802,
|
||||
"lastRunAtMs": 1789898537802,
|
||||
"lastStatus": "ok",
|
||||
"lastError": null,
|
||||
"runHistory": [
|
||||
{
|
||||
"runAtMs": 1789765337415,
|
||||
"runAtMs": 1789864337702,
|
||||
"status": "ok",
|
||||
"durationMs": 0,
|
||||
"error": null,
|
||||
"runId": null
|
||||
},
|
||||
{
|
||||
"runAtMs": 1789767137416,
|
||||
"status": "ok",
|
||||
"durationMs": 1,
|
||||
"error": null,
|
||||
"runId": null
|
||||
},
|
||||
{
|
||||
"runAtMs": 1789768937418,
|
||||
"status": "ok",
|
||||
"durationMs": 1,
|
||||
"error": null,
|
||||
"runId": null
|
||||
},
|
||||
{
|
||||
"runAtMs": 1789770737420,
|
||||
"status": "ok",
|
||||
"durationMs": 1,
|
||||
"error": null,
|
||||
"runId": null
|
||||
},
|
||||
{
|
||||
"runAtMs": 1789772537441,
|
||||
"runAtMs": 1789866137717,
|
||||
"status": "ok",
|
||||
"durationMs": 0,
|
||||
"error": null,
|
||||
"runId": null
|
||||
},
|
||||
{
|
||||
"runAtMs": 1789774337443,
|
||||
"runAtMs": 1789867937718,
|
||||
"status": "ok",
|
||||
"durationMs": 1,
|
||||
"error": null,
|
||||
"runId": null
|
||||
},
|
||||
{
|
||||
"runAtMs": 1789869737721,
|
||||
"status": "ok",
|
||||
"durationMs": 0,
|
||||
"error": null,
|
||||
"runId": null
|
||||
},
|
||||
{
|
||||
"runAtMs": 1789776137445,
|
||||
"runAtMs": 1789871537722,
|
||||
"status": "ok",
|
||||
"durationMs": 1,
|
||||
"error": null,
|
||||
"runId": null
|
||||
},
|
||||
{
|
||||
"runAtMs": 1789873337736,
|
||||
"status": "ok",
|
||||
"durationMs": 0,
|
||||
"error": null,
|
||||
"runId": null
|
||||
},
|
||||
{
|
||||
"runAtMs": 1789777937446,
|
||||
"status": "ok",
|
||||
"durationMs": 1,
|
||||
"error": null,
|
||||
"runId": null
|
||||
},
|
||||
{
|
||||
"runAtMs": 1789779737462,
|
||||
"status": "ok",
|
||||
"durationMs": 1,
|
||||
"error": null,
|
||||
"runId": null
|
||||
},
|
||||
{
|
||||
"runAtMs": 1789781537464,
|
||||
"runAtMs": 1789875137737,
|
||||
"status": "ok",
|
||||
"durationMs": 0,
|
||||
"error": null,
|
||||
"runId": null
|
||||
},
|
||||
{
|
||||
"runAtMs": 1789783337465,
|
||||
"runAtMs": 1789876937738,
|
||||
"status": "ok",
|
||||
"durationMs": 1,
|
||||
"error": null,
|
||||
"runId": null
|
||||
},
|
||||
{
|
||||
"runAtMs": 1789785137467,
|
||||
"runAtMs": 1789878737740,
|
||||
"status": "ok",
|
||||
"durationMs": 1,
|
||||
"error": null,
|
||||
"runId": null
|
||||
},
|
||||
{
|
||||
"runAtMs": 1789880537758,
|
||||
"status": "ok",
|
||||
"durationMs": 0,
|
||||
"error": null,
|
||||
"runId": null
|
||||
},
|
||||
{
|
||||
"runAtMs": 1789786937484,
|
||||
"runAtMs": 1789882337760,
|
||||
"status": "ok",
|
||||
"durationMs": 0,
|
||||
"error": null,
|
||||
"runId": null
|
||||
},
|
||||
{
|
||||
"runAtMs": 1789788737486,
|
||||
"runAtMs": 1789884137768,
|
||||
"status": "ok",
|
||||
"durationMs": 0,
|
||||
"error": null,
|
||||
"runId": null
|
||||
},
|
||||
{
|
||||
"runAtMs": 1789790537487,
|
||||
"status": "ok",
|
||||
"durationMs": 1,
|
||||
"error": null,
|
||||
"runId": null
|
||||
},
|
||||
{
|
||||
"runAtMs": 1789792337489,
|
||||
"runAtMs": 1789885937770,
|
||||
"status": "ok",
|
||||
"durationMs": 0,
|
||||
"error": null,
|
||||
"runId": null
|
||||
},
|
||||
{
|
||||
"runAtMs": 1789794137504,
|
||||
"runAtMs": 1789887737778,
|
||||
"status": "ok",
|
||||
"durationMs": 1,
|
||||
"error": null,
|
||||
"runId": null
|
||||
},
|
||||
{
|
||||
"runAtMs": 1789795937506,
|
||||
"runAtMs": 1789889537780,
|
||||
"status": "ok",
|
||||
"durationMs": 0,
|
||||
"error": null,
|
||||
"runId": null
|
||||
},
|
||||
{
|
||||
"runAtMs": 1789891337781,
|
||||
"status": "ok",
|
||||
"durationMs": 0,
|
||||
"error": null,
|
||||
"runId": null
|
||||
},
|
||||
{
|
||||
"runAtMs": 1789893137783,
|
||||
"status": "ok",
|
||||
"durationMs": 0,
|
||||
"error": null,
|
||||
"runId": null
|
||||
},
|
||||
{
|
||||
"runAtMs": 1789894937796,
|
||||
"status": "ok",
|
||||
"durationMs": 1,
|
||||
"error": null,
|
||||
"runId": null
|
||||
},
|
||||
{
|
||||
"runAtMs": 1789797737513,
|
||||
"runAtMs": 1789896737798,
|
||||
"status": "ok",
|
||||
"durationMs": 1,
|
||||
"error": null,
|
||||
"runId": null
|
||||
},
|
||||
{
|
||||
"runAtMs": 1789799537516,
|
||||
"runAtMs": 1789898537802,
|
||||
"status": "ok",
|
||||
"durationMs": 1,
|
||||
"durationMs": 0,
|
||||
"error": null,
|
||||
"runId": null
|
||||
}
|
||||
]
|
||||
},
|
||||
"createdAtMs": 1776109113795,
|
||||
"updatedAtMs": 1789799537517,
|
||||
"updatedAtMs": 1789898537802,
|
||||
"deleteAfterRun": false
|
||||
}
|
||||
]
|
||||
|
||||
@@ -225,3 +225,12 @@ Vyhodnocení testu:
|
||||
|
||||
Zůstává otevřené: bez ohledu na výsledek testu stále chybí PBS (kam zálohovat) — nezávislé na 9020.
|
||||
- 2026-09-18: Stav sehnání originálního Dell PSU pro 9020: hledaný, ale **nenašel se** (uživatel zkusí ještě jednou). Bezpečný test Aukro desky přes originální zdroj je tedy zatím nedostupný — test půjde pravděpodobně přes AliExpress adapter s vědomým rizikem (konvertor může zabít i novou desku).
|
||||
- 2026-09-19: Root cause BIOS neukládání na Optiplexu 9010 nalezen: uživatel sám vyndal **PSWD jumper** (schválně, aby smazal heslo od předchozího správce — jinak nemohl měnit nastavení). Bez nasazeného jumperu je deska v ochranném režimu a **žádné změny v BIOSu se neukládají** (ani nová hesla). Nejsou za tím CMOS battery, verze BIOSu ani jumper jinde.
|
||||
|
||||
Postup (dohodnutý, dle konzultace s Gemini):
|
||||
1. Vypnout PC, odpojit napájení
|
||||
2. Nasadit jumper zpět na oba piny PSWD (staré heslo už je smazané, nové není potřeba)
|
||||
3. Zapnout, F2 do BIOSu, nastavit potřebné hodnoty, uložit
|
||||
4. Ověřit: výstražná hláška zmizí a hodnoty po restartu zůstanou
|
||||
|
||||
Pozn.: bezpečnostní důsledek — BIOS je po nasazení jumperu bez hesla, plně přístupný. U homelab stroje přijatelné.
|
||||
|
||||
@@ -10,7 +10,7 @@ timestamp: draft
|
||||
- Ollama na nvidia.hell: po incidentech 12.–13. 9. 2026 zaevidován root cause pádů — kauzální řetěz: ollama rozhoduje load podle VRAM ne volné RAM + vypíná mmap (podmínka na 9,5 GiB stroji nesplnitelná nikdy, regrese od 2026-06-05) + PLE host buffer u gemma4 + přerušený load leakuje napinovanou host paměť (neviditelná pro ps/nvidia-smi/cgtop, detekce jen `nr_foll_pin` delta v /proc/vmstat), uvolní **jen reboot** (rmmod driveru ověřeně NE). Cgroup pojistka (`MemoryMax=6G`, `MemorySwapMax=0`, bez MemoryHigh) ověřena zátěžovým testem: 240/240 SSH heartbeatů, load 3,41 vs 81 při incidentu. Skutečný zdroj zátěže = nanobot.hell (dávky přes ~10 modelů + embedding), LibreChat jen zesilovač. Reporty v `artifacts/2026-09-13_ollama-nvidia-full-report.md` (ucelený, s kuchařkou pro triáž) a `artifacts/2026-09-13_ollama-nvidia-negative-findings.md` (negativní zjištění), shrnutí v memory.md 2026-09-14. Zavržené cesty: earlyoom i jakákoli externí kill varianta, MemoryHigh pod MemoryMax, navýšení RAM (headroom konstanta 7,5 GiB), limit počtu modelů, OLLAMA_LOAD_TIMEOUT, upgrade ollamy, mmap override (neexistuje), ballooning (`balloon: 0` + pevná paměť), rmmod jako remedy.
|
||||
|
||||
## Co dál
|
||||
- **HW po migraci na Optiplex 9010 (aktuální fronta):** (1) BIOS — neukládající se změny (CMOS battery? verze?); (2) doladit sekundární vetrak; (3) instalovat nový 1TB NVme; (4) nahodit Proxmox Backup Server — kandidát pivo.hell (Atom), aby bylo kam zálohovat; (5) dlouhodobě plán nového HW — průzkum ukázal 15–20 l skříňky s převahou jader, což nevyhovuje (uživatel nechce víc jader); zvažovat mini-ITX SFF, Optiplex jako mezikrok, custom build.
|
||||
- **HW po migraci na Optiplex 9010 (aktuální fronta):** (1) ~~BIOS — neukládající se změny~~ — root cause nalezen 2026-09-19: vyndaný PSWD jumper drží desku v ochranném režimu; fix: nasadit jumper zpět na oba piny PSWD, nastavit hodnoty v BIOSu, uložit, ověřit persistenci (postup v memory.md 2026-09-19); (2) doladit sekundární vetrak; (3) instalovat nový 1TB NVme; (4) nahodit Proxmox Backup Server — kandidát pivo.hell (Atom), aby bylo kam zálohovat; (5) dlouhodobě plán nového HW — průzkum ukázal 15–20 l skříňky s převahou jader, což nevyhovuje (uživatel nechce víc jader); zvažovat mini-ITX SFF, Optiplex jako mezikrok, custom build.
|
||||
- Rozhodnout umístění LibreCodeInterpreter (AI stack VM vs dedikovaná VM) a nasadit — viz memory.md 2026-09-13 pro capability požadavky (SYS_ADMIN, NET_ADMIN, apparmor:unconfined).
|
||||
- Ollama open body dle priority (report §11): (1) ~~zastavit dávky z nanobot.hell~~ — **neplatí jako provozní riziko** (dávky byly testovací tool-calling requesty, běžný provoz nanobot nesahá na lokální modely); (2) retest cgroup pojistky bez MemoryHigh (odblokováno rebootem; kritéria: heartbeat bez výpadku, MemAvailable > 2 GiB, dmesg constraint=MEMCG); (3) doladit MemoryMax podle memory.peak; (4) rozhodnout osud gemma4 (PLE ~5,9 GiB host bufferu, na 9,5 GiB stroji nikdy); (5) `OLLAMA_KV_CACHE_TYPE=q4_0` zrušit nebo nepoužívat granite-code; (6) drobnosti: `apt purge` earlyoom (rc), llama-server `--log-verbosity 4`, zabbix `Hostname=Zabbix server` → nvidia, LibreChat titleConvo duplicitní requesty, otázka real-time monitoringu (hlídač co killuje = zavržená cesta).
|
||||
- Návrh k rozhodnutí: izolovat embedding pipeline (wiki skill) ze ollamy na statický llama.cpp server (`llama-server --embeddings --pooling last`, stejný GGUF, /v1/embeddings) — obejde load path, kde vzniká leak; po ní nanobot nezůstane na lokální ollamě žádný provoz krom cloud proxy. Vyžaduje: úprava wiki_embed.py klienta, config.yaml endpoint, reindex --full.
|
||||
|
||||
@@ -8,3 +8,9 @@ Nová slova na konec. Řádky: slovo, výslovnost, odrážky = významy (přípa
|
||||
/ɪnˈkwaɪəri/
|
||||
- dotaz, poptávka — *in response to your inquiry*
|
||||
- vyšetřování — *a public inquiry*
|
||||
|
||||
## genuinely
|
||||
/ˈdʒenjuɪnli/
|
||||
- opravdu, skutečně — *I genuinely don't know.*
|
||||
- upřímně (řečeno) — *I'm genuinely sorry about that.*
|
||||
- přisuzuje upřímnost/celistvost — *genuinely interested in the topic*
|
||||
BIN
projects/life/artifacts/.fyzio-cviky-kycele.md.swp
Normal file
BIN
projects/life/artifacts/.fyzio-cviky-kycele.md.swp
Normal file
Binary file not shown.
@@ -12,3 +12,5 @@ Pravidlo: vynechaný den není selhání. Pásmo: podlaha 2×/týden, strop denn
|
||||
| 2026-09-16 | ✅ | + další cviky z vlastní sestavy |
|
||||
| 2026-09-17 | ❌ | |
|
||||
| 2026-09-18 | ✅ | |
|
||||
| 2026-09-19 | ✅ | |
|
||||
| 2026-09-20 | ✅ | |
|
||||
@@ -30,3 +30,6 @@
|
||||
- 2026-09-16: Další tréninkový den (16.9.) — fyzio cviky plus další přidané protahovací cviky z vlastní obvyklé sestavy. Adherence drží: 5 tréninků za 6 dní, v rámci zvoleného pásma (podlaha 2×/týden, cíl denně).
|
||||
- 2026-09-16: Rozhodnutí o doplňcích (k výživě, po rozboru článku o hořčíku): vybral si MedPharma Magnesium citrát Forte B6 (BENU, 67 tbl., ~119 Kč) — plán brát **1 tabletu denně** (150 mg elementárního hořčíku v citrátu, 6 mg B6; při 1 tabletě pod EFSA UL 250 mg i pod britským B6 limitem 10 mg). Splňuje kritéria z článku: vstřebatelná forma, elementární hořčík jasně na etiketě, malý počet tablet na dávku, rozumná cena. Vedle toho má doma MedPharma Ca+Mg+Zn (hořčík jako špatně vstřebatelný oxid) — ten nadále brát na Ca+Zn, ne jako zdroj hořčíku; při kombinaci počítat hořčík z obou produktů. Důvod v kontextu projektu: lepší spánek/regenerace jako podpora váhového cíle; doplněk ale nenahrazuje jídlo a spánek. Produkt: https://www.benu.cz/medpharma-magnesium-citrat-forte-b6-tbl-67
|
||||
- 2026-09-16: Zdroj k rozhodnutí o hořčíku: článek „Hořčík pro běžce: Kdy má smysl a za co zbytečně připlácíte“ (rungo.cz, 16.9.2026) — https://rungo.cz/2026/09/16/horcik-pro-bezce-jak-vybrat/ . Klíčové závěry, na kterých stojí volba doplňku: křeč v lýtku není diagnóza nedostatku hořčíku (současný výzkum EAMC je složitější než výpadek jednoho minerálu); běhání samo o sobě nedostatek nezpůsobuje; první řešit jídlem (luštěniny, ořechy, semínka, celozrnné, listová zelenina); při výběru hledat elementární hořčík v denní dávce (ne hmotnost sloučeniny na přední straně), počet tablet na dávku a formu — lépe vstřebatelné citrát/laktát/chlorid/aspartát, oxid má horší vstřebatelnost ale není zbytečný; přesné načasování forem (malát ráno na energii, bisglycinát večer na spánek) marketing bez důkazů, stejně jako hořčíkové koupele/olej (transdermální vstřebávání nedoložené); EFSA UL pro hořčík z doplňků 250 mg/den (limit odvozen z projímavosti, ne toxicity); hořčík na spánek nenahradí režim a spánek. Zdroje článku: EFSA, NIH ODS, PubMed systematické review.
|
||||
- 2026-09-19: Cvičil dnes fyzio cviky (2026-09-19). Streak pokračuje, od fyzio (10.9.) 7 z 9 dní — v rámci pásma (podlaha 2×/týden).
|
||||
- 2026-09-19: Trénink 19.9.: šlo ztuha, hlavně pravá strana — očekával by viditelné zlepšení už po ~týdnu od fyzio. Poznámka: ROM adaptace je podle dřívější rešerše chronická/kumulativní, vyhodnotit až na kontrole začátkem října; sledujeme, jestli je ztuhlost pravé strany konzistentní, nebo kolísá den ode dne.
|
||||
- 2026-09-20: Cvičil dnes fyzio cviky (2026-09-20). Streak pokračuje — od fyzio (10.9.) 8 z 11 dní, nad podlahou 2×/týden.
|
||||
|
||||
@@ -62,8 +62,10 @@ Denní vážení, vnímaná kondice, jestli mě něco bolí.
|
||||
- **Chybí**: počty opakování a délky výdrží — doladit s fyzioterapeutem při
|
||||
další návštěvě.
|
||||
- **Kontrola naplánovaná**: ~3–4 týdny po první návštěvě, tedy začátek října.
|
||||
- **Stav (15.9.)**: asymetrie přetrvává — pravá strana táhne víc, přitahování
|
||||
kolen ztuha. ROM adaptace trvá týdny, čekat zlepšení.
|
||||
- **Stav (19.9.)**: asymetrie přetrvává, stále jde ztuha hlavně pravá strana —
|
||||
očekávané zlepšení po ~týdnu od fyzio zatím nepřišlo. ROM adaptace je
|
||||
kumulativní, reálné vyhodnocení až na kontrole začátkem října. Sledovat,
|
||||
jestli je ztuhlost pravé strany konzistentní, nebo kolísá den ode dne.
|
||||
- **Frekvence — rozhodnuto (2026-09-11)**: denní snaha s tolerancí — vynechaný
|
||||
den není selhání. Pásmo: podlaha 2× týdně (pevná), strop denně, cokoli
|
||||
mezi = úspěch. Fyzicky stačilo i obden, denní cíl je kvůli návyku, ne
|
||||
|
||||
Reference in New Issue
Block a user