!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 

uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/var/www/html/wincloud_gateway/node_modules/prismjs/components/   drwxr-xr-x
Free 12.98 GB of 57.97 GB (22.39%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     prism-icu-message-format.js (3.89 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
// https://unicode-org.github.io/icu/userguide/format_parse/messages/
// https://unicode-org.github.io/icu-docs/apidoc/released/icu4j/com/ibm/icu/text/MessageFormat.html

(function (Prism) {

	/**
	 * @param {string} source
	 * @param {number} level
	 * @returns {string}
	 */
	function nested(source, level) {
		if (level <= 0) {
			return /[]/.source;
		} else {
			return source.replace(/<SELF>/g, function () { return nested(source, level - 1); });
		}
	}

	var stringPattern = /'[{}:=,](?:[^']|'')*'(?!')/;

	var escape = {
		pattern: /''/,
		greedy: true,
		alias: 'operator'
	};
	var string = {
		pattern: stringPattern,
		greedy: true,
		inside: {
			'escape': escape
		}
	};

	var argumentSource = nested(
		/\{(?:[^{}']|'(?![{},'])|''|<STR>|<SELF>)*\}/.source
			.replace(/<STR>/g, function () { return stringPattern.source; }),
		8
	);

	var nestedMessage = {
		pattern: RegExp(argumentSource),
		inside: {
			'message': {
				pattern: /^(\{)[\s\S]+(?=\}$)/,
				lookbehind: true,
				inside: null // see below
			},
			'message-delimiter': {
				pattern: /./,
				alias: 'punctuation'
			}
		}
	};

	Prism.languages['icu-message-format'] = {
		'argument': {
			pattern: RegExp(argumentSource),
			greedy: true,
			inside: {
				'content': {
					pattern: /^(\{)[\s\S]+(?=\}$)/,
					lookbehind: true,
					inside: {
						'argument-name': {
							pattern: /^(\s*)[^{}:=,\s]+/,
							lookbehind: true
						},
						'choice-style': {
							// https://unicode-org.github.io/icu-docs/apidoc/released/icu4c/classicu_1_1ChoiceFormat.html#details
							pattern: /^(\s*,\s*choice\s*,\s*)\S(?:[\s\S]*\S)?/,
							lookbehind: true,
							inside: {
								'punctuation': /\|/,
								'range': {
									pattern: /^(\s*)[+-]?(?:\d+(?:\.\d*)?|\u221e)\s*[<#\u2264]/,
									lookbehind: true,
									inside: {
										'operator': /[<#\u2264]/,
										'number': /\S+/
									}
								},
								rest: null // see below
							}
						},
						'plural-style': {
							// https://unicode-org.github.io/icu-docs/apidoc/released/icu4j/com/ibm/icu/text/PluralFormat.html#:~:text=Patterns%20and%20Their%20Interpretation
							pattern: /^(\s*,\s*(?:plural|selectordinal)\s*,\s*)\S(?:[\s\S]*\S)?/,
							lookbehind: true,
							inside: {
								'offset': /^offset:\s*\d+/,
								'nested-message': nestedMessage,
								'selector': {
									pattern: /=\d+|[^{}:=,\s]+/,
									inside: {
										'keyword': /^(?:zero|one|two|few|many|other)$/
									}
								}
							}
						},
						'select-style': {
							// https://unicode-org.github.io/icu-docs/apidoc/released/icu4j/com/ibm/icu/text/SelectFormat.html#:~:text=Patterns%20and%20Their%20Interpretation
							pattern: /^(\s*,\s*select\s*,\s*)\S(?:[\s\S]*\S)?/,
							lookbehind: true,
							inside: {
								'nested-message': nestedMessage,
								'selector': {
									pattern: /[^{}:=,\s]+/,
									inside: {
										'keyword': /^other$/
									}
								}
							}
						},
						'keyword': /\b(?:choice|plural|select|selectordinal)\b/,
						'arg-type': {
							pattern: /\b(?:number|date|time|spellout|ordinal|duration)\b/,
							alias: 'keyword'
						},
						'arg-skeleton': {
							pattern: /(,\s*)::[^{}:=,\s]+/,
							lookbehind: true
						},
						'arg-style': {
							pattern: /(,\s*)(?:short|medium|long|full|integer|currency|percent)(?=\s*$)/,
							lookbehind: true
						},
						'arg-style-text': {
							pattern: RegExp(/(^\s*,\s*(?=\S))/.source + nested(/(?:[^{}']|'[^']*'|\{(?:<SELF>)?\})+/.source, 8) + '$'),
							lookbehind: true,
							alias: 'string'
						},
						'punctuation': /,/
					}
				},
				'argument-delimiter': {
					pattern: /./,
					alias: 'operator'
				}
			}
		},
		'escape': escape,
		'string': string
	};

	nestedMessage.inside.message.inside = Prism.languages['icu-message-format'];
	Prism.languages['icu-message-format'].argument.inside.content.inside['choice-style'].inside.rest = Prism.languages['icu-message-format'];

}(Prism));

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.005 ]--