Skip to content

Commit 5c03c03

Browse files
committed
Merge branch 'release/v3.2.6'
2 parents 0dbdd9a + 6f9c86d commit 5c03c03

29 files changed

+225
-52
lines changed

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "starcitizenwiki/embedvideo",
3-
"version": "3.2.5",
3+
"version": "3.2.6",
44
"type": "mediawiki-extension",
55
"description": "Adds a parser function embedding video from popular sources.",
66
"license": "MIT",

extension.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "EmbedVideo",
3-
"version": "3.2.5",
3+
"version": "3.2.6",
44
"author": [
55
"[https://www.mediawiki.org/wiki/User:Octfx Octfx]",
66
"[https://www.mediawiki.org/wiki/User:Alistair3149 Alistair3149]",
@@ -115,7 +115,7 @@
115115
},
116116
"EmbedVideoDefaultWidth": {
117117
"description": "Default fallback width",
118-
"value": 320
118+
"value": 640
119119
},
120120
"FFProbeLocation": {
121121
"description": "Location to ffprobe",

i18n/de.json

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,27 +2,55 @@
22
"@metadata": {
33
"authors": [
44
"Alistair3149",
5+
"Brettchenweber",
6+
"Justman10000",
57
"Lorem Ipsum",
68
"Messerjokke79"
79
]
810
},
911
"embedvideo-description": "Fügt eine Parserfunktion hinzu, mittels derer Videos populärer Dienste eingebettet werden können.",
12+
"embedvideo-load": "$1 laden",
1013
"embedvideo-type-audio": "audio",
14+
"embedvideo-type-content": "Inhalt",
1115
"embedvideo-type-video": "video",
1216
"embedvideo-consent-privacy-policy": "Datenschutzrichtlinie",
17+
"embedvideo-consent-privacy-notice-text": "$1 sammelt möglicherweise persönliche Daten.",
1318
"embedvideo-consent-privacy-notice-continue": "Fortfahren",
1419
"embedvideo-consent-privacy-notice-dismiss": "Ausblenden",
20+
"embedvideo-service-archiveorg": "Archiv.org",
21+
"embedvideo-service-bilibili": "Bilibili",
22+
"embedvideo-service-kakaotv": "KakaoTV",
23+
"embedvideo-service-navertv": "NaverTV",
24+
"embedvideo-service-niconico": "Niconico",
25+
"embedvideo-service-soundcloud": "SoundCloud",
26+
"embedvideo-service-spotify": "Spotify",
27+
"embedvideo-service-twitch": "Twitch",
28+
"embedvideo-service-vimeo": "Vimeo",
29+
"embedvideo-service-youtube": "YouTube",
1530
"embedvideo-play": "Video abspielen",
1631
"embedvideo-error-missingparams": "EmbedVideo fehlt ein anzugebender Parameter.",
1732
"embedvideo-error-service": "EmbedVideo erkennt den Videodienst „$1“ nicht.",
1833
"embedvideo-error-id": "EmbedVideo erhielt die unbrauchbare ID „$2“ für „$1“.",
1934
"embedvideo-error-width": "EmbedVideo erhielt den unbrauchbaren width-Parameter „$1“.",
2035
"embedvideo-error-height": "EmbedVideo erhielt den unbrauchbaren height-Parameter „$1“.",
21-
"embedvideo-error-alignment": "EmbedVideo erhielt den unbrauchbaren alignment-Parameter „$1“; <span style=\"color: DarkRed\">gültig sind „left“, „center“ und „right“</span>.",
36+
"embedvideo-error-alignment": "EmbedVideo wurde ein unzulässiger Wert für den Ausrichtungsparameter \"$1\" übergeben. Gültige Werte sind \"links\", \"Mitte\" oder \"rechts\".",
2237
"embedvideo-error-valignment": "EmbedVideo erhielt den unbrauchbaren valignment-Parameter „$1“; <span style=\"color: DarkRed\">gültig sind „top“, „middle“, „bottom“ und „baseline“</span>.",
2338
"embedvideo-error-urlargs": "EmbedVideo erhielt eine Liste von URL-Argumenten, die unbrauchbare Daten oder leere Argumente aufwiesen.",
2439
"embedvideo-error-unknown": "EmbedVideo stieß auf einen Fehler während das Video eingebettet werden sollte. ($1)",
2540
"embedvideo-error-evp_deprecated": "Die Parserfunktion „#evp“ wurde in EmbedVideo 2.0 verworfen; alle Parserfunktionen-Tags sind in „#ev“ zu ändern.",
2641
"embedvideo-error-container": "Der Wert für „container“ ist ungültig.",
27-
"apihelp-embedvideo-param-description": "Beschreibung des Videos"
42+
"embedvideo-video-short-desc": "$1, $2x$3",
43+
"embedvideo-video-long-desc": "$1, $2 Codec, Länge $3, $4x$5 Pixel, $6 insgesamt",
44+
"embedvideo-audio-short-desc": "$1",
45+
"embedvideo-audio-long-desc": "$1, $2 codec, Länge $3, $4 insgesamt",
46+
"embedvideo-error-cantdecode_evu": "Konnte das Video von $1 nicht analysieren",
47+
"apihelp-embedvideo-summary": "Ermittelt den generierten Videoeinbettungscode für die angegebenen Parameter.",
48+
"apihelp-embedvideo-param-service": "Name des Dienstes (youtube, twitch etc.)",
49+
"apihelp-embedvideo-param-id": "Die ID des Videos für diesen Dienst",
50+
"apihelp-embedvideo-param-dimensions": "Entweder eine numerische Breite (100) oder Breite mal Höhe (100x100)",
51+
"apihelp-embedvideo-param-alignment": "Ausrichtung des Videos",
52+
"apihelp-embedvideo-param-description": "Beschreibung des Videos",
53+
"apihelp-embedvideo-param-container": "Akzeptiert Rahmen, oder leer lassen",
54+
"apihelp-embedvideo-param-urlargs": "Zusätzliche Argumente für die Übergabe der Video-URL (für einige Dienste)",
55+
"apihelp-embedvideo-param-autoresize": "Automatische Größenanpassung des Videos? (true oder false)"
2856
}

i18n/en.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,11 @@
2727
"embedvideo-error-id": "EmbedVideo received the bad id \"$2\" for the service \"$1\".",
2828
"embedvideo-error-width": "EmbedVideo received the bad width parameter \"$1\".",
2929
"embedvideo-error-height": "EmbedVideo received the bad height parameter \"$1\".",
30-
"embedvideo-error-alignment": "EmbedVideo was given an illegal value for the alignment parameter \"$1\". Valid values are \"left\", \"center\", or \"right\".",
31-
"embedvideo-error-valignment": "EmbedVideo was given an illegal value for the valignment parameter \"$1\". Valid values are \"top\", \"middle\", \"bottom\", or \"baseline\".",
30+
"embedvideo-error-alignment": "EmbedVideo was given an illegal value for the alignment parameter \"$1\". Valid values are \"left\", \"center\", or \"right\".",
31+
"embedvideo-error-valignment": "EmbedVideo was given an illegal value for the valignment parameter \"$1\". Valid values are \"top\", \"middle\", \"bottom\", or \"baseline\".",
3232
"embedvideo-error-urlargs": "EmbedVideo received a list of URL arguments that contained malformed data or blank arguments.",
33-
"embedvideo-error-unknown": "EmbedVideo encountered an unknown error while trying to generate this video embed block. ($1)",
34-
"embedvideo-error-evp_deprecated": "The #evp parser function was deprecated in EmbedVideo 2.0. Please convert your parser function tag to #ev.",
33+
"embedvideo-error-unknown": "EmbedVideo encountered an unknown error while trying to generate this video embed block. ($1)",
34+
"embedvideo-error-evp_deprecated": "The #evp parser function was deprecated in EmbedVideo 2.0. Please convert your parser function tag to #ev.",
3535
"embedvideo-error-container": "The parameter provided for 'container' is invalid.",
3636
"embedvideo-video-short-desc": "$1, $2x$3",
3737
"embedvideo-video-long-desc": "$1, $2 codec, length $3, $4x$5 pixels, $6 overall",

i18n/es.json

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
{
2+
"@metadata": {
3+
"authors": []
4+
},
5+
"embedvideo-description": "Este 'fork' añade un 'parser' para incrustar videos desde fuentes multimedia populares",
6+
"embedvideo-load": "Cargar $1",
7+
"embedvideo-type-audio": "audio",
8+
"embedvideo-type-content": "contenido",
9+
"embedvideo-type-video": "video",
10+
"embedvideo-consent-privacy-policy": "Política de Privacidad",
11+
"embedvideo-consent-privacy-notice-text": "$1 podría recabar datos personales.",
12+
"embedvideo-consent-privacy-notice-continue": "Continuar",
13+
"embedvideo-consent-privacy-notice-dismiss": "Descartar",
14+
"embedvideo-service-archiveorg": "Archive.org",
15+
"embedvideo-service-bilibili": "Bilibili",
16+
"embedvideo-service-kakaotv": "KakaoTV",
17+
"embedvideo-service-navertv": "NaverTV",
18+
"embedvideo-service-niconico": "Niconico",
19+
"embedvideo-service-soundcloud": "SoundCloud",
20+
"embedvideo-service-spotify": "Spotify",
21+
"embedvideo-service-twitch": "Twitch",
22+
"embedvideo-service-vimeo": "Vimeo",
23+
"embedvideo-service-youtube": "YouTube",
24+
"embedvideo-play": "Reproducir",
25+
"embedvideo-error-missingparams": "EmbedVideo; falta un parámetro requerido.",
26+
"embedvideo-error-service": "EmbedVideo no reconoce el servicio \"$1\".",
27+
"embedvideo-error-id": "EmbedVideo recibió la id errónea \"$2\" del servicio \"$1\".",
28+
"embedvideo-error-width": "EmbedVideo recibió un parámetro de anchura inválido \"$1\".",
29+
"embedvideo-error-height": "EmbedVideo recibió un parámetro de altura inválido \"$1\".",
30+
"embedvideo-error-alignment": "EmbedVideo recibió un valor 'alignment' inválido \"$1\". Valores válidos: \"left\", \"center\", o \"right\".",
31+
"embedvideo-error-valignment": "EmbedVideo recibió un valor 'valignment' inválido \"$1\". Valores válidos: \"top\", \"middle\", \"bottom\", o \"baseline\".",
32+
"embedvideo-error-urlargs": "EmbedVideo recibió una lista de argumentos URL conteniendo datos inválidos o en blanco.",
33+
"embedvideo-error-unknown": "EmbedVideo encontró un error desconocido generando el bloque incrustado ($1)",
34+
"embedvideo-error-evp_deprecated": "La etiqueta '#evp' se declaró obsoleta en EmbedVideo 2.0. Por favor, convierta la etiqueta a '#ev'.",
35+
"embedvideo-error-container": "El parámetro proporcionado por 'container' es inválido.",
36+
"embedvideo-video-short-desc": "$1, $2x$3",
37+
"embedvideo-video-long-desc": "$1, $2 codec, longitud $3, $4x$5 pixels, $6 general",
38+
"embedvideo-audio-short-desc": "$1",
39+
"embedvideo-audio-long-desc": "$1, $2 codec, longitud $3, $4 general",
40+
"embedvideo-error-cantdecode_evu": "No se pudo decodificar el video de $1",
41+
"apihelp-embedvideo-summary": "Muestra el código de incrustación generado con los parámetros especificados.",
42+
"apihelp-embedvideo-param-service": "Nombre del proveedor (youtube, twitch, etc)",
43+
"apihelp-embedvideo-param-id": "ID de video",
44+
"apihelp-embedvideo-param-dimensions": "Ancho numérico (100) or ancho por alto (100x100)",
45+
"apihelp-embedvideo-param-alignment": "Alineación del video",
46+
"apihelp-embedvideo-param-description": "Descripción del video",
47+
"apihelp-embedvideo-param-container": "Aceptar para marco, o dejar vacío",
48+
"apihelp-embedvideo-param-urlargs": "Parámetros URL adicionales",
49+
"apihelp-embedvideo-param-autoresize": "Redimensionado automático de video (verdadero o falso)"
50+
}

i18n/fr.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
"embedvideo-error-id": "« EmbedVideo » a reçu l’identifiant erroné « $2 » pour le service « $1 ».",
3333
"embedvideo-error-width": "« EmbedVideo » a reçu une valeur erronée « $1 » pour le paramètre de largeur.",
3434
"embedvideo-error-height": "« EmbedVideo » a reçu une valeur erronée « $1 » pour le paramètre de hauteur.",
35-
"embedvideo-error-alignment": "« EmbedVideo » a reçu une valeur une valeur erronée « $1 » pour le paramètre d’alignement. Les valeurs valides sont « left » (gauche), « center » (centre), ou « right » (droite).",
35+
"embedvideo-error-alignment": "« EmbedVideo » a reçu une valeur une valeur erronée « $1 » pour le paramètre d’alignement. Les valeurs valides sont « left » (gauche), « center » (centre) ou « right » (droite).",
3636
"embedvideo-error-valignment": "« EmbedVideo » a reçu une valeur une valeur erronée « $1 » pour le paramètre d’alignement vertical. Les valeurs valides sont « top » (haut), « middle » (milieu), « bottom » (bas) ou « baseline » (ligne de base).",
3737
"embedvideo-error-urlargs": "« EmbedVideo » a reçu une liste d’arguments d’URL qui contiennent des données malformées ou des arguments vides.",
3838
"embedvideo-error-unknown": "« EmbedVideo » a rencontré une erreur inconnue en essayant de générer ce bloc d’intégration vidéo. ($1)",

i18n/he.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"embedvideo-error-missingparams": "ל־EmbedVideo חסר פרמטר חובה.",
1111
"embedvideo-error-service": "EmbedVideo לא מזהה את שירות הסרטונים \"$1\".",
1212
"embedvideo-error-id": "EmbedVideo קיבל מזהה רע \"$2\" עבור השירות \"$1\".",
13-
"embedvideo-error-alignment": "EmbedVideo קיבל ערך לא תקין עבור הפרמטר alignment \"$1\". הערכים התקינים הם \"left\"‏, \"center\", \"right\" או \"inline\".",
13+
"embedvideo-error-alignment": "EmbedVideo קיבל ערך לא תקין עבור הפרמטר alignment \"$1\". הערכים התקינים הם \"left\"‏, \"center\" או \"right\".",
1414
"embedvideo-error-valignment": "EmbedVideo קיבל ערך לא תקין עבור הפרמטר valignment \"$1\". הערכים התקינים הם \"top\"‏, \"middle\"‏, \"bottom\" או \"baseline\".",
1515
"embedvideo-error-urlargs": "EmbedVideo קיבל רשימה של ארגומנטי URL שהכילו מידע פגום או ארגומנטים ריקים.",
1616
"embedvideo-error-unknown": "EmbedVideo נתקל בשגיאה לא ידועה כשניסה לייצר את בלוק הטבעת הסרטון הזה. ($1)",

i18n/ia.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
"embedvideo-error-id": "EmbedVideo ha recipite le ID mal \"$2\" pro le servicio \"$1\".",
3030
"embedvideo-error-width": "EmbedVideo ha recipe le parametro de latitude mal \"$1\".",
3131
"embedvideo-error-height": "EmbedVideo ha recipe le parametro de altitude mal \"$1\".",
32-
"embedvideo-error-alignment": "EmbedVideo ha recipite un valor non valide pro le parametro de alineamento \"$1\". Valores valide es \"left\", \"center\", \"right\", o \"inline\".",
32+
"embedvideo-error-alignment": "EmbedVideo ha recipite un valor non valide pro le parametro de alineamento \"$1\". Valores valide es \"left\" (sinistra), \"center\" (centro) o \"right\" (dextra).",
3333
"embedvideo-error-valignment": "EmbedVideo ha recipite un valor non valide pro le parametro de alineamento vertical \"$1\". Valores valide es \"top\", \"middle\", \"bottom\", o \"baseline\".",
3434
"embedvideo-error-urlargs": "EmbedVideo ha recipite un lista de argumentos de URL que contineva datos mal formate o argumentos vacue.",
3535
"embedvideo-error-unknown": "EmbedVideo ha incontrate un error incognite durante le tentativa de generar iste bloco de incastration de video. ($1)",

i18n/ja.json

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22
"@metadata": {
33
"authors": [
44
"Adom",
5-
"MathXplore"
5+
"MathXplore",
6+
"もなー(偽物)"
67
]
78
},
89
"embedvideo-type-video": "動画",
@@ -18,5 +19,9 @@
1819
"embedvideo-service-spotify": "Spotify",
1920
"embedvideo-service-twitch": "Twitch",
2021
"embedvideo-service-vimeo": "Vimeo",
21-
"embedvideo-service-youtube": "YouTube"
22+
"embedvideo-service-youtube": "YouTube",
23+
"embedvideo-error-alignment": "EmbedVideo の配置パラメータ \" $1 \" に不正な値が指定されました。有効な値は、\"left(左)\"\"center(中央)\"、または\"right(右)\"です。",
24+
"embedvideo-error-valignment": "EmbedVideo の valignment パラメータ \" $1 \" に不正な値が指定されました。有効な値は、\"top\"\"middle\"\"bottom\"、または \"baseline\" です。",
25+
"embedvideo-error-unknown": "ビデオ埋め込みブロックを生成しようとしたときに、EmbedVideo で不明なエラーが発生しました。 ( $1 )",
26+
"embedvideo-error-evp_deprecated": "#evp パーサー関数は、EmbedVideo 2.0 で廃止されました。パーサー関数タグを #ev に変換してください。"
2227
}

i18n/ko.json

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
{
2+
"@metadata": {
3+
"authors": [
4+
"Alistair3149",
5+
"Ykhwong",
6+
"gaon12",
7+
"렌즈"
8+
]
9+
},
10+
"embedvideo-description": "이 포크 버전은 인기 있는 플랫폼들의 비디오을 임베드하기 위한 파서 기능을 추가합니다.",
11+
"embedvideo-load": "$1 불러오기",
12+
"embedvideo-type-audio": "소리",
13+
"embedvideo-type-content": "콘텐츠",
14+
"embedvideo-type-video": "동영상",
15+
"embedvideo-consent-privacy-policy": "개인정보보호정책",
16+
"embedvideo-consent-privacy-notice-text": "$1에서 개인정보가 수집될 수 있습니다.",
17+
"embedvideo-consent-privacy-notice-continue": "계속",
18+
"embedvideo-consent-privacy-notice-dismiss": "취소",
19+
"embedvideo-service-archiveorg": "Archive.org",
20+
"embedvideo-service-bilibili": "빌리빌리",
21+
"embedvideo-service-kakaotv": "카카오TV",
22+
"embedvideo-service-navertv": "네이버TV",
23+
"embedvideo-service-niconico": "니코니코 동화",
24+
"embedvideo-service-soundcloud": "사운드 클라우드",
25+
"embedvideo-service-spotify": "스포티파이",
26+
"embedvideo-service-twitch": "트위치",
27+
"embedvideo-service-vimeo": "비메오",
28+
"embedvideo-service-youtube": "유튜브",
29+
"embedvideo-play": "비디오 재생",
30+
"embedvideo-error-missingparams": "EmbedVideo에 필수 매개 변수가 없습니다.",
31+
"embedvideo-error-service": "EmbedVideo가 비디오 서비스 \"$1\"을(를) 인식하지 못합니다.",
32+
"embedvideo-error-id": "EmbedVideo가 \"$1\" 서비스에 대해 잘못된 ID 값 \"$2\"을(를) 받았습니다.",
33+
"embedvideo-error-width": "EmbedVideo가 잘못된 영상 너비 매개변수 값 \"$1\"을(를) 받았습니다.",
34+
"embedvideo-error-height": "EmbedVideo가 잘못된 높이 매개변수 값 \"$1\"을 받았습니다.",
35+
"embedvideo-error-alignment": "EmbedVideo가 정렬 매개변수 값 \"$1\"에 대해 잘못된 값을 받았습니다. 유효한 값은 \"left\", \"center\", 또는 \"right\"입니다.",
36+
"embedvideo-error-valignment": "EmbedVideo에 잘못된 값 \"$1\"이 지정되었습니다. 유효한 값은 \"top\", \"middle\", \"bottom\", 또는 \"baseline\"입니다.",
37+
"embedvideo-error-urlargs": "EmbedVideo가 잘못된 데이터 또는 빈 인수가 포함된 URL 인자 목록을 받았습니다.",
38+
"embedvideo-error-unknown": "EmbedVideo가 이 비디오 임베드 블록을 생성하는 동안 알 수 없는 오류가 발생했습니다. ($1)",
39+
"embedvideo-error-evp_deprecated": "#evp 구문 분석기 함수는 EmbedVideo 2.0에서 더 이상 사용되지 않습니다. 파서 함수 태그를 #ev로 변환하세요.",
40+
"embedvideo-error-container": "'컨테이너'에 제공된 매개변수가 유효하지 않습니다.",
41+
"embedvideo-video-short-desc": "$1, $2x$3",
42+
"embedvideo-video-long-desc": "$1, $2 코덱, 길이 $3, $4x$5 픽셀, 전체 $6",
43+
"embedvideo-audio-short-desc": "$1",
44+
"embedvideo-audio-long-desc": "$1, $2 코덱, 길이 $3, 전체 $4",
45+
"embedvideo-error-cantdecode_evu": "$1에서 비디오를 구문 분석할 수 없습니다",
46+
"apihelp-embedvideo-summary": "주어진 매개변수에 대해 생성된 비디오 임베드 코드를 가져옵니다.",
47+
"apihelp-embedvideo-param-service": "서비스 이름(유튜브, 트위치 등)",
48+
"apihelp-embedvideo-param-id": "해당 서비스의 비디오 ID 값",
49+
"apihelp-embedvideo-param-dimensions": "숫자 너비(100) 또는 너비를 높이로 나눈 값(100x100)",
50+
"apihelp-embedvideo-param-alignment": "비디오 정렬",
51+
"apihelp-embedvideo-param-description": "비디오 설명",
52+
"apihelp-embedvideo-param-container": "프레임 허용, 또는 비워둠",
53+
"apihelp-embedvideo-param-urlargs": "비디오 URL에 전달할 추가 인수(일부 서비스의 경우)",
54+
"apihelp-embedvideo-param-autoresize": "비디오 크기를 자동으로 조절하겠습니까? (true 또는 false)"
55+
}

i18n/qqq.json

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,20 @@
11
{
22
"@metadata": {
33
"authors": [
4+
"Amire80",
45
"Robby"
56
]
67
},
78
"embedvideo-consent-privacy-notice-continue": "{{identical|Continue}}",
8-
"embedvideo-consent-privacy-notice-dismiss": "{{identical|Dismiss}}"
9+
"embedvideo-consent-privacy-notice-dismiss": "{{identical|Dismiss}}",
10+
"embedvideo-service-archiveorg": "{{Optional}}",
11+
"embedvideo-service-bilibili": "{{Optional}}",
12+
"embedvideo-service-kakaotv": "{{Optional}}",
13+
"embedvideo-service-navertv": "{{Optional}}",
14+
"embedvideo-service-niconico": "{{Optional}}",
15+
"embedvideo-service-soundcloud": "{{Optional}}",
16+
"embedvideo-service-spotify": "{{Optional}}",
17+
"embedvideo-service-twitch": "{{Optional}}",
18+
"embedvideo-service-vimeo": "{{Optional}}",
19+
"embedvideo-service-youtube": "{{Optional}}"
920
}

0 commit comments

Comments
 (0)