<?xml version="1.0" encoding="utf-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>HelenOS-historic &#x2013; /kernel/trunk/generic/src/lib/sort.c</title><description>WebSVN RSS feed &#x2013; HelenOS-historic</description><lastBuildDate>Sat, 04 Apr 2026 00:39:41 +0200</lastBuildDate><generator>WebSVN 2.8.4</generator><language>en</language><link>https://historic.helenos.org/log.php?repname=HelenOS-historic&amp;path=%2Fkernel%2Ftrunk%2Fgeneric%2Fsrc%2Flib%2Fsort.c&amp;max=40&amp;peg=1267</link><atom:link href="https://historic.helenos.org/rss.php?path=%2Fkernel%2Ftrunk%2Fgeneric%2Fsrc%2Flib%2Fsort.c&amp;peg=1267&amp;repname=HelenOS-historic" rel="self" type="application/rss+xml" />
<item><pubDate>Mon, 01 May 2006 14:24:32 +0200</pubDate><dc:creator>jermar</dc:creator><title>Rev 1264 – Improve Doxygen-comments.</title><description>&lt;div&gt;&lt;strong&gt;jermar – 24 file(s) modified&lt;/strong&gt;&lt;br/&gt;Improve Doxygen-comments.&lt;/div&gt;~ /kernel/trunk/generic/include/security/cap.h&lt;br /&gt;~ /kernel/trunk/generic/src/console/cmd.c&lt;br /&gt;~ /kernel/trunk/generic/src/console/kconsole.c&lt;br /&gt;~ /kernel/trunk/generic/src/cpu/cpu.c&lt;br /&gt;~ /kernel/trunk/generic/src/debug/print.c&lt;br /&gt;~ /kernel/trunk/generic/src/debug/symtab.c&lt;br /&gt;~ /kernel/trunk/generic/src/interrupt/interrupt.c&lt;br /&gt;~ /kernel/trunk/generic/src/lib/elf.c&lt;br /&gt;~ /kernel/trunk/generic/src/lib/func.c&lt;br /&gt;~ /kernel/trunk/generic/src/lib/memstr.c&lt;br /&gt;~ /kernel/trunk/generic/src/lib/sort.c&lt;br /&gt;~ /kernel/trunk/generic/src/preempt/preemption.c&lt;br /&gt;~ /kernel/trunk/generic/src/proc/scheduler.c&lt;br /&gt;~ /kernel/trunk/generic/src/security/cap.c&lt;br /&gt;~ /kernel/trunk/generic/src/smp/ipi.c&lt;br /&gt;~ /kernel/trunk/generic/src/synch/condvar.c&lt;br /&gt;~ /kernel/trunk/generic/src/synch/futex.c&lt;br /&gt;~ /kernel/trunk/generic/src/synch/mutex.c&lt;br /&gt;~ /kernel/trunk/generic/src/synch/semaphore.c&lt;br /&gt;~ /kernel/trunk/generic/src/synch/spinlock.c&lt;br /&gt;~ /kernel/trunk/generic/src/syscall/syscall.c&lt;br /&gt;~ /kernel/trunk/generic/src/time/clock.c&lt;br /&gt;~ /kernel/trunk/generic/src/time/delay.c&lt;br /&gt;~ /kernel/trunk/generic/src/time/timeout.c&lt;br /&gt;</description><link>https://historic.helenos.org/revision.php?repname=HelenOS-historic&amp;path=%2Fkernel%2Ftrunk%2Fgeneric%2Fsrc%2Flib%2Fsort.c&amp;rev=1264&amp;peg=1267</link><guid>https://historic.helenos.org/revision.php?repname=HelenOS-historic&amp;path=%2Fkernel%2Ftrunk%2Fgeneric%2Fsrc%2Flib%2Fsort.c&amp;rev=1264&amp;peg=1267</guid></item>
<item><pubDate>Wed, 08 Feb 2006 23:58:06 +0100</pubDate><dc:creator>palkovsky</dc:creator><title>Rev 822 – Changed malloc to include second parameter and documented  recommended ...</title><description>&lt;div&gt;&lt;strong&gt;palkovsky – 20 file(s) modified&lt;/strong&gt;&lt;br/&gt;Changed malloc to include second parameter and documented &lt;br /&gt;
recommended usage.&lt;br /&gt;
Added zone merging, made ia32 &amp; amd64 to merge found zones.&lt;/div&gt;~ /kernel/trunk/arch/amd64/src/pm.c&lt;br /&gt;~ /kernel/trunk/arch/ia32/src/mm/frame.c&lt;br /&gt;~ /kernel/trunk/arch/ia32/src/pm.c&lt;br /&gt;~ /kernel/trunk/arch/ia32/src/smp/smp.c&lt;br /&gt;~ /kernel/trunk/doc/mm&lt;br /&gt;~ /kernel/trunk/genarch/src/acpi/matd.c&lt;br /&gt;~ /kernel/trunk/generic/include/mm/buddy.h&lt;br /&gt;~ /kernel/trunk/generic/include/mm/frame.h&lt;br /&gt;~ /kernel/trunk/generic/include/mm/slab.h&lt;br /&gt;~ /kernel/trunk/generic/src/adt/hash_table.c&lt;br /&gt;~ /kernel/trunk/generic/src/cpu/cpu.c&lt;br /&gt;~ /kernel/trunk/generic/src/lib/sort.c&lt;br /&gt;~ /kernel/trunk/generic/src/main/main.c&lt;br /&gt;~ /kernel/trunk/generic/src/mm/as.c&lt;br /&gt;~ /kernel/trunk/generic/src/mm/buddy.c&lt;br /&gt;~ /kernel/trunk/generic/src/mm/frame.c&lt;br /&gt;~ /kernel/trunk/generic/src/mm/slab.c&lt;br /&gt;~ /kernel/trunk/generic/src/proc/task.c&lt;br /&gt;~ /kernel/trunk/generic/src/proc/thread.c&lt;br /&gt;~ /kernel/trunk/test/mm/falloc2/test.c&lt;br /&gt;</description><link>https://historic.helenos.org/revision.php?repname=HelenOS-historic&amp;path=%2Fkernel%2Ftrunk%2Fgeneric%2Fsrc%2Flib%2Fsort.c&amp;rev=822&amp;peg=1267</link><guid>https://historic.helenos.org/revision.php?repname=HelenOS-historic&amp;path=%2Fkernel%2Ftrunk%2Fgeneric%2Fsrc%2Flib%2Fsort.c&amp;rev=822&amp;peg=1267</guid></item>
<item><pubDate>Wed, 08 Feb 2006 13:34:05 +0100</pubDate><dc:creator>palkovsky</dc:creator><title>Rev 814 – Cleanup o frame allocator. Removed early_malloc &amp; initial heap. Will ...</title><description>&lt;div&gt;&lt;strong&gt;palkovsky – 37 file(s) modified&lt;/strong&gt;&lt;br/&gt;Cleanup o frame allocator.&lt;br /&gt;
Removed early_malloc &amp; initial heap.&lt;br /&gt;
Will break ia64, ppc &amp; sparc.&lt;br /&gt;
Added e820 table print.&lt;/div&gt;~ /kernel/trunk/arch/amd64/include/types.h&lt;br /&gt;~ /kernel/trunk/arch/amd64/src/mm/page.c&lt;br /&gt;~ /kernel/trunk/arch/amd64/src/pm.c&lt;br /&gt;~ /kernel/trunk/arch/ia32/include/types.h&lt;br /&gt;~ /kernel/trunk/arch/ia32/src/mm/frame.c&lt;br /&gt;~ /kernel/trunk/arch/ia32/src/pm.c&lt;br /&gt;~ /kernel/trunk/arch/ia32/src/smp/smp.c&lt;br /&gt;~ /kernel/trunk/arch/mips32/include/types.h&lt;br /&gt;~ /kernel/trunk/arch/mips32/Makefile.inc&lt;br /&gt;~ /kernel/trunk/arch/mips32/src/drivers/arc.c&lt;br /&gt;~ /kernel/trunk/arch/mips32/src/mips32.c&lt;br /&gt;~ /kernel/trunk/arch/mips32/src/mm/frame.c&lt;br /&gt;~ /kernel/trunk/contrib/conf/msim.conf&lt;br /&gt;~ /kernel/trunk/genarch/src/acpi/matd.c&lt;br /&gt;~ /kernel/trunk/genarch/src/mm/as_pt.c&lt;br /&gt;~ /kernel/trunk/genarch/src/mm/page_pt.c&lt;br /&gt;~ /kernel/trunk/generic/include/mm/buddy.h&lt;br /&gt;~ /kernel/trunk/generic/include/mm/frame.h&lt;br /&gt;x /kernel/trunk/generic/include/mm/heap.h&lt;br /&gt;~ /kernel/trunk/generic/include/mm/slab.h&lt;br /&gt;~ /kernel/trunk/generic/include/proc/thread.h&lt;br /&gt;~ /kernel/trunk/generic/include/typedefs.h&lt;br /&gt;~ /kernel/trunk/generic/src/adt/hash_table.c&lt;br /&gt;~ /kernel/trunk/generic/src/cpu/cpu.c&lt;br /&gt;~ /kernel/trunk/generic/src/lib/sort.c&lt;br /&gt;~ /kernel/trunk/generic/src/main/main.c&lt;br /&gt;~ /kernel/trunk/generic/src/mm/as.c&lt;br /&gt;~ /kernel/trunk/generic/src/mm/buddy.c&lt;br /&gt;~ /kernel/trunk/generic/src/mm/frame.c&lt;br /&gt;x /kernel/trunk/generic/src/mm/heap.c&lt;br /&gt;~ /kernel/trunk/generic/src/mm/slab.c&lt;br /&gt;~ /kernel/trunk/generic/src/proc/scheduler.c&lt;br /&gt;~ /kernel/trunk/generic/src/proc/task.c&lt;br /&gt;~ /kernel/trunk/generic/src/proc/thread.c&lt;br /&gt;~ /kernel/trunk/Makefile&lt;br /&gt;~ /kernel/trunk/test/mm/falloc1/test.c&lt;br /&gt;~ /kernel/trunk/test/mm/falloc2/test.c&lt;br /&gt;</description><link>https://historic.helenos.org/revision.php?repname=HelenOS-historic&amp;path=%2Fkernel%2Ftrunk%2Fgeneric%2Fsrc%2Flib%2Fsort.c&amp;rev=814&amp;peg=1267</link><guid>https://historic.helenos.org/revision.php?repname=HelenOS-historic&amp;path=%2Fkernel%2Ftrunk%2Fgeneric%2Fsrc%2Flib%2Fsort.c&amp;rev=814&amp;peg=1267</guid></item>
<item><pubDate>Sun, 04 Dec 2005 20:40:40 +0100</pubDate><dc:creator>jermar</dc:creator><title>Rev 534 – Rename HelenOS/SPARTAN to HelenOS/kernel again.</title><description>&lt;div&gt;&lt;strong&gt;jermar – 2 file(s) modified&lt;/strong&gt;&lt;br/&gt;Rename HelenOS/SPARTAN to HelenOS/kernel again.&lt;/div&gt;+ /kernel &lt;i&gt;(copied from /SPARTAN@533)&lt;/i&gt;&lt;br /&gt;x /SPARTAN&lt;br /&gt;</description><link>https://historic.helenos.org/revision.php?repname=HelenOS-historic&amp;path=%2Fkernel%2Ftrunk%2Fgeneric%2Fsrc%2Flib%2Fsort.c&amp;rev=534&amp;peg=1267</link><guid>https://historic.helenos.org/revision.php?repname=HelenOS-historic&amp;path=%2Fkernel%2Ftrunk%2Fgeneric%2Fsrc%2Flib%2Fsort.c&amp;rev=534&amp;peg=1267</guid></item>
<item><pubDate>Sun, 04 Dec 2005 20:28:25 +0100</pubDate><dc:creator>jermar</dc:creator><title>Rev 532 – Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending ...</title><description>&lt;div&gt;&lt;strong&gt;jermar – 2 file(s) modified&lt;/strong&gt;&lt;br/&gt;Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending patch.&lt;/div&gt;x /kernel&lt;br /&gt;+ /SPARTAN &lt;i&gt;(copied from /kernel@531)&lt;/i&gt;&lt;br /&gt;</description><link>https://historic.helenos.org/revision.php?repname=HelenOS-historic&amp;path=%2Fkernel%2Ftrunk%2Fgeneric%2Fsrc%2Flib%2Fsort.c&amp;rev=532&amp;peg=1267</link><guid>https://historic.helenos.org/revision.php?repname=HelenOS-historic&amp;path=%2Fkernel%2Ftrunk%2Fgeneric%2Fsrc%2Flib%2Fsort.c&amp;rev=532&amp;peg=1267</guid></item>
<item><pubDate>Tue, 22 Nov 2005 16:09:19 +0100</pubDate><dc:creator>jermar</dc:creator><title>Rev 501 – Rename HelenOS/SPARTAN to HelenOS/kernel.</title><description>&lt;div&gt;&lt;strong&gt;jermar – 2 file(s) modified&lt;/strong&gt;&lt;br/&gt;Rename HelenOS/SPARTAN to HelenOS/kernel.&lt;/div&gt;+ /kernel &lt;i&gt;(copied from /SPARTAN@500)&lt;/i&gt;&lt;br /&gt;x /SPARTAN&lt;br /&gt;</description><link>https://historic.helenos.org/revision.php?repname=HelenOS-historic&amp;path=%2Fkernel%2Ftrunk%2Fgeneric%2Fsrc%2Flib%2Fsort.c&amp;rev=501&amp;peg=1267</link><guid>https://historic.helenos.org/revision.php?repname=HelenOS-historic&amp;path=%2Fkernel%2Ftrunk%2Fgeneric%2Fsrc%2Flib%2Fsort.c&amp;rev=501&amp;peg=1267</guid></item>
<item><pubDate>Tue, 01 Nov 2005 23:14:56 +0100</pubDate><dc:creator>jermar</dc:creator><title>Rev 430 – Move src/ and include/ to generic.</title><description>&lt;div&gt;&lt;strong&gt;jermar – 15 file(s) modified&lt;/strong&gt;&lt;br/&gt;Move src/ and include/ to generic.&lt;/div&gt;~ /SPARTAN/trunk/arch/amd64/Makefile.inc&lt;br /&gt;~ /SPARTAN/trunk/arch/ia32/Makefile.inc&lt;br /&gt;~ /SPARTAN/trunk/arch/ia64/Makefile.inc&lt;br /&gt;~ /SPARTAN/trunk/arch/mips32/boot/Makefile&lt;br /&gt;~ /SPARTAN/trunk/arch/mips32/Makefile.inc&lt;br /&gt;~ /SPARTAN/trunk/arch/ppc32/Makefile.inc&lt;br /&gt;~ /SPARTAN/trunk/arch/sparc64/Makefile.inc&lt;br /&gt;~ /SPARTAN/trunk/genarch/Makefile.inc&lt;br /&gt;+ /SPARTAN/trunk/generic&lt;br /&gt;+ /SPARTAN/trunk/generic/include &lt;i&gt;(copied from /SPARTAN/trunk/include@429)&lt;/i&gt;&lt;br /&gt;+ /SPARTAN/trunk/generic/src &lt;i&gt;(copied from /SPARTAN/trunk/src@429)&lt;/i&gt;&lt;br /&gt;~ /SPARTAN/trunk/generic/src/main/kinit.c&lt;br /&gt;x /SPARTAN/trunk/include&lt;br /&gt;~ /SPARTAN/trunk/Makefile&lt;br /&gt;x /SPARTAN/trunk/src&lt;br /&gt;</description><link>https://historic.helenos.org/revision.php?repname=HelenOS-historic&amp;path=%2Fkernel%2Ftrunk%2Fgeneric%2Fsrc%2Flib%2Fsort.c&amp;rev=430&amp;peg=1267</link><guid>https://historic.helenos.org/revision.php?repname=HelenOS-historic&amp;path=%2Fkernel%2Ftrunk%2Fgeneric%2Fsrc%2Flib%2Fsort.c&amp;rev=430&amp;peg=1267</guid></item>
<item><pubDate>Fri, 16 Sep 2005 12:42:10 +0200</pubDate><dc:creator>jermar</dc:creator><title>Rev 351 – Ok. The idea of _qsort() was not broken at all. ...</title><description>&lt;div&gt;&lt;strong&gt;jermar – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;Ok. The idea of _qsort() was not broken at all.&lt;br /&gt;
Revert the changes and make _qsort() call _qsort() rather than qsort() so that the idea has effect.&lt;br /&gt;
Add _bubblesort() to optimize number of allocations when bubblesort algorithm is invoked from _qsort().&lt;br /&gt;
Add doxygen-style comments.&lt;/div&gt;~ /SPARTAN/trunk/src/lib/sort.c&lt;br /&gt;</description><link>https://historic.helenos.org/revision.php?repname=HelenOS-historic&amp;path=%2Fkernel%2Ftrunk%2Fgeneric%2Fsrc%2Flib%2Fsort.c&amp;rev=351&amp;peg=1267</link><guid>https://historic.helenos.org/revision.php?repname=HelenOS-historic&amp;path=%2Fkernel%2Ftrunk%2Fgeneric%2Fsrc%2Flib%2Fsort.c&amp;rev=351&amp;peg=1267</guid></item>
<item><pubDate>Thu, 15 Sep 2005 23:19:40 +0200</pubDate><dc:creator>jermar</dc:creator><title>Rev 350 – Remove _qsort() as its concept is fundamentally broken.  Move ...</title><description>&lt;div&gt;&lt;strong&gt;jermar – 4 file(s) modified&lt;/strong&gt;&lt;br/&gt;Remove _qsort() as its concept is fundamentally broken.&lt;br /&gt;
&lt;br /&gt;
Move lib/the.c to proc/the.c.&lt;/div&gt;~ /SPARTAN/trunk/src/lib/sort.c&lt;br /&gt;x /SPARTAN/trunk/src/lib/the.c&lt;br /&gt;~ /SPARTAN/trunk/src/Makefile&lt;br /&gt;+ /SPARTAN/trunk/src/proc/the.c &lt;i&gt;(copied from /SPARTAN/trunk/src/lib/the.c@348)&lt;/i&gt;&lt;br /&gt;</description><link>https://historic.helenos.org/revision.php?repname=HelenOS-historic&amp;path=%2Fkernel%2Ftrunk%2Fgeneric%2Fsrc%2Flib%2Fsort.c&amp;rev=350&amp;peg=1267</link><guid>https://historic.helenos.org/revision.php?repname=HelenOS-historic&amp;path=%2Fkernel%2Ftrunk%2Fgeneric%2Fsrc%2Flib%2Fsort.c&amp;rev=350&amp;peg=1267</guid></item>
<item><pubDate>Thu, 15 Sep 2005 23:02:27 +0200</pubDate><dc:creator>jermar</dc:creator><title>Rev 349 – Optimize sorting functions so that malloc() and free() is called ...</title><description>&lt;div&gt;&lt;strong&gt;jermar – 5 file(s) modified&lt;/strong&gt;&lt;br/&gt;Optimize sorting functions so that malloc() and free() is called only for e_size &gt; EBUFSIZE.&lt;br /&gt;
Smaller buffers are allocated directly on the stack.&lt;br /&gt;
&lt;br /&gt;
Some copyright holder fixes on some files written by Ondrej Palkovsky.&lt;/div&gt;~ /SPARTAN/trunk/arch/amd64/include/mm/frame.h&lt;br /&gt;~ /SPARTAN/trunk/arch/amd64/include/mm/page.h&lt;br /&gt;~ /SPARTAN/trunk/arch/amd64/include/mm/vm.h&lt;br /&gt;~ /SPARTAN/trunk/arch/ia32/src/acpi/madt.c&lt;br /&gt;~ /SPARTAN/trunk/src/lib/sort.c&lt;br /&gt;</description><link>https://historic.helenos.org/revision.php?repname=HelenOS-historic&amp;path=%2Fkernel%2Ftrunk%2Fgeneric%2Fsrc%2Flib%2Fsort.c&amp;rev=349&amp;peg=1267</link><guid>https://historic.helenos.org/revision.php?repname=HelenOS-historic&amp;path=%2Fkernel%2Ftrunk%2Fgeneric%2Fsrc%2Flib%2Fsort.c&amp;rev=349&amp;peg=1267</guid></item>
<item><pubDate>Sun, 11 Sep 2005 15:42:57 +0200</pubDate><dc:creator>bondari</dc:creator><title>Rev 336 – minor</title><description>&lt;div&gt;&lt;strong&gt;bondari – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;minor&lt;/div&gt;~ /SPARTAN/trunk/src/lib/sort.c&lt;br /&gt;</description><link>https://historic.helenos.org/revision.php?repname=HelenOS-historic&amp;path=%2Fkernel%2Ftrunk%2Fgeneric%2Fsrc%2Flib%2Fsort.c&amp;rev=336&amp;peg=1267</link><guid>https://historic.helenos.org/revision.php?repname=HelenOS-historic&amp;path=%2Fkernel%2Ftrunk%2Fgeneric%2Fsrc%2Flib%2Fsort.c&amp;rev=336&amp;peg=1267</guid></item>
<item><pubDate>Sun, 11 Sep 2005 15:38:48 +0200</pubDate><dc:creator>bondari</dc:creator><title>Rev 335 – More effective memory allocations with help of qsort wrapper method</title><description>&lt;div&gt;&lt;strong&gt;bondari – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;More effective memory allocations with help of qsort wrapper method&lt;/div&gt;~ /SPARTAN/trunk/src/lib/sort.c&lt;br /&gt;</description><link>https://historic.helenos.org/revision.php?repname=HelenOS-historic&amp;path=%2Fkernel%2Ftrunk%2Fgeneric%2Fsrc%2Flib%2Fsort.c&amp;rev=335&amp;peg=1267</link><guid>https://historic.helenos.org/revision.php?repname=HelenOS-historic&amp;path=%2Fkernel%2Ftrunk%2Fgeneric%2Fsrc%2Flib%2Fsort.c&amp;rev=335&amp;peg=1267</guid></item>
<item><pubDate>Sun, 11 Sep 2005 14:55:30 +0200</pubDate><dc:creator>bondari</dc:creator><title>Rev 333 – Copyright notice and proper tabs</title><description>&lt;div&gt;&lt;strong&gt;bondari – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;Copyright notice and proper tabs&lt;/div&gt;~ /SPARTAN/trunk/src/lib/sort.c&lt;br /&gt;</description><link>https://historic.helenos.org/revision.php?repname=HelenOS-historic&amp;path=%2Fkernel%2Ftrunk%2Fgeneric%2Fsrc%2Flib%2Fsort.c&amp;rev=333&amp;peg=1267</link><guid>https://historic.helenos.org/revision.php?repname=HelenOS-historic&amp;path=%2Fkernel%2Ftrunk%2Fgeneric%2Fsrc%2Flib%2Fsort.c&amp;rev=333&amp;peg=1267</guid></item>
<item><pubDate>Sun, 11 Sep 2005 14:19:35 +0200</pubDate><dc:creator>bondari</dc:creator><title>Rev 331 – Generic quicksort and bubble sort implementation. ACPI MADT parser now ...</title><description>&lt;div&gt;&lt;strong&gt;bondari – 5 file(s) modified&lt;/strong&gt;&lt;br/&gt;Generic quicksort and bubble sort implementation.&lt;br /&gt;
ACPI MADT parser now uses qsort() for index sorting&lt;/div&gt;~ /SPARTAN/trunk/arch/ia32/src/acpi/madt.c&lt;br /&gt;+ /SPARTAN/trunk/include/sort.h&lt;br /&gt;~ /SPARTAN/trunk/src/lib/func.c&lt;br /&gt;+ /SPARTAN/trunk/src/lib/sort.c&lt;br /&gt;~ /SPARTAN/trunk/src/Makefile&lt;br /&gt;</description><link>https://historic.helenos.org/revision.php?repname=HelenOS-historic&amp;path=%2Fkernel%2Ftrunk%2Fgeneric%2Fsrc%2Flib%2Fsort.c&amp;rev=331&amp;peg=1267</link><guid>https://historic.helenos.org/revision.php?repname=HelenOS-historic&amp;path=%2Fkernel%2Ftrunk%2Fgeneric%2Fsrc%2Flib%2Fsort.c&amp;rev=331&amp;peg=1267</guid></item>
</channel></rss>