tribuchet: building on jamie Machine state will be reset. To keep it, pass --keep-machine-state start all VLans (finished: start all VLans, in 0.00 seconds) Initializing machine ID from random generator. Test will time out and terminate in 3600.0 seconds run the VM test script start all VMs solo: systemd-nspawn running (pid 50) solo: Waiting for journal at /build/vm-state-solo/var/log/journal... (finished: start all VMs, in 0.00 seconds) solo: waiting for unit tinc.mesh.service nixos-nspawn(solo): TAP vde-tap1 not found; container will be isolated from VDE nixos-nspawn(solo): A common reason for this is that /dev/net is not available in the Nix sandbox. Try adding /dev/net to extra-sandbox-paths. Note: in a future version of systemd-nspawn the default set of permitted socket address families will be restricted to AF_INET, AF_INET6 and AF_UNIX. Use --restrict-address-families= to configure the set of permitted socket address families, or set RestrictAddressFamilies= in a .nspawn file. ░ Spawning container solo on /build/vm-state-solo. solo # [1130046.041744] solo systemd-journald[58]: Journal started solo # [1130046.041783] solo systemd-journald[58]: Runtime Journal (/run/log/journal/165613269c484b628b69a8929d5ec2f7) is 8M, max 4G, 3.9G free. solo # [1130046.046788] solo systemd[1]: Finished Apply Kernel Variables. solo # [1130046.057578] solo systemd[1]: Finished Create Static Device Nodes in /dev gracefully. solo # [1130046.070316] solo systemd[1]: Starting Flush Journal to Persistent Storage... solo # [1130046.071167] solo systemd[1]: Starting Create Static Device Nodes in /dev... solo # [1130046.078221] solo systemd-journald[58]: Time spent on flushing to /var/log/journal/165613269c484b628b69a8929d5ec2f7 is 1.889ms for 6 entries. solo # [1130046.078221] solo systemd-journald[58]: System Journal (/var/log/journal/165613269c484b628b69a8929d5ec2f7) is 512B, max 4G, 3.9G free. solo # [1130046.086032] solo systemd[1]: Finished Create Static Device Nodes in /dev. solo # [1130046.087317] solo systemd[1]: Reached target Preparation for Local File Systems. solo # [1130046.087435] solo systemd[1]: Rule-based Manager for Device Events and Files skipped, unmet condition check ConditionPathIsReadWrite=/sys solo # [1130046.105743] solo systemd[1]: Finished Flush Journal to Persistent Storage. solo # [1130046.232792] solo systemd[1]: Finished Firewall. solo # [1130047.147221] solo systemd[1]: Mounting /run/wrappers... solo # [1130047.180695] solo systemd[1]: Mounted /run/wrappers. solo # [1130047.181697] solo systemd[1]: Reached target Local File Systems. solo # [1130047.182492] solo systemd[1]: Listening on Boot Loader Control Service Socket. solo # [1130047.183673] solo systemd[1]: Starting Create SUID/SGID Wrappers... solo # [1130047.183705] solo systemd[1]: Update Boot Loader Random Seed skipped, unmet condition check ConditionVirtualization=!container solo # [1130047.184992] solo systemd[1]: Starting Save Transient machine-id to Disk... solo # [1130047.185835] solo systemd[1]: Starting Create System Files and Directories... solo # [1130047.203727] solo systemd-tmpfiles[162]: Cannot set file attributes for '/var/empty', value=0x00000010, mask=0x00000010, ignoring: Operation not permitted solo # [1130047.204162] solo systemd-tmpfiles[162]: fchmod() of /var/log/journal failed: Operation not permitted solo # [1130047.205074] solo suid-sgid-wrappers-start[169]: chmod: changing permissions of '/run/wrappers/wrappers.n4145y1GRl/chsh': Operation not permitted solo # [1130047.204499] solo systemd-tmpfiles[162]: fchmod() of /var/log/journal/165613269c484b628b69a8929d5ec2f7 failed: Operation not permitted solo # [1130047.204846] solo systemd-tmpfiles[162]: fchmod() of /run/log/journal failed: Operation not permitted solo # [1130047.205619] solo systemd[1]: suid-sgid-wrappers.service: Main process exited, code=exited, status=1/FAILURE solo # [1130047.205686] solo systemd[1]: suid-sgid-wrappers.service: Failed to read pids.max for control group /system.slice/suid-sgid-wrappers.service, ignoring: No data available solo # [1130047.205728] solo systemd[1]: suid-sgid-wrappers.service: Failed to read pids.max for control group /system.slice/suid-sgid-wrappers.service, ignoring: No data available solo # [1130047.205753] solo systemd[1]: suid-sgid-wrappers.service: Failed with result 'exit-code'. solo # [1130047.205995] solo systemd[1]: Failed to start Create SUID/SGID Wrappers. solo # [1130047.206574] solo systemd[1]: Finished Create System Files and Directories. solo # [1130047.242566] solo systemd[1]: Starting Rebuild Journal Catalog... solo # [1130047.243632] solo systemd[1]: Starting Record System Boot/Shutdown in UTMP... solo # [1130047.256535] solo systemd[1]: Finished Record System Boot/Shutdown in UTMP. solo # [1130047.264412] solo systemd[1]: Finished Rebuild Journal Catalog. solo # [1130047.265797] solo systemd[1]: Starting Update is Completed... solo # [1130047.297213] solo systemd[1]: etc-machine\x2did.mount: Deactivated successfully. solo # [1130047.298048] solo systemd[1]: Finished Save Transient machine-id to Disk. solo # [1130047.298276] solo systemd[1]: Finished Update is Completed. solo # [1130047.299609] solo systemd[1]: Reached target System Initialization. solo # [1130047.299713] solo systemd[1]: Discard unused filesystem blocks once a week skipped, unmet condition check ConditionVirtualization=!container solo # [1130047.299748] solo systemd[1]: Started Daily Cleanup of Temporary Directories. solo # [1130047.299767] solo systemd[1]: Reached target Timer Units. solo # [1130047.299890] solo systemd[1]: Listening on D-Bus System Message Bus Socket. solo # [1130047.300135] solo systemd[1]: Listening on Nix Daemon Socket. solo # [1130047.300237] solo systemd[1]: Listening on Virtual Machine and Container Registration Service Socket. solo # [1130047.300292] solo systemd[1]: Listening on tinc-auth.socket. solo # [1130047.300304] solo systemd[1]: Reached target Socket Units. solo # [1130047.300337] solo systemd[1]: Reached target Basic System. solo # [1130047.302323] solo systemd[1]: Starting Import lastlog data into lastlog2 database... solo # [1130047.303341] solo systemd[1]: Starting Name Service Cache Daemon (nsncd)... solo # [1130047.304178] solo systemd[1]: Starting resolvconf update... solo # [1130047.304906] solo systemd[1]: Starting Tinc Daemon - mesh... solo # [1130047.320883] solo systemd[1]: Finished Import lastlog data into lastlog2 database. solo # [1130047.322611] solo tinc.mesh-pre-start[188]: Warning: this tinc was built without legacy protocol support; skipping RSA key generation. solo # [1130047.324784] solo systemd[1]: Started Tinc Daemon - mesh. solo # [1130047.325663] solo systemd[1]: Started tinc-auth.service. solo # [1130047.333215] solo tinc-auth[195]: tinc-auth: listening (net=mesh) solo # [1130047.334198] solo tincd[193]: [INFO tincd] tincd 0.1.0 starting, debug level 0 solo # [1130047.334672] solo tincd[193]: [INFO tincd] tincd starting, name=alpha solo # [1130047.334672] solo tincd[193]: [WARN tincd::keys] Warning: insecure file permissions for Ed25519 private key file `/nix/store/j2kmc5c78nif1b0bqif1pb9gzasriqwa-ed25519.priv'! solo # [1130047.334819] solo tincd[193]: [INFO tincd] Device mode: Tun, interface: dummy solo # [1130047.334967] solo tincd[193]: [INFO tincd::net] Listening on 0.0.0.0:655 solo # [1130047.335025] solo tincd[193]: [INFO tincd::net] Listening on [::]:655 solo # [1130047.335249] solo tincd[193]: [INFO tincd] Ready solo # [1130047.397545] solo systemd[1]: nscd.service: Failed to read pids.max for control group /system.slice/nscd.service, ignoring: No data available solo # [1130047.397581] solo systemd[1]: nscd.service: Deactivated successfully. solo # [1130047.397770] solo systemd[1]: Stopped Name Service Cache Daemon (nsncd). solo # [1130047.400774] solo systemd[1]: Starting Name Service Cache Daemon (nsncd)... solo # [1130047.401084] solo systemd[1]: Finished resolvconf update. solo # [1130047.401916] solo systemd[1]: Reached target Preparation for Network. solo # [1130047.409703] solo systemd[1]: Starting Address configuration of eth1... solo # [1130047.411138] solo systemd[1]: Starting Extra networking commands.... solo # [1130047.433737] solo network-addresses-eth1-start[259]: adding address 192.168.1.1/24... done solo # [1130047.437207] solo network-addresses-eth1-start[259]: adding address 2001:db8:1::1/64... done solo # [1130047.442994] solo systemd[1]: Finished Address configuration of eth1. solo # [1130047.476566] solo systemd[1]: Finished Extra networking commands.. solo # [1130047.476733] solo systemd[1]: Reached target Network. solo # [1130047.476798] solo systemd[1]: Reached target Network is Online. solo # [1130047.479866] solo systemd[1]: Starting Authelia authentication and authorization server... solo # [1130047.728894] solo systemd[1]: Started Name Service Cache Daemon (nsncd). solo # [1130047.729366] solo nsncd[257]: Nov 08 11:49:23.773 INFO started, config: Config { ignored_request_types: {}, worker_count: 8, handoff_timeout: 10s }, path: "/var/run/nscd/socket" solo # [1130047.728971] solo systemd[1]: Reached target Host and Network Name Lookups. solo # [1130047.729087] solo systemd[1]: Reached target User and Group Name Lookups. solo # [1130047.731351] solo systemd[1]: Starting User Login Management... solo # [1130047.732942] solo systemd[1]: Starting Permit User Sessions... solo # [1130047.758783] solo systemd[1]: Finished Permit User Sessions. solo # [1130047.760161] solo systemd[1]: Started Console Getty. solo # [1130047.760190] solo systemd[1]: Getty on tty1 skipped, unmet condition check ConditionPathExists=/dev/tty0 solo # [1130047.760212] solo systemd[1]: Reached target Login Prompts. solo # [1130049.149254] solo systemd-logind[330]: New seat seat0. solo # [1130049.150106] solo systemd[1]: Started User Login Management. solo # [1130049.152818] solo systemd[1]: Starting D-Bus System Message Bus... solo # [1130049.154689] solo systemd[1]: Starting linger-users.service... solo # [1130049.168711] solo systemd[1]: linger-users.service: Failed to read pids.max for control group /system.slice/linger-users.service, ignoring: No data available solo # [1130049.168851] solo systemd[1]: linger-users.service: Failed to read pids.max for control group /system.slice/linger-users.service, ignoring: No data available solo # [1130049.168940] solo systemd[1]: linger-users.service: Deactivated successfully. solo # [1130049.169355] solo systemd[1]: Finished linger-users.service. solo # [1130049.597758] solo authelia[318]: Configuration parsed and loaded with warnings: solo # [1130049.597758] solo authelia[318]: - access_control: no rules have been specified so the 'default_policy' of 'one_factor' is going to be applied to all requests solo # [1130049.597758] solo authelia[318]: - session: option 'domain' is deprecated in v4.38.0 and has been replaced by a multi-domain configuration: this has automatically been mapped for you but you will need to adjust your configuration to remove this message and receive the latest messages solo # [1130049.648965] solo dbus-broker-launch[340]: Looking up NSS user entry for 'systemd-timesync'... solo # [1130049.765435] solo dbus-broker-launch[340]: NSS returned no entry for 'systemd-timesync' solo # [1130049.765435] solo dbus-broker-launch[340]: Invalid user-name in /nix/store/nx6dcnwdjkha2y2pzfy0y2f0s0v2v9ym-system-path/share/dbus-1/system.d/org.freedesktop.timesync1.conf +16: user="systemd-timesync" solo # [1130049.766537] solo systemd[1]: Started D-Bus System Message Bus. solo # [1130049.771702] solo dbus-broker-launch[340]: Ready solo # [1130051.308108] solo systemd[1]: Started Authelia authentication and authorization server. solo # [1130051.308487] solo systemd[1]: Reached target Multi-User System. solo # [1130051.308770] solo systemd[1]: Startup finished in 5.648s. solo # [1130051.363080] solo authelia[450]: time="2026-11-08T11:49:27Z" level=debug msg="Loaded Configuration Sources" files="[/nix/store/g0qg22i8l8pnqikr2rd8mar9mhizjjr8-config.yml]" filters="[]" solo # [1130051.363080] solo authelia[450]: time="2026-11-08T11:49:27Z" level=debug msg="Logging Initialized" fields.level=debug file= format=json keep_stdout=false solo # [1130051.365472] solo authelia[450]: time="2026-11-08T11:49:27Z" level=debug msg="Process user information" gid=999 uid=999 username=authelia-mesh solo # [1130051.378724] solo authelia[450]: time="2026-11-08T11:49:27Z" level=warning msg="Configuration: access_control: no rules have been specified so the 'default_policy' of 'one_factor' is going to be applied to all requests" solo # [1130051.378724] solo authelia[450]: time="2026-11-08T11:49:27Z" level=warning msg="Configuration: session: option 'domain' is deprecated in v4.38.0 and has been replaced by a multi-domain configuration: this has automatically been mapped for you but you will need to adjust your configuration to remove this message and receive the latest messages" solo # [1130051.378990] solo authelia[450]: time="2026-11-08T11:49:27Z" level=info msg="Authelia v4.39.28-nixpkgs is starting" solo # [1130051.378990] solo authelia[450]: time="2026-11-08T11:49:27Z" level=info msg="Log severity set to debug" solo # [1130051.406274] solo authelia[450]: {"level":"info","msg":"Storage schema is being checked for updates","time":"2026-11-08T11:49:27Z"} solo # [1130051.408852] solo authelia[450]: {"level":"info","msg":"Storage schema migration from 0 to 29 is being attempted","time":"2026-11-08T11:49:27Z"} solo # [1130051.409851] solo authelia[450]: {"level":"debug","msg":"Storage schema migrated from version 0 to 1","time":"2026-11-08T11:49:27Z"} solo # [1130051.412231] solo authelia[450]: {"level":"debug","msg":"Storage schema migrated from version 1 to 2","time":"2026-11-08T11:49:27Z"} solo # [1130051.413223] solo authelia[450]: {"level":"debug","msg":"Storage schema migrated from version 2 to 3","time":"2026-11-08T11:49:27Z"} solo # [1130051.414855] solo authelia[450]: {"level":"debug","msg":"Storage schema migrated from version 3 to 4","time":"2026-11-08T11:49:27Z"} solo # [1130051.425305] solo authelia[450]: {"level":"debug","msg":"Storage schema migrated from version 4 to 5","time":"2026-11-08T11:49:27Z"} solo # [1130051.427128] solo authelia[450]: {"level":"debug","msg":"Storage schema migrated from version 5 to 6","time":"2026-11-08T11:49:27Z"} solo # [1130051.447223] solo authelia[450]: {"level":"debug","msg":"Storage schema migrated from version 6 to 7","time":"2026-11-08T11:49:27Z"} solo # [1130051.447379] solo authelia[450]: {"level":"debug","msg":"Storage schema migrated from version 7 to 8","time":"2026-11-08T11:49:27Z"} solo # [1130051.447419] solo authelia[450]: {"level":"debug","msg":"Storage schema migrated from version 8 to 9","time":"2026-11-08T11:49:27Z"} solo # [1130051.447935] solo authelia[450]: {"level":"debug","msg":"Storage schema migrated from version 9 to 10","time":"2026-11-08T11:49:27Z"} solo # [1130051.448760] solo authelia[450]: {"level":"debug","msg":"Storage schema migrated from version 10 to 11","time":"2026-11-08T11:49:27Z"} solo # [1130051.449144] solo authelia[450]: {"level":"debug","msg":"Storage schema migrated from version 11 to 12","time":"2026-11-08T11:49:27Z"} solo # [1130051.449282] solo authelia[450]: {"level":"debug","msg":"Storage schema migrated from version 12 to 13","time":"2026-11-08T11:49:27Z"} solo # [1130051.450203] solo authelia[450]: {"level":"debug","msg":"Storage schema migrated from version 13 to 14","time":"2026-11-08T11:49:27Z"} solo # [1130051.450354] solo authelia[450]: {"level":"debug","msg":"Storage schema migrated from version 14 to 15","time":"2026-11-08T11:49:27Z"} solo # [1130051.453164] solo authelia[450]: {"level":"debug","msg":"Storage schema migrated from version 15 to 16","time":"2026-11-08T11:49:27Z"} solo # [1130051.453991] solo authelia[450]: {"level":"debug","msg":"Storage schema migrated from version 16 to 17","time":"2026-11-08T11:49:27Z"} solo # [1130051.454152] solo authelia[450]: {"level":"debug","msg":"Storage schema migrated from version 17 to 18","time":"2026-11-08T11:49:27Z"} solo # [1130051.454435] solo authelia[450]: {"level":"debug","msg":"Storage schema migrated from version 18 to 19","time":"2026-11-08T11:49:27Z"} solo # [1130051.454612] solo authelia[450]: {"level":"debug","msg":"Storage schema migrated from version 19 to 20","time":"2026-11-08T11:49:27Z"} solo # [1130051.454653] solo authelia[450]: {"level":"debug","msg":"Storage schema migrated from version 20 to 21","time":"2026-11-08T11:49:27Z"} solo # [1130051.454917] solo authelia[450]: {"level":"debug","msg":"Storage schema migrated from version 21 to 22","time":"2026-11-08T11:49:27Z"} solo # [1130051.454956] solo authelia[450]: {"level":"debug","msg":"Storage schema migrated from version 22 to 23","time":"2026-11-08T11:49:27Z"} solo # [1130051.457087] solo authelia[450]: {"level":"debug","msg":"Storage schema migrated from version 23 to 24","time":"2026-11-08T11:49:27Z"} solo # [1130051.457138] solo authelia[450]: {"level":"debug","msg":"Storage schema migrated from version 24 to 25","time":"2026-11-08T11:49:27Z"} solo # [1130051.457217] solo authelia[450]: {"level":"debug","msg":"Finished re-encrypting 0 row(s) in table 'cached_data'","time":"2026-11-08T11:49:27Z"} solo # [1130051.457355] solo authelia[450]: {"level":"debug","msg":"Finished re-encrypting 1 row(s) in table 'encryption'","time":"2026-11-08T11:49:27Z"} solo # [1130051.457395] solo authelia[450]: {"level":"debug","msg":"Storage schema migrated from version 25 to 26","time":"2026-11-08T11:49:27Z"} solo # [1130051.457747] solo authelia[450]: {"level":"debug","msg":"Storage schema migrated from version 26 to 27","time":"2026-11-08T11:49:27Z"} solo # [1130051.457787] solo authelia[450]: {"level":"debug","msg":"Storage schema migrated from version 27 to 28","time":"2026-11-08T11:49:27Z"} solo # [1130051.461800] solo authelia[450]: {"level":"debug","msg":"Storage schema migrated from version 28 to 29","time":"2026-11-08T11:49:27Z"} solo # [1130051.461800] solo authelia[450]: {"level":"info","msg":"Storage schema migration from 0 to 29 is complete","time":"2026-11-08T11:49:27Z"} solo # [1130051.464868] solo authelia[450]: {"error":"error occurred during dial: dial udp: lookup time.cloudflare.com: no such host","level":"warning","msg":"Could not determine the clock offset due to an error","time":"2026-11-08T11:49:27Z"} solo # [1130051.464928] solo authelia[450]: {"level":"debug","msg":"webauthn-metadata provider: startup check skipped as it is disabled","time":"2026-11-08T11:49:27Z"} solo # [1130051.629547] solo authelia[450]: {"level":"info","msg":"Startup complete","time":"2026-11-08T11:49:27Z"} solo # [1130051.629743] solo authelia[450]: {"level":"info","msg":"Listening for non-TLS connections on '127.0.0.1:9091' path '/'","server":"main","service":"server","time":"2026-11-08T11:49:27Z"} solo: (finished: waiting for unit tinc.mesh.service, in 6.69 seconds) solo: waiting for unit tinc-auth.service solo: (finished: waiting for unit tinc-auth.service, in 0.02 seconds) solo: waiting for unit authelia-mesh.service solo: (finished: waiting for unit authelia-mesh.service, in 0.02 seconds) solo: waiting for TCP port 9091 on localhost Connection to localhost (127.0.0.1) 9091 port [tcp/xmltec-xmlmail] succeeded! solo: (finished: waiting for TCP port 9091 on localhost, in 0.01 seconds) ??? Warning (UserWarning): wait_until_succeeds(): passing a bare int/float as a duration is deprecated. Use datetime.timedelta instead. File "/nix/store/x5szamgzqvapaisybk181qgnzq3xl6ip-nixos-test-driver-1.1/lib/python3.14/site-packages/test_driver/duration.py", line 39 solo: waiting for success: curl -fsS -D /tmp/headers -H 'Content-Type: application/json' -H 'X-Original-URL: https://auth.mesh.test' -d '{}' http://auth.mesh.test:9091/api/firstfactor/network ??? Warning (UserWarning): execute(): passing a bare int/float as a duration is deprecated. Use datetime.timedelta instead. File "/nix/store/x5szamgzqvapaisybk181qgnzq3xl6ip-nixos-test-driver-1.1/lib/python3.14/site-packages/test_driver/duration.py", line 39 solo: (finished: waiting for success: curl -fsS -D /tmp/headers -H 'Content-Type: application/json' -H 'X-Original-URL: https://auth.mesh.test' -d '{}' http://auth.mesh.test:9091/api/firstfactor/network, in 0.02 seconds) solo: must succeed: grep -oPi '(?<=set-cookie: )authelia_session=[^;]+' /tmp/headers solo: (finished: must succeed: grep -oPi '(?<=set-cookie: )authelia_session=[^;]+' /tmp/headers, in 0.01 seconds) solo: must succeed: curl -fsS -H 'Cookie: authelia_session=F^VDZ!GUIeN6ehydHJpm$XwEtoZ1ur#r' http://auth.mesh.test:9091/api/state solo: (finished: must succeed: curl -fsS -H 'Cookie: authelia_session=F^VDZ!GUIeN6ehydHJpm$XwEtoZ1ur#r' http://auth.mesh.test:9091/api/state, in 0.02 seconds) solo: must succeed: curl -fsS -H 'Cookie: authelia_session=F^VDZ!GUIeN6ehydHJpm$XwEtoZ1ur#r' http://auth.mesh.test:9091/api/user/info solo: (finished: must succeed: curl -fsS -H 'Cookie: authelia_session=F^VDZ!GUIeN6ehydHJpm$XwEtoZ1ur#r' http://auth.mesh.test:9091/api/user/info, in 0.01 seconds) solo: must fail: curl -fsS --interface 127.0.0.2 -H 'Content-Type: application/json' -H 'X-Original-URL: https://auth.mesh.test' -d '{}' http://auth.mesh.test:9091/api/firstfactor/network curl: (22) The requestsolo # [1130051.860708] solo authelia[450]: {"level":"debug","method":"POST","msg":"Mark 1FA authentication attempt made by user 'alpha'","path":"/api/firstfactor/network","remote_ip":"127.0.0.1","time":"2026-11-08T11:49:27Z"} ed solo # [1130051.861122] solo authelia[450]: {"level":"debug","method":"POST","msg":"Successful 1FA authentication attempt made by user 'alpha'","path":"/api/firstfactor/network","remote_ip":"127.0.0.1","time":"2026-11-08T11:49:27Z"} Usolo # [1130051.918531] solo authelia[450]: {"level":"debug","method":"POST","msg":"Client address 127.0.0.2 does not resolve to a network identity","path":"/api/firstfactor/network","remote_ip":"127.0.0.2","time":"2026-11-08T11:49:27Z"} RL returned error: 401 solo: (finished: must fail: curl -fsS --interface 127.0.0.2 -H 'Content-Type: application/json' -H 'X-Original-URL: https://auth.mesh.test' -d '{}' http://auth.mesh.test:9091/api/firstfactor/network, in 0.02 seconds) (finished: run the VM test script, in 6.82 seconds) test script finished in 6.90s cleanup kill NspawnMachine (pid 50) (finished: cleanup, in 0.36 seconds) additionally exposed symbols: solo, vlan1, start_all, test_script, machines, machines_qemu, machines_nspawn, vlans, driver, log, os, create_machine, subtest, run_tests, join_all, retry, serial_stdout_off, serial_stdout_on, polling_condition, BaseMachine, QemuMachine, NspawnMachine, t, debug, dump_machine_ssh Container solo terminated by signal KILL.