Colin Finck
|
eb8a6f70f5
|
kernel32/tests: Fix a wrong length passed to a WideCharToMultiByte test, which led to a use of uninitialized stack memory.
|
2008-08-01 11:18:11 +02:00 |
Colin Finck
|
c2c1a55f1c
|
kernel32: Add a lot of new tests for the actual WideCharToMultiByte string conversion as well.
|
2008-07-31 14:09:07 +02:00 |
Dan Hipschman
|
54752c4f87
|
kernel32/tests: Add tests for undocumented default timer queue "features".
|
2008-07-30 12:44:31 +02:00 |
Dan Hipschman
|
a148e190af
|
ntdll: Add support for a default timer queue.
|
2008-07-30 12:44:25 +02:00 |
Detlef Riekenberg
|
5437f4ce9c
|
kernel32/tests: Fix a crash on win9x (lpDefault is truncated inplace).
|
2008-07-28 11:35:38 +02:00 |
Dan Hipschman
|
2b287a4489
|
ntdll: Fix a small timer-queue bug whereby a deleted timer may still expire.
|
2008-07-28 11:32:21 +02:00 |
Dan Hipschman
|
4c64d0cdfa
|
ntdll: Implement RtlDeleteTimer for kernel32's DeleteTimerQueueTimer.
|
2008-07-25 14:09:15 +02:00 |
Dan Hipschman
|
396e47ef5c
|
ntdll: Implement RtlUpdateTimer for kernel32's ChangeTimerQueueTimer.
|
2008-07-25 14:09:15 +02:00 |
Dan Hipschman
|
5ef54c4cec
|
ntdll: Implement the timer queue thread.
|
2008-07-25 14:09:15 +02:00 |
Nicolas Le Cam
|
eb612fd4dc
|
kernel32/tests: Fix a failing test in Vista.
|
2008-07-23 13:54:06 +02:00 |
Dan Hipschman
|
d343f2baf7
|
ntdll: Implement RtlCreateTimer for kernel32's CreateTimerQueueTimer.
|
2008-07-23 11:24:03 +02:00 |
H. Verbeet
|
ff870e0132
|
server: Calling ResumeThread() on a terminated thread is valid.
|
2008-07-23 11:21:47 +02:00 |
Dan Hipschman
|
20a1ca2bbf
|
ntdll: Implement [Rtl]Create/DeleteTimerQueue[Ex].
|
2008-07-22 13:24:21 +02:00 |
Dan Hipschman
|
09f4ca64e2
|
kernel32/tests: Check that timers are not NULL in timer queue tests.
|
2008-07-22 13:21:48 +02:00 |
Dan Hipschman
|
bf0f78b11a
|
kernel32/tests: Add tests for Change/DeleteTimerQueueTimer.
|
2008-07-22 13:21:29 +02:00 |
Detlef Riekenberg
|
f8dea7ab2d
|
kernel32/tests: Run the tests again on Win9x.
|
2008-07-22 13:21:12 +02:00 |
Francois Gouget
|
bc5ce27947
|
Assorted spelling fixes.
|
2008-07-21 13:00:01 +02:00 |
Dan Hipschman
|
fc325c7674
|
kernel32/tests: Add tests for timer queues.
|
2008-07-17 13:15:29 +02:00 |
James Hawkins
|
3fb196fb57
|
kernel32: Return the default value if lpKeyName is empty.
|
2008-07-17 11:38:19 +02:00 |
James Hawkins
|
7e9df53f38
|
kernel32: Fix removing trailing spaces from lpDefault for GetPrivateProfileString.
|
2008-07-17 11:37:55 +02:00 |
James Hawkins
|
e5705eae84
|
kernel32: Add tests for GetPrivateProfileString.
|
2008-07-17 11:37:02 +02:00 |
Dan Hipschman
|
c70e6125bf
|
kernel32/tests: Fix p_BindIoCompletionCallback declaration so it compiles with the MS compiler.
|
2008-07-16 17:54:59 +02:00 |
James Hawkins
|
c737542782
|
kernel32: Fix test failures because of a broken ReplaceFile in win2k.
|
2008-07-02 12:05:34 +02:00 |
James Hawkins
|
63ac79f4d5
|
kernel32: Don't test for HARDDISK and RAMDISK on win9x.
|
2008-06-30 15:05:40 +02:00 |
James Hawkins
|
03d23bd43d
|
kernel32: Fix a few test failures in win9x.
|
2008-06-30 15:05:32 +02:00 |
James Hawkins
|
ac5885ef41
|
kernel32: Fix a few test failures in win9x.
|
2008-06-30 15:05:19 +02:00 |
James Hawkins
|
3361f0c4fd
|
kernel32: Fix a test failure in win9x.
|
2008-06-30 15:05:13 +02:00 |
Paul Vriens
|
dd01d39f3b
|
kernel32: Fix return values of GetConsoleCursorInfo.
|
2008-06-24 12:47:18 +02:00 |
Paul Vriens
|
296bbde1c1
|
kernel32/tests: Add some tests for GetConsoleCursorInfo.
|
2008-06-24 12:45:25 +02:00 |
Dan Hipschman
|
e22af18e7a
|
kernel32/tests: Add tests for TLS functions.
|
2008-06-23 14:04:31 +02:00 |
Dan Kegel
|
98fba5e56a
|
kernel32/tests: Initialize a few variables.
|
2008-06-23 12:46:20 +02:00 |
Huw Davies
|
6e2827ec29
|
kernel32: Fix typo.
|
2008-06-20 11:19:30 +02:00 |
Paul Vriens
|
8fb9503c6d
|
kernel32/tests: Skip tests if function is not implemented.
|
2008-06-13 12:07:49 +02:00 |
Paul Vriens
|
e7f5c45cf9
|
kernel32/tests: Fix a few typos.
|
2008-06-13 12:07:43 +02:00 |
Alexandre Julliard
|
3cb0bcff83
|
kernel32/tests: Use Local instead of Global prefix to avoid permission issues.
|
2008-06-10 17:44:57 +02:00 |
Alexandre Julliard
|
af785c4d0f
|
kernel32/tests: Fix the change notification test on Vista.
|
2008-06-10 17:44:41 +02:00 |
Alexandre Julliard
|
5b0c326679
|
kernel32/tests: Limit the number of failures in the ligatures test.
|
2008-06-10 11:55:01 +02:00 |
Alexandre Julliard
|
a991afae9b
|
kernel32/tests: Make the toolhelp test less verbose by default.
|
2008-06-10 11:34:11 +02:00 |
Dan Kegel
|
3b0924cf83
|
kernel32/tests: Initialize buffer.
|
2008-06-09 19:39:49 +02:00 |
Paul Vriens
|
fe5b8ada64
|
kernel32/tests: Add a skip message for win95.
|
2008-06-09 12:39:29 +02:00 |
Alexandre Julliard
|
ebb8311a4b
|
kernel32/tests: Don't check every single Unicode char if the tables are clearly not compatible.
|
2008-06-04 12:33:38 +02:00 |
James Hawkins
|
c81d36e989
|
kernel32: Remove two tests that produce different results for win9x and NT platforms.
|
2008-05-29 12:12:43 +02:00 |
Francois Gouget
|
2321017707
|
kernel32/tests: Get the tests running again on Win95.
|
2008-05-26 18:01:06 +02:00 |
James Hawkins
|
e92f9054dd
|
kernel32: Don't test the invalid locale 0 if it is enumerated.
|
2008-05-23 12:10:10 +02:00 |
Alexandre Julliard
|
284335229a
|
kernel32: Don't require write access on profile file when only reading.
|
2008-05-22 12:15:37 +02:00 |
Alexandre Julliard
|
9f76085c06
|
kernel32: File mapping names are case sensitive.
|
2008-05-21 20:45:11 +02:00 |
Alexandre Julliard
|
b62f3dee2d
|
kernel32: Waitable timer names are case sensitive.
|
2008-05-21 20:44:36 +02:00 |
Alexandre Julliard
|
116297d0c1
|
kernel32: Semaphore names are case sensitive.
|
2008-05-21 20:43:43 +02:00 |
Alexandre Julliard
|
c96752c044
|
kernel32: Event names are case sensitive.
|
2008-05-21 20:42:54 +02:00 |
Alexandre Julliard
|
e9793cc183
|
kernel32: Mutex names are case sensitive.
|
2008-05-21 20:41:45 +02:00 |
Alexandre Julliard
|
1dcaddee99
|
kernel32: Add some test cases for profile file sharing modes.
Based on a patch by Louis Lenders.
|
2008-05-21 14:23:44 +02:00 |
James Hawkins
|
ed4e0a08bc
|
kernel32: Remove a test that fails on all platforms.
|
2008-05-20 15:43:54 +02:00 |
James Hawkins
|
362f2ceeaf
|
kernel32: Fix a debugger test that fails in win2k3.
|
2008-05-19 16:11:05 +02:00 |
Dan Kegel
|
fbaf037581
|
kernel32: comm.c: increase time slop.
|
2008-05-14 13:36:26 +02:00 |
Paul Vriens
|
6e8f8a0529
|
kernel32/tests: Skip tests if codepage is not installed/available.
|
2008-05-12 11:41:51 +02:00 |
Maarten Lankhorst
|
864e24d2e5
|
kernel32: Fix temporary path test.
|
2008-05-08 11:10:44 +02:00 |
Maarten Lankhorst
|
db8e63af27
|
kernel32: Fix process tests to pass in Windows.
|
2008-05-08 11:10:40 +02:00 |
Paul Vriens
|
1cfad7f07f
|
kernel32/tests: Skip some tests on win98.
|
2008-05-02 16:18:02 +02:00 |
Paul Vriens
|
0a4eebd744
|
kernel32/tests: Don't run tests on win9x if we are out of memory.
|
2008-05-02 12:55:12 +02:00 |
Paul Vriens
|
d3c4e3d4a7
|
kernel32/tests: Fix tests on win9x.
|
2008-05-01 12:42:22 +02:00 |
James Hawkins
|
ed714d09b7
|
kernel32: Fix a test that fails in win2k3.
|
2008-04-25 14:53:22 +02:00 |
James Hawkins
|
4d07047d4e
|
kernel32: Fix a test that fails on win9x.
|
2008-04-23 14:29:50 +02:00 |
James Hawkins
|
603822ca8b
|
kernel32: Fix two tests that fail in win9x.
|
2008-04-21 13:36:02 +02:00 |
James Hawkins
|
99949cb21a
|
kernel32: Fix a test that fails in win9x.
|
2008-04-21 13:20:12 +02:00 |
James Hawkins
|
430a46fdf7
|
kernel32: Skip the screen buffer tests if codepage 866 is not available.
|
2008-04-21 13:20:12 +02:00 |
James Hawkins
|
c5ebc4acb0
|
kernel32: Fix a test that fails in win2k and up.
|
2008-04-17 12:51:06 +02:00 |
James Hawkins
|
c009d1e9c4
|
kernel32: Fix a test that fails in win2k.
|
2008-04-17 12:50:56 +02:00 |
James Hawkins
|
cd2f10a6d0
|
kernel32: Remove an invalid trace and comment.
|
2008-04-17 11:40:07 +02:00 |
James Hawkins
|
a4f733ab0b
|
kernel32: Fix a few failing tests in win2k.
|
2008-04-17 11:40:00 +02:00 |
James Hawkins
|
25c02c884f
|
kernel32: Split the GetComputerName/Ex tests into their own test functions.
|
2008-04-17 11:39:55 +02:00 |
James Hawkins
|
e314ef699e
|
kernel32: Add traces to see why the tests fail in win2k.
|
2008-04-11 11:16:29 +02:00 |
Austin English
|
cb2274e690
|
Spelling fixes.
|
2008-04-04 11:51:40 +02:00 |
Dan Kegel
|
dcefb67781
|
kernel32: Test negative dest len in WideCharToMultiByte.
|
2008-03-26 23:38:36 +01:00 |
Dmitry Timoshkov
|
fed582de5c
|
kernel32: Make the test compatible with win9x.
|
2008-03-26 11:18:21 +01:00 |
Alexandre Julliard
|
c3ae7d1983
|
kernel32/tests: Fix the FindFirstVolume test on Vista.
|
2008-03-22 13:09:57 +01:00 |
Alexandre Julliard
|
9879f78c13
|
kernel32/tests: Added some tests for FindResource.
|
2008-03-22 13:09:44 +01:00 |
Michael Moss
|
ded68372a2
|
kernel32/tests: Test notifications for overlapping directory watches.
|
2008-03-20 20:16:08 +01:00 |
Michael Moss
|
ef7c4a8b6d
|
kernel32/tests: Fix false positive file notification tests.
|
2008-03-20 14:27:44 +01:00 |
Austin English
|
d5de9977df
|
kernel32: Spelling fixes.
|
2008-03-18 11:44:09 +01:00 |
Paul Vriens
|
371afffd35
|
kernel32/tests: Add a few skips instead of just returning.
|
2008-03-12 12:02:04 +01:00 |
Paul Vriens
|
a558bfad99
|
kernel32/tests: DATE_YEARMONTH is only present on W2K and later.
|
2008-03-12 12:02:00 +01:00 |
Paul Vriens
|
b0f7dcdf88
|
kernel32/tests: Skip some tests on win95.
|
2008-03-12 12:01:48 +01:00 |
Paul Vriens
|
4ca754d9a9
|
kernel32: Fix/change tests for systems with no ServicePack.
|
2008-03-11 12:11:52 +01:00 |
Francois Gouget
|
508d58c210
|
kernel32/tests: Don't use 0xaa to avoid any confusion when running with +heap.
|
2008-03-05 12:18:31 +01:00 |
Dmitry Timoshkov
|
aebcbf0f6e
|
kernel32: Return upper cased drive letters in paths, some applications depend on it.
|
2008-02-27 14:52:26 +01:00 |
Paul Vriens
|
ad697ecdc4
|
kernel32/tests: Win9x doesn't change last error.
|
2008-02-27 14:52:24 +01:00 |
Rob Shearman
|
492be1b5e3
|
kernel32: Fix the number of characters passed to GetAtomNameW in test_local_get_atom_name.
|
2008-02-25 13:31:47 +01:00 |
Francois Gouget
|
148061814c
|
kernel32/tests: Fix the time tests when 'Automatically adjust clock for daylight saving changes' has been unset.
|
2008-02-15 09:56:12 +01:00 |
Paul Vriens
|
fc82d8c221
|
kernel32/tests: ReplaceFile[AW] doesn't exist on win9x.
|
2008-02-13 16:41:54 +01:00 |
Erich Hoover
|
664c68a2c9
|
kernel32: Add tests for ReplaceFileA and ReplaceFileW.
|
2008-02-12 23:03:37 +01:00 |
Alexandre Julliard
|
05c7174909
|
tests: Add a helper routine to wait for a child process and propagate its result correctly.
|
2008-02-07 12:56:00 +01:00 |
James Hawkins
|
ea41e863ad
|
kernel32: Factor out the VerifyVersionInfo tests into their own function.
|
2008-02-05 12:19:36 +01:00 |
Paul Vriens
|
71f81bf1f5
|
kernel32/tests: Win9x returns a different last error.
|
2008-01-24 14:04:07 +01:00 |
Alexandre Julliard
|
e84daed485
|
Avoid sizeof in traces.
|
2008-01-24 14:03:10 +01:00 |
Francois Gouget
|
d0794c4aeb
|
Assorted spelling fixes.
|
2008-01-23 21:16:22 +01:00 |
Francois Gouget
|
e7e998004a
|
kernel32/tests: Test the expansion of indirect environment variable references.
|
2008-01-23 20:39:35 +01:00 |
Francois Gouget
|
12689d9b0f
|
kernel32/tests: Small spelling fix in a parameter name.
|
2008-01-16 12:46:38 +01:00 |
Francois Gouget
|
f6fab295f3
|
Fix spelling error in the generated conformance test files.
|
2008-01-16 12:46:18 +01:00 |
Alexandre Julliard
|
93cdead182
|
kernel32/tests: Avoid size_t in traces.
|
2008-01-15 17:08:09 +01:00 |
Paul Vriens
|
4111ea931c
|
kernel32/tests: FindFirstVolumeA is not available on win98.
|
2008-01-15 12:35:42 +01:00 |
Marcus Meissner
|
3bf54c2950
|
server: Enumerate process in reverse.
|
2008-01-14 16:24:55 +01:00 |
Francois Gouget
|
0069651056
|
kernel32/tests: Despite the MSDN claims, GetComputerName() does not return the required buffer size... except on Vista. So update the tests accordingly.
|
2008-01-11 12:25:39 +01:00 |
Francois Gouget
|
e3e2a5c0ac
|
kernel32/tests: Add more ExpandEnvironmentStringsA() tests.
Document the observed ExpandEnvironmentStrings() behavior.
|
2008-01-11 12:25:33 +01:00 |
Paul Vriens
|
e1f88e5f69
|
kernel32/tests: Skip not implemented functions.
|
2008-01-10 12:15:44 +01:00 |
Paul Vriens
|
c9434956d5
|
kernel32/tests: Skip not implemented functions.
|
2008-01-10 12:15:39 +01:00 |
Paul Vriens
|
7b7838289f
|
kernel32/tests: Skip not implemented functions.
|
2008-01-10 12:15:30 +01:00 |
Alexandre Julliard
|
f53bb857ac
|
kernel32/tests: Avoid using size_t in traces.
|
2008-01-07 17:18:35 +01:00 |
Hans Leidekker
|
b7917bcfda
|
kernel32: Fix two test failures on Win98 due to missing GetTempPathW.
|
2008-01-07 12:02:19 +01:00 |
Alexandre Julliard
|
d17b29303c
|
kernel32/tests: Added tests for FindFirstVolume/FindNextVolume.
|
2008-01-04 14:31:55 +01:00 |
Rob Shearman
|
910cf61723
|
kernel32: Add tests for RegisterWaitForSingleObject and UnregisterWait.
|
2008-01-02 14:30:14 +01:00 |
Gerald Pfeifer
|
f41d0cb530
|
kernel32/tests: Remove extraneous check.
|
2007-12-31 19:21:25 +01:00 |
Andrey Turkin
|
343f2c1b30
|
ntdll: Implement BindIoCompletionCallback.
|
2007-12-21 13:52:34 +01:00 |
Rob Shearman
|
e55854ddc5
|
kernel32: Add a test for calling VirtualAlloc on a view of a SEC_RESERVE file mapping.
|
2007-12-21 12:41:24 +01:00 |
Stefan Dösinger
|
70868dfa61
|
kernel32: Add a test for BindIoCompletionCallback.
|
2007-12-18 14:07:48 +01:00 |
Francois Gouget
|
8ee430d146
|
kernel32/tests: Get the test to run on Windows 95.
|
2007-12-10 12:06:01 +01:00 |
Francois Gouget
|
c43f61461f
|
kernel32/tests: dll_capable() makes no sense since it's only used on APIs we link with. So remove it.
|
2007-12-10 12:05:55 +01:00 |
Detlef Riekenberg
|
efb13b28df
|
Assorted spelling fixes.
|
2007-12-08 19:55:39 +01:00 |
Paul Vriens
|
5e30e5a0f2
|
kernel32/tests: Test for functions should be or-ed.
|
2007-12-06 12:05:37 +01:00 |
Paul Vriens
|
0ada917873
|
kernel32: Make tests run on Win98 again.
|
2007-12-05 13:48:57 +01:00 |
Hans Leidekker
|
8f3afb4120
|
kernel32: Implement and test {G, S}etConsoleInputExeName{A, W}.
|
2007-12-03 16:03:23 +01:00 |
Paul Vriens
|
b3a85a3fc4
|
kernel32: Add some simple tests for GetVersionExA.
|
2007-12-03 11:52:01 +01:00 |
Jacek Caban
|
8c2b994c46
|
kernel32: Terminate child process in virtual tests.
|
2007-11-26 12:35:55 +01:00 |
Rob Shearman
|
361a98c561
|
kernel32: Change the shared manifest test to depend on a build number that isn't currently published on at least XP, showing that assemblies with higher build numbers can be used.
|
2007-11-26 12:27:06 +01:00 |
Alexandre Julliard
|
58b85bba3e
|
kernel32/tests: Don't crash the test if GetThreadContext fails.
|
2007-11-20 17:53:43 +01:00 |
Michael Stefaniuc
|
e973a193b7
|
kernel32: Remove duplicate includes.
|
2007-11-19 13:54:14 +01:00 |
Dmitry Timoshkov
|
d1a3025826
|
kernel32: Mask out FILE_ATTRIBUTE_NOT_CONTENT_INDEXED to prevent a test failure under Windows.
|
2007-11-16 12:33:24 +01:00 |
Dmitry Timoshkov
|
07efb2740b
|
kernel32: Set last error to ERROR_ALREADY_EXISTS if CreateFile succeeds and file existed before for CREATE_ALWAYS and OPEN_ALWAYS.
|
2007-11-16 12:33:18 +01:00 |
Francois Gouget
|
b734dee31e
|
kernel32/tests: Fix a signed/unsigned warning.
|
2007-11-13 23:28:06 +01:00 |
Hans Leidekker
|
addf895c87
|
kernel32: Loosen requirements on what QueryDosDevice returns.
|
2007-11-12 12:56:28 +01:00 |
Francois Gouget
|
81a5701ca9
|
Assorted spelling fixes.
|
2007-11-09 13:07:12 +01:00 |
Rob Shearman
|
92db6d2c2f
|
server: Don't do access checks on the security descriptors of newly created objects.
|
2007-11-06 14:52:21 +01:00 |
Francois Gouget
|
94799c3cc7
|
kernel32: Fix the image size in a test to avoid a BSOD on Windows XP SP1.
|
2007-11-05 15:06:40 +01:00 |
Rob Shearman
|
512239d515
|
kernel32: Add tests for creating events with different initial security descriptors.
|
2007-10-25 12:47:28 +02:00 |
Lionel Debroux
|
938f748b20
|
kernel32/tests: Fix memory leaks (found by Smatch).
|
2007-10-22 15:58:29 +02:00 |
Mikolaj Zalewski
|
25e15ddb51
|
kernel32: FindExSearchLimitToDirectories has no effect on FindFirstFileEx.
|
2007-10-19 12:26:49 +02:00 |
Mikolaj Zalewski
|
5bfd7044ea
|
ntdll: Support for UTF-16 manifests with reverse endianness.
|
2007-10-18 12:20:52 +02:00 |
Mikolaj Zalewski
|
9f4001f7e0
|
ntdll: Manifests should be parsed as UTF-16 only if there is a BOM (with testcase).
|
2007-10-18 12:11:06 +02:00 |
Mikolaj Zalewski
|
e361c0d284
|
kernel32/tests: Make the actctx test pass when the application is run from a different directory.
|
2007-10-18 12:10:51 +02:00 |
Mikolaj Zalewski
|
ba24af0c34
|
kernel32/tests: Support for spaces in actctx test executable path.
|
2007-10-18 12:10:44 +02:00 |
Mikolaj Zalewski
|
47e59d994f
|
kernel32/tests: Don't close an invalid handle if the process is being debugged as this will raise an exception.
|
2007-10-18 12:10:37 +02:00 |
Alexandre Julliard
|
00193610f0
|
kernel32/tests: Replace a couple of macros by a function to avoid compiler warnings.
|
2007-10-17 14:15:40 +02:00 |
Marcus Meissner
|
524caf26c6
|
kernel32: Test IsBadReadPtr/ IsBadCodePtr / IsBadWritePtr.
|
2007-10-02 13:31:31 +02:00 |
Hans Leidekker
|
2c061dbae6
|
kernel32: Check for NULL output buffer in FormatMessage{A, W}.
|
2007-09-27 12:47:07 +02:00 |
Dmitry Timoshkov
|
5be5b9c5c7
|
kernel32: Add a test for read-only mapping of a write-only section, test actual page access rights of the mapping.
|
2007-09-25 11:58:11 +02:00 |
Dmitry Timoshkov
|
808d38fdb6
|
kernel32: Print last error in failure messages of the MapViewOfFile test.
|
2007-09-20 15:52:05 +02:00 |
James Hawkins
|
8e90c6099e
|
kernel32: Don't crash accessing an invalid handle in GlobalSize.
|
2007-09-20 14:27:13 +02:00 |
Dmitry Timoshkov
|
c6b7f7ccbe
|
kernel32: Add a test for rw mapping of a read-only section.
|
2007-09-19 14:57:19 +02:00 |
James Hawkins
|
72a3f18338
|
kernel32: Return TRUE for all pointer params in GlobalUnlock.
|
2007-09-17 13:41:53 +02:00 |
James Hawkins
|
40dff81b5a
|
kernel32: Fix the case where memory is freed twice in GlobalFree.
|
2007-09-17 13:41:49 +02:00 |
Rob Shearman
|
3f431a0646
|
server: Add get_token_statistics server call and use it to implement the TokenStatistics and TokenType levels for NtQueryInformationToken.
|
2007-09-14 14:43:46 +02:00 |