<commit_before>{event name='beforeEditorJavaScript'}

<script data-relocate="true">
	head.load([
		{if ENABLE_DEBUG_MODE}
			{* Imperavi *}
			'{@$__wcf->getPath()}js/3rdParty/redactor2/redactor.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/alignment.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/source.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/table.js?v={@LAST_UPDATE_TIME}',
			
			{* WoltLab *}
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabAttachment.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabAutosave.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabBlock.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabButton.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabCaret.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabClean.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabCode.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabColor.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabDragAndDrop.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabDropdown.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabEvent.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabFont.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabFullscreen.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabImage.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabIndent.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabInlineCode.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabInsert.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabKeydown.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabKeyup.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabLine.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabLink.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabList.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabMedia.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabMention.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabModal.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabObserve.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabPaste.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabQuote.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabReply.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabSize.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabSmiley.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabSource.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabSpoiler.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabTable.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabUtils.js?v={@LAST_UPDATE_TIME}'
		{else}
			'{@$__wcf->getPath()}js/3rdParty/redactor2/redactor.min.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/combined.min.js?v={@LAST_UPDATE_TIME}'
		{/if}
		
		{if $__redactorJavaScript|isset}{@$__redactorJavaScript}{/if}
		{assign var=__redactorJavaScript value=''}
		
		{event name='redactorJavaScript'}
	], function () {
		require(['Environment', 'Language', 'WoltLabSuite/Core/Ui/Redactor/Autosave', 'WoltLabSuite/Core/Ui/Redactor/Metacode'], function(Environment, Language, UiRedactorAutosave, UiRedactorMetacode) {
			Language.addObject({
				'wcf.attachment.dragAndDrop.dropHere': '{lang}wcf.attachment.dragAndDrop.dropHere{/lang}',
				'wcf.attachment.dragAndDrop.dropNow': '{lang}wcf.attachment.dragAndDrop.dropNow{/lang}',
				
				'wcf.editor.autosave.discard': '{lang}wcf.editor.autosave.discard{/lang}',
				'wcf.editor.autosave.keep': '{lang}wcf.editor.autosave.keep{/lang}',
				'wcf.editor.autosave.restored': '{lang}wcf.editor.autosave.restored{/lang}',
				
				'wcf.editor.code.edit': '{lang}wcf.editor.code.edit{/lang}',
				'wcf.editor.code.file': '{lang}wcf.editor.code.file{/lang}',
				'wcf.editor.code.file.description': '{lang}wcf.editor.code.file.description{/lang}',
				'wcf.editor.code.highlighter': '{lang}wcf.editor.code.highlighter{/lang}',
				'wcf.editor.code.highlighter.description': '{lang}wcf.editor.code.highlighter.description{/lang}',
				'wcf.editor.code.highlighter.detect': '{lang}wcf.editor.code.highlighter.detect{/lang}',
				'wcf.editor.code.line': '{lang}wcf.editor.code.line{/lang}',
				'wcf.editor.code.line.description': '{lang}wcf.editor.code.line.description{/lang}',
				'wcf.editor.code.title': '{lang __literal=true}wcf.editor.code.title{/lang}',
				
				'wcf.editor.image.edit': '{lang}wcf.editor.image.edit{/lang}',
				'wcf.editor.image.insert': '{lang}wcf.editor.image.insert{/lang}',
				'wcf.editor.image.link': '{lang}wcf.editor.image.link{/lang}',
				'wcf.editor.image.link.error.invalid': '{lang}wcf.editor.image.link.error.invalid{/lang}',
				'wcf.editor.image.float': '{lang}wcf.editor.image.float{/lang}',
				'wcf.editor.image.float.left': '{lang}wcf.editor.image.float.left{/lang}',
				'wcf.editor.image.float.right': '{lang}wcf.editor.image.float.right{/lang}',
				'wcf.editor.image.source': '{lang}wcf.editor.image.source{/lang}',
				'wcf.editor.image.source.error.invalid': '{lang}wcf.editor.image.source.error.invalid{/lang}',
				
				'wcf.editor.link.add': '{lang}wcf.editor.link.add{/lang}',
				'wcf.editor.link.edit': '{lang}wcf.editor.link.edit{/lang}',
				'wcf.editor.link.error.invalid': '{lang}wcf.editor.link.error.invalid{/lang}',
				'wcf.editor.link.url': '{lang}wcf.editor.link.url{/lang}',
				'wcf.editor.link.text': '{lang}wcf.editor.link.text{/lang}',
				
				'wcf.editor.list.indent': '{lang}wcf.editor.list.indent{/lang}',
				'wcf.editor.list.outdent': '{lang}wcf.editor.list.outdent{/lang}',
				
				'wcf.editor.quote.author': '{lang}wcf.editor.quote.author{/lang}',
				'wcf.editor.quote.edit': '{lang}wcf.editor.quote.edit{/lang}',
				'wcf.editor.quote.title': '{lang __literal=true}wcf.editor.quote.title{/lang}',
				'wcf.editor.quote.url': '{lang}wcf.editor.quote.url{/lang}',
				'wcf.editor.quote.url.description': '{lang}wcf.editor.quote.url.description{/lang}',
				'wcf.editor.quote.url.error.invalid': '{lang}wcf.editor.quote.url.error.invalid{/lang}',
				
				'wcf.editor.source.error.active': '{lang}wcf.editor.source.error.active{/lang}',
				
				'wcf.editor.spoiler.label': '{lang}wcf.editor.spoiler.label{/lang}',
				'wcf.editor.spoiler.label.description': '{lang}wcf.editor.spoiler.label.description{/lang}',
				'wcf.editor.spoiler.edit': '{lang}wcf.editor.spoiler.edit{/lang}',
				'wcf.editor.spoiler.title': '{lang __literal=true}wcf.editor.spoiler.title{/lang}'
			});
			
			var allowedInlineStyles = [], buttons = [], buttonMobile = [], buttonOptions = [], customButtons = [];
			{include file='wysiwygToolbar'}
			
			var highlighters = { {implode from=$__wcf->getBBCodeHandler()->getHighlighters() item=__highlighter}'{$__highlighter}': '{lang}wcf.bbcode.code.{@$__highlighter}.title{/lang}'{/implode} };
			
			{include file='mediaJavaScript'}
			
			var element = elById('{if $wysiwygSelector|isset}{$wysiwygSelector|encodeJS}{else}text{/if}');
			
			var autosave = elData(element, 'autosave') || null;
			if (autosave) {
				autosave = new UiRedactorAutosave(element);
				element.value = autosave.getInitialValue();
			}
			
			var disableMedia = elDataBool(element, 'disable-media');
			
			var config = {
				buttons: buttons,
				clipboardImageUpload: {if $__wcf->getBBCodeHandler()->isAvailableBBCode('img')}true{else}false{/if},
				direction: '{lang}wcf.global.pageDirection{/lang}',
				formatting: ['p', 'h2', 'h3', 'h4'],
				imageCaption: false,
				imageUpload: {if $__wcf->getBBCodeHandler()->isAvailableBBCode('img')}true{else}false{/if},
				lang: 'wsc', // fake language to offload phrases
				langs: {
					wsc: {
						// general
						edit: '{lang}wcf.global.button.edit{/lang}',
						
						// formatting dropdown
						heading2: '{lang}wcf.editor.format.heading2{/lang}',
						heading3: '{lang}wcf.editor.format.heading3{/lang}',
						heading4: '{lang}wcf.editor.format.heading4{/lang}',
						paragraph: '{lang}wcf.editor.format.paragraph{/lang}',
						
						// links
						'link-edit': '{lang}wcf.editor.link.edit{/lang}',
						'link-insert': '{lang}wcf.editor.link.add{/lang}',
						unlink: '{lang}wcf.editor.link.unlink{/lang}',
						
						// text alignment<commit_msg>Pasting images relies on `[attach]` not `[img]`<commit_after>{event name='beforeEditorJavaScript'}

<script data-relocate="true">
	head.load([
		{if ENABLE_DEBUG_MODE}
			{* Imperavi *}
			'{@$__wcf->getPath()}js/3rdParty/redactor2/redactor.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/alignment.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/source.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/table.js?v={@LAST_UPDATE_TIME}',
			
			{* WoltLab *}
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabAttachment.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabAutosave.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabBlock.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabButton.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabCaret.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabClean.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabCode.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabColor.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabDragAndDrop.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabDropdown.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabEvent.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabFont.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabFullscreen.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabImage.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabIndent.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabInlineCode.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabInsert.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabKeydown.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabKeyup.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabLine.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabLink.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabList.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabMedia.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabMention.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabModal.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabObserve.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabPaste.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabQuote.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabReply.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabSize.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabSmiley.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabSource.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabSpoiler.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabTable.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/WoltLabUtils.js?v={@LAST_UPDATE_TIME}'
		{else}
			'{@$__wcf->getPath()}js/3rdParty/redactor2/redactor.min.js?v={@LAST_UPDATE_TIME}',
			'{@$__wcf->getPath()}js/3rdParty/redactor2/plugins/combined.min.js?v={@LAST_UPDATE_TIME}'
		{/if}
		
		{if $__redactorJavaScript|isset}{@$__redactorJavaScript}{/if}
		{assign var=__redactorJavaScript value=''}
		
		{event name='redactorJavaScript'}
	], function () {
		require(['Environment', 'Language', 'WoltLabSuite/Core/Ui/Redactor/Autosave', 'WoltLabSuite/Core/Ui/Redactor/Metacode'], function(Environment, Language, UiRedactorAutosave, UiRedactorMetacode) {
			Language.addObject({
				'wcf.attachment.dragAndDrop.dropHere': '{lang}wcf.attachment.dragAndDrop.dropHere{/lang}',
				'wcf.attachment.dragAndDrop.dropNow': '{lang}wcf.attachment.dragAndDrop.dropNow{/lang}',
				
				'wcf.editor.autosave.discard': '{lang}wcf.editor.autosave.discard{/lang}',
				'wcf.editor.autosave.keep': '{lang}wcf.editor.autosave.keep{/lang}',
				'wcf.editor.autosave.restored': '{lang}wcf.editor.autosave.restored{/lang}',
				
				'wcf.editor.code.edit': '{lang}wcf.editor.code.edit{/lang}',
				'wcf.editor.code.file': '{lang}wcf.editor.code.file{/lang}',
				'wcf.editor.code.file.description': '{lang}wcf.editor.code.file.description{/lang}',
				'wcf.editor.code.highlighter': '{lang}wcf.editor.code.highlighter{/lang}',
				'wcf.editor.code.highlighter.description': '{lang}wcf.editor.code.highlighter.description{/lang}',
				'wcf.editor.code.highlighter.detect': '{lang}wcf.editor.code.highlighter.detect{/lang}',
				'wcf.editor.code.line': '{lang}wcf.editor.code.line{/lang}',
				'wcf.editor.code.line.description': '{lang}wcf.editor.code.line.description{/lang}',
				'wcf.editor.code.title': '{lang __literal=true}wcf.editor.code.title{/lang}',
				
				'wcf.editor.image.edit': '{lang}wcf.editor.image.edit{/lang}',
				'wcf.editor.image.insert': '{lang}wcf.editor.image.insert{/lang}',
				'wcf.editor.image.link': '{lang}wcf.editor.image.link{/lang}',
				'wcf.editor.image.link.error.invalid': '{lang}wcf.editor.image.link.error.invalid{/lang}',
				'wcf.editor.image.float': '{lang}wcf.editor.image.float{/lang}',
				'wcf.editor.image.float.left': '{lang}wcf.editor.image.float.left{/lang}',
				'wcf.editor.image.float.right': '{lang}wcf.editor.image.float.right{/lang}',
				'wcf.editor.image.source': '{lang}wcf.editor.image.source{/lang}',
				'wcf.editor.image.source.error.invalid': '{lang}wcf.editor.image.source.error.invalid{/lang}',
				
				'wcf.editor.link.add': '{lang}wcf.editor.link.add{/lang}',
				'wcf.editor.link.edit': '{lang}wcf.editor.link.edit{/lang}',
				'wcf.editor.link.error.invalid': '{lang}wcf.editor.link.error.invalid{/lang}',
				'wcf.editor.link.url': '{lang}wcf.editor.link.url{/lang}',
				'wcf.editor.link.text': '{lang}wcf.editor.link.text{/lang}',
				
				'wcf.editor.list.indent': '{lang}wcf.editor.list.indent{/lang}',
				'wcf.editor.list.outdent': '{lang}wcf.editor.list.outdent{/lang}',
				
				'wcf.editor.quote.author': '{lang}wcf.editor.quote.author{/lang}',
				'wcf.editor.quote.edit': '{lang}wcf.editor.quote.edit{/lang}',
				'wcf.editor.quote.title': '{lang __literal=true}wcf.editor.quote.title{/lang}',
				'wcf.editor.quote.url': '{lang}wcf.editor.quote.url{/lang}',
				'wcf.editor.quote.url.description': '{lang}wcf.editor.quote.url.description{/lang}',
				'wcf.editor.quote.url.error.invalid': '{lang}wcf.editor.quote.url.error.invalid{/lang}',
				
				'wcf.editor.source.error.active': '{lang}wcf.editor.source.error.active{/lang}',
				
				'wcf.editor.spoiler.label': '{lang}wcf.editor.spoiler.label{/lang}',
				'wcf.editor.spoiler.label.description': '{lang}wcf.editor.spoiler.label.description{/lang}',
				'wcf.editor.spoiler.edit': '{lang}wcf.editor.spoiler.edit{/lang}',
				'wcf.editor.spoiler.title': '{lang __literal=true}wcf.editor.spoiler.title{/lang}'
			});
			
			var allowedInlineStyles = [], buttons = [], buttonMobile = [], buttonOptions = [], customButtons = [];
			{include file='wysiwygToolbar'}
			
			var highlighters = { {implode from=$__wcf->getBBCodeHandler()->getHighlighters() item=__highlighter}'{$__highlighter}': '{lang}wcf.bbcode.code.{@$__highlighter}.title{/lang}'{/implode} };
			
			{include file='mediaJavaScript'}
			
			var element = elById('{if $wysiwygSelector|isset}{$wysiwygSelector|encodeJS}{else}text{/if}');
			
			var autosave = elData(element, 'autosave') || null;
			if (autosave) {
				autosave = new UiRedactorAutosave(element);
				element.value = autosave.getInitialValue();
			}
			
			var disableMedia = elDataBool(element, 'disable-media');
			
			var config = {
				buttons: buttons,
				clipboardImageUpload: {if $__wcf->getBBCodeHandler()->isAvailableBBCode('attach')}true{else}false{/if},
				direction: '{lang}wcf.global.pageDirection{/lang}',
				formatting: ['p', 'h2', 'h3', 'h4'],
				imageCaption: false,
				imageUpload: {if $__wcf->getBBCodeHandler()->isAvailableBBCode('attach')}true{else}false{/if},
				lang: 'wsc', // fake language to offload phrases
				langs: {
					wsc: {
						// general
						edit: '{lang}wcf.global.button.edit{/lang}',
						
						// formatting dropdown
						heading2: '{lang}wcf.editor.format.heading2{/lang}',
						heading3: '{lang}wcf.editor.format.heading3{/lang}',
						heading4: '{lang}wcf.editor.format.heading4{/lang}',
						paragraph: '{lang}wcf.editor.format.paragraph{/lang}',
						
						// links
						'link-edit': '{lang}wcf.editor.link.edit{/lang}',
						'link-insert': '{lang}wcf.editor.link.add{/lang}',
						unlink: '{lang}wcf.editor.link.unlink{/lang}',
						
						// text alignment
{'fraction_non_alphanumeric': 0.21201525746980293, 'fraction_numerical': 0.009641873278236915, 'mean_word_length': 5.349478641103262, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 99, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1868874', 'n_tokens_mistral': 8453, 'n_tokens_neox': 7713, 'n_words': 485}