.eml`
+
+## Spuštění
+```
+python download_first_inbox_eml_v1.0.py
+```
+
+## Poznámky
+- **Pravý klik na řádek zprávy** je spolehlivější než "..." v toolbaru — kontextové
+ menu je vždy svázané s celou zprávou, takže odpadá riziko trefení "..." přílohy.
+- Na **Download** se najíždí `hover()` (otevře submenu), ne klikem.
+- Selektory mají EN i CZ varianty.
+- `accept_downloads=True` + `page.expect_download()` — bez toho Playwright stažení nezachytí.
+- Okno se po stažení nezavře, čeká na Enter.
diff --git a/Outlook/download_first_inbox_eml_v1.0.py b/Outlook/download_first_inbox_eml_v1.0.py
new file mode 100644
index 0000000..a691f93
--- /dev/null
+++ b/Outlook/download_first_inbox_eml_v1.0.py
@@ -0,0 +1,142 @@
+"""
+=======================================================================
+ Název: download_first_inbox_eml_v1.0.py
+ Verze: 1.0
+ Datum: 2026-06-03
+ Popis: Pokusný skript: otevře Outlook OWA, přejde do Inboxu, klikne
+ na první zprávu a stáhne ji jako .eml přes menu
+ "More email actions" → Download → Download as EML.
+
+ Používá persistent profil z outlook_login_v1.0.py.
+=======================================================================
+"""
+
+from pathlib import Path
+from playwright.sync_api import sync_playwright
+
+BASE_DIR = Path(__file__).resolve().parent
+PROFILE_DIR = BASE_DIR / "outlook_profile"
+OUT_DIR = BASE_DIR / "downloads"
+START_URL = "https://outlook.cloud.microsoft/mail/"
+
+
+def main() -> None:
+ if not PROFILE_DIR.exists():
+ print(f" Profil nenalezen: {PROFILE_DIR}")
+ print(" Nejprve spusť outlook_login_v1.0.py.")
+ return
+ OUT_DIR.mkdir(exist_ok=True)
+
+ with sync_playwright() as p:
+ context = p.chromium.launch_persistent_context(
+ user_data_dir=str(PROFILE_DIR),
+ headless=False,
+ no_viewport=True,
+ accept_downloads=True,
+ args=[
+ "--disable-blink-features=AutomationControlled",
+ "--start-maximized",
+ ],
+ )
+ page = context.pages[0] if context.pages else context.new_page()
+
+ # 1) Otevřít Outlook
+ print(" 1/6 Otevírám Outlook...")
+ page.goto(START_URL)
+ page.wait_for_load_state("domcontentloaded")
+ search_selector = (
+ '[placeholder*="Search"], [aria-label*="Search"], '
+ '[placeholder*="Hledat"], [aria-label*="Hledat"]'
+ )
+ page.wait_for_selector(search_selector, timeout=30_000)
+
+ # 2) Inbox / Doručená pošta
+ print(" 2/6 Otevírám Inbox...")
+ inbox_candidates = [
+ 'div[role="treeitem"]:has-text("Inbox")',
+ 'div[role="treeitem"]:has-text("Doručená pošta")',
+ 'text=Inbox',
+ 'text=Doručená pošta',
+ ]
+ for sel in inbox_candidates:
+ loc = page.locator(sel).first
+ if loc.count() and loc.is_visible():
+ loc.click()
+ break
+ page.wait_for_selector('div[role="option"]', timeout=15_000)
+ page.wait_for_timeout(1000)
+
+ # 3) První zpráva v inboxu
+ print(" 3/4 Vybírám první zprávu...")
+ first_msg = page.locator('div[role="option"]').first
+ first_msg.click()
+ page.wait_for_timeout(1000)
+
+ # 4) PRAVÝ KLIK na řádek zprávy → kontextové menu patří CELÉ zprávě
+ # (ne příloze). Na "Download" najet hoverem (otevře submenu), pak
+ # kliknout na "Download as EML".
+ print(" 4/4 Pravý klik → Download → Download as EML...")
+ first_msg.click(button="right")
+ page.wait_for_timeout(700)
+
+ download_parent = None
+ for name in ("Download", "Stáhnout"):
+ loc = page.get_by_role("menuitem", name=name).first
+ if loc.count() and loc.is_visible():
+ download_parent = loc
+ break
+ if download_parent is None:
+ items = page.get_by_role("menuitem").all()
+ print(" ! Download položka v menu nenalezena. Obsah menu:")
+ for it in items:
+ try:
+ txt = it.inner_text(timeout=500).strip().replace("\n", " | ")
+ print(f" - {txt[:100]}")
+ except Exception:
+ pass
+ page.screenshot(path=str(OUT_DIR / "debug_menu.png"))
+ print(f" screenshot: {OUT_DIR / 'debug_menu.png'}")
+ input(" Enter pro zavření... ")
+ context.close()
+ return
+
+ download_parent.hover()
+ page.wait_for_timeout(600)
+
+ eml_item = None
+ for name in ("Download as EML", "Stáhnout jako EML", "Stáhnout jako .eml"):
+ loc = page.get_by_role("menuitem", name=name).first
+ if loc.count() and loc.is_visible():
+ eml_item = loc
+ break
+
+ try:
+ if eml_item is not None:
+ with page.expect_download(timeout=15_000) as download_info:
+ eml_item.click()
+ else:
+ # některé buildy OWA stahují EML přímo bez submenu
+ with page.expect_download(timeout=15_000) as download_info:
+ download_parent.click()
+ download = download_info.value
+ except Exception as e:
+ page.screenshot(path=str(OUT_DIR / "debug_menu.png"))
+ print(f" ! Stažení selhalo: {e}")
+ print(f" screenshot: {OUT_DIR / 'debug_menu.png'}")
+ input(" Enter pro zavření... ")
+ context.close()
+ return
+
+ target = OUT_DIR / (download.suggested_filename or "first_inbox.eml")
+ download.save_as(str(target))
+ print(f" Hotovo → {target}")
+
+ if not target.name.lower().endswith(".eml"):
+ print(f" ! POZOR: {target.name} nevypadá jako EML — možná stažena příloha!")
+
+ input(" Stiskni Enter pro zavření okna... ")
+ context.close()
+
+
+if __name__ == "__main__":
+ main()
diff --git a/Outlook/forward_last_to_klucho_v1.0.md b/Outlook/forward_last_to_klucho_v1.0.md
new file mode 100644
index 0000000..379b344
--- /dev/null
+++ b/Outlook/forward_last_to_klucho_v1.0.md
@@ -0,0 +1,30 @@
+# forward_last_to_klucho_v1.0
+
+**Verze:** 1.0
+**Datum:** 2026-06-03
+
+## Cíl
+Pokusný skript: přepošle poslední odeslaný e-mail na `klucho@gastroenterolog.com`
+na adresu `vladimir.buzalka@buzalka.cz` s předmětem `Ahoj` a slovem `Ahoj`
+na prvním řádku těla.
+
+## Kroky
+1. Otevře OWA (persistent profil z `outlook_login_v1.0.py`).
+2. Přejde do Odeslané pošty.
+3. Vyhledá `to:klucho@gastroenterolog.com`.
+4. Otevře nejnovější výsledek.
+5. Klikne Forward / Přeposlat.
+6. Vyplní příjemce.
+7. Změní předmět na `Ahoj`.
+8. Vloží `Ahoj` na první řádek těla.
+9. Odešle (a počká na potvrzení Enterem před zavřením okna).
+
+## Poznámky
+- Selektory mají EN i CZ varianty (`Forward` / `Přeposlat`, `To` / `Komu`, …).
+- `headless=False` — schválně viditelné, aby šlo sledovat průběh.
+- POZOR: krok 9 reálně odešle e-mail. Pro suchý běh zakomentuj `send_btn.click()`.
+
+## Spuštění
+```
+python forward_last_to_klucho_v1.0.py
+```
diff --git a/Outlook/forward_last_to_klucho_v1.0.py b/Outlook/forward_last_to_klucho_v1.0.py
new file mode 100644
index 0000000..ebc45f8
--- /dev/null
+++ b/Outlook/forward_last_to_klucho_v1.0.py
@@ -0,0 +1,155 @@
+"""
+=======================================================================
+ Název: forward_last_to_klucho_v1.0.py
+ Verze: 1.0
+ Datum: 2026-06-03
+ Popis: Pokusný skript: v Outlook OWA najde poslední odeslaný e-mail
+ na adresu klucho@gastroenterolog.com, otevře Forward, vyplní
+ příjemce vladimir.buzalka@buzalka.cz, předmět "Ahoj", na
+ první řádek těla "Ahoj" a odešle.
+
+ Používá persistent profil z outlook_login_v1.0.py.
+ headless=False kvůli sledování průběhu.
+=======================================================================
+"""
+
+from pathlib import Path
+from playwright.sync_api import sync_playwright
+
+BASE_DIR = Path(__file__).resolve().parent
+PROFILE_DIR = BASE_DIR / "outlook_profile"
+START_URL = "https://outlook.cloud.microsoft/mail/"
+
+TARGET_RECIPIENT = "klucho@gastroenterolog.com"
+FORWARD_TO = "vladimir.buzalka@buzalka.cz"
+GREETING = "Ahoj"
+
+
+def main() -> None:
+ if not PROFILE_DIR.exists():
+ print(f" Profil nenalezen: {PROFILE_DIR}")
+ print(" Nejprve spusť outlook_login_v1.0.py.")
+ return
+
+ with sync_playwright() as p:
+ context = p.chromium.launch_persistent_context(
+ user_data_dir=str(PROFILE_DIR),
+ headless=False,
+ no_viewport=True,
+ args=[
+ "--disable-blink-features=AutomationControlled",
+ "--start-maximized",
+ ],
+ )
+ page = context.pages[0] if context.pages else context.new_page()
+
+ # 1) Otevřít Outlook
+ print(" 1/9 Otevírám Outlook...")
+ page.goto(START_URL)
+ page.wait_for_load_state("domcontentloaded")
+ # Search box má proměnlivý placeholder; zkusíme víc variant
+ search_selector = (
+ '[placeholder*="Search"], [aria-label*="Search"], '
+ '[placeholder*="Hledat"], [aria-label*="Hledat"]'
+ )
+ page.wait_for_selector(search_selector, timeout=30_000)
+
+ # 2) Přejít do Sent Items / Odeslaná pošta
+ print(" 2/9 Otevírám Odeslanou poštu...")
+ sent_candidates = [
+ 'div[role="treeitem"]:has-text("Sent Items")',
+ 'div[role="treeitem"]:has-text("Odeslaná pošta")',
+ 'text=Sent Items',
+ 'text=Odeslaná pošta',
+ ]
+ for sel in sent_candidates:
+ loc = page.locator(sel).first
+ if loc.count() and loc.is_visible():
+ loc.click()
+ break
+ page.wait_for_timeout(1500)
+
+ # 3) Vyhledat e-maily na příjemce
+ print(f" 3/9 Hledám e-maily na {TARGET_RECIPIENT}...")
+ search = page.locator(search_selector).first
+ search.click()
+ search.fill(f"to:{TARGET_RECIPIENT}")
+ search.press("Enter")
+ page.wait_for_timeout(2500)
+
+ # 4) Kliknout na první (nejnovější) výsledek
+ print(" 4/9 Otevírám nejnovější výsledek...")
+ first_msg = page.locator('div[role="option"]').first
+ first_msg.wait_for(state="visible", timeout=15_000)
+ first_msg.click()
+ page.wait_for_timeout(2000)
+
+ # 5) Forward
+ print(" 5/9 Klikám Forward...")
+ forward_candidates = [
+ 'button[aria-label="Forward"]',
+ 'button[aria-label="Přeposlat"]',
+ 'button:has-text("Forward")',
+ 'button:has-text("Přeposlat")',
+ ]
+ clicked = False
+ for sel in forward_candidates:
+ btn = page.locator(sel).first
+ if btn.count() and btn.is_visible():
+ btn.click()
+ clicked = True
+ break
+ if not clicked:
+ print(" ! Tlačítko Forward nenalezeno — končím.")
+ input(" Stiskni Enter pro zavření... ")
+ context.close()
+ return
+
+ # 6) Příjemce
+ print(f" 6/9 Vyplňuji příjemce {FORWARD_TO}...")
+ to_field = page.locator(
+ '[aria-label="To"], [aria-label="Komu"], '
+ '[placeholder*="To"], [placeholder*="Komu"]'
+ ).first
+ to_field.wait_for(state="visible", timeout=10_000)
+ to_field.click()
+ to_field.fill(FORWARD_TO)
+ page.keyboard.press("Tab")
+ page.wait_for_timeout(500)
+
+ # 7) Předmět
+ print(f" 7/9 Měním předmět na '{GREETING}'...")
+ subject = page.locator(
+ '[aria-label="Subject"], [aria-label="Předmět"]'
+ ).first
+ subject.click()
+ # vybrat vše a přepsat
+ page.keyboard.press("Control+A")
+ page.keyboard.type(GREETING)
+
+ # 8) Tělo — "Ahoj" na první řádek
+ print(f" 8/9 Vkládám '{GREETING}' na první řádek těla...")
+ body = page.locator(
+ '[aria-label="Message body"], [aria-label="Tělo zprávy"], '
+ 'div[role="textbox"][contenteditable="true"]'
+ ).first
+ body.click()
+ page.keyboard.press("Control+Home")
+ page.keyboard.type(GREETING)
+ page.keyboard.press("Enter")
+
+ # 9) Send — POZOR: skutečně odešle e-mail
+ print(" 9/9 Odesílám...")
+ send_btn = page.locator(
+ 'button[aria-label="Send"], button[aria-label="Odeslat"]'
+ ).first
+ send_btn.click()
+ page.wait_for_timeout(3000)
+
+ print(" Hotovo — e-mail odeslán.")
+ input(" Stiskni Enter pro zavření okna... ")
+ context.close()
+
+
+if __name__ == "__main__":
+ main()
diff --git a/Outlook/outlook_auth.json b/Outlook/outlook_auth.json
new file mode 100644
index 0000000..1077813
--- /dev/null
+++ b/Outlook/outlook_auth.json
@@ -0,0 +1 @@
+{"cookies": [{"name": "SESSION", "value": "NGQ2YjgzMTYtNjc1ZS00ODNmLWIzNTYtZjM1MmY2ZDgzNjNm", "domain": "authenticator.pingone.com", "path": "/pingid", "expires": -1, "httpOnly": true, "secure": true, "sameSite": "Lax"}, {"name": "ClientId", "value": "9A0726BE2AD149CAA489469B15151419", "domain": "outlook.cloud.microsoft", "path": "/", "expires": 1812026986.445296, "httpOnly": false, "secure": true, "sameSite": "None"}, {"name": "msal.cache.encryption", "value": "%7B%22id%22%3A%22019e8d88-66f8-7478-89a2-c630af8c6a04%22%2C%22key%22%3A%22cJ9fDrSNp_MZ1qIaG8UkTebLyau1Ml4xqrDN3mP3P2E%22%7D", "domain": "outlook.cloud.microsoft", "path": "/", "expires": -1, "httpOnly": false, "secure": true, "sameSite": "None"}, {"name": "esctx-5M0px2lkx04", "value": "AQABCQEAAAAdDD7nC9b5Q7JPd_okEQRFRXZvU3RzQXJ0aWZhY3RzDQAAAAAAygXj1j93-km8wkPfdtLcogIVnt0LcD9d7-tCxghxQxEDnW9dKWlntVryEzf8CGBRLKoUfvAoK2crxI5WA069fP5WVIRwA5DUV0aHWzMPg7VqjqA1ErTKxJGbUC_-JV9PkWSRD22_VVegm_kzeQoBuCAA", "domain": ".login.microsoftonline.com", "path": "/", "expires": -1, "httpOnly": true, "secure": true, "sameSite": "None"}, {"name": "x-ms-gateway-slice", "value": "estsfd", "domain": "login.microsoftonline.com", "path": "/", "expires": -1, "httpOnly": true, "secure": true, "sameSite": "None"}, {"name": "stsservicecookie", "value": "estsfd", "domain": "login.microsoftonline.com", "path": "/", "expires": -1, "httpOnly": true, "secure": true, "sameSite": "None"}, {"name": "AADSSO", "value": "NA|NoExtension", "domain": ".login.microsoftonline.com", "path": "/", "expires": -1, "httpOnly": false, "secure": true, "sameSite": "None"}, {"name": "esctx-8LGGQ9NAOQ4", "value": "AQABCQEAAAAdDD7nC9b5Q7JPd_okEQRFRXZvU3RzQXJ0aWZhY3RzDQAAAAAAEr0nNl3xNwj5Odd_0GDH38gVrWKGRdQ5SK8-e8qD97R0AnC9KlaA5knhBpuDYMUILlOvCZCyr9gVhexaMyLR2wmnSSIR0vvwCxtFW4DKxqqf4ntwwj8gvTjjffBxhzXXw50AuQ9d5w8DBG904ry2ayAA", "domain": ".login.microsoftonline.com", "path": "/", "expires": -1, "httpOnly": true, "secure": true, "sameSite": "None"}, {"name": "brcap", "value": "0", "domain": ".login.microsoftonline.com", "path": "/", "expires": 1814186988, "httpOnly": false, "secure": true, "sameSite": "None"}, {"name": "MC1", "value": "GUID=22d1a2de8b194a729ad4ec4b3cf60222&HASH=22d1&LV=202606&V=4&LU=1780490988450", "domain": ".microsoft.com", "path": "/", "expires": 1812026989.517208, "httpOnly": false, "secure": true, "sameSite": "None"}, {"name": "MS0", "value": "a6cc43a8e02b468fb846786933348d1e", "domain": ".microsoft.com", "path": "/", "expires": 1780492789.517401, "httpOnly": false, "secure": true, "sameSite": "None"}, {"name": "idDataWebUuid", "value": "60b5d4c7-a85b-41dd-947d-f51479e19539", "domain": "fedlogin.jnj.com", "path": "/", "expires": 1780577409, "httpOnly": false, "secure": true, "sameSite": "None"}, {"name": "thx_guid", "value": "4803d3cc7a8b774bd4141150aa01ee3e", "domain": "content.maxconnector.com", "path": "/", "expires": 1815051010.054041, "httpOnly": true, "secure": true, "sameSite": "None"}, {"name": "tmx_guid", "value": "AAznSW7S413YmPvmeWwLh-5UMUwufM5ZVV6t0WWTTdQ58PMgVqEQYWl3HgRZ0EOzNN0SmrSajaePp8dC-LYzzfz0uuVMQw", "domain": "content.maxconnector.com", "path": "/", "expires": 1815051010.054316, "httpOnly": true, "secure": true, "sameSite": "None"}, {"name": "_ga", "value": "GA1.2.2139922423.1780491010", "domain": ".jnj.com", "path": "/", "expires": 1815051010.130087, "httpOnly": false, "secure": false, "sameSite": "Lax"}, {"name": "_gid", "value": "GA1.2.1517886398.1780491010", "domain": ".jnj.com", "path": "/", "expires": 1780577410, "httpOnly": false, "secure": false, "sameSite": "Lax"}, {"name": "_ga_QXZHWW0763", "value": "GS2.2.s1780491010$o1$g0$t1780491010$j60$l0$h0", "domain": ".jnj.com", "path": "/", "expires": 1815051010.296368, "httpOnly": false, "secure": false, "sameSite": "Lax"}, {"name": "thx_global_guid", "value": "e4356506fcfa4baf8ffa5b4d2d95ffa2", "domain": "h.online-metrix.net", "path": "/", "expires": 1815051010.504613, "httpOnly": true, "secure": true, "sameSite": "None"}, {"name": "PF", "value": "MtL5hRjnR4558nV0kTni0vStLKKOaMqC0IW4CIr4xpIy", "domain": "fedlogin.jnj.com", "path": "/", "expires": -1, "httpOnly": true, "secure": true, "sameSite": "None"}, {"name": ".csrf", "value": "e8509656-651f-41d0-ab2b-b0fd90d32362", "domain": "authenticator.pingone.com", "path": "/", "expires": -1, "httpOnly": true, "secure": true, "sameSite": "Lax"}, {"name": ".pid", "value": "eyJ0dGwiOiIyMDI3LTA2LTAzVDEyOjUwOjQ3LjUyMSIsInppcCI6IkRFRiIsImFsZyI6IkEyNTZLVyIsImVuYyI6IkExMjhDQkMtSFMyNTYifQ.1x1dl9nmb6YMEhnhNwGeZD1KAwjPov-H9Y4QAC_Sp8WSJW_nBYevzg.cjSqRp_IoUFoRGGvdjgXDA.rE1FRJQYmLyquQTsFY6DhoRn2XVVrCELD0CZQLxbeYLzaL6ypRp68IwjZYc3lAafgxV78cYU8qdGtvEosY00Mw4GDp83m7zOK2rPUoSfOtnZwc38oMSgua9M_5HMSTrn9Q6TeSVnLCAx6y0gkeGx4PV5_V62aESXUahdhlCFvrvrO2Dis5BspYl8THqlXBICfTPmYQcjsVibmr9fOMYSyMb8Q-H9ACEf5n314lzys2WKnjFLPdGXVfdMyJbxHrvcz89u8py7-5WauecSiq8cd_Gj0jMyIex_kIZyay8xM2B5_NITIR8v2q5P61yYkoq4xEmrdvhxUqVrgj12f_GIVkS7upcI1vBvWAWjKEVw1vp0q48vQ4w9Tb9cxhjg4qbeRDT4JR4W6Uk3FJf6yro_-EeM8FTsDw-yQm9Ual9RfUSE31WW7vKFIiIONjYVPIaozih0_hb-pdi--G3daL3HSiW8YX3vGvJzoM-PE27NhVA4ALQOQciFOBOgcNZoCzLMQiBbXmHzMoY7x0-Pm3V2GgsOT2P_otyH0RNeCW9BygfKEkNOIeZ3ROcYU3AtKkrl4rImMDmIA6sKNa60osaf3FwowjT4_uXGSPjDl0rZH00HQUm92Lub-i9SjbWFxOs2_4I1XbgiDMoEXYgeiASvCwUezhg2OLPKOHa6TdSncOjkt6gUGaTavu9kqCbn-Ra4a2GyNJQ5_7XLPo06K1p4sg.2JJMremJWoihMWE0FYkqmA", "domain": "authenticator.pingone.com", "path": "/", "expires": 1812048000.799314, "httpOnly": true, "secure": true, "sameSite": "Lax"}, {"name": ".lst", "value": "eyJ0dGwiOiIyMDI2LTA2LTA0VDEyOjUwOjQ4LjY5NyIsInppcCI6IkRFRiIsImFsZyI6IkEyNTZLVyIsImVuYyI6IkExMjhDQkMtSFMyNTYifQ.9WMCLzZUeLOAbGQrPu9DXuatZJyBz5D0uszIAR0OGEgkC5962MC5NA.GYeBCPt7PDVKYPoNjPt66g.7mH10XTiqSgFoknksqxJK7OjVuTaYzKFQB3iHfCibWwId4evSUpyniF2CRmB-bfbIxLom4_g87R7PJh5bsFsEEoRsMCNs8StDFvIx3v3n5zD85VsV6Pyvj_FumZb0cRnP12HpdZRWLCtSdXn--EPFQQsM9xtXc4DeUuAUD0Admw.7yMU3wmwyQcHvofcgamaVg", "domain": "authenticator.pingone.com", "path": "/", "expires": 1780491348.799492, "httpOnly": true, "secure": true, "sameSite": "Lax"}, {"name": "PingIDRequestedUserNameCookie", "value": "eyJhbGciOiJkaXIiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0..N0kGmJarEQnGZDrVAwn4Rw.r-J2gWiq6ecoT_Xm2_Km55CJt0v35P_0ZohuK7MOYCk.lM7Tq8t5iBWtTUZSpp2r-Q", "domain": "fedlogin.jnj.com", "path": "/", "expires": -1, "httpOnly": true, "secure": true, "sameSite": "None"}, {"name": "PingIDUserCookie", "value": "eyJhbGciOiJkaXIiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0..ZnjYZhZXBPGas36nOVRXPg.Dk9LaL4oZ-kMuc5cT8xb84_CEYFQeR_1gyne3Xwa13Y.aBJiqwG2ChDoF8TMOF83cA", "domain": "fedlogin.jnj.com", "path": "/", "expires": -1, "httpOnly": true, "secure": true, "sameSite": "None"}, {"name": "ESTSAUTHLIGHT", "value": "+005c0a9a-5ed8-5616-c681-010f8680d99f", "domain": "login.microsoftonline.com", "path": "/", "expires": -1, "httpOnly": false, "secure": true, "sameSite": "None"}, {"name": "esctx", "value": "PAQABBwEAAAAdDD7nC9b5Q7JPd_okEQRFRXZvU3RzQXJ0aWZhY3RzDQAAAAAABWcEfEgBSHF8fRWY1KPqkVsEXNuHAG0TWABIh5ganQdbXQObv-bS6_K0wd2JpTBuZQSE4i-YHGCaA6tL6LYeVsOu-Hy-Xk3NCL3o5wGVLDwVDdZC5liJQA0AFRw7ae59JcHiXM66q8SdsSrogfxY26JYWIu-myYVsVZQ2xHb32YgAA", "domain": ".login.microsoftonline.com", "path": "/", "expires": -1, "httpOnly": true, "secure": true, "sameSite": "None"}, {"name": "esctx-9pFszDMf8zw", "value": "AQABCQEAAAAdDD7nC9b5Q7JPd_okEQRFRXZvU3RzQXJ0aWZhY3RzDQAAAAAAnzW71PIjwp4A4MDh39gkOFs5ltekn5R2PmWAEQS7cQCGNlz0Yn_7vaFkYRE_lD48LCCyTn90SYXHpuZdU_Cu-heguQyu4PuQ_t12SPFbWvkGN9RIApg50B-F5thUF6HFLg7Kl22itNYNRnQ9TXlqiSAA", "domain": ".login.microsoftonline.com", "path": "/", "expires": -1, "httpOnly": true, "secure": true, "sameSite": "None"}, {"name": "uaid", "value": "cdb48e14de9b4bc3ace00b0d7f850b4b", "domain": ".login.live.com", "path": "/", "expires": -1, "httpOnly": true, "secure": true, "sameSite": "None"}, {"name": "MSPRequ", "value": "id=N<=1780491051&co=0", "domain": ".login.live.com", "path": "/", "expires": -1, "httpOnly": true, "secure": true, "sameSite": "None"}, {"name": "ESTSAUTHPERSISTENT", "value": "1.AQQAM0vJOjWRIUiVAur9plkqNSC_mZE_oQdBhdwCEUeH70gAAAAEAA.BQABFwQAAAADAOz_BQD0_0V2b1N0c0FydGlmYWN0cxAAAAAAANVg6YFw1LGz5203D38-TmZ8__UTrNFXrAnmcc5fjVKFHSvb5hqdFZHRXjNIILkGEuvGLiQ93otU_AfxrDcB7hJVUC4Q5h14cV1OhCclQ2m_z-dIRk3czw_rYXE950iBax_rUhWd7G_1taEXtlEWWglhuTti1DdA0T3POdlGUGQHMmlJnIVQwcML7Poty_OaGQ_YMhvJYhk03kGo_zmJHzG7sTyPUoO86Nu-yR1wf8No2W_kKIGcO9efPmytGRe4AaAC3UHhEv2CHF2hjFtxy01vKhb0c8-a633bTIfY7uQL7CSTjwjpGqSmSQIZsCaWIlChhTbcOBvAa_4_DukB1BTy-CtNg6Kdr4s0d7DPElhLkZKwjRwZelG8VN6fMTXCLE9bZhDq-UOJAg_7qR_lP2EhL98QcF6asvWw9wHMKdFz6yDrNmFC6AYqR8zbs8F-Jo6oWYWPkk3rl-uMQsV8Gj92lYb8iX0qI6kiXFM0h2br6dcBQZiKDq1OmnqULiYhtAOT8A3wI7CnH-Bqg6ax89Ws9fRrn8KTDLsx7f_qM0_H2-Pszr2qsDn-2jgYwrkzYLrb1HEbS2oZAMwq3fDzkPQmBAWbbEBYmrEg9I3MnjFEIR9_WbaiDqxFgGKb09CXms2MCpxc_hfctdO6aAnxz37bhAfQa0qcYogBdTLyIDImzdn2x7mSWO184I0-vymbBYiAul61eWzUO2ZQi8QMIo_Mw-tJfIo387qo9lPvZdsUzNiJeUPMtVLF6Cg3sZQpjqVcTlMo4fxaknD0S2lTYI3z8bTuIjoTs6PkTBtokImX-KlfrhWVNoJzUQO9uYtfbOTFkOiaiJvqRf1JfK051tioNDZQj1Nw-Bn6QumGUwn7TyiiAeo2xFQEB0AzQ3MnwJRuQAmoEcLNnf9NpFOeXwLCKe7jKovuFDz1VzcLbdWscgKNm0C4NURVcHIeG3iAWw3RTi0lnR5yBPErFRyWFl-494eLZK3kv8aY1R3uUBh7qz9DRA6HiwUrgbQI6Qa6eoGyl5yFGdbdTYaKD60PSIoUdGSqw-1eNFxbn-caxLggRiVVQGz2YHQkCJ_A-3MeMGw29QbpjlKtZqn22-vlb1ZYIYxwwr5olwRcYV1hiVuUgdNDAzkd9mgQIGNTHKXXbNeiEuLPblfZ7jqEVIvyuMxiMKmV9kxDD1oXxFWQmoayjb9XCE67-XaUmhpYwCgs4aZ7l3SrIs1EGd-5J6wQTmGIiTjn7yo1kSal0lQM5fHZkHM4yYRcLWIIfjYiJvkGfDYyYO-YfZ4kluhcQ0HFwHhH_Q4jVwuQFQBVE26kcqk76piNvTqaN8d4Uur45A89eeUzegXUL9l_NH-rR3rzW5hIhwU", "domain": ".login.microsoftonline.com", "path": "/", "expires": 1788267054.067273, "httpOnly": true, "secure": true, "sameSite": "None"}, {"name": "ESTSAUTH", "value": "1.AQQAM0vJOjWRIUiVAur9plkqNSC_mZE_oQdBhdwCEUeH70gAAAAEAA.", "domain": ".login.microsoftonline.com", "path": "/", "expires": -1, "httpOnly": true, "secure": true, "sameSite": "None"}, {"name": "buid", "value": "1.AQQAM0vJOjWRIUiVAur9plkqNSC_mZE_oQdBhdwCEUeH70gAAAAEAA.AQABGgEAAAAdDD7nC9b5Q7JPd_okEQRFRXZvU3RzQXJ0aWZhY3RzAwAAAAAAlYTxEnyeka4H0aWeHuGCQsZY2wGsD1xKdUVGIMEdTqbLM-pCqh4J35ztOMsOQaqEJffITJBz6NVjPoinOnYcV92-QmM1xnu9OlZXRPkm0F3s3jS9clCXN3bkeURYoaE3q74zz3VYQLbw9vA4wfN1K_sv0cW3Q30AQoL1f85cujUgAA", "domain": "login.microsoftonline.com", "path": "/", "expires": 1783083054.067778, "httpOnly": true, "secure": true, "sameSite": "None"}, {"name": "CCState", "value": "RWhJS0VQNXk2UEoybFM5TW9MUzNLckxEMTNRPQ==", "domain": ".login.microsoftonline.com", "path": "/", "expires": 1781355054.067874, "httpOnly": true, "secure": true, "sameSite": "None"}, {"name": "SignInStateCookie", "value": "CAgABFgIAAAAdDD7nC9b5Q7JPd_okEQRFAwDs_wUA9P9Fdm9TdHNBcnRpZmFjdHMGAAAAAAC0wS5VAn4u5cMMKGFUUyWl1nL5sG-Okzh7lU6TG14RSp0e0TTKSTeULU_c0t_IzzMXg8tZ8WCJlRxBwd_Ai7h8laTiZZ_iw-zjqyCAxKfOx9H-x9xXCsEKeXFLOeElN6J9_YmkY2EPvMiYwz9qwRer1c5eSlstZho6fDfpMkwwyub07HSwsneWa1OgUjIh5vtx4SVIIJZSAbjBzQ71vr8OCNhPjThNI1Bo_c5QiU05VgNQ7hB4Jhp2zPoVkgKX7G1_QzgC0R5Pmb99bnNSa2hzjCgCeO8O7R3O_bB_2KFfcg", "domain": ".login.microsoftonline.com", "path": "/", "expires": -1, "httpOnly": true, "secure": true, "sameSite": "None"}, {"name": "fpc", "value": "Ap7_Pv5XPN5JgXbUMCTogd7ZRKGgAgAAAOsZsuEOAAAAu0S9NAEAAAAqGrLhDgAAADPHkI0BAAAALBqy4Q4AAAA", "domain": "login.microsoftonline.com", "path": "/", "expires": 1783083054.067966, "httpOnly": true, "secure": true, "sameSite": "None"}, {"name": "DefaultAnchorMailbox", "value": "PUID:10037FFE891F5416@3ac94b33-9135-4821-9502-eafda6592a35", "domain": "outlook.cloud.microsoft", "path": "/", "expires": 1780577454, "httpOnly": false, "secure": true, "sameSite": "None"}, {"name": "OIDC", "value": "1", "domain": "outlook.cloud.microsoft", "path": "/", "expires": 1796302255.113649, "httpOnly": true, "secure": true, "sameSite": "None"}, {"name": "OWAAppIdType", "value": "Exchange", "domain": "outlook.cloud.microsoft", "path": "/", "expires": 1783083062.397491, "httpOnly": true, "secure": true, "sameSite": "None"}, {"name": "SuiteServiceProxyKey", "value": "n6vqjSuddExOJwgAw%2B35cVO%2FTI5wvsfV8Mf9esyROrQ%3D%26LAxjsEElihaqRa%2FHGj2cKg%3D%3D", "domain": "outlook.cloud.microsoft", "path": "/", "expires": 1780584655.113821, "httpOnly": false, "secure": true, "sameSite": "None"}, {"name": "UC", "value": "b3ec0fe8d33446689e82794c2b024696", "domain": "outlook.cloud.microsoft", "path": "/", "expires": -1, "httpOnly": true, "secure": true, "sameSite": "None"}, {"name": "MSFPC", "value": "GUID=22d1a2de8b194a729ad4ec4b3cf60222&HASH=22d1&LV=202606&V=4&LU=1780490988450", "domain": "outlook.cloud.microsoft", "path": "/", "expires": 1812027060.004271, "httpOnly": false, "secure": true, "sameSite": "None"}], "origins": [{"origin": "https://outlook.cloud.microsoft", "localStorage": [{"name": "olk-login_hint", "value": "O.CiQ4MTc2YTkyZC0yMmE1LTQxMjUtOTAyZS05YTY5Nzk0NGQzZDQSJDNhYzk0YjMzLTkxMzUtNDgyMS05NTAyLWVhZmRhNjU5MmEzNRoUdmJ1emFsa2FAaXRzLmpuai5jb20gmgE="}, {"name": "msal.3|8176a92d-22a5-4125-902e-9a697944d3d4.3ac94b33-9135-4821-9502-eafda6592a35|login.windows.net|accesstoken|9199bf20-a13f-4107-85dc-02114787ef48|3ac94b33-9135-4821-9502-eafda6592a35|https://augloop.office.com/v2/augloop.all https://augloop.office.com/v2/.default|", "value": "{\"homeAccountId\":\"8176a92d-22a5-4125-902e-9a697944d3d4.3ac94b33-9135-4821-9502-eafda6592a35\",\"credentialType\":\"AccessToken\",\"secret\":\"eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwia2lkIjoiUVlQcUN2WWJsWXR1RTA4V0xuZWlzbVBadklCdnprSTA5QzJsNU03YnVkVSIsInhtc19oZF91dGkiOiJTQkJ6eGJLNkFFMkE5M2VzWmIxVUFBIiwieG1zX2hkX2lhdCI6IjE3ODA0OTA3NjIifQ..LRGEmxKFG-dZECM7FkzDuw.We5oY80-Sa7RHp-F1do6OapwevkV4tLkJXW-lX1IiaJsu7YLcpfD2gDDXFII4JHYAuCABzNniGAXi2RF0DM8cC1G4U4IxExpvSt6nKwXFqUEaniLPcBNvYCippWPtDi2snNOJylZFXKGjqyu0ZYcxdPBic0pZjOUKuY7HVz71Mn_b4PcFut13U8lyTbM5Lhf0oVDZd0O0viycmUdZ__ldMx4LY6WRwSeKEZreeVhFj4lOUYDhTrVeBLKUB0WOBz8uKL2UKPU-nrXnpIo5D4enB6n3QfORv05W6w06kfTPMh0NH3ubUiOGCa44FdbWOCu9eQyMzaFVotU6HmUHtJDMwdK13LI1uHm-W1jz84Ow1O7uiFAYQEMUhYgFiSy_dtju3gaoEp-Iek_b11znA3eo2F2beqUtysK_EoHlRZx3lb4kHw_eHD7RTjEFY4wIoIfgA5Cw1qBj1HzfgiE9Pvd7C1sYk3DxWSfaUn9j9J3P8pGLT6hC-lcufej1oPOZAwSFZ-RRbZyY2eYGodpJkXChifkvmxvlndxdYvLdttOQKHMsui00wUZCi_Zv6EpdV9MpArixotJ0BKWimvmklFmqgZ2aQV1uvC00nGsjXC-gxe4AB2tgpPLbDwADTyAQuNJpHZHrGbXZFFd343gAHzXC_ScnYx1TVLf-iiZGb6iJB5QAtf-MGAUhh453Ch0dUirDzQbioZ0arrTwGFOVVpzxQxbHf56WpgbR8nHyD0AwR0apfPM91lXEjHFISMquDY0hma3z5saZQApIj5zgFVoLig4T0vqgNfWdDeW_zHZee_lJPgMJ-JnQ4R-zOXUQnkUQqPK11t9DLpDzNX2lNM0bmsXarQsuylJ5cJz6KlxUqqLvcohvwIzPZV03p_XJIpcl7tGC4mhAsAlHg2_MMARR7DmYC_GEyfBIttgZz1r1jXMPNUnR3qR3T94pmjhwJSsJhzCh1qPxCQsF5AeS9EisnKSud7kkEcw3ubkatzRrEzBrmSOVGL7rnfREhZ1TGdb56-9JJTS9j9hqYy6AehDi8c9nDyQTubmtPJCKuB2Ag4IHW56y_9hOFXnPcLhV1wNoE7rpmUFg2OJgcTsM4RbhdLwmMwRfeNRZ3J83bfJAtPNIfSOk_5dFbglrpmNaHDkIJp6YfasB0sFJRJorKtpKLo8KqfcQ7E7sigWuMKeUDnVaESnI8j81RXkeml1ZuKoKOLp45LGShrzESOdz6oM8oTrOw_B039bAnuABEo01zS_mdUyY6UOFeCLvXpwDny2d3v6jzuLK41ABV4xWrNMy7ArmbQbhN-jbAM2Aib3-AzhSpvNGo3MbRH-pU29i4c4pMzTLw1DuOVbRkglZWeS-tU7lLz7u8O8aWmlWPImY91R_z8Xu9bqQcPzXXMBX4LgGWt-8J_lBAHk26sjqbT-Ki4zKEsghX-dyeQhn49022rh4DbG1HqFzaSfObd4HVWYN7_BQHagiPS-I4icg2r8TPP_3TWTQ9RnYX96s1S0etKhLV5jkwB_Fyfd4eKQySOSLSq08GkhKuOfBVW4kHeZBRQNxA0soZ8swfxctJuiYwLFw3HB54phA4_APlNIaA7ht_qTk7_2KX5sLlyUCy8Aw-faa1NuSPc1CO16F3SL1Y872CX1u2xX-8A6wWoIYQ9lQinDSFU5p_XysMJ7InRiHkj9BzevafnpwKTEYaq6yQY0UcVBJl7bcw-pFgBBx1BWiMwILHums6YffqE6q6m7j_a5kcNOirh-PAv3Sklb2GAfbXfOWOfa1zKkwmixBye3EdmbN7VbuJTEyaifnjcrSr7zn5NmlC2VxBCwkRaBUcF064aA3Ejq4ZgRc4wPOQWCLdg70DitT-BTMAwv9hy-D_1qQX9cYb0YFf9l9gnv0ydXK6YDupuV2_md1ql4ALDuRT9xa9Y_NvFh9E6lWgy0-CHvuNbcoU8eMzsYwg0EoQEQxF7pgNjxzvYhzIzd7hlzyJUPFUs9RTyH1swj4tsVQXliE62IIg0qgzs47KCoaskyXgnbcwJ1kHCn-csekDsAZHug7otW87vONLX8sQVlrro1JUVUO--P7G_ytj2UMopI2pBce7px0f8_cEu11EnORUUxyyWlJUXTgXmHv90UsFTo0NuD5luBgD8KNUG5mrMgDonj78cY6rgExVKQUcXjhHtgx1PqCYeI8Sqctt3dNHP8OemToCwghj-AgoXfQg1veqWgZPbxqroQr7j7bRreae1F4chTerSyR97gd5xOlzxTu48vnDfVQpXhoAFBSKCNkFTlRlDoofmHHMje9EiJ02JsibgJ2TjvmcJEov49mxsNHcUsoKCZMRXGOr-BbwzZYeH47MKZ0Ma-0-srFLUAFNgJTN5bnMpCYj8qCSBVXHJ6imuKQ2KN84AR5PdUTZrr2d2UULzGVWs3_eiCoUvaCLkmxRXW06g3swhUybBLCk0DQK2ivsgBqN2RZsEKsrHy-MXwD8Gf-rQZEuPa4oeJt5q9-I3AWaPNkBn_ioa2NJJ5S1ALd4anrKG2xehrPY9mofH8XzW_z6cX09q36d0qRp9xjzzv3qIjFtMHr9cTK0yj3dreAth8vOCAMri5URRQtdzp-WSXyyqzHjVYU0R5RGEbWcvmxLu3IOx8s67F7uUp8G1IMMWKDzi_-84eIl8sjtmtkjz31lt9rarEGNJcQFtuxA_sihUXk0Mc_Y1-CENlP-NITK0uBFnucDUcrksZTekEJtUqZHSeEGY4_dfqrVPF0VnAV8s9QdMBWkG8IgPhN5cAeqdKYchIgnRH7wB3mQqkzn3N1zSE9qdUldg8.7W2IfAQro5_gVHTLVcvoYyPtmVHv3WoxTKVG0TBZ1tM\",\"cachedAt\":\"1780491063\",\"expiresOn\":\"1780495902\",\"extendedExpiresOn\":\"1780500741\",\"environment\":\"login.windows.net\",\"clientId\":\"9199bf20-a13f-4107-85dc-02114787ef48\",\"realm\":\"3ac94b33-9135-4821-9502-eafda6592a35\",\"target\":\"https://augloop.office.com/v2/AugLoop.All https://augloop.office.com/v2/.default\",\"tokenType\":\"Bearer\",\"lastUpdatedAt\":\"1780491063155\"}"}, {"name": "olk-LogicalRing_cacheKey_globalAccount", "value": "WW"}, {"name": "msal.3|8176a92d-22a5-4125-902e-9a697944d3d4.3ac94b33-9135-4821-9502-eafda6592a35|login.windows.net|accesstoken|9199bf20-a13f-4107-85dc-02114787ef48|3ac94b33-9135-4821-9502-eafda6592a35|https://arc.msn.com/v4/user.read https://arc.msn.com/v4/.default|", "value": "{\"homeAccountId\":\"8176a92d-22a5-4125-902e-9a697944d3d4.3ac94b33-9135-4821-9502-eafda6592a35\",\"credentialType\":\"AccessToken\",\"secret\":\"eyJhbGciOiJSU0EtT0FFUCIsImVuYyI6IkExMjhDQkMtSFMyNTYiLCJ4NXQiOiI5cnhMVE1LckFvN1g4ZW5QbGFobFZpZ1NzSjAiLCJ4bXNfaGRfdXRpIjoiU195S0hLN3g3VVdLZTdqVWdXSklBQSIsInhtc19oZF9pYXQiOiIxNzgwNDkwNzYwIiwiemlwIjoiREVGIn0.wkrhlKkmJkfgzXzsTcZouBTplI5pjZNOq5gSEXoNHrI1jrviK3Jdv4XDs7lvDL0yeW_g14V1e7E9jqJiJSL3M1g_UbiJDgdgSAUPZndAhsqNrBsFiG49vvsqwdqoyY7dp62upWcxBmWchg2Gt25g9QgPBbFuzgrDL26OQ5eL4jk61Tep6cw4rsD3LNXX25E3nmIsvxJhDEHga5ILuHGOaQnfkFnoQ5G1ik8xD13CuWV46msfqIP_Bbl6qetvo8r_EO8hXKZ0J1cGXlGXRQUATZAA0j7A_kk0ErcMD7d0XWkGau4VH_aGuvaBRBWLYE1UdLyR--4N8ieRG1Lr7G1Mlg.GmnFrh42KxW5ReSBmDig1Q.VGMRsyUmG_2v7qgswKFlLwh0y8NZWRGQYk65xIFxvrVpzxbzUcNqP6ui6q5FC17eN6PBanK3qjs9w-pcTbWiorbnib8XV8CuuWfQAeGcLm9kpfV7USsDNq13WnnuY4ekzX2GxwnVG4aBtyR9wVKNACM9spgOrh1h606oLpyZYsI76FHHWhHn9NvU74a6gQUCvK6wf9NDEFJ0A0nxlGkJXB3lQy0piWZAbYKAXRR-z-jkRq9vlAptGD7H5MKlonBJJXzw65ByQ2yD8oZ-EzQMt6fjypoqWGcnivYTyBNkni6TFGxOD5bu5y8D06QPszxYMsoIDcoz8oflpr8ZL7oh8Go85m1MgwKfM40GBCMBB5LctyGz9cmUcURIwxP4Bx0SwsMYO4jLIqaPM8IAj2EhQAiJPQ5UgZEXrDAMjdl6Gc8hDhcNNYjN4VC9gwgpkPhM3oeTOLHjiOeSkFnW1jWbO6sRhTS9lbQAO87QWT0TMzPOkWBG42KMGsF4BtFy19HoOPe203U4TaUPfiWukGAmyh3XdBHtpiDEPHl-BSfaNeV3_G8ACohcZmP4gjSkznF9nm1RA8v0TXV5QWVAdiu2-li4m57TSzjZ_2B0_LYEAwcgLdlMdFS6LVtc6ovMlq5WNkfNkFaywklaRVUfjqYR_XcWjUz9D3gix36UL9weLW-ku0T0xPstEYuR54xTWPppgfxZgNARQrrUCVAAgOue6AF0fzyB13U1j-Pz1EWOsjqtiLktAkehZOjyHmR0ZKQenIpjgqMpHkhtF-3yUvvqGwJhpgOhXhEJHn87E10861ZCq27N_XC08hotEt18EWFwZxbxC5C5HJWP3AACGp_yJbY272jaEfHRbRJt_I9PPpfzbveFvpncOC-kpKkKRNI0PQTeKvGwPQFOJFyDQCv40SZQXls9DNuR2Fem-uRalJZ9UdtF4ApRAEP9A2vkxCmwf9Sno_8NPqmiU5I-rfYvercfkyX2CiZdQ2sG2CqZ08JMe68zG4VVS4TX_8NboyXKlXdwReJUnTu4Qe0YcS6_n5XPamxa3Y0jzwv0LENVzcWgamGaz8-rdysS1xV8wER3Bl50hlZtPZEloz983vz7EjJrk9s0FOWZjiPSUEgGtYQzb0-1WjwszoulimC7qwP0ZOAmoSYCgIaG-EJdgMiVKe6fayS2gCtgTy49SOPudvCNaJPp_A26mfdaJ8jn3PCxxQxO4B79FXsdLC9pXK1bxEWpEWh0ZOGJ6pPpmbQNLCy_TUS77wgnLa2t8cYqnLlJjUiD-VoXt2BtX9Zwuf0NQgXQtysyAnM_oR4Kg6NuWMCDGb493yp69iaIlf7-z0WCW3O7qh1GuwlTOcc4nh2XKD8QiOgolvgy57pEhOPDV6rjY34futjClxKtlgLSB_J-kM-CM8pm3ob1GMY-V-Ngbgb4tinx4iHipUOO2161aTVqTwD_XSirlMnwTGH0MAjYSTBWblFcXGtprgkEPDASKRoNvpZAwyFIIO_pZtqN1oDGV22dkDSzawtm39ubOsCRuYhDl3ZawoIYeL5z-_0QHXAC7u5176MgzGW2BA5oVFb7hiVci-Fy_JJvNhNFOPWzJLsdgJIlAcFC7_CGKdsFFyfk5gO4fLwQyMaszmgAiXvs40-JwNs1SVzXINQaG48UjpvSychiQK7r8qqGqXaea7WE1FZAZz4SD9S6ebzWRxZqXUdUwRqY907nV8Kn938ZQ6uBVcm-Xb3WjFfDtVUsb9n2SPydYvZWHRkuADyQp9k3ctEijpmyWOdjb9Qgol5itp-PSR4pgg4h03cp-025eHUMx-d-D2u7g-qxAQE4wLi4f860kxGp5Allw5zjNb5JWv343m6m7bNo9ZWzEvstM99GAn3LQlEJwEdh0HOM1uDY_zABU-OhrKSDDh94b-14Igni7_SsL_KMzchhRN8TrNC-3M8i8GLSO1f0_mQoJg0IcVzatUslsnXc0xqyBNdiSB8ubhlwQtpt2JMogfQVHiwzO2Tz7KFDBCJ-GLkxM5AIACen0ySOy-Ff8qcb6i32rIoccwkQ5IVQGoTQXN5fXZj2ep5zFS07rzLHwYLjjUdNnSkMV7U3Pz1Ed1tBgN8lAK-YceV5KPkOI7RiMWSHOSJpdXsKRolGn7R9GfQD99aIUUCtunplNMG72RMyS0MOa6OnlBq8odqCDxy1YeCDUJpw1Svq8lxTLWDX6UHna7mlve2fRubjoGGOqUjtoSFWY7D06gYzT46oWsNxlSJMPCRb_jqfOWsb4HpYT8_sN03dQkFjX96rUb0t3LGv0wsC0jTaaNt3PJxnrLswfBFIAC5Bi7bcZtTD_VgZYUuAoRjUFw__byWQCFVS0Pmp7-qk4t3Nj7jIWMl9f_d77UtqMCx89fXMhiyO2gfd0YFAkFNsuckcRMk61LOzGLyIgWmeLOc4V47w1zXgLHerTKSk4kS6b2wH8ArudgKW12kiU-fVyMO5r4kvIOG7geOwFI5_dG3ezW4RSyDuuXAw87j-ATCCB5V1qXSoO70-syvVjb-_x5wicO9mmqrBpLzPElZyE-jPuD7BnKC6fQf60ZaBiHrVJF7YIrQPdbUpBbV5Fec7kq6H9Eu6kWY1T49B8nkZlHtiootb4KsY1JMcoOz-s48qq156wHaaxBGJiK95slvN0hLPKRvQ2le-DRHGK7aY2wvXiSAjpkUcB6JMYiR3jG0axXlvwyK3Mak9MuSjaotefwb-TYkTZFfwjWdg0awAavPIa-9bO6cq3X1Zi0Vt7G18XvvFYs1LwjfvXClR3evqRA1RoypG97STqwyjWQFtK7kLhP3O4DLxjXtPnjv4ex1nqhB85n3HoRnnfVg92_NznTV29Z8Kj3kbJR9qUEMrlzdbzuTpvkf3zrFt3BLr-vOXm5DBcB8W9se_RP3tykVSP6n2f04F5peaJo6NEUuEbjoaS-GDV4A495TapV88ARIzcM-P2QudLVywslXnorNjr7r_vFrhQFALVrCiMgyyGgWbKK4EgzvsZDFKZ3RXIEj9kSyaIX2fzPfEgGrZSCz88oVsnR2SsCBqOAmDxCdWEEERRdtnExEJSNrl81W5pwfOW8qkQCTpGgEohg9IiFt-mItjsa-e8nCgMqWy4PHAyOiFXqBYCoCyKIEfaN2MEijIS4TRVyEnTanilKQfJaGlY7TFx6rktJ2lmgCtj4xfZcAMdFACHnUe6qneWx9pP-Cz9gUjIOPQ0k3LgNQ_rlIzzLj3w6IByO8gHIQ3QKqLeH3OfgTDsfqcasSFElMK9Es4Cm5PvA6py2UI_HJQLrXj_6--y3LpbwXuF8OV6kU6fIYH8wMx0sryrdlxnUOgeltYhJBIhOpRo0pGwB7SkT_VyVekFNjPE7Sjw-Mys9MfBb8jK_K8exNMJAuvSdFct6ACPH0wegFZtfXhra1kxMP4QR6QetCNP7ZYaS4Pv0JMpOGe2Y7YLWmUtm6Y7gMCn-Nx0IXA2bsTEpSsRIK61hVyUJPnvekifybwdSwkwLnIyJei2IeqY940hnbLMc9F0QYnqxQFjlBzRyhV4MRzHI9BGNWFkYJo_n5mu7YqXtMqXyHhdLMfqRze4QQw1PKhYdaqOjYeraaa4M77tokgbbIIAbDSnxk-onXRPbkAYWp4GSD-hh_Se03BkdwN5MZrsMVsbiiODrwunim7PCA-MMJTs0ZYN3x57IuZ-20f47pLv_VLwLUfcoWMFl94OkAB9-BxgoPfMPtxCkiYqL4OX0j6Jhlzi7hPWBDtCHipuAx2U82LZL2RjhkWCKue0txgPXyAG2xk6rux13P9bKYgtYc1WnJIT-Cwv3o8r6NhUL9x_cX20cndR217GJ1kMTKKLa742vBTnEgsmYucW6lbM2d-X0FIPeoahk6d6acq9QP0kDHZ0GFbYN7XK_kDzZBzh-2kMnbaqcLqEapJyC4CVAdnc2qYIE7Z-M3ex1oZlsCPHulMXxBQubUKyt4ZYeM3cJqZtEMclSiVh9LLLg0dIfffTiOPdc9eIpiQmzySL9gNS7c20Z_q-rZdqpRn9cw1Qdwjpq-AOJMGmnuQSwnpT5VtHfKoMxanNG3OyTXOfQjfug6CcI25eu1HvqPP13V-cWIy2ATXEaTRxSuMvOtxTicm4pxMYNEepo64kGkR0bQCnlocQJRfRFn4_C9_cg7UF7bThgaseTdV_xa3By5yatWFMPapF_7eyD-37Nt35PnOhLZJKCrhp4e16rOMbKxrPKlJztlS8qLiKbgTb1EFjqT8cDhoz6RApSKewS_Gfjho2pmFoFc1j4de9ME431_KFU2i-ffDuTfuMyasJcalK6NWIZe9A-XKgmFp2cK9vrQa921FdoDYA_VyRgKQAr3IhxyiOYWD5jt7A7FrMiiK2Fx8s9Zx7_tVgst1CTHFTpc8xQCfeAr3yxsgsAWNk0OZIwZ4pOCdHwMuwByAyeTLfVUfFTWzK62mhF2-gMku1KSTOffFGUD2vePGN4cjt6MnVYgBC86Qv6FihEEmoLxAzGCtb6tZqdkELj1oQGcD4UIfB3YiB267Sb8rbFE6DcUvbxF-RieHaT-GCHQ3sgI-hvyMxCPb28KXOMFr4jhXgjKkUIxMOe2L6MPLu8qX-3Ro6CcRDsk5FjLR98rzUaaFsxRZfOof3-iznKioQoo3GFKyM8g4rERxvuX_BCxl5UW6to5UaIONilMu-seelV_rx20JNB5SJ5RTOEOVJbQ_3XUQOcqpnrUNAXvTxAUxNiJJvRJyFhFg6_o18M2nhBSjDeOCJN-fhguzzGCKhG_aY3gefBN-Cr4H1Dz1l_WXhyuXS7OSmpfXikU6QnTDbWqm8B1PQMpsI0YGa3zvwZZ1DgpQK7DtC4yTrohzym4RZcP75tkrLU3zjuHJk1mzwkhHBZEt5R7yhJ38Jyp3l_rvJaiObEO-3h1dzZm6US0cxuWlJLO8Kzbo_tcNiXKDLuTp3pT1EianN9gy2PEyBkDQ5B_h-L1y6OuBl9UegZ8tmJsIr7sx_J8BGe1D_18QUNBATjZvqUyItA6MLenSCTmlFkmSZ2y77KHdOhziaJ476aVNEA5l9F8KkK7mViHez7EKeV1mAcCj1HQQoqJcZeuZdhKjpPzopny4fci2J3zhWmZ__6RKmPRg6XGPmBgMWOMIaRsgD9NZihcntFD2cU8w3zmZA-odEWVKSLfzjndB8cJ6hG_Jb8Qwc57BeSNNjQ99eVbU2GblQtm_e-uY30RShPC0G863giDZ3JxthnmJopJ1-MEKe5SKlrDyLEA5tLsWZHDYNICmtdA2VAh2Y4bvGuGjkDpKWxElCLRo9k1O-3ST0901RN-HoLUrvrL9tiCxQvXvf8f0CP3HeM9NF1KBd0dKKsaJ4LJBQRuCBkYSNwotCXTlT863SihN1zP4fXClz_HruP76eQuzsfdHrxGHTx08zEeDrmHKaUc3kEBKsoXcGf-BlJ835MnlYZoFhkom4ECAmx_EvQWK6EQTzfZAYly2nIzQPtGLFviy-7GsAniuCb3asaH-nIUNn6amd73zb6h4T8_etkuSHJmdM8kCiHVMIE3bNc0ltx_KV8vH0-mU0LdbE1Tzm7MLqoWOtKxqs5Ll-LnqUvb5zAJ5dI0t0ugTMxFk3CIKl7fdYqrHVLek9tiyykfzfJAi19IrHx67E3xiq0o-MI5ngLBoLkjTT18quyxDsMRyBsHOHRu24rRuRXEp-2N-lqfBGMA1Kdtmebn1oQxV6lbq22a2U476alPzRe9SZLGWx5VWIeWSuKPOjQTLL3K23khxahYmJCG6bKuNmXarO9jgBnySKZx6ZQMEFjdnJK3AXGBAN4dyT3Zi4U774VMDHyFIa2ZBuGVbnCau6djhRwBj4-DJg8w5IOpMU62XTxSU4XfMujl3ovhtyYZyTxuek7uec0JVtIFGFmeM90owodAkooJG6dlriJ9tEeG-EvXYrymMHB8b2XXrLzKVhLTZ2qUKH1GuUo7HoHb0pFHLCYDv-rJ8tsuvNkNs6kA6gic7SafkXR9KsYr1MdHaQCphFYCjV-ALIKDodig5rOF1rU3vFu6uvYn3a6NDz0MOS8DEbZ8d5I9SKC3FAeRkJiQxsDCyY2gmOg0ZC_mhmvv6wkRU9b3nIa8-TuGGs93ou_miNQ9IoMsMhqeg4XrWj8ZPiJoLEEh4pw-DQW7njs7UyethFiH9hxg_VeYkdLYVF1iay7ZMMiUeEhh8WfF1nUnrE8iX97lH3Np6pp80-RqxOfeRFO-bPfYyRYrx2EZcolFLLDoPnClg2U80KbHts5kWXsSA6Hz7a9ah1H30dyRxjv4Q_q33XQP_3Z7bWQB3QXWHAwP_JIaDYtY-oxO1x7GTGQpWGKyItrmDO0iL-dTjdsLMY_SxXOKge9N9AGn8zZDAUKzOVKwc4KK6d4g2tQsbNZSjVbC7t75PSOlISs5k0w85P7TzxdR6id9hTcMiZvRmEqZicKmZiqzearorCuTeETamXtQWvUUBHXxWTUF3M1S20Cut4afXtIb9xOQRgjJmZDgXEXzzfC4TALcW6AhGfKeTZMexSl1_w0IU-WfSmU7AvRQdYGewfyAbvbWqf6LO1qfYpc11kWizswsCnNXCb_9QdX1DXRa8GJpFUX0ZwwUUUPBXn_tT9NzmIxd7VARKl0JtRdkql0MPu8xSqFTdhSrCNBQ8dUMWngYUBqb5gaXFEQSTG82lpdFHBSsSILPsPxooUbjNMhMC4GW2J1PzFvcyFdtgTSwx1tGRScFGmhk6fyJpYaHP_2vqLv-6W09XfCRSJGhBoz0Oo-lNKhYeuxjJd1qtfjX-oFeJ4bvDL7eYrTSr2XaJz6e-KfU5ok8GPSSCbC0CXXhjU147EW7CucSZiK6ybVmTTSKwXR7Aukybv7MEsRyjqxYL.8xWkbres1NAO5q1qW0AdyA\",\"cachedAt\":\"1780491061\",\"expiresOn\":\"1780495029\",\"extendedExpiresOn\":\"1780498997\",\"environment\":\"login.windows.net\",\"clientId\":\"9199bf20-a13f-4107-85dc-02114787ef48\",\"realm\":\"3ac94b33-9135-4821-9502-eafda6592a35\",\"target\":\"https://arc.msn.com/v4/User.Read https://arc.msn.com/v4/.default\",\"tokenType\":\"Bearer\",\"lastUpdatedAt\":\"1780491061241\"}"}, {"name": "olk-MailListColumnWidths", "value": "{\"senderColumnWidth\":278.36322869955154,\"subjectColumnWidth\":676.6367713004485,\"receivedColumnWidth\":129.328125,\"sortedContentColumnWidth\":0}"}, {"name": "olk-OtherMailboxConfigCache_DEFDEFDE-FDEF-DEFD-EFDE-FDEFDEFDEFDE-10037FFE891F5416@3ac94b33-9135-4821-9502-eafda6592a35", "value": "[]"}, {"name": "msal.3|8176a92d-22a5-4125-902e-9a697944d3d4.3ac94b33-9135-4821-9502-eafda6592a35|login.windows.net|accesstoken|9199bf20-a13f-4107-85dc-02114787ef48|3ac94b33-9135-4821-9502-eafda6592a35|https://loki.delve.office.com/group.readwrite https://loki.delve.office.com/llm.read https://loki.delve.office.com/user.read.all https://loki.delve.office.com/.default|", "value": "{\"homeAccountId\":\"8176a92d-22a5-4125-902e-9a697944d3d4.3ac94b33-9135-4821-9502-eafda6592a35\",\"credentialType\":\"AccessToken\",\"secret\":\"eyJ0eXAiOiJKV1QiLCJub25jZSI6ImxMNXV6Uk5QX2tnem0yUUVhMDZfZ0RjaEg5SS10NHNaSFpabGNia1NyaGMiLCJhbGciOiJSUzI1NiIsImtpZCI6IndoMDZzRWt6TEhKNXNOTmFVeVJZMl82TzhLMCJ9.eyJhdWQiOiIzOTQ4NjZmYy1lZWRiLTRmMDEtODUzNi0zZmY4NGIxNmJlMmEiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vM2FjOTRiMzMtOTEzNS00ODIxLTk1MDItZWFmZGE2NTkyYTM1L3YyLjAiLCJpYXQiOjE3ODA0OTA3NjMsIm5iZiI6MTc4MDQ5MDc2MywiZXhwIjoxNzgwNDk1OTQ1LCJhY2N0IjowLCJhaW8iOiJBWFFBaS84Y0FBQUEycUhNMzlEanBMZkNNY1J5ZHUvYkdhMldGY09XcUtnVUx0RlNmQ05rRXR0Nk8zdzVhZUhGWWNlWlI2eXQ2YnIxSGRFeHV6Rms0dmo5Zm5uVEJVcVNRMW45cUNNNEpDcGZuU1JoZlhuTWcvWlFxVkxQT2tVaGxhdE93b2Ywb1VZeUVBTVp1aTV5dDZ5RXhxZkgzRFR4T0E9PSIsImFwcF9kaXNwbGF5bmFtZSI6Ik9uZSBPdXRsb29rIFdlYiIsImF6cCI6IjkxOTliZjIwLWExM2YtNDEwNy04NWRjLTAyMTE0Nzg3ZWY0OCIsImF6cGFjciI6IjAiLCJjb250cm9scyI6WyJhcHBfcmVzIl0sImNvbnRyb2xzX2F1ZHMiOlsiMzk0ODY2ZmMtZWVkYi00ZjAxLTg1MzYtM2ZmODRiMTZiZTJhIiwiMDAwMDAwMDMtMDAwMC0wZmYxLWNlMDAtMDAwMDAwMDAwMDAwIl0sImN0cnkiOiJDWiIsImlkdHlwIjoidXNlciIsImlwYWRkciI6Ijc4LjgwLjM4LjUxIiwibmFtZSI6IkJ1emFsa2EsIFZsYWRpbWlyIFtKUkRDWiBOb24tSiZKXSIsIm9pZCI6IjgxNzZhOTJkLTIyYTUtNDEyNS05MDJlLTlhNjk3OTQ0ZDNkNCIsInByZWZlcnJlZF91c2VybmFtZSI6InZidXphbGthQGl0cy5qbmouY29tIiwicHVpZCI6IjEwMDM3RkZFODkxRjU0MTYiLCJyaCI6IjEuQVFRQU0wdkpPaldSSVVpVkF1cjlwbGtxTmZ4bVNEbmI3Z0ZQaFRZXy1Fc1d2aW9BQU53RUFBLiIsInNjcCI6Ikdyb3VwLlJlYWRXcml0ZSBMTE0uUmVhZCBVc2VyLlJlYWQuQWxsIiwic2VjYXVkIjp7ImF1ZCI6IjAwMDAwMDAzLTAwMDAtMDAwMC1jMDAwLTAwMDAwMDAwMDAwMCIsInNjcCI6Ikdyb3VwLlJlYWRXcml0ZS5BbGwgVXNlci5SZWFkIn0sInNpZCI6IjAwNWMwYTlhLTVlZDgtNTYxNi1jNjgxLTAxMGY4NjgwZDk5ZiIsInNpZ25pbl9zdGF0ZSI6WyJrbXNpIl0sInN1YiI6InhldFNMaTVtZjFBQnc1U0l4RC1wRDRVVW9UbEJPUU9yU0g1S3hDLWFNeUEiLCJ0ZW5hbnRfcmVnaW9uX3Njb3BlIjoiTkEiLCJ0aWQiOiIzYWM5NGIzMy05MTM1LTQ4MjEtOTUwMi1lYWZkYTY1OTJhMzUiLCJ1dGkiOiJKOWlGQUVoVHdrcXRUWkwyM1U0X0FBIiwidmVyIjoiMi4wIiwieG1zX2FjdF9mY3QiOiIzIDUiLCJ4bXNfY2MiOlsiQ1AxIl0sInhtc19maWx0ZXJfaW5kZXgiOlsiNCJdLCJ4bXNfZnRkIjoiY3BJdG1RRmNLZ3BycUM5dnR2MlhXTkhKbG1Tb2hNWnRtZktLem1GcW9OMEJkWE51YjNKMGFDMWtjMjF6IiwieG1zX2lkcmVsIjoiOCAxIiwieG1zX3BmdGV4cCI6MTc4MDU4MjM0NSwieG1zX3JkIjoiMC40MkxsWUJSaVpBRUEiLCJ4bXNfc3NtIjoiMSIsInhtc19zdWJfZmN0IjoiMTggMyJ9.qkK1nkKFMABM2cl6oCLO5FZk-hzdlHqz1Vhfrr3ZyND9n_TYFiou7GyrBJhvNg9N4Sg6bxlU0zGufL2_0zgxejZhvs8f3awtrH1ESxqmXdltg-zxVmCTbR2ByefSRuM30ctTYCcq6vVlIAPmfi8sc7_vlFI-JOWTK7dVBfXjNk2XkG2cvtmMa9x9KjcsMNkbdO3Qune9b0PzvIZsc_F4WjdnWR9GYd_fipiU5WFdKYrL-EkVWyrtL05MkPF4Jb8TiksrOFjdDuKU6NCshne3nJuxa-Ao-Xl1ASVmhmTjmqW0Gx19MNzA5L6FNVE9qX8DG41enQw_U7-Bc6oGtjQtlA\",\"cachedAt\":\"1780491064\",\"expiresOn\":\"1780495944\",\"extendedExpiresOn\":\"1780500825\",\"environment\":\"login.windows.net\",\"clientId\":\"9199bf20-a13f-4107-85dc-02114787ef48\",\"realm\":\"3ac94b33-9135-4821-9502-eafda6592a35\",\"target\":\"https://loki.delve.office.com/Group.ReadWrite https://loki.delve.office.com/LLM.Read https://loki.delve.office.com/User.Read.All https://loki.delve.office.com/.default\",\"tokenType\":\"Bearer\",\"lastUpdatedAt\":\"1780491063861\"}"}, {"name": "olk-ReportDialogStringsInformation-vbuzalka@its.jnj.com", "value": "{\"language\":\"en\",\"strings\":{\"preSubmitMessageForJunk\":\"\",\"preSubmitMessageTitleForJunk\":\"\",\"preSubmitMessageForPhishing\":\"\",\"preSubmitMessageTitleForPhishing\":\"\",\"preSubmitMessageForNotJunk\":\"\",\"preSubmitMessageTitleForNotJunk\":\"\",\"postSubmitMessageForJunk\":\"\",\"postSubmitMessageTitleForJunk\":\"\",\"postSubmitMessageForPhishing\":\"\",\"postSubmitMessageTitleForPhishing\":\"\",\"preSubmitMessageButtonTextForJunk\":\"\",\"preSubmitMessageButtonLinkForJunk\":\"\",\"preSubmitMessageButtonTextForPhishing\":\"\",\"preSubmitMessageButtonLinkForPhishing\":\"\",\"preSubmitMessageButtonTextForNotJunk\":\"\",\"preSubmitMessageButtonLinkForNotJunk\":\"\",\"postSubmitMessageButtonTextForJunk\":\"\",\"postSubmitMessageButtonLinkForJunk\":\"\",\"postSubmitMessageButtonTextForPhishing\":\"\",\"postSubmitMessageButtonLinkForPhishing\":\"\"}}"}, {"name": "olk-domain_hint", "value": "its.jnj.com"}, {"name": "msal.3|8176a92d-22a5-4125-902e-9a697944d3d4.3ac94b33-9135-4821-9502-eafda6592a35|login.windows.net|refreshtoken|9199bf20-a13f-4107-85dc-02114787ef48|||", "value": "{\"credentialType\":\"RefreshToken\",\"homeAccountId\":\"8176a92d-22a5-4125-902e-9a697944d3d4.3ac94b33-9135-4821-9502-eafda6592a35\",\"environment\":\"login.windows.net\",\"clientId\":\"9199bf20-a13f-4107-85dc-02114787ef48\",\"secret\":\"1.AQQAM0vJOjWRIUiVAur9plkqNSC_mZE_oQdBhdwCEUeH70gAANwEAA.BQABAwEAAAADAOz_BQD0_0V2b1N0c0FydGlmYWN0cwIAAAAAAAQf2-ZRTemDBEdegwpFAfsZ58T-sAHilNv6H_zl4hsnv_uSYcnmf28dx8U0E_p18wIteQqxoeM-Fbft0dXemE9mxp3zwFLFSV6IeWHniLPVf09D_JdOOh7qCI7W3SmXSbqPPe96iPUm96lZ_ZxzCcHuGi79a429T6_IzLOPSoJ3GKHKWzslwKho5WawzIb3ATu4mt65tvd8ArS57vdG8rgRr07zSNKycwraaFGpS0nR-aIPG5JCe8ofzb-oCgsDl0bG6_Ppf2AnQY720HfyNhs8rLoUdFjkaZinklRTCkavYEHILGa823W4QcEBHDdvP38EfM9z_vGJ5iMfbK3MLU8lUHle87PpdN5sz4TXsOLitK7KcoFV424GNEVot4H10swoiwYOI1uGvExGgjpK8_qjQ8h2VE1x2bi2BrQAS8kSYqgZBQrkIOV0qnmFDBcvRncfNCJXY6uUNV_9R9-oR-P_NPgvJIsEZAI7jByiIwHg47iD7jaHV75jAvWhr_cA-xZvPDxwPVKDVo9fh_xx4bUeATJfGZ2lUeMUa8utoIsE-JAIpK1Mve1Pidu_xYETtBSM554A3zzzuTcWD50GrbnLjf2gOweGwxDdCuYG3DpHj3dhrkaw3bacxdFQpVzYmW4KxyqCP3ek2SFLdWoaU5sl6bVvR2-iK3p4njZQLZxZmq8ymNwz9XC1JLahytOxFTqLhDymL3gLpDFZSFNZO_NiVEzK6VouK4Ifp94cJ-csfjBIvPYwN6pwP2BQDbqTApv9ihHba8QtnvHywJkljsVF4RoB2kqFY_IYLhHI_ojszY8CnHe6aa1ensZbVTA6EZU7PbO4i0J23qIQTtG1ludNMjjZVvXXHujt01vDNz20_SfIvsllgag3p9TB43TNHRkPx1bVBHtVUH4V_PAxBHL55nc8zCQmC5gX7Rjp4wBie6jzTO3EloGs0TuFM4WLXoJel07pOMAv1eH_lqACo7uAaqY5ykKJrBxoRWhTEtaTClmeW7pBPV4U1qghSxYq_Vu_U2Z55Z60U_qFWc5gB6p2_lRPKPqKUU1MNY5mr_hU84XEVHam6dybT7ulKNcWIg57a_7EL16iPRBkbAgNXO63EDcBcO3Zw2lZV9vlVCeKXyUPQIHVC-GjDWa34otAhL3p6UCsKDQmm-wE-2m0nWHIDKmT2moB4FEgOEOHiGQgdRd77Anxk6qmOqHWQb_3Suh_aXk2xNx1Ms_HYXMQABq6cU3T65bV6KbxAI8caBhRIYxsA1wwfp5zPDKm8tGNgH5iL-n3_dYaMO5JhERNBg9S3BspRKFX9GNOvmuDxFSZSsUXz4NhypKPgcr_xiaT4lVhOiQVlzgQPTLZh_8Jr6Tr2EzX-bPloAKdQfd4_M-ZO7AApBSOVCmkBsbFX0CZHBRZIWQn7HuB9syscPyrXvLRp6yi7s1zR-HXdLU3V6UgKBodacfyNycHnOf6eULzTsLLMqlLLP214Tg1u7P6gGYxqghhJNu_IT-qNl69iO62Rxe1jVsxWQMBiqqweIg8\",\"lastUpdatedAt\":\"1780491063861\",\"expiresOn\":\"1780577453\"}"}, {"name": "cachedRibbonScalingState", "value": "{\"Landscape\":{\"windowWidth\":1400,\"version\":1,\"mlrScalingState\":{\"1-panel\":3}}}"}, {"name": "msal.3|8176a92d-22a5-4125-902e-9a697944d3d4.3ac94b33-9135-4821-9502-eafda6592a35|login.windows.net|idtoken|9199bf20-a13f-4107-85dc-02114787ef48|3ac94b33-9135-4821-9502-eafda6592a35||", "value": "{\"credentialType\":\"IdToken\",\"homeAccountId\":\"8176a92d-22a5-4125-902e-9a697944d3d4.3ac94b33-9135-4821-9502-eafda6592a35\",\"environment\":\"login.windows.net\",\"clientId\":\"9199bf20-a13f-4107-85dc-02114787ef48\",\"secret\":\"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IndoMDZzRWt6TEhKNXNOTmFVeVJZMl82TzhLMCJ9.eyJhdWQiOiI5MTk5YmYyMC1hMTNmLTQxMDctODVkYy0wMjExNDc4N2VmNDgiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vM2FjOTRiMzMtOTEzNS00ODIxLTk1MDItZWFmZGE2NTkyYTM1L3YyLjAiLCJpYXQiOjE3ODA0OTA3NjMsIm5iZiI6MTc4MDQ5MDc2MywiZXhwIjoxNzgwNDk0NjYzLCJhY2N0IjowLCJhaW8iOiJBWVFBZS84Y0FBQUFYaHExam1yQS9FNHJCWUN2Mi8zbS9JWHJYTFM0WFlNd0N0TTJlN2gwOFNZRmFZNE95UENBRGMwMWxGWmhIYVc5Rm9PaXJ0SjFESFRRVEhkMnhFbmRuM0xndDJWMkNldWRmdUgxMi9nN2sxT3NzZjI1c0Z2QTNMYWRadzlNZ0ZzUVJwU3YyT1R0QzBjUllLU2gySTBHRGFxTFMyZ0MrS0hWVHBmNVhnTFNBQWM9IiwiY29udHJvbHMiOlsiYXBwX3JlcyJdLCJjb250cm9sc19hdWRzIjpbIjM5NDg2NmZjLWVlZGItNGYwMS04NTM2LTNmZjg0YjE2YmUyYSIsIjAwMDAwMDAzLTAwMDAtMGZmMS1jZTAwLTAwMDAwMDAwMDAwMCJdLCJpZHR5cCI6InVzZXIiLCJsb2dpbl9oaW50IjoiTy5DaVE0TVRjMllUa3laQzB5TW1FMUxUUXhNalV0T1RBeVpTMDVZVFk1TnprME5HUXpaRFFTSkROaFl6azBZak16TFRreE16VXRORGd5TVMwNU5UQXlMV1ZoWm1SaE5qVTVNbUV6TlJvVWRtSjFlbUZzYTJGQWFYUnpMbXB1YWk1amIyMGdtZ0U9IiwibmFtZSI6IkJ1emFsa2EsIFZsYWRpbWlyIFtKUkRDWiBOb24tSiZKXSIsIm5vbmNlIjoiMDE5ZThkODgtNjk1OC03MjVhLTk3NDktZDI1MGZmMGUzYWNhIiwib2lkIjoiODE3NmE5MmQtMjJhNS00MTI1LTkwMmUtOWE2OTc5NDRkM2Q0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoidmJ1emFsa2FAaXRzLmpuai5jb20iLCJwdWlkIjoiMTAwMzdGRkU4OTFGNTQxNiIsInJoIjoiMS5BUVFBTTB2Sk9qV1JJVWlWQXVyOXBsa3FOU0NfbVpFX29RZEJoZHdDRVVlSDcwZ0FBTndFQUEuIiwic2lkIjoiMDA1YzBhOWEtNWVkOC01NjE2LWM2ODEtMDEwZjg2ODBkOTlmIiwic2lnbmluX3N0YXRlIjpbImttc2kiXSwic3ViIjoiaWRFMFhrT2RlVjRSeGRhOUMtWmx1XzJ0WUxiVy1LSk5YOFdDdTZlakhqZyIsInRpZCI6IjNhYzk0YjMzLTkxMzUtNDgyMS05NTAyLWVhZmRhNjU5MmEzNSIsInVwbiI6InZidXphbGthQGl0cy5qbmouY29tIiwidXRpIjoiSjlpRkFFaFR3a3F0VFpMMjNVNF9BQSIsInZlciI6IjIuMCIsInhtc19pZHJlbCI6IjE2IDEifQ.EQHQcwAaf8enwuJjxBUAmJS3PGiWq9H1fNK_FRVtlJwsHOv-Z4ZRTv1uRysNjECpMbFV_twi1j0FTSvu-gqlktMQI0_ajfall9sIZR9LW7Gpu6gd8WXTR6sDC6N8-jwwRJ2xvDqP1CKrRAOp2tyeqrFhkxsi6a5MQRQF2jgoEwPQZi1jjC9boSvw-DcciLGSeTFWV2dVFzI0r4sALRYCeMFFXWfIhnPp3iAW9n_lHvxBZp5ErHWZiHRDXzT19M8usanjBySvvvM78v6x4Mn5HUaaaovyjWvJgOxx8yAHGpZQBNpvANWYp2KiKlgO-2U-85wuiZEvxzQFLIYW1ijZoA\",\"realm\":\"3ac94b33-9135-4821-9502-eafda6592a35\",\"lastUpdatedAt\":\"1780491063860\"}"}, {"name": "msal.3.token.keys.9199bf20-a13f-4107-85dc-02114787ef48", "value": "{\"idToken\":[\"msal.3|8176a92d-22a5-4125-902e-9a697944d3d4.3ac94b33-9135-4821-9502-eafda6592a35|login.windows.net|idtoken|9199bf20-a13f-4107-85dc-02114787ef48|3ac94b33-9135-4821-9502-eafda6592a35||\"],\"accessToken\":[\"msal.3|8176a92d-22a5-4125-902e-9a697944d3d4.3ac94b33-9135-4821-9502-eafda6592a35|login.windows.net|accesstoken|9199bf20-a13f-4107-85dc-02114787ef48|3ac94b33-9135-4821-9502-eafda6592a35|https://outlook.office.com/analytics.readwrite https://outlook.office.com/calendars.readwrite https://outlook.office.com/calendars.readwrite.all https://outlook.office.com/calendars.readwrite.shared https://outlook.office.com/calendars-internal.readwrite https://outlook.office.com/channel.create https://outlook.office.com/channel.readbasic.all https://outlook.office.com/channelmember.read.all https://outlook.office.com/channelmember.readwrite.all https://outlook.office.com/channelmessage.read.all https://outlook.office.com/chat.read https://outlook.office.com/chat.readwrite.all https://outlook.office.com/collab-internal.readwrite https://outlook.office.com/connectedaccount-internal.readwrite https://outlook.office.com/connectors.readwrite.shared https://outlook.office.com/contacts.readwrite https://outlook.office.com/contacts.readwrite.shared https://outlook.office.com/directory.read.global https://outlook.office.com/directory.read.local https://outlook.office.com/dwengine-internal.read https://outlook.office.com/eas.accessasuser.all https://outlook.office.com/files.readwrite.all https://outlook.office.com/files.readwrite.shared https://outlook.office.com/focusedinbox-internal.readwrite https://outlook.office.com/group.readwrite.all https://outlook.office.com/group.readwrite.all.sdp https://outlook.office.com/locations-internal.readwrite https://outlook.office.com/mail.readwrite https://outlook.office.com/mail.readwrite.all https://outlook.office.com/mail.readwrite.shared https://outlook.office.com/mail.send https://outlook.office.com/mail.send.shared https://outlook.office.com/mailboxsettings.readwrite https://outlook.office.com/mailboxsettings.readwrite.all https://outlook.office.com/notes.read https://outlook.office.com/notes.readwrite https://outlook.office.com/notes-internal.readwrite https://outlook.office.com/notifications-internal.readwrite https://outlook.office.com/onlinemeetings.readwrite https://outlook.office.com/outlookcopilot-internal.readwrite https://outlook.office.com/outlookcopilotlicense-internal.read.sdp https://outlook.office.com/outlookservice.accessasuser.all https://outlook.office.com/outlookservice.notificationschannel.all https://outlook.office.com/owa.accessasuser.all https://outlook.office.com/people.read https://outlook.office.com/people.readwrite https://outlook.office.com/peoplepredictions-internal.read https://outlook.office.com/peoplesettings.read.all https://outlook.office.com/place.read.all https://outlook.office.com/place.readwrite.all https://outlook.office.com/policy.read.all.sdp https://outlook.office.com/premium-internal.readwrite https://outlook.office.com/privilege.openassystem https://outlook.office.com/signal.readwrite https://outlook.office.com/signals.read https://outlook.office.com/signals.readwrite https://outlook.office.com/signals-internal.read.shared https://outlook.office.com/signals-internal.readwrite.shared https://outlook.office.com/substratesearch-internal.readwrite https://outlook.office.com/tags.readwrite https://outlook.office.com/tailoredexperiences-internal.readwrite https://outlook.office.com/tasks.readwrite https://outlook.office.com/tasks.readwrite.shared https://outlook.office.com/team.readbasic.all https://outlook.office.com/todo-internal.readwrite https://outlook.office.com/user.invite.all.sdp https://outlook.office.com/user.read.all https://outlook.office.com/user.read.sdp https://outlook.office.com/user.readbasic https://outlook.office.com/user.readbasic.all https://outlook.office.com/user.readbasic.shared https://outlook.office.com/user.readwrite https://outlook.office.com/user.readwrite.shared https://outlook.office.com/user-internal.readwrite https://outlook.office.com/.default|\",\"msal.3|8176a92d-22a5-4125-902e-9a697944d3d4.3ac94b33-9135-4821-9502-eafda6592a35|login.windows.net|accesstoken|9199bf20-a13f-4107-85dc-02114787ef48|3ac94b33-9135-4821-9502-eafda6592a35|https://clients.config.office.net/userpolicies.read https://clients.config.office.net/.default|\",\"msal.3|8176a92d-22a5-4125-902e-9a697944d3d4.3ac94b33-9135-4821-9502-eafda6592a35|login.windows.net|accesstoken|9199bf20-a13f-4107-85dc-02114787ef48|3ac94b33-9135-4821-9502-eafda6592a35|https://arc.msn.com/v4/user.read https://arc.msn.com/v4/.default|\",\"msal.3|8176a92d-22a5-4125-902e-9a697944d3d4.3ac94b33-9135-4821-9502-eafda6592a35|login.windows.net|accesstoken|9199bf20-a13f-4107-85dc-02114787ef48|3ac94b33-9135-4821-9502-eafda6592a35|https://augloop.office.com/v2/augloop.all https://augloop.office.com/v2/.default|\",\"msal.3|8176a92d-22a5-4125-902e-9a697944d3d4.3ac94b33-9135-4821-9502-eafda6592a35|login.windows.net|accesstoken|9199bf20-a13f-4107-85dc-02114787ef48|3ac94b33-9135-4821-9502-eafda6592a35|https://loki.delve.office.com/group.readwrite https://loki.delve.office.com/llm.read https://loki.delve.office.com/user.read.all https://loki.delve.office.com/.default|\"],\"refreshToken\":[\"msal.3|8176a92d-22a5-4125-902e-9a697944d3d4.3ac94b33-9135-4821-9502-eafda6592a35|login.windows.net|refreshtoken|9199bf20-a13f-4107-85dc-02114787ef48|||\"]}"}, {"name": "olk-OcpsPolicyStore", "value": "{\"policies\":{\"DEFDEFDE-FDEF-DEFD-EFDE-FDEFDEFDEFDE-10037FFE891F5416@3ac94b33-9135-4821-9502-eafda6592a35\":{\"contactSupportEnabled\":\"1\",\"diagnosticsTroubleshootingEnabled\":\"1\",\"getDiagnosticsEnabled\":\"1\",\"emailCollectionEnabled\":\"1\",\"emailCollectionDefault\":\"0\",\"feedbackEnabled\":\"1\",\"logContentEnabled\":\"0\",\"contentSamplesDefault\":\"1\",\"npsSurveyEnabled\":\"1\",\"optionalConnectedExperiencesEnabled\":\"1\",\"connectedOfficeExperiencesEnabled\":\"1\",\"outlookRecommendationEnabled\":\"1\",\"screenshotEnabled\":\"0\",\"screenshotDefault\":\"0\",\"loopEnabled\":\"1\",\"loopEnabledForOutlook\":\"0\",\"disableSharingPermissions\":\"0\",\"experiencesDownloadingContentEnabled\":\"1\",\"experiencesAnalyzingContentEnabled\":\"1\",\"expirationDate\":\"2026-06-03T14:20:55.350Z\",\"M365LinksHandlingBrowserChoice\":\"\",\"loopPollsEnabled\":\"1\",\"showCardLoops\":\"1\",\"loopPlannerEnabled\":\"1\",\"loopVideoPlaybackEnabled\":\"1\",\"loopVideoRecordEnabled\":\"1\",\"undefined\":\"1\"}},\"retryFetchCount\":0}"}, {"name": "olk-isMChatFeatureEnabledDEFDEFDE-FDEF-DEFD-EFDE-FDEFDEFDEFDE-10037FFE891F5416@3ac94b33-9135-4821-9502-eafda6592a35", "value": "true"}, {"name": "olk-sdfp", "value": "{\"TimeZoneStr\":\"Central Europe Standard Time\",\"FolderPaneBitFlags\":2}"}, {"name": "msal.version", "value": "5.8.0"}, {"name": "olk-MailOwaPreloadStrings", "value": "[\"https://res.public.onecdn.static.microsoft/owamail/hashed-v1/msalv5/scripts/../resources/locale-consolidated/en/owa.consolidated.mail.runtime.m.5ae5777b.json\"]"}, {"name": "msal.9199bf20-a13f-4107-85dc-02114787ef48.active-account-filters", "value": "{\"homeAccountId\":\"8176a92d-22a5-4125-902e-9a697944d3d4.3ac94b33-9135-4821-9502-eafda6592a35\",\"localAccountId\":\"8176a92d-22a5-4125-902e-9a697944d3d4\",\"tenantId\":\"3ac94b33-9135-4821-9502-eafda6592a35\"}"}, {"name": "olk-UsersNormalizedTheme", "value": "officeneutral"}, {"name": "olk-BootDiagnostics", "value": "{\"puid\":\"10037FFE891F5416\",\"tid\":\"3ac94b33-9135-4821-9502-eafda6592a35\",\"mbx\":\"0d22d25d-f211-4d3f-aa11-48c43835ff84\",\"prem\":\"0\",\"isCon\":false,\"upn\":\"vbuzalka@its.jnj.com\"}"}, {"name": "msal.3.account.keys", "value": "[\"msal.3|8176a92d-22a5-4125-902e-9a697944d3d4.3ac94b33-9135-4821-9502-eafda6592a35|login.windows.net|3ac94b33-9135-4821-9502-eafda6592a35\"]"}, {"name": "msal.3|8176a92d-22a5-4125-902e-9a697944d3d4.3ac94b33-9135-4821-9502-eafda6592a35|login.windows.net|3ac94b33-9135-4821-9502-eafda6592a35", "value": "{\"homeAccountId\":\"8176a92d-22a5-4125-902e-9a697944d3d4.3ac94b33-9135-4821-9502-eafda6592a35\",\"environment\":\"login.windows.net\",\"realm\":\"3ac94b33-9135-4821-9502-eafda6592a35\",\"localAccountId\":\"8176a92d-22a5-4125-902e-9a697944d3d4\",\"username\":\"vbuzalka@its.jnj.com\",\"authorityType\":\"MSSTS\",\"loginHint\":\"O.CiQ4MTc2YTkyZC0yMmE1LTQxMjUtOTAyZS05YTY5Nzk0NGQzZDQSJDNhYzk0YjMzLTkxMzUtNDgyMS05NTAyLWVhZmRhNjU5MmEzNRoUdmJ1emFsa2FAaXRzLmpuai5jb20gmgE=\",\"clientInfo\":\"eyJ1aWQiOiI4MTc2YTkyZC0yMmE1LTQxMjUtOTAyZS05YTY5Nzk0NGQzZDQiLCJ1dGlkIjoiM2FjOTRiMzMtOTEzNS00ODIxLTk1MDItZWFmZGE2NTkyYTM1In0\",\"name\":\"Buzalka, Vladimir [JRDCZ Non-J&J]\",\"tenantProfiles\":[{\"tenantId\":\"3ac94b33-9135-4821-9502-eafda6592a35\",\"localAccountId\":\"8176a92d-22a5-4125-902e-9a697944d3d4\",\"name\":\"Buzalka, Vladimir [JRDCZ Non-J&J]\",\"username\":\"vbuzalka@its.jnj.com\",\"loginHint\":\"O.CiQ4MTc2YTkyZC0yMmE1LTQxMjUtOTAyZS05YTY5Nzk0NGQzZDQSJDNhYzk0YjMzLTkxMzUtNDgyMS05NTAyLWVhZmRhNjU5MmEzNRoUdmJ1emFsa2FAaXRzLmpuai5jb20gmgE=\",\"isHomeTenant\":true,\"upn\":\"vbuzalka@its.jnj.com\"}],\"lastUpdatedAt\":\"1780491063860\",\"cachedByApiId\":61}"}, {"name": "olk-EnvDiagnostics", "value": "{\"fe\":\"FR3P281CA0104\",\"be\":\"Unknown\",\"wsver\":\"15.21.92.6\",\"fost\":\"NAMPRD07\",\"dag\":\"NAMPR07DG662\",\"te\":\"0\"}"}, {"name": "olk-OwaClientId", "value": "9A0726BE2AD149CAA489469B15151419"}, {"name": "olk-mail_copilot_prioritize_experimental_setting", "value": "null"}, {"name": "msal.3|8176a92d-22a5-4125-902e-9a697944d3d4.3ac94b33-9135-4821-9502-eafda6592a35|login.windows.net|accesstoken|9199bf20-a13f-4107-85dc-02114787ef48|3ac94b33-9135-4821-9502-eafda6592a35|https://clients.config.office.net/userpolicies.read https://clients.config.office.net/.default|", "value": "{\"homeAccountId\":\"8176a92d-22a5-4125-902e-9a697944d3d4.3ac94b33-9135-4821-9502-eafda6592a35\",\"credentialType\":\"AccessToken\",\"secret\":\"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IndoMDZzRWt6TEhKNXNOTmFVeVJZMl82TzhLMCIsImtpZCI6IndoMDZzRWt6TEhKNXNOTmFVeVJZMl82TzhLMCJ9.eyJhdWQiOiJodHRwczovL2NsaWVudHMuY29uZmlnLm9mZmljZS5uZXQiLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC8zYWM5NGIzMy05MTM1LTQ4MjEtOTUwMi1lYWZkYTY1OTJhMzUvIiwiaWF0IjoxNzgwNDkwNzU1LCJuYmYiOjE3ODA0OTA3NTUsImV4cCI6MTc4MDQ5NTI2NywiYWNyIjoiMSIsImFpbyI6IkFYUUFpLzhjQUFBQUhUK2xhL0p6QUxIOHpNNjNPaVhDK1U3SHFzejlEWDg4WHV3RzJ0dWdUekc0TlNQNlVRZTJrb3MyMVk1Ti9YTGtvVmZQMFhTdk1VcVhhTjRmbW9tSFVpWGF0WjYwRU4yVEJtUGVKT0dLVk94Yk4rano1TllPTDRPWUprcmtSVko0NlNzcUdkYUNNbGVnSytwWmhyeE9xdz09IiwiYW1yIjpbIm1mYSJdLCJhcHBpZCI6IjkxOTliZjIwLWExM2YtNDEwNy04NWRjLTAyMTE0Nzg3ZWY0OCIsImFwcGlkYWNyIjoiMCIsImZhbWlseV9uYW1lIjoiQnV6YWxrYSIsImdpdmVuX25hbWUiOiJWbGFkaW1pciIsImlkdHlwIjoidXNlciIsImlwYWRkciI6Ijc4LjgwLjM4LjUxIiwibmFtZSI6IkJ1emFsa2EsIFZsYWRpbWlyIFtKUkRDWiBOb24tSiZKXSIsIm9pZCI6IjgxNzZhOTJkLTIyYTUtNDEyNS05MDJlLTlhNjk3OTQ0ZDNkNCIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMzM1NjY0MDg3LTEzNzcwODM4ODItMjk5Njk1MjAyNi01MzkzMjIiLCJwdWlkIjoiMTAwMzdGRkU4OTFGNTQxNiIsInJoIjoiMS5BUVFBTTB2Sk9qV1JJVWlWQXVyOXBsa3FOU2VwcmNMaXFXUkZxdUp3ZDFvdm9LOEFBTndFQUEuIiwic2NwIjoiVXNlclBvbGljaWVzLlJlYWQiLCJzaWQiOiIwMDVjMGE5YS01ZWQ4LTU2MTYtYzY4MS0wMTBmODY4MGQ5OWYiLCJzdWIiOiJ6VC10LTlvYzFxZzg5WTdiSi00NlR5NHNGd1JVbEV3d0diRDJyZkM4am5ZIiwidGlkIjoiM2FjOTRiMzMtOTEzNS00ODIxLTk1MDItZWFmZGE2NTkyYTM1IiwidW5pcXVlX25hbWUiOiJ2YnV6YWxrYUBpdHMuam5qLmNvbSIsInVwbiI6InZidXphbGthQGl0cy5qbmouY29tIiwidXRpIjoiU0JCenhiSzZBRTJBOTNlc043eFVBQSIsInZlciI6IjEuMCIsIndpZHMiOlsiYjc5ZmJmNGQtM2VmOS00Njg5LTgxNDMtNzZiMTk0ZTg1NTA5Il0sInhtc19hY3RfZmN0IjoiNSAzIiwieG1zX2Z0ZCI6ImlWcVpSazF6VnRod01VTkFBQnpsZTJwTW1GLVVJMTJhZWp3RTZxWDVTbE1CZFhOM1pYTjBNeTFrYzIxeiIsInhtc19pZHJlbCI6IjEgMjYiLCJ4bXNfc3ViX2ZjdCI6IjMgNCJ9.fdJKWTeoByoDEwkDa5xEJ4_j3BhlsClsfFcbOV1txuGIryCus2jshPycbAZO870CiOV9O8HCuL9G20PnGOanIw1mKHIqiAgNKEkST1ecfXmrpAybC_YTctR-n4GFI22JpFIv_x1A6tTJRMNa0O5YX82Q04hQJz5FQQ1kE2Lay7b5MiVFDmp6g7Q6UlGm-11ixy-WMJB92fRwuQphVPXpUAUKLctQJrbqmNQTl9N0tx_F-d4H0otdYXGlhU6sRL_TfLrY5MR5otMVcwvi0OzNIUoO3ZDyu58pUn-EKm1PxboAppNIaxZANPKKB6hcGJzrWLIj8kZRjOuf7huYSCUvTg\",\"cachedAt\":\"1780491057\",\"expiresOn\":\"1780495267\",\"extendedExpiresOn\":\"1780499478\",\"environment\":\"login.windows.net\",\"clientId\":\"9199bf20-a13f-4107-85dc-02114787ef48\",\"realm\":\"3ac94b33-9135-4821-9502-eafda6592a35\",\"target\":\"https://clients.config.office.net/UserPolicies.Read https://clients.config.office.net/.default\",\"tokenType\":\"Bearer\",\"lastUpdatedAt\":\"1780491057453\"}"}, {"name": "olk-msalexp", "value": "1780491152607.982"}, {"name": "olk-ACCOUNTS_MIGRATION_PENDING_ACCOUNTS_POST_IMPORT_KEY", "value": "[]"}, {"name": "olk-OwaLocale", "value": "en"}, {"name": "olk-mail_LAST_SELECTED_PIVOTvbuzalka@its.jnj.com", "value": "not-priority"}, {"name": "olk-OwaSessionCount", "value": "1"}, {"name": "olk-isauthed", "value": "1"}, {"name": "olk-sdmp", "value": "{\"TimeZoneStr\":\"Central Europe Standard Time\",\"InboxReadingPanePosition\":1,\"IsFocusedInboxOn\":false,\"BootWithConversationView\":false,\"SortResults\":[{\"Path\":{\"__type\":\"PropertyUri:#Exchange\",\"FieldURI\":\"item:ReceivedOrRenewTime\"},\"Order\":\"Descending\"},{\"Path\":{\"__type\":\"PropertyUri:#Exchange\",\"FieldURI\":\"item:DateTimeReceived\"},\"Order\":\"Descending\"}],\"IsSenderScreeningSettingEnabled\":false}"}, {"name": "mats-telemetry-profile-id", "value": "019e8d88-66f6-75fa-a587-510e487c244b"}, {"name": "olk-bootFailureCount", "value": "0"}, {"name": "msal.3|8176a92d-22a5-4125-902e-9a697944d3d4.3ac94b33-9135-4821-9502-eafda6592a35|login.windows.net|accesstoken|9199bf20-a13f-4107-85dc-02114787ef48|3ac94b33-9135-4821-9502-eafda6592a35|https://outlook.office.com/analytics.readwrite https://outlook.office.com/calendars.readwrite https://outlook.office.com/calendars.readwrite.all https://outlook.office.com/calendars.readwrite.shared https://outlook.office.com/calendars-internal.readwrite https://outlook.office.com/channel.create https://outlook.office.com/channel.readbasic.all https://outlook.office.com/channelmember.read.all https://outlook.office.com/channelmember.readwrite.all https://outlook.office.com/channelmessage.read.all https://outlook.office.com/chat.read https://outlook.office.com/chat.readwrite.all https://outlook.office.com/collab-internal.readwrite https://outlook.office.com/connectedaccount-internal.readwrite https://outlook.office.com/connectors.readwrite.shared https://outlook.office.com/contacts.readwrite https://outlook.office.com/contacts.readwrite.shared https://outlook.office.com/directory.read.global https://outlook.office.com/directory.read.local https://outlook.office.com/dwengine-internal.read https://outlook.office.com/eas.accessasuser.all https://outlook.office.com/files.readwrite.all https://outlook.office.com/files.readwrite.shared https://outlook.office.com/focusedinbox-internal.readwrite https://outlook.office.com/group.readwrite.all https://outlook.office.com/group.readwrite.all.sdp https://outlook.office.com/locations-internal.readwrite https://outlook.office.com/mail.readwrite https://outlook.office.com/mail.readwrite.all https://outlook.office.com/mail.readwrite.shared https://outlook.office.com/mail.send https://outlook.office.com/mail.send.shared https://outlook.office.com/mailboxsettings.readwrite https://outlook.office.com/mailboxsettings.readwrite.all https://outlook.office.com/notes.read https://outlook.office.com/notes.readwrite https://outlook.office.com/notes-internal.readwrite https://outlook.office.com/notifications-internal.readwrite https://outlook.office.com/onlinemeetings.readwrite https://outlook.office.com/outlookcopilot-internal.readwrite https://outlook.office.com/outlookcopilotlicense-internal.read.sdp https://outlook.office.com/outlookservice.accessasuser.all https://outlook.office.com/outlookservice.notificationschannel.all https://outlook.office.com/owa.accessasuser.all https://outlook.office.com/people.read https://outlook.office.com/people.readwrite https://outlook.office.com/peoplepredictions-internal.read https://outlook.office.com/peoplesettings.read.all https://outlook.office.com/place.read.all https://outlook.office.com/place.readwrite.all https://outlook.office.com/policy.read.all.sdp https://outlook.office.com/premium-internal.readwrite https://outlook.office.com/privilege.openassystem https://outlook.office.com/signal.readwrite https://outlook.office.com/signals.read https://outlook.office.com/signals.readwrite https://outlook.office.com/signals-internal.read.shared https://outlook.office.com/signals-internal.readwrite.shared https://outlook.office.com/substratesearch-internal.readwrite https://outlook.office.com/tags.readwrite https://outlook.office.com/tailoredexperiences-internal.readwrite https://outlook.office.com/tasks.readwrite https://outlook.office.com/tasks.readwrite.shared https://outlook.office.com/team.readbasic.all https://outlook.office.com/todo-internal.readwrite https://outlook.office.com/user.invite.all.sdp https://outlook.office.com/user.read.all https://outlook.office.com/user.read.sdp https://outlook.office.com/user.readbasic https://outlook.office.com/user.readbasic.all https://outlook.office.com/user.readbasic.shared https://outlook.office.com/user.readwrite https://outlook.office.com/user.readwrite.shared https://outlook.office.com/user-internal.readwrite https://outlook.office.com/.default|", "value": "{\"homeAccountId\":\"8176a92d-22a5-4125-902e-9a697944d3d4.3ac94b33-9135-4821-9502-eafda6592a35\",\"credentialType\":\"AccessToken\",\"secret\":\"eyJ0eXAiOiJKV1QiLCJub25jZSI6InA1b2JJWkZCNGk2UWVLN0s3ZTQwSUcyaDFZMTJXbl9mZWY1Vk56RGdvRTgiLCJhbGciOiJSUzI1NiIsIng1dCI6IndoMDZzRWt6TEhKNXNOTmFVeVJZMl82TzhLMCIsImtpZCI6IndoMDZzRWt6TEhKNXNOTmFVeVJZMl82TzhLMCJ9.eyJhdWQiOiJodHRwczovL291dGxvb2sub2ZmaWNlLmNvbSIsImlzcyI6Imh0dHBzOi8vc3RzLndpbmRvd3MubmV0LzNhYzk0YjMzLTkxMzUtNDgyMS05NTAyLWVhZmRhNjU5MmEzNS8iLCJpYXQiOjE3ODA0OTA3NTQsIm5iZiI6MTc4MDQ5MDc1NCwiZXhwIjoxNzgwNTgwNjU0LCJhY2N0IjowLCJhY3IiOiIxIiwiYWlvIjoiQVhRQWkvOGNBQUFBMU1BSEtNUWVZelVXcmhyQUVCRlpqNjk1WGJ4V2Z1aE84Y2ZUOW84SkNCNk1jQnFmM0Z3YUxuZEpOR1RzRlFkbjRHd1MyRkRsV283NlFIclpMdTFPWmRqenlmMFJFa2svaHpLVmxKTE5tQ0x4TVFXalV0czhjLzJxTStPNTE1VnNacGVpa0x1Qi91N1dEVGE1N1kwbzdnPT0iLCJhbXIiOlsibWZhIl0sImFwcF9kaXNwbGF5bmFtZSI6Ik9uZSBPdXRsb29rIFdlYiIsImFwcGlkIjoiOTE5OWJmMjAtYTEzZi00MTA3LTg1ZGMtMDIxMTQ3ODdlZjQ4IiwiYXBwaWRhY3IiOiIwIiwiY29udHJvbHMiOlsiYXBwX3JlcyJdLCJjb250cm9sc19hdWRzIjpbIjAwMDAwMDAzLTAwMDAtMGZmMS1jZTAwLTAwMDAwMDAwMDAwMCJdLCJlbmZwb2xpZHMiOltdLCJmYW1pbHlfbmFtZSI6IkJ1emFsa2EiLCJnaXZlbl9uYW1lIjoiVmxhZGltaXIiLCJpZHR5cCI6InVzZXIiLCJpcGFkZHIiOiI3OC44MC4zOC41MSIsImxvZ2luX2hpbnQiOiJPLkNpUTRNVGMyWVRreVpDMHlNbUUxTFRReE1qVXRPVEF5WlMwNVlUWTVOemswTkdRelpEUVNKRE5oWXprMFlqTXpMVGt4TXpVdE5EZ3lNUzA1TlRBeUxXVmhabVJoTmpVNU1tRXpOUm9VZG1KMWVtRnNhMkZBYVhSekxtcHVhaTVqYjIwZ21nRT0iLCJuYW1lIjoiQnV6YWxrYSwgVmxhZGltaXIgW0pSRENaIE5vbi1KJkpdIiwib2lkIjoiODE3NmE5MmQtMjJhNS00MTI1LTkwMmUtOWE2OTc5NDRkM2Q0Iiwib25wcmVtX3NpZCI6IlMtMS01LTIxLTIzMzU2NjQwODctMTM3NzA4Mzg4Mi0yOTk2OTUyMDI2LTUzOTMyMiIsInB1aWQiOiIxMDAzN0ZGRTg5MUY1NDE2IiwicmgiOiIxLkFRUUFNMHZKT2pXUklVaVZBdXI5cGxrcU5RSUFBQUFBQVBFUHpnQUFBQUFBQUFBQUFOd0VBQS4iLCJzY3AiOiJBbmFseXRpY3MuUmVhZFdyaXRlIENhbGVuZGFycy5SZWFkV3JpdGUgQ2FsZW5kYXJzLlJlYWRXcml0ZS5BbGwgQ2FsZW5kYXJzLlJlYWRXcml0ZS5TaGFyZWQgQ2FsZW5kYXJzLUludGVybmFsLlJlYWRXcml0ZSBDaGFubmVsLkNyZWF0ZSBDaGFubmVsLlJlYWRCYXNpYy5BbGwgQ2hhbm5lbE1lbWJlci5SZWFkLkFsbCBDaGFubmVsTWVtYmVyLlJlYWRXcml0ZS5BbGwgQ2hhbm5lbE1lc3NhZ2UuUmVhZC5BbGwgQ2hhdC5SZWFkIENoYXQuUmVhZFdyaXRlLkFsbCBDb2xsYWItSW50ZXJuYWwuUmVhZFdyaXRlIENvbm5lY3RlZEFjY291bnQtSW50ZXJuYWwuUmVhZFdyaXRlIENvbm5lY3RvcnMuUmVhZFdyaXRlLlNoYXJlZCBDb250YWN0cy5SZWFkV3JpdGUgQ29udGFjdHMuUmVhZFdyaXRlLlNoYXJlZCBEaXJlY3RvcnkuUmVhZC5HbG9iYWwgRGlyZWN0b3J5LlJlYWQuTG9jYWwgRFdFbmdpbmUtSW50ZXJuYWwuUmVhZCBFQVMuQWNjZXNzQXNVc2VyLkFsbCBGaWxlcy5SZWFkV3JpdGUuQWxsIEZpbGVzLlJlYWRXcml0ZS5TaGFyZWQgRm9jdXNlZEluYm94LUludGVybmFsLlJlYWRXcml0ZSBHcm91cC5SZWFkV3JpdGUuQWxsIEdyb3VwLlJlYWRXcml0ZS5BbGwuU2RwIExvY2F0aW9ucy1JbnRlcm5hbC5SZWFkV3JpdGUgTWFpbC5SZWFkV3JpdGUgTWFpbC5SZWFkV3JpdGUuQWxsIE1haWwuUmVhZFdyaXRlLlNoYXJlZCBNYWlsLlNlbmQgTWFpbC5TZW5kLlNoYXJlZCBNYWlsYm94U2V0dGluZ3MuUmVhZFdyaXRlIE1haWxib3hTZXR0aW5ncy5SZWFkV3JpdGUuQWxsIE5vdGVzLlJlYWQgTm90ZXMuUmVhZFdyaXRlIE5vdGVzLUludGVybmFsLlJlYWRXcml0ZSBOb3RpZmljYXRpb25zLUludGVybmFsLlJlYWRXcml0ZSBPbmxpbmVNZWV0aW5ncy5SZWFkV3JpdGUgT3V0bG9va0NvcGlsb3QtSW50ZXJuYWwuUmVhZFdyaXRlIE91dGxvb2tDb3BpbG90TGljZW5zZS1JbnRlcm5hbC5SZWFkLlNkcCBPdXRsb29rU2VydmljZS5BY2Nlc3NBc1VzZXIuQWxsIE91dGxvb2tTZXJ2aWNlLk5vdGlmaWNhdGlvbnNDaGFubmVsLkFsbCBPV0EuQWNjZXNzQXNVc2VyLkFsbCBQZW9wbGUuUmVhZCBQZW9wbGUuUmVhZFdyaXRlIFBlb3BsZVByZWRpY3Rpb25zLUludGVybmFsLlJlYWQgUGVvcGxlU2V0dGluZ3MuUmVhZC5BbGwgUGxhY2UuUmVhZC5BbGwgUGxhY2UuUmVhZFdyaXRlLkFsbCBQb2xpY3kuUmVhZC5BbGwuU2RwIFByZW1pdW0tSW50ZXJuYWwuUmVhZFdyaXRlIFByaXZpbGVnZS5PcGVuQXNTeXN0ZW0gU2lnbmFsLlJlYWRXcml0ZSBTaWduYWxzLlJlYWQgU2lnbmFscy5SZWFkV3JpdGUgU2lnbmFscy1JbnRlcm5hbC5SZWFkLlNoYXJlZCBTaWduYWxzLUludGVybmFsLlJlYWRXcml0ZS5TaGFyZWQgU3Vic3RyYXRlU2VhcmNoLUludGVybmFsLlJlYWRXcml0ZSBUYWdzLlJlYWRXcml0ZSBUYWlsb3JlZEV4cGVyaWVuY2VzLUludGVybmFsLlJlYWRXcml0ZSBUYXNrcy5SZWFkV3JpdGUgVGFza3MuUmVhZFdyaXRlLlNoYXJlZCBUZWFtLlJlYWRCYXNpYy5BbGwgVG9kby1JbnRlcm5hbC5SZWFkV3JpdGUgVXNlci5JbnZpdGUuQWxsLlNkcCBVc2VyLlJlYWQuQWxsIFVzZXIuUmVhZC5TZHAgVXNlci5SZWFkQmFzaWMgVXNlci5SZWFkQmFzaWMuQWxsIFVzZXIuUmVhZEJhc2ljLlNoYXJlZCBVc2VyLlJlYWRXcml0ZSBVc2VyLlJlYWRXcml0ZS5TaGFyZWQgVXNlci1JbnRlcm5hbC5SZWFkV3JpdGUiLCJzZWNhdWQiOnsiYXVkIjoiMDAwMDAwMDMtMDAwMC0wMDAwLWMwMDAtMDAwMDAwMDAwMDAwIiwic2NwIjoiR3JvdXAuUmVhZFdyaXRlLkFsbCBMaWNlbnNlQXNzaWdubWVudC5SZWFkLkFsbCBQb2xpY3kuUmVhZC5BbGwgVXNlci5JbnZpdGUuQWxsIFVzZXIuUmVhZCJ9LCJzaWQiOiIwMDVjMGE5YS01ZWQ4LTU2MTYtYzY4MS0wMTBmODY4MGQ5OWYiLCJzaWduaW5fc3RhdGUiOlsia21zaSJdLCJzdWIiOiJ1dTlhdHdSaXQyOFd6anNHQVF2ejVrNE03NzgzV2huNWItUWtwMUVWcXFVIiwidGVuYW50X3JlZ2lvbl9zY29wZSI6Ik5BIiwidGlkIjoiM2FjOTRiMzMtOTEzNS00ODIxLTk1MDItZWFmZGE2NTkyYTM1IiwidW5pcXVlX25hbWUiOiJ2YnV6YWxrYUBpdHMuam5qLmNvbSIsInVwbiI6InZidXphbGthQGl0cy5qbmouY29tIiwidXRpIjoic3dwc01HWUtTRVdQSlNrZ3JGNVRBQSIsInZlciI6IjEuMCIsIndpZHMiOlsiYjc5ZmJmNGQtM2VmOS00Njg5LTgxNDMtNzZiMTk0ZTg1NTA5Il0sInhtc19hY3RfZmN0IjoiMyA1IiwieG1zX2F1ZF9ndWlkIjoiMDAwMDAwMDItMDAwMC0wZmYxLWNlMDAtMDAwMDAwMDAwMDAwIiwieG1zX2NjIjpbIkNQMSJdLCJ4bXNfZnRkIjoieVM3U1NXbS0xWnR4aDNNR0xSbklEaDdVSGFSdVpEdS1pQktxUnFxTlg3MEJkWE4zWlhOME15MWtjMjF6IiwieG1zX2lkcmVsIjoiMSAxMiIsInhtc19zc20iOiIxIiwieG1zX3N1Yl9mY3QiOiI2IDMiLCJ4bXNfdG50X2ZjdCI6IjMgNiJ9.RbYUdkFQmnf6BRXh6FbsVIIrsXmlmZnrhN-f9ql3Xav7z6mRkKmGXXKq3wwtJVEmhyb8kYFIWulvWJbpM27_Bad8LSTDmiEJ-51WjtWBeajJiJFKNUQDrqJDkhYgm4Xksb56hoC5y3STCEf_PfDXDhOP6dKN-uPBse5BPFBhpODkMuIqucd_kYqX_PbxbbCxUP44ambjIMLFBUkyRjl6u48LjSKZj3PPKSkxocTsj7RYieQl7vQoVhZcO62kedwU41-TeHr5FPl4Ug_06WULhN56kibWgujfTIjKHxlZAKe6D3QwrNwEb5eSBz6M6a-y1lNlCyPcWbvU_NKTig6gHw\",\"cachedAt\":\"1780491055\",\"expiresOn\":\"1780580653\",\"extendedExpiresOn\":\"1780670252\",\"environment\":\"login.windows.net\",\"clientId\":\"9199bf20-a13f-4107-85dc-02114787ef48\",\"realm\":\"3ac94b33-9135-4821-9502-eafda6592a35\",\"target\":\"https://outlook.office.com/Analytics.ReadWrite https://outlook.office.com/Calendars.ReadWrite https://outlook.office.com/Calendars.ReadWrite.All https://outlook.office.com/Calendars.ReadWrite.Shared https://outlook.office.com/Calendars-Internal.ReadWrite https://outlook.office.com/Channel.Create https://outlook.office.com/Channel.ReadBasic.All https://outlook.office.com/ChannelMember.Read.All https://outlook.office.com/ChannelMember.ReadWrite.All https://outlook.office.com/ChannelMessage.Read.All https://outlook.office.com/Chat.Read https://outlook.office.com/Chat.ReadWrite.All https://outlook.office.com/Collab-Internal.ReadWrite https://outlook.office.com/ConnectedAccount-Internal.ReadWrite https://outlook.office.com/Connectors.ReadWrite.Shared https://outlook.office.com/Contacts.ReadWrite https://outlook.office.com/Contacts.ReadWrite.Shared https://outlook.office.com/Directory.Read.Global https://outlook.office.com/Directory.Read.Local https://outlook.office.com/DWEngine-Internal.Read https://outlook.office.com/EAS.AccessAsUser.All https://outlook.office.com/Files.ReadWrite.All https://outlook.office.com/Files.ReadWrite.Shared https://outlook.office.com/FocusedInbox-Internal.ReadWrite https://outlook.office.com/Group.ReadWrite.All https://outlook.office.com/Group.ReadWrite.All.Sdp https://outlook.office.com/Locations-Internal.ReadWrite https://outlook.office.com/Mail.ReadWrite https://outlook.office.com/Mail.ReadWrite.All https://outlook.office.com/Mail.ReadWrite.Shared https://outlook.office.com/Mail.Send https://outlook.office.com/Mail.Send.Shared https://outlook.office.com/MailboxSettings.ReadWrite https://outlook.office.com/MailboxSettings.ReadWrite.All https://outlook.office.com/Notes.Read https://outlook.office.com/Notes.ReadWrite https://outlook.office.com/Notes-Internal.ReadWrite https://outlook.office.com/Notifications-Internal.ReadWrite https://outlook.office.com/OnlineMeetings.ReadWrite https://outlook.office.com/OutlookCopilot-Internal.ReadWrite https://outlook.office.com/OutlookCopilotLicense-Internal.Read.Sdp https://outlook.office.com/OutlookService.AccessAsUser.All https://outlook.office.com/OutlookService.NotificationsChannel.All https://outlook.office.com/OWA.AccessAsUser.All https://outlook.office.com/People.Read https://outlook.office.com/People.ReadWrite https://outlook.office.com/PeoplePredictions-Internal.Read https://outlook.office.com/PeopleSettings.Read.All https://outlook.office.com/Place.Read.All https://outlook.office.com/Place.ReadWrite.All https://outlook.office.com/Policy.Read.All.Sdp https://outlook.office.com/Premium-Internal.ReadWrite https://outlook.office.com/Privilege.OpenAsSystem https://outlook.office.com/Signal.ReadWrite https://outlook.office.com/Signals.Read https://outlook.office.com/Signals.ReadWrite https://outlook.office.com/Signals-Internal.Read.Shared https://outlook.office.com/Signals-Internal.ReadWrite.Shared https://outlook.office.com/SubstrateSearch-Internal.ReadWrite https://outlook.office.com/Tags.ReadWrite https://outlook.office.com/TailoredExperiences-Internal.ReadWrite https://outlook.office.com/Tasks.ReadWrite https://outlook.office.com/Tasks.ReadWrite.Shared https://outlook.office.com/Team.ReadBasic.All https://outlook.office.com/Todo-Internal.ReadWrite https://outlook.office.com/User.Invite.All.Sdp https://outlook.office.com/User.Read.All https://outlook.office.com/User.Read.Sdp https://outlook.office.com/User.ReadBasic https://outlook.office.com/User.ReadBasic.All https://outlook.office.com/User.ReadBasic.Shared https://outlook.office.com/User.ReadWrite https://outlook.office.com/User.ReadWrite.Shared https://outlook.office.com/User-Internal.ReadWrite https://outlook.office.com/.default\",\"tokenType\":\"Bearer\",\"lastUpdatedAt\":\"1780491054804\"}"}]}, {"origin": "https://fedlogin.jnj.com", "localStorage": [{"name": "ed73f20edbf2b73", "value": "665971b69a7e414bbd324452b19b222a_1936011010148"}, {"name": "5718FABB002E", "value": "AAzZ5TEL9ZMDaf1SDwcrJIZFvqguKfe5kd2faIrWpsEqUvZT5IGEnm3FDjenfRJCkZxF25jqKWGzZsZEpLDjaIygwsZrHQ"}]}]}
\ No newline at end of file
diff --git a/Outlook/outlook_login_v1.0.md b/Outlook/outlook_login_v1.0.md
new file mode 100644
index 0000000..556e99c
--- /dev/null
+++ b/Outlook/outlook_login_v1.0.md
@@ -0,0 +1,44 @@
+# outlook_login_v1.0
+
+**Verze:** 1.0
+**Datum:** 2026-06-03
+
+## Cíl
+Jednorázové ruční přihlášení do Outlook OWA (`https://outlook.cloud.microsoft/mail/`)
+a uložení session pro pozdější neinteraktivní skripty.
+
+## Co dělá
+1. Spustí Chromium v **persistent contextu** (adresář `outlook_profile/` vedle skriptu).
+2. Otevře OWA.
+3. Čeká, až se uživatel ručně přihlásí (účet, heslo, MFA, "Stay signed in").
+4. V konzoli se zeptá `Hotovo? Napiš 'OK' pro uložení session:`.
+5. Po zadání `OK` uloží:
+ - `outlook_profile/` — persistent profil (cookies, IndexedDB, service workers)
+ - `outlook_auth.json` — `storage_state` (cookies + localStorage)
+6. Zavře prohlížeč.
+
+## Spuštění
+```
+python outlook_login_v1.0.py
+```
+
+## Závislosti
+- `playwright` (`pip install playwright && playwright install chromium`)
+
+## Použití session v dalším skriptu
+Persistent profil (doporučeno pro OWA):
+```python
+context = p.chromium.launch_persistent_context(
+ user_data_dir="./outlook_profile",
+ headless=False,
+)
+```
+
+Nebo `storage_state` (pokud chceš jen cookies):
+```python
+context = browser.new_context(storage_state="outlook_auth.json")
+```
+
+## Poznámky
+- Při prvním přihlášení zaškrtnout **"Zůstat přihlášen"** — MFA cookie u J&J typicky vydrží ~30 dní.
+- Pokud session vyprší, stačí znovu spustit tento skript.
diff --git a/Outlook/outlook_login_v1.0.py b/Outlook/outlook_login_v1.0.py
new file mode 100644
index 0000000..c21d498
--- /dev/null
+++ b/Outlook/outlook_login_v1.0.py
@@ -0,0 +1,62 @@
+"""
+=======================================================================
+ Název: outlook_login_v1.0.py
+ Verze: 1.0
+ Datum: 2026-06-03
+ Popis: Otevře Outlook OWA (https://outlook.cloud.microsoft/mail/)
+ v persistent Chromium profilu, počká na ruční přihlášení
+ uživatele (včetně MFA), po potvrzení v konzoli uloží
+ session (profile + storage_state) a zavře prohlížeč.
+
+ Další skripty mohou stejný profil znovu otevřít bez loginu.
+=======================================================================
+"""
+
+from pathlib import Path
+from playwright.sync_api import sync_playwright
+
+BASE_DIR = Path(__file__).resolve().parent
+PROFILE_DIR = BASE_DIR / "outlook_profile"
+STORAGE_STATE = BASE_DIR / "outlook_auth.json"
+START_URL = "https://outlook.cloud.microsoft/mail/"
+
+
+def main() -> None:
+ PROFILE_DIR.mkdir(exist_ok=True)
+
+ with sync_playwright() as p:
+ context = p.chromium.launch_persistent_context(
+ user_data_dir=str(PROFILE_DIR),
+ headless=False,
+ no_viewport=True,
+ args=[
+ "--disable-blink-features=AutomationControlled",
+ "--start-maximized",
+ ],
+ )
+
+ page = context.pages[0] if context.pages else context.new_page()
+ page.goto(START_URL)
+
+ print()
+ print("=" * 70)
+ print(" Přihlas se v otevřeném okně do Outlooku.")
+ print(" Až budeš v inboxu (vidíš seznam e-mailů), vrať se sem.")
+ print("=" * 70)
+ answer = input(" Hotovo? Napiš 'OK' pro uložení session: ").strip().lower()
+
+ if answer == "ok":
+ try:
+ context.storage_state(path=str(STORAGE_STATE))
+ print(f" Uloženo: {STORAGE_STATE}")
+ except Exception as e:
+ print(f" storage_state se neuložil: {e}")
+ print(f" Persistent profil: {PROFILE_DIR}")
+ else:
+ print(" Zrušeno — session se neuloží (profil ale zůstává).")
+
+ context.close()
+
+
+if __name__ == "__main__":
+ main()
diff --git a/Soubory/Trash/enrich_fulltext_v1.0.md b/Soubory/Trash/enrich_fulltext_v1.0.md
new file mode 100644
index 0000000..63c5be8
--- /dev/null
+++ b/Soubory/Trash/enrich_fulltext_v1.0.md
@@ -0,0 +1,80 @@
+# enrich_fulltext_v1.0
+
+**Verze:** 1.0
+**Datum:** 2026-06-03
+**Skript:** `enrich_fulltext_v1.0.py`
+
+## Účel
+Pro každý dokument odkazovaný v MongoDB (`soubory.*`) vytáhne **plný text** a uloží do PostgreSQL s GIN `tsvector` indexem pro fulltext vyhledávání.
+
+## Cíl: PostgreSQL `MongoSoubory`
+- **host:** 192.168.1.76:5432
+- **db:** `MongoSoubory`
+- **user:** vladimir.buzalka
+- **extension:** `unaccent`, `pg_trgm`
+- **text search config:** `soubory` (= simple + unaccent → case- a diakritika-insensitivní)
+
+## Tabulka `documents`
+| sloupec | typ | popis |
+|---|---|---|
+| id | BIGSERIAL | PK |
+| mongo_id | TEXT | ObjectId z Mongo |
+| study | TEXT | kolekce v Mongo (`42847922MDD3003` / `77242113UCO3001`) |
+| path | TEXT | absolutní cesta (UNIQUE s study) |
+| rel_path, name, ext | TEXT | doplňková metadata |
+| sha256 | TEXT | pro inkrementální kontrolu |
+| size_bytes, mtime | | |
+| **body** | TEXT | plný extrahovaný text (max 5 MB) |
+| body_length | INT | délka v znacích |
+| **tsv** | tsvector GENERATED STORED | `to_tsvector('soubory', body)` |
+| extracted_at | TIMESTAMPTZ | čas extrakce |
+| extractor_version | TEXT | verze tohoto skriptu |
+| ok | BOOLEAN | true pokud extrakce proběhla |
+| error | TEXT | chybové hlášení |
+
+**Indexy:** GIN nad `tsv`, GIN trigram nad `name`, btree `sha256`, btree `(study, ext)`.
+
+## Podporované přípony
+`pdf`, `docx`, `xlsx`, `xlsm`, `pptx`, `eml`, `msg`, `txt`, `csv`
+
+## Inkrementální chování
+Soubor se přeskočí pokud v PG už existuje záznam s:
+- shodným `sha256`
+- shodnou `extractor_version`
+- `ok = true`
+
+Jinak se přeparsuje a UPSERT.
+
+## Limity (skip s `error=too_big_...`)
+- PDF nad 500 MB
+- XLSX nad 200 MB
+- ostatní nad 300 MB
+- `body` se vždy ořízne na 5 MB UTF-8
+
+## Příklady dotazů (psql)
+```sql
+-- fulltext (case+diakritika insensitivní)
+SELECT study, name, ts_rank_cd(tsv, q) AS rank,
+ ts_headline('soubory', body, q, 'MaxFragments=2,MinWords=5,MaxWords=15') AS snippet
+FROM documents, plainto_tsquery('soubory', 'amendment 3') q
+WHERE tsv @@ q
+ORDER BY rank DESC
+LIMIT 20;
+
+-- jméno obsahuje (trigram, fuzzy)
+SELECT study, name FROM documents
+WHERE name ILIKE '%protokol%';
+
+-- nejdelsi dokumenty per studie
+SELECT study, name, body_length
+FROM documents
+WHERE ok = true
+ORDER BY body_length DESC LIMIT 10;
+```
+
+## Spuštění
+```
+python U:\PythonProject\Janssen\Soubory\enrich_fulltext_v1.0.py
+```
+
+Průběh tiskne řádek na soubor: `[n/total] OK pdf 2.3MB protokol.pdf | 12340 znaku 'Protocol amendment ...'`
diff --git a/Soubory/Trash/enrich_fulltext_v1.0.py b/Soubory/Trash/enrich_fulltext_v1.0.py
new file mode 100644
index 0000000..0ba6ce1
--- /dev/null
+++ b/Soubory/Trash/enrich_fulltext_v1.0.py
@@ -0,0 +1,416 @@
+"""
+==============================================================================
+Skript: enrich_fulltext_v1.0.py
+Verze: 1.0
+Datum: 2026-06-03
+Autor: vladimir.buzalka
+Popis: Vytahne PLNY TEXT z dokumentu odkazovanych v MongoDB (db: soubory)
+ a ulozi ho do PostgreSQL (db: MongoSoubory) s GIN tsvector
+ fulltext indexem.
+
+ Zdroje:
+ - MongoDB 192.168.1.76 db=soubory kolekce=42847922MDD3003, 77242113UCO3001
+ - PostgreSQL 192.168.1.76 db=MongoSoubory tabulka=documents
+
+ Podporovane pripony: pdf, docx, xlsx, xlsm, pptx, eml, msg, txt, csv
+
+ Inkrementalne: preskoci soubor, kde v PG existuje radek se shodnym
+ sha256 a extractor_version a ok=true.
+
+ Pri prvnim behu sam vytvori tabulku, indexy a textovou konfiguraci
+ 'soubory' (unaccent + simple) - vyhleda case- a diakritika-insensitivni.
+==============================================================================
+"""
+
+from __future__ import annotations
+
+import email
+import email.policy
+import sys
+import time
+import traceback
+from datetime import datetime, timezone
+from pathlib import Path
+
+import psycopg
+from pymongo import MongoClient
+
+# --- konfigurace ------------------------------------------------------------
+MONGO_URI = "mongodb://192.168.1.76:27017"
+MONGO_DB = "soubory"
+MONGO_COLLECTIONS = ["42847922MDD3003", "77242113UCO3001"]
+
+PG_DSN = ("host=192.168.1.76 port=5432 dbname=MongoSoubory "
+ "user=vladimir.buzalka password=Vlado7309208104++")
+
+EXTRACTOR_VERSION = "1.0"
+
+MAX_TEXT_BYTES = 5 * 1024 * 1024 # 5 MB textu na dokument max
+MAX_PDF_BYTES = 500 * 1024 * 1024
+MAX_XLSX_BYTES = 200 * 1024 * 1024
+MAX_GENERIC_BYTES = 300 * 1024 * 1024
+
+SUPPORTED = ("pdf", "docx", "xlsx", "xlsm", "pptx", "eml", "msg", "txt", "csv")
+
+
+# --- SCHEMA -----------------------------------------------------------------
+
+SCHEMA_SQL = """
+CREATE EXTENSION IF NOT EXISTS unaccent;
+CREATE EXTENSION IF NOT EXISTS pg_trgm;
+
+DO $$
+BEGIN
+ IF NOT EXISTS (SELECT 1 FROM pg_ts_config WHERE cfgname = 'soubory') THEN
+ CREATE TEXT SEARCH CONFIGURATION soubory ( COPY = simple );
+ ALTER TEXT SEARCH CONFIGURATION soubory
+ ALTER MAPPING FOR hword, hword_part, word
+ WITH unaccent, simple;
+ END IF;
+END$$;
+
+CREATE TABLE IF NOT EXISTS documents (
+ id BIGSERIAL PRIMARY KEY,
+ mongo_id TEXT NOT NULL,
+ study TEXT NOT NULL,
+ path TEXT NOT NULL,
+ rel_path TEXT,
+ name TEXT,
+ ext TEXT,
+ sha256 TEXT NOT NULL,
+ size_bytes BIGINT,
+ mtime TIMESTAMPTZ,
+ body TEXT,
+ body_length INT,
+ tsv tsvector GENERATED ALWAYS AS (
+ to_tsvector('soubory'::regconfig, coalesce(body, ''))
+ ) STORED,
+ extracted_at TIMESTAMPTZ DEFAULT now(),
+ extractor_version TEXT,
+ ok BOOLEAN,
+ error TEXT,
+ UNIQUE (study, path)
+);
+
+CREATE INDEX IF NOT EXISTS documents_tsv_gin ON documents USING gin(tsv);
+CREATE INDEX IF NOT EXISTS documents_name_trgm ON documents USING gin(name gin_trgm_ops);
+CREATE INDEX IF NOT EXISTS documents_sha256_idx ON documents(sha256);
+CREATE INDEX IF NOT EXISTS documents_study_ext_idx ON documents(study, ext);
+"""
+
+
+# --- EXTRAKTORY (vraci string, max MAX_TEXT_BYTES) --------------------------
+
+def _truncate(s: str) -> str:
+ if not s:
+ return ""
+ b = s.encode("utf-8", errors="replace")
+ if len(b) <= MAX_TEXT_BYTES:
+ return s
+ return b[:MAX_TEXT_BYTES].decode("utf-8", errors="ignore")
+
+
+def extract_pdf(path: Path) -> str:
+ from pypdf import PdfReader
+ reader = PdfReader(str(path))
+ if reader.is_encrypted:
+ try:
+ reader.decrypt("")
+ except Exception:
+ return ""
+ parts = []
+ total = 0
+ for page in reader.pages:
+ try:
+ t = page.extract_text() or ""
+ except Exception:
+ continue
+ parts.append(t)
+ total += len(t)
+ if total > MAX_TEXT_BYTES:
+ break
+ return _truncate("\n".join(parts))
+
+
+def extract_docx(path: Path) -> str:
+ from docx import Document
+ doc = Document(str(path))
+ parts = [p.text for p in doc.paragraphs if p.text]
+ for tbl in doc.tables:
+ for row in tbl.rows:
+ parts.append(" | ".join(c.text for c in row.cells))
+ return _truncate("\n".join(parts))
+
+
+def extract_xlsx(path: Path) -> str:
+ from openpyxl import load_workbook
+ wb = load_workbook(str(path), read_only=True, data_only=True)
+ parts = []
+ total = 0
+ for ws in wb.worksheets:
+ parts.append(f"# {ws.title}")
+ for row in ws.iter_rows(values_only=True):
+ line = "\t".join("" if v is None else str(v) for v in row)
+ if line.strip():
+ parts.append(line)
+ total += len(line)
+ if total > MAX_TEXT_BYTES:
+ break
+ if total > MAX_TEXT_BYTES:
+ break
+ wb.close()
+ return _truncate("\n".join(parts))
+
+
+def extract_pptx(path: Path) -> str:
+ from pptx import Presentation
+ prs = Presentation(str(path))
+ parts = []
+ for i, slide in enumerate(prs.slides, 1):
+ parts.append(f"# slide {i}")
+ for shape in slide.shapes:
+ if shape.has_text_frame:
+ for para in shape.text_frame.paragraphs:
+ line = "".join(run.text for run in para.runs)
+ if line.strip():
+ parts.append(line)
+ if slide.has_notes_slide:
+ notes = slide.notes_slide.notes_text_frame.text
+ if notes:
+ parts.append(f"[notes] {notes}")
+ return _truncate("\n".join(parts))
+
+
+def extract_eml(path: Path) -> str:
+ with path.open("rb") as f:
+ msg = email.message_from_binary_file(f, policy=email.policy.default)
+ head = []
+ for k in ("From", "To", "Cc", "Subject", "Date"):
+ v = msg.get(k)
+ if v:
+ head.append(f"{k}: {v}")
+ parts = ["\n".join(head)]
+ if msg.is_multipart():
+ for part in msg.walk():
+ if part.get_content_type() == "text/plain" and not part.get_filename():
+ try:
+ parts.append(part.get_content())
+ except Exception:
+ pass
+ else:
+ try:
+ parts.append(msg.get_content())
+ except Exception:
+ pass
+ return _truncate("\n\n".join(parts))
+
+
+def extract_msg(path: Path) -> str:
+ import extract_msg
+ with extract_msg.openMsg(str(path)) as m:
+ head = []
+ if m.subject: head.append(f"Subject: {m.subject}")
+ if m.sender: head.append(f"From: {m.sender}")
+ if m.to: head.append(f"To: {m.to}")
+ if m.cc: head.append(f"Cc: {m.cc}")
+ if m.date: head.append(f"Date: {m.date}")
+ return _truncate("\n".join(head) + "\n\n" + (m.body or ""))
+
+
+def extract_text(path: Path) -> str:
+ data = path.read_bytes()[:MAX_TEXT_BYTES]
+ for enc in ("utf-8-sig", "cp1250", "latin-1"):
+ try:
+ return data.decode(enc)
+ except UnicodeDecodeError:
+ continue
+ return data.decode("utf-8", errors="replace")
+
+
+EXTRACTORS = {
+ "pdf": (extract_pdf, MAX_PDF_BYTES),
+ "docx": (extract_docx, MAX_GENERIC_BYTES),
+ "xlsx": (extract_xlsx, MAX_XLSX_BYTES),
+ "xlsm": (extract_xlsx, MAX_XLSX_BYTES),
+ "pptx": (extract_pptx, MAX_GENERIC_BYTES),
+ "eml": (extract_eml, MAX_GENERIC_BYTES),
+ "msg": (extract_msg, MAX_GENERIC_BYTES),
+ "txt": (extract_text, MAX_GENERIC_BYTES),
+ "csv": (extract_text, MAX_GENERIC_BYTES),
+}
+
+
+def _short(s, n=40):
+ if not s:
+ return ""
+ s = str(s).replace("\n", " ").replace("\r", " ").strip()
+ return s if len(s) <= n else s[:n] + "..."
+
+
+def _now() -> datetime:
+ return datetime.now(tz=timezone.utc)
+
+
+# --- HLAVNI SMYCKA ----------------------------------------------------------
+
+def process_collection(pg: psycopg.Connection, mongo_coll, study: str) -> dict:
+ # nactu z PG existujici sha256 + verzi
+ with pg.cursor() as cur:
+ cur.execute(
+ "SELECT path, sha256, extractor_version, ok FROM documents WHERE study = %s",
+ (study,),
+ )
+ existing = {row[0]: (row[1], row[2], row[3]) for row in cur.fetchall()}
+
+ cursor = mongo_coll.find(
+ {"ext": {"$in": list(EXTRACTORS.keys())}, "deleted_at": {"$exists": False}},
+ {"_id": 1, "path": 1, "rel_path": 1, "name": 1, "ext": 1,
+ "sha256": 1, "size_bytes": 1, "mtime": 1},
+ no_cursor_timeout=True,
+ )
+
+ processed = ok = errors = skipped = too_big = 0
+ queue = []
+ total_pending = mongo_coll.count_documents(
+ {"ext": {"$in": list(EXTRACTORS.keys())}, "deleted_at": {"$exists": False}}
+ )
+ print(f"[{study}] kandidatu v Mongo: {total_pending}")
+
+ n = 0
+ try:
+ for doc in cursor:
+ n += 1
+ prev = existing.get(doc["path"])
+ if prev and prev[0] == doc.get("sha256") and prev[1] == EXTRACTOR_VERSION and prev[2]:
+ skipped += 1
+ continue
+
+ ext = doc["ext"]
+ extractor, max_bytes = EXTRACTORS[ext]
+ path = Path(doc["path"])
+
+ row = {
+ "mongo_id": str(doc["_id"]),
+ "study": study,
+ "path": doc["path"],
+ "rel_path": doc.get("rel_path"),
+ "name": doc.get("name"),
+ "ext": ext,
+ "sha256": doc.get("sha256"),
+ "size_bytes": doc.get("size_bytes"),
+ "mtime": doc.get("mtime"),
+ "body": None,
+ "body_length": 0,
+ "extracted_at": _now(),
+ "extractor_version": EXTRACTOR_VERSION,
+ "ok": False,
+ "error": None,
+ }
+
+ status = "OK "
+ detail = ""
+ size_mb = (doc.get("size_bytes") or 0) / 1024 / 1024
+
+ if not path.exists():
+ row["error"] = "file_missing"
+ status = "ERR"; detail = "file_missing"; errors += 1
+ elif (doc.get("size_bytes") or 0) > max_bytes:
+ row["error"] = f"too_big_>{max_bytes}"
+ status = "BIG"; detail = f"too_big_>{max_bytes//1024//1024}MB"; too_big += 1
+ else:
+ try:
+ body = extractor(path) or ""
+ row["body"] = body if body else None
+ row["body_length"] = len(body)
+ row["ok"] = True
+ ok += 1
+ detail = f"{len(body)} znaku {_short(body, 60)!r}"
+ except Exception as e:
+ row["error"] = f"{type(e).__name__}: {e}"[:500]
+ status = "ERR"; detail = row["error"][:80]; errors += 1
+
+ queue.append(row)
+ processed += 1
+ print(f" [{n:>4}/{total_pending}] {status} {ext:<4} {size_mb:6.1f}MB "
+ f"{path.name} | {detail}", flush=True)
+
+ if len(queue) >= 50:
+ _flush(pg, queue); queue.clear()
+ finally:
+ cursor.close()
+
+ if queue:
+ _flush(pg, queue)
+
+ return {"study": study, "processed": processed, "ok": ok,
+ "errors": errors, "skipped": skipped, "too_big": too_big}
+
+
+UPSERT_SQL = """
+INSERT INTO documents
+ (mongo_id, study, path, rel_path, name, ext, sha256, size_bytes, mtime,
+ body, body_length, extracted_at, extractor_version, ok, error)
+VALUES
+ (%(mongo_id)s, %(study)s, %(path)s, %(rel_path)s, %(name)s, %(ext)s, %(sha256)s,
+ %(size_bytes)s, %(mtime)s, %(body)s, %(body_length)s, %(extracted_at)s,
+ %(extractor_version)s, %(ok)s, %(error)s)
+ON CONFLICT (study, path) DO UPDATE SET
+ mongo_id = EXCLUDED.mongo_id,
+ rel_path = EXCLUDED.rel_path,
+ name = EXCLUDED.name,
+ ext = EXCLUDED.ext,
+ sha256 = EXCLUDED.sha256,
+ size_bytes = EXCLUDED.size_bytes,
+ mtime = EXCLUDED.mtime,
+ body = EXCLUDED.body,
+ body_length = EXCLUDED.body_length,
+ extracted_at = EXCLUDED.extracted_at,
+ extractor_version = EXCLUDED.extractor_version,
+ ok = EXCLUDED.ok,
+ error = EXCLUDED.error
+"""
+
+
+def _flush(pg: psycopg.Connection, rows: list[dict]) -> None:
+ with pg.cursor() as cur:
+ cur.executemany(UPSERT_SQL, rows)
+ pg.commit()
+
+
+def main() -> int:
+ t0 = time.time()
+ print("Pripojuji se k PostgreSQL...")
+ pg = psycopg.connect(PG_DSN, connect_timeout=10)
+ with pg.cursor() as cur:
+ cur.execute(SCHEMA_SQL)
+ pg.commit()
+ print("Schema OK.")
+
+ print("Pripojuji se k MongoDB...")
+ mongo = MongoClient(MONGO_URI, serverSelectionTimeoutMS=5000)
+ mongo.admin.command("ping")
+ db = mongo[MONGO_DB]
+ print("Mongo OK.")
+
+ results = []
+ for name in MONGO_COLLECTIONS:
+ results.append(process_collection(pg, db[name], name))
+
+ pg.close()
+
+ print("\n=== SHRNUTI ===")
+ for r in results:
+ print(f" {r['study']}: processed={r['processed']} ok={r['ok']} "
+ f"errors={r['errors']} skipped={r['skipped']} too_big={r['too_big']}")
+ print(f"\nCelkem trvalo: {time.time() - t0:.1f} s")
+ return 0
+
+
+if __name__ == "__main__":
+ try:
+ raise SystemExit(main())
+ except KeyboardInterrupt:
+ print("\nPreruseno uzivatelem")
+ except Exception:
+ traceback.print_exc()
+ sys.exit(1)
diff --git a/Soubory/Trash/enrich_fulltext_v1.1.md b/Soubory/Trash/enrich_fulltext_v1.1.md
new file mode 100644
index 0000000..4e5f445
--- /dev/null
+++ b/Soubory/Trash/enrich_fulltext_v1.1.md
@@ -0,0 +1,22 @@
+# enrich_fulltext_v1.1
+
+**Verze:** 1.1
+**Datum:** 2026-06-03
+**Skript:** `enrich_fulltext_v1.1.py`
+
+## Změny proti v1.0
+- **NUL bajty (0x00) v textu** — PG TEXT je odmítá. v1.1 odstraní všechny `\x00` a ostatní controly (kromě `\n \r \t`) ve společné funkci `_clean_for_pg`, navíc bezpečnostní strip i v `_flush` před UPSERT.
+- **DOCX fallback** — pokud python-docx hodí výjimku (typicky `"no tr above topmost tr in w:tbl"` u VTMF formulářů s rozbitými tabulkami), v1.1 sáhne přímo do `word/document.xml` v ZIPu a regexem vytáhne text z `