Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
147 check-ins using file packages/crypto/lib/sha_generic.tcl version e6ee309e66
|
2018-06-08
| ||
| 22:14 | programs c cleanup check-in: cc05d2afe3 user: pooryorick tags: trunk | |
|
2018-06-03
| ||
| 19:02 | programs all tests in program.test and openssl.test now pass check-in: 4c4d709c4d user: pooryorick tags: trunk | |
| 18:55 |
struct env
$^& now produces the empty string if the lookup failscheck-in: fcaef43165 user: pooryorick tags: trunk | |
|
2018-06-01
| ||
| 20:16 | dict new command pretty package new command shelf proc minor changes string minor changes check-in: 38c4529015 user: pooryorick tags: trunk | |
| 20:11 | programs replace {ycl struct eav} with {ycl struct env} in progress check-in: eaa914ec2e user: pooryorick tags: trunk | |
| 20:09 | struct env minor fixes check-in: 1274cb382a user: pooryorick tags: trunk | |
|
2018-05-31
| ||
| 12:28 | struc env new command as^ delete the corresponding dom node when the environment is deleted. check-in: 965907f498 user: pooryorick tags: trunk | |
|
2018-05-05
| ||
| 16:53 |
ycl struct
interface changes
all tests passcheck-in: 079e732eb2 user: pooryorick tags: trunk | |
|
2018-05-03
| ||
| 06:19 |
struct env
redefine concepts
rename commands new command adict all tests passcheck-in: 6c69d50262 user: pooryorick tags: trunk | |
|
2018-05-01
| ||
| 18:10 |
ycl struct env
new commands
ddict
domain item fixed bug in [append]check-in: baf582fe4b user: pooryorick tags: trunk | |
|
2018-04-30
| ||
| 08:51 | struct env [new] properaly handle additional arguments check-in: 59a921e9e4 user: pooryorick tags: trunk | |
|
2018-04-29
| ||
| 10:37 | ycl eav steav update to reflect changes in other modules check-in: 5171220301 user: pooryorick tags: trunk | |
|
2018-04-28
| ||
| 16:06 | struct env rename [list^] to [dict^] check-in: e1f68240bb user: pooryorick tags: trunk | |
| 14:13 | struct env rename [items] to [list] check-in: ce10175719 user: pooryorick tags: trunk | |
| 14:01 |
struct env
make the interface for [append] more similar to that of [set]
modify [new] to consider the first argument a list containing a name a value optional to also accept no argumentscheck-in: 85d1655c9f user: pooryorick tags: trunk | |
|
2018-04-27
| ||
| 17:58 | struct env repurposed command view last commit before changing argument signature [new] check-in: d20ede58af user: pooryorick tags: trunk | |
| 13:16 | struct env further development of interface new commands renamed commands check-in: c07f15ea2e user: pooryorick tags: trunk | |
|
2018-04-25
| ||
| 18:37 | struct env change the behaviour of [view] rename the concept of "root" to "domain" check-in: ae8a71ff2c user: pooryorick tags: trunk | |
|
2018-04-22
| ||
| 06:19 | struct env further development of the interface check-in: d72569a5b9 user: pooryorick tags: trunk | |
|
2018-04-20
| ||
| 18:22 | dir move file puts to dir puts check-in: e2edf7fd81 user: pooryorick tags: trunk | |
| 17:52 | var simplify check-in: 2a4ab146f2 user: pooryorick tags: trunk | |
| 17:51 | continued development check-in: ff0c3f427f user: pooryorick tags: trunk | |
| 17:42 | com http bump version check-in: 920d806f47 user: pooryorick tags: trunk | |
| 17:41 | comm http improved design all tests pass check-in: efed015272 user: pooryorick tags: trunk | |
| 10:37 | chan chunked further development check-in: 091bb2a531 user: pooryorick tags: trunk | |
| 10:35 | coro relay further development all tests pass except those affected by the fact the vwait is not NRE-enabled. check-in: 029bb0e69e user: pooryorick tags: trunk | |
| 10:32 | coro callers add documentation check-in: 62721ebfc3 user: pooryorick tags: trunk | |
| 08:19 | coro callers remove debugging statements check-in: 5f31d61f29 user: pooryorick tags: trunk | |
| 08:10 | coro new command callers check-in: 7839f9edb0 user: pooryorick tags: trunk | |
|
2018-04-18
| ||
| 15:58 |
coro relay
work in progress
commit before modifying service routine to evaluate a script that calls it back. many tests failcheck-in: b5ddc603af user: pooryorick tags: trunk | |
| 15:57 | coro new command caller check-in: b3effba76d user: pooryorick tags: trunk | |
| 15:55 | coro event redesign router to avoid stack growth check-in: 9c6636d2a7 user: pooryorick tags: trunk | |
| 15:21 | coro call new command new check-in: e8673ab42b user: pooryorick tags: trunk | |
| 14:37 | coro batch continued development of initial design check-in: 78e7e7e5ee user: pooryorick tags: trunk | |
|
2018-04-13
| ||
| 17:37 | shelf replace stack-based tracking for [.site] with a design that doesn't conflict with methods that tailcall check-in: 0bdbca06b2 user: pooryorick tags: trunk | |
|
2018-04-03
| ||
| 12:04 |
sugar cmdpipe
refactor into {ycl coro call}check-in: 56ecd2d7e4 user: pooryorick tags: trunk | |
| 11:40 | sugar cmdpipe fix level bug check-in: 7d012111f7 user: pooryorick tags: trunk | |
| 11:36 | sugar cmdpipe add coroutine cleanup check-in: f094a04c56 user: pooryorick tags: trunk | |
| 11:33 |
cmdpipe
replace {ycl coro relay}check-in: 03d54b1989 user: pooryorick tags: trunk | |
| 07:43 |
struct env
changed api
new commands all tests passcheck-in: 39913b32b4 user: pooryorick tags: trunk | |
|
2018-04-02
| ||
| 05:30 | dict rename varu to hvar check-in: 46bd0b3dde user: pooryorick tags: trunk | |
|
2018-04-01
| ||
| 18:03 |
struct env
further development all tests passcheck-in: 87aab93766 user: pooryorick tags: trunk | |
| 12:07 |
dict
var
interface change varu new commandcheck-in: b63d55c254 user: pooryorick tags: trunk | |
|
2018-03-31
| ||
| 17:03 | ns new command curry check-in: 476499cb5f user: pooryorick tags: trunk | |
| 15:53 | ycl dict var simplify implementation check-in: da43bf5e37 user: pooryorick tags: trunk | |
| 14:11 | dict new command var check-in: 7e49cd4868 user: pooryorick tags: trunk | |
| 13:51 |
parser
new command
interp parsecheck-in: 71107e8e29 user: pooryorick tags: trunk | |
| 09:50 |
dict
rename [getdefault] to [request]
new command varscheck-in: f1d47f2686 user: pooryorick tags: trunk | |
| 07:41 |
ns
new commands
info object varscheck-in: d77de09af3 user: pooryorick tags: trunk | |
| 07:38 | disentable [ycl proc] and [ycl upobj] check-in: d679746a04 user: pooryorick tags: trunk | |
|
2018-03-29
| ||
| 06:12 | struct env exclude root node check-in: 5e1e761f1f user: pooryorick tags: trunk | |
|
2018-03-28
| ||
| 18:25 | proc fix "method" command check-in: c71467a2a6 user: pooryorick tags: trunk | |
| 16:41 | proc new command lproc check-in: 92b4528d9e user: pooryorick tags: trunk | |
| 09:19 |
struct env
new commands name ancestors new testscheck-in: e57c19910e user: pooryorick tags: trunk | |
|
2018-03-22
| ||
| 10:57 | ycl shelf [new methods [.my .vars]] check-in: a3b29e5106 user: pooryorick tags: trunk | |
| 08:25 |
fix issue
method deletes the object itself when there is a disposal method registered check-in: 5eb0dd37cb user: pooryorick tags: trunk | |
|
2018-03-21
| ||
| 17:12 |
ycl shelf
test suite for eightfive check-in: 65d85ae62b user: pooryorick tags: trunk | |
| 17:10 |
ycl coro call
further development new commands [ after caller replier timeout ] all tests pass check-in: cbbc9dafa5 user: pooryorick tags: trunk | |
|
2018-03-20
| ||
| 12:46 | [new functions] search setl unsetl check-in: 482c029277 user: pooryorick tags: trunk | |
|
2018-03-16
| ||
| 14:42 | {new package} eightfive check-in: d8cea25da4 user: pooryorick tags: trunk | |
|
2018-02-22
| ||
| 12:53 | last commit before switching from eav to [struct env] check-in: 47ca7813b7 user: pooryorick tags: trunk | |
| 12:23 |
ycl struct env
further development all tests pass check-in: b4b73e46b3 user: pooryorick tags: trunk | |
|
2018-02-19
| ||
| 20:06 | refeactor package check-in: 6f0d94bf2b user: pooryorick tags: trunk | |
| 20:02 |
ypkg env
further development all tests pass check-in: 9d0119ea7f user: pooryorick tags: trunk | |
|
2018-02-17
| ||
| 10:26 |
ycl packages
work in progress just before eliminating eav check-in: 9d8d479d42 user: pooryorick tags: trunk | |
|
2018-01-21
| ||
| 14:44 |
{ycl shelf tcloo} {first commit where all tests pass}
{} {Further development and refactoring of other modules} check-in: 9b626199af user: pooryorick tags: trunk | |
|
2017-12-26
| ||
| 11:17 | shelf { Add .wrap to tclOO implementation. All tests pass but commands and clone_existing. } check-in: ef4de14ee6 user: pooryorick tags: trunk | |
|
2017-12-19
| ||
| 14:39 | Add .plugin method check-in: ed041e028f user: pooryorick tags: trunk | |
|
2017-12-17
| ||
| 23:27 | {ycl shelf} {new version implemented using TclOO.} check-in: 5589d48263 user: pooryorick tags: trunk | |
|
2017-10-14
| ||
| 21:47 | {ycl parse tacl table} { New files for reader and writer . } check-in: ec0d62925e user: pooryorick tags: trunk | |
| 21:45 |
{ycl parse tcl commands iter} {
Fix a bug in parsing where the last command in the script is not followed
by a newline .
}
{ycl parse tcl stream} { client now specifies the command name when creating a new parser . } {ycl parse tcl table} { Separate reader and writer . } check-in: 4b2fdb441a user: pooryorick tags: trunk | |
|
2017-10-12
| ||
| 12:45 | {further development} check-in: 0d1b0a83cb user: pooryorick tags: trunk | |
|
2017-09-25
| ||
| 09:52 | {ycl coro object} {call commands by fully-qualified name} {ycl dir demo scan} {use {ycl parse tcl table}} {ycl parse tcl table} {further development.} check-in: a2f3df4647 user: pooryorick tags: trunk | |
|
2017-09-22
| ||
| 08:30 | {ycl eav} {adjust for changes in other packages} {ycl upobj} {documentation changes} check-in: 71b61416e7 user: pooryorick tags: trunk | |
| 08:28 | {ycl chan prototype} {further development} check-in: 3d5ad30de4 user: pooryorick tags: trunk | |
| 08:28 | {ycl sigarchive} {remove entire package, which has been replaced by {dir filesset} and {dir scan}} check-in: e615d98dea user: pooryorick tags: trunk | |
| 08:26 | {ycl dir} {better handling of variation in filename encodings} check-in: d113349294 user: pooryorick tags: trunk | |
|
2017-09-18
| ||
| 12:13 | {ycl coro object} {each object is a coroutine} check-in: 9f512deb28 user: pooryorick tags: trunk | |
|
2017-09-12
| ||
| 19:28 | {ycl dir} { fix bug in [iter] where an attempt might be made to get the contents of a directory that no longer exists } check-in: 5aea66b2a6 user: pooryorick tags: trunk | |
| 19:26 | {ycl list} {adjust imports for changes sin other packages} check-in: 79009a2b28 user: pooryorick tags: trunk | |
|
2017-09-11
| ||
| 11:03 | {ycl dir demo rmdups} rewrite check-in: c4bae1e363 user: pooryorick tags: trunk | |
|
2017-09-10
| ||
| 20:18 | {ycl parse tcl stream} { Use a channel command such as {ycl chan prototype} instead of the name of a channel . Remove the option to pass a token iterator . } check-in: 2d0705ef2e user: pooryorick tags: trunk | |
| 10:50 | {ycl file} {Use [shelf .routine] instead of [shelf .subcmd]} check-in: 713d60acf2 user: pooryorick tags: trunk | |
| 10:47 |
ycl {
{accomodate switch from [shelf .subcmd] to [shelf .routine]} {further development across many modules} } check-in: f7efe0061c user: pooryorick tags: trunk | |
| 10:38 |
{ycl dir} {
replace {ycl coro relay} with {ycl coro call}
}
{ycl dir fileset} { replace {ycl coro relay} with {ycl coro call} } {ycl dir invade} {fix bugs in error handling} {ycl dir bxtrie} { {replace a number of options with "workspace" option} {new option} maxfilesize } {ycl dir demo hashdeep_bxtrie} {further development} {ycl dir demo rmdups} { { Fix bugs that could have resulted in inadvertent removal of non-duplicated data . } } {ycl dir bxtrie} { {remove internal use of rsync} } check-in: 6570068968 user: pooryorick tags: trunk | |
| 10:26 | {ycl coro chan buffered} {use [.wrap] instead of [.inject]} check-in: a46ac6700a user: pooryorick tags: trunk | |
| 10:22 | {ycl coro call} {new commands : fileter , lambda , routine} check-in: 13c497a12b user: pooryorick tags: trunk | |
|
2017-09-04
| ||
| 07:28 | {ycl coro} {Use {ycl shelf .routine} instead of {ycl shelf .subcmd}} {ycl iter} {Use {ycl shelf .routine} instead of {ycl shelf .subcmd}} check-in: f4768c257b user: pooryorick tags: trunk | |
| 07:26 |
{ycl shelf} {
{Improvements to .swtich and .inner mechanisms}
{Rename [.subcmd] to [.routine]} }check-in: ad39cef0f8 user: pooryorick tags: trunk | |
|
2017-08-30
| ||
| 21:19 | {ycl parse tcl} {convert from {ycl coro relay} to {ycl coro call}} check-in: 941e890ca1 user: pooryorick tags: trunk | |
| 21:17 | {ycl string} {remove debugging command} check-in: cc560e35f2 user: pooryorick tags: trunk | |
| 21:16 | {ycl iter} {convert to {ycl coro call}} check-in: 8e88c96a37 user: pooryorick tags: trunk | |
| 21:15 | {ycl chan} {convert to {ycl coro call}} check-in: 30089dadcd user: pooryorick tags: trunk | |
| 21:12 | {ycl coro call} [ {new command} autocall {add $replier mechanism} ] check-in: 4dee05f3c6 user: pooryorick tags: trunk | |
|
2017-08-23
| ||
| 10:46 | {ycl coro call} {Add error handling} {ycl coro call} {new commands} {[foward]} check-in: 484b0d9d59 user: pooryorick tags: trunk | |
|
2017-08-15
| ||
| 10:11 | {ycl chan} {Use {ycl coro call} instead of {ycl coro relay}} {ycl parse tcl} { {Use {ycl coro call} instead of {ycl coro relay}} {Add ability to change command substitution delimiters} } check-in: 01a8510ab4 user: pooryorick tags: trunk | |
|
2017-08-12
| ||
| 08:17 | {ycl coro call} {renamed callcmd to autowait} check-in: e7a2c7817c user: pooryorick tags: trunk | |
|
2017-08-09
| ||
| 19:56 | {ycl string printable} {bug fix} {escape literal characters first} check-in: 240220b499 user: pooryorick tags: trunk | |
|
2017-08-08
| ||
| 17:58 | {ycl coro call} {Fix incorrect return results of [callcmd]} check-in: 527fc45f34 user: pooryorick tags: trunk | |
| 14:37 | {ycl proc checkargs} {protect error messages with [printable]} check-in: 05b914d183 user: pooryorick tags: trunk | |
| 14:13 | {ycl string} {rename [pstring] to [printable] , and make it a separate package} check-in: 6af806dbe6 user: pooryorick tags: trunk | |
|
2017-08-06
| ||
| 20:23 | {ycl coro call callcmd} {target command is resolved relative to namespace of source command} check-in: e58ddc9e49 user: pooryorick tags: trunk | |
| 11:32 | {ycl chan} {update to use {ycl coro call}} check-in: c71be259a0 user: pooryorick tags: trunk | |
| 05:03 | {ycl coro call} {modify [callcmd] to return the name of the created procedure} check-in: e82370ad01 user: pooryorick tags: trunk | |
| 04:57 | {ycl coro call} {rename [called] to [callcmd]} check-in: d4f770768f user: pooryorick tags: trunk | |
|
2017-08-05
| ||
| 21:29 | {ycl string} {redesign of [template]} check-in: c030a0ad2b user: pooryorick tags: trunk | |
| 20:32 | {ycl coro call} {refactor [reply]} check-in: 59c9a72c4e user: pooryorick tags: trunk | |
|
2017-08-04
| ||
| 18:21 | {ycl coro batch} {new package} {ycl coro call} {new package} check-in: d24d8665d0 user: pooryorick tags: trunk | |
| 18:20 | {ycl coro async} {removed after transfering to {ycl coro call}} check-in: 49d75f7d27 user: pooryorick tags: trunk | |
| 18:19 | {ycl coro} {updated pkgIndex.tcl} check-in: 599f83acf6 user: pooryorick tags: trunk | |
| 15:55 | {ycl string} {convert from {coro relay} to {coro call}} check-in: c38afb6537 user: pooryorick tags: trunk | |
|
2017-07-30
| ||
| 15:30 | {ycl math rng} {new package} check-in: f3cf1ac833 user: pooryorick tags: trunk | |
|
2017-07-23
| ||
| 20:40 |
{ycl parse tcl stream} {
{replace "string" type with "literal" type} {make use {ycl coro async} instead of {ycl coro relay}} {next step} { convert } }check-in: 77f2f88c91 user: pooryorick tags: trunk | |
|
2017-07-20
| ||
| 23:14 | {ycl coro event} {remove [quit] command} {ycl coro event} {plug holes in error propagation} {ycl coro relay} {fix bug in [accept] handlin of queued requests} {ycl coro relay} {add an epoch tracker in order to ignore ghost tasks} {ycl coro relay} {all tests pass} check-in: f9979b724c user: pooryorick tags: trunk | |
|
2017-07-19
| ||
| 22:29 | {ycl coro async} {new module} check-in: 6942fd91d1 user: pooryorick tags: trunk | |
|
2017-07-15
| ||
| 18:56 | {ycl coro relay} { handle [relay iter] exceptional case where the iterator command doesn't exist } check-in: e25b3ba8e7 user: pooryorick tags: trunk | |
|
2017-07-13
| ||
| 20:30 | {ycl struct env} {add [which], [view], and other functionality} check-in: 0165ab30b0 user: pooryorick tags: trunk | |
|
2017-07-06
| ||
| 16:33 | {ycl parse digitalForensicsXml} {add to the relevant pkgIndex.tcl} check-in: 289a39871a user: pooryorick tags: trunk | |
| 14:33 | {ycl chan diagnostic} {add procedure to change the current level} check-in: 6c634c2ba3 user: pooryorick tags: trunk | |
|
2017-07-05
| ||
| 16:55 | {parse digitalForensicsXml} { an incremental parser for the digital forensics xml format } check-in: 605306a3e8 user: pooryorick tags: trunk | |
| 15:05 | {ycl dir bxtrie} {remove rsync options to preserver user and group} {ycl dir demo hashdeep_bxtrie} { A utility to read hashdeep output and deposit the corresponding files in a bxtrie archive } check-in: 298822ffdf user: pooryorick tags: trunk | |
|
2017-07-04
| ||
| 15:54 |
{ycl entropy} {
Redesign as an entropy-collecting daemon
}
{ycl math rand} { {new procedures} {flip rand rng} } check-in: 4e37205b27 user: pooryorick tags: trunk | |
|
2017-06-16
| ||
| 11:09 | {ycl struct env} { Eliminate reference counting scheme in favor of more memory-efficient method of marking original attributes. } check-in: c6a025a0b7 user: pooryorick tags: trunk | |
|
2017-06-15
| ||
| 17:18 | {ycl struct env} {new package} check-in: 979ed15962 user: pooryorick tags: trunk | |
| 17:17 | {ycl string} [ {new command} template ] check-in: d10d69db41 user: pooryorick tags: trunk | |
|
2017-06-11
| ||
| 15:25 | {ycl coro event} {fix some tests} {ycl coro relay} {fix some tests} check-in: 9942e1b918 user: pooryorick tags: trunk | |
|
2017-06-05
| ||
| 09:45 | {ycl coro event} { Fix bug where the event "loop" did its own error handling rather than simply evaluating the script and letting the caller of the event loop catch any errors, if desired. } check-in: d42c24a2af user: pooryorick tags: trunk | |
|
2017-06-03
| ||
| 22:43 | {ycl parse tcl stream} {fix bug in bracevar routine} check-in: ac4f51c22b user: pooryorick tags: trunk | |
| 22:41 | {ycl coro event} { fix bug that where interaction with the event loop resulted in a hung routine } check-in: f50e783c5e user: pooryorick tags: trunk | |
| 15:34 |
{ycl coro}
{
Make sure an order is only dispatched to the fulfiller when it is
accepting orders
}
{ Any error in the fulfillment is raised by [receive] } ]check-in: c5a8cba679 user: pooryorick tags: trunk | |
|
2017-06-02
| ||
| 10:07 | {ycl string expand} [ {new package} {templating tool for Tcl scripts and other things} ] check-in: 41f8639e3d user: pooryorick tags: trunk | |
| 00:46 | {ycl coro event} [ {Fix bug in which the loop was growing the stack} {All tests pass} ] check-in: 20a1288e78 user: pooryorick tags: trunk | |
|
2017-05-29
| ||
| 21:05 | {ycl coro event} { fix bugs relating to growing the stack, and to playing nicely with the built-in event loop } {ycl coro relay} {adjust for changes to {ycl coro event}} check-in: d508d7a202 user: pooryorick tags: trunk | |
|
2017-05-27
| ||
| 19:02 | {ycl coro relay} { Make sure [accept] throws away invalid [receive] deliveries } check-in: 8c8bbb6a41 user: pooryorick tags: trunk | |
|
2017-05-26
| ||
| 09:20 | {ycl relay event} { reorganize files, deep work to make sure around design issues concerning when the even loop is entered. } {ycl relay relay} { all tests pass, both with a {ycl coro event} loop and a {ycl relay after} (adapter for Tcl's built-in event loop) event loop. } check-in: 9f756d62be user: pooryorick tags: trunk | |
|
2017-05-22
| ||
| 08:43 | {ycl coro event} {Fix loop behaviour for canceled events} {ycl parser graph} {fix offset errors} {ycl string expand} { add a "variable" macro. move [command] from {ycl parser graph} } check-in: ef24a6ca98 user: pooryorick tags: trunk | |
|
2017-05-20
| ||
| 18:45 | {ycl coro event} {an event loop for coroutines} check-in: d2d2113d73 user: pooryorick tags: trunk | |
|
2017-05-18
| ||
| 12:56 | {ycl parser graph} { add "unmatched" hook , both general and any type-specific handlers are called for each event } check-in: a0080ea257 user: pooryorick tags: trunk | |
| 10:45 | {ycl parse graph} {new methods , [children] and [traverse]} {ycl string} {new command package [expand]} check-in: c1aa6f36e8 user: pooryorick tags: trunk | |
|
2017-05-17
| ||
| 20:52 | {ycl parse xml} {fix typo in [package ifneeded] script} check-in: 36ffdbd77c user: pooryorick tags: trunk | |
| 20:02 | {ycl parse xml} {new name of {ycl parse html}} check-in: 5e981dad5a user: pooryorick tags: trunk | |
| 19:56 | {ycl tcl} {added some [package require] statements} check-in: 2455c97b2d user: pooryorick tags: trunk | |
| 19:34 | {ycl parse html} {refactor, all tests pass} {ycl shelf} {fix bug when spawning a clone} check-in: 23be630a86 user: pooryorick tags: trunk | |
|
2017-05-16
| ||
| 12:36 | {ycl parse graph} { relaxed mode now disables open/close tag matching by default, and also has useful behaviour when open/close tag matching is enabled } check-in: 4585d229cb user: pooryorick tags: trunk | |
| 11:08 | {ycl parser graph} { relaxed mode implemented, but still needs to pick up a non-matching closing tag instead of making it part of the returned data } check-in: 692b5b9b4c user: pooryorick tags: trunk | |
| 10:09 | {ycl parser graph} { transform [next] into a coroutine in order to add a "relaxed" mode that can handle missing syntactic elements } check-in: 1dd96de989 user: pooryorick tags: trunk | |
|
2017-05-15
| ||
| 21:36 | {ycl crypto sha} {further development} check-in: 28fe72f8dd user: pooryorick tags: trunk | |