From 1c12051855104d1e5d6596a4d580d989f1fbe68e Mon Sep 17 00:00:00 2001 From: cs0x7f Date: Thu, 16 May 2024 22:52:16 +0800 Subject: [PATCH] able to hide comments, fix bugs, clean up --- npm_export/package.json | 2 +- src/js/lib/utillib.js | 2 +- src/js/stats/stats.js | 5 +++-- src/lang/ar-sa.js | 1 + src/lang/ca-es.js | 1 + src/lang/cs-cz.js | 1 + src/lang/da-dk.js | 1 + src/lang/de-de.js | 1 + src/lang/de-de.php | 14 +++++++------- src/lang/el-gr.js | 1 + src/lang/en-us.js | 1 + src/lang/es-es.js | 1 + src/lang/fa-ir.js | 1 + src/lang/fi-fi.js | 1 + src/lang/fr-fr.js | 1 + src/lang/he-il.js | 1 + src/lang/hi-in.js | 1 + src/lang/hr-hr.js | 1 + src/lang/hu-hu.js | 1 + src/lang/it-it.js | 1 + src/lang/ja-jp.js | 1 + src/lang/ko-kr.js | 1 + src/lang/langDet.php | 2 +- src/lang/lv-lv.js | 1 + src/lang/nl-nl.js | 1 + src/lang/no-no.js | 1 + src/lang/pl-pl.js | 1 + src/lang/pt-pt.js | 1 + src/lang/ro-ro.js | 1 + src/lang/ru-ru.js | 1 + src/lang/sk-sk.js | 1 + src/lang/sl-si.js | 1 + src/lang/sr-sp.js | 1 + src/lang/sv-se.js | 1 + src/lang/tr-tr.js | 1 + src/lang/uk-ua.js | 1 + src/lang/vi-vn.js | 1 + src/lang/zh-cn.js | 1 + src/lang/zh-tw.js | 1 + 39 files changed, 47 insertions(+), 12 deletions(-) diff --git a/npm_export/package.json b/npm_export/package.json index 57ea124a..32279bec 100644 --- a/npm_export/package.json +++ b/npm_export/package.json @@ -1,6 +1,6 @@ { "name": "cstimer_module", - "version": "0.0.3", + "version": "0.1.0", "description": "scramble and tools used in csTimer", "main": "cstimer_module.js", "scripts": { diff --git a/src/js/lib/utillib.js b/src/js/lib/utillib.js index f4754ff9..39456f0e 100644 --- a/src/js/lib/utillib.js +++ b/src/js/lib/utillib.js @@ -72,7 +72,7 @@ execMain(function() { DEBUG && console.log(CSTIMER_VERSION, fingerprint, msg, url, line, col, error); }; - var constants = ['CSTIMER_VERSION', 'LANG_SET', 'LANG_STR', 'LANG_CUR', 'OK_LANG', 'CANCEL_LANG', 'RESET_LANG', 'ABOUT_LANG', 'ZOOM_LANG', 'COPY_LANG', 'BUTTON_TIME_LIST', 'BUTTON_OPTIONS', 'BUTTON_EXPORT', 'BUTTON_DONATE', 'PROPERTY_SR', 'PROPERTY_USEINS', 'PROPERTY_USEINS_STR', 'PROPERTY_SHOWINS', 'PROPERTY_VOICEINS', 'PROPERTY_VOICEINS_STR', 'PROPERTY_VOICEVOL', 'PROPERTY_PHASES', 'PROPERTY_TIMERSIZE', 'PROPERTY_USEMILLI', 'PROPERTY_SMALLADP', 'PROPERTY_SCRSIZE', 'PROPERTY_SCRMONO', 'PROPERTY_SCRLIM', 'PROPERTY_SCRALIGN', 'PROPERTY_SCRALIGN_STR', 'PROPERTY_SCRNEUT', 'PROPERTY_SCRNEUT_STR', 'PROPERTY_SCREQPR', 'PROPERTY_SCRFAST', 'PROPERTY_SCRKEYM', 'PROPERTY_SCRCLK', 'PROPERTY_SCRCLK_STR', 'PROPERTY_WNDSCR', 'PROPERTY_WNDSTAT', 'PROPERTY_WNDTOOL', 'PROPERTY_WND_STR', 'EXPORT_DATAEXPORT', 'EXPORT_TOFILE', 'EXPORT_FROMFILE', 'EXPORT_TOSERV', 'EXPORT_FROMSERV', 'EXPORT_FROMOTHER', 'EXPORT_USERID', 'EXPORT_INVID', 'EXPORT_ERROR', 'EXPORT_NODATA', 'EXPORT_UPLOADED', 'EXPORT_CODEPROMPT', 'EXPORT_ONLYOPT', 'EXPORT_ACCOUNT', 'EXPORT_LOGINGGL', 'EXPORT_LOGINWCA', 'EXPORT_LOGOUTCFM', 'EXPORT_LOGINAUTHED', 'EXPORT_AEXPALERT', 'IMPORT_FINAL_CONFIRM', 'BUTTON_SCRAMBLE', 'BUTTON_TOOLS', 'IMAGE_UNAVAILABLE', 'TOOLS_SELECTFUNC', 'TOOLS_CROSS', 'TOOLS_EOLINE', 'TOOLS_ROUX1', 'TOOLS_222FACE', 'TOOLS_GIIKER', 'TOOLS_IMAGE', 'TOOLS_STATS', 'TOOLS_HUGESTATS', 'TOOLS_DISTRIBUTION', 'TOOLS_TREND', 'TOOLS_METRONOME', 'TOOLS_RECONS', 'TOOLS_RECONS_NODATA', 'TOOLS_RECONS_TITLE', 'TOOLS_TRAINSTAT', 'TOOLS_BLDHELPER', 'TOOLS_CFMTIME', 'TOOLS_SOLVERS', 'TOOLS_DLYSTAT', 'TOOLS_DLYSTAT1', 'TOOLS_DLYSTAT_OPT1', 'TOOLS_DLYSTAT_OPT2', 'TOOLS_SYNCSEED', 'TOOLS_SYNCSEED_SEED', 'TOOLS_SYNCSEED_INPUT', 'TOOLS_SYNCSEED_30S', 'TOOLS_SYNCSEED_HELP', 'TOOLS_SYNCSEED_DISABLE', 'TOOLS_SYNCSEED_INPUTA', 'TOOLS_BATTLE', 'TOOLS_BATTLE_HEAD', 'TOOLS_BATTLE_TITLE', 'TOOLS_BATTLE_STATUS', 'TOOLS_BATTLE_INFO', 'TOOLS_BATTLE_JOINALERT', 'TOOLS_BATTLE_LEAVEALERT', 'OLCOMP_UPDATELIST', 'OLCOMP_VIEWRESULT', 'OLCOMP_VIEWMYRESULT', 'OLCOMP_START', 'OLCOMP_SUBMIT', 'OLCOMP_SUBMITAS', 'OLCOMP_WCANOTICE', 'OLCOMP_OLCOMP', 'OLCOMP_ANONYM', 'OLCOMP_ME', 'OLCOMP_WCAACCOUNT', 'OLCOMP_ABORT', 'OLCOMP_WITHANONYM', 'PROPERTY_IMGSIZE', 'PROPERTY_IMGREP', 'TIMER_INSPECT', 'TIMER_SOLVE', 'PROPERTY_USEMOUSE', 'PROPERTY_TIMEU', 'PROPERTY_TIMEU_STR', 'PROPERTY_PRETIME', 'PROPERTY_ENTERING', 'PROPERTY_ENTERING_STR', 'PROPERTY_INTUNIT', 'PROPERTY_INTUNIT_STR', 'PROPERTY_COLOR', 'PROPERTY_COLORS', 'PROPERTY_VIEW', 'PROPERTY_VIEW_STR', 'PROPERTY_UIDESIGN', 'PROPERTY_UIDESIGN_STR', 'COLOR_EXPORT', 'COLOR_IMPORT', 'COLOR_FAIL', 'PROPERTY_FONTCOLOR_STR', 'PROPERTY_COLOR_STR', 'PROPERTY_FONT', 'PROPERTY_FONT_STR', 'PROPERTY_FORMAT', 'PROPERTY_USEKSC', 'PROPERTY_USEGES', 'PROPERTY_NTOOLS', 'PROPERTY_AHIDE', 'SCRAMBLE_LAST', 'SCRAMBLE_NEXT', 'SCRAMBLE_SCRAMBLE', 'SCRAMBLE_SCRAMBLING', 'SCRAMBLE_LENGTH', 'SCRAMBLE_INPUT', 'PROPERTY_VRCSPEED', 'PROPERTY_VRCMP', 'PROPERTY_VRCMPS', 'PROPERTY_GIIKERVRC', 'PROPERTY_GIISOK_DELAY', 'PROPERTY_GIISOK_DELAYS', 'PROPERTY_GIISOK_KEY', 'PROPERTY_GIISOK_MOVE', 'PROPERTY_GIISOK_MOVES', 'PROPERTY_GIISBEEP', 'PROPERTY_GIIRST', 'PROPERTY_GIIRSTS', 'PROPERTY_GIIMODE', 'PROPERTY_GIIMODES', 'PROPERTY_VRCAH', 'PROPERTY_VRCAHS', 'CONFIRM_GIIRST', 'PROPERTY_GIIAED', 'scrdata', 'SCRAMBLE_NOOBST', 'SCRAMBLE_NOOBSS', 'SCROPT_TITLE', 'SCROPT_BTNALL', 'SCROPT_BTNNONE', 'SCROPT_EMPTYALT', 'STATS_CFM_RESET', 'STATS_CFM_DELSS', 'STATS_CFM_DELMUL', 'STATS_CFM_DELETE', 'STATS_COMMENT', 'STATS_REVIEW', 'STATS_DATE', 'STATS_SSSTAT', 'STATS_SSRETRY', 'STATS_CURROUND', 'STATS_CURSESSION', 'STATS_CURSPLIT', 'STATS_EXPORTCSV', 'STATS_SSMGR_TITLE', 'STATS_SSMGR_NAME', 'STATS_SSMGR_DETAIL', 'STATS_SSMGR_OPS', 'STATS_SSMGR_ORDER', 'STATS_SSMGR_ODCFM', 'STATS_SSMGR_SORTCFM', 'STATS_ALERTMG', 'STATS_PROMPTSPL', 'STATS_ALERTSPL', 'STATS_AVG', 'STATS_SUM', 'STATS_SOLVE', 'STATS_TIME', 'STATS_SESSION', 'STATS_SESSION_NAME', 'STATS_SESSION_NAMEC', 'STATS_STRING', 'STATS_PREC', 'STATS_PREC_STR', 'STATS_TYPELEN', 'STATS_STATCLR', 'STATS_ABSIDX', 'STATS_XSESSION_DATE', 'STATS_XSESSION_NAME', 'STATS_XSESSION_SCR', 'STATS_XSESSION_CALC', 'STATS_RSFORSS', 'PROPERTY_PRINTSCR', 'PROPERTY_PRINTDATE', 'PROPERTY_SUMMARY', 'PROPERTY_IMRENAME', 'PROPERTY_SCR2SS', 'PROPERTY_SS2SCR', 'PROPERTY_SS2PHASES', 'PROPERTY_STATINV', 'PROPERTY_STATSSUM', 'PROPERTY_STATTHRES', 'PROPERTY_STATBPA', 'PROPERTY_STATWPA', 'PROPERTY_STATAL', 'PROPERTY_STATALU', 'PROPERTY_HLPBS', 'PROPERTY_HLPBS_STR', 'PROPERTY_DELMUL', 'PROPERTY_TOOLSFUNC', 'PROPERTY_TRIM', 'PROPERTY_TRIMR', 'PROPERTY_TRIM_MED', 'PROPERTY_STKHEAD', 'PROPERTY_TOOLPOS', 'PROPERTY_TOOLPOS_STR', 'PROPERTY_HIDEFULLSOL', 'PROPERTY_IMPPREV', 'PROPERTY_AUTOEXP', 'PROPERTY_AUTOEXP_OPT', 'PROPERTY_SCRASIZE', 'MODULE_NAMES', 'BGIMAGE_URL', 'BGIMAGE_INVALID', 'BGIMAGE_OPACITY', 'BGIMAGE_IMAGE', 'BGIMAGE_IMAGE_STR', 'SHOW_AVG_LABEL', 'SHOW_DIFF_LABEL', 'SHOW_DIFF_LABEL_STR', 'USE_LOGOHINT', 'TOOLS_SCRGEN', 'SCRGEN_NSCR', 'SCRGEN_PRE', 'SCRGEN_GEN', 'VRCREPLAY_TITLE', 'VRCREPLAY_ORI', 'VRCREPLAY_SHARE', 'GIIKER_CONNECT', 'GIIKER_RESET', 'GIIKER_REQMACMSG', 'GIIKER_NOBLEMSG', 'PROPERTY_SHOWAD', 'PROPERTY_GIIORI', 'LGHINT_INVALID', 'LGHINT_NETERR', 'LGHINT_SERVERR', 'LGHINT_SUBMITED', 'LGHINT_SSBEST', 'LGHINT_SCRCOPY', 'LGHINT_LINKCOPY', 'LGHINT_SOLVCOPY', 'LGHINT_SORT0', 'LGHINT_IMPORTED', 'LGHINT_IMPORT0', 'LGHINT_BTCONSUC', 'LGHINT_BTDISCON', 'LGHINT_BTNOTSUP', 'LGHINT_BTINVMAC', 'LGHINT_AEXPABT', 'LGHINT_AEXPSUC', 'LGHINT_AEXPFAL']; + var constants = ['CSTIMER_VERSION', 'LANG_SET', 'LANG_STR', 'LANG_CUR', 'OK_LANG', 'CANCEL_LANG', 'RESET_LANG', 'ABOUT_LANG', 'ZOOM_LANG', 'COPY_LANG', 'BUTTON_TIME_LIST', 'BUTTON_OPTIONS', 'BUTTON_EXPORT', 'BUTTON_DONATE', 'PROPERTY_SR', 'PROPERTY_USEINS', 'PROPERTY_USEINS_STR', 'PROPERTY_SHOWINS', 'PROPERTY_VOICEINS', 'PROPERTY_VOICEINS_STR', 'PROPERTY_VOICEVOL', 'PROPERTY_PHASES', 'PROPERTY_TIMERSIZE', 'PROPERTY_USEMILLI', 'PROPERTY_SMALLADP', 'PROPERTY_SCRSIZE', 'PROPERTY_SCRMONO', 'PROPERTY_SCRLIM', 'PROPERTY_SCRALIGN', 'PROPERTY_SCRALIGN_STR', 'PROPERTY_SCRNEUT', 'PROPERTY_SCRNEUT_STR', 'PROPERTY_SCREQPR', 'PROPERTY_SCRFAST', 'PROPERTY_SCRKEYM', 'PROPERTY_SCRCLK', 'PROPERTY_SCRCLK_STR', 'PROPERTY_WNDSCR', 'PROPERTY_WNDSTAT', 'PROPERTY_WNDTOOL', 'PROPERTY_WND_STR', 'EXPORT_DATAEXPORT', 'EXPORT_TOFILE', 'EXPORT_FROMFILE', 'EXPORT_TOSERV', 'EXPORT_FROMSERV', 'EXPORT_FROMOTHER', 'EXPORT_USERID', 'EXPORT_INVID', 'EXPORT_ERROR', 'EXPORT_NODATA', 'EXPORT_UPLOADED', 'EXPORT_CODEPROMPT', 'EXPORT_ONLYOPT', 'EXPORT_ACCOUNT', 'EXPORT_LOGINGGL', 'EXPORT_LOGINWCA', 'EXPORT_LOGOUTCFM', 'EXPORT_LOGINAUTHED', 'EXPORT_AEXPALERT', 'IMPORT_FINAL_CONFIRM', 'BUTTON_SCRAMBLE', 'BUTTON_TOOLS', 'IMAGE_UNAVAILABLE', 'TOOLS_SELECTFUNC', 'TOOLS_CROSS', 'TOOLS_EOLINE', 'TOOLS_ROUX1', 'TOOLS_222FACE', 'TOOLS_GIIKER', 'TOOLS_IMAGE', 'TOOLS_STATS', 'TOOLS_HUGESTATS', 'TOOLS_DISTRIBUTION', 'TOOLS_TREND', 'TOOLS_METRONOME', 'TOOLS_RECONS', 'TOOLS_RECONS_NODATA', 'TOOLS_RECONS_TITLE', 'TOOLS_TRAINSTAT', 'TOOLS_BLDHELPER', 'TOOLS_CFMTIME', 'TOOLS_SOLVERS', 'TOOLS_DLYSTAT', 'TOOLS_DLYSTAT1', 'TOOLS_DLYSTAT_OPT1', 'TOOLS_DLYSTAT_OPT2', 'TOOLS_SYNCSEED', 'TOOLS_SYNCSEED_SEED', 'TOOLS_SYNCSEED_INPUT', 'TOOLS_SYNCSEED_30S', 'TOOLS_SYNCSEED_HELP', 'TOOLS_SYNCSEED_DISABLE', 'TOOLS_SYNCSEED_INPUTA', 'TOOLS_BATTLE', 'TOOLS_BATTLE_HEAD', 'TOOLS_BATTLE_TITLE', 'TOOLS_BATTLE_STATUS', 'TOOLS_BATTLE_INFO', 'TOOLS_BATTLE_JOINALERT', 'TOOLS_BATTLE_LEAVEALERT', 'OLCOMP_UPDATELIST', 'OLCOMP_VIEWRESULT', 'OLCOMP_VIEWMYRESULT', 'OLCOMP_START', 'OLCOMP_SUBMIT', 'OLCOMP_SUBMITAS', 'OLCOMP_WCANOTICE', 'OLCOMP_OLCOMP', 'OLCOMP_ANONYM', 'OLCOMP_ME', 'OLCOMP_WCAACCOUNT', 'OLCOMP_ABORT', 'OLCOMP_WITHANONYM', 'PROPERTY_IMGSIZE', 'PROPERTY_IMGREP', 'TIMER_INSPECT', 'TIMER_SOLVE', 'PROPERTY_USEMOUSE', 'PROPERTY_TIMEU', 'PROPERTY_TIMEU_STR', 'PROPERTY_PRETIME', 'PROPERTY_ENTERING', 'PROPERTY_ENTERING_STR', 'PROPERTY_INTUNIT', 'PROPERTY_INTUNIT_STR', 'PROPERTY_COLOR', 'PROPERTY_COLORS', 'PROPERTY_VIEW', 'PROPERTY_VIEW_STR', 'PROPERTY_UIDESIGN', 'PROPERTY_UIDESIGN_STR', 'COLOR_EXPORT', 'COLOR_IMPORT', 'COLOR_FAIL', 'PROPERTY_FONTCOLOR_STR', 'PROPERTY_COLOR_STR', 'PROPERTY_FONT', 'PROPERTY_FONT_STR', 'PROPERTY_FORMAT', 'PROPERTY_USEKSC', 'PROPERTY_USEGES', 'PROPERTY_NTOOLS', 'PROPERTY_AHIDE', 'SCRAMBLE_LAST', 'SCRAMBLE_NEXT', 'SCRAMBLE_SCRAMBLE', 'SCRAMBLE_SCRAMBLING', 'SCRAMBLE_LENGTH', 'SCRAMBLE_INPUT', 'PROPERTY_VRCSPEED', 'PROPERTY_VRCMP', 'PROPERTY_VRCMPS', 'PROPERTY_GIIKERVRC', 'PROPERTY_GIISOK_DELAY', 'PROPERTY_GIISOK_DELAYS', 'PROPERTY_GIISOK_KEY', 'PROPERTY_GIISOK_MOVE', 'PROPERTY_GIISOK_MOVES', 'PROPERTY_GIISBEEP', 'PROPERTY_GIIRST', 'PROPERTY_GIIRSTS', 'PROPERTY_GIIMODE', 'PROPERTY_GIIMODES', 'PROPERTY_VRCAH', 'PROPERTY_VRCAHS', 'CONFIRM_GIIRST', 'PROPERTY_GIIAED', 'scrdata', 'SCRAMBLE_NOOBST', 'SCRAMBLE_NOOBSS', 'SCROPT_TITLE', 'SCROPT_BTNALL', 'SCROPT_BTNNONE', 'SCROPT_EMPTYALT', 'STATS_CFM_RESET', 'STATS_CFM_DELSS', 'STATS_CFM_DELMUL', 'STATS_CFM_DELETE', 'STATS_COMMENT', 'STATS_REVIEW', 'STATS_DATE', 'STATS_SSSTAT', 'STATS_SSRETRY', 'STATS_CURROUND', 'STATS_CURSESSION', 'STATS_CURSPLIT', 'STATS_EXPORTCSV', 'STATS_SSMGR_TITLE', 'STATS_SSMGR_NAME', 'STATS_SSMGR_DETAIL', 'STATS_SSMGR_OPS', 'STATS_SSMGR_ORDER', 'STATS_SSMGR_ODCFM', 'STATS_SSMGR_SORTCFM', 'STATS_ALERTMG', 'STATS_PROMPTSPL', 'STATS_ALERTSPL', 'STATS_AVG', 'STATS_SUM', 'STATS_SOLVE', 'STATS_TIME', 'STATS_SESSION', 'STATS_SESSION_NAME', 'STATS_SESSION_NAMEC', 'STATS_STRING', 'STATS_PREC', 'STATS_PREC_STR', 'STATS_TYPELEN', 'STATS_STATCLR', 'STATS_ABSIDX', 'STATS_XSESSION_DATE', 'STATS_XSESSION_NAME', 'STATS_XSESSION_SCR', 'STATS_XSESSION_CALC', 'STATS_RSFORSS', 'PROPERTY_PRINTSCR', 'PROPERTY_PRINTCOMM', 'PROPERTY_PRINTDATE', 'PROPERTY_SUMMARY', 'PROPERTY_IMRENAME', 'PROPERTY_SCR2SS', 'PROPERTY_SS2SCR', 'PROPERTY_SS2PHASES', 'PROPERTY_STATINV', 'PROPERTY_STATSSUM', 'PROPERTY_STATTHRES', 'PROPERTY_STATBPA', 'PROPERTY_STATWPA', 'PROPERTY_STATAL', 'PROPERTY_STATALU', 'PROPERTY_HLPBS', 'PROPERTY_HLPBS_STR', 'PROPERTY_DELMUL', 'PROPERTY_TOOLSFUNC', 'PROPERTY_TRIM', 'PROPERTY_TRIMR', 'PROPERTY_TRIM_MED', 'PROPERTY_STKHEAD', 'PROPERTY_TOOLPOS', 'PROPERTY_TOOLPOS_STR', 'PROPERTY_HIDEFULLSOL', 'PROPERTY_IMPPREV', 'PROPERTY_AUTOEXP', 'PROPERTY_AUTOEXP_OPT', 'PROPERTY_SCRASIZE', 'MODULE_NAMES', 'BGIMAGE_URL', 'BGIMAGE_INVALID', 'BGIMAGE_OPACITY', 'BGIMAGE_IMAGE', 'BGIMAGE_IMAGE_STR', 'SHOW_AVG_LABEL', 'SHOW_DIFF_LABEL', 'SHOW_DIFF_LABEL_STR', 'USE_LOGOHINT', 'TOOLS_SCRGEN', 'SCRGEN_NSCR', 'SCRGEN_PRE', 'SCRGEN_GEN', 'VRCREPLAY_TITLE', 'VRCREPLAY_ORI', 'VRCREPLAY_SHARE', 'GIIKER_CONNECT', 'GIIKER_RESET', 'GIIKER_REQMACMSG', 'GIIKER_NOBLEMSG', 'PROPERTY_SHOWAD', 'PROPERTY_GIIORI', 'LGHINT_INVALID', 'LGHINT_NETERR', 'LGHINT_SERVERR', 'LGHINT_SUBMITED', 'LGHINT_SSBEST', 'LGHINT_SCRCOPY', 'LGHINT_LINKCOPY', 'LGHINT_SOLVCOPY', 'LGHINT_SORT0', 'LGHINT_IMPORTED', 'LGHINT_IMPORT0', 'LGHINT_BTCONSUC', 'LGHINT_BTDISCON', 'LGHINT_BTNOTSUP', 'LGHINT_BTINVMAC', 'LGHINT_AEXPABT', 'LGHINT_AEXPSUC', 'LGHINT_AEXPFAL']; for (var i = 0; i < constants.length; i++) { window[constants[i]] = window[constants[i]] || '|||||||||||||||'; } diff --git a/src/js/stats/stats.js b/src/js/stats/stats.js index 6cb9a51c..f4505126 100644 --- a/src/js/stats/stats.js +++ b/src/js/stats/stats.js @@ -341,7 +341,7 @@ var stats = execMain(function(kpretty, round, kpround) { } var ii = kernel.getProp('statinv') ? shownIdxs.length + 1 - sidx : 2 + sidx; var row = avgRow.parent().children().eq(ii); - if (sidx != ~~row.attr('data')) { + if (idx != ~~row.attr('data')) { console.log('[stats] table_ctrl getRowIndexOf error', sidx, idx, row); return null; } @@ -807,7 +807,7 @@ var stats = execMain(function(kpretty, round, kpround) { if (!time) { return "N/A"; } - var c = pretty(time[0], true) + prettyMPA(time[0]) + (time[2] ? "[" + time[2] + "]" : ""); + var c = pretty(time[0], true) + prettyMPA(time[0]) + (kernel.getProp('printComm') && time[2] ? "[" + time[2] + "]" : ""); if ($.inArray(idx, trimList) != -1) { c = "(" + c + ")"; } @@ -1831,6 +1831,7 @@ var stats = execMain(function(kpretty, round, kpround) { kernel.regProp('stats', 'statbpa', 0, PROPERTY_STATBPA, [false], 1); kernel.regProp('stats', 'statwpa', 0, PROPERTY_STATWPA, [false], 1); kernel.regProp('stats', 'printScr', 0, PROPERTY_PRINTSCR, [true], 1); + kernel.regProp('stats', 'printComm', 0, PROPERTY_PRINTCOMM, [true], 1); kernel.regProp('stats', 'printDate', 0, PROPERTY_PRINTDATE, [false], 1); kernel.regProp('stats', 'imrename', 0, PROPERTY_IMRENAME, [false], 1); kernel.regProp('stats', 'scr2ss', 0, PROPERTY_SCR2SS, [false]); diff --git a/src/lang/ar-sa.js b/src/lang/ar-sa.js index d86c78c0..85712614 100644 --- a/src/lang/ar-sa.js +++ b/src/lang/ar-sa.js @@ -526,6 +526,7 @@ var STATS_XSESSION_SCR = 'any scramble'; var STATS_XSESSION_CALC = 'أحسب'; var STATS_RSFORSS = 'Show stat. when clicking solve number'; var PROPERTY_PRINTSCR = 'print scramble(s) in statistics'; +var PROPERTY_PRINTCOMM = 'print comment(s) in statistics'; var PROPERTY_PRINTDATE = 'print solving date in statistics'; var PROPERTY_SUMMARY = 'show summary before time list'; var PROPERTY_IMRENAME = 'rename session immediately after creation'; diff --git a/src/lang/ca-es.js b/src/lang/ca-es.js index 692dbbc8..9215634d 100644 --- a/src/lang/ca-es.js +++ b/src/lang/ca-es.js @@ -526,6 +526,7 @@ var STATS_XSESSION_SCR = 'qualsevol barreja'; var STATS_XSESSION_CALC = 'Calcular'; var STATS_RSFORSS = 'Mostrar estadístiques quan es fa clic al número de la resolució'; var PROPERTY_PRINTSCR = 'imprimir barreja/es a estadístiques'; +var PROPERTY_PRINTCOMM = 'print comment(s) in statistics'; var PROPERTY_PRINTDATE = 'imprimir data de resolució a estadístiques'; var PROPERTY_SUMMARY = 'mostrar resum abans de llista de temps'; var PROPERTY_IMRENAME = 'canviar el nom de la sessió immediatament després de creació'; diff --git a/src/lang/cs-cz.js b/src/lang/cs-cz.js index 8faac28e..93b9a397 100644 --- a/src/lang/cs-cz.js +++ b/src/lang/cs-cz.js @@ -526,6 +526,7 @@ var STATS_XSESSION_SCR = 'jakékoliv zamíchání'; var STATS_XSESSION_CALC = 'Calc'; var STATS_RSFORSS = 'Zobrazit statistiku při kliknutí na číslo solvu'; var PROPERTY_PRINTSCR = 'zobrazit zamíchání ve statistikách'; +var PROPERTY_PRINTCOMM = 'print comment(s) in statistics'; var PROPERTY_PRINTDATE = 'zobrazit datum složení ve statistikách'; var PROPERTY_SUMMARY = 'zobrazit shrnutí před časovím listem'; var PROPERTY_IMRENAME = 'přejmenovat relaci ihned po vytvoření'; diff --git a/src/lang/da-dk.js b/src/lang/da-dk.js index 61954f91..ce3387d2 100644 --- a/src/lang/da-dk.js +++ b/src/lang/da-dk.js @@ -526,6 +526,7 @@ var STATS_XSESSION_SCR = 'Tilfældig blanding'; var STATS_XSESSION_CALC = 'Beregn'; var STATS_RSFORSS = 'Vis statistik når du klikker på løsning'; var PROPERTY_PRINTSCR = 'print blanding(erne) i statistikker'; +var PROPERTY_PRINTCOMM = 'print comment(s) in statistics'; var PROPERTY_PRINTDATE = 'Udskriv løsningsdato i statistik'; var PROPERTY_SUMMARY = 'vis sammendrag inden tidslisten'; var PROPERTY_IMRENAME = 'omdøb session umiddelbart efter oprettelsen'; diff --git a/src/lang/de-de.js b/src/lang/de-de.js index ac12978b..cdbb8d37 100644 --- a/src/lang/de-de.js +++ b/src/lang/de-de.js @@ -526,6 +526,7 @@ var STATS_XSESSION_SCR = 'jeder Scramble'; var STATS_XSESSION_CALC = 'Berechnen'; var STATS_RSFORSS = 'Zeige Statistik, when die Zeitnummer angeklickt wird'; var PROPERTY_PRINTSCR = 'Scramble(s) in den Statistiken anzeigen'; +var PROPERTY_PRINTCOMM = 'print comment(s) in statistics'; var PROPERTY_PRINTDATE = 'Datum des Solves in den Statistiken anzeigen'; var PROPERTY_SUMMARY = 'Zusammenfassung vor der Zeiten-Liste anzeigen'; var PROPERTY_IMRENAME = 'Sitzung direkt nach der Erstellung umbenennen'; diff --git a/src/lang/de-de.php b/src/lang/de-de.php index da9850dc..15596228 100644 --- a/src/lang/de-de.php +++ b/src/lang/de-de.php @@ -35,7 +35,7 @@ Alt + nach oben/untenZur nächsten/vorherigen Sitzung Alt + links/rechtsVorheriges/Nächstes Scramble anzeigen Ctrl + 1/2/3Der letzte Solve ist OK/+2/DNF -Ctrl + Alt + t/i/s/v/g/q/b/lEntering in times with timer/typing/stackmat/virtual/bluetooth cube/qcube/bluetooth timer/last layer +Ctrl + Alt + t/i/s/v/g/q/b/lZeiten mit Timer/Tastatur/Stackmat/virtuellem Cube/Bluetooth Cube/qcube/Bluetooth Timer/last layer eingeben @@ -74,7 +74,7 @@
  • Hintergrundbild. Sie können Ihr eigenes Bild als Hintergrundbild auswählen. Aufgrund der Sicherheitsbeschränkung des Browsers sind jedoch nur http-Urls verfügbar.
  • Timer-Größe. Legen Sie die Größe des Haupt-Timers fest.
  • kleine Schrift nach dem Komma benutzen. Verwenden sie eine kleinere Schriftgröße nach dem Dezimalpunkt im Haupt-Timer.
  • -
  • Farbschema wählen. Select color schemes of csTimer. Click csTimer's logo to show more color schemes.
  • +
  • Farbschema wählen. Farbschema für csTimer auswählen Auf das csTimer-Logo klicken, um weitere Farbschemata anzuzeigen.
  • Maus-Timer verwenden. Starten Sie den Timer mit der Maus oder der Tastatur.
  • WCA-Inspektion benutzen. Aktiviere einen WCA Inspektor, welcher ein 15 sec Countdown ist. Es werden automatisch +2 sec/DNF-Strafen aktiviert, wenn sie mehr als 15 sekunden Inspizieren.
  • Sprachansage für WCA-Inspektion. Hinweis nach 8s/12s Inspektionszeit, ähnlich wie bei einem WCA-Wettbewerb
  • @@ -91,13 +91,13 @@
  • Die Höhe des Scramble-Bereichs begrenzen. Wenn der Scramble-Bereich zu groß wird, erscheint eine Scrollbar um eine weitere Vergrößerung zu vermeiden.
  • Aurichtung des Scramble-Bereichs. Ausrichtung des gesamten Scramble-Bereiches, inklusive Scamble-Typ-Auswahl
  • pre-scramble. Moves vor dem eigentlichen Scramble, welche für den virtuellen Cube und Scramble-Bilder verwendet werden
  • -
  • Farbneutral. If turned on, the position/first-layer color of some training scrambles will be random.
  • +
  • Farbneutral. Wenn aktiviert, wird die Positions-/first-layer-Farbe einiger Trainings-Scrambls zufällig sein.
  • schnellen Scramble für 4x4x4 verwenden (inoffiziell). Offizielle WCA 4x4x4-Scrambles benötigen große Mengen an Rechenleistung, wählen Sie diese Option um stattdessen zufällig generierte Scrambles zu verwenden
  • Schlüssel-Züge im Scramble hervorheben. Markiere einen entscheidenden Move in dem Scramble, z. B. den Schritt, der die quadratische Form in SQ1-Scrambles zerstört
  • Aktion beim klicken des scrambles. Verhalten beim anklicken des Scrambles, kopieren oder neu generieren
  • Anzahl der Versuche, die auf beiden Seiten getrimmt wurden. Anzahl der besten und schlechtesten Zeiten die bei Durchschnitten ignoriert werden
  • Zusammenfassung vor der Zeiten-Liste anzeigen. Statistiken vor Zeiten anzeigen
  • -
  • Zielzeit für das beste Ergebnis einer Session anzeigen. In the statistics table, the time required to refresh personal best after next solve is displayed. "N/A" means the next solve will not refresh PB no matter how fast it is, "∞" means any time except DNF will refresh PB.
  • +
  • Zielzeit für das beste Ergebnis einer Session anzeigen. In der Statistik-Tabelle wird die Zeit angezeigt, die benötigt wird, um im nächsten Solve eine neue persönliche Bestzeit zu erreichen. "N/A" bedeutet, das im nächsten Solve keine neue PB erreicht werden kann, "∞" bedeutet, dass jede Zeit außer einem DNF zu einer neuen PB führt.
  • Scramble(s) in den Statistiken anzeigen. Scramble im runden Statistikdialog anzeigen.
  • Datum des Solves in den Statistiken anzeigen. Datum im runden Statistikdialog anzeigen.
  • Sitzung direkt nach der Erstellung umbenennen. Sitzung nach dem Erstellen sofort umbenennen.
  • @@ -112,11 +112,11 @@
  • Zeige die Lösungen schrittweise an. Wenn ausgewählt, wird nur die Länge der Lösung eines Solvers angezeigt und die Lösung kann Zug für Zug angezeigt werden. Ansonsten wird die gesamte Lösung angezeigt.
  • Scramble-Bild Größe. Setzt die Größe der Scramble-Abbildung.
  • Anzahl der Werkzeuge. csTimer ist in der Lage, bis zu 4 Werkzeuge gleichzeitig zu zeigen.
  • -
  • Tastenkombinationen benutzen. Use keyboard shortcut to switch scramble type, generate next scramble, switch between sessions. Click csTimer's logo to show details.
  • -
  • Gestensteuerug benutzen. Use gestures (swiping in different directions) to switch OK/+2/DNF, add comments, generate next scramble, etc. Also available on non-touch screen devices when mouse timer is enabled. Click csTimer's logo to show details.
  • +
  • Tastenkombinationen benutzen. Tastenkombinationen verwenden, um den Scramble-Typ zu wechseln, das nächste Sramble zu generieren und zwischen verschiedenen Sessions zu wechseln. Für weitere Details auf das csTimer-Logo klicken.
  • +
  • Gestensteuerug benutzen. Gesten (Wischen in verschiedene Richtungen) zum Auswählen von OK/+2/DNF, dem Hinzufügen von Kommentaren, dem Generieren des nächsten Scrambles und weiterem verwenden. Auch auf Geräten ohne Touchscreen, wenn der Maus-Timer aktiviert ist. Für weitere Details auf das csTimer-Logo klicken.
  • VRC Grundgeschwindigkeit (TPS). Basisgeschwindigkeit des virtuellen Cubes; die Geschwindigkeit wird bei mehreren nachzuholenden Zügen erhöht
  • Multi-Phase. Automatische Mehrphasen-Aufteilung für virtuelle und Bluetooth-Cubes.
  • -
  • Bluetooth Würfel-Modus. Usage mode of smart cube: In normal mode, you need to manually scramble the cube until it is consistent with the scrambled state; in training mode, after pressing the space (or touching the screen on the touch screen), the virtual cube will directly change to the scrambled state. You need to solve virtual cube partially (depends on scramble, e.g. permutation of last layer is not checked in oll training) instead of physical cube; In continuous training mode, in addition to training mode, once the virtual cube is solved, you will directly enter the next solve without pressing space. You can also press ESC (on a touch screen, hold the screen for 2 seconds) to exit the solve.
  • +
  • Bluetooth Würfel-Modus. Usage mode of smart cube: In normal mode, you need to manually scramble the cube until it is consistent with the scrambled state; in training mode, after pressing the space (or touching the screen on the touch screen), the virtual cube will directly change to the scrambled state. You need to solve virtual cube partially (depends on scramble, e.g. permutation of last layer is not checked in oll training) instead of physical cube; In continuous training mode, in addition to training mode, once the virtual cube is solved, you will directly enter the next solve without pressing space. Sie können auch ESC drücken (oder auf einem Touchscreen den Bildschirm für zwei Sekunden berühren), um den Solve zu beenden.
  • Virtuellen Giiker Cube zeigen. Zeigt einen virtuellen Cube im Haupt-Timer während der Verbindung zu einem Bluetooth-Cube an.
  • Ende des Scrambles durch Warten anzeigen. Bei Bluetooth-Cubes kann csTimer nicht wissen, ob ein Move zum Schrambling oder zum Lösen gehört
  • Ende des Scrambles mit Leertaste anzeigen. Beim Drücken der Leertaste wird der Bluetooth-Cube als gescrambelt markiert, alle folgenden Züge starten den Timer.
  • diff --git a/src/lang/el-gr.js b/src/lang/el-gr.js index 7a8f7242..61451d2f 100644 --- a/src/lang/el-gr.js +++ b/src/lang/el-gr.js @@ -526,6 +526,7 @@ var STATS_XSESSION_SCR = 'any scramble'; var STATS_XSESSION_CALC = 'Calc'; var STATS_RSFORSS = 'Show stat. when clicking solve number'; var PROPERTY_PRINTSCR = 'print scramble(s) in statistics'; +var PROPERTY_PRINTCOMM = 'print comment(s) in statistics'; var PROPERTY_PRINTDATE = 'print solving date in statistics'; var PROPERTY_SUMMARY = 'show summary before time list'; var PROPERTY_IMRENAME = 'rename session immediately after creation'; diff --git a/src/lang/en-us.js b/src/lang/en-us.js index 45661b00..6b4fdb1e 100644 --- a/src/lang/en-us.js +++ b/src/lang/en-us.js @@ -526,6 +526,7 @@ var STATS_XSESSION_SCR = 'any scramble'; var STATS_XSESSION_CALC = 'Calc'; var STATS_RSFORSS = 'Show stat. when clicking solve number'; var PROPERTY_PRINTSCR = 'print scramble(s) in statistics'; +var PROPERTY_PRINTCOMM = 'print comment(s) in statistics'; var PROPERTY_PRINTDATE = 'print solving date in statistics'; var PROPERTY_SUMMARY = 'show summary before time list'; var PROPERTY_IMRENAME = 'rename session immediately after creation'; diff --git a/src/lang/es-es.js b/src/lang/es-es.js index 4d43e541..5a0ab6f2 100644 --- a/src/lang/es-es.js +++ b/src/lang/es-es.js @@ -526,6 +526,7 @@ var STATS_XSESSION_SCR = 'cualquier mezcla'; var STATS_XSESSION_CALC = 'Cálculo'; var STATS_RSFORSS = 'Mostrar estadística al hacer clic en resolver número'; var PROPERTY_PRINTSCR = 'Publicar mezcla(s) en las estadísticas.'; +var PROPERTY_PRINTCOMM = 'print comment(s) in statistics'; var PROPERTY_PRINTDATE = 'imprimir fecha de resolución en estadísticas'; var PROPERTY_SUMMARY = 'mostrar resumen antes de la lista de tiempos'; var PROPERTY_IMRENAME = 'renombrar sesión inmediatamente después de la creación'; diff --git a/src/lang/fa-ir.js b/src/lang/fa-ir.js index fe59800c..90609ecd 100644 --- a/src/lang/fa-ir.js +++ b/src/lang/fa-ir.js @@ -526,6 +526,7 @@ var STATS_XSESSION_SCR = 'any scramble'; var STATS_XSESSION_CALC = 'Calc'; var STATS_RSFORSS = 'Show stat. when clicking solve number'; var PROPERTY_PRINTSCR = 'print scramble(s) in statistics'; +var PROPERTY_PRINTCOMM = 'print comment(s) in statistics'; var PROPERTY_PRINTDATE = 'print solving date in statistics'; var PROPERTY_SUMMARY = 'show summary before time list'; var PROPERTY_IMRENAME = 'rename session immediately after creation'; diff --git a/src/lang/fi-fi.js b/src/lang/fi-fi.js index 279ccd7d..13f635b7 100644 --- a/src/lang/fi-fi.js +++ b/src/lang/fi-fi.js @@ -526,6 +526,7 @@ var STATS_XSESSION_SCR = 'any scramble'; var STATS_XSESSION_CALC = 'Calc'; var STATS_RSFORSS = 'Show stat. when clicking solve number'; var PROPERTY_PRINTSCR = 'print scramble(s) in statistics'; +var PROPERTY_PRINTCOMM = 'print comment(s) in statistics'; var PROPERTY_PRINTDATE = 'print solving date in statistics'; var PROPERTY_SUMMARY = 'show summary before time list'; var PROPERTY_IMRENAME = 'rename session immediately after creation'; diff --git a/src/lang/fr-fr.js b/src/lang/fr-fr.js index cd6a41c5..2db196d2 100644 --- a/src/lang/fr-fr.js +++ b/src/lang/fr-fr.js @@ -526,6 +526,7 @@ var STATS_XSESSION_SCR = 'tout mélange'; var STATS_XSESSION_CALC = 'Calc'; var STATS_RSFORSS = 'Afficher les stats en cliquant sur le numéro d\'une résolution'; var PROPERTY_PRINTSCR = 'Afficher les mélanges dans les stats'; +var PROPERTY_PRINTCOMM = 'print comment(s) in statistics'; var PROPERTY_PRINTDATE = 'Afficher la date des résolutions dans les stats'; var PROPERTY_SUMMARY = 'Montrer le résumé avant la liste de temps'; var PROPERTY_IMRENAME = 'Renommer la session immédiatement après création'; diff --git a/src/lang/he-il.js b/src/lang/he-il.js index 3710f7ec..527d14bb 100644 --- a/src/lang/he-il.js +++ b/src/lang/he-il.js @@ -526,6 +526,7 @@ var STATS_XSESSION_SCR = 'כל ערבוב'; var STATS_XSESSION_CALC = 'חשב'; var STATS_RSFORSS = 'הראה סטטיסטיקות כשלוחצים על מספר פתירה'; var PROPERTY_PRINTSCR = 'הראה ערבוב(ים) בסטטיסטיקות'; +var PROPERTY_PRINTCOMM = 'print comment(s) in statistics'; var PROPERTY_PRINTDATE = 'הראה תאריך בסטטיסטיקות'; var PROPERTY_SUMMARY = 'הראה סיכום לפני רשימת זמנים'; var PROPERTY_IMRENAME = 'שנה שם סשן ישר אחרי יצירה'; diff --git a/src/lang/hi-in.js b/src/lang/hi-in.js index 84be7f86..6bc09d2f 100644 --- a/src/lang/hi-in.js +++ b/src/lang/hi-in.js @@ -526,6 +526,7 @@ var STATS_XSESSION_SCR = 'any scramble'; var STATS_XSESSION_CALC = 'Calc'; var STATS_RSFORSS = 'Show stat. when clicking solve number'; var PROPERTY_PRINTSCR = 'print scramble(s) in statistics'; +var PROPERTY_PRINTCOMM = 'print comment(s) in statistics'; var PROPERTY_PRINTDATE = 'print solving date in statistics'; var PROPERTY_SUMMARY = 'show summary before time list'; var PROPERTY_IMRENAME = 'rename session immediately after creation'; diff --git a/src/lang/hr-hr.js b/src/lang/hr-hr.js index bb2dcb67..b6843806 100644 --- a/src/lang/hr-hr.js +++ b/src/lang/hr-hr.js @@ -526,6 +526,7 @@ var STATS_XSESSION_SCR = 'bilo koji scramble'; var STATS_XSESSION_CALC = 'Izračun'; var STATS_RSFORSS = 'Prikaži statistiku prilikom klika na broj slaganja'; var PROPERTY_PRINTSCR = 'ispiši scramble/ove u statistici'; +var PROPERTY_PRINTCOMM = 'print comment(s) in statistics'; var PROPERTY_PRINTDATE = 'ispiši podatke o slaganju u statistici'; var PROPERTY_SUMMARY = 'prikaži sažetak prije liste vremena'; var PROPERTY_IMRENAME = 'preimenuj sesiju odmah nakon kreiranja'; diff --git a/src/lang/hu-hu.js b/src/lang/hu-hu.js index fcef44bc..fc9230b2 100644 --- a/src/lang/hu-hu.js +++ b/src/lang/hu-hu.js @@ -526,6 +526,7 @@ var STATS_XSESSION_SCR = 'bármely keverés'; var STATS_XSESSION_CALC = 'Számítás'; var STATS_RSFORSS = 'A kirakás számra kattintva mutassa a statisztikát'; var PROPERTY_PRINTSCR = 'Keverések nyomtatása a statisztikában'; +var PROPERTY_PRINTCOMM = 'print comment(s) in statistics'; var PROPERTY_PRINTDATE = 'megoldási dátum megjelenítése a statisztikákban'; var PROPERTY_SUMMARY = 'összegzés mutatása az időlista előtt'; var PROPERTY_IMRENAME = 'a létrehozott időszak azonnali átnevezése'; diff --git a/src/lang/it-it.js b/src/lang/it-it.js index 76b9a599..406ad54e 100644 --- a/src/lang/it-it.js +++ b/src/lang/it-it.js @@ -526,6 +526,7 @@ var STATS_XSESSION_SCR = 'qualsiasi scramble'; var STATS_XSESSION_CALC = 'Calc'; var STATS_RSFORSS = 'Show stat. when clicking solve number'; var PROPERTY_PRINTSCR = 'Stampa scramble(s) con le statistiche'; +var PROPERTY_PRINTCOMM = 'print comment(s) in statistics'; var PROPERTY_PRINTDATE = 'visualizza la data di risoluzione nelle statistiche'; var PROPERTY_SUMMARY = 'mostra riepilogo prima della lista dei tempi'; var PROPERTY_IMRENAME = 'rinomina la sessione subito dopo la creazione'; diff --git a/src/lang/ja-jp.js b/src/lang/ja-jp.js index efa111cd..a99135d0 100644 --- a/src/lang/ja-jp.js +++ b/src/lang/ja-jp.js @@ -526,6 +526,7 @@ var STATS_XSESSION_SCR = '全スクランブル'; var STATS_XSESSION_CALC = '計算'; var STATS_RSFORSS = 'ソルブ番号をクリックしたときに統計を表示'; var PROPERTY_PRINTSCR = '統計情報にスクランブルを表示'; +var PROPERTY_PRINTCOMM = 'print comment(s) in statistics'; var PROPERTY_PRINTDATE = '統計情報にソルブ日時を表示'; var PROPERTY_SUMMARY = 'タイム一覧の前にサマリーを表示'; var PROPERTY_IMRENAME = 'セッション作成後すぐに名前を変更する'; diff --git a/src/lang/ko-kr.js b/src/lang/ko-kr.js index 508dbdc5..60cb23e5 100644 --- a/src/lang/ko-kr.js +++ b/src/lang/ko-kr.js @@ -526,6 +526,7 @@ var STATS_XSESSION_SCR = 'any scramble'; var STATS_XSESSION_CALC = '계산'; var STATS_RSFORSS = 'Show stat. when clicking solve number'; var PROPERTY_PRINTSCR = '통계 정보에 섞기 포함'; +var PROPERTY_PRINTCOMM = 'print comment(s) in statistics'; var PROPERTY_PRINTDATE = 'print solving date in statistics'; var PROPERTY_SUMMARY = '시간목록 위에 통계 요약 표시'; var PROPERTY_IMRENAME = '새 모둠을 만들 때마다 이름 바꾸기'; diff --git a/src/lang/langDet.php b/src/lang/langDet.php index b9920778..feda08ab 100644 --- a/src/lang/langDet.php +++ b/src/lang/langDet.php @@ -1,5 +1,5 @@