Home
last modified time | relevance | path

Searched refs:e (Results 1 – 25 of 567) sorted by relevance

12345678910>>...23

/system/tools/hidl/test/utils_test/
Dmain.cpp30 FqInstance e; in TEST_F() local
31 ASSERT_TRUE(e.setTo("android.hardware.foo@1.0::IFoo/instance")); in TEST_F()
32 EXPECT_EQ("android.hardware.foo@1.0::IFoo/instance", e.string()); in TEST_F()
33 ASSERT_TRUE(e.hasPackage()); in TEST_F()
34 EXPECT_EQ("android.hardware.foo", e.getPackage()); in TEST_F()
35 ASSERT_TRUE(e.hasVersion()); in TEST_F()
36 EXPECT_EQ(1u, e.getMajorVersion()); in TEST_F()
37 EXPECT_EQ(0u, e.getMinorVersion()); in TEST_F()
38 EXPECT_EQ((std::make_pair<size_t, size_t>(1u, 0u)), e.getVersion()); in TEST_F()
39 ASSERT_TRUE(e.hasInterface()); in TEST_F()
[all …]
/system/vold/bench/
Dbenchgen.py65 def extract_file(e, arg): argument
69 handle = "t%sf%s" % (e.thread, fd)
177 events = sorted(events, key=lambda e: e.time)
182 for e in events:
187 if e.call == "openat":
188 fd, f, handle = extract_file(e, e.ret)
195 if 'O_CREAT' in e.args[2]:
196 assert len(e.args) > 3, 'File creation lacks a mode?'
197 create_mode = ', ' + e.args[3]
199 % (handle, f.ident, e.args[2], create_mode)
[all …]
/system/extras/latencytop/
Dlatencytop.c53 static struct latency_entry *find_latency_entry(struct latency_entry *e, char *reason);
68 struct latency_entry *e; in main() local
143 e = NULL; in main()
146 e = read_thread_stats(e, erase, pid, tid, 1); in main()
148 e = read_process_stats(e, erase, pid); in main()
151 e = read_global_stats(e, erase); in main()
165 print_latency_entries(e); in main()
175 struct latency_entry *e; in read_global_stats() local
193 e = read_latency_file(f, list); in read_global_stats()
197 return e; in read_global_stats()
[all …]
/system/libhwbinder/
DBinder.cpp87 Extras* e = mExtras.load(std::memory_order_acquire); in isRequestingSid() local
89 return e && e->mRequestingSid; in isRequestingSid()
93 Extras* e = mExtras.load(std::memory_order_acquire); in setRequestingSid() local
95 if (!e) { in setRequestingSid()
101 e = getOrCreateExtras(); in setRequestingSid()
102 if (!e) return; // out of memory in setRequestingSid()
105 e->mRequestingSid = requestingSid; in setRequestingSid()
147 Extras* e = getOrCreateExtras(); in attachObject() local
148 if (!e) return; // out of memory in attachObject()
150 AutoMutex _l(e->mLock); in attachObject()
[all …]
/system/ca-certificates/files/
D9576d26b.048 73:9e:35:c2:71:55:7e:81:fb:ab:46:50:e0:c1:7c:
50 78:3e:6b:41:04:e9:41:bd:be:03:2c:45:f6:2f:64:
52 ba:be:b2:8b:34:02:2e:98:55:19:fc:8c:6f:aa:5f:
56 0e:05:63:c6:80:6a:69:30:fd:d2:ee:90:ef:0d:27:
58 8b:fc:d1:e8:04:14:61:2d:41:7e:ac:c7:77:4e:cb:
59 51:54:fb:5e:92:18:1b:04:5a:68:c6:c9:c4:fa:b7:
60 13:a0:98:b7:11:2b:b7:d6:57:cc:7c:9e:17:d1:cb:
61 25:fe:86:4e:24:2e:56:0c:78:4d:9e:01:12:a6:2b:
62 a7:01:65:6e:7c:62:1d:84:84:df:ea:c0:6b:b5:a5:
64 3a:ce:40:6e:95:ad:ff:c6:94:ad:6e:97:84:8e:7d:
[all …]
D7c302982.041 00:bf:8e:b7:95:e2:c2:26:12:6b:33:19:c7:40:58:
42 0a:ab:59:aa:8d:00:a3:fc:80:c7:50:7b:8e:d4:20:
44 c1:c9:9e:4e:1b:2e:2c:0e:38:f3:1a:25:68:1c:a6:
45 5a:05:e6:1e:8b:48:bf:98:96:74:3e:69:ca:e9:b5:
46 78:a5:06:bc:d5:00:5e:09:0a:f2:27:7a:52:fc:2d:
48 0c:24:ba:b9:9e:ec:7e:00:74:fa:93:ad:6c:29:92:
50 2a:d6:99:9e:f4:9e:fe:c0:7e:42:3a:e7:0b:95:53:
51 da:b7:68:0e:90:4c:fb:70:3f:8f:4a:2c:94:f3:26:
52 dd:63:69:a9:94:d8:10:4e:c5:47:08:90:99:1b:17:
53 4d:b9:6c:6e:ef:60:95:11:8e:21:80:b5:bd:a0:73:
[all …]
D3c860d51.038 bb:40:1c:43:f5:5e:4f:b0
49 00:af:e4:ee:7e:8b:24:0e:12:6e:a9:50:2d:16:44:
51 82:40:3e:57:24:cd:50:8b:25:2a:b7:6f:fc:ef:a2:
54 8b:c1:57:1f:0e:62:65:0f:dd:3d:56:8a:73:da:ae:
55 7e:6d:ba:81:1c:7e:42:8c:20:35:d9:43:4d:84:fa:
56 84:db:52:2c:f3:0e:27:77:0b:6b:bf:11:2f:72:78:
57 9f:2e:d8:3e:e6:18:37:5a:2a:72:f9:da:62:90:92:
62 de:de:01:3f:6e:4d:e5:50:86:cb:b4:af:ed:44:40:
64 0e:a5:df:05:52:b7:55:c7:22:5d:32:6a:97:97:63:
68 90:2a:e4:9e:14:33:5e:16:17:55:c5:5b:b5:cb:34:
[all …]
Dc7e2a638.029 15:ac:6e:94:19:b2:79:4b:41:f6:27:a9:c3:18:0f:1f
40 00:dc:e2:5e:62:58:1d:33:57:39:32:33:fa:eb:cb:
41 87:8c:a7:d4:4a:dd:06:88:ea:64:8e:31:98:a5:38:
42 90:1e:98:cf:2e:63:2b:f0:46:bc:44:b2:89:a1:c0:
47 da:98:27:e7:08:4c:70:3e:b4:c9:12:c1:c5:67:83:
49 80:bb:61:63:6c:5b:17:7e:df:40:94:1e:ab:0d:c2:
50 21:28:70:88:ff:d6:26:6c:6c:60:04:25:4e:55:7e:
53 03:47:51:20:19:fc:7b:10:0b:0e:62:ae:76:55:bf:
54 5f:77:be:3e:49:01:53:3d:98:25:03:76:24:5a:1d:
56 06:ac:6a:8e:c1:d0:f6:05:1d:7d:e6:42:86:e3:a5:
[all …]
D1dcd6f4c.037 1f:9d:59:5a:d7:2f:c2:06:44:a5:80:08:69:e3:5e:f6
50 e9:a5:df:4c:47:36:a4:1b:01:1c:7f:1e:57:8a:8d:
51 c3:c5:d1:21:e3:da:24:3f:48:2b:fb:9f:2e:a1:94:
56 70:fd:53:dd:81:aa:d8:63:78:f6:d8:53:6e:a1:ac:
57 6a:84:24:72:54:86:c6:d2:b2:ca:1c:0e:79:81:d6:
58 b5:70:62:08:01:2e:4e:4f:0e:d5:11:af:a9:af:e5:
60 e1:3f:53:8c:6c:4c:7e:9b:53:08:0b:6c:17:fb:67:
64 8d:64:7e:b5:20:6a:9d:3b:81:b6:8f:40:00:67:4b:
70 43:78:6e:6f:f1:42:54:6a:98:f0:0d:ad:97:e9:52:
71 5e:e9:d5:6a:72:de:6a:f7:1b:60:14:f4:a5:e4:b6:
[all …]
Dab59055e.010 TnnEt1u9ol2x8kECK62pOqPseQrsXzrj/e+APK00mxqriCZ7VqKChh/rNYmDf1+u
48 7e:55:fc:b5:60:8f:76:86:12:42:7d:56:66:3e:88:
49 82:ed:72:63:0e:9e:8b:dd:34:2c:02:51:51:c3:19:
51 c6:a2:a7:2e:11:57:ba:82:15:a2:9c:8f:6d:b0:99:
52 4a:0a:f2:eb:89:70:63:4e:79:c4:b7:5b:bd:a2:5d:
55 82:86:1f:eb:35:89:83:7f:5f:ae:29:4e:3d:b6:6e:
57 3d:72:7a:eb:a5:fb:59:4e:a7:eb:95:8c:22:39:79:
60 5c:cb:82:8e:17:18:36:7d:97:e6:88:9a:b0:4d:34:
61 09:f4:2c:b9:5a:66:2a:b0:17:9b:9e:1e:76:9d:4a:
62 66:31:41:df:3f:fb:c5:06:ef:1b:b6:7e:1a:46:36:
[all …]
D5f47b495.051 1e:88:a0:f8:8f:56:8f:6d:99:02:92:90:16:d5:5f:
53 4d:00:96:5a:6f:2f:c0:44:7e:a3:0e:e4:91:cd:58:
54 ee:dc:fb:c7:1e:45:47:dd:27:b9:08:01:9f:a6:21:
56 65:8e:86:54:8f:93:43:29:de:39:46:78:a3:30:23:
58 9f:80:5a:5b:3a:bd:c9:a7:22:3f:80:27:33:5b:0e:
60 c5:cc:cc:2e:8e:dd:2a:ed:b7:7d:66:0d:5f:61:51:
64 50:9c:19:fe:96:87:1e:3c:65:f6:a3:18:24:83:86:
65 10:e7:54:3e:a8:3a:76:24:4f:81:21:c5:e3:0f:02:
66 f8:93:94:47:20:bb:fe:d4:0e:d3:68:b9:dd:c4:7a:
67 84:82:e3:53:54:79:dd:db:9c:d2:f2:07:9b:2e:b6:
[all …]
De8651083.029 c2:7e:43:04:4e:47:3f:19
31 …Issuer: C=HU, L=Budapest, O=Microsec Ltd., CN=Microsec e-Szigno Root CA 2009/emailAddress=info@e-s…
35 …Subject: C=HU, L=Budapest, O=Microsec Ltd., CN=Microsec e-Szigno Root CA 2009/emailAddress=info@e-…
42 7d:6d:96:6e:a1:0e:44:ee:e1:13:9d:94:42:52:9a:
43 bd:75:85:74:2c:a8:0e:1d:93:b6:18:b7:8c:2c:a8:
44 cf:fb:5c:71:b9:da:ec:fe:e8:7e:8f:e4:2f:1d:b2:
46 7d:c0:a1:12:1c:95:6d:4a:f4:d8:c7:a5:4d:33:2e:
47 85:39:40:75:7e:14:7c:80:12:98:50:c7:41:67:b8:
48 a0:80:61:54:a6:6c:4e:1f:e0:9d:0e:07:e9:c9:ba:
49 33:e7:fe:c0:55:28:2c:02:80:a7:19:f5:9e:dc:55:
[all …]
D33ee480d.050 e7:2e:1b:ba:77:e1:e3:f5:af:a4:ec:fa:4a:5d:91:
52 16:9e:0b:66:c3:56:94:9e:17:83:85:ce:56:ef:f2:
53 16:fd:00:62:f5:22:09:54:e8:65:17:4e:41:b9:e0:
54 4f:46:97:aa:1b:c8:b8:6e:62:5e:69:b1:5f:db:2a:
55 02:7e:fc:6c:ca:f3:41:d8:ed:d0:e8:fc:3f:61:48:
56 ed:b0:03:14:1d:10:0e:4b:19:e0:bb:4e:ec:86:65:
57 ff:36:f3:5e:67:02:0b:9d:86:55:61:fd:7a:38:ed:
59 25:92:b4:6e:7a:22:c7:f8:1e:a1:e3:b2:dd:91:31:
64 aa:34:58:c8:c1:23:54:9d:1b:98:11:c3:38:9c:7e:
68 3a:c3:1f:ef:2c:e5:2e:a9:fa:9e:2c:b6:51:46:fd:
[all …]
Dd0cddf45.051 00:a7:20:6e:c2:2a:a2:62:24:95:90:76:c8:38:7e:
53 ed:9f:93:c7:87:c8:b0:27:2b:42:0c:3d:0a:3e:41:
54 5a:9e:75:dd:8d:ca:e0:9b:ec:68:32:a4:69:92:68:
55 8c:0b:81:0e:56:a0:3e:1a:dd:2c:25:14:82:2f:97:
60 8c:4e:76:a1:e9:db:2a:a5:3b:fa:ce:b0:ff:7e:6a:
61 28:fd:27:1c:c8:b1:e9:29:f1:57:6e:64:b4:d0:c1:
62 15:6d:0e:be:2e:0e:46:c8:5e:f4:51:fe:ef:0e:63:
66 56:a9:44:11:77:ef:5d:b4:1d:aa:5e:6b:3e:8b:32:
67 f6:07:2f:57:04:92:ca:f5:fe:9d:c2:e9:e8:b3:8e:
69 3a:71:b1:13:a1:39:d5:2e:c5:34:c2:1d:62:85:df:
[all …]
De775ed2d.047 be:2b:5b:b5:a4:9e:a1:d9:72:58:bd:00:1b:4c:bf:
49 3a:af:6d:24:f8:bc:71:01:9e:06:f5:7c:5f:1e:c1:
50 0e:55:ca:83:9a:59:30:ae:19:cb:30:48:95:ed:22:
51 37:8d:f4:4a:9a:72:66:3e:ad:95:c0:e0:16:00:e0:
52 10:1f:2b:31:0e:d7:94:54:d3:42:33:a0:34:1d:1e:
54 c7:9c:f0:f2:a9:2e:10:a9:92:e6:3d:58:3d:a9:16:
56 e9:f8:1e:99:db:73:6e:f4:0a:a2:21:6c:ee:da:aa:
58 42:f1:35:fa:6a:ee:7e:2b:25:cc:3a:11:e4:6d:af:
61 7b:32:52:fd:1d:bb:b5:06:a1:b2:21:5e:a5:d6:95:
62 68:7f:f0:99:9e:dc:45:08:3e:e7:d2:09:0d:35:94:
[all …]
Dc907e29b.038 0a:7e:a6:df:4b:44:9e:da:6a:24:85:9e:e6:b8:15:d3:16:7f:bb:b1
53 65:4b:fb:08:e2:48:71:11:c8:6e:3b:9e:9d:df:89:
56 df:4e:a9:14:6c:53:e0:61:ce:f6:17:2f:1d:3c:bd:
59 d2:20:06:09:6e:6a:6d:e5:eb:b7:be:d4:f0:f1:15:
60 7c:8b:e6:4e:ba:13:cc:4b:27:5e:99:3c:17:5d:8f:
62 6e:f2:a6:d5:9d:da:2d:07:63:02:c6:72:e9:94:bc:
65 fb:01:e1:f4:e1:de:d9:9e:dd:db:5b:d4:2a:99:26:
66 15:1b:1e:4c:92:29:82:9e:d5:92:81:92:41:70:19:
70 72:3e:66:8f:9c:16:11:60:8f:9e:89:6f:67:be:e0:
76 30:e6:67:b3:87:40:fd:89:7e:f2:43:d1:11:df:2f:
[all …]
D1f58a078.049 e5:6e:1b:16:d4:2d:7d:50:b0:53:77:bd:78:3a:60:
50 e2:64:02:9b:7c:86:9b:d6:1a:8e:ad:ff:1f:15:7f:
51 d5:95:1e:12:cb:e6:14:84:04:c1:df:36:b3:16:9f:
54 a1:7d:6b:b2:3a:25:a9:6d:52:44:ac:f8:be:6e:fb:
58 6d:f8:49:ab:3e:3b:ba:b8:d7:80:01:fb:a5:eb:5b:
59 b3:c5:5e:60:2a:31:a0:af:37:e8:20:3a:9f:a8:32:
60 2c:0c:cc:09:1d:d3:9e:8e:5d:bc:4c:98:ee:c5:1a:
65 8e:c3:d0:6a:13:ed:13:e3:12:2b:80:dc:67:e6:95:
66 b2:cd:1e:22:6e:2a:f8:41:d4:f2:ca:14:07:8d:8a:
67 55:12:c6:69:f5:b8:86:68:2f:53:5e:b0:d2:aa:21:
[all …]
D6187b673.047 00:ad:e8:24:73:f4:14:37:f3:9b:9e:2b:57:28:1c:
48 87:be:dc:b7:df:38:90:8c:6e:3c:e6:57:a0:78:f7:
49 75:c2:a2:fe:f5:6a:6e:f6:00:4f:28:db:de:68:86:
51 9b:21:7e:d1:33:3c:ba:48:f5:dd:79:df:b3:b8:ff:
53 7e:3c:70:bf:ad:29:22:06:f3:e4:c0:e6:80:ae:e2:
54 4b:8f:b7:99:7e:94:03:9f:d3:47:97:7c:99:48:23:
55 53:e8:38:ae:4f:0a:6f:83:2e:d1:49:57:8c:80:74:
57 fa:8f:ae:dd:da:63:ab:eb:16:4f:c2:8e:11:4b:7e:
58 cf:0b:e8:ff:b5:77:2e:f4:b2:7b:4a:e0:4c:12:25:
61 63:71:ec:2e:e2:6f:5b:98:81:e1:89:5c:34:79:6c:
[all …]
D48a195d8.050 00:c9:d3:7a:ca:0f:1e:ac:a7:86:e8:16:65:6a:b1:
53 a4:2c:44:d8:9e:92:9b:14:3a:a1:e7:24:90:0a:0a:
54 56:8e:c5:d8:26:94:e1:d9:48:e1:2d:3e:da:0a:72:
55 dd:a3:99:15:da:81:a2:87:f4:7b:6e:26:77:89:58:
56 ad:d6:eb:0c:b2:41:7a:73:6e:6d:db:7a:78:41:e9:
57 08:88:12:7e:87:2e:66:11:63:6c:54:fb:3c:9d:72:
58 c0:bc:2e:ff:c2:b7:dd:0d:76:e3:3a:d7:f7:b4:68:
59 be:a2:f5:e3:81:6e:c1:46:6f:5d:8d:e0:4d:c6:54:
61 34:c5:95:41:69:7e:75:c2:3c:20:c5:61:ba:51:47:
62 a0:20:90:93:a1:90:4b:f3:4e:7c:85:45:54:9a:d1:
[all …]
Dd16a5865.050 00:ca:96:6b:8e:ea:f8:fb:f1:a2:35:e0:7f:4c:da:
51 e0:c3:52:d7:7d:b6:10:c8:02:5e:b3:43:2a:c4:4f:
54 62:d7:32:71:38:d9:04:0c:71:ab:3d:51:7e:0f:07:
56 b0:c1:3c:bb:ad:37:4a:5c:ca:f1:4b:36:0e:24:ab:
58 8d:7a:0a:4e:96:69:52:02:aa:36:98:ec:fc:fa:14:
60 3e:34:fe:67:f4:3e:66:d1:d3:f4:40:cf:5e:62:34:
61 0f:70:06:3e:20:18:5a:ce:f7:72:1b:25:6c:93:74:
62 14:93:a3:73:b1:0e:aa:87:10:23:59:5f:20:05:19:
63 47:ed:68:8e:92:12:ca:5d:fc:d6:2b:b2:92:3c:20:
65 33:3e:e7:7b:b4:3f:a0:0f:8e:a2:b9:6a:6f:b9:87:
[all …]
/system/ca-certificates/google/files/
Dc7e2a638.029 15:ac:6e:94:19:b2:79:4b:41:f6:27:a9:c3:18:0f:1f
40 00:dc:e2:5e:62:58:1d:33:57:39:32:33:fa:eb:cb:
41 87:8c:a7:d4:4a:dd:06:88:ea:64:8e:31:98:a5:38:
42 90:1e:98:cf:2e:63:2b:f0:46:bc:44:b2:89:a1:c0:
47 da:98:27:e7:08:4c:70:3e:b4:c9:12:c1:c5:67:83:
49 80:bb:61:63:6c:5b:17:7e:df:40:94:1e:ab:0d:c2:
50 21:28:70:88:ff:d6:26:6c:6c:60:04:25:4e:55:7e:
53 03:47:51:20:19:fc:7b:10:0b:0e:62:ae:76:55:bf:
54 5f:77:be:3e:49:01:53:3d:98:25:03:76:24:5a:1d:
56 06:ac:6a:8e:c1:d0:f6:05:1d:7d:e6:42:86:e3:a5:
[all …]
De775ed2d.047 be:2b:5b:b5:a4:9e:a1:d9:72:58:bd:00:1b:4c:bf:
49 3a:af:6d:24:f8:bc:71:01:9e:06:f5:7c:5f:1e:c1:
50 0e:55:ca:83:9a:59:30:ae:19:cb:30:48:95:ed:22:
51 37:8d:f4:4a:9a:72:66:3e:ad:95:c0:e0:16:00:e0:
52 10:1f:2b:31:0e:d7:94:54:d3:42:33:a0:34:1d:1e:
54 c7:9c:f0:f2:a9:2e:10:a9:92:e6:3d:58:3d:a9:16:
56 e9:f8:1e:99:db:73:6e:f4:0a:a2:21:6c:ee:da:aa:
58 42:f1:35:fa:6a:ee:7e:2b:25:cc:3a:11:e4:6d:af:
61 7b:32:52:fd:1d:bb:b5:06:a1:b2:21:5e:a5:d6:95:
62 68:7f:f0:99:9e:dc:45:08:3e:e7:d2:09:0d:35:94:
[all …]
D87753b0d.046 00:b3:54:52:c1:c9:3e:f2:d9:dc:b1:53:1a:59:29:
48 7b:57:af:4a:26:fc:d8:f5:5e:a7:6e:19:db:74:0c:
51 1e:5c:4e:2b:85:26:74:82:7a:0c:76:a0:6f:4d:ce:
53 dc:2a:08:f9:2e:c3:01:a6:22:44:1c:4c:07:82:e6:
54 5b:ce:d0:4a:7c:04:d3:19:73:27:f0:aa:98:7f:2e:
55 af:4e:eb:87:1e:24:77:6a:5d:b6:e8:5b:45:ba:dc:
56 c3:a1:05:6f:56:8e:8f:10:26:a5:49:c3:2e:d7:41:
59 4e:96:dc:dc:76:ff:3b:be:cf:5f:03:c0:fc:3b:e8:
61 35:d0:da:8d:eb:5e:18:6a:31:c7:1e:ba:3c:1b:28:
64 a9:36:58:fd:3e:19:f3:ed:0c:26:a9:93:38:f8:4f:
[all …]
/system/extras/simpleperf/
DIOEventLoop.cpp26 event* e; member
32 : loop(loop), e(nullptr), timeout({}), callback(callback), enabled(false) { in IOEvent()
36 if (e != nullptr) { in ~IOEvent()
37 event_free(e); in ~IOEvent()
96 IOEvent* e = static_cast<IOEvent*>(arg); in EventCallbackFn() local
97 if (!e->callback()) { in EventCallbackFn()
98 e->loop->has_error_ = true; in EventCallbackFn()
99 e->loop->ExitLoop(); in EventCallbackFn()
152 std::unique_ptr<IOEvent> e(new IOEvent(this, callback)); in AddEvent() local
153 e->e = event_new(ebase_, fd_or_sig, events, EventCallbackFn, e.get()); in AddEvent()
[all …]
/system/ca-certificates/wfa_certs/files/
Dea93cb5b.047 00:ac:74:4b:51:78:85:1b:32:53:be:85:1e:9b:c9:
48 09:38:9c:65:48:4e:fd:e6:79:84:da:0d:e5:70:66:
50 85:53:bf:72:75:92:af:6e:90:4e:c2:0e:b0:de:86:
52 23:64:dd:6e:f2:35:c7:20:dc:09:27:43:4c:79:7c:
54 61:6d:a4:c4:c1:73:1c:eb:79:06:8b:5e:f2:ed:6b:
56 b3:d6:b0:b3:a4:22:b4:30:ec:a1:f5:59:cf:8e:8b:
57 2e:21:50:c5:1b:4e:54:a2:72:3a:9a:70:a3:d1:d7:
59 66:19:ad:57:5c:fd:be:5d:6e:67:74:85:a3:07:c4:
62 22:3d:0b:c1:94:fd:2e:da:91:89:b5:30:c4:93:9f:
63 95:bb:95:2a:76:01:64:43:9d:ff:4b:42:0e:75:74:
[all …]

12345678910>>...23