From 99be0fd4f01c60c48f4a6600da6b0e6149fcc825 Mon Sep 17 00:00:00 2001 From: Kelvin Clement Mwinuka Date: Sun, 2 Jun 2024 15:06:12 +0800 Subject: [PATCH] Fixed data race issue when reading and writing ACL user data. Now, a write-lock is acquired before modifying the connection object as well in addition to the users list. --- coverage/coverage.out | 2240 ++++++------------------- echovault/echovault.go | 10 +- internal/modules/acl/acl.go | 3 - internal/modules/acl/commands.go | 138 +- internal/modules/acl/commands_test.go | 70 +- 5 files changed, 647 insertions(+), 1814 deletions(-) diff --git a/coverage/coverage.out b/coverage/coverage.out index 98abbc7..74b4777 100644 --- a/coverage/coverage.out +++ b/coverage/coverage.out @@ -1,4 +1,100 @@ mode: set +github.com/echovault/echovault/internal/aof/log/store.go:46.60,47.34 1 1 +github.com/echovault/echovault/internal/aof/log/store.go:47.34,49.3 1 1 +github.com/echovault/echovault/internal/aof/log/store.go:52.61,53.34 1 1 +github.com/echovault/echovault/internal/aof/log/store.go:53.34,55.3 1 1 +github.com/echovault/echovault/internal/aof/log/store.go:58.67,59.34 1 1 +github.com/echovault/echovault/internal/aof/log/store.go:59.34,61.3 1 1 +github.com/echovault/echovault/internal/aof/log/store.go:64.63,65.34 1 1 +github.com/echovault/echovault/internal/aof/log/store.go:65.34,67.3 1 1 +github.com/echovault/echovault/internal/aof/log/store.go:70.77,71.34 1 1 +github.com/echovault/echovault/internal/aof/log/store.go:71.34,73.3 1 1 +github.com/echovault/echovault/internal/aof/log/store.go:76.80,83.39 1 1 +github.com/echovault/echovault/internal/aof/log/store.go:83.40,83.41 0 0 +github.com/echovault/echovault/internal/aof/log/store.go:86.2,86.33 1 1 +github.com/echovault/echovault/internal/aof/log/store.go:86.33,88.3 1 1 +github.com/echovault/echovault/internal/aof/log/store.go:91.2,91.46 1 1 +github.com/echovault/echovault/internal/aof/log/store.go:91.46,94.17 2 1 +github.com/echovault/echovault/internal/aof/log/store.go:94.17,96.4 1 0 +github.com/echovault/echovault/internal/aof/log/store.go:97.3,98.17 2 1 +github.com/echovault/echovault/internal/aof/log/store.go:98.17,100.4 1 0 +github.com/echovault/echovault/internal/aof/log/store.go:101.3,101.15 1 1 +github.com/echovault/echovault/internal/aof/log/store.go:106.2,106.51 1 1 +github.com/echovault/echovault/internal/aof/log/store.go:106.51,107.13 1 1 +github.com/echovault/echovault/internal/aof/log/store.go:107.13,108.8 1 1 +github.com/echovault/echovault/internal/aof/log/store.go:108.8,110.40 2 1 +github.com/echovault/echovault/internal/aof/log/store.go:110.40,113.11 3 1 +github.com/echovault/echovault/internal/aof/log/store.go:115.5,116.41 2 0 +github.com/echovault/echovault/internal/aof/log/store.go:121.2,121.19 1 1 +github.com/echovault/echovault/internal/aof/log/store.go:124.55,126.21 1 1 +github.com/echovault/echovault/internal/aof/log/store.go:126.21,128.3 1 0 +github.com/echovault/echovault/internal/aof/log/store.go:130.2,135.47 4 1 +github.com/echovault/echovault/internal/aof/log/store.go:135.47,137.3 1 0 +github.com/echovault/echovault/internal/aof/log/store.go:139.2,139.49 1 1 +github.com/echovault/echovault/internal/aof/log/store.go:139.49,140.38 1 1 +github.com/echovault/echovault/internal/aof/log/store.go:140.38,142.4 1 0 +github.com/echovault/echovault/internal/aof/log/store.go:145.2,145.12 1 1 +github.com/echovault/echovault/internal/aof/log/store.go:148.40,149.21 1 1 +github.com/echovault/echovault/internal/aof/log/store.go:149.21,151.3 1 1 +github.com/echovault/echovault/internal/aof/log/store.go:152.2,152.12 1 0 +github.com/echovault/echovault/internal/aof/log/store.go:155.43,160.47 3 1 +github.com/echovault/echovault/internal/aof/log/store.go:160.47,162.3 1 0 +github.com/echovault/echovault/internal/aof/log/store.go:164.2,165.6 2 1 +github.com/echovault/echovault/internal/aof/log/store.go:165.6,167.34 2 1 +github.com/echovault/echovault/internal/aof/log/store.go:167.34,169.4 1 0 +github.com/echovault/echovault/internal/aof/log/store.go:170.3,170.13 1 1 +github.com/echovault/echovault/internal/aof/log/store.go:170.13,172.9 1 1 +github.com/echovault/echovault/internal/aof/log/store.go:174.3,175.17 2 1 +github.com/echovault/echovault/internal/aof/log/store.go:175.17,177.4 1 0 +github.com/echovault/echovault/internal/aof/log/store.go:178.3,178.31 1 1 +github.com/echovault/echovault/internal/aof/log/store.go:181.2,181.12 1 1 +github.com/echovault/echovault/internal/aof/log/store.go:184.44,187.45 3 0 +github.com/echovault/echovault/internal/aof/log/store.go:187.45,189.3 1 0 +github.com/echovault/echovault/internal/aof/log/store.go:191.2,191.47 1 0 +github.com/echovault/echovault/internal/aof/log/store.go:191.47,193.3 1 0 +github.com/echovault/echovault/internal/aof/log/store.go:194.2,194.12 1 0 +github.com/echovault/echovault/internal/aof/log/store.go:197.41,201.2 3 1 +github.com/echovault/echovault/internal/config/config.go:64.34,70.24 3 0 +github.com/echovault/echovault/internal/config/config.go:70.24,72.35 2 0 +github.com/echovault/echovault/internal/config/config.go:72.35,74.5 1 0 +github.com/echovault/echovault/internal/config/config.go:75.4,75.22 1 0 +github.com/echovault/echovault/internal/config/config.go:75.22,77.5 1 0 +github.com/echovault/echovault/internal/config/config.go:78.4,79.14 2 0 +github.com/echovault/echovault/internal/config/config.go:82.2,82.115 1 0 +github.com/echovault/echovault/internal/config/config.go:82.115,85.3 2 0 +github.com/echovault/echovault/internal/config/config.go:87.2,90.29 2 0 +github.com/echovault/echovault/internal/config/config.go:90.29,91.86 1 0 +github.com/echovault/echovault/internal/config/config.go:91.86,93.5 1 0 +github.com/echovault/echovault/internal/config/config.go:93.7,95.5 1 0 +github.com/echovault/echovault/internal/config/config.go:96.4,97.14 2 0 +github.com/echovault/echovault/internal/config/config.go:100.2,103.59 2 0 +github.com/echovault/echovault/internal/config/config.go:103.59,105.17 2 0 +github.com/echovault/echovault/internal/config/config.go:105.17,107.4 1 0 +github.com/echovault/echovault/internal/config/config.go:108.3,109.13 2 0 +github.com/echovault/echovault/internal/config/config.go:112.2,121.88 2 0 +github.com/echovault/echovault/internal/config/config.go:121.88,128.23 3 0 +github.com/echovault/echovault/internal/config/config.go:128.23,130.5 1 0 +github.com/echovault/echovault/internal/config/config.go:131.4,132.14 2 0 +github.com/echovault/echovault/internal/config/config.go:135.2,139.24 2 0 +github.com/echovault/echovault/internal/config/config.go:139.24,140.36 1 0 +github.com/echovault/echovault/internal/config/config.go:140.36,142.5 1 0 +github.com/echovault/echovault/internal/config/config.go:143.4,144.14 2 0 +github.com/echovault/echovault/internal/config/config.go:147.2,219.22 25 0 +github.com/echovault/echovault/internal/config/config.go:219.22,221.45 1 0 +github.com/echovault/echovault/internal/config/config.go:221.45,222.14 1 0 +github.com/echovault/echovault/internal/config/config.go:223.9,224.17 1 0 +github.com/echovault/echovault/internal/config/config.go:224.17,225.36 1 0 +github.com/echovault/echovault/internal/config/config.go:225.36,227.6 1 0 +github.com/echovault/echovault/internal/config/config.go:230.4,232.22 2 0 +github.com/echovault/echovault/internal/config/config.go:232.22,233.59 1 0 +github.com/echovault/echovault/internal/config/config.go:233.59,235.6 1 0 +github.com/echovault/echovault/internal/config/config.go:238.4,238.39 1 0 +github.com/echovault/echovault/internal/config/config.go:238.39,239.59 1 0 +github.com/echovault/echovault/internal/config/config.go:239.59,241.6 1 0 +github.com/echovault/echovault/internal/config/config.go:247.2,249.45 2 0 +github.com/echovault/echovault/internal/config/config.go:249.45,251.3 1 0 +github.com/echovault/echovault/internal/config/config.go:253.2,253.18 1 0 +github.com/echovault/echovault/internal/config/default.go:8.29,38.2 1 0 github.com/echovault/echovault/internal/aof/engine.go:50.56,51.30 1 1 github.com/echovault/echovault/internal/aof/engine.go:51.30,53.3 1 1 github.com/echovault/echovault/internal/aof/engine.go:56.57,57.30 1 1 @@ -102,102 +198,6 @@ github.com/echovault/echovault/internal/aof/preamble/store.go:185.43,187.4 1 1 github.com/echovault/echovault/internal/aof/preamble/store.go:189.2,189.35 1 1 github.com/echovault/echovault/internal/aof/preamble/store.go:189.35,191.3 1 1 github.com/echovault/echovault/internal/aof/preamble/store.go:192.2,192.14 1 1 -github.com/echovault/echovault/internal/config/config.go:64.34,70.24 3 0 -github.com/echovault/echovault/internal/config/config.go:70.24,72.35 2 0 -github.com/echovault/echovault/internal/config/config.go:72.35,74.5 1 0 -github.com/echovault/echovault/internal/config/config.go:75.4,75.22 1 0 -github.com/echovault/echovault/internal/config/config.go:75.22,77.5 1 0 -github.com/echovault/echovault/internal/config/config.go:78.4,79.14 2 0 -github.com/echovault/echovault/internal/config/config.go:82.2,82.115 1 0 -github.com/echovault/echovault/internal/config/config.go:82.115,85.3 2 0 -github.com/echovault/echovault/internal/config/config.go:87.2,90.29 2 0 -github.com/echovault/echovault/internal/config/config.go:90.29,91.86 1 0 -github.com/echovault/echovault/internal/config/config.go:91.86,93.5 1 0 -github.com/echovault/echovault/internal/config/config.go:93.7,95.5 1 0 -github.com/echovault/echovault/internal/config/config.go:96.4,97.14 2 0 -github.com/echovault/echovault/internal/config/config.go:100.2,103.59 2 0 -github.com/echovault/echovault/internal/config/config.go:103.59,105.17 2 0 -github.com/echovault/echovault/internal/config/config.go:105.17,107.4 1 0 -github.com/echovault/echovault/internal/config/config.go:108.3,109.13 2 0 -github.com/echovault/echovault/internal/config/config.go:112.2,121.88 2 0 -github.com/echovault/echovault/internal/config/config.go:121.88,128.23 3 0 -github.com/echovault/echovault/internal/config/config.go:128.23,130.5 1 0 -github.com/echovault/echovault/internal/config/config.go:131.4,132.14 2 0 -github.com/echovault/echovault/internal/config/config.go:135.2,139.24 2 0 -github.com/echovault/echovault/internal/config/config.go:139.24,140.36 1 0 -github.com/echovault/echovault/internal/config/config.go:140.36,142.5 1 0 -github.com/echovault/echovault/internal/config/config.go:143.4,144.14 2 0 -github.com/echovault/echovault/internal/config/config.go:147.2,219.22 25 0 -github.com/echovault/echovault/internal/config/config.go:219.22,221.45 1 0 -github.com/echovault/echovault/internal/config/config.go:221.45,222.14 1 0 -github.com/echovault/echovault/internal/config/config.go:223.9,224.17 1 0 -github.com/echovault/echovault/internal/config/config.go:224.17,225.36 1 0 -github.com/echovault/echovault/internal/config/config.go:225.36,227.6 1 0 -github.com/echovault/echovault/internal/config/config.go:230.4,232.22 2 0 -github.com/echovault/echovault/internal/config/config.go:232.22,233.59 1 0 -github.com/echovault/echovault/internal/config/config.go:233.59,235.6 1 0 -github.com/echovault/echovault/internal/config/config.go:238.4,238.39 1 0 -github.com/echovault/echovault/internal/config/config.go:238.39,239.59 1 0 -github.com/echovault/echovault/internal/config/config.go:239.59,241.6 1 0 -github.com/echovault/echovault/internal/config/config.go:247.2,249.45 2 0 -github.com/echovault/echovault/internal/config/config.go:249.45,251.3 1 0 -github.com/echovault/echovault/internal/config/config.go:253.2,253.18 1 0 -github.com/echovault/echovault/internal/config/default.go:8.29,38.2 1 0 -github.com/echovault/echovault/internal/aof/log/store.go:46.60,47.34 1 1 -github.com/echovault/echovault/internal/aof/log/store.go:47.34,49.3 1 1 -github.com/echovault/echovault/internal/aof/log/store.go:52.61,53.34 1 1 -github.com/echovault/echovault/internal/aof/log/store.go:53.34,55.3 1 1 -github.com/echovault/echovault/internal/aof/log/store.go:58.67,59.34 1 1 -github.com/echovault/echovault/internal/aof/log/store.go:59.34,61.3 1 1 -github.com/echovault/echovault/internal/aof/log/store.go:64.63,65.34 1 1 -github.com/echovault/echovault/internal/aof/log/store.go:65.34,67.3 1 1 -github.com/echovault/echovault/internal/aof/log/store.go:70.77,71.34 1 1 -github.com/echovault/echovault/internal/aof/log/store.go:71.34,73.3 1 1 -github.com/echovault/echovault/internal/aof/log/store.go:76.80,83.39 1 1 -github.com/echovault/echovault/internal/aof/log/store.go:83.40,83.41 0 0 -github.com/echovault/echovault/internal/aof/log/store.go:86.2,86.33 1 1 -github.com/echovault/echovault/internal/aof/log/store.go:86.33,88.3 1 1 -github.com/echovault/echovault/internal/aof/log/store.go:91.2,91.46 1 1 -github.com/echovault/echovault/internal/aof/log/store.go:91.46,94.17 2 1 -github.com/echovault/echovault/internal/aof/log/store.go:94.17,96.4 1 0 -github.com/echovault/echovault/internal/aof/log/store.go:97.3,98.17 2 1 -github.com/echovault/echovault/internal/aof/log/store.go:98.17,100.4 1 0 -github.com/echovault/echovault/internal/aof/log/store.go:101.3,101.15 1 1 -github.com/echovault/echovault/internal/aof/log/store.go:106.2,106.51 1 1 -github.com/echovault/echovault/internal/aof/log/store.go:106.51,107.13 1 1 -github.com/echovault/echovault/internal/aof/log/store.go:107.13,108.8 1 1 -github.com/echovault/echovault/internal/aof/log/store.go:108.8,110.40 2 1 -github.com/echovault/echovault/internal/aof/log/store.go:110.40,113.11 3 1 -github.com/echovault/echovault/internal/aof/log/store.go:115.5,116.41 2 0 -github.com/echovault/echovault/internal/aof/log/store.go:121.2,121.19 1 1 -github.com/echovault/echovault/internal/aof/log/store.go:124.55,126.21 1 1 -github.com/echovault/echovault/internal/aof/log/store.go:126.21,128.3 1 0 -github.com/echovault/echovault/internal/aof/log/store.go:130.2,135.47 4 1 -github.com/echovault/echovault/internal/aof/log/store.go:135.47,137.3 1 0 -github.com/echovault/echovault/internal/aof/log/store.go:139.2,139.49 1 1 -github.com/echovault/echovault/internal/aof/log/store.go:139.49,140.38 1 1 -github.com/echovault/echovault/internal/aof/log/store.go:140.38,142.4 1 0 -github.com/echovault/echovault/internal/aof/log/store.go:145.2,145.12 1 1 -github.com/echovault/echovault/internal/aof/log/store.go:148.40,149.21 1 1 -github.com/echovault/echovault/internal/aof/log/store.go:149.21,151.3 1 1 -github.com/echovault/echovault/internal/aof/log/store.go:152.2,152.12 1 0 -github.com/echovault/echovault/internal/aof/log/store.go:155.43,160.47 3 1 -github.com/echovault/echovault/internal/aof/log/store.go:160.47,162.3 1 0 -github.com/echovault/echovault/internal/aof/log/store.go:164.2,165.6 2 1 -github.com/echovault/echovault/internal/aof/log/store.go:165.6,167.34 2 1 -github.com/echovault/echovault/internal/aof/log/store.go:167.34,169.4 1 0 -github.com/echovault/echovault/internal/aof/log/store.go:170.3,170.13 1 1 -github.com/echovault/echovault/internal/aof/log/store.go:170.13,172.9 1 1 -github.com/echovault/echovault/internal/aof/log/store.go:174.3,175.17 2 1 -github.com/echovault/echovault/internal/aof/log/store.go:175.17,177.4 1 0 -github.com/echovault/echovault/internal/aof/log/store.go:178.3,178.31 1 1 -github.com/echovault/echovault/internal/aof/log/store.go:181.2,181.12 1 1 -github.com/echovault/echovault/internal/aof/log/store.go:184.44,187.45 3 0 -github.com/echovault/echovault/internal/aof/log/store.go:187.45,189.3 1 0 -github.com/echovault/echovault/internal/aof/log/store.go:191.2,191.47 1 0 -github.com/echovault/echovault/internal/aof/log/store.go:191.47,193.3 1 0 -github.com/echovault/echovault/internal/aof/log/store.go:194.2,194.12 1 0 -github.com/echovault/echovault/internal/aof/log/store.go:197.41,201.2 3 1 github.com/echovault/echovault/internal/eviction/lfu.go:35.29,42.2 3 1 github.com/echovault/echovault/internal/eviction/lfu.go:44.34,46.2 1 1 github.com/echovault/echovault/internal/eviction/lfu.go:48.44,50.54 1 1 @@ -238,6 +238,246 @@ github.com/echovault/echovault/internal/modules/connection/commands.go:28.9,29.3 github.com/echovault/echovault/internal/modules/connection/commands.go:30.9,31.94 1 1 github.com/echovault/echovault/internal/modules/connection/commands.go:35.36,45.84 1 1 github.com/echovault/echovault/internal/modules/connection/commands.go:45.84,51.5 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:28.68,30.16 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:30.16,32.3 1 0 +github.com/echovault/echovault/internal/modules/hash/commands.go:34.2,38.36 4 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:38.36,40.3 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:42.2,42.49 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:42.49,44.3 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:46.2,46.16 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:46.16,47.17 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:47.17,49.4 1 0 +github.com/echovault/echovault/internal/modules/hash/commands.go:50.3,50.95 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:50.95,52.4 1 0 +github.com/echovault/echovault/internal/modules/hash/commands.go:53.3,53.59 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:56.2,57.9 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:57.9,59.3 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:61.2,62.36 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:62.36,63.53 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:63.53,64.26 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:64.26,67.5 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:68.4,68.12 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:70.3,71.13 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:73.2,73.91 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:73.91,75.3 1 0 +github.com/echovault/echovault/internal/modules/hash/commands.go:77.2,77.51 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:80.68,82.16 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:82.16,84.3 1 0 +github.com/echovault/echovault/internal/modules/hash/commands.go:86.2,90.16 4 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:90.16,92.3 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:94.2,95.9 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:95.9,97.3 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:99.2,102.31 3 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:102.31,104.19 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:104.19,106.12 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:108.3,108.34 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:108.34,110.12 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:112.3,112.31 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:112.31,114.12 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:116.3,116.35 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:116.35,119.12 3 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:121.3,121.32 1 0 +github.com/echovault/echovault/internal/modules/hash/commands.go:124.2,124.25 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:127.71,129.16 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:129.16,131.3 1 0 +github.com/echovault/echovault/internal/modules/hash/commands.go:133.2,137.16 4 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:137.16,139.3 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:141.2,142.9 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:142.9,144.3 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:146.2,149.31 3 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:149.31,151.19 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:151.19,153.12 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:155.3,155.34 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:155.34,157.12 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:159.3,159.35 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:159.35,162.12 3 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:164.3,164.31 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:164.31,166.12 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:168.3,168.18 1 0 +github.com/echovault/echovault/internal/modules/hash/commands.go:171.2,171.25 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:174.69,176.16 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:176.16,178.3 1 0 +github.com/echovault/echovault/internal/modules/hash/commands.go:180.2,183.16 3 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:183.16,185.3 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:187.2,188.9 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:188.9,190.3 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:192.2,193.27 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:193.27,194.32 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:194.32,196.12 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:198.3,198.33 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:198.33,201.12 3 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:203.3,203.29 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:203.29,205.4 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:208.2,208.25 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:211.74,213.16 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:213.16,215.3 1 0 +github.com/echovault/echovault/internal/modules/hash/commands.go:217.2,221.30 4 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:221.30,223.17 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:223.17,225.4 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:226.3,226.13 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:226.13,228.4 1 0 +github.com/echovault/echovault/internal/modules/hash/commands.go:229.3,229.12 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:232.2,233.30 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:233.30,234.57 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:234.57,236.4 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:236.9,238.4 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:241.2,241.16 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:241.16,243.3 1 0 +github.com/echovault/echovault/internal/modules/hash/commands.go:245.2,246.9 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:246.9,248.3 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:251.2,251.24 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:251.24,253.17 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:253.17,255.4 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:256.3,256.34 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:256.34,258.18 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:258.18,259.36 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:259.36,261.14 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:263.5,263.37 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:263.37,266.14 3 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:268.5,268.33 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:268.33,270.14 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:274.3,274.26 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:278.2,279.29 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:279.29,281.3 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:284.2,286.46 3 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:286.46,290.16 3 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:290.16,291.59 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:291.59,293.5 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:297.2,298.16 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:298.16,300.3 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:301.2,301.38 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:301.38,303.17 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:303.17,304.41 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:304.41,306.13 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:308.4,308.42 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:308.42,311.13 3 0 +github.com/echovault/echovault/internal/modules/hash/commands.go:313.4,313.38 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:313.38,315.13 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:320.2,320.25 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:323.68,325.16 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:325.16,327.3 1 0 +github.com/echovault/echovault/internal/modules/hash/commands.go:329.2,332.16 3 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:332.16,334.3 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:336.2,337.9 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:337.9,339.3 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:341.2,341.55 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:344.69,346.16 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:346.16,348.3 1 0 +github.com/echovault/echovault/internal/modules/hash/commands.go:350.2,353.16 3 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:353.16,355.3 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:357.2,358.9 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:358.9,360.3 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:362.2,363.29 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:363.29,365.3 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:367.2,367.25 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:370.71,372.16 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:372.16,374.3 1 0 +github.com/echovault/echovault/internal/modules/hash/commands.go:376.2,383.58 6 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:383.58,385.17 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:385.17,387.4 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:388.3,388.21 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:389.8,391.17 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:391.17,393.4 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:394.3,394.19 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:397.2,397.16 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:397.16,399.59 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:399.59,401.93 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:401.93,403.5 1 0 +github.com/echovault/echovault/internal/modules/hash/commands.go:404.4,404.96 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:405.9,407.93 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:407.93,409.5 1 0 +github.com/echovault/echovault/internal/modules/hash/commands.go:410.4,410.60 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:414.2,415.9 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:415.9,417.3 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:419.2,419.24 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:419.24,421.3 1 0 +github.com/echovault/echovault/internal/modules/hash/commands.go:423.2,423.28 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:424.10,425.69 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:426.11,428.59 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:428.59,430.4 1 0 +github.com/echovault/echovault/internal/modules/hash/commands.go:430.9,432.4 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:433.15,435.59 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:435.59,437.4 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:437.9,439.4 1 0 +github.com/echovault/echovault/internal/modules/hash/commands.go:442.2,442.91 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:442.91,444.3 1 0 +github.com/echovault/echovault/internal/modules/hash/commands.go:446.2,446.40 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:446.40,448.3 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:450.2,451.47 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:454.71,456.16 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:456.16,458.3 1 0 +github.com/echovault/echovault/internal/modules/hash/commands.go:460.2,463.16 3 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:463.16,465.3 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:467.2,468.9 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:468.9,470.3 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:472.2,473.33 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:473.33,475.34 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:475.34,477.4 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:478.3,478.35 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:478.35,481.4 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:482.3,482.31 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:482.31,484.4 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:487.2,487.25 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:490.71,492.16 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:492.16,494.3 1 0 +github.com/echovault/echovault/internal/modules/hash/commands.go:496.2,500.16 4 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:500.16,502.3 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:504.2,505.9 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:505.9,507.3 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:509.2,509.24 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:509.24,511.3 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:513.2,513.30 1 0 +github.com/echovault/echovault/internal/modules/hash/commands.go:516.68,518.16 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:518.16,520.3 1 0 +github.com/echovault/echovault/internal/modules/hash/commands.go:522.2,526.16 4 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:526.16,528.3 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:530.2,531.9 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:531.9,533.3 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:535.2,537.31 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:537.31,538.25 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:538.25,541.4 2 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:544.2,544.91 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:544.91,546.3 1 0 +github.com/echovault/echovault/internal/modules/hash/commands.go:548.2,548.51 1 1 +github.com/echovault/echovault/internal/modules/hash/commands.go:551.36,675.2 1 1 +github.com/echovault/echovault/internal/modules/hash/key_funcs.go:23.74,24.18 1 1 +github.com/echovault/echovault/internal/modules/hash/key_funcs.go:24.18,26.3 1 1 +github.com/echovault/echovault/internal/modules/hash/key_funcs.go:27.2,31.8 1 1 +github.com/echovault/echovault/internal/modules/hash/key_funcs.go:34.76,35.18 1 1 +github.com/echovault/echovault/internal/modules/hash/key_funcs.go:35.18,37.3 1 0 +github.com/echovault/echovault/internal/modules/hash/key_funcs.go:38.2,42.8 1 1 +github.com/echovault/echovault/internal/modules/hash/key_funcs.go:45.74,46.18 1 1 +github.com/echovault/echovault/internal/modules/hash/key_funcs.go:46.18,48.3 1 1 +github.com/echovault/echovault/internal/modules/hash/key_funcs.go:49.2,53.8 1 1 +github.com/echovault/echovault/internal/modules/hash/key_funcs.go:56.77,57.18 1 1 +github.com/echovault/echovault/internal/modules/hash/key_funcs.go:57.18,59.3 1 1 +github.com/echovault/echovault/internal/modules/hash/key_funcs.go:60.2,64.8 1 1 +github.com/echovault/echovault/internal/modules/hash/key_funcs.go:67.75,68.19 1 1 +github.com/echovault/echovault/internal/modules/hash/key_funcs.go:68.19,70.3 1 1 +github.com/echovault/echovault/internal/modules/hash/key_funcs.go:71.2,75.8 1 1 +github.com/echovault/echovault/internal/modules/hash/key_funcs.go:78.80,79.34 1 1 +github.com/echovault/echovault/internal/modules/hash/key_funcs.go:79.34,81.3 1 1 +github.com/echovault/echovault/internal/modules/hash/key_funcs.go:82.2,82.19 1 1 +github.com/echovault/echovault/internal/modules/hash/key_funcs.go:82.19,88.3 1 1 +github.com/echovault/echovault/internal/modules/hash/key_funcs.go:89.2,93.8 1 1 +github.com/echovault/echovault/internal/modules/hash/key_funcs.go:96.74,97.19 1 1 +github.com/echovault/echovault/internal/modules/hash/key_funcs.go:97.19,99.3 1 1 +github.com/echovault/echovault/internal/modules/hash/key_funcs.go:100.2,104.8 1 1 +github.com/echovault/echovault/internal/modules/hash/key_funcs.go:107.75,108.19 1 1 +github.com/echovault/echovault/internal/modules/hash/key_funcs.go:108.19,110.3 1 1 +github.com/echovault/echovault/internal/modules/hash/key_funcs.go:111.2,115.8 1 1 +github.com/echovault/echovault/internal/modules/hash/key_funcs.go:118.77,119.19 1 1 +github.com/echovault/echovault/internal/modules/hash/key_funcs.go:119.19,121.3 1 1 +github.com/echovault/echovault/internal/modules/hash/key_funcs.go:122.2,126.8 1 1 +github.com/echovault/echovault/internal/modules/hash/key_funcs.go:129.77,130.19 1 1 +github.com/echovault/echovault/internal/modules/hash/key_funcs.go:130.19,132.3 1 1 +github.com/echovault/echovault/internal/modules/hash/key_funcs.go:133.2,137.8 1 1 +github.com/echovault/echovault/internal/modules/hash/key_funcs.go:140.77,141.19 1 1 +github.com/echovault/echovault/internal/modules/hash/key_funcs.go:141.19,143.3 1 1 +github.com/echovault/echovault/internal/modules/hash/key_funcs.go:144.2,148.8 1 1 +github.com/echovault/echovault/internal/modules/hash/key_funcs.go:151.74,152.18 1 1 +github.com/echovault/echovault/internal/modules/hash/key_funcs.go:152.18,154.3 1 1 +github.com/echovault/echovault/internal/modules/hash/key_funcs.go:155.2,159.8 1 1 github.com/echovault/echovault/internal/modules/generic/commands.go:33.67,35.16 2 1 github.com/echovault/echovault/internal/modules/generic/commands.go:35.16,37.3 1 0 github.com/echovault/echovault/internal/modules/generic/commands.go:39.2,46.16 7 1 @@ -448,246 +688,6 @@ github.com/echovault/echovault/internal/modules/generic/utils.go:107.3,109.17 3 github.com/echovault/echovault/internal/modules/generic/utils.go:109.17,111.4 1 1 github.com/echovault/echovault/internal/modules/generic/utils.go:112.3,113.55 2 1 github.com/echovault/echovault/internal/modules/generic/utils.go:115.10,116.96 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:28.68,30.16 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:30.16,32.3 1 0 -github.com/echovault/echovault/internal/modules/hash/commands.go:34.2,38.36 4 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:38.36,40.3 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:42.2,42.49 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:42.49,44.3 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:46.2,46.16 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:46.16,47.17 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:47.17,49.4 1 0 -github.com/echovault/echovault/internal/modules/hash/commands.go:50.3,50.95 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:50.95,52.4 1 0 -github.com/echovault/echovault/internal/modules/hash/commands.go:53.3,53.59 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:56.2,57.9 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:57.9,59.3 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:61.2,62.36 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:62.36,63.53 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:63.53,64.26 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:64.26,67.5 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:68.4,68.12 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:70.3,71.13 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:73.2,73.91 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:73.91,75.3 1 0 -github.com/echovault/echovault/internal/modules/hash/commands.go:77.2,77.51 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:80.68,82.16 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:82.16,84.3 1 0 -github.com/echovault/echovault/internal/modules/hash/commands.go:86.2,90.16 4 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:90.16,92.3 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:94.2,95.9 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:95.9,97.3 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:99.2,102.31 3 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:102.31,104.19 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:104.19,106.12 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:108.3,108.34 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:108.34,110.12 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:112.3,112.31 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:112.31,114.12 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:116.3,116.35 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:116.35,119.12 3 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:121.3,121.32 1 0 -github.com/echovault/echovault/internal/modules/hash/commands.go:124.2,124.25 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:127.71,129.16 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:129.16,131.3 1 0 -github.com/echovault/echovault/internal/modules/hash/commands.go:133.2,137.16 4 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:137.16,139.3 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:141.2,142.9 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:142.9,144.3 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:146.2,149.31 3 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:149.31,151.19 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:151.19,153.12 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:155.3,155.34 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:155.34,157.12 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:159.3,159.35 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:159.35,162.12 3 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:164.3,164.31 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:164.31,166.12 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:168.3,168.18 1 0 -github.com/echovault/echovault/internal/modules/hash/commands.go:171.2,171.25 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:174.69,176.16 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:176.16,178.3 1 0 -github.com/echovault/echovault/internal/modules/hash/commands.go:180.2,183.16 3 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:183.16,185.3 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:187.2,188.9 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:188.9,190.3 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:192.2,193.27 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:193.27,194.32 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:194.32,196.12 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:198.3,198.33 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:198.33,201.12 3 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:203.3,203.29 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:203.29,205.4 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:208.2,208.25 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:211.74,213.16 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:213.16,215.3 1 0 -github.com/echovault/echovault/internal/modules/hash/commands.go:217.2,221.30 4 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:221.30,223.17 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:223.17,225.4 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:226.3,226.13 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:226.13,228.4 1 0 -github.com/echovault/echovault/internal/modules/hash/commands.go:229.3,229.12 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:232.2,233.30 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:233.30,234.57 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:234.57,236.4 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:236.9,238.4 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:241.2,241.16 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:241.16,243.3 1 0 -github.com/echovault/echovault/internal/modules/hash/commands.go:245.2,246.9 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:246.9,248.3 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:251.2,251.24 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:251.24,253.17 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:253.17,255.4 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:256.3,256.34 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:256.34,258.18 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:258.18,259.36 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:259.36,261.14 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:263.5,263.37 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:263.37,266.14 3 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:268.5,268.33 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:268.33,270.14 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:274.3,274.26 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:278.2,279.29 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:279.29,281.3 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:284.2,286.46 3 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:286.46,290.16 3 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:290.16,291.59 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:291.59,293.5 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:297.2,298.16 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:298.16,300.3 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:301.2,301.38 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:301.38,303.17 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:303.17,304.41 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:304.41,306.13 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:308.4,308.42 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:308.42,311.13 3 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:313.4,313.38 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:313.38,315.13 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:320.2,320.25 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:323.68,325.16 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:325.16,327.3 1 0 -github.com/echovault/echovault/internal/modules/hash/commands.go:329.2,332.16 3 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:332.16,334.3 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:336.2,337.9 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:337.9,339.3 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:341.2,341.55 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:344.69,346.16 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:346.16,348.3 1 0 -github.com/echovault/echovault/internal/modules/hash/commands.go:350.2,353.16 3 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:353.16,355.3 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:357.2,358.9 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:358.9,360.3 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:362.2,363.29 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:363.29,365.3 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:367.2,367.25 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:370.71,372.16 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:372.16,374.3 1 0 -github.com/echovault/echovault/internal/modules/hash/commands.go:376.2,383.58 6 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:383.58,385.17 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:385.17,387.4 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:388.3,388.21 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:389.8,391.17 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:391.17,393.4 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:394.3,394.19 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:397.2,397.16 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:397.16,399.59 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:399.59,401.93 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:401.93,403.5 1 0 -github.com/echovault/echovault/internal/modules/hash/commands.go:404.4,404.96 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:405.9,407.93 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:407.93,409.5 1 0 -github.com/echovault/echovault/internal/modules/hash/commands.go:410.4,410.60 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:414.2,415.9 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:415.9,417.3 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:419.2,419.24 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:419.24,421.3 1 0 -github.com/echovault/echovault/internal/modules/hash/commands.go:423.2,423.28 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:424.10,425.69 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:426.11,428.59 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:428.59,430.4 1 0 -github.com/echovault/echovault/internal/modules/hash/commands.go:430.9,432.4 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:433.15,435.59 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:435.59,437.4 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:437.9,439.4 1 0 -github.com/echovault/echovault/internal/modules/hash/commands.go:442.2,442.91 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:442.91,444.3 1 0 -github.com/echovault/echovault/internal/modules/hash/commands.go:446.2,446.40 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:446.40,448.3 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:450.2,451.47 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:454.71,456.16 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:456.16,458.3 1 0 -github.com/echovault/echovault/internal/modules/hash/commands.go:460.2,463.16 3 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:463.16,465.3 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:467.2,468.9 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:468.9,470.3 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:472.2,473.33 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:473.33,475.34 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:475.34,477.4 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:478.3,478.35 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:478.35,481.4 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:482.3,482.31 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:482.31,484.4 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:487.2,487.25 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:490.71,492.16 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:492.16,494.3 1 0 -github.com/echovault/echovault/internal/modules/hash/commands.go:496.2,500.16 4 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:500.16,502.3 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:504.2,505.9 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:505.9,507.3 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:509.2,509.24 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:509.24,511.3 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:513.2,513.30 1 0 -github.com/echovault/echovault/internal/modules/hash/commands.go:516.68,518.16 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:518.16,520.3 1 0 -github.com/echovault/echovault/internal/modules/hash/commands.go:522.2,526.16 4 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:526.16,528.3 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:530.2,531.9 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:531.9,533.3 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:535.2,537.31 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:537.31,538.25 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:538.25,541.4 2 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:544.2,544.91 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:544.91,546.3 1 0 -github.com/echovault/echovault/internal/modules/hash/commands.go:548.2,548.51 1 1 -github.com/echovault/echovault/internal/modules/hash/commands.go:551.36,675.2 1 1 -github.com/echovault/echovault/internal/modules/hash/key_funcs.go:23.74,24.18 1 1 -github.com/echovault/echovault/internal/modules/hash/key_funcs.go:24.18,26.3 1 1 -github.com/echovault/echovault/internal/modules/hash/key_funcs.go:27.2,31.8 1 1 -github.com/echovault/echovault/internal/modules/hash/key_funcs.go:34.76,35.18 1 1 -github.com/echovault/echovault/internal/modules/hash/key_funcs.go:35.18,37.3 1 0 -github.com/echovault/echovault/internal/modules/hash/key_funcs.go:38.2,42.8 1 1 -github.com/echovault/echovault/internal/modules/hash/key_funcs.go:45.74,46.18 1 1 -github.com/echovault/echovault/internal/modules/hash/key_funcs.go:46.18,48.3 1 1 -github.com/echovault/echovault/internal/modules/hash/key_funcs.go:49.2,53.8 1 1 -github.com/echovault/echovault/internal/modules/hash/key_funcs.go:56.77,57.18 1 1 -github.com/echovault/echovault/internal/modules/hash/key_funcs.go:57.18,59.3 1 1 -github.com/echovault/echovault/internal/modules/hash/key_funcs.go:60.2,64.8 1 1 -github.com/echovault/echovault/internal/modules/hash/key_funcs.go:67.75,68.19 1 1 -github.com/echovault/echovault/internal/modules/hash/key_funcs.go:68.19,70.3 1 1 -github.com/echovault/echovault/internal/modules/hash/key_funcs.go:71.2,75.8 1 1 -github.com/echovault/echovault/internal/modules/hash/key_funcs.go:78.80,79.34 1 1 -github.com/echovault/echovault/internal/modules/hash/key_funcs.go:79.34,81.3 1 1 -github.com/echovault/echovault/internal/modules/hash/key_funcs.go:82.2,82.19 1 1 -github.com/echovault/echovault/internal/modules/hash/key_funcs.go:82.19,88.3 1 1 -github.com/echovault/echovault/internal/modules/hash/key_funcs.go:89.2,93.8 1 1 -github.com/echovault/echovault/internal/modules/hash/key_funcs.go:96.74,97.19 1 1 -github.com/echovault/echovault/internal/modules/hash/key_funcs.go:97.19,99.3 1 1 -github.com/echovault/echovault/internal/modules/hash/key_funcs.go:100.2,104.8 1 1 -github.com/echovault/echovault/internal/modules/hash/key_funcs.go:107.75,108.19 1 1 -github.com/echovault/echovault/internal/modules/hash/key_funcs.go:108.19,110.3 1 1 -github.com/echovault/echovault/internal/modules/hash/key_funcs.go:111.2,115.8 1 1 -github.com/echovault/echovault/internal/modules/hash/key_funcs.go:118.77,119.19 1 1 -github.com/echovault/echovault/internal/modules/hash/key_funcs.go:119.19,121.3 1 1 -github.com/echovault/echovault/internal/modules/hash/key_funcs.go:122.2,126.8 1 1 -github.com/echovault/echovault/internal/modules/hash/key_funcs.go:129.77,130.19 1 1 -github.com/echovault/echovault/internal/modules/hash/key_funcs.go:130.19,132.3 1 1 -github.com/echovault/echovault/internal/modules/hash/key_funcs.go:133.2,137.8 1 1 -github.com/echovault/echovault/internal/modules/hash/key_funcs.go:140.77,141.19 1 1 -github.com/echovault/echovault/internal/modules/hash/key_funcs.go:141.19,143.3 1 1 -github.com/echovault/echovault/internal/modules/hash/key_funcs.go:144.2,148.8 1 1 -github.com/echovault/echovault/internal/modules/hash/key_funcs.go:151.74,152.18 1 1 -github.com/echovault/echovault/internal/modules/hash/key_funcs.go:152.18,154.3 1 1 -github.com/echovault/echovault/internal/modules/hash/key_funcs.go:155.2,159.8 1 1 github.com/echovault/echovault/internal/modules/list/commands.go:27.68,29.16 2 1 github.com/echovault/echovault/internal/modules/list/commands.go:29.16,31.3 1 0 github.com/echovault/echovault/internal/modules/list/commands.go:33.2,36.16 3 1 @@ -1053,7 +1053,7 @@ github.com/echovault/echovault/internal/modules/set/commands.go:221.71,223.4 1 0 github.com/echovault/echovault/internal/modules/set/commands.go:223.9,225.4 1 1 github.com/echovault/echovault/internal/modules/set/commands.go:228.2,230.37 2 1 github.com/echovault/echovault/internal/modules/set/commands.go:230.37,231.14 1 1 -github.com/echovault/echovault/internal/modules/set/commands.go:231.14,233.4 1 1 +github.com/echovault/echovault/internal/modules/set/commands.go:231.14,233.4 1 0 github.com/echovault/echovault/internal/modules/set/commands.go:234.3,235.10 2 1 github.com/echovault/echovault/internal/modules/set/commands.go:235.10,238.4 1 1 github.com/echovault/echovault/internal/modules/set/commands.go:239.3,239.27 1 1 @@ -1064,7 +1064,7 @@ github.com/echovault/echovault/internal/modules/set/commands.go:251.75,253.16 2 github.com/echovault/echovault/internal/modules/set/commands.go:253.16,255.3 1 0 github.com/echovault/echovault/internal/modules/set/commands.go:257.2,261.37 3 1 github.com/echovault/echovault/internal/modules/set/commands.go:261.37,262.14 1 1 -github.com/echovault/echovault/internal/modules/set/commands.go:262.14,264.4 1 0 +github.com/echovault/echovault/internal/modules/set/commands.go:262.14,264.4 1 1 github.com/echovault/echovault/internal/modules/set/commands.go:265.3,266.10 2 1 github.com/echovault/echovault/internal/modules/set/commands.go:266.10,269.4 1 1 github.com/echovault/echovault/internal/modules/set/commands.go:270.3,270.27 1 1 @@ -2401,203 +2401,203 @@ github.com/echovault/echovault/internal/modules/acl/commands.go:36.9,38.3 1 0 github.com/echovault/echovault/internal/modules/acl/commands.go:39.2,39.102 1 1 github.com/echovault/echovault/internal/modules/acl/commands.go:39.102,41.3 1 1 github.com/echovault/echovault/internal/modules/acl/commands.go:42.2,42.42 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:45.71,46.30 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:46.30,48.3 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:50.2,51.9 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:51.9,53.3 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:55.2,57.30 3 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:57.30,58.38 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:58.38,61.9 3 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:65.2,65.16 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:65.16,67.3 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:70.2,74.18 3 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:74.18,76.3 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:76.8,78.3 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:79.2,79.21 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:79.21,81.3 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:82.2,82.17 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:82.17,84.3 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:86.2,87.29 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:87.29,89.3 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:92.2,93.51 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:93.51,94.22 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:94.22,96.12 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:98.3,98.49 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:100.2,100.51 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:100.51,101.22 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:101.22,103.12 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:105.3,105.49 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:109.2,110.48 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:110.48,111.21 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:111.21,113.12 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:115.3,115.47 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:117.2,117.48 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:117.48,118.21 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:118.21,120.12 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:122.3,122.47 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:126.2,127.79 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:127.79,128.37 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:128.37,130.4 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:132.2,133.30 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:133.30,134.10 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:135.100,137.53 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:138.53,140.52 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:141.52,143.52 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:148.2,150.54 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:150.54,152.3 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:153.2,153.54 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:153.54,155.3 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:157.2,159.25 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:162.67,163.29 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:163.29,165.3 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:167.2,171.35 3 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:171.35,172.36 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:172.36,173.48 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:173.48,175.5 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:176.4,176.12 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:178.3,178.50 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:178.50,179.51 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:179.51,182.5 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:186.2,186.30 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:186.30,189.34 3 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:189.34,192.4 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:193.3,194.28 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:194.28,196.24 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:196.24,198.5 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:200.3,200.26 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:203.2,203.30 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:203.30,205.46 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:205.46,206.54 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:206.54,208.38 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:208.38,210.30 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:210.30,212.7 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:214.5,214.28 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:219.2,219.85 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:222.69,224.9 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:224.9,226.3 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:227.2,228.33 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:228.33,230.3 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:231.2,232.25 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:235.71,237.9 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:237.9,239.3 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:240.2,240.56 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:240.56,242.3 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:243.2,243.42 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:246.71,247.29 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:247.29,249.3 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:250.2,251.9 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:251.9,253.3 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:254.2,254.75 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:254.75,256.3 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:257.2,257.42 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:260.70,262.9 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:262.9,264.3 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:265.2,266.74 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:269.68,270.29 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:270.29,272.3 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:273.2,274.9 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:274.9,276.3 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:277.2,279.33 3 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:279.33,282.19 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:282.19,284.4 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:284.9,286.4 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:288.3,288.22 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:288.22,290.4 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:292.3,292.18 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:292.18,294.4 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:296.3,296.43 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:296.43,297.61 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:297.61,299.5 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:300.4,300.58 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:300.58,302.5 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:305.3,305.52 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:305.52,306.23 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:306.23,308.13 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:310.4,310.39 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:313.3,313.52 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:313.52,314.23 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:314.23,316.13 2 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:318.4,318.39 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:321.3,321.49 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:321.49,322.22 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:322.22,324.13 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:326.4,326.37 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:329.3,329.49 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:329.49,330.22 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:330.22,332.13 2 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:334.4,334.37 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:337.3,337.45 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:337.45,338.52 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:338.52,340.13 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:342.4,342.41 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:345.3,345.46 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:345.46,346.52 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:346.52,348.5 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:351.3,351.55 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:351.55,353.4 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:355.3,355.55 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:355.55,357.4 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:358.3,358.54 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:361.2,362.25 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:365.68,366.30 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:366.30,368.3 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:370.2,371.9 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:371.9,373.3 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:375.2,379.16 4 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:379.16,381.3 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:383.2,383.15 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:383.15,384.35 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:384.35,386.4 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:389.2,393.37 3 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:393.37,394.59 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:394.59,396.4 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:399.2,399.70 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:399.70,400.59 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:400.59,402.4 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:406.2,406.29 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:406.29,410.31 3 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:410.31,411.35 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:411.35,414.54 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:414.54,416.6 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:416.11,419.6 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:420.5,420.10 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:424.3,424.17 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:424.17,426.4 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:429.2,429.42 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:432.68,433.29 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:433.29,435.3 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:437.2,438.9 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:438.9,440.3 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:442.2,446.16 4 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:446.16,448.3 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:450.2,450.15 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:450.15,451.35 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:451.35,453.4 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:456.2,458.37 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:458.37,461.17 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:461.17,463.4 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:464.3,464.40 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:464.40,466.4 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:469.2,469.70 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:469.70,472.17 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:472.17,474.4 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:475.3,475.40 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:475.40,477.4 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:480.2,480.32 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:480.32,482.3 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:484.2,484.42 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:487.36,497.84 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:497.84,503.5 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:512.84,518.5 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:527.86,533.7 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:542.86,548.7 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:557.86,563.7 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:572.86,578.7 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:588.86,594.7 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:603.86,609.7 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:618.86,624.7 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:636.86,642.7 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:651.86,657.7 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:45.67,46.29 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:46.29,48.3 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:50.2,54.35 3 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:54.35,55.36 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:55.36,56.48 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:56.48,58.5 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:59.4,59.12 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:61.3,61.50 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:61.50,62.51 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:62.51,65.5 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:69.2,69.30 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:69.30,72.34 3 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:72.34,75.4 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:76.3,77.28 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:77.28,79.24 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:79.24,81.5 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:83.3,83.26 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:86.2,86.30 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:86.30,88.46 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:88.46,89.54 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:89.54,91.38 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:91.38,93.30 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:93.30,95.7 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:97.5,97.28 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:102.2,102.85 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:105.71,106.30 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:106.30,108.3 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:110.2,111.9 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:111.9,113.3 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:114.2,119.30 5 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:119.30,120.38 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:120.38,123.9 3 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:127.2,127.16 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:127.16,129.3 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:132.2,136.18 3 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:136.18,138.3 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:138.8,140.3 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:141.2,141.21 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:141.21,143.3 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:144.2,144.17 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:144.17,146.3 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:148.2,149.29 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:149.29,151.3 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:154.2,155.51 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:155.51,156.22 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:156.22,158.12 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:160.3,160.49 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:162.2,162.51 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:162.51,163.22 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:163.22,165.12 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:167.3,167.49 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:171.2,172.48 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:172.48,173.21 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:173.21,175.12 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:177.3,177.47 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:179.2,179.48 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:179.48,180.21 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:180.21,182.12 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:184.3,184.47 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:188.2,189.79 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:189.79,190.37 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:190.37,192.4 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:194.2,195.30 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:195.30,196.10 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:197.100,199.53 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:200.53,202.52 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:203.52,205.52 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:210.2,212.54 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:212.54,214.3 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:215.2,215.54 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:215.54,217.3 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:219.2,221.25 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:224.69,226.9 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:226.9,228.3 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:230.2,231.33 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:231.33,233.3 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:234.2,235.25 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:238.71,240.9 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:240.9,242.3 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:243.2,243.56 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:243.56,245.3 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:246.2,246.42 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:249.71,250.29 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:250.29,252.3 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:253.2,254.9 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:254.9,256.3 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:257.2,257.75 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:257.75,259.3 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:260.2,260.42 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:263.70,265.9 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:265.9,267.3 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:268.2,272.74 4 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:275.68,276.29 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:276.29,278.3 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:279.2,280.9 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:280.9,282.3 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:283.2,288.33 5 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:288.33,291.19 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:291.19,293.4 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:293.9,295.4 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:297.3,297.22 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:297.22,299.4 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:301.3,301.18 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:301.18,303.4 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:305.3,305.43 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:305.43,306.61 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:306.61,308.5 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:309.4,309.58 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:309.58,311.5 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:314.3,314.52 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:314.52,315.23 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:315.23,317.13 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:319.4,319.39 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:322.3,322.52 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:322.52,323.23 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:323.23,325.13 2 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:327.4,327.39 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:330.3,330.49 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:330.49,331.22 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:331.22,333.13 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:335.4,335.37 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:338.3,338.49 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:338.49,339.22 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:339.22,341.13 2 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:343.4,343.37 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:346.3,346.45 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:346.45,347.52 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:347.52,349.13 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:351.4,351.41 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:354.3,354.46 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:354.46,355.52 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:355.52,357.5 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:360.3,360.55 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:360.55,362.4 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:364.3,364.55 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:364.55,366.4 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:367.3,367.54 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:370.2,371.25 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:374.68,375.30 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:375.30,377.3 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:379.2,380.9 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:380.9,382.3 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:383.2,387.16 4 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:387.16,389.3 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:391.2,391.15 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:391.15,392.35 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:392.35,394.4 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:397.2,401.37 3 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:401.37,402.59 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:402.59,404.4 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:407.2,407.70 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:407.70,408.59 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:408.59,410.4 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:414.2,414.29 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:414.29,418.31 3 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:418.31,419.35 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:419.35,422.54 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:422.54,424.6 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:424.11,427.6 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:428.5,428.10 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:432.3,432.17 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:432.17,434.4 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:437.2,437.42 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:440.68,441.29 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:441.29,443.3 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:445.2,446.9 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:446.9,448.3 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:450.2,454.16 4 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:454.16,456.3 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:458.2,458.15 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:458.15,459.35 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:459.35,461.4 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:464.2,466.37 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:466.37,469.17 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:469.17,471.4 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:472.3,472.40 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:472.40,474.4 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:477.2,477.70 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:477.70,480.17 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:480.17,482.4 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:483.3,483.40 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:483.40,485.4 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:488.2,488.32 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:488.32,490.3 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:492.2,492.42 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:495.36,505.84 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:505.84,511.5 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:520.84,526.5 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:535.86,541.7 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:550.86,556.7 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:565.86,571.7 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:580.86,586.7 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:596.86,602.7 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:611.86,617.7 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:626.86,632.7 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:644.86,650.7 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:659.86,665.7 1 0 github.com/echovault/echovault/internal/modules/acl/user.go:53.31,55.39 2 1 github.com/echovault/echovault/internal/modules/acl/user.go:55.39,57.3 1 1 github.com/echovault/echovault/internal/modules/acl/user.go:58.2,59.51 2 1 @@ -2695,1173 +2695,3 @@ github.com/echovault/echovault/internal/modules/acl/user.go:305.40,320.2 1 1 github.com/echovault/echovault/internal/modules/acl/user.go:322.46,323.24 1 1 github.com/echovault/echovault/internal/modules/acl/user.go:323.24,325.3 1 1 github.com/echovault/echovault/internal/modules/acl/user.go:326.2,326.26 1 1 -github.com/echovault/echovault/internal/modules/pubsub/channel.go:34.51,35.32 1 1 -github.com/echovault/echovault/internal/modules/pubsub/channel.go:35.32,37.3 1 1 -github.com/echovault/echovault/internal/modules/pubsub/channel.go:41.57,42.32 1 1 -github.com/echovault/echovault/internal/modules/pubsub/channel.go:42.32,45.3 2 1 -github.com/echovault/echovault/internal/modules/pubsub/channel.go:48.61,59.33 3 1 -github.com/echovault/echovault/internal/modules/pubsub/channel.go:59.33,61.3 1 1 -github.com/echovault/echovault/internal/modules/pubsub/channel.go:63.2,63.16 1 1 -github.com/echovault/echovault/internal/modules/pubsub/channel.go:66.28,67.12 1 1 -github.com/echovault/echovault/internal/modules/pubsub/channel.go:67.12,68.7 1 1 -github.com/echovault/echovault/internal/modules/pubsub/channel.go:68.7,73.40 3 1 -github.com/echovault/echovault/internal/modules/pubsub/channel.go:73.40,74.30 1 1 -github.com/echovault/echovault/internal/modules/pubsub/channel.go:74.30,79.21 1 1 -github.com/echovault/echovault/internal/modules/pubsub/channel.go:79.21,81.7 1 0 -github.com/echovault/echovault/internal/modules/pubsub/channel.go:85.4,85.33 1 1 -github.com/echovault/echovault/internal/modules/pubsub/channel.go:90.34,92.2 1 0 -github.com/echovault/echovault/internal/modules/pubsub/channel.go:94.40,96.2 1 0 -github.com/echovault/echovault/internal/modules/pubsub/channel.go:98.51,101.40 3 1 -github.com/echovault/echovault/internal/modules/pubsub/channel.go:101.40,103.3 1 1 -github.com/echovault/echovault/internal/modules/pubsub/channel.go:104.2,105.11 2 1 -github.com/echovault/echovault/internal/modules/pubsub/channel.go:108.53,111.40 3 1 -github.com/echovault/echovault/internal/modules/pubsub/channel.go:111.40,113.3 1 1 -github.com/echovault/echovault/internal/modules/pubsub/channel.go:114.2,115.13 2 1 -github.com/echovault/echovault/internal/modules/pubsub/channel.go:118.44,120.2 1 1 -github.com/echovault/echovault/internal/modules/pubsub/channel.go:122.36,129.2 4 1 -github.com/echovault/echovault/internal/modules/pubsub/channel.go:131.34,138.2 4 1 -github.com/echovault/echovault/internal/modules/pubsub/channel.go:140.59,145.35 4 0 -github.com/echovault/echovault/internal/modules/pubsub/channel.go:145.35,147.3 1 0 -github.com/echovault/echovault/internal/modules/pubsub/channel.go:149.2,149.20 1 0 -github.com/echovault/echovault/internal/modules/pubsub/commands.go:25.73,27.9 2 1 -github.com/echovault/echovault/internal/modules/pubsub/commands.go:27.9,29.3 1 0 -github.com/echovault/echovault/internal/modules/pubsub/commands.go:31.2,33.24 2 1 -github.com/echovault/echovault/internal/modules/pubsub/commands.go:33.24,35.3 1 0 -github.com/echovault/echovault/internal/modules/pubsub/commands.go:37.2,40.17 3 1 -github.com/echovault/echovault/internal/modules/pubsub/commands.go:43.75,45.9 2 1 -github.com/echovault/echovault/internal/modules/pubsub/commands.go:45.9,47.3 1 0 -github.com/echovault/echovault/internal/modules/pubsub/commands.go:49.2,53.90 3 1 -github.com/echovault/echovault/internal/modules/pubsub/commands.go:56.71,58.9 2 1 -github.com/echovault/echovault/internal/modules/pubsub/commands.go:58.9,60.3 1 0 -github.com/echovault/echovault/internal/modules/pubsub/commands.go:61.2,61.30 1 1 -github.com/echovault/echovault/internal/modules/pubsub/commands.go:61.30,63.3 1 0 -github.com/echovault/echovault/internal/modules/pubsub/commands.go:64.2,65.42 2 1 -github.com/echovault/echovault/internal/modules/pubsub/commands.go:68.78,69.29 1 1 -github.com/echovault/echovault/internal/modules/pubsub/commands.go:69.29,71.3 1 0 -github.com/echovault/echovault/internal/modules/pubsub/commands.go:73.2,74.9 2 1 -github.com/echovault/echovault/internal/modules/pubsub/commands.go:74.9,76.3 1 0 -github.com/echovault/echovault/internal/modules/pubsub/commands.go:78.2,79.30 2 1 -github.com/echovault/echovault/internal/modules/pubsub/commands.go:79.30,81.3 1 1 -github.com/echovault/echovault/internal/modules/pubsub/commands.go:83.2,83.38 1 1 -github.com/echovault/echovault/internal/modules/pubsub/commands.go:86.76,88.9 2 1 -github.com/echovault/echovault/internal/modules/pubsub/commands.go:88.9,90.3 1 0 -github.com/echovault/echovault/internal/modules/pubsub/commands.go:91.2,92.49 2 1 -github.com/echovault/echovault/internal/modules/pubsub/commands.go:95.77,97.9 2 1 -github.com/echovault/echovault/internal/modules/pubsub/commands.go:97.9,99.3 1 0 -github.com/echovault/echovault/internal/modules/pubsub/commands.go:100.2,100.47 1 1 -github.com/echovault/echovault/internal/modules/pubsub/commands.go:103.36,111.84 1 1 -github.com/echovault/echovault/internal/modules/pubsub/commands.go:111.84,113.21 1 1 -github.com/echovault/echovault/internal/modules/pubsub/commands.go:113.21,115.6 1 0 -github.com/echovault/echovault/internal/modules/pubsub/commands.go:116.5,120.11 1 1 -github.com/echovault/echovault/internal/modules/pubsub/commands.go:130.84,132.21 1 1 -github.com/echovault/echovault/internal/modules/pubsub/commands.go:132.21,134.6 1 0 -github.com/echovault/echovault/internal/modules/pubsub/commands.go:135.5,139.11 1 1 -github.com/echovault/echovault/internal/modules/pubsub/commands.go:149.84,151.22 1 1 -github.com/echovault/echovault/internal/modules/pubsub/commands.go:151.22,153.6 1 0 -github.com/echovault/echovault/internal/modules/pubsub/commands.go:154.5,158.11 1 1 -github.com/echovault/echovault/internal/modules/pubsub/commands.go:170.84,177.5 1 1 -github.com/echovault/echovault/internal/modules/pubsub/commands.go:188.84,194.5 1 1 -github.com/echovault/echovault/internal/modules/pubsub/commands.go:203.84,209.5 1 1 -github.com/echovault/echovault/internal/modules/pubsub/commands.go:210.68,212.5 1 0 -github.com/echovault/echovault/internal/modules/pubsub/commands.go:222.86,228.7 1 0 -github.com/echovault/echovault/internal/modules/pubsub/commands.go:237.86,243.7 1 1 -github.com/echovault/echovault/internal/modules/pubsub/commands.go:253.86,259.7 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:33.26,38.2 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:40.101,47.17 5 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:47.17,49.3 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:51.2,51.37 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:51.37,55.75 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:55.75,57.4 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:59.3,59.23 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:59.23,62.19 2 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:62.19,64.5 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:64.10,66.5 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:67.4,68.31 2 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:68.31,73.20 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:73.20,75.6 1 0 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:76.5,76.47 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:78.9,80.47 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:80.47,85.20 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:85.20,87.6 1 0 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:93.110,98.17 4 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:98.17,100.3 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:102.2,105.24 3 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:105.24,106.19 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:106.19,109.40 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:109.40,110.31 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:110.31,111.14 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:113.5,113.34 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:113.34,116.6 2 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:118.9,121.40 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:121.40,122.31 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:122.31,123.14 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:125.5,125.34 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:125.34,128.6 2 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:136.2,136.38 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:136.38,137.30 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:137.30,138.54 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:138.54,141.5 2 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:147.2,147.17 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:147.17,148.36 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:148.36,150.40 2 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:150.40,152.58 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:152.58,153.35 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:153.35,156.7 2 0 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:157.6,157.14 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:160.5,160.30 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:160.30,161.35 1 0 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:161.35,164.7 2 0 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:170.2,171.39 2 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:171.39,173.3 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:175.2,175.20 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:178.82,182.38 3 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:182.38,184.29 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:184.29,185.35 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:185.35,187.5 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:188.4,188.12 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:191.3,191.41 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:191.41,193.4 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:197.51,204.19 5 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:204.19,205.39 1 0 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:205.39,206.26 1 0 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:206.26,209.5 2 0 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:211.3,212.21 2 0 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:215.2,217.38 2 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:217.38,219.78 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:219.78,222.12 3 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:225.3,225.50 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:225.50,228.4 2 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:231.2,231.53 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:234.32,239.38 4 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:239.38,240.51 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:240.51,242.4 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:244.2,244.14 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:247.52,252.35 4 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:252.35,254.66 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:254.66,256.4 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:257.3,257.20 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:257.20,259.12 2 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:261.3,261.106 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:263.2,263.20 1 1 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:266.47,271.38 4 0 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:271.38,273.3 1 0 -github.com/echovault/echovault/internal/modules/pubsub/pubsub.go:275.2,275.17 1 0 -github.com/echovault/echovault/echovault/api_acl.go:126.71,128.23 2 1 -github.com/echovault/echovault/echovault/api_acl.go:128.23,130.3 1 1 -github.com/echovault/echovault/echovault/api_acl.go:131.2,132.16 2 1 -github.com/echovault/echovault/echovault/api_acl.go:132.16,134.3 1 0 -github.com/echovault/echovault/echovault/api_acl.go:135.2,135.45 1 1 -github.com/echovault/echovault/echovault/api_acl.go:139.55,141.16 2 1 -github.com/echovault/echovault/echovault/api_acl.go:141.16,143.3 1 0 -github.com/echovault/echovault/echovault/api_acl.go:144.2,144.45 1 1 -github.com/echovault/echovault/echovault/api_acl.go:155.62,158.18 2 1 -github.com/echovault/echovault/echovault/api_acl.go:158.18,160.3 1 1 -github.com/echovault/echovault/echovault/api_acl.go:160.8,162.3 1 0 -github.com/echovault/echovault/echovault/api_acl.go:164.2,164.21 1 1 -github.com/echovault/echovault/echovault/api_acl.go:164.21,166.3 1 1 -github.com/echovault/echovault/echovault/api_acl.go:168.2,168.17 1 1 -github.com/echovault/echovault/echovault/api_acl.go:168.17,170.3 1 1 -github.com/echovault/echovault/echovault/api_acl.go:172.2,172.21 1 1 -github.com/echovault/echovault/echovault/api_acl.go:172.21,174.3 1 1 -github.com/echovault/echovault/echovault/api_acl.go:176.2,176.20 1 1 -github.com/echovault/echovault/echovault/api_acl.go:176.20,178.3 1 0 -github.com/echovault/echovault/echovault/api_acl.go:180.2,180.20 1 1 -github.com/echovault/echovault/echovault/api_acl.go:180.20,182.3 1 0 -github.com/echovault/echovault/echovault/api_acl.go:184.2,184.24 1 1 -github.com/echovault/echovault/echovault/api_acl.go:184.24,186.3 1 0 -github.com/echovault/echovault/echovault/api_acl.go:188.2,188.50 1 1 -github.com/echovault/echovault/echovault/api_acl.go:188.50,190.3 1 1 -github.com/echovault/echovault/echovault/api_acl.go:192.2,192.53 1 1 -github.com/echovault/echovault/echovault/api_acl.go:192.53,194.3 1 0 -github.com/echovault/echovault/echovault/api_acl.go:196.2,196.49 1 1 -github.com/echovault/echovault/echovault/api_acl.go:196.49,198.3 1 1 -github.com/echovault/echovault/echovault/api_acl.go:200.2,200.52 1 1 -github.com/echovault/echovault/echovault/api_acl.go:200.52,202.3 1 0 -github.com/echovault/echovault/echovault/api_acl.go:204.2,204.50 1 1 -github.com/echovault/echovault/echovault/api_acl.go:204.50,206.3 1 1 -github.com/echovault/echovault/echovault/api_acl.go:208.2,208.50 1 1 -github.com/echovault/echovault/echovault/api_acl.go:208.50,210.3 1 1 -github.com/echovault/echovault/echovault/api_acl.go:212.2,212.47 1 1 -github.com/echovault/echovault/echovault/api_acl.go:212.47,214.3 1 1 -github.com/echovault/echovault/echovault/api_acl.go:216.2,216.47 1 1 -github.com/echovault/echovault/echovault/api_acl.go:216.47,218.3 1 1 -github.com/echovault/echovault/echovault/api_acl.go:220.2,220.48 1 1 -github.com/echovault/echovault/echovault/api_acl.go:220.48,222.3 1 1 -github.com/echovault/echovault/echovault/api_acl.go:224.2,224.43 1 1 -github.com/echovault/echovault/echovault/api_acl.go:224.43,226.3 1 1 -github.com/echovault/echovault/echovault/api_acl.go:228.2,228.44 1 1 -github.com/echovault/echovault/echovault/api_acl.go:228.44,230.3 1 1 -github.com/echovault/echovault/echovault/api_acl.go:232.2,232.47 1 1 -github.com/echovault/echovault/echovault/api_acl.go:232.47,234.3 1 1 -github.com/echovault/echovault/echovault/api_acl.go:236.2,236.47 1 1 -github.com/echovault/echovault/echovault/api_acl.go:236.47,238.3 1 1 -github.com/echovault/echovault/echovault/api_acl.go:240.2,241.16 2 1 -github.com/echovault/echovault/echovault/api_acl.go:241.16,243.3 1 0 -github.com/echovault/echovault/echovault/api_acl.go:245.2,246.40 2 1 -github.com/echovault/echovault/echovault/api_acl.go:293.83,295.16 2 1 -github.com/echovault/echovault/echovault/api_acl.go:295.16,297.3 1 0 -github.com/echovault/echovault/echovault/api_acl.go:299.2,301.16 3 1 -github.com/echovault/echovault/echovault/api_acl.go:301.16,303.3 1 0 -github.com/echovault/echovault/echovault/api_acl.go:305.2,309.35 3 1 -github.com/echovault/echovault/echovault/api_acl.go:309.35,315.35 4 1 -github.com/echovault/echovault/echovault/api_acl.go:315.35,317.4 1 1 -github.com/echovault/echovault/echovault/api_acl.go:320.2,320.20 1 1 -github.com/echovault/echovault/echovault/api_acl.go:330.72,333.16 3 1 -github.com/echovault/echovault/echovault/api_acl.go:333.16,335.3 1 0 -github.com/echovault/echovault/echovault/api_acl.go:336.2,337.40 2 1 -github.com/echovault/echovault/echovault/api_acl.go:341.54,343.16 2 1 -github.com/echovault/echovault/echovault/api_acl.go:343.16,345.3 1 0 -github.com/echovault/echovault/echovault/api_acl.go:346.2,346.45 1 1 -github.com/echovault/echovault/echovault/api_acl.go:357.72,359.9 2 0 -github.com/echovault/echovault/echovault/api_acl.go:360.21,361.29 1 0 -github.com/echovault/echovault/echovault/api_acl.go:362.23,363.31 1 0 -github.com/echovault/echovault/echovault/api_acl.go:364.10,365.31 1 0 -github.com/echovault/echovault/echovault/api_acl.go:368.2,369.16 2 0 -github.com/echovault/echovault/echovault/api_acl.go:369.16,371.3 1 0 -github.com/echovault/echovault/echovault/api_acl.go:373.2,374.40 2 0 -github.com/echovault/echovault/echovault/api_acl.go:380.50,382.16 2 0 -github.com/echovault/echovault/echovault/api_acl.go:382.16,384.3 1 0 -github.com/echovault/echovault/echovault/api_acl.go:385.2,386.40 2 0 -github.com/echovault/echovault/echovault/api_admin.go:142.87,145.22 2 1 -github.com/echovault/echovault/echovault/api_admin.go:145.22,146.10 1 1 -github.com/echovault/echovault/echovault/api_admin.go:147.32,148.75 1 1 -github.com/echovault/echovault/echovault/api_admin.go:149.33,150.77 1 1 -github.com/echovault/echovault/echovault/api_admin.go:151.32,152.75 1 1 -github.com/echovault/echovault/echovault/api_admin.go:156.2,157.16 2 1 -github.com/echovault/echovault/echovault/api_admin.go:157.16,159.3 1 0 -github.com/echovault/echovault/echovault/api_admin.go:161.2,161.45 1 1 -github.com/echovault/echovault/echovault/api_admin.go:167.54,169.16 2 1 -github.com/echovault/echovault/echovault/api_admin.go:169.16,171.3 1 0 -github.com/echovault/echovault/echovault/api_admin.go:172.2,172.41 1 1 -github.com/echovault/echovault/echovault/api_admin.go:179.47,181.16 2 1 -github.com/echovault/echovault/echovault/api_admin.go:181.16,183.3 1 0 -github.com/echovault/echovault/echovault/api_admin.go:184.2,185.42 2 1 -github.com/echovault/echovault/echovault/api_admin.go:189.50,191.16 2 1 -github.com/echovault/echovault/echovault/api_admin.go:191.16,193.3 1 0 -github.com/echovault/echovault/echovault/api_admin.go:194.2,194.41 1 1 -github.com/echovault/echovault/echovault/api_admin.go:198.55,200.16 2 0 -github.com/echovault/echovault/echovault/api_admin.go:200.16,202.3 1 0 -github.com/echovault/echovault/echovault/api_admin.go:203.2,203.40 1 0 -github.com/echovault/echovault/echovault/api_admin.go:215.67,219.36 3 1 -github.com/echovault/echovault/echovault/api_admin.go:219.36,220.52 1 1 -github.com/echovault/echovault/echovault/api_admin.go:220.52,222.4 1 0 -github.com/echovault/echovault/echovault/api_admin.go:225.2,225.63 1 1 -github.com/echovault/echovault/echovault/api_admin.go:225.63,230.32 1 1 -github.com/echovault/echovault/echovault/api_admin.go:230.32,233.44 2 1 -github.com/echovault/echovault/echovault/api_admin.go:233.44,235.6 1 0 -github.com/echovault/echovault/echovault/api_admin.go:236.5,236.16 1 1 -github.com/echovault/echovault/echovault/api_admin.go:240.111,242.19 2 0 -github.com/echovault/echovault/echovault/api_admin.go:242.19,244.6 1 0 -github.com/echovault/echovault/echovault/api_admin.go:245.5,249.11 1 0 -github.com/echovault/echovault/echovault/api_admin.go:251.94,259.5 1 1 -github.com/echovault/echovault/echovault/api_admin.go:261.3,261.13 1 1 -github.com/echovault/echovault/echovault/api_admin.go:265.2,268.31 1 1 -github.com/echovault/echovault/echovault/api_admin.go:268.31,271.43 2 1 -github.com/echovault/echovault/echovault/api_admin.go:271.43,273.5 1 0 -github.com/echovault/echovault/echovault/api_admin.go:274.4,274.15 1 1 -github.com/echovault/echovault/echovault/api_admin.go:278.83,280.4 1 0 -github.com/echovault/echovault/echovault/api_admin.go:281.71,281.90 1 0 -github.com/echovault/echovault/echovault/api_admin.go:285.2,285.40 1 1 -github.com/echovault/echovault/echovault/api_admin.go:285.40,287.92 1 1 -github.com/echovault/echovault/echovault/api_admin.go:287.92,289.4 1 1 -github.com/echovault/echovault/echovault/api_admin.go:289.6,290.12 1 0 -github.com/echovault/echovault/echovault/api_admin.go:292.3,295.32 1 1 -github.com/echovault/echovault/echovault/api_admin.go:295.32,298.39 2 1 -github.com/echovault/echovault/echovault/api_admin.go:298.39,300.6 1 0 -github.com/echovault/echovault/echovault/api_admin.go:301.5,301.16 1 1 -github.com/echovault/echovault/echovault/api_admin.go:305.111,307.19 2 0 -github.com/echovault/echovault/echovault/api_admin.go:307.19,309.6 1 0 -github.com/echovault/echovault/echovault/api_admin.go:310.5,314.11 1 0 -github.com/echovault/echovault/echovault/api_admin.go:316.94,324.5 1 1 -github.com/echovault/echovault/echovault/api_admin.go:328.2,330.12 2 1 -github.com/echovault/echovault/echovault/api_admin.go:356.76,358.2 1 1 -github.com/echovault/echovault/echovault/api_admin.go:374.59,378.22 3 1 -github.com/echovault/echovault/echovault/api_admin.go:379.9,381.86 1 1 -github.com/echovault/echovault/echovault/api_admin.go:381.86,383.4 1 1 -github.com/echovault/echovault/echovault/api_admin.go:384.9,386.45 1 1 -github.com/echovault/echovault/echovault/api_admin.go:386.45,387.66 1 1 -github.com/echovault/echovault/echovault/api_admin.go:387.66,388.13 1 1 -github.com/echovault/echovault/echovault/api_admin.go:390.4,390.88 1 1 -github.com/echovault/echovault/echovault/api_admin.go:390.88,391.122 1 1 -github.com/echovault/echovault/echovault/api_admin.go:391.122,393.6 1 1 -github.com/echovault/echovault/echovault/api_generic.go:88.91,91.9 2 1 -github.com/echovault/echovault/echovault/api_generic.go:92.18,93.26 1 1 -github.com/echovault/echovault/echovault/api_generic.go:94.18,95.26 1 1 -github.com/echovault/echovault/echovault/api_generic.go:98.2,98.9 1 1 -github.com/echovault/echovault/echovault/api_generic.go:99.23,100.65 1 1 -github.com/echovault/echovault/echovault/api_generic.go:101.23,102.65 1 1 -github.com/echovault/echovault/echovault/api_generic.go:103.25,104.69 1 1 -github.com/echovault/echovault/echovault/api_generic.go:105.25,106.69 1 1 -github.com/echovault/echovault/echovault/api_generic.go:109.2,109.17 1 1 -github.com/echovault/echovault/echovault/api_generic.go:109.17,111.3 1 1 -github.com/echovault/echovault/echovault/api_generic.go:113.2,114.16 2 1 -github.com/echovault/echovault/echovault/api_generic.go:114.16,116.3 1 1 -github.com/echovault/echovault/echovault/api_generic.go:118.2,119.16 2 1 -github.com/echovault/echovault/echovault/api_generic.go:119.16,121.3 1 0 -github.com/echovault/echovault/echovault/api_generic.go:122.2,122.18 1 1 -github.com/echovault/echovault/echovault/api_generic.go:122.18,124.3 1 1 -github.com/echovault/echovault/echovault/api_generic.go:126.2,126.33 1 1 -github.com/echovault/echovault/echovault/api_generic.go:141.72,144.28 2 1 -github.com/echovault/echovault/echovault/api_generic.go:144.28,146.3 1 1 -github.com/echovault/echovault/echovault/api_generic.go:148.2,149.16 2 1 -github.com/echovault/echovault/echovault/api_generic.go:149.16,151.3 1 0 -github.com/echovault/echovault/echovault/api_generic.go:153.2,154.16 2 1 -github.com/echovault/echovault/echovault/api_generic.go:154.16,156.3 1 0 -github.com/echovault/echovault/echovault/api_generic.go:158.2,158.40 1 1 -github.com/echovault/echovault/echovault/api_generic.go:169.58,171.16 2 1 -github.com/echovault/echovault/echovault/api_generic.go:171.16,173.3 1 0 -github.com/echovault/echovault/echovault/api_generic.go:174.2,174.40 1 1 -github.com/echovault/echovault/echovault/api_generic.go:185.65,187.16 2 1 -github.com/echovault/echovault/echovault/api_generic.go:187.16,189.3 1 0 -github.com/echovault/echovault/echovault/api_generic.go:190.2,190.45 1 1 -github.com/echovault/echovault/echovault/api_generic.go:200.59,202.16 2 1 -github.com/echovault/echovault/echovault/api_generic.go:202.16,204.3 1 0 -github.com/echovault/echovault/echovault/api_generic.go:205.2,205.41 1 1 -github.com/echovault/echovault/echovault/api_generic.go:216.60,218.16 2 1 -github.com/echovault/echovault/echovault/api_generic.go:218.16,220.3 1 0 -github.com/echovault/echovault/echovault/api_generic.go:221.2,221.41 1 1 -github.com/echovault/echovault/echovault/api_generic.go:231.62,233.16 2 1 -github.com/echovault/echovault/echovault/api_generic.go:233.16,235.3 1 0 -github.com/echovault/echovault/echovault/api_generic.go:236.2,236.41 1 1 -github.com/echovault/echovault/echovault/api_generic.go:246.63,248.16 2 1 -github.com/echovault/echovault/echovault/api_generic.go:248.16,250.3 1 0 -github.com/echovault/echovault/echovault/api_generic.go:251.2,251.41 1 1 -github.com/echovault/echovault/echovault/api_generic.go:261.55,263.16 2 1 -github.com/echovault/echovault/echovault/api_generic.go:263.16,265.3 1 0 -github.com/echovault/echovault/echovault/api_generic.go:266.2,266.41 1 1 -github.com/echovault/echovault/echovault/api_generic.go:276.56,278.16 2 1 -github.com/echovault/echovault/echovault/api_generic.go:278.16,280.3 1 0 -github.com/echovault/echovault/echovault/api_generic.go:281.2,281.41 1 1 -github.com/echovault/echovault/echovault/api_generic.go:296.95,299.9 2 1 -github.com/echovault/echovault/echovault/api_generic.go:300.18,301.26 1 1 -github.com/echovault/echovault/echovault/api_generic.go:302.18,303.26 1 1 -github.com/echovault/echovault/echovault/api_generic.go:304.18,305.26 1 1 -github.com/echovault/echovault/echovault/api_generic.go:306.18,307.26 1 1 -github.com/echovault/echovault/echovault/api_generic.go:310.2,311.16 2 1 -github.com/echovault/echovault/echovault/api_generic.go:311.16,313.3 1 0 -github.com/echovault/echovault/echovault/api_generic.go:315.2,315.41 1 1 -github.com/echovault/echovault/echovault/api_generic.go:330.102,333.9 2 1 -github.com/echovault/echovault/echovault/api_generic.go:334.18,335.26 1 0 -github.com/echovault/echovault/echovault/api_generic.go:336.18,337.26 1 0 -github.com/echovault/echovault/echovault/api_generic.go:338.18,339.26 1 0 -github.com/echovault/echovault/echovault/api_generic.go:340.18,341.26 1 0 -github.com/echovault/echovault/echovault/api_generic.go:344.2,345.16 2 1 -github.com/echovault/echovault/echovault/api_generic.go:345.16,347.3 1 0 -github.com/echovault/echovault/echovault/api_generic.go:349.2,349.41 1 1 -github.com/echovault/echovault/echovault/api_generic.go:364.102,367.9 2 1 -github.com/echovault/echovault/echovault/api_generic.go:368.18,369.26 1 1 -github.com/echovault/echovault/echovault/api_generic.go:370.18,371.26 1 1 -github.com/echovault/echovault/echovault/api_generic.go:372.18,373.26 1 1 -github.com/echovault/echovault/echovault/api_generic.go:374.18,375.26 1 1 -github.com/echovault/echovault/echovault/api_generic.go:378.2,379.16 2 1 -github.com/echovault/echovault/echovault/api_generic.go:379.16,381.3 1 0 -github.com/echovault/echovault/echovault/api_generic.go:383.2,383.41 1 1 -github.com/echovault/echovault/echovault/api_generic.go:398.109,401.9 2 1 -github.com/echovault/echovault/echovault/api_generic.go:402.18,403.26 1 0 -github.com/echovault/echovault/echovault/api_generic.go:404.18,405.26 1 0 -github.com/echovault/echovault/echovault/api_generic.go:406.18,407.26 1 0 -github.com/echovault/echovault/echovault/api_generic.go:408.18,409.26 1 0 -github.com/echovault/echovault/echovault/api_generic.go:412.2,413.16 2 1 -github.com/echovault/echovault/echovault/api_generic.go:413.16,415.3 1 0 -github.com/echovault/echovault/echovault/api_generic.go:417.2,417.41 1 1 -github.com/echovault/echovault/echovault/api_hash.go:46.91,49.36 2 1 -github.com/echovault/echovault/echovault/api_hash.go:49.36,51.3 1 1 -github.com/echovault/echovault/echovault/api_hash.go:53.2,54.16 2 1 -github.com/echovault/echovault/echovault/api_hash.go:54.16,56.3 1 0 -github.com/echovault/echovault/echovault/api_hash.go:58.2,58.41 1 1 -github.com/echovault/echovault/echovault/api_hash.go:76.93,79.36 2 1 -github.com/echovault/echovault/echovault/api_hash.go:79.36,81.3 1 1 -github.com/echovault/echovault/echovault/api_hash.go:83.2,84.16 2 1 -github.com/echovault/echovault/echovault/api_hash.go:84.16,86.3 1 0 -github.com/echovault/echovault/echovault/api_hash.go:88.2,88.41 1 1 -github.com/echovault/echovault/echovault/api_hash.go:104.79,112.16 2 1 -github.com/echovault/echovault/echovault/api_hash.go:112.16,114.3 1 1 -github.com/echovault/echovault/echovault/api_hash.go:115.2,115.45 1 1 -github.com/echovault/echovault/echovault/api_hash.go:132.79,136.16 3 1 -github.com/echovault/echovault/echovault/api_hash.go:136.16,138.3 1 1 -github.com/echovault/echovault/echovault/api_hash.go:140.2,140.46 1 1 -github.com/echovault/echovault/echovault/api_hash.go:154.62,156.16 2 1 -github.com/echovault/echovault/echovault/api_hash.go:156.16,158.3 1 1 -github.com/echovault/echovault/echovault/api_hash.go:159.2,159.45 1 1 -github.com/echovault/echovault/echovault/api_hash.go:175.94,178.24 2 1 -github.com/echovault/echovault/echovault/api_hash.go:178.24,180.3 1 1 -github.com/echovault/echovault/echovault/api_hash.go:180.8,182.3 1 1 -github.com/echovault/echovault/echovault/api_hash.go:184.2,184.24 1 1 -github.com/echovault/echovault/echovault/api_hash.go:184.24,186.3 1 1 -github.com/echovault/echovault/echovault/api_hash.go:188.2,189.16 2 1 -github.com/echovault/echovault/echovault/api_hash.go:189.16,191.3 1 1 -github.com/echovault/echovault/echovault/api_hash.go:193.2,193.45 1 1 -github.com/echovault/echovault/echovault/api_hash.go:207.56,209.16 2 1 -github.com/echovault/echovault/echovault/api_hash.go:209.16,211.3 1 1 -github.com/echovault/echovault/echovault/api_hash.go:212.2,212.41 1 1 -github.com/echovault/echovault/echovault/api_hash.go:226.62,228.16 2 1 -github.com/echovault/echovault/echovault/api_hash.go:228.16,230.3 1 1 -github.com/echovault/echovault/echovault/api_hash.go:231.2,231.45 1 1 -github.com/echovault/echovault/echovault/api_hash.go:250.85,252.16 2 1 -github.com/echovault/echovault/echovault/api_hash.go:252.16,254.3 1 1 -github.com/echovault/echovault/echovault/api_hash.go:255.2,255.39 1 1 -github.com/echovault/echovault/echovault/api_hash.go:259.94,261.16 2 1 -github.com/echovault/echovault/echovault/api_hash.go:261.16,263.3 1 0 -github.com/echovault/echovault/echovault/api_hash.go:264.2,264.39 1 1 -github.com/echovault/echovault/echovault/api_hash.go:279.64,281.16 2 1 -github.com/echovault/echovault/echovault/api_hash.go:281.16,283.3 1 1 -github.com/echovault/echovault/echovault/api_hash.go:284.2,284.45 1 1 -github.com/echovault/echovault/echovault/api_hash.go:300.67,302.16 2 1 -github.com/echovault/echovault/echovault/api_hash.go:302.16,304.3 1 1 -github.com/echovault/echovault/echovault/api_hash.go:305.2,305.41 1 1 -github.com/echovault/echovault/echovault/api_hash.go:321.74,324.16 3 1 -github.com/echovault/echovault/echovault/api_hash.go:324.16,326.3 1 1 -github.com/echovault/echovault/echovault/api_hash.go:327.2,327.41 1 1 -github.com/echovault/echovault/echovault/api_list.go:34.56,36.16 2 1 -github.com/echovault/echovault/echovault/api_list.go:36.16,38.3 1 1 -github.com/echovault/echovault/echovault/api_list.go:39.2,39.41 1 1 -github.com/echovault/echovault/echovault/api_list.go:62.79,64.16 2 1 -github.com/echovault/echovault/echovault/api_list.go:64.16,66.3 1 1 -github.com/echovault/echovault/echovault/api_list.go:67.2,67.45 1 1 -github.com/echovault/echovault/echovault/api_list.go:85.73,87.16 2 1 -github.com/echovault/echovault/echovault/api_list.go:87.16,89.3 1 1 -github.com/echovault/echovault/echovault/api_list.go:90.2,90.40 1 1 -github.com/echovault/echovault/echovault/api_list.go:110.82,112.16 2 1 -github.com/echovault/echovault/echovault/api_list.go:112.16,114.3 1 1 -github.com/echovault/echovault/echovault/api_list.go:115.2,116.40 2 1 -github.com/echovault/echovault/echovault/api_list.go:123.78,125.16 2 1 -github.com/echovault/echovault/echovault/api_list.go:125.16,127.3 1 1 -github.com/echovault/echovault/echovault/api_list.go:128.2,129.40 2 1 -github.com/echovault/echovault/echovault/api_list.go:147.82,154.16 2 1 -github.com/echovault/echovault/echovault/api_list.go:154.16,156.3 1 1 -github.com/echovault/echovault/echovault/api_list.go:157.2,158.40 2 1 -github.com/echovault/echovault/echovault/api_list.go:182.94,184.16 2 1 -github.com/echovault/echovault/echovault/api_list.go:184.16,186.3 1 1 -github.com/echovault/echovault/echovault/api_list.go:187.2,188.40 2 1 -github.com/echovault/echovault/echovault/api_list.go:202.59,204.16 2 1 -github.com/echovault/echovault/echovault/api_list.go:204.16,206.3 1 1 -github.com/echovault/echovault/echovault/api_list.go:207.2,207.40 1 1 -github.com/echovault/echovault/echovault/api_list.go:221.59,223.16 2 1 -github.com/echovault/echovault/echovault/api_list.go:223.16,225.3 1 1 -github.com/echovault/echovault/echovault/api_list.go:226.2,226.40 1 1 -github.com/echovault/echovault/echovault/api_list.go:243.75,246.16 3 1 -github.com/echovault/echovault/echovault/api_list.go:246.16,248.3 1 0 -github.com/echovault/echovault/echovault/api_list.go:249.2,249.41 1 1 -github.com/echovault/echovault/echovault/api_list.go:265.76,268.16 3 1 -github.com/echovault/echovault/echovault/api_list.go:268.16,270.3 1 1 -github.com/echovault/echovault/echovault/api_list.go:271.2,271.41 1 1 -github.com/echovault/echovault/echovault/api_list.go:288.75,291.16 3 1 -github.com/echovault/echovault/echovault/api_list.go:291.16,293.3 1 0 -github.com/echovault/echovault/echovault/api_list.go:294.2,294.41 1 1 -github.com/echovault/echovault/echovault/api_list.go:310.76,313.16 3 1 -github.com/echovault/echovault/echovault/api_list.go:313.16,315.3 1 1 -github.com/echovault/echovault/echovault/api_list.go:316.2,316.41 1 0 -github.com/echovault/echovault/echovault/api_pubsub.go:42.69,46.41 3 1 -github.com/echovault/echovault/echovault/api_pubsub.go:46.41,55.3 4 1 -github.com/echovault/echovault/echovault/api_pubsub.go:55.8,58.10 2 1 -github.com/echovault/echovault/echovault/api_pubsub.go:58.10,60.4 1 0 -github.com/echovault/echovault/echovault/api_pubsub.go:61.3,62.33 2 1 -github.com/echovault/echovault/echovault/api_pubsub.go:65.2,65.33 1 1 -github.com/echovault/echovault/echovault/api_pubsub.go:78.95,80.16 2 1 -github.com/echovault/echovault/echovault/api_pubsub.go:80.16,81.26 1 0 -github.com/echovault/echovault/echovault/api_pubsub.go:81.26,83.4 1 0 -github.com/echovault/echovault/echovault/api_pubsub.go:87.2,88.12 2 1 -github.com/echovault/echovault/echovault/api_pubsub.go:88.12,90.3 1 1 -github.com/echovault/echovault/echovault/api_pubsub.go:92.2,92.25 1 1 -github.com/echovault/echovault/echovault/api_pubsub.go:92.25,97.33 4 1 -github.com/echovault/echovault/echovault/api_pubsub.go:97.33,99.4 1 1 -github.com/echovault/echovault/echovault/api_pubsub.go:101.3,101.13 1 1 -github.com/echovault/echovault/echovault/api_pubsub.go:112.70,114.9 2 1 -github.com/echovault/echovault/echovault/api_pubsub.go:114.9,116.3 1 0 -github.com/echovault/echovault/echovault/api_pubsub.go:117.2,118.107 2 1 -github.com/echovault/echovault/echovault/api_pubsub.go:131.96,133.16 2 1 -github.com/echovault/echovault/echovault/api_pubsub.go:133.16,134.26 1 0 -github.com/echovault/echovault/echovault/api_pubsub.go:134.26,136.4 1 0 -github.com/echovault/echovault/echovault/api_pubsub.go:140.2,141.12 2 1 -github.com/echovault/echovault/echovault/api_pubsub.go:141.12,143.3 1 1 -github.com/echovault/echovault/echovault/api_pubsub.go:145.2,145.25 1 1 -github.com/echovault/echovault/echovault/api_pubsub.go:145.25,150.33 4 1 -github.com/echovault/echovault/echovault/api_pubsub.go:150.33,152.4 1 1 -github.com/echovault/echovault/echovault/api_pubsub.go:154.3,154.13 1 1 -github.com/echovault/echovault/echovault/api_pubsub.go:165.71,167.9 2 1 -github.com/echovault/echovault/echovault/api_pubsub.go:167.9,169.3 1 0 -github.com/echovault/echovault/echovault/api_pubsub.go:170.2,171.107 2 1 -github.com/echovault/echovault/echovault/api_pubsub.go:184.73,186.16 2 1 -github.com/echovault/echovault/echovault/api_pubsub.go:186.16,188.3 1 0 -github.com/echovault/echovault/echovault/api_pubsub.go:189.2,190.40 2 1 -github.com/echovault/echovault/echovault/api_pubsub.go:200.75,202.19 2 1 -github.com/echovault/echovault/echovault/api_pubsub.go:202.19,204.3 1 1 -github.com/echovault/echovault/echovault/api_pubsub.go:205.2,206.16 2 1 -github.com/echovault/echovault/echovault/api_pubsub.go:206.16,208.3 1 0 -github.com/echovault/echovault/echovault/api_pubsub.go:209.2,209.45 1 1 -github.com/echovault/echovault/echovault/api_pubsub.go:215.54,217.16 2 1 -github.com/echovault/echovault/echovault/api_pubsub.go:217.16,219.3 1 0 -github.com/echovault/echovault/echovault/api_pubsub.go:220.2,220.41 1 1 -github.com/echovault/echovault/echovault/api_pubsub.go:230.83,234.16 3 1 -github.com/echovault/echovault/echovault/api_pubsub.go:234.16,236.3 1 0 -github.com/echovault/echovault/echovault/api_pubsub.go:238.2,240.16 3 1 -github.com/echovault/echovault/echovault/api_pubsub.go:240.16,242.3 1 0 -github.com/echovault/echovault/echovault/api_pubsub.go:244.2,247.28 3 1 -github.com/echovault/echovault/echovault/api_pubsub.go:247.28,250.3 2 1 -github.com/echovault/echovault/echovault/api_pubsub.go:252.2,252.20 1 1 -github.com/echovault/echovault/echovault/api_set.go:36.75,39.16 3 1 -github.com/echovault/echovault/echovault/api_set.go:39.16,41.3 1 1 -github.com/echovault/echovault/echovault/api_set.go:42.2,42.41 1 1 -github.com/echovault/echovault/echovault/api_set.go:56.57,58.16 2 1 -github.com/echovault/echovault/echovault/api_set.go:58.16,60.3 1 1 -github.com/echovault/echovault/echovault/api_set.go:61.2,61.41 1 1 -github.com/echovault/echovault/echovault/api_set.go:78.66,81.16 3 1 -github.com/echovault/echovault/echovault/api_set.go:81.16,83.3 1 1 -github.com/echovault/echovault/echovault/api_set.go:84.2,84.45 1 1 -github.com/echovault/echovault/echovault/api_set.go:91.86,94.16 3 1 -github.com/echovault/echovault/echovault/api_set.go:94.16,96.3 1 1 -github.com/echovault/echovault/echovault/api_set.go:97.2,97.41 1 1 -github.com/echovault/echovault/echovault/api_set.go:114.67,117.16 3 1 -github.com/echovault/echovault/echovault/api_set.go:117.16,119.3 1 1 -github.com/echovault/echovault/echovault/api_set.go:120.2,120.45 1 1 -github.com/echovault/echovault/echovault/api_set.go:138.77,140.15 2 1 -github.com/echovault/echovault/echovault/api_set.go:140.15,142.3 1 1 -github.com/echovault/echovault/echovault/api_set.go:143.2,144.16 2 1 -github.com/echovault/echovault/echovault/api_set.go:144.16,146.3 1 1 -github.com/echovault/echovault/echovault/api_set.go:147.2,147.41 1 1 -github.com/echovault/echovault/echovault/api_set.go:152.87,155.16 3 1 -github.com/echovault/echovault/echovault/api_set.go:155.16,157.3 1 1 -github.com/echovault/echovault/echovault/api_set.go:158.2,158.41 1 1 -github.com/echovault/echovault/echovault/api_set.go:174.70,176.16 2 1 -github.com/echovault/echovault/echovault/api_set.go:176.16,178.3 1 1 -github.com/echovault/echovault/echovault/api_set.go:179.2,179.41 1 1 -github.com/echovault/echovault/echovault/api_set.go:193.65,195.16 2 1 -github.com/echovault/echovault/echovault/api_set.go:195.16,197.3 1 1 -github.com/echovault/echovault/echovault/api_set.go:198.2,198.45 1 1 -github.com/echovault/echovault/echovault/api_set.go:215.84,218.16 3 1 -github.com/echovault/echovault/echovault/api_set.go:218.16,220.3 1 1 -github.com/echovault/echovault/echovault/api_set.go:221.2,221.46 1 1 -github.com/echovault/echovault/echovault/api_set.go:243.82,245.16 2 1 -github.com/echovault/echovault/echovault/api_set.go:245.16,247.3 1 1 -github.com/echovault/echovault/echovault/api_set.go:248.2,248.41 1 1 -github.com/echovault/echovault/echovault/api_set.go:264.73,266.16 2 1 -github.com/echovault/echovault/echovault/api_set.go:266.16,268.3 1 1 -github.com/echovault/echovault/echovault/api_set.go:269.2,269.45 1 1 -github.com/echovault/echovault/echovault/api_set.go:286.79,288.16 2 1 -github.com/echovault/echovault/echovault/api_set.go:288.16,290.3 1 1 -github.com/echovault/echovault/echovault/api_set.go:291.2,291.45 1 1 -github.com/echovault/echovault/echovault/api_set.go:307.75,310.16 3 1 -github.com/echovault/echovault/echovault/api_set.go:310.16,312.3 1 1 -github.com/echovault/echovault/echovault/api_set.go:313.2,313.41 1 1 -github.com/echovault/echovault/echovault/api_set.go:328.67,331.16 3 1 -github.com/echovault/echovault/echovault/api_set.go:331.16,333.3 1 1 -github.com/echovault/echovault/echovault/api_set.go:334.2,334.45 1 1 -github.com/echovault/echovault/echovault/api_set.go:341.87,344.16 3 1 -github.com/echovault/echovault/echovault/api_set.go:344.16,346.3 1 1 -github.com/echovault/echovault/echovault/api_set.go:347.2,347.41 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:105.87,107.28 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:107.28,108.17 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:108.17,110.18 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:110.18,112.5 1 0 -github.com/echovault/echovault/echovault/api_sorted_set.go:113.4,114.12 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:116.3,116.23 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:118.2,118.20 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:142.105,145.9 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:146.18,147.26 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:148.18,149.26 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:152.2,152.9 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:153.18,154.26 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:155.18,156.26 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:159.2,159.16 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:159.16,161.3 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:163.2,163.18 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:163.18,165.3 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:167.2,167.37 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:167.37,169.3 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:171.2,172.16 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:172.16,174.3 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:176.2,176.41 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:190.57,192.16 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:192.16,194.3 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:195.2,195.41 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:213.76,221.16 3 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:221.16,223.3 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:224.2,224.41 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:242.93,244.16 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:244.16,246.3 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:247.2,248.16 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:248.16,250.3 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:252.2,253.16 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:253.16,255.3 1 0 -github.com/echovault/echovault/echovault/api_sorted_set.go:257.2,257.45 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:274.86,277.16 3 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:277.16,279.3 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:280.2,280.41 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:297.99,300.30 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:300.30,302.45 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:302.45,304.4 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:307.2,307.29 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:307.29,309.3 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:311.2,311.24 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:311.24,313.3 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:315.2,316.16 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:316.16,318.3 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:320.2,321.16 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:321.16,323.3 1 0 -github.com/echovault/echovault/echovault/api_sorted_set.go:325.2,325.53 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:344.114,347.30 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:347.30,349.42 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:349.42,351.4 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:354.2,354.29 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:354.29,356.3 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:358.2,358.24 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:358.24,360.3 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:362.2,363.16 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:363.16,365.3 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:367.2,367.41 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:384.99,387.30 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:387.30,389.42 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:389.42,391.4 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:394.2,394.29 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:394.29,396.3 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:398.2,398.24 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:398.24,400.3 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:402.2,403.16 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:403.16,405.3 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:407.2,408.16 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:408.16,410.3 1 0 -github.com/echovault/echovault/echovault/api_sorted_set.go:412.2,412.53 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:431.114,434.30 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:434.30,436.42 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:436.42,438.4 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:441.2,441.29 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:441.29,443.3 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:445.2,445.24 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:445.24,447.3 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:449.2,450.16 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:450.16,452.3 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:454.2,454.41 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:473.97,476.16 3 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:476.16,478.3 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:479.2,480.16 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:480.16,482.3 1 0 -github.com/echovault/echovault/echovault/api_sorted_set.go:483.2,483.15 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:500.89,503.9 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:504.19,505.27 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:506.19,507.27 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:508.10,509.27 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:512.2,512.9 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:513.26,514.76 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:515.10,516.59 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:519.2,520.16 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:520.16,522.3 1 0 -github.com/echovault/echovault/echovault/api_sorted_set.go:524.2,524.51 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:542.88,544.33 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:544.33,546.3 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:548.2,549.16 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:549.16,551.3 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:553.2,554.16 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:554.16,556.3 1 0 -github.com/echovault/echovault/echovault/api_sorted_set.go:558.2,559.24 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:559.24,560.14 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:560.14,562.12 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:564.3,565.17 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:565.17,567.4 1 0 -github.com/echovault/echovault/echovault/api_sorted_set.go:568.3,568.20 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:571.2,571.20 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:591.71,594.16 3 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:594.16,596.3 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:597.2,597.41 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:616.78,618.16 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:618.16,620.3 1 0 -github.com/echovault/echovault/echovault/api_sorted_set.go:621.2,621.51 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:640.78,642.16 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:642.16,644.3 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:645.2,645.51 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:669.98,671.16 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:671.16,673.3 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:674.2,674.16 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:674.16,676.3 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:678.2,679.16 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:679.16,681.3 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:683.2,683.51 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:704.101,706.16 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:706.16,708.3 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:710.2,711.16 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:711.16,713.3 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:715.2,717.19 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:717.19,719.3 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:721.2,722.16 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:722.16,724.3 1 0 -github.com/echovault/echovault/echovault/api_sorted_set.go:726.2,728.16 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:728.16,730.17 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:730.17,732.4 1 0 -github.com/echovault/echovault/echovault/api_sorted_set.go:733.3,733.13 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:736.2,736.17 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:741.104,743.16 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:743.16,745.3 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:747.2,748.16 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:748.16,750.3 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:752.2,754.19 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:754.19,756.3 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:758.2,759.16 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:759.16,761.3 1 0 -github.com/echovault/echovault/echovault/api_sorted_set.go:763.2,765.16 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:765.16,767.17 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:767.17,769.4 1 0 -github.com/echovault/echovault/echovault/api_sorted_set.go:770.3,770.13 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:773.2,773.17 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:790.81,793.16 3 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:793.16,795.3 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:797.2,798.16 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:798.16,800.3 1 0 -github.com/echovault/echovault/echovault/api_sorted_set.go:802.2,802.11 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:802.11,804.3 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:806.2,807.16 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:807.16,809.3 1 0 -github.com/echovault/echovault/echovault/api_sorted_set.go:811.2,811.19 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:827.75,829.33 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:829.33,831.3 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:832.2,833.16 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:833.16,835.3 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:836.2,836.41 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:854.94,863.16 3 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:863.16,865.3 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:867.2,867.41 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:885.76,892.16 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:892.16,894.3 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:895.2,895.41 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:913.81,920.16 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:920.16,922.3 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:923.2,923.41 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:943.109,946.9 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:947.23,948.31 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:949.21,950.29 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:951.19,952.27 1 0 -github.com/echovault/echovault/echovault/api_sorted_set.go:953.10,954.31 1 0 -github.com/echovault/echovault/echovault/api_sorted_set.go:957.2,957.24 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:957.24,959.3 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:961.2,961.47 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:961.47,963.3 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:965.2,966.16 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:966.16,968.3 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:970.2,971.16 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:971.16,973.3 1 0 -github.com/echovault/echovault/echovault/api_sorted_set.go:975.2,975.53 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:997.120,1000.9 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:1001.23,1002.31 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:1003.21,1004.29 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:1005.19,1006.27 1 0 -github.com/echovault/echovault/echovault/api_sorted_set.go:1007.10,1008.31 1 0 -github.com/echovault/echovault/echovault/api_sorted_set.go:1011.2,1011.47 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:1011.47,1013.3 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:1015.2,1016.16 2 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:1016.16,1018.3 1 1 -github.com/echovault/echovault/echovault/api_sorted_set.go:1020.2,1020.41 1 1 -github.com/echovault/echovault/echovault/api_string.go:30.84,32.16 2 1 -github.com/echovault/echovault/echovault/api_string.go:32.16,34.3 1 0 -github.com/echovault/echovault/echovault/api_string.go:35.2,35.41 1 1 -github.com/echovault/echovault/echovault/api_string.go:45.58,47.16 2 1 -github.com/echovault/echovault/echovault/api_string.go:47.16,49.3 1 0 -github.com/echovault/echovault/echovault/api_string.go:50.2,50.41 1 1 -github.com/echovault/echovault/echovault/api_string.go:63.77,65.16 2 1 -github.com/echovault/echovault/echovault/api_string.go:65.16,67.3 1 0 -github.com/echovault/echovault/echovault/api_string.go:68.2,68.40 1 1 -github.com/echovault/echovault/echovault/api_string.go:72.79,74.16 2 1 -github.com/echovault/echovault/echovault/api_string.go:74.16,76.3 1 0 -github.com/echovault/echovault/echovault/api_string.go:77.2,77.40 1 1 -github.com/echovault/echovault/echovault/cluster.go:25.45,27.2 1 1 -github.com/echovault/echovault/echovault/cluster.go:29.84,40.16 4 1 -github.com/echovault/echovault/echovault/cluster.go:40.16,42.3 1 0 -github.com/echovault/echovault/echovault/cluster.go:44.2,46.43 2 1 -github.com/echovault/echovault/echovault/cluster.go:46.43,48.3 1 0 -github.com/echovault/echovault/echovault/cluster.go:50.2,52.9 2 1 -github.com/echovault/echovault/echovault/cluster.go:52.9,54.3 1 0 -github.com/echovault/echovault/echovault/cluster.go:56.2,56.20 1 1 -github.com/echovault/echovault/echovault/cluster.go:56.20,58.3 1 0 -github.com/echovault/echovault/echovault/cluster.go:60.2,60.12 1 1 -github.com/echovault/echovault/echovault/cluster.go:63.94,75.16 5 1 -github.com/echovault/echovault/echovault/cluster.go:75.16,77.3 1 0 -github.com/echovault/echovault/echovault/cluster.go:79.2,81.43 2 1 -github.com/echovault/echovault/echovault/cluster.go:81.43,83.3 1 0 -github.com/echovault/echovault/echovault/cluster.go:85.2,87.9 2 1 -github.com/echovault/echovault/echovault/cluster.go:87.9,89.3 1 0 -github.com/echovault/echovault/echovault/cluster.go:91.2,91.20 1 1 -github.com/echovault/echovault/echovault/cluster.go:91.20,93.3 1 0 -github.com/echovault/echovault/echovault/cluster.go:95.2,95.24 1 1 -github.com/echovault/echovault/echovault/config.go:23.36,25.2 1 1 -github.com/echovault/echovault/echovault/echovault.go:109.66,110.36 1 1 -github.com/echovault/echovault/echovault/echovault.go:110.36,112.3 1 1 -github.com/echovault/echovault/echovault/echovault.go:118.66,119.36 1 1 -github.com/echovault/echovault/echovault/echovault.go:119.36,121.3 1 1 -github.com/echovault/echovault/echovault/echovault.go:126.78,134.39 1 1 -github.com/echovault/echovault/echovault/echovault.go:134.39,147.4 12 1 -github.com/echovault/echovault/echovault/echovault.go:151.2,151.33 1 1 -github.com/echovault/echovault/echovault/echovault.go:151.33,153.3 1 1 -github.com/echovault/echovault/echovault/echovault.go:155.2,161.48 2 1 -github.com/echovault/echovault/echovault/echovault.go:161.48,162.52 1 0 -github.com/echovault/echovault/echovault/echovault.go:162.52,164.12 2 0 -github.com/echovault/echovault/echovault/echovault.go:166.3,166.41 1 0 -github.com/echovault/echovault/echovault/echovault.go:170.2,175.29 3 1 -github.com/echovault/echovault/echovault/echovault.go:175.29,185.38 1 1 -github.com/echovault/echovault/echovault/echovault.go:185.38,189.5 3 1 -github.com/echovault/echovault/echovault/echovault.go:190.49,192.44 2 0 -github.com/echovault/echovault/echovault/echovault.go:192.44,193.46 1 0 -github.com/echovault/echovault/echovault/echovault.go:193.46,195.7 1 0 -github.com/echovault/echovault/echovault/echovault.go:197.5,197.17 1 0 -github.com/echovault/echovault/echovault/echovault.go:200.3,208.5 1 1 -github.com/echovault/echovault/echovault/echovault.go:209.8,220.65 1 1 -github.com/echovault/echovault/echovault/echovault.go:220.65,222.44 2 1 -github.com/echovault/echovault/echovault/echovault.go:222.44,223.46 1 0 -github.com/echovault/echovault/echovault/echovault.go:223.46,225.7 1 0 -github.com/echovault/echovault/echovault/echovault.go:227.5,227.17 1 1 -github.com/echovault/echovault/echovault/echovault.go:229.72,231.93 2 0 -github.com/echovault/echovault/echovault/echovault.go:231.93,233.6 1 0 -github.com/echovault/echovault/echovault/echovault.go:234.5,234.56 1 0 -github.com/echovault/echovault/echovault/echovault.go:238.3,244.60 1 1 -github.com/echovault/echovault/echovault/echovault.go:244.60,246.44 2 0 -github.com/echovault/echovault/echovault/echovault.go:246.44,247.46 1 0 -github.com/echovault/echovault/echovault/echovault.go:247.46,249.7 1 0 -github.com/echovault/echovault/echovault/echovault.go:251.5,251.17 1 0 -github.com/echovault/echovault/echovault/echovault.go:253.68,255.94 2 0 -github.com/echovault/echovault/echovault/echovault.go:255.94,257.6 1 0 -github.com/echovault/echovault/echovault/echovault.go:258.5,258.57 1 0 -github.com/echovault/echovault/echovault/echovault.go:260.51,262.19 2 0 -github.com/echovault/echovault/echovault/echovault.go:262.19,264.6 1 0 -github.com/echovault/echovault/echovault/echovault.go:267.3,267.17 1 1 -github.com/echovault/echovault/echovault/echovault.go:267.17,269.4 1 0 -github.com/echovault/echovault/echovault/echovault.go:270.3,270.34 1 1 -github.com/echovault/echovault/echovault/echovault.go:274.2,274.61 1 1 -github.com/echovault/echovault/echovault/echovault.go:274.61,275.13 1 1 -github.com/echovault/echovault/echovault/echovault.go:275.13,276.8 1 1 -github.com/echovault/echovault/echovault/echovault.go:276.8,278.83 2 1 -github.com/echovault/echovault/echovault/echovault.go:278.83,280.6 1 0 -github.com/echovault/echovault/echovault/echovault.go:285.2,285.69 1 1 -github.com/echovault/echovault/echovault/echovault.go:285.69,287.3 1 0 -github.com/echovault/echovault/echovault/echovault.go:289.2,289.29 1 1 -github.com/echovault/echovault/echovault/echovault.go:289.29,293.36 3 1 -github.com/echovault/echovault/echovault/echovault.go:293.36,295.4 1 0 -github.com/echovault/echovault/echovault/echovault.go:298.2,298.30 1 1 -github.com/echovault/echovault/echovault/echovault.go:298.30,301.34 2 1 -github.com/echovault/echovault/echovault/echovault.go:301.34,303.18 2 0 -github.com/echovault/echovault/echovault/echovault.go:303.18,305.5 1 0 -github.com/echovault/echovault/echovault/echovault.go:309.3,309.71 1 1 -github.com/echovault/echovault/echovault/echovault.go:309.71,311.18 2 0 -github.com/echovault/echovault/echovault/echovault.go:311.18,313.5 1 0 -github.com/echovault/echovault/echovault/echovault.go:317.2,317.23 1 1 -github.com/echovault/echovault/echovault/echovault.go:320.37,332.16 4 1 -github.com/echovault/echovault/echovault/echovault.go:332.16,335.3 2 0 -github.com/echovault/echovault/echovault/echovault.go:337.2,337.15 1 1 -github.com/echovault/echovault/echovault/echovault.go:337.15,340.3 1 1 -github.com/echovault/echovault/echovault/echovault.go:342.2,342.27 1 1 -github.com/echovault/echovault/echovault/echovault.go:342.27,344.16 1 1 -github.com/echovault/echovault/echovault/echovault.go:344.16,346.4 1 1 -github.com/echovault/echovault/echovault/echovault.go:346.9,348.4 1 1 -github.com/echovault/echovault/echovault/echovault.go:350.3,351.49 2 1 -github.com/echovault/echovault/echovault/echovault.go:351.49,353.18 2 1 -github.com/echovault/echovault/echovault/echovault.go:353.18,356.5 2 0 -github.com/echovault/echovault/echovault/echovault.go:357.4,357.42 1 1 -github.com/echovault/echovault/echovault/echovault.go:360.3,363.16 3 1 -github.com/echovault/echovault/echovault/echovault.go:363.16,365.37 2 1 -github.com/echovault/echovault/echovault/echovault.go:365.37,367.19 2 1 -github.com/echovault/echovault/echovault/echovault.go:367.19,370.6 2 0 -github.com/echovault/echovault/echovault/echovault.go:371.5,372.19 2 1 -github.com/echovault/echovault/echovault/echovault.go:372.19,374.6 1 0 -github.com/echovault/echovault/echovault/echovault.go:375.5,375.61 1 1 -github.com/echovault/echovault/echovault/echovault.go:375.61,377.6 1 0 -github.com/echovault/echovault/echovault/echovault.go:381.3,385.5 1 1 -github.com/echovault/echovault/echovault/echovault.go:388.2,391.6 2 1 -github.com/echovault/echovault/echovault/echovault.go:391.6,392.10 1 1 -github.com/echovault/echovault/echovault/echovault.go:393.22,394.10 1 1 -github.com/echovault/echovault/echovault/echovault.go:395.11,397.18 2 1 -github.com/echovault/echovault/echovault/echovault.go:397.18,399.13 2 1 -github.com/echovault/echovault/echovault/echovault.go:402.4,402.36 1 1 -github.com/echovault/echovault/echovault/echovault.go:407.58,409.23 1 1 -github.com/echovault/echovault/echovault/echovault.go:409.23,411.3 1 1 -github.com/echovault/echovault/echovault/echovault.go:413.2,419.15 4 1 -github.com/echovault/echovault/echovault/echovault.go:419.15,421.38 2 1 -github.com/echovault/echovault/echovault/echovault.go:421.38,423.4 1 0 -github.com/echovault/echovault/echovault/echovault.go:426.2,426.6 1 1 -github.com/echovault/echovault/echovault/echovault.go:426.6,429.43 2 1 -github.com/echovault/echovault/echovault/echovault.go:429.43,432.9 2 0 -github.com/echovault/echovault/echovault/echovault.go:435.3,435.17 1 1 -github.com/echovault/echovault/echovault/echovault.go:435.17,437.9 2 0 -github.com/echovault/echovault/echovault/echovault.go:440.3,441.43 2 1 -github.com/echovault/echovault/echovault/echovault.go:441.43,442.9 1 1 -github.com/echovault/echovault/echovault/echovault.go:444.3,444.17 1 1 -github.com/echovault/echovault/echovault/echovault.go:444.17,445.87 1 1 -github.com/echovault/echovault/echovault/echovault.go:445.87,447.5 1 0 -github.com/echovault/echovault/echovault/echovault.go:448.4,448.12 1 1 -github.com/echovault/echovault/echovault/echovault.go:451.3,454.20 2 1 -github.com/echovault/echovault/echovault/echovault.go:454.20,455.12 1 0 -github.com/echovault/echovault/echovault/echovault.go:458.3,458.28 1 1 -github.com/echovault/echovault/echovault/echovault.go:458.28,460.12 2 1 -github.com/echovault/echovault/echovault/echovault.go:464.3,465.7 2 0 -github.com/echovault/echovault/echovault/echovault.go:465.7,467.41 1 0 -github.com/echovault/echovault/echovault/echovault.go:467.41,469.19 2 0 -github.com/echovault/echovault/echovault/echovault.go:469.19,471.6 1 0 -github.com/echovault/echovault/echovault/echovault.go:472.5,472.10 1 0 -github.com/echovault/echovault/echovault/echovault.go:474.4,475.21 2 0 -github.com/echovault/echovault/echovault/echovault.go:475.21,476.10 1 0 -github.com/echovault/echovault/echovault/echovault.go:478.4,478.27 1 0 -github.com/echovault/echovault/echovault/echovault.go:488.34,490.2 1 1 -github.com/echovault/echovault/echovault/echovault.go:493.47,494.38 1 1 -github.com/echovault/echovault/echovault/echovault.go:494.38,496.3 1 0 -github.com/echovault/echovault/echovault/echovault.go:498.2,498.12 1 1 -github.com/echovault/echovault/echovault/echovault.go:498.12,499.27 1 1 -github.com/echovault/echovault/echovault/echovault.go:499.27,501.53 1 0 -github.com/echovault/echovault/echovault/echovault.go:501.53,503.5 1 0 -github.com/echovault/echovault/echovault/echovault.go:504.4,504.10 1 0 -github.com/echovault/echovault/echovault/echovault.go:507.3,507.62 1 1 -github.com/echovault/echovault/echovault/echovault.go:507.62,509.4 1 0 -github.com/echovault/echovault/echovault/echovault.go:512.2,512.12 1 1 -github.com/echovault/echovault/echovault/echovault.go:515.42,517.2 1 1 -github.com/echovault/echovault/echovault/echovault.go:519.43,521.2 1 1 -github.com/echovault/echovault/echovault/echovault.go:523.56,525.2 1 1 -github.com/echovault/echovault/echovault/echovault.go:528.56,530.2 1 1 -github.com/echovault/echovault/echovault/echovault.go:532.44,534.2 1 0 -github.com/echovault/echovault/echovault/echovault.go:536.45,538.2 1 0 -github.com/echovault/echovault/echovault/echovault.go:541.45,542.40 1 0 -github.com/echovault/echovault/echovault/echovault.go:542.40,544.3 1 0 -github.com/echovault/echovault/echovault/echovault.go:545.2,545.12 1 0 -github.com/echovault/echovault/echovault/echovault.go:545.12,546.55 1 0 -github.com/echovault/echovault/echovault/echovault.go:546.55,548.4 1 0 -github.com/echovault/echovault/echovault/echovault.go:550.2,550.12 1 0 -github.com/echovault/echovault/echovault/echovault.go:555.37,556.28 1 1 -github.com/echovault/echovault/echovault/echovault.go:556.28,557.13 1 1 -github.com/echovault/echovault/echovault/echovault.go:557.13,557.42 1 1 -github.com/echovault/echovault/echovault/echovault.go:558.3,559.49 2 1 -github.com/echovault/echovault/echovault/echovault.go:559.49,561.4 1 0 -github.com/echovault/echovault/echovault/echovault.go:563.2,563.26 1 1 -github.com/echovault/echovault/echovault/echovault.go:563.26,566.3 2 1 -github.com/echovault/echovault/echovault/echovault.go:569.45,586.2 2 1 -github.com/echovault/echovault/echovault/keyspace.go:32.67,38.27 4 1 -github.com/echovault/echovault/echovault/keyspace.go:38.27,41.3 2 1 -github.com/echovault/echovault/echovault/keyspace.go:43.2,43.15 1 1 -github.com/echovault/echovault/echovault/keyspace.go:46.58,51.9 4 1 -github.com/echovault/echovault/echovault/keyspace.go:51.9,53.3 1 0 -github.com/echovault/echovault/echovault/keyspace.go:55.2,55.23 1 1 -github.com/echovault/echovault/echovault/keyspace.go:58.95,64.27 4 1 -github.com/echovault/echovault/echovault/keyspace.go:64.27,66.10 2 1 -github.com/echovault/echovault/echovault/keyspace.go:66.10,68.12 2 1 -github.com/echovault/echovault/echovault/keyspace.go:71.3,71.83 1 1 -github.com/echovault/echovault/echovault/keyspace.go:71.83,72.29 1 0 -github.com/echovault/echovault/echovault/keyspace.go:72.29,75.19 2 0 -github.com/echovault/echovault/echovault/keyspace.go:75.19,77.6 1 0 -github.com/echovault/echovault/echovault/keyspace.go:78.10,78.65 1 0 -github.com/echovault/echovault/echovault/keyspace.go:78.65,81.19 2 0 -github.com/echovault/echovault/echovault/keyspace.go:81.19,83.6 1 0 -github.com/echovault/echovault/echovault/keyspace.go:84.10,84.66 1 0 -github.com/echovault/echovault/echovault/keyspace.go:84.66,89.5 1 0 -github.com/echovault/echovault/echovault/keyspace.go:90.4,91.12 2 0 -github.com/echovault/echovault/echovault/keyspace.go:94.3,94.28 1 1 -github.com/echovault/echovault/echovault/keyspace.go:98.2,98.46 1 1 -github.com/echovault/echovault/echovault/keyspace.go:98.46,99.61 1 1 -github.com/echovault/echovault/echovault/keyspace.go:99.61,101.4 1 0 -github.com/echovault/echovault/echovault/keyspace.go:104.2,104.15 1 1 -github.com/echovault/echovault/echovault/keyspace.go:107.95,111.115 3 1 -github.com/echovault/echovault/echovault/keyspace.go:111.115,113.3 1 0 -github.com/echovault/echovault/echovault/keyspace.go:115.2,115.34 1 1 -github.com/echovault/echovault/echovault/keyspace.go:115.34,117.37 2 1 -github.com/echovault/echovault/echovault/keyspace.go:117.37,119.4 1 1 -github.com/echovault/echovault/echovault/keyspace.go:120.3,124.28 2 1 -github.com/echovault/echovault/echovault/keyspace.go:124.28,126.4 1 1 -github.com/echovault/echovault/echovault/keyspace.go:130.2,130.63 1 1 -github.com/echovault/echovault/echovault/keyspace.go:130.63,131.31 1 1 -github.com/echovault/echovault/echovault/keyspace.go:131.31,133.18 2 1 -github.com/echovault/echovault/echovault/keyspace.go:133.18,135.5 1 0 -github.com/echovault/echovault/echovault/keyspace.go:139.2,139.12 1 1 -github.com/echovault/echovault/echovault/keyspace.go:142.101,153.55 5 1 -github.com/echovault/echovault/echovault/keyspace.go:153.55,155.3 1 1 -github.com/echovault/echovault/echovault/keyspace.go:156.2,159.11 2 1 -github.com/echovault/echovault/echovault/keyspace.go:159.11,160.44 1 1 -github.com/echovault/echovault/echovault/keyspace.go:160.44,162.18 2 1 -github.com/echovault/echovault/echovault/keyspace.go:162.18,164.5 1 0 -github.com/echovault/echovault/echovault/keyspace.go:169.54,176.97 4 1 -github.com/echovault/echovault/echovault/keyspace.go:176.97,178.3 1 1 -github.com/echovault/echovault/echovault/keyspace.go:181.2,181.9 1 1 -github.com/echovault/echovault/echovault/keyspace.go:182.108,183.36 1 0 -github.com/echovault/echovault/echovault/keyspace.go:184.108,185.36 1 0 -github.com/echovault/echovault/echovault/keyspace.go:188.2,190.12 2 1 -github.com/echovault/echovault/echovault/keyspace.go:193.60,195.6 1 1 -github.com/echovault/echovault/echovault/keyspace.go:195.6,196.83 1 1 -github.com/echovault/echovault/echovault/keyspace.go:196.83,198.9 2 1 -github.com/echovault/echovault/echovault/keyspace.go:201.2,202.33 2 1 -github.com/echovault/echovault/echovault/keyspace.go:202.33,204.3 1 0 -github.com/echovault/echovault/echovault/keyspace.go:205.2,206.13 2 1 -github.com/echovault/echovault/echovault/keyspace.go:211.86,212.27 1 1 -github.com/echovault/echovault/echovault/keyspace.go:212.27,214.84 1 1 -github.com/echovault/echovault/echovault/keyspace.go:214.84,216.4 1 1 -github.com/echovault/echovault/echovault/keyspace.go:218.3,218.35 1 1 -github.com/echovault/echovault/echovault/keyspace.go:218.35,220.4 1 1 -github.com/echovault/echovault/echovault/keyspace.go:221.3,221.56 1 0 -github.com/echovault/echovault/echovault/keyspace.go:222.29,225.34 3 0 -github.com/echovault/echovault/echovault/keyspace.go:226.29,229.34 3 0 -github.com/echovault/echovault/echovault/keyspace.go:230.30,232.51 2 0 -github.com/echovault/echovault/echovault/keyspace.go:232.51,234.5 1 0 -github.com/echovault/echovault/echovault/keyspace.go:235.4,235.34 1 0 -github.com/echovault/echovault/echovault/keyspace.go:236.30,238.51 2 0 -github.com/echovault/echovault/echovault/keyspace.go:238.51,240.5 1 0 -github.com/echovault/echovault/echovault/keyspace.go:241.4,241.34 1 0 -github.com/echovault/echovault/echovault/keyspace.go:243.3,243.55 1 0 -github.com/echovault/echovault/echovault/keyspace.go:243.55,245.4 1 0 -github.com/echovault/echovault/echovault/keyspace.go:247.2,247.12 1 0 -github.com/echovault/echovault/echovault/keyspace.go:251.71,253.34 1 0 -github.com/echovault/echovault/echovault/keyspace.go:253.34,255.3 1 0 -github.com/echovault/echovault/echovault/keyspace.go:258.2,261.50 3 0 -github.com/echovault/echovault/echovault/keyspace.go:261.50,263.3 1 0 -github.com/echovault/echovault/echovault/keyspace.go:265.2,267.50 3 0 -github.com/echovault/echovault/echovault/keyspace.go:267.50,269.3 1 0 -github.com/echovault/echovault/echovault/keyspace.go:273.2,275.9 3 0 -github.com/echovault/echovault/echovault/keyspace.go:276.125,281.7 3 0 -github.com/echovault/echovault/echovault/keyspace.go:281.7,283.40 1 0 -github.com/echovault/echovault/echovault/keyspace.go:283.40,285.5 1 0 -github.com/echovault/echovault/echovault/keyspace.go:287.4,288.29 2 0 -github.com/echovault/echovault/echovault/keyspace.go:288.29,290.49 1 0 -github.com/echovault/echovault/echovault/keyspace.go:290.49,292.6 1 0 -github.com/echovault/echovault/echovault/keyspace.go:293.10,293.65 1 0 -github.com/echovault/echovault/echovault/keyspace.go:293.65,295.63 1 0 -github.com/echovault/echovault/echovault/keyspace.go:295.63,297.6 1 0 -github.com/echovault/echovault/echovault/keyspace.go:301.4,304.52 3 0 -github.com/echovault/echovault/echovault/keyspace.go:304.52,306.5 1 0 -github.com/echovault/echovault/echovault/keyspace.go:308.125,313.7 3 0 -github.com/echovault/echovault/echovault/keyspace.go:313.7,315.40 1 0 -github.com/echovault/echovault/echovault/keyspace.go:315.40,317.5 1 0 -github.com/echovault/echovault/echovault/keyspace.go:319.4,320.29 2 0 -github.com/echovault/echovault/echovault/keyspace.go:320.29,322.49 1 0 -github.com/echovault/echovault/echovault/keyspace.go:322.49,324.6 1 0 -github.com/echovault/echovault/echovault/keyspace.go:325.10,325.65 1 0 -github.com/echovault/echovault/echovault/keyspace.go:325.65,328.63 1 0 -github.com/echovault/echovault/echovault/keyspace.go:328.63,330.6 1 0 -github.com/echovault/echovault/echovault/keyspace.go:334.4,337.52 3 0 -github.com/echovault/echovault/echovault/keyspace.go:337.52,339.5 1 0 -github.com/echovault/echovault/echovault/keyspace.go:341.105,344.7 1 0 -github.com/echovault/echovault/echovault/keyspace.go:344.7,347.30 2 0 -github.com/echovault/echovault/echovault/keyspace.go:347.30,351.5 3 0 -github.com/echovault/echovault/echovault/keyspace.go:353.4,354.37 2 0 -github.com/echovault/echovault/echovault/keyspace.go:354.37,355.17 1 0 -github.com/echovault/echovault/echovault/keyspace.go:355.17,356.31 1 0 -github.com/echovault/echovault/echovault/keyspace.go:356.31,358.51 1 0 -github.com/echovault/echovault/echovault/keyspace.go:358.51,360.8 1 0 -github.com/echovault/echovault/echovault/keyspace.go:361.12,361.67 1 0 -github.com/echovault/echovault/echovault/keyspace.go:361.67,362.65 1 0 -github.com/echovault/echovault/echovault/keyspace.go:362.65,364.8 1 0 -github.com/echovault/echovault/echovault/keyspace.go:367.6,370.54 3 0 -github.com/echovault/echovault/echovault/keyspace.go:370.54,372.7 1 0 -github.com/echovault/echovault/echovault/keyspace.go:374.5,374.10 1 0 -github.com/echovault/echovault/echovault/keyspace.go:377.106,380.7 1 0 -github.com/echovault/echovault/echovault/keyspace.go:380.7,387.29 5 0 -github.com/echovault/echovault/echovault/keyspace.go:387.29,389.49 1 0 -github.com/echovault/echovault/echovault/keyspace.go:389.49,391.6 1 0 -github.com/echovault/echovault/echovault/keyspace.go:392.10,392.65 1 0 -github.com/echovault/echovault/echovault/keyspace.go:392.65,393.63 1 0 -github.com/echovault/echovault/echovault/keyspace.go:393.63,395.6 1 0 -github.com/echovault/echovault/echovault/keyspace.go:399.4,402.52 3 0 -github.com/echovault/echovault/echovault/keyspace.go:402.52,404.5 1 0 -github.com/echovault/echovault/echovault/keyspace.go:406.10,407.13 1 0 -github.com/echovault/echovault/echovault/keyspace.go:416.77,418.57 1 1 -github.com/echovault/echovault/echovault/keyspace.go:418.57,420.3 1 0 -github.com/echovault/echovault/echovault/keyspace.go:422.2,427.50 3 1 -github.com/echovault/echovault/echovault/keyspace.go:427.50,429.3 1 0 -github.com/echovault/echovault/echovault/keyspace.go:430.2,437.33 6 1 -github.com/echovault/echovault/echovault/keyspace.go:437.33,438.7 1 0 -github.com/echovault/echovault/echovault/keyspace.go:438.7,442.35 3 0 -github.com/echovault/echovault/echovault/keyspace.go:442.35,444.10 2 0 -github.com/echovault/echovault/echovault/keyspace.go:448.2,453.25 4 1 -github.com/echovault/echovault/echovault/keyspace.go:453.25,456.28 2 0 -github.com/echovault/echovault/echovault/keyspace.go:456.28,457.46 1 0 -github.com/echovault/echovault/echovault/keyspace.go:457.46,459.5 1 0 -github.com/echovault/echovault/echovault/keyspace.go:460.9,460.64 1 0 -github.com/echovault/echovault/echovault/keyspace.go:460.64,461.60 1 0 -github.com/echovault/echovault/echovault/keyspace.go:461.60,463.5 1 0 -github.com/echovault/echovault/echovault/keyspace.go:468.2,468.21 1 1 -github.com/echovault/echovault/echovault/keyspace.go:468.21,470.3 1 1 -github.com/echovault/echovault/echovault/keyspace.go:472.2,475.58 2 0 -github.com/echovault/echovault/echovault/keyspace.go:475.58,479.3 2 0 -github.com/echovault/echovault/echovault/keyspace.go:481.2,481.12 1 0 -github.com/echovault/echovault/echovault/modules.go:29.75,32.42 3 1 -github.com/echovault/echovault/echovault/modules.go:32.42,33.46 1 1 -github.com/echovault/echovault/echovault/modules.go:33.46,35.4 1 1 -github.com/echovault/echovault/echovault/modules.go:37.2,37.72 1 1 -github.com/echovault/echovault/echovault/modules.go:40.125,60.37 1 1 -github.com/echovault/echovault/echovault/modules.go:60.37,64.4 3 1 -github.com/echovault/echovault/echovault/modules.go:68.137,70.16 2 1 -github.com/echovault/echovault/echovault/modules.go:70.16,72.3 1 1 -github.com/echovault/echovault/echovault/modules.go:74.2,74.19 1 1 -github.com/echovault/echovault/echovault/modules.go:74.19,76.3 1 1 -github.com/echovault/echovault/echovault/modules.go:79.2,79.39 1 1 -github.com/echovault/echovault/echovault/modules.go:79.39,81.3 1 0 -github.com/echovault/echovault/echovault/modules.go:83.2,84.16 2 1 -github.com/echovault/echovault/echovault/modules.go:84.16,86.3 1 1 -github.com/echovault/echovault/echovault/modules.go:88.2,92.16 4 1 -github.com/echovault/echovault/echovault/modules.go:92.16,94.3 1 1 -github.com/echovault/echovault/echovault/modules.go:95.2,96.8 2 1 -github.com/echovault/echovault/echovault/modules.go:96.8,99.3 2 1 -github.com/echovault/echovault/echovault/modules.go:101.2,101.51 1 1 -github.com/echovault/echovault/echovault/modules.go:101.51,104.87 1 1 -github.com/echovault/echovault/echovault/modules.go:104.87,106.4 1 0 -github.com/echovault/echovault/echovault/modules.go:110.2,110.50 1 1 -github.com/echovault/echovault/echovault/modules.go:110.50,111.7 1 1 -github.com/echovault/echovault/echovault/modules.go:111.7,112.42 1 1 -github.com/echovault/echovault/echovault/modules.go:112.42,114.10 2 1 -github.com/echovault/echovault/echovault/modules.go:119.2,119.43 1 1 -github.com/echovault/echovault/echovault/modules.go:119.43,121.17 2 1 -github.com/echovault/echovault/echovault/modules.go:121.17,123.4 1 1 -github.com/echovault/echovault/echovault/modules.go:125.3,125.62 1 1 -github.com/echovault/echovault/echovault/modules.go:125.62,127.4 1 1 -github.com/echovault/echovault/echovault/modules.go:129.3,131.18 2 1 -github.com/echovault/echovault/echovault/modules.go:135.2,135.32 1 1 -github.com/echovault/echovault/echovault/modules.go:135.32,138.17 3 1 -github.com/echovault/echovault/echovault/modules.go:138.17,140.4 1 0 -github.com/echovault/echovault/echovault/modules.go:141.3,141.18 1 1 -github.com/echovault/echovault/echovault/modules.go:145.2,145.34 1 1 -github.com/echovault/echovault/echovault/modules.go:145.34,148.3 2 1 -github.com/echovault/echovault/echovault/modules.go:150.2,150.72 1 1 -github.com/echovault/echovault/echovault/modules.go:153.59,155.2 1 1 -github.com/echovault/echovault/echovault/modules.go:157.47,159.2 1 1 -github.com/echovault/echovault/echovault/modules.go:161.50,163.2 1 1 -github.com/echovault/echovault/echovault/modules.go:165.49,167.2 1 1 -github.com/echovault/echovault/echovault/plugin.go:37.72,41.41 3 1 -github.com/echovault/echovault/echovault/plugin.go:41.41,42.37 1 1 -github.com/echovault/echovault/echovault/plugin.go:42.37,44.4 1 1 -github.com/echovault/echovault/echovault/plugin.go:45.3,45.44 1 0 -github.com/echovault/echovault/echovault/plugin.go:48.2,49.16 2 1 -github.com/echovault/echovault/echovault/plugin.go:49.16,51.3 1 0 -github.com/echovault/echovault/echovault/plugin.go:53.2,54.16 2 1 -github.com/echovault/echovault/echovault/plugin.go:54.16,56.3 1 0 -github.com/echovault/echovault/echovault/plugin.go:57.2,58.9 2 1 -github.com/echovault/echovault/echovault/plugin.go:58.9,60.3 1 0 -github.com/echovault/echovault/echovault/plugin.go:62.2,63.16 2 1 -github.com/echovault/echovault/echovault/plugin.go:63.16,65.3 1 0 -github.com/echovault/echovault/echovault/plugin.go:66.2,67.9 2 1 -github.com/echovault/echovault/echovault/plugin.go:67.9,69.3 1 0 -github.com/echovault/echovault/echovault/plugin.go:71.2,72.16 2 1 -github.com/echovault/echovault/echovault/plugin.go:72.16,74.3 1 0 -github.com/echovault/echovault/echovault/plugin.go:75.2,76.9 2 1 -github.com/echovault/echovault/echovault/plugin.go:76.9,78.3 1 0 -github.com/echovault/echovault/echovault/plugin.go:80.2,81.16 2 1 -github.com/echovault/echovault/echovault/plugin.go:81.16,83.3 1 0 -github.com/echovault/echovault/echovault/plugin.go:84.2,85.9 2 1 -github.com/echovault/echovault/echovault/plugin.go:85.9,87.3 1 0 -github.com/echovault/echovault/echovault/plugin.go:89.2,90.16 2 1 -github.com/echovault/echovault/echovault/plugin.go:90.16,92.3 1 0 -github.com/echovault/echovault/echovault/plugin.go:93.2,94.9 2 1 -github.com/echovault/echovault/echovault/plugin.go:94.9,96.3 1 0 -github.com/echovault/echovault/echovault/plugin.go:98.2,99.16 2 1 -github.com/echovault/echovault/echovault/plugin.go:99.16,101.3 1 0 -github.com/echovault/echovault/echovault/plugin.go:102.2,110.9 2 1 -github.com/echovault/echovault/echovault/plugin.go:110.9,112.3 1 0 -github.com/echovault/echovault/echovault/plugin.go:115.2,115.91 1 1 -github.com/echovault/echovault/echovault/plugin.go:115.91,117.3 1 1 -github.com/echovault/echovault/echovault/plugin.go:120.2,123.31 1 1 -github.com/echovault/echovault/echovault/plugin.go:123.31,126.36 2 1 -github.com/echovault/echovault/echovault/plugin.go:126.36,128.5 1 1 -github.com/echovault/echovault/echovault/plugin.go:129.4,129.15 1 1 -github.com/echovault/echovault/echovault/plugin.go:134.83,136.18 2 0 -github.com/echovault/echovault/echovault/plugin.go:136.18,138.5 1 0 -github.com/echovault/echovault/echovault/plugin.go:139.4,143.10 1 0 -github.com/echovault/echovault/echovault/plugin.go:145.72,154.4 1 1 -github.com/echovault/echovault/echovault/plugin.go:157.2,157.12 1 1 -github.com/echovault/echovault/echovault/plugin.go:165.54,168.91 3 1 -github.com/echovault/echovault/echovault/plugin.go:168.91,170.3 1 1 -github.com/echovault/echovault/echovault/plugin.go:176.49,180.42 4 1 -github.com/echovault/echovault/echovault/plugin.go:180.42,181.61 1 1 -github.com/echovault/echovault/echovault/plugin.go:181.61,183.4 1 1 -github.com/echovault/echovault/echovault/plugin.go:183.6,185.4 1 1 -github.com/echovault/echovault/echovault/plugin.go:187.2,187.16 1 1 -github.com/echovault/echovault/echovault/test_helpers.go:9.35,16.2 2 1 -github.com/echovault/echovault/echovault/test_helpers.go:18.63,23.2 2 1 -github.com/echovault/echovault/echovault/test_helpers.go:25.95,26.82 1 1 -github.com/echovault/echovault/echovault/test_helpers.go:26.82,28.3 1 0 -github.com/echovault/echovault/echovault/test_helpers.go:29.2,29.12 1 1 -github.com/echovault/echovault/echovault/test_helpers.go:32.95,35.2 2 1 diff --git a/echovault/echovault.go b/echovault/echovault.go index 24e333f..67cf5f9 100644 --- a/echovault/echovault.go +++ b/echovault/echovault.go @@ -99,7 +99,7 @@ type EchoVault struct { snapshotEngine *snapshot.Engine // Snapshot engine for standalone mode. aofEngine *aof.Engine // AOF engine for standalone mode. - listener net.Listener // TCP listener. + listener atomic.Value // Holds the TCP listener. quit chan struct{} // Channel that signals the closing of all client connections. } @@ -385,7 +385,7 @@ func (server *EchoVault) startTCP() { }) } - server.listener = listener + server.listener.Store(listener) // Listen to connection. for { @@ -393,7 +393,7 @@ func (server *EchoVault) startTCP() { case <-server.quit: return default: - conn, err := server.listener.Accept() + conn, err := listener.Accept() if err != nil { log.Printf("listener error: %v\n", err) continue @@ -553,10 +553,10 @@ func (server *EchoVault) rewriteAOF() error { // ShutDown gracefully shuts down the EchoVault instance. // This function shuts down the memberlist and raft layers. func (server *EchoVault) ShutDown() { - if server.listener != nil { + if server.listener.Load() != nil { go func() { server.quit <- struct{}{} }() log.Println("closing tcp listener...") - if err := server.listener.Close(); err != nil { + if err := server.listener.Load().(net.Listener).Close(); err != nil { log.Printf("listener close: %v\n", err) } } diff --git a/internal/modules/acl/acl.go b/internal/modules/acl/acl.go index b697f7b..886c382 100644 --- a/internal/modules/acl/acl.go +++ b/internal/modules/acl/acl.go @@ -226,9 +226,6 @@ func (acl *ACL) DeleteUser(_ context.Context, usernames []string) error { } func (acl *ACL) AuthenticateConnection(_ context.Context, conn *net.Conn, cmd []string) error { - acl.RLockUsers() - defer acl.RUnlockUsers() - var passwords []Password var user *User diff --git a/internal/modules/acl/commands.go b/internal/modules/acl/commands.go index c2bb427..cc87c47 100644 --- a/internal/modules/acl/commands.go +++ b/internal/modules/acl/commands.go @@ -36,12 +36,75 @@ func handleAuth(params internal.HandlerFuncParams) ([]byte, error) { if !ok { return nil, errors.New("could not load ACL") } + acl.LockUsers() + defer acl.UnlockUsers() + if err := acl.AuthenticateConnection(params.Context, params.Connection, params.Command); err != nil { return nil, err } return []byte(constants.OkResponse), nil } +func handleCat(params internal.HandlerFuncParams) ([]byte, error) { + if len(params.Command) > 3 { + return nil, errors.New(constants.WrongArgsResponse) + } + + categories := make(map[string][]string) + + commands := params.GetAllCommands() + + for _, command := range commands { + if len(command.SubCommands) == 0 { + for _, category := range command.Categories { + categories[category] = append(categories[category], command.Command) + } + continue + } + for _, subcommand := range command.SubCommands { + for _, category := range subcommand.Categories { + categories[category] = append(categories[category], + fmt.Sprintf("%s|%s", command.Command, subcommand.Command)) + } + } + } + + if len(params.Command) == 2 { + var cats []string + length := 0 + for key, _ := range categories { + cats = append(cats, key) + length += 1 + } + res := fmt.Sprintf("*%d", length) + for i, cat := range cats { + res = fmt.Sprintf("%s\r\n+%s", res, cat) + if i == len(cats)-1 { + res = res + "\r\n" + } + } + return []byte(res), nil + } + + if len(params.Command) == 3 { + var res string + for category, commands := range categories { + if strings.EqualFold(category, params.Command[2]) { + res = fmt.Sprintf("*%d", len(commands)) + for i, command := range commands { + res = fmt.Sprintf("%s\r\n+%s", res, command) + if i == len(commands)-1 { + res = res + "\r\n" + } + } + return []byte(res), nil + } + } + } + + return nil, fmt.Errorf("category %s not found", strings.ToUpper(params.Command[2])) +} + func handleGetUser(params internal.HandlerFuncParams) ([]byte, error) { if len(params.Command) != 3 { return nil, errors.New(constants.WrongArgsResponse) @@ -51,6 +114,8 @@ func handleGetUser(params internal.HandlerFuncParams) ([]byte, error) { if !ok { return nil, errors.New("could not load ACL") } + acl.RLockUsers() + defer acl.RUnlockUsers() var user *User userFound := false @@ -159,71 +224,12 @@ func handleGetUser(params internal.HandlerFuncParams) ([]byte, error) { return []byte(res), nil } -func handleCat(params internal.HandlerFuncParams) ([]byte, error) { - if len(params.Command) > 3 { - return nil, errors.New(constants.WrongArgsResponse) - } - - categories := make(map[string][]string) - - commands := params.GetAllCommands() - - for _, command := range commands { - if len(command.SubCommands) == 0 { - for _, category := range command.Categories { - categories[category] = append(categories[category], command.Command) - } - continue - } - for _, subcommand := range command.SubCommands { - for _, category := range subcommand.Categories { - categories[category] = append(categories[category], - fmt.Sprintf("%s|%s", command.Command, subcommand.Command)) - } - } - } - - if len(params.Command) == 2 { - var cats []string - length := 0 - for key, _ := range categories { - cats = append(cats, key) - length += 1 - } - res := fmt.Sprintf("*%d", length) - for i, cat := range cats { - res = fmt.Sprintf("%s\r\n+%s", res, cat) - if i == len(cats)-1 { - res = res + "\r\n" - } - } - return []byte(res), nil - } - - if len(params.Command) == 3 { - var res string - for category, commands := range categories { - if strings.EqualFold(category, params.Command[2]) { - res = fmt.Sprintf("*%d", len(commands)) - for i, command := range commands { - res = fmt.Sprintf("%s\r\n+%s", res, command) - if i == len(commands)-1 { - res = res + "\r\n" - } - } - return []byte(res), nil - } - } - } - - return nil, fmt.Errorf("category %s not found", strings.ToUpper(params.Command[2])) -} - func handleUsers(params internal.HandlerFuncParams) ([]byte, error) { acl, ok := params.GetACL().(*ACL) if !ok { return nil, errors.New("could not load ACL") } + res := fmt.Sprintf("*%d", len(acl.Users)) for _, user := range acl.Users { res += fmt.Sprintf("\r\n$%d\r\n%s", len(user.Username), user.Username) @@ -262,6 +268,9 @@ func handleWhoAmI(params internal.HandlerFuncParams) ([]byte, error) { if !ok { return nil, errors.New("could not load ACL") } + acl.RLockUsers() + defer acl.RUnlockUsers() + connectionInfo := acl.Connections[params.Connection] return []byte(fmt.Sprintf("+%s\r\n", connectionInfo.User.Username)), nil } @@ -274,6 +283,9 @@ func handleList(params internal.HandlerFuncParams) ([]byte, error) { if !ok { return nil, errors.New("could not load ACL") } + acl.RLockUsers() + defer acl.RUnlockUsers() + res := fmt.Sprintf("*%d", len(acl.Users)) s := "" for _, user := range acl.Users { @@ -371,7 +383,6 @@ func handleLoad(params internal.HandlerFuncParams) ([]byte, error) { if !ok { return nil, errors.New("could not load ACL") } - acl.LockUsers() defer acl.UnlockUsers() @@ -438,9 +449,8 @@ func handleSave(params internal.HandlerFuncParams) ([]byte, error) { if !ok { return nil, errors.New("could not load ACL") } - - acl.LockUsers() - acl.UnlockUsers() + acl.RLockUsers() + defer acl.RUnlockUsers() f, err := os.OpenFile(acl.Config.AclConfig, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, os.ModePerm) if err != nil { diff --git a/internal/modules/acl/commands_test.go b/internal/modules/acl/commands_test.go index 57c8614..6eb9b95 100644 --- a/internal/modules/acl/commands_test.go +++ b/internal/modules/acl/commands_test.go @@ -27,6 +27,7 @@ import ( "path" "slices" "strings" + "sync" "testing" ) @@ -167,7 +168,6 @@ func Test_ACL(t *testing.T) { t.Error(err) return } - go func() { mockServer.Start() }() @@ -710,8 +710,8 @@ func Test_ACL(t *testing.T) { }, }, { - name: `10. Create user that can access some read keys and some write keys. -Provide keys that are RW, W-Only and R-Only`, + name: `10. Create user that can access some read keys and some write keys. + Provide keys that are RW, W-Only and R-Only`, presetUser: nil, cmd: []resp.Value{ resp.StringValue("ACL"), @@ -853,7 +853,7 @@ Provide keys that are RW, W-Only and R-Only`, }, { name: `16. Create new user with no password using 'nopass'. -When nopass is provided, ignore any passwords that may have been provided in the command.`, + When nopass is provided, ignore any passwords that may have been provided in the command.`, presetUser: nil, cmd: []resp.Value{ resp.StringValue("ACL"), @@ -1566,10 +1566,6 @@ When nopass is provided, ignore any passwords that may have been provided in the baseDir := path.Join(".", "testdata", "save") - t.Cleanup(func() { - _ = os.RemoveAll(baseDir) - }) - tests := []struct { name string path string @@ -1610,10 +1606,22 @@ When nopass is provided, ignore any passwords that may have been provided in the }, } - for _, test := range tests { + servers := make([]*echovault.EchoVault, len(tests)) + mut := sync.Mutex{} + t.Cleanup(func() { + _ = os.RemoveAll(baseDir) + for _, server := range servers { + if server != nil { + server.ShutDown() + } + } + }) + + for i, test := range tests { t.Run(test.name, func(t *testing.T) { t.Parallel() - + mut.Lock() + defer mut.Unlock() // Get free port. port, err := internal.GetFreePort() if err != nil { @@ -1627,7 +1635,7 @@ When nopass is provided, ignore any passwords that may have been provided in the t.Error(err) return } - + servers[i] = mockServer go func() { mockServer.Start() }() @@ -1635,34 +1643,29 @@ When nopass is provided, ignore any passwords that may have been provided in the conn, err := internal.GetConnection("localhost", port) if err != nil { t.Error(err) - mockServer.ShutDown() return } client := resp.NewConn(conn) if err = client.WriteArray([]resp.Value{resp.StringValue("ACL"), resp.StringValue("SAVE")}); err != nil { t.Error(err) - mockServer.ShutDown() return } res, _, err := client.ReadValue() if err != nil { t.Error(err) - mockServer.ShutDown() return } if !strings.EqualFold(res.String(), "ok") { t.Errorf("expected OK response, got \"%s\"", res.String()) - mockServer.ShutDown() return } // Close client connection if err = conn.Close(); err != nil { t.Error(err) - mockServer.ShutDown() return } @@ -1687,21 +1690,18 @@ When nopass is provided, ignore any passwords that may have been provided in the conn, err = internal.GetConnection("localhost", port) if err != nil { t.Error(err) - mockServer.ShutDown() return } client = resp.NewConn(conn) if err = client.WriteArray([]resp.Value{resp.StringValue("ACL"), resp.StringValue("LIST")}); err != nil { t.Error(err) - mockServer.ShutDown() return } res, _, err = client.ReadValue() if err != nil { t.Error(err) - mockServer.ShutDown() return } @@ -1709,7 +1709,6 @@ When nopass is provided, ignore any passwords that may have been provided in the resArr := res.Array() if len(resArr) != len(test.want) { t.Errorf("expected response of lenght %d, got lenght %d", len(test.want), len(resArr)) - mockServer.ShutDown() return } @@ -1721,12 +1720,9 @@ When nopass is provided, ignore any passwords that may have been provided in the return compareSlices(resStr, expectedUserSlice) == nil }) { t.Errorf("could not find the following user in expected slice: %+v", resStr) - mockServer.ShutDown() return } } - - mockServer.ShutDown() }) } }) @@ -1736,19 +1732,6 @@ When nopass is provided, ignore any passwords that may have been provided in the baseDir := path.Join(".", "testdata", "load") - t.Cleanup(func() { - _ = os.RemoveAll(baseDir) - }) - - servers := make([]*echovault.EchoVault, 5) - defer func() { - for _, server := range servers { - if server != nil { - server.ShutDown() - } - } - }() - tests := []struct { name string path string @@ -1862,8 +1845,22 @@ When nopass is provided, ignore any passwords that may have been provided in the }, } + servers := make([]*echovault.EchoVault, len(tests)) + mut := sync.Mutex{} + t.Cleanup(func() { + _ = os.RemoveAll(baseDir) + for _, server := range servers { + if server != nil { + server.ShutDown() + } + } + }) + for i, test := range tests { t.Run(test.name, func(t *testing.T) { + t.Parallel() + mut.Lock() + defer mut.Unlock() // Create server with pre-generated users. port, err := internal.GetFreePort() if err != nil { @@ -1907,7 +1904,6 @@ When nopass is provided, ignore any passwords that may have been provided in the t.Error(err) return } - fmt.Println("COMMAND WRITTEN") res, _, err := client.ReadValue() if err != nil {