| Age | Commit message (Expand) | Author | Files | Lines |
| 2020-08-12 | Merge branch 'fix-scalar' | Luc Van Oostenryck | 2 | -0/+15 |
| 2020-08-11 | fix is_scalar_type(): fouled types are scalars too | Luc Van Oostenryck | 2 | -0/+15 |
| 2020-08-11 | Merge branch 'force-to-0' into master | Luc Van Oostenryck | 1 | -1/+5 |
| 2020-08-11 | bug-assign-op0.c: fix test on 32-bit builds | Ramsay Jones | 1 | -5/+5 |
| 2020-08-09 | Merge branches 'attr-asm' and 'storage-mod' | Luc Van Oostenryck | 3 | -222/+143 |
| 2020-08-09 | Merge branch 'doc-annot' | Luc Van Oostenryck | 6 | -66/+113 |
| 2020-08-09 | parse: simplify set_storage_class() | Luc Van Oostenryck | 1 | -5/+2 |
| 2020-08-09 | parse: improve error messages concerning storage specifiers | Luc Van Oostenryck | 1 | -5/+4 |
| 2020-08-09 | parse: let asm_modifier() use the keyword modifier | Luc Van Oostenryck | 2 | -14/+4 |
| 2020-08-09 | parse: associate modifiers with their keyword | Luc Van Oostenryck | 2 | -110/+48 |
| 2020-08-09 | parse: rework handling of storage_class | Luc Van Oostenryck | 2 | -50/+25 |
| 2020-08-09 | Merge branch 'empty-char' into next | Luc Van Oostenryck | 4 | -6/+28 |
| 2020-08-09 | force to 0 expressions which are erroneously non-constant | Luc Van Oostenryck | 1 | -1/+5 |
| 2020-08-09 | Merge branch 'check-void' into tip | Luc Van Oostenryck | 1 | -1/+1 |
| 2020-08-09 | fix checking if type is void | Luc Van Oostenryck | 1 | -1/+1 |
| 2020-08-08 | Merge branch 'wstring-init' into next | Luc Van Oostenryck | 5 | -10/+89 |
| 2020-08-08 | Merge branch 'sync-cas' into next | Luc Van Oostenryck | 4 | -6/+93 |
| 2020-08-08 | Merge branch 'bad-shift-equal' into next | Luc Van Oostenryck | 12 | -87/+462 |
| 2020-08-08 | Merge branch 'prev-stream' into next | Luc Van Oostenryck | 3 | -1/+17 |
| 2020-08-08 | wstring: call is_string_type() only when needed | Luc Van Oostenryck | 1 | -3/+2 |
| 2020-08-08 | wstring: extend is_string_type() to also detect wide strings | Luc Van Oostenryck | 2 | -2/+4 |
| 2020-08-08 | wstring: add helper is_wchar_type() | Luc Van Oostenryck | 1 | -0/+7 |
| 2020-08-08 | wstring: add support for examination of string initialization | Luc Van Oostenryck | 1 | -0/+25 |
| 2020-08-08 | wstring: add support for checking size in string initializer | Luc Van Oostenryck | 3 | -2/+47 |
| 2020-08-08 | wstring: add support for evaluation of wide string | Luc Van Oostenryck | 1 | -4/+5 |
| 2020-08-07 | add builtin support for __sync_{bool,val}_compare_and_swap() | Luc Van Oostenryck | 2 | -3/+58 |
| 2020-08-07 | export evaluate_arguments() | Luc Van Oostenryck | 2 | -4/+10 |
| 2020-08-07 | add testcases for __sync_{bool,val}_compare_and_swap() | Luc Van Oostenryck | 1 | -0/+26 |
| 2020-08-06 | bad-shift: wait dead code elimination to warn about bad shifts | Luc Van Oostenryck | 8 | -83/+78 |
| 2020-08-06 | shift-assign: restrict shift count to unsigned int | Luc Van Oostenryck | 2 | -1/+5 |
| 2020-08-06 | shift-assign: fix linearization of shift-assign | Luc Van Oostenryck | 4 | -11/+13 |
| 2020-08-06 | shift-assign: add more testcases for bogus linearization | Luc Van Oostenryck | 2 | -0/+374 |
| 2020-08-05 | sindex: rename it to 'semind' | Alexey Gladkov | 4 | -195/+195 |
| 2020-08-01 | sindex.1: Use ' for a plain quote char | Uwe Kleine-König | 1 | -2/+2 |
| 2020-08-01 | fix build on Hurd which doesn't define PATH_MAX | Luc Van Oostenryck | 2 | -4/+4 |
| 2020-07-31 | Merge branch 'array-decl' | Luc Van Oostenryck | 5 | -38/+57 |
| 2020-07-31 | Merge branch 'attr-parsing' | Luc Van Oostenryck | 1 | -19/+3 |
| 2020-07-31 | Merge branch 'doc-misc' | Luc Van Oostenryck | 3 | -5/+5 |
| 2020-07-31 | Merge branch 'undef-option' | Luc Van Oostenryck | 1 | -0/+6 |
| 2020-07-30 | sindex: allow indexing outside the project tree | Alexey Gladkov | 1 | -4/+17 |
| 2020-07-30 | dissect: support _Generic() a bit more | Oleg Nesterov | 1 | -1/+11 |
| 2020-07-30 | fix diagnostic source path from command line | Luc Van Oostenryck | 2 | -0/+13 |
| 2020-07-29 | fix stream_prev() for invalid (negative) stream | Luc Van Oostenryck | 1 | -1/+4 |
| 2020-07-29 | dissect: use struct symbol::visited/inspected instead of ::examined/evaluated | Luc Van Oostenryck | 2 | -6/+7 |
| 2020-07-29 | dissect: add support for _Generic | Alexey Gladkov | 1 | -0/+1 |
| 2020-07-27 | xtensa: fix configuration of endianness | Luc Van Oostenryck | 1 | -5/+0 |
| 2020-07-27 | remove unsed field for EXPR_GENERIC | Luc Van Oostenryck | 1 | -1/+0 |
| 2020-07-25 | keyword type is a bitmask and must be tested so | Luc Van Oostenryck | 1 | -1/+1 |
| 2020-07-25 | attribute: simplify parsing of attributes | Luc Van Oostenryck | 1 | -19/+3 |
| 2020-07-25 | testing for sym->op is unneeded for lookup_keyword() | Luc Van Oostenryck | 1 | -1/+1 |
| 2020-07-25 | testing for SYM_KEYWORD is unneeded for lookup_keyword() | Luc Van Oostenryck | 1 | -4/+2 |
| 2020-07-25 | attribute: no need to lookup '__attribute__' in NS_KEYWORD | Luc Van Oostenryck | 1 | -1/+1 |
| 2020-07-25 | attribute: factorize matching of '__attribute__' | Luc Van Oostenryck | 1 | -19/+16 |
| 2020-07-25 | attribute: directly use attribute_specifier() to handle attributes | Luc Van Oostenryck | 1 | -1/+1 |
| 2020-07-25 | attribute: remove argument 'keywords' from handle_attributes() | Luc Van Oostenryck | 1 | -13/+12 |
| 2020-07-25 | attribute: fold parse_asm_declarator() into handle_asm_name() | Luc Van Oostenryck | 1 | -12/+8 |
| 2020-07-25 | attribute: split handle_asm_name() from handle_attributes() | Luc Van Oostenryck | 1 | -3/+18 |
| 2020-07-25 | use lookup_keyword() for qualifiers | Luc Van Oostenryck | 1 | -1/+1 |
| 2020-07-25 | option: accept 'sparse -U ...' | Luc Van Oostenryck | 1 | -0/+6 |
| 2020-07-25 | doc: do not display bugzilla's URL, it's too long | Luc Van Oostenryck | 1 | -2/+2 |
| 2020-07-25 | doc: use https URLs | Luc Van Oostenryck | 1 | -2/+2 |
| 2020-07-25 | manpage: replace homepage to sparse.docs.kernel.org | Luc Van Oostenryck | 2 | -2/+2 |
| 2020-07-25 | show-mod: no extra space when showing modifiers + ident | Luc Van Oostenryck | 1 | -1/+1 |
| 2020-07-25 | show-mod: no ending space when showing a single modifier | Luc Van Oostenryck | 1 | -1/+1 |
| 2020-07-25 | show-mod: add helper to show the modifiers but without ending space | Luc Van Oostenryck | 2 | -1/+18 |
| 2020-07-25 | generic: fix missing inlining of generic expression | Luc Van Oostenryck | 2 | -0/+18 |
| 2020-07-23 | allow [*] in array declarators | Luc Van Oostenryck | 2 | -2/+6 |
| 2020-07-23 | remove now unused match_idents() | Luc Van Oostenryck | 1 | -18/+0 |
| 2020-07-23 | simplify & fix parsing of array declarators | Luc Van Oostenryck | 3 | -20/+11 |
| 2020-07-23 | add testcases for C99 array declarators | Luc Van Oostenryck | 2 | -0/+31 |
| 2020-07-23 | do not accept comma expressions in array declarator | Luc Van Oostenryck | 2 | -2/+1 |
| 2020-07-23 | add testcase for comma in array declarator | Luc Van Oostenryck | 1 | -0/+12 |
| 2020-07-22 | doc: shorter title for "submitting-patches.md" | Luc Van Oostenryck | 1 | -2/+2 |
| 2020-08-03 | doc: remove link "edit on github" | Luc Van Oostenryck | 1 | -0/+11 |
| 2020-08-03 | doc: add index to the sidebar | Luc Van Oostenryck | 1 | -0/+8 |
| 2020-08-03 | doc: simplify the toctree | Luc Van Oostenryck | 1 | -21/+7 |
| 2020-08-03 | doc: replace nocast-vs-bitwise document with its lore link | Luc Van Oostenryck | 2 | -44/+0 |
| 2020-08-03 | doc: document the sparse's extensions | Luc Van Oostenryck | 2 | -0/+86 |
| 2020-07-22 | add position to struct stream | Luc Van Oostenryck | 5 | -12/+16 |
| 2020-07-22 | delay 'empty character constant' warning to phase 5 | Luc Van Oostenryck | 4 | -6/+28 |
| 2020-07-19 | prepend diagnostics with source's path and include chain | Luc Van Oostenryck | 6 | -17/+103 |
| 2020-07-18 | Merge branch 'error-inval-num' | Luc Van Oostenryck | 5 | -2/+20 |
| 2020-07-18 | Merge branch 'empty-expr' | Luc Van Oostenryck | 5 | -2/+32 |
| 2020-07-18 | Merge branch 'arch' | Luc Van Oostenryck | 27 | -65/+726 |
| 2020-07-16 | predefine: let predefine_width() take the usual interface | Luc Van Oostenryck | 1 | -3/+3 |
| 2020-07-15 | syntax errors in numbers are not fatal | Luc Van Oostenryck | 1 | -1/+4 |
| 2020-07-14 | Merge branch 'keyword-tbl' | Luc Van Oostenryck | 1 | -154/+132 |
| 2020-07-14 | Merge branch 'assert-opt-msg' | Luc Van Oostenryck | 2 | -8/+21 |
| 2020-07-14 | Merge branch 'bad-shift-assign' | Luc Van Oostenryck | 1 | -0/+115 |
| 2020-07-14 | warn on empty initializations | Luc Van Oostenryck | 2 | -2/+4 |
| 2020-07-14 | warn on empty assignments | Luc Van Oostenryck | 3 | -2/+6 |
| 2020-07-14 | add testcase for incorrect empty expressions | Luc Van Oostenryck | 2 | -0/+24 |
| 2020-07-14 | x86-x32: fix it by defining a separate target for it | Luc Van Oostenryck | 3 | -3/+41 |
| 2020-07-14 | arch: allow target specific [u]intptr_t & ptrdiff_t | Luc Van Oostenryck | 8 | -6/+23 |
| 2020-07-14 | predefine: teach sparse about __SIG_ATOMIC_TYPE__ | Luc Van Oostenryck | 3 | -0/+3 |
| 2020-07-14 | arch: add predefines __INT_FAST${N}_TYPE__ | Luc Van Oostenryck | 17 | -1/+146 |
| 2020-07-14 | arch: add predefines __INT_LEAST${N}_TYPE__ | Luc Van Oostenryck | 4 | -0/+27 |
| 2020-07-13 | ppc: add predefines __LONGDOUBLE128 & __LONG_DOUBLE_128__ | Luc Van Oostenryck | 1 | -0/+4 |
| 2020-07-13 | alpha: has 64-bit long double & int128 | Luc Van Oostenryck | 1 | -0/+3 |
| 2020-07-13 | sparc: add 'sparcv8' predefines for sparc32 | Luc Van Oostenryck | 1 | -3/+16 |
| 2020-07-13 | Merge branches 'march', 'endianness', 'os' and 'arch-mini' into arch | Luc Van Oostenryck | 20 | -49/+460 |
| 2020-07-13 | fix evaluation error with assignment of qualified arrays | Luc Van Oostenryck | 3 | -4/+2 |
| 2020-07-13 | openrisc: add minimal support | Luc Van Oostenryck | 5 | -0/+31 |
| 2020-07-13 | sh: add minimal support | Luc Van Oostenryck | 5 | -0/+33 |
| 2020-07-13 | nds32: add minimal support | Luc Van Oostenryck | 5 | -0/+33 |
| 2020-07-13 | xtensa: add minimal support | Luc Van Oostenryck | 5 | -0/+36 |
| 2020-07-13 | h8300: add minimal support | Luc Van Oostenryck | 5 | -0/+32 |
| 2020-07-13 | target: keep tables sorted | Luc Van Oostenryck | 1 | -4/+4 |
| 2020-07-13 | arm: fix int32_t & uint32_t on bare-metal. | Luc Van Oostenryck | 1 | -0/+9 |
| 2020-07-13 | cgcc: remove now unneeded options & defines | Luc Van Oostenryck | 1 | -24/+8 |
| 2020-07-13 | cygwin: add the predefines '__cdecl', ... | Luc Van Oostenryck | 1 | -0/+9 |
| 2020-07-13 | arch: add predefines for OS identification | Luc Van Oostenryck | 1 | -0/+19 |
| 2020-07-13 | sparc: char are unsigned on Solaris | Luc Van Oostenryck | 1 | -0/+2 |
| 2020-07-13 | x86: fixes types for NetBSD & OpenBSD | Luc Van Oostenryck | 1 | -0/+11 |
| 2020-07-13 | predefine: no __unix__ for Darwin | Luc Van Oostenryck | 1 | -1/+1 |
| 2020-07-13 | predefine: add __linux__ & __linux | Luc Van Oostenryck | 1 | -1/+7 |
| 2020-07-13 | arch: add an option to specify the OS: --os=$OS | Luc Van Oostenryck | 5 | -0/+52 |
| 2020-07-11 | teach sparse about -fmax-errors | Luc Van Oostenryck | 4 | -1/+16 |
| 2020-07-10 | add testcase for missing warning for assignment to const | Luc Van Oostenryck | 1 | -0/+29 |
| 2020-07-10 | add another testcase with const array/pointer | Luc Van Oostenryck | 1 | -0/+50 |
| 2020-07-09 | add a testcase for assignment to const <type> (*)[] | Luc Van Oostenryck | 1 | -0/+7 |
| 2020-07-09 | x86: reorg the target file | Luc Van Oostenryck | 1 | -17/+35 |
| 2020-07-08 | keyword: use some macros to avoid duplication | Luc Van Oostenryck | 1 | -125/+98 |
| 2020-07-08 | keyword: reorder the keywords | Luc Van Oostenryck | 1 | -38/+34 |
| 2020-07-08 | keyword: reorganize the keyword table | Luc Van Oostenryck | 1 | -139/+148 |
| 2020-07-08 | arm: add predefine __ARMEL__ or __ARMEB__ | Luc Van Oostenryck | 1 | -0/+5 |
| 2020-07-08 | arm64: add predefine for endianness | Luc Van Oostenryck | 1 | -0/+5 |
| 2020-07-08 | mips: add predefines __MIPSEL__ or __MIPSEB__ & friends | Luc Van Oostenryck | 1 | -0/+10 |
| 2020-07-08 | c2x: message in _Static_assert() is now optional | Luc Van Oostenryck | 2 | -8/+21 |
| 2020-07-08 | nios2: add non-trailing double underscore predefines | Luc Van Oostenryck | 1 | -2/+7 |
| 2020-07-08 | nios2: long double is 64-bit | Luc Van Oostenryck | 1 | -0/+2 |
| 2020-07-08 | Merge branches 'predef-fix', 'predef-helper' and 'simplify-add-pre-buffer' | Luc Van Oostenryck | 7 | -9/+39 |
| 2020-07-07 | riscv: add the predefines for the extensions | Luc Van Oostenryck | 1 | -0/+19 |
| 2020-07-08 | riscv: parse '-march=....' | Luc Van Oostenryck | 2 | -0/+81 |
| 2020-07-08 | arch: teach sparse about the '-march' option | Luc Van Oostenryck | 2 | -0/+9 |
| 2020-07-06 | predef: simplify add_pre_buffer() | Luc Van Oostenryck | 1 | -6/+3 |
| 2020-07-06 | predefine: avoid add_pre_buffer() for targets | Luc Van Oostenryck | 2 | -2/+2 |
| 2020-07-06 | predefine: add helper predefine_{strong,weak}() | Luc Van Oostenryck | 2 | -0/+28 |
| 2020-07-06 | predefine: fix multi-token predefine | Luc Van Oostenryck | 1 | -1/+1 |
| 2020-07-06 | predefine: add testcase for multi-token predefines | Luc Van Oostenryck | 1 | -0/+5 |
| 2020-07-06 | testsuite: add testcase for bogus linearization of >>= & /= | Luc Van Oostenryck | 1 | -0/+115 |
| 2020-07-06 | arch: add minimal support for microblaze | Luc Van Oostenryck | 5 | -0/+30 |
| 2020-07-06 | Merge branch 'options' | Luc Van Oostenryck | 11 | -1374/+1429 |
| 2020-07-06 | cleanup: move hexval() to utils.c | Luc Van Oostenryck | 4 | -19/+21 |
| 2020-07-06 | cleanup: move parsing helpers to parse.c | Luc Van Oostenryck | 4 | -42/+40 |
| 2020-07-05 | test-inspect: reset locale after gtk_init() | Davidson Francis | 1 | -0/+2 |
| 2020-07-05 | Merge branch 'sindex-uchar' | Luc Van Oostenryck | 1 | -2/+5 |
| 2020-07-05 | sindex: avoid a warning with 'case -1:' | Luc Van Oostenryck | 1 | -2/+5 |
| 2020-07-05 | Merge branch 'arch-asm-mem' | Luc Van Oostenryck | 4 | -2/+32 |
| 2020-07-05 | Merge branch 'cleanup-compat' | Luc Van Oostenryck | 2 | -46/+2 |
| 2020-07-04 | add memory asm constraint for S390 | Luc Van Oostenryck | 1 | -0/+13 |
| 2020-07-04 | add memory asm constraint for PPC | Luc Van Oostenryck | 1 | -0/+13 |
| 2020-07-04 | add support for arch specific asm constraints | Luc Van Oostenryck | 2 | -2/+6 |
| 2020-07-04 | testsuite: add new flag '-p' to subcommand 'format' | Luc Van Oostenryck | 1 | -0/+4 |
| 2020-07-04 | avoid multiple warnings when inlining undeclared calls | Luc Van Oostenryck | 2 | -0/+23 |
| 2020-07-02 | cleanup: move predefines in a separate file | Luc Van Oostenryck | 4 | -221/+227 |
| 2020-07-02 | options: keep the options sorted | Luc Van Oostenryck | 2 | -115/+120 |
| 2020-07-02 | options: move option parsing in a separate file | Luc Van Oostenryck | 5 | -1096/+1134 |
| 2020-07-02 | options: add a small helper: handle_switch_finalize() | Luc Van Oostenryck | 1 | -2/+7 |
| 2020-07-02 | options: move declaration of tabstop out of "token.h" | Luc Van Oostenryck | 2 | -1/+1 |
| 2020-07-02 | options: avoid spaces between function name and arguments list | Luc Van Oostenryck | 1 | -17/+17 |
| 2020-07-02 | options: alphasort the handle_switch_[a-zA_Z]() | Luc Van Oostenryck | 1 | -301/+299 |
| 2020-07-02 | options: move helpers up | Luc Van Oostenryck | 1 | -43/+44 |
| 2020-07-02 | options: handle_onoff_switch() can handle any flags, not only warnings | Luc Van Oostenryck | 1 | -18/+18 |
| 2020-07-02 | options: make Wsparse_error less special | Luc Van Oostenryck | 1 | -2/+2 |
| 2020-07-02 | options: move on top the definition of warning type enums | Luc Van Oostenryck | 1 | -6/+6 |
| 2020-07-02 | options: move -Wsparse-all's processing out of handle_onoff_switch() | Luc Van Oostenryck | 1 | -8/+8 |
| 2020-07-02 | options: let handle_onoff_switch() use null terminated arrays | Luc Van Oostenryck | 1 | -9/+11 |
| 2020-06-28 | remove unneeded BSD & Solaris compatibility layer | Luc Van Oostenryck | 2 | -46/+2 |
| 2020-06-23 | testsuite: fix 'format help' / validate number of arguments | Luc Van Oostenryck | 1 | -1/+6 |
| 2020-06-23 | teach sparse about __STDC_HOSTED__ | Luc Van Oostenryck | 4 | -0/+27 |
| 2020-06-23 | gensel: remove unneeded test/uninitialized warning | Luc Van Oostenryck | 1 | -3/+1 |
| 2020-06-21 | Sparse v0.6.2v0.6.2 | Luc Van Oostenryck | 1 | -1/+1 |
| 2020-06-21 | doc: update release notes | Luc Van Oostenryck | 1 | -3/+9 |
| 2020-06-21 | doc: add some info to the main page | Luc Van Oostenryck | 1 | -10/+30 |
| 2020-06-20 | doc: switch to the sphinx_rtd theme | Luc Van Oostenryck | 1 | -1/+8 |
| 2020-06-20 | Merge branch 'fix-gensel' | Luc Van Oostenryck | 3 | -3/+50 |
| 2020-06-20 | gensel: validate the type of the associations | Luc Van Oostenryck | 2 | -0/+24 |
| 2020-06-20 | gensel: controlling expression must be pointer-converted | Luc Van Oostenryck | 2 | -2/+3 |
| 2020-06-19 | gensel: controlling expression must be lvalue converted | Luc Van Oostenryck | 1 | -1/+4 |
| 2020-06-19 | gensel: use temporary variable in generic selection | Luc Van Oostenryck | 1 | -2/+4 |
| 2020-06-19 | gensel: add testcases from DR481 | Luc Van Oostenryck | 1 | -0/+17 |
| 2020-06-18 | Sparse v0.6.2-rc2v0.6.2-rc2 | Luc Van Oostenryck | 1 | -1/+1 |
| 2020-06-18 | Merge branch 'genmacro' | Luc Van Oostenryck | 5 | -61/+151 |
| 2020-06-18 | pre-process: make __has_{attribute,builtin}() true builtin macros | Luc Van Oostenryck | 3 | -56/+32 |
| 2020-06-18 | pre-process: add support for __has_feature() & __has_extension() | Luc Van Oostenryck | 3 | -1/+58 |
| 2020-06-18 | ir-validate: remove orphan comments | garritfra | 1 | -7/+0 |
| 2020-06-18 | Merge branch 'misc' | Luc Van Oostenryck | 4 | -16/+16 |
| 2020-06-18 | pre-process: add support for builtin macros | Luc Van Oostenryck | 2 | -0/+36 |
| 2020-06-18 | pre-process: rename 'expander' into 'expand_simple' | Luc Van Oostenryck | 2 | -5/+5 |
| 2020-06-18 | pre-process: add testcases for __has_feature() & __has_extension() | Luc Van Oostenryck | 1 | -0/+21 |
| 2020-06-16 | testsuite: be less paranoid with timeout | Luc Van Oostenryck | 1 | -1/+1 |
| 2020-06-16 | build: let the C++ compiler be configurable | Luc Van Oostenryck | 1 | -1/+2 |
| 2020-06-16 | Merge branch 'sindex-build' | Luc Van Oostenryck | 1 | -0/+7 |
| 2020-06-16 | doc: reformulate an item in the TODO | Luc Van Oostenryck | 1 | -2/+2 |
| 2020-06-16 | doc: fix markup in types.rst (s/```/``/) | Luc Van Oostenryck | 1 | -9/+9 |
| 2020-06-16 | doc: fix some typos | Luc Van Oostenryck | 1 | -2/+2 |
| 2020-06-16 | doc: update TODO | Luc Van Oostenryck | 1 | -1/+0 |
| 2020-06-16 | doc: copy the old relnotes here | Luc Van Oostenryck | 15 | -0/+2731 |
| 2020-06-16 | doc: add intro stolen from the wiki | Luc Van Oostenryck | 1 | -0/+37 |