summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'Flow/handlebars')
-rw-r--r--Flow/handlebars/compiled/flow_block_board-history.handlebars.php142
-rw-r--r--Flow/handlebars/compiled/flow_block_header.handlebars.php52
-rw-r--r--Flow/handlebars/compiled/flow_block_header_diff_view.handlebars.php36
-rw-r--r--Flow/handlebars/compiled/flow_block_header_edit.handlebars.php67
-rw-r--r--Flow/handlebars/compiled/flow_block_header_single_view.handlebars.php38
-rw-r--r--Flow/handlebars/compiled/flow_block_header_undo_edit.handlebars.php71
-rw-r--r--Flow/handlebars/compiled/flow_block_loop.handlebars.php28
-rw-r--r--Flow/handlebars/compiled/flow_block_topic.handlebars.php249
-rw-r--r--Flow/handlebars/compiled/flow_block_topic_diff_view.handlebars.php36
-rw-r--r--Flow/handlebars/compiled/flow_block_topic_edit_title.handlebars.php58
-rw-r--r--Flow/handlebars/compiled/flow_block_topic_history.handlebars.php144
-rw-r--r--Flow/handlebars/compiled/flow_block_topic_lock.handlebars.php76
-rw-r--r--Flow/handlebars/compiled/flow_block_topic_moderate_post.handlebars.php308
-rw-r--r--Flow/handlebars/compiled/flow_block_topic_moderate_topic.handlebars.php308
-rw-r--r--Flow/handlebars/compiled/flow_block_topic_single_view.handlebars.php39
-rw-r--r--Flow/handlebars/compiled/flow_block_topic_undo_edit.handlebars.php73
-rw-r--r--Flow/handlebars/compiled/flow_block_topiclist.handlebars.php368
-rw-r--r--Flow/handlebars/compiled/flow_block_topiclist_newtopic.handlebars.php90
-rw-r--r--Flow/handlebars/compiled/flow_block_topicsummary_diff_view.handlebars.php36
-rw-r--r--Flow/handlebars/compiled/flow_block_topicsummary_edit.handlebars.php75
-rw-r--r--Flow/handlebars/compiled/flow_block_topicsummary_single_view.handlebars.php37
-rw-r--r--Flow/handlebars/compiled/flow_block_topicsummary_undo_edit.handlebars.php72
-rw-r--r--Flow/handlebars/compiled/flow_post.handlebars.php282
-rw-r--r--Flow/handlebars/compiled/flow_revision_diff_header.handlebars.php33
-rw-r--r--Flow/handlebars/compiled/flow_tooltip.handlebars.php29
-rw-r--r--Flow/handlebars/compiled/timestamp.handlebars.php33
-rw-r--r--Flow/handlebars/flow_anon_warning.partial.handlebars27
-rw-r--r--Flow/handlebars/flow_block_board-history.handlebars11
-rw-r--r--Flow/handlebars/flow_block_header.handlebars4
-rw-r--r--Flow/handlebars/flow_block_header_diff_view.handlebars21
-rw-r--r--Flow/handlebars/flow_block_header_edit.handlebars37
-rw-r--r--Flow/handlebars/flow_block_header_single_view.handlebars19
-rw-r--r--Flow/handlebars/flow_block_header_undo_edit.handlebars48
-rw-r--r--Flow/handlebars/flow_block_loop.handlebars3
-rw-r--r--Flow/handlebars/flow_block_topic.handlebars8
-rw-r--r--Flow/handlebars/flow_block_topic_diff_view.handlebars24
-rw-r--r--Flow/handlebars/flow_block_topic_edit_title.handlebars9
-rw-r--r--Flow/handlebars/flow_block_topic_history.handlebars13
-rw-r--r--Flow/handlebars/flow_block_topic_lock.handlebars2
-rw-r--r--Flow/handlebars/flow_block_topic_moderate_post.handlebars9
-rw-r--r--Flow/handlebars/flow_block_topic_moderate_topic.handlebars9
-rw-r--r--Flow/handlebars/flow_block_topic_single_view.handlebars24
-rw-r--r--Flow/handlebars/flow_block_topic_undo_edit.handlebars50
-rw-r--r--Flow/handlebars/flow_block_topiclist.handlebars21
-rw-r--r--Flow/handlebars/flow_block_topiclist_newtopic.handlebars3
-rw-r--r--Flow/handlebars/flow_block_topicsummary_diff_view.handlebars22
-rw-r--r--Flow/handlebars/flow_block_topicsummary_edit.handlebars45
-rw-r--r--Flow/handlebars/flow_block_topicsummary_single_view.handlebars22
-rw-r--r--Flow/handlebars/flow_block_topicsummary_undo_edit.handlebars49
-rw-r--r--Flow/handlebars/flow_board_navigation.partial.handlebars75
-rw-r--r--Flow/handlebars/flow_board_toc_loop.partial.handlebars23
-rw-r--r--Flow/handlebars/flow_edit_post.partial.handlebars37
-rw-r--r--Flow/handlebars/flow_edit_post_ajax.partial.handlebars3
-rw-r--r--Flow/handlebars/flow_edit_topic_title.partial.handlebars27
-rw-r--r--Flow/handlebars/flow_editor_switcher.partial.handlebars18
-rw-r--r--Flow/handlebars/flow_errors.partial.handlebars11
-rw-r--r--Flow/handlebars/flow_form_buttons.partial.handlebars10
-rw-r--r--Flow/handlebars/flow_header_detail.partial.handlebars21
-rw-r--r--Flow/handlebars/flow_history_line.partial.handlebars44
-rw-r--r--Flow/handlebars/flow_load_more.partial.handlebars23
-rw-r--r--Flow/handlebars/flow_moderate_post.partial.handlebars32
-rw-r--r--Flow/handlebars/flow_moderate_post_confirmation.partial.handlebars42
-rw-r--r--Flow/handlebars/flow_moderate_topic.partial.handlebars32
-rw-r--r--Flow/handlebars/flow_moderate_topic_confirmation.partial.handlebars45
-rw-r--r--Flow/handlebars/flow_moderation_actions_list.partial.handlebars272
-rw-r--r--Flow/handlebars/flow_newtopic_form.partial.handlebars50
l---------Flow/handlebars/flow_post.handlebars1
-rw-r--r--Flow/handlebars/flow_post.partial.handlebars33
-rw-r--r--Flow/handlebars/flow_post_actions.partial.handlebars7
-rw-r--r--Flow/handlebars/flow_post_author.partial.handlebars39
-rw-r--r--Flow/handlebars/flow_post_inner.partial.handlebars31
-rw-r--r--Flow/handlebars/flow_post_meta_actions.partial.handlebars66
-rw-r--r--Flow/handlebars/flow_post_moderation_state.partial.handlebars7
-rw-r--r--Flow/handlebars/flow_post_replies.partial.handlebars13
-rw-r--r--Flow/handlebars/flow_preview.partial.handlebars12
-rw-r--r--Flow/handlebars/flow_preview_warning.partial.handlebars6
-rw-r--r--Flow/handlebars/flow_reply_form.partial.handlebars63
-rw-r--r--Flow/handlebars/flow_revision_diff_header.handlebars9
-rw-r--r--Flow/handlebars/flow_subscribed.partial.handlebars7
-rw-r--r--Flow/handlebars/flow_tooltip.handlebars4
-rw-r--r--Flow/handlebars/flow_tooltip_subscribed.partial.handlebars6
-rw-r--r--Flow/handlebars/flow_topic.partial.handlebars39
-rw-r--r--Flow/handlebars/flow_topic_moderation_flag.partial.handlebars4
-rw-r--r--Flow/handlebars/flow_topic_titlebar.partial.handlebars16
-rw-r--r--Flow/handlebars/flow_topic_titlebar_content.partial.handlebars27
-rw-r--r--Flow/handlebars/flow_topic_titlebar_lock.partial.handlebars50
-rw-r--r--Flow/handlebars/flow_topic_titlebar_summary.partial.handlebars9
-rw-r--r--Flow/handlebars/flow_topic_titlebar_watch.partial.handlebars17
-rw-r--r--Flow/handlebars/flow_topiclist_loop.partial.handlebars6
-rw-r--r--Flow/handlebars/form_element.partial.handlebars24
-rw-r--r--Flow/handlebars/timestamp.handlebars13
91 files changed, 4534 insertions, 0 deletions
diff --git a/Flow/handlebars/compiled/flow_block_board-history.handlebars.php b/Flow/handlebars/compiled/flow_block_board-history.handlebars.php
new file mode 100644
index 00000000..9910c1a4
--- /dev/null
+++ b/Flow/handlebars/compiled/flow_block_board-history.handlebars.php
@@ -0,0 +1,142 @@
+<?php return function ($in, $debugopt = 1) {
+ $cx = array(
+ 'flags' => array(
+ 'jstrue' => false,
+ 'jsobj' => false,
+ 'spvar' => true,
+ 'prop' => false,
+ 'method' => false,
+ 'mustlok' => false,
+ 'mustsec' => false,
+ 'echo' => false,
+ 'debug' => $debugopt,
+ ),
+ 'constants' => array(),
+ 'helpers' => array( 'l10n' => 'Flow\TemplateHelper::l10n',
+ 'html' => 'Flow\TemplateHelper::htmlHelper',
+ 'historyTimestamp' => 'Flow\TemplateHelper::historyTimestamp',
+ 'historyDescription' => 'Flow\TemplateHelper::historyDescription',
+ 'showCharacterDifference' => 'Flow\TemplateHelper::showCharacterDifference',
+ 'concat' => 'Flow\TemplateHelper::concat',
+),
+ 'blockhelpers' => array(),
+ 'hbhelpers' => array( 'ifCond' => 'Flow\TemplateHelper::ifCond',
+),
+ 'partials' => array('flow_moderation_actions_list' => function ($cx, $in) {return '<section>'.LCRun3::hbch($cx, 'ifCond', array(array(((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'===','topic'),array()), $in, false, function($cx, $in) {return ''.((LCRun3::ifvar($cx, ((isset($in['actions']['edit']) && is_array($in['actions'])) ? $in['actions']['edit'] : null))) ? '<li class="flow-js">'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['edit']['url']) && is_array($in['actions']['edit'])) ? $in['actions']['edit']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['edit']['title']) && is_array($in['actions']['edit'])) ? $in['actions']['edit']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-handler="activateEditTitle"
+ data-flow-api-target="< .flow-topic-titlebar"
+ >'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-pencil"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-edit-title'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['links']['topic-history']) && is_array($in['links'])) ? $in['links']['topic-history'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['links']['topic-history']['url']) && is_array($in['links']['topic-history'])) ? $in['links']['topic-history']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['links']['topic-history']['title']) && is_array($in['links']['topic-history'])) ? $in['links']['topic-history']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-clock"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-history'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['links']['topic']) && is_array($in['links'])) ? $in['links']['topic'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['links']['topic']['url']) && is_array($in['links']['topic'])) ? $in['links']['topic']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['links']['topic']['title']) && is_array($in['links']['topic'])) ? $in['links']['topic']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-link"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-view'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['summarize']) && is_array($in['actions'])) ? $in['actions']['summarize'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-progressive mw-ui-quiet"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-handler="activateSummarizeTopic"
+ data-flow-api-target="< .flow-topic-titlebar .flow-topic-summary-container"
+ href="'.htmlentities((string)((isset($in['actions']['summarize']['url']) && is_array($in['actions']['summarize'])) ? $in['actions']['summarize']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['summarize']['title']) && is_array($in['actions']['summarize'])) ? $in['actions']['summarize']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-stripe-toc"></span> ' : '').''.((LCRun3::ifvar($cx, ((isset($in['summary']) && is_array($in)) ? $in['summary'] : null))) ? ''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-resummarize-topic'),array()), 'raw')),array()), 'encq').'' : ''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-summarize-topic'),array()), 'raw')),array()), 'encq').'').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').'';}).''.LCRun3::hbch($cx, 'ifCond', array(array(((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'===','post'),array()), $in, false, function($cx, $in) {return ''.((LCRun3::ifvar($cx, ((isset($in['actions']['edit']) && is_array($in['actions'])) ? $in['actions']['edit'] : null))) ? '<li>
+ <a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-progressive mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['edit']['url']) && is_array($in['actions']['edit'])) ? $in['actions']['edit']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['edit']['title']) && is_array($in['actions']['edit'])) ? $in['actions']['edit']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-api-handler="activateEditPost"
+ data-flow-api-target="< .flow-post-main"
+ data-flow-interactive-handler="apiRequest"
+ >'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-pencil"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array('flow-post-action-edit-post'),array()), 'encq').'</a>
+ </li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['links']['post']) && is_array($in['links'])) ? $in['links']['post'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['links']['post']['url']) && is_array($in['links']['post'])) ? $in['links']['post']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['links']['post']['title']) && is_array($in['links']['post'])) ? $in['links']['post']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-link"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-view'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').'';}).'</section>
+
+<section>'.LCRun3::hbch($cx, 'ifCond', array(array(((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'===','history'),array()), $in, false, function($cx, $in) {return ''.((LCRun3::ifvar($cx, ((isset($in['actions']['undo']) && is_array($in['actions'])) ? $in['actions']['undo'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['undo']['url']) && is_array($in['actions']['undo'])) ? $in['actions']['undo']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ >'.htmlentities((string)((isset($in['actions']['undo']['title']) && is_array($in['actions']['undo'])) ? $in['actions']['undo']['title'] : null), ENT_QUOTES, 'UTF-8').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').'';}).''.((LCRun3::ifvar($cx, ((isset($in['actions']['hide']) && is_array($in['actions'])) ? $in['actions']['hide'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['hide']['url']) && is_array($in['actions']['hide'])) ? $in['actions']['hide']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['hide']['title']) && is_array($in['actions']['hide'])) ? $in['actions']['hide']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_'.htmlentities((string)((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null), ENT_QUOTES, 'UTF-8').'.partial"
+ data-role="hide">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-flag"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-hide-',((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null)),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['unhide']) && is_array($in['actions'])) ? $in['actions']['unhide'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['unhide']['url']) && is_array($in['actions']['unhide'])) ? $in['actions']['unhide']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['unhide']['title']) && is_array($in['actions']['unhide'])) ? $in['actions']['unhide']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_'.htmlentities((string)((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null), ENT_QUOTES, 'UTF-8').'.partial"
+ data-role="unhide">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-flag"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-unhide-',((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null)),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['delete']) && is_array($in['actions'])) ? $in['actions']['delete'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['delete']['url']) && is_array($in['actions']['delete'])) ? $in['actions']['delete']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['delete']['title']) && is_array($in['actions']['delete'])) ? $in['actions']['delete']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_'.htmlentities((string)((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null), ENT_QUOTES, 'UTF-8').'.partial"
+ data-role="delete">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-trash"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-delete-',((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null)),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['undelete']) && is_array($in['actions'])) ? $in['actions']['undelete'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['undelete']['url']) && is_array($in['actions']['undelete'])) ? $in['actions']['undelete']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['undelete']['title']) && is_array($in['actions']['undelete'])) ? $in['actions']['undelete']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_'.htmlentities((string)((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null), ENT_QUOTES, 'UTF-8').'.partial"
+ data-role="undelete">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-trash"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-undelete-',((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null)),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['suppress']) && is_array($in['actions'])) ? $in['actions']['suppress'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['suppress']['url']) && is_array($in['actions']['suppress'])) ? $in['actions']['suppress']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['suppress']['title']) && is_array($in['actions']['suppress'])) ? $in['actions']['suppress']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_'.htmlentities((string)((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null), ENT_QUOTES, 'UTF-8').'.partial"
+ data-role="suppress">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-block"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-suppress-',((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null)),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['unsuppress']) && is_array($in['actions'])) ? $in['actions']['unsuppress'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['unsuppress']['url']) && is_array($in['actions']['unsuppress'])) ? $in['actions']['unsuppress']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['unsuppress']['title']) && is_array($in['actions']['unsuppress'])) ? $in['actions']['unsuppress']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_'.htmlentities((string)((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null), ENT_QUOTES, 'UTF-8').'.partial"
+ data-role="unsuppress">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-block"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-unsuppress-',((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null)),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.LCRun3::hbch($cx, 'ifCond', array(array(((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'===','history'),array()), $in, false, function($cx, $in) {return ''.((LCRun3::ifvar($cx, ((isset($in['actions']['lock']) && is_array($in['actions'])) ? $in['actions']['lock'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_topic.partial"
+ data-role="lock"
+ data-flow-id="'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'"
+ href="'.htmlentities((string)((isset($in['actions']['lock']['url']) && is_array($in['actions']['lock'])) ? $in['actions']['lock']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['lock']['title']) && is_array($in['actions']['lock'])) ? $in['actions']['lock']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-lock"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-lock-topic'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['unlock']) && is_array($in['actions'])) ? $in['actions']['unlock'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_topic.partial"
+ data-role="unlock"
+ data-flow-id="'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'"
+ href="'.htmlentities((string)((isset($in['actions']['unlock']['url']) && is_array($in['actions']['unlock'])) ? $in['actions']['unlock']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['unlock']['title']) && is_array($in['actions']['unlock'])) ? $in['actions']['unlock']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-unlock"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-unlock-topic'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').'';}, function($cx, $in) {return ''.((LCRun3::ifvar($cx, ((isset($in['actions']['lock']) && is_array($in['actions'])) ? $in['actions']['lock'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-handler="activateLockTopic"
+ data-flow-id="'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-api-target="< .flow-topic-titlebar .flow-topic-summary-container"
+ href="'.htmlentities((string)((isset($in['actions']['lock']['url']) && is_array($in['actions']['lock'])) ? $in['actions']['lock']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['lock']['title']) && is_array($in['actions']['lock'])) ? $in['actions']['lock']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-lock"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-lock-topic'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['unlock']) && is_array($in['actions'])) ? $in['actions']['unlock'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-handler="activateLockTopic"
+ data-flow-id="'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-api-target="< .flow-topic-titlebar .flow-topic-summary-container"
+ href="'.htmlentities((string)((isset($in['actions']['unlock']['url']) && is_array($in['actions']['unlock'])) ? $in['actions']['unlock']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['unlock']['title']) && is_array($in['actions']['unlock'])) ? $in['actions']['unlock']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-unlock"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-unlock-topic'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').'';}).'</section>
+';},'flow_history_line' => function ($cx, $in) {return '<span class="flow-pipelist">
+ ('.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<span>'.((LCRun3::ifvar($cx, ((isset($in['links']['diff-cur']) && is_array($in['links'])) ? $in['links']['diff-cur'] : null))) ? '<a href="'.htmlentities((string)((isset($in['links']['diff-cur']['url']) && is_array($in['links']['diff-cur'])) ? $in['links']['diff-cur']['url'] : null), ENT_QUOTES, 'UTF-8').'" title="'.htmlentities((string)((isset($in['links']['diff-cur']['title']) && is_array($in['links']['diff-cur'])) ? $in['links']['diff-cur']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.htmlentities((string)((isset($in['links']['diff-cur']['text']) && is_array($in['links']['diff-cur'])) ? $in['links']['diff-cur']['text'] : null), ENT_QUOTES, 'UTF-8').'</a>' : ''.LCRun3::ch($cx, 'l10n', array(array('cur'),array()), 'encq').'').'</span>
+ <span>
+'.((LCRun3::ifvar($cx, ((isset($in['links']['diff-prev']) && is_array($in['links'])) ? $in['links']['diff-prev'] : null))) ? ' <a href="'.htmlentities((string)((isset($in['links']['diff-prev']['url']) && is_array($in['links']['diff-prev'])) ? $in['links']['diff-prev']['url'] : null), ENT_QUOTES, 'UTF-8').'" title="'.htmlentities((string)((isset($in['links']['diff-prev']['title']) && is_array($in['links']['diff-prev'])) ? $in['links']['diff-prev']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.htmlentities((string)((isset($in['links']['diff-prev']['text']) && is_array($in['links']['diff-prev'])) ? $in['links']['diff-prev']['text'] : null), ENT_QUOTES, 'UTF-8').'</a>' : ''.LCRun3::ch($cx, 'l10n', array(array('last'),array()), 'encq').'').'</span>'.((LCRun3::ifvar($cx, ((isset($in['links']['topic']) && is_array($in['links'])) ? $in['links']['topic'] : null))) ? ' <span><a href="'.htmlentities((string)((isset($in['links']['topic']['url']) && is_array($in['links']['topic'])) ? $in['links']['topic']['url'] : null), ENT_QUOTES, 'UTF-8').'" title="'.htmlentities((string)((isset($in['links']['topic']['title']) && is_array($in['links']['topic'])) ? $in['links']['topic']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.htmlentities((string)((isset($in['links']['topic']['text']) && is_array($in['links']['topic'])) ? $in['links']['topic']['text'] : null), ENT_QUOTES, 'UTF-8').'</a></span>' : '').')
+</span>
+
+'.LCRun3::ch($cx, 'historyTimestamp', array(array($in),array()), 'encq').'
+
+<span class="mw-changeslist-separator">. .</span>
+'.LCRun3::ch($cx, 'historyDescription', array(array($in),array()), 'encq').'
+
+'.((LCRun3::ifvar($cx, ((isset($in['size']) && is_array($in)) ? $in['size'] : null))) ? ' <span class="mw-changeslist-separator">. .</span>
+ '.LCRun3::ch($cx, 'showCharacterDifference', array(array(((isset($in['size']['old']) && is_array($in['size'])) ? $in['size']['old'] : null),((isset($in['size']['new']) && is_array($in['size'])) ? $in['size']['new'] : null)),array()), 'encq').'
+' : '').'
+<ul class="flow-history-moderation-menu">
+'.LCRun3::p($cx, 'flow_moderation_actions_list', array(array($in),array('moderationType'=>'history','moderationTarget'=>'post','moderationTemplate'=>'post','moderationMwUiClass'=>'mw-ui-anchor','moderationIcons'=>false))).'</ul>
+';},),
+ 'scopes' => array($in),
+ 'sp_vars' => array('root' => $in),
+
+ );
+
+ return '<div class="flow-board-history">
+ '.LCRun3::ch($cx, 'html', array(array(((isset($in['navbar']) && is_array($in)) ? $in['navbar'] : null)),array()), 'encq').'
+
+ <ul>
+'.LCRun3::sec($cx, ((isset($in['revisions']) && is_array($in)) ? $in['revisions'] : null), $in, true, function($cx, $in) {return ' <li>'.LCRun3::p($cx, 'flow_history_line', array(array($in),array())).'</li>
+';}).' </ul>
+
+ '.LCRun3::ch($cx, 'html', array(array(((isset($in['navbar']) && is_array($in)) ? $in['navbar'] : null)),array()), 'encq').'
+</div>
+';
+}
+?> \ No newline at end of file
diff --git a/Flow/handlebars/compiled/flow_block_header.handlebars.php b/Flow/handlebars/compiled/flow_block_header.handlebars.php
new file mode 100644
index 00000000..72755a23
--- /dev/null
+++ b/Flow/handlebars/compiled/flow_block_header.handlebars.php
@@ -0,0 +1,52 @@
+<?php return function ($in, $debugopt = 1) {
+ $cx = array(
+ 'flags' => array(
+ 'jstrue' => false,
+ 'jsobj' => false,
+ 'spvar' => true,
+ 'prop' => false,
+ 'method' => false,
+ 'mustlok' => false,
+ 'mustsec' => false,
+ 'echo' => false,
+ 'debug' => $debugopt,
+ ),
+ 'constants' => array(),
+ 'helpers' => array( 'html' => 'Flow\TemplateHelper::htmlHelper',
+ 'escapeContent' => 'Flow\TemplateHelper::escapeContent',
+),
+ 'blockhelpers' => array(),
+ 'hbhelpers' => array(),
+ 'partials' => array('flow_errors' => function ($cx, $in) {return '<div class="flow-error-container">
+'.((LCRun3::ifvar($cx, ((isset($cx['sp_vars']['root']['errors']) && is_array($cx['sp_vars']['root'])) ? $cx['sp_vars']['root']['errors'] : null))) ? ' <div class="flow-errors errorbox">
+ <ul>
+'.LCRun3::sec($cx, ((isset($cx['sp_vars']['root']['errors']) && is_array($cx['sp_vars']['root'])) ? $cx['sp_vars']['root']['errors'] : null), $in, true, function($cx, $in) {return ' <li>'.LCRun3::ch($cx, 'html', array(array(((isset($in['message']) && is_array($in)) ? $in['message'] : null)),array()), 'encq').'</li>
+';}).' </ul>
+ </div>
+' : '').'</div>
+';},'flow_header_detail' => function ($cx, $in) {return '<div class="flow-board-header-detail-view">
+'.((LCRun3::ifvar($cx, ((isset($in['revision']['content']) && is_array($in['revision'])) ? $in['revision']['content'] : null))) ? ' '.LCRun3::ch($cx, 'escapeContent', array(array(((isset($in['revision']['content']['format']) && is_array($in['revision']['content'])) ? $in['revision']['content']['format'] : null),((isset($in['revision']['content']['content']) && is_array($in['revision']['content'])) ? $in['revision']['content']['content'] : null)),array()), 'encq').'
+' : '').' &nbsp;
+
+'.((!LCRun3::ifvar($cx, ((isset($in['isPreview']) && is_array($in)) ? $in['isPreview'] : null))) ? ' <div class="flow-board-header-nav">
+'.((LCRun3::ifvar($cx, ((isset($in['revision']['actions']['edit']) && is_array($in['revision']['actions'])) ? $in['revision']['actions']['edit'] : null))) ? ' <a href="'.htmlentities((string)((isset($in['revision']['actions']['edit']['url']) && is_array($in['revision']['actions']['edit'])) ? $in['revision']['actions']['edit']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-api-handler="activateEditHeader"
+ data-flow-api-target="< .flow-board-header"
+ data-flow-interactive-handler="apiRequest"
+ class="mw-ui-button mw-ui-progressive mw-ui-quiet flow-board-header-icon flow-ui-tooltip-target"
+ title="'.htmlentities((string)((isset($in['revision']['actions']['edit']['title']) && is_array($in['revision']['actions']['edit'])) ? $in['revision']['actions']['edit']['title'] : null), ENT_QUOTES, 'UTF-8').'">
+ <span class="wikiglyph wikiglyph-pencil"></span>
+ </a>
+' : '').' </div>
+' : '').'</div>
+';},),
+ 'scopes' => array($in),
+ 'sp_vars' => array('root' => $in),
+
+ );
+
+ return '<div class="flow-board-header">
+'.LCRun3::p($cx, 'flow_errors', array(array($in),array())).''.LCRun3::p($cx, 'flow_header_detail', array(array($in),array())).'</div>
+';
+}
+?> \ No newline at end of file
diff --git a/Flow/handlebars/compiled/flow_block_header_diff_view.handlebars.php b/Flow/handlebars/compiled/flow_block_header_diff_view.handlebars.php
new file mode 100644
index 00000000..65dcd89a
--- /dev/null
+++ b/Flow/handlebars/compiled/flow_block_header_diff_view.handlebars.php
@@ -0,0 +1,36 @@
+<?php return function ($in, $debugopt = 1) {
+ $cx = array(
+ 'flags' => array(
+ 'jstrue' => false,
+ 'jsobj' => false,
+ 'spvar' => true,
+ 'prop' => false,
+ 'method' => false,
+ 'mustlok' => false,
+ 'mustsec' => false,
+ 'echo' => false,
+ 'debug' => $debugopt,
+ ),
+ 'constants' => array(),
+ 'helpers' => array( 'l10nParse' => 'Flow\TemplateHelper::l10nParse',
+ 'diffRevision' => 'Flow\TemplateHelper::diffRevision',
+),
+ 'blockhelpers' => array(),
+ 'hbhelpers' => array(),
+ 'partials' => array(),
+ 'scopes' => array($in),
+ 'sp_vars' => array('root' => $in),
+
+ );
+
+ return '<div class="flow-board">
+ <div class="flow-compare-revisions-header plainlinks">
+ '.LCRun3::ch($cx, 'l10nParse', array(array('flow-compare-revisions-header-header',((isset($in['revision']['new']['rev_view_links']['board']['title']) && is_array($in['revision']['new']['rev_view_links']['board'])) ? $in['revision']['new']['rev_view_links']['board']['title'] : null),((isset($in['revision']['new']['author']['name']) && is_array($in['revision']['new']['author'])) ? $in['revision']['new']['author']['name'] : null),((isset($in['revision']['new']['rev_view_links']['board']['url']) && is_array($in['revision']['new']['rev_view_links']['board'])) ? $in['revision']['new']['rev_view_links']['board']['url'] : null),((isset($in['revision']['new']['rev_view_links']['hist']['url']) && is_array($in['revision']['new']['rev_view_links']['hist'])) ? $in['revision']['new']['rev_view_links']['hist']['url'] : null)),array()), 'encq').'
+ </div>
+ <div class="flow-compare-revisions">
+ '.LCRun3::ch($cx, 'diffRevision', array(array(((isset($in['revision']['diff_content']) && is_array($in['revision'])) ? $in['revision']['diff_content'] : null),((isset($in['revision']['old']['human_timestamp']) && is_array($in['revision']['old'])) ? $in['revision']['old']['human_timestamp'] : null),((isset($in['revision']['new']['human_timestamp']) && is_array($in['revision']['new'])) ? $in['revision']['new']['human_timestamp'] : null),((isset($in['revision']['old']['author']['name']) && is_array($in['revision']['old']['author'])) ? $in['revision']['old']['author']['name'] : null),((isset($in['revision']['new']['author']['name']) && is_array($in['revision']['new']['author'])) ? $in['revision']['new']['author']['name'] : null),((isset($in['revision']['old']['rev_view_links']['single-view']['url']) && is_array($in['revision']['old']['rev_view_links']['single-view'])) ? $in['revision']['old']['rev_view_links']['single-view']['url'] : null),((isset($in['revision']['new']['rev_view_links']['single-view']['url']) && is_array($in['revision']['new']['rev_view_links']['single-view'])) ? $in['revision']['new']['rev_view_links']['single-view']['url'] : null),((isset($in['revision']['links']['previous']) && is_array($in['revision']['links'])) ? $in['revision']['links']['previous'] : null),((isset($in['revision']['links']['next']) && is_array($in['revision']['links'])) ? $in['revision']['links']['next'] : null)),array()), 'encq').'
+ </div>
+</div>
+';
+}
+?> \ No newline at end of file
diff --git a/Flow/handlebars/compiled/flow_block_header_edit.handlebars.php b/Flow/handlebars/compiled/flow_block_header_edit.handlebars.php
new file mode 100644
index 00000000..ed7019e9
--- /dev/null
+++ b/Flow/handlebars/compiled/flow_block_header_edit.handlebars.php
@@ -0,0 +1,67 @@
+<?php return function ($in, $debugopt = 1) {
+ $cx = array(
+ 'flags' => array(
+ 'jstrue' => false,
+ 'jsobj' => false,
+ 'spvar' => true,
+ 'prop' => false,
+ 'method' => false,
+ 'mustlok' => false,
+ 'mustsec' => false,
+ 'echo' => false,
+ 'debug' => $debugopt,
+ ),
+ 'constants' => array(),
+ 'helpers' => array( 'l10n' => 'Flow\TemplateHelper::l10n',
+ 'html' => 'Flow\TemplateHelper::htmlHelper',
+ 'l10nParse' => 'Flow\TemplateHelper::l10nParse',
+),
+ 'blockhelpers' => array(),
+ 'hbhelpers' => array(),
+ 'partials' => array('flow_errors' => function ($cx, $in) {return '<div class="flow-error-container">
+'.((LCRun3::ifvar($cx, ((isset($cx['sp_vars']['root']['errors']) && is_array($cx['sp_vars']['root'])) ? $cx['sp_vars']['root']['errors'] : null))) ? ' <div class="flow-errors errorbox">
+ <ul>
+'.LCRun3::sec($cx, ((isset($cx['sp_vars']['root']['errors']) && is_array($cx['sp_vars']['root'])) ? $cx['sp_vars']['root']['errors'] : null), $in, true, function($cx, $in) {return ' <li>'.LCRun3::ch($cx, 'html', array(array(((isset($in['message']) && is_array($in)) ? $in['message'] : null)),array()), 'encq').'</li>
+';}).' </ul>
+ </div>
+' : '').'</div>
+';},'flow_form_buttons' => function ($cx, $in) {return '<button data-flow-interactive-handler="cancelForm"
+ data-role="cancel"
+ type="reset"
+ class="mw-ui-button mw-ui-destructive mw-ui-quiet mw-ui-flush-right flow-js"
+
+>'.LCRun3::ch($cx, 'l10n', array(array('flow-cancel'),array()), 'encq').'</button>
+';},),
+ 'scopes' => array($in),
+ 'sp_vars' => array('root' => $in),
+
+ );
+
+ return '<div class="flow-board-header">
+ <div class="flow-board-header-edit-view">
+ <form method="POST" action="'.htmlentities((string)((isset($in['revision']['actions']['edit']['url']) && is_array($in['revision']['actions']['edit'])) ? $in['revision']['actions']['edit']['url'] : null), ENT_QUOTES, 'UTF-8').'" flow-api-action="edit-header">
+'.LCRun3::p($cx, 'flow_errors', array(array($in),array())).' <input type="hidden" name="wpEditToken" value="'.htmlentities((string)((isset($cx['sp_vars']['root']['editToken']) && is_array($cx['sp_vars']['root'])) ? $cx['sp_vars']['root']['editToken'] : null), ENT_QUOTES, 'UTF-8').'" />
+'.((LCRun3::ifvar($cx, ((isset($in['revision']['revisionId']) && is_array($in['revision'])) ? $in['revision']['revisionId'] : null))) ? ' <input type="hidden" name="header_prev_revision" value="'.htmlentities((string)((isset($in['revision']['revisionId']) && is_array($in['revision'])) ? $in['revision']['revisionId'] : null), ENT_QUOTES, 'UTF-8').'" />
+' : '').'
+ <div class="flow-editor">
+ <textarea name="header_content"
+ class="mw-ui-input"
+ data-flow-preview-template="flow_header_detail.partial"
+ placeholder="'.LCRun3::ch($cx, 'l10n', array(array('flow-edit-header-placeholder'),array()), 'encq').'"
+ data-role="content"
+ >'.((LCRun3::ifvar($cx, ((isset($in['submitted']['content']) && is_array($in['submitted'])) ? $in['submitted']['content'] : null))) ? ''.htmlentities((string)((isset($in['submitted']['content']) && is_array($in['submitted'])) ? $in['submitted']['content'] : null), ENT_QUOTES, 'UTF-8').'' : ''.htmlentities((string)((isset($in['revision']['content']['content']) && is_array($in['revision']['content'])) ? $in['revision']['content']['content'] : null), ENT_QUOTES, 'UTF-8').'').'</textarea>
+ </div>
+
+ <div class="flow-form-actions flow-form-collapsible">
+ <button data-role="submit"
+ class="mw-ui-button mw-ui-constructive"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-handler="submitHeader">'.LCRun3::ch($cx, 'l10n', array(array('flow-edit-header-submit'),array()), 'encq').'</button>
+'.LCRun3::p($cx, 'flow_form_buttons', array(array($in),array())).' <small class="flow-terms-of-use plainlinks">'.LCRun3::ch($cx, 'l10nParse', array(array('flow-terms-of-use-edit'),array()), 'encq').'</small>
+ </div>
+ </form>
+ </div>
+</div>
+';
+}
+?> \ No newline at end of file
diff --git a/Flow/handlebars/compiled/flow_block_header_single_view.handlebars.php b/Flow/handlebars/compiled/flow_block_header_single_view.handlebars.php
new file mode 100644
index 00000000..ddcb10d6
--- /dev/null
+++ b/Flow/handlebars/compiled/flow_block_header_single_view.handlebars.php
@@ -0,0 +1,38 @@
+<?php return function ($in, $debugopt = 1) {
+ $cx = array(
+ 'flags' => array(
+ 'jstrue' => false,
+ 'jsobj' => false,
+ 'spvar' => true,
+ 'prop' => false,
+ 'method' => false,
+ 'mustlok' => false,
+ 'mustsec' => false,
+ 'echo' => false,
+ 'debug' => $debugopt,
+ ),
+ 'constants' => array(),
+ 'helpers' => array( 'l10nParse' => 'Flow\TemplateHelper::l10nParse',
+ 'escapeContent' => 'Flow\TemplateHelper::escapeContent',
+),
+ 'blockhelpers' => array(),
+ 'hbhelpers' => array(),
+ 'partials' => array(),
+ 'scopes' => array($in),
+ 'sp_vars' => array('root' => $in),
+
+ );
+
+ return '<div class="flow-board">
+ <div class="flow-revision-permalink-warning plainlinks">
+'.((LCRun3::ifvar($cx, ((isset($in['revision']['previousRevisionId']) && is_array($in['revision'])) ? $in['revision']['previousRevisionId'] : null))) ? ' '.LCRun3::ch($cx, 'l10nParse', array(array('flow-revision-permalink-warning-header',((isset($in['revision']['human_timestamp']) && is_array($in['revision'])) ? $in['revision']['human_timestamp'] : null),((isset($in['revision']['rev_view_links']['hist']['url']) && is_array($in['revision']['rev_view_links']['hist'])) ? $in['revision']['rev_view_links']['hist']['url'] : null),((isset($in['revision']['rev_view_links']['diff']['url']) && is_array($in['revision']['rev_view_links']['diff'])) ? $in['revision']['rev_view_links']['diff']['url'] : null)),array()), 'encq').'
+' : ' '.LCRun3::ch($cx, 'l10nParse', array(array('flow-revision-permalink-warning-header-first',((isset($in['revision']['human_timestamp']) && is_array($in['revision'])) ? $in['revision']['human_timestamp'] : null),((isset($in['revision']['rev_view_links']['hist']['url']) && is_array($in['revision']['rev_view_links']['hist'])) ? $in['revision']['rev_view_links']['hist']['url'] : null),((isset($in['revision']['rev_view_links']['diff']['url']) && is_array($in['revision']['rev_view_links']['diff'])) ? $in['revision']['rev_view_links']['diff']['url'] : null)),array()), 'encq').'
+').' </div>
+
+ <div class="flow-revision-content">
+ '.LCRun3::ch($cx, 'escapeContent', array(array(((isset($in['revision']['content']['format']) && is_array($in['revision']['content'])) ? $in['revision']['content']['format'] : null),((isset($in['revision']['content']['content']) && is_array($in['revision']['content'])) ? $in['revision']['content']['content'] : null)),array()), 'encq').'
+ </div>
+</div>
+';
+}
+?> \ No newline at end of file
diff --git a/Flow/handlebars/compiled/flow_block_header_undo_edit.handlebars.php b/Flow/handlebars/compiled/flow_block_header_undo_edit.handlebars.php
new file mode 100644
index 00000000..26cebcaf
--- /dev/null
+++ b/Flow/handlebars/compiled/flow_block_header_undo_edit.handlebars.php
@@ -0,0 +1,71 @@
+<?php return function ($in, $debugopt = 1) {
+ $cx = array(
+ 'flags' => array(
+ 'jstrue' => false,
+ 'jsobj' => false,
+ 'spvar' => true,
+ 'prop' => false,
+ 'method' => false,
+ 'mustlok' => false,
+ 'mustsec' => false,
+ 'echo' => false,
+ 'debug' => $debugopt,
+ ),
+ 'constants' => array(),
+ 'helpers' => array( 'l10n' => 'Flow\TemplateHelper::l10n',
+ 'html' => 'Flow\TemplateHelper::htmlHelper',
+ 'l10nParse' => 'Flow\TemplateHelper::l10nParse',
+ 'diffUndo' => 'Flow\TemplateHelper::diffUndo',
+),
+ 'blockhelpers' => array(),
+ 'hbhelpers' => array(),
+ 'partials' => array('flow_errors' => function ($cx, $in) {return '<div class="flow-error-container">
+'.((LCRun3::ifvar($cx, ((isset($cx['sp_vars']['root']['errors']) && is_array($cx['sp_vars']['root'])) ? $cx['sp_vars']['root']['errors'] : null))) ? ' <div class="flow-errors errorbox">
+ <ul>
+'.LCRun3::sec($cx, ((isset($cx['sp_vars']['root']['errors']) && is_array($cx['sp_vars']['root'])) ? $cx['sp_vars']['root']['errors'] : null), $in, true, function($cx, $in) {return ' <li>'.LCRun3::ch($cx, 'html', array(array(((isset($in['message']) && is_array($in)) ? $in['message'] : null)),array()), 'encq').'</li>
+';}).' </ul>
+ </div>
+' : '').'</div>
+';},'flow_form_buttons' => function ($cx, $in) {return '<button data-flow-interactive-handler="cancelForm"
+ data-role="cancel"
+ type="reset"
+ class="mw-ui-button mw-ui-destructive mw-ui-quiet mw-ui-flush-right flow-js"
+
+>'.LCRun3::ch($cx, 'l10n', array(array('flow-cancel'),array()), 'encq').'</button>
+';},),
+ 'scopes' => array($in),
+ 'sp_vars' => array('root' => $in),
+
+ );
+
+ return '<div class="flow-board">
+'.((LCRun3::ifvar($cx, ((isset($in['undo']['possible']) && is_array($in['undo'])) ? $in['undo']['possible'] : null))) ? ' <p>'.LCRun3::ch($cx, 'l10n', array(array('flow-undo-edit-content'),array()), 'encq').'</p>
+' : ' <p class="error">'.LCRun3::ch($cx, 'l10n', array(array('flow-undo-edit-failure'),array()), 'encq').'</p>
+').'
+'.LCRun3::p($cx, 'flow_errors', array(array($in),array())).'
+'.((LCRun3::ifvar($cx, ((isset($in['undo']['possible']) && is_array($in['undo'])) ? $in['undo']['possible'] : null))) ? ' '.LCRun3::ch($cx, 'diffUndo', array(array(((isset($in['undo']['diff_content']) && is_array($in['undo'])) ? $in['undo']['diff_content'] : null)),array()), 'encq').'
+' : '').'
+ <form method="POST" action="'.htmlentities((string)((isset($in['links']['undo-edit-header']['url']) && is_array($in['links']['undo-edit-header'])) ? $in['links']['undo-edit-header']['url'] : null), ENT_QUOTES, 'UTF-8').'" class="flow-post">
+ <input type="hidden" name="wpEditToken" value="'.htmlentities((string)((isset($cx['sp_vars']['root']['rootBlock']['editToken']) && is_array($cx['sp_vars']['root']['rootBlock'])) ? $cx['sp_vars']['root']['rootBlock']['editToken'] : null), ENT_QUOTES, 'UTF-8').'" />
+ <input type="hidden" name="header_prev_revision" value="'.htmlentities((string)((isset($in['current']['revisionId']) && is_array($in['current'])) ? $in['current']['revisionId'] : null), ENT_QUOTES, 'UTF-8').'" />
+
+ <div class="flow-editor">
+ <textarea name="topic_content"
+ class="mw-ui-input"
+ data-role="content"
+ data-flow-preview-template="flow_header_detail.partial"
+ data-flow-preview-title="'.htmlentities((string)((isset($in['articleTitle']) && is_array($in)) ? $in['articleTitle'] : null), ENT_QUOTES, 'UTF-8').'"
+ >'.((LCRun3::ifvar($cx, ((isset($in['submitted']['content']) && is_array($in['submitted'])) ? $in['submitted']['content'] : null))) ? ''.htmlentities((string)((isset($in['submitted']['content']) && is_array($in['submitted'])) ? $in['submitted']['content'] : null), ENT_QUOTES, 'UTF-8').'' : ''.((LCRun3::ifvar($cx, ((isset($in['undo']['possible']) && is_array($in['undo'])) ? $in['undo']['possible'] : null))) ? ''.htmlentities((string)((isset($in['undo']['content']) && is_array($in['undo'])) ? $in['undo']['content'] : null), ENT_QUOTES, 'UTF-8').'' : ''.htmlentities((string)((isset($in['current']['content']['content']) && is_array($in['current']['content'])) ? $in['current']['content']['content'] : null), ENT_QUOTES, 'UTF-8').'').'').'</textarea>
+ </div>
+
+ <div class="flow-form-actions flow-form-collapsible">
+ <button class="mw-ui-button mw-ui-constructive">'.LCRun3::ch($cx, 'l10n', array(array('flow-edit-header-submit'),array()), 'encq').'</button>
+'.LCRun3::p($cx, 'flow_form_buttons', array(array($in),array())).' <small class="flow-terms-of-use plainlinks">'.LCRun3::ch($cx, 'l10nParse', array(array('flow-terms-of-use-edit'),array()), 'encq').'
+ </small>
+ </div>
+ </form>
+</div>
+
+';
+}
+?> \ No newline at end of file
diff --git a/Flow/handlebars/compiled/flow_block_loop.handlebars.php b/Flow/handlebars/compiled/flow_block_loop.handlebars.php
new file mode 100644
index 00000000..5b67bc94
--- /dev/null
+++ b/Flow/handlebars/compiled/flow_block_loop.handlebars.php
@@ -0,0 +1,28 @@
+<?php return function ($in, $debugopt = 1) {
+ $cx = array(
+ 'flags' => array(
+ 'jstrue' => false,
+ 'jsobj' => false,
+ 'spvar' => true,
+ 'prop' => false,
+ 'method' => false,
+ 'mustlok' => false,
+ 'mustsec' => false,
+ 'echo' => false,
+ 'debug' => $debugopt,
+ ),
+ 'constants' => array(),
+ 'helpers' => array( 'block' => 'Flow\TemplateHelper::block',
+),
+ 'blockhelpers' => array(),
+ 'hbhelpers' => array(),
+ 'partials' => array(),
+ 'scopes' => array($in),
+ 'sp_vars' => array('root' => $in),
+
+ );
+
+ return ''.LCRun3::sec($cx, ((isset($in['blocks']) && is_array($in)) ? $in['blocks'] : null), $in, true, function($cx, $in) {return ' '.LCRun3::ch($cx, 'block', array(array($in),array()), 'encq').'
+';}).'';
+}
+?> \ No newline at end of file
diff --git a/Flow/handlebars/compiled/flow_block_topic.handlebars.php b/Flow/handlebars/compiled/flow_block_topic.handlebars.php
new file mode 100644
index 00000000..1b4b4d5e
--- /dev/null
+++ b/Flow/handlebars/compiled/flow_block_topic.handlebars.php
@@ -0,0 +1,249 @@
+<?php return function ($in, $debugopt = 1) {
+ $cx = array(
+ 'flags' => array(
+ 'jstrue' => false,
+ 'jsobj' => false,
+ 'spvar' => true,
+ 'prop' => false,
+ 'method' => false,
+ 'mustlok' => false,
+ 'mustsec' => false,
+ 'echo' => false,
+ 'debug' => $debugopt,
+ ),
+ 'constants' => array(),
+ 'helpers' => array( 'l10n' => 'Flow\TemplateHelper::l10n',
+ 'uuidTimestamp' => 'Flow\TemplateHelper::uuidTimestamp',
+ 'timestamp' => 'Flow\TemplateHelper::timestampHelper',
+ 'html' => 'Flow\TemplateHelper::htmlHelper',
+ 'post' => 'Flow\TemplateHelper::post',
+ 'l10nParse' => 'Flow\TemplateHelper::l10nParse',
+ 'concat' => 'Flow\TemplateHelper::concat',
+ 'linkWithReturnTo' => 'Flow\TemplateHelper::linkWithReturnTo',
+ 'escapeContent' => 'Flow\TemplateHelper::escapeContent',
+),
+ 'blockhelpers' => array(),
+ 'hbhelpers' => array( 'eachPost' => 'Flow\TemplateHelper::eachPost',
+ 'ifAnonymous' => 'Flow\TemplateHelper::ifAnonymous',
+ 'ifCond' => 'Flow\TemplateHelper::ifCond',
+ 'tooltip' => 'Flow\TemplateHelper::tooltip',
+ 'progressiveEnhancement' => 'Flow\TemplateHelper::progressiveEnhancement',
+),
+ 'partials' => array('flow_errors' => function ($cx, $in) {return '<div class="flow-error-container">
+'.((LCRun3::ifvar($cx, ((isset($cx['sp_vars']['root']['errors']) && is_array($cx['sp_vars']['root'])) ? $cx['sp_vars']['root']['errors'] : null))) ? ' <div class="flow-errors errorbox">
+ <ul>
+'.LCRun3::sec($cx, ((isset($cx['sp_vars']['root']['errors']) && is_array($cx['sp_vars']['root'])) ? $cx['sp_vars']['root']['errors'] : null), $in, true, function($cx, $in) {return ' <li>'.LCRun3::ch($cx, 'html', array(array(((isset($in['message']) && is_array($in)) ? $in['message'] : null)),array()), 'encq').'</li>
+';}).' </ul>
+ </div>
+' : '').'</div>
+';},'flow_topic_moderation_flag' => function ($cx, $in) {return '<span class="wikiglyph'.LCRun3::hbch($cx, 'ifCond', array(array(((isset($in['moderateState']) && is_array($in)) ? $in['moderateState'] : null),'===','lock'),array()), $in, false, function($cx, $in) {return ' wikiglyph-lock';}).''.LCRun3::hbch($cx, 'ifCond', array(array(((isset($in['moderateState']) && is_array($in)) ? $in['moderateState'] : null),'===','hide'),array()), $in, false, function($cx, $in) {return ' wikiglyph-flag';}).''.LCRun3::hbch($cx, 'ifCond', array(array(((isset($in['moderateState']) && is_array($in)) ? $in['moderateState'] : null),'===','delete'),array()), $in, false, function($cx, $in) {return ' wikiglyph-trash';}).'"></span>
+';},'flow_post_moderation_state' => function ($cx, $in) {return '<span class="plainlinks">'.((LCRun3::ifvar($cx, ((isset($in['replyToId']) && is_array($in)) ? $in['replyToId'] : null))) ? ''.LCRun3::ch($cx, 'l10nParse', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderateState']) && is_array($in)) ? $in['moderateState'] : null),'-post-content'),array()), 'raw'),((isset($in['moderator']['name']) && is_array($in['moderator'])) ? $in['moderator']['name'] : null),((isset($in['links']['topic-history']['url']) && is_array($in['links']['topic-history'])) ? $in['links']['topic-history']['url'] : null)),array()), 'encq').'' : ''.LCRun3::ch($cx, 'l10nParse', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderateState']) && is_array($in)) ? $in['moderateState'] : null),'-title-content'),array()), 'raw'),((isset($in['moderator']['name']) && is_array($in['moderator'])) ? $in['moderator']['name'] : null),((isset($in['links']['topic-history']['url']) && is_array($in['links']['topic-history'])) ? $in['links']['topic-history']['url'] : null)),array()), 'encq').'').'</span>
+';},'flow_topic_titlebar_summary' => function ($cx, $in) {return '<div class="flow-topic-summary-container">
+'.LCRun3::p($cx, 'flow_errors', array(array($in),array())).''.((LCRun3::ifvar($cx, ((isset($in['summary']) && is_array($in)) ? $in['summary'] : null))) ? ' <div class="flow-topic-summary">
+ '.LCRun3::ch($cx, 'escapeContent', array(array(((isset($in['summary']['format']) && is_array($in['summary'])) ? $in['summary']['format'] : null),((isset($in['summary']['content']) && is_array($in['summary'])) ? $in['summary']['content'] : null)),array()), 'encq').'
+ </div>
+ <br class="flow-ui-clear"/>
+' : '').'</div>
+';},'flow_topic_titlebar_content' => function ($cx, $in) {return '<h2 class="flow-topic-title flow-load-interactive"
+ data-flow-topic-title="'.LCRun3::ch($cx, 'escapeContent', array(array(((isset($in['content']['format']) && is_array($in['content'])) ? $in['content']['format'] : null),((isset($in['content']['content']) && is_array($in['content'])) ? $in['content']['content'] : null)),array()), 'encq').'"
+ data-flow-load-handler="topicTitle">'.LCRun3::ch($cx, 'escapeContent', array(array(((isset($in['content']['format']) && is_array($in['content'])) ? $in['content']['format'] : null),((isset($in['content']['content']) && is_array($in['content'])) ? $in['content']['content'] : null)),array()), 'encq').'</h2>
+<div class="flow-topic-meta">
+ '.LCRun3::ch($cx, 'l10n', array(array('flow-topic-comments',((isset($in['reply_count']) && is_array($in)) ? $in['reply_count'] : null)),array()), 'encq').' &bull;
+
+ <a href="'.htmlentities((string)((isset($in['links']['topic-history']['url']) && is_array($in['links']['topic-history'])) ? $in['links']['topic-history']['url'] : null), ENT_QUOTES, 'UTF-8').'" class="flow-timestamp-anchor">
+'.((LCRun3::ifvar($cx, ((isset($in['last_updated']) && is_array($in)) ? $in['last_updated'] : null))) ? ' '.LCRun3::ch($cx, 'timestamp', array(array(((isset($in['last_updated']) && is_array($in)) ? $in['last_updated'] : null)),array()), 'encq').'
+' : ' '.LCRun3::ch($cx, 'uuidTimestamp', array(array(((isset($in['postId']) && is_array($in)) ? $in['postId'] : null)),array()), 'encq').'
+').' </a>
+</div>
+'.((LCRun3::ifvar($cx, ((isset($in['isModerated']) && is_array($in)) ? $in['isModerated'] : null))) ? ' <div class="flow-moderated-topic-title flow-ui-text-truncated">'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').''.LCRun3::p($cx, 'flow_topic_moderation_flag', array(array($in),array())).'
+'.LCRun3::p($cx, 'flow_post_moderation_state', array(array($in),array())).' </div>
+ <div class="flow-moderated-topic-reason">
+ '.LCRun3::ch($cx, 'l10n', array(array('flow-topic-moderated-reason-prefix'),array()), 'encq').'
+ '.LCRun3::ch($cx, 'escapeContent', array(array(((isset($in['moderateReason']['format']) && is_array($in['moderateReason'])) ? $in['moderateReason']['format'] : null),((isset($in['moderateReason']['content']) && is_array($in['moderateReason'])) ? $in['moderateReason']['content'] : null)),array()), 'encq').'
+ </div>
+' : '').'<span class="flow-reply-count"><span class="wikiglyph wikiglyph-speech-bubble"></span><span class="flow-reply-count-number">'.htmlentities((string)((isset($in['reply_count']) && is_array($in)) ? $in['reply_count'] : null), ENT_QUOTES, 'UTF-8').'</span></span>
+
+'.LCRun3::p($cx, 'flow_topic_titlebar_summary', array(array($in),array())).'';},'flow_topic_titlebar_watch' => function ($cx, $in) {return '<div class="flow-topic-watchlist flow-watch-link">
+'.LCRun3::p($cx, 'flow_errors', array(array($in),array())).'
+ <a href="'.((LCRun3::ifvar($cx, ((isset($in['isWatched']) && is_array($in)) ? $in['isWatched'] : null))) ? ''.htmlentities((string)((isset($in['links']['unwatch-topic']['url']) && is_array($in['links']['unwatch-topic'])) ? $in['links']['unwatch-topic']['url'] : null), ENT_QUOTES, 'UTF-8').'' : ''.htmlentities((string)((isset($in['links']['watch-topic']['url']) && is_array($in['links']['watch-topic'])) ? $in['links']['watch-topic']['url'] : null), ENT_QUOTES, 'UTF-8').'').'"
+ class="mw-ui-anchor mw-ui-constructive '.((!LCRun3::ifvar($cx, ((isset($in['isWatched']) && is_array($in)) ? $in['isWatched'] : null))) ? 'mw-ui-quiet' : '').'
+'.((LCRun3::ifvar($cx, ((isset($in['isWatched']) && is_array($in)) ? $in['isWatched'] : null))) ? 'flow-watch-link-unwatch' : 'flow-watch-link-watch').'"
+ data-flow-api-handler="watchItem"
+ data-flow-api-target="< .flow-topic-watchlist"
+ data-flow-api-method="POST">'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<span class="wikiglyph wikiglyph-star"></span>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').''.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<span class="wikiglyph wikiglyph-unstar"></span>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</a>
+</div>
+';},'flow_moderation_actions_list' => function ($cx, $in) {return '<section>'.LCRun3::hbch($cx, 'ifCond', array(array(((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'===','topic'),array()), $in, false, function($cx, $in) {return ''.((LCRun3::ifvar($cx, ((isset($in['actions']['edit']) && is_array($in['actions'])) ? $in['actions']['edit'] : null))) ? '<li class="flow-js">'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['edit']['url']) && is_array($in['actions']['edit'])) ? $in['actions']['edit']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['edit']['title']) && is_array($in['actions']['edit'])) ? $in['actions']['edit']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-handler="activateEditTitle"
+ data-flow-api-target="< .flow-topic-titlebar"
+ >'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-pencil"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-edit-title'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['links']['topic-history']) && is_array($in['links'])) ? $in['links']['topic-history'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['links']['topic-history']['url']) && is_array($in['links']['topic-history'])) ? $in['links']['topic-history']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['links']['topic-history']['title']) && is_array($in['links']['topic-history'])) ? $in['links']['topic-history']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-clock"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-history'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['links']['topic']) && is_array($in['links'])) ? $in['links']['topic'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['links']['topic']['url']) && is_array($in['links']['topic'])) ? $in['links']['topic']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['links']['topic']['title']) && is_array($in['links']['topic'])) ? $in['links']['topic']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-link"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-view'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['summarize']) && is_array($in['actions'])) ? $in['actions']['summarize'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-progressive mw-ui-quiet"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-handler="activateSummarizeTopic"
+ data-flow-api-target="< .flow-topic-titlebar .flow-topic-summary-container"
+ href="'.htmlentities((string)((isset($in['actions']['summarize']['url']) && is_array($in['actions']['summarize'])) ? $in['actions']['summarize']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['summarize']['title']) && is_array($in['actions']['summarize'])) ? $in['actions']['summarize']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-stripe-toc"></span> ' : '').''.((LCRun3::ifvar($cx, ((isset($in['summary']) && is_array($in)) ? $in['summary'] : null))) ? ''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-resummarize-topic'),array()), 'raw')),array()), 'encq').'' : ''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-summarize-topic'),array()), 'raw')),array()), 'encq').'').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').'';}).''.LCRun3::hbch($cx, 'ifCond', array(array(((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'===','post'),array()), $in, false, function($cx, $in) {return ''.((LCRun3::ifvar($cx, ((isset($in['actions']['edit']) && is_array($in['actions'])) ? $in['actions']['edit'] : null))) ? '<li>
+ <a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-progressive mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['edit']['url']) && is_array($in['actions']['edit'])) ? $in['actions']['edit']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['edit']['title']) && is_array($in['actions']['edit'])) ? $in['actions']['edit']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-api-handler="activateEditPost"
+ data-flow-api-target="< .flow-post-main"
+ data-flow-interactive-handler="apiRequest"
+ >'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-pencil"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array('flow-post-action-edit-post'),array()), 'encq').'</a>
+ </li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['links']['post']) && is_array($in['links'])) ? $in['links']['post'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['links']['post']['url']) && is_array($in['links']['post'])) ? $in['links']['post']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['links']['post']['title']) && is_array($in['links']['post'])) ? $in['links']['post']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-link"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-view'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').'';}).'</section>
+
+<section>'.LCRun3::hbch($cx, 'ifCond', array(array(((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'===','history'),array()), $in, false, function($cx, $in) {return ''.((LCRun3::ifvar($cx, ((isset($in['actions']['undo']) && is_array($in['actions'])) ? $in['actions']['undo'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['undo']['url']) && is_array($in['actions']['undo'])) ? $in['actions']['undo']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ >'.htmlentities((string)((isset($in['actions']['undo']['title']) && is_array($in['actions']['undo'])) ? $in['actions']['undo']['title'] : null), ENT_QUOTES, 'UTF-8').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').'';}).''.((LCRun3::ifvar($cx, ((isset($in['actions']['hide']) && is_array($in['actions'])) ? $in['actions']['hide'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['hide']['url']) && is_array($in['actions']['hide'])) ? $in['actions']['hide']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['hide']['title']) && is_array($in['actions']['hide'])) ? $in['actions']['hide']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_'.htmlentities((string)((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null), ENT_QUOTES, 'UTF-8').'.partial"
+ data-role="hide">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-flag"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-hide-',((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null)),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['unhide']) && is_array($in['actions'])) ? $in['actions']['unhide'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['unhide']['url']) && is_array($in['actions']['unhide'])) ? $in['actions']['unhide']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['unhide']['title']) && is_array($in['actions']['unhide'])) ? $in['actions']['unhide']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_'.htmlentities((string)((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null), ENT_QUOTES, 'UTF-8').'.partial"
+ data-role="unhide">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-flag"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-unhide-',((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null)),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['delete']) && is_array($in['actions'])) ? $in['actions']['delete'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['delete']['url']) && is_array($in['actions']['delete'])) ? $in['actions']['delete']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['delete']['title']) && is_array($in['actions']['delete'])) ? $in['actions']['delete']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_'.htmlentities((string)((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null), ENT_QUOTES, 'UTF-8').'.partial"
+ data-role="delete">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-trash"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-delete-',((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null)),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['undelete']) && is_array($in['actions'])) ? $in['actions']['undelete'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['undelete']['url']) && is_array($in['actions']['undelete'])) ? $in['actions']['undelete']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['undelete']['title']) && is_array($in['actions']['undelete'])) ? $in['actions']['undelete']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_'.htmlentities((string)((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null), ENT_QUOTES, 'UTF-8').'.partial"
+ data-role="undelete">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-trash"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-undelete-',((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null)),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['suppress']) && is_array($in['actions'])) ? $in['actions']['suppress'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['suppress']['url']) && is_array($in['actions']['suppress'])) ? $in['actions']['suppress']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['suppress']['title']) && is_array($in['actions']['suppress'])) ? $in['actions']['suppress']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_'.htmlentities((string)((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null), ENT_QUOTES, 'UTF-8').'.partial"
+ data-role="suppress">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-block"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-suppress-',((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null)),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['unsuppress']) && is_array($in['actions'])) ? $in['actions']['unsuppress'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['unsuppress']['url']) && is_array($in['actions']['unsuppress'])) ? $in['actions']['unsuppress']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['unsuppress']['title']) && is_array($in['actions']['unsuppress'])) ? $in['actions']['unsuppress']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_'.htmlentities((string)((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null), ENT_QUOTES, 'UTF-8').'.partial"
+ data-role="unsuppress">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-block"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-unsuppress-',((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null)),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.LCRun3::hbch($cx, 'ifCond', array(array(((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'===','history'),array()), $in, false, function($cx, $in) {return ''.((LCRun3::ifvar($cx, ((isset($in['actions']['lock']) && is_array($in['actions'])) ? $in['actions']['lock'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_topic.partial"
+ data-role="lock"
+ data-flow-id="'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'"
+ href="'.htmlentities((string)((isset($in['actions']['lock']['url']) && is_array($in['actions']['lock'])) ? $in['actions']['lock']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['lock']['title']) && is_array($in['actions']['lock'])) ? $in['actions']['lock']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-lock"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-lock-topic'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['unlock']) && is_array($in['actions'])) ? $in['actions']['unlock'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_topic.partial"
+ data-role="unlock"
+ data-flow-id="'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'"
+ href="'.htmlentities((string)((isset($in['actions']['unlock']['url']) && is_array($in['actions']['unlock'])) ? $in['actions']['unlock']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['unlock']['title']) && is_array($in['actions']['unlock'])) ? $in['actions']['unlock']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-unlock"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-unlock-topic'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').'';}, function($cx, $in) {return ''.((LCRun3::ifvar($cx, ((isset($in['actions']['lock']) && is_array($in['actions'])) ? $in['actions']['lock'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-handler="activateLockTopic"
+ data-flow-id="'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-api-target="< .flow-topic-titlebar .flow-topic-summary-container"
+ href="'.htmlentities((string)((isset($in['actions']['lock']['url']) && is_array($in['actions']['lock'])) ? $in['actions']['lock']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['lock']['title']) && is_array($in['actions']['lock'])) ? $in['actions']['lock']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-lock"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-lock-topic'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['unlock']) && is_array($in['actions'])) ? $in['actions']['unlock'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-handler="activateLockTopic"
+ data-flow-id="'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-api-target="< .flow-topic-titlebar .flow-topic-summary-container"
+ href="'.htmlentities((string)((isset($in['actions']['unlock']['url']) && is_array($in['actions']['unlock'])) ? $in['actions']['unlock']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['unlock']['title']) && is_array($in['actions']['unlock'])) ? $in['actions']['unlock']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-unlock"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-unlock-topic'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').'';}).'</section>
+';},'flow_topic_titlebar' => function ($cx, $in) {return '<div class="flow-topic-titlebar">
+'.LCRun3::p($cx, 'flow_topic_titlebar_content', array(array($in),array())).'
+'.((!LCRun3::ifvar($cx, ((isset($in['isPreview']) && is_array($in)) ? $in['isPreview'] : null))) ? ''.((LCRun3::ifvar($cx, ((isset($in['watchable']) && is_array($in)) ? $in['watchable'] : null))) ? ''.LCRun3::p($cx, 'flow_topic_titlebar_watch', array(array($in),array())).'' : '').' <div class="flow-menu flow-menu-hoverable">
+ <div class="flow-menu-js-drop"><a href="javascript:void(0);"><span class="wikiglyph wikiglyph-ellipsis"></span></a></div>
+ <ul class="mw-ui-button-container flow-list">
+'.LCRun3::p($cx, 'flow_moderation_actions_list', array(array($in),array('moderationType'=>'topic','moderationTarget'=>'title','moderationTemplate'=>'topic','moderationContainerClass'=>'flow-menu','moderationMwUiClass'=>'mw-ui-button','moderationIcons'=>true))).' </ul>
+ </div>
+' : '').'</div>
+';},'flow_anon_warning' => function ($cx, $in) {return '<div class="flow-anon-warning">
+ <div class="flow-anon-warning-mobile">
+'.LCRun3::hbch($cx, 'tooltip', array(array(),array('positionClass'=>'down','contextClass'=>'progressive','extraClass'=>'flow-form-collapsible','isBlock'=>true)), $in, false, function($cx, $in) {return ''.LCRun3::ch($cx, 'l10nParse', array(array('flow-anon-warning',LCRun3::ch($cx, 'linkWithReturnTo', array(array('Special:UserLogin'),array()), 'raw'),LCRun3::ch($cx, 'linkWithReturnTo', array(array('Special:UserLogin/signup'),array()), 'raw')),array()), 'encq').'';}).' </div>
+
+'.LCRun3::hbch($cx, 'progressiveEnhancement', array(array(),array()), $in, false, function($cx, $in) {return ' <div class="flow-anon-warning-desktop">
+'.LCRun3::hbch($cx, 'tooltip', array(array(),array('positionClass'=>'left','contextClass'=>'progressive','extraClass'=>'flow-form-collapsible','isBlock'=>true)), $in, false, function($cx, $in) {return ''.LCRun3::ch($cx, 'l10nParse', array(array('flow-anon-warning',LCRun3::ch($cx, 'linkWithReturnTo', array(array('Special:UserLogin'),array()), 'raw'),LCRun3::ch($cx, 'linkWithReturnTo', array(array('Special:UserLogin/signup'),array()), 'raw')),array()), 'encq').'';}).' </div>
+';}).'</div>
+';},'flow_form_buttons' => function ($cx, $in) {return '<button data-flow-interactive-handler="cancelForm"
+ data-role="cancel"
+ type="reset"
+ class="mw-ui-button mw-ui-destructive mw-ui-quiet mw-ui-flush-right flow-js"
+
+>'.LCRun3::ch($cx, 'l10n', array(array('flow-cancel'),array()), 'encq').'</button>
+';},'flow_reply_form' => function ($cx, $in) {return ''.((LCRun3::ifvar($cx, ((isset($in['actions']['reply']) && is_array($in['actions'])) ? $in['actions']['reply'] : null))) ? ' <form class="flow-post flow-reply-form"
+ method="POST"
+ action="'.htmlentities((string)((isset($in['actions']['reply']['url']) && is_array($in['actions']['reply'])) ? $in['actions']['reply']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ id="flow-reply-'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-initial-state="collapsed"
+ >
+ <input type="hidden" name="wpEditToken" value="'.htmlentities((string)((isset($cx['sp_vars']['root']['rootBlock']['editToken']) && is_array($cx['sp_vars']['root']['rootBlock'])) ? $cx['sp_vars']['root']['rootBlock']['editToken'] : null), ENT_QUOTES, 'UTF-8').'" />
+ <input type="hidden" name="topic_replyTo" value="'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'" />
+'.LCRun3::p($cx, 'flow_errors', array(array($in),array())).'
+'.LCRun3::hbch($cx, 'ifAnonymous', array(array(),array()), $in, false, function($cx, $in) {return ''.LCRun3::p($cx, 'flow_anon_warning', array(array($in),array())).'';}).'
+ <div class="flow-editor">
+ <textarea id="flow-post-'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'-form-content"
+ name="topic_content"
+ required
+ data-flow-preview-template="flow_post"
+ data-flow-preview-title="'.htmlentities((string)((isset($in['articleTitle']) && is_array($in)) ? $in['articleTitle'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-expandable="true"
+ class="mw-ui-input flow-click-interactive"
+ type="text"
+ placeholder="'.LCRun3::ch($cx, 'l10n', array(array('flow-reply-topic-title-placeholder',((isset($in['properties']['topic-of-post']) && is_array($in['properties'])) ? $in['properties']['topic-of-post'] : null)),array()), 'encq').'"
+ data-role="content"
+
+ data-flow-interactive-handler-focus="activateReplyTopic"
+ >'.((LCRun3::ifvar($cx, ((isset($cx['sp_vars']['root']['submitted']) && is_array($cx['sp_vars']['root'])) ? $cx['sp_vars']['root']['submitted'] : null))) ? ''.LCRun3::hbch($cx, 'ifCond', array(array(((isset($cx['sp_vars']['root']['submitted']['postId']) && is_array($cx['sp_vars']['root']['submitted'])) ? $cx['sp_vars']['root']['submitted']['postId'] : null),'===',((isset($in['postId']) && is_array($in)) ? $in['postId'] : null)),array()), $in, false, function($cx, $in) {return ''.htmlentities((string)((isset($cx['sp_vars']['root']['submitted']['content']) && is_array($cx['sp_vars']['root']['submitted'])) ? $cx['sp_vars']['root']['submitted']['content'] : null), ENT_QUOTES, 'UTF-8').'';}).'' : '').'</textarea>
+ </div>
+
+ <div class="flow-form-actions flow-form-collapsible">
+ <button data-role="submit"
+ class="mw-ui-button mw-ui-constructive"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-handler="submitReply"
+ data-flow-api-target="< .flow-topic"
+ data-flow-eventlog-action="save-attempt"
+ >'.htmlentities((string)((isset($in['actions']['reply']['text']) && is_array($in['actions']['reply'])) ? $in['actions']['reply']['text'] : null), ENT_QUOTES, 'UTF-8').'</button>
+'.LCRun3::p($cx, 'flow_form_buttons', array(array($in),array())).' <small class="flow-terms-of-use plainlinks">'.LCRun3::ch($cx, 'l10nParse', array(array('flow-terms-of-use-reply'),array()), 'encq').'</small>
+ </div>
+ </form>
+' : '').'';},'flow_topic' => function ($cx, $in) {return '<div class="flow-topic flow-load-interactive
+ '.((LCRun3::ifvar($cx, ((isset($in['moderateState']) && is_array($in)) ? $in['moderateState'] : null))) ? 'flow-topic-moderatestate-'.htmlentities((string)((isset($in['moderateState']) && is_array($in)) ? $in['moderateState'] : null), ENT_QUOTES, 'UTF-8').'' : '').'
+ '.((LCRun3::ifvar($cx, ((isset($in['isModerated']) && is_array($in)) ? $in['isModerated'] : null))) ? 'flow-topic-moderated' : '').'
+ "
+ id="flow-topic-'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-id="'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-load-handler="topic"
+ data-flow-toc-scroll-target=".flow-topic-titlebar"
+ data-flow-topic-timestamp-updated="'.htmlentities((string)((isset($in['last_updated']) && is_array($in)) ? $in['last_updated'] : null), ENT_QUOTES, 'UTF-8').'"
+>
+'.LCRun3::p($cx, 'flow_topic_titlebar', array(array($in),array())).'
+'.((LCRun3::ifvar($cx, ((isset($cx['sp_vars']['root']['posts']) && is_array($cx['sp_vars']['root'])) ? $cx['sp_vars']['root']['posts'] : null))) ? ''.LCRun3::sec($cx, ((isset($in['replies']) && is_array($in)) ? $in['replies'] : null), $in, true, function($cx, $in) {return ''.LCRun3::hbch($cx, 'eachPost', array(array(((isset($cx['sp_vars']['root']) && is_array($cx['sp_vars'])) ? $cx['sp_vars']['root'] : null),$in),array()), $in, false, function($cx, $in) {return ' <!-- eachPost topic -->
+ '.LCRun3::ch($cx, 'post', array(array(((isset($cx['sp_vars']['root']) && is_array($cx['sp_vars'])) ? $cx['sp_vars']['root'] : null),$in),array()), 'encq').'
+';}).'';}).'' : '').'
+'.((!LCRun3::ifvar($cx, ((isset($in['isPreview']) && is_array($in)) ? $in['isPreview'] : null))) ? ''.((LCRun3::ifvar($cx, ((isset($in['actions']['reply']) && is_array($in['actions'])) ? $in['actions']['reply'] : null))) ? ''.LCRun3::hbch($cx, 'ifCond', array(array(((isset($cx['sp_vars']['root']['submitted']['postId']) && is_array($cx['sp_vars']['root']['submitted'])) ? $cx['sp_vars']['root']['submitted']['postId'] : null),'===',((isset($in['postId']) && is_array($in)) ? $in['postId'] : null)),array()), $in, false, function($cx, $in) {return ''.LCRun3::p($cx, 'flow_reply_form', array(array($in),array())).'';}, function($cx, $in) {return ''.LCRun3::hbch($cx, 'progressiveEnhancement', array(array(),array('type'=>'replace','target'=>'~ a')), $in, false, function($cx, $in) {return ''.LCRun3::p($cx, 'flow_reply_form', array(array($in),array())).'';}).' <a href="'.htmlentities((string)((isset($in['actions']['reply']['url']) && is_array($in['actions']['reply'])) ? $in['actions']['reply']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['reply']['title']) && is_array($in['actions']['reply'])) ? $in['actions']['reply']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ class="flow-ui-input-replacement-anchor mw-ui-input"
+ >'.LCRun3::ch($cx, 'l10n', array(array('flow-reply-topic-title-placeholder',((isset($in['properties']['topic-of-post']) && is_array($in['properties'])) ? $in['properties']['topic-of-post'] : null)),array()), 'encq').'</a>
+';}).'' : '').'' : '').'</div>
+';},'flow_topiclist_loop' => function ($cx, $in) {return ''.LCRun3::sec($cx, ((isset($in['roots']) && is_array($in)) ? $in['roots'] : null), $in, true, function($cx, $in) {return ''.LCRun3::hbch($cx, 'eachPost', array(array(((isset($cx['sp_vars']['root']) && is_array($cx['sp_vars'])) ? $cx['sp_vars']['root'] : null),$in),array()), $in, false, function($cx, $in) {return ''.LCRun3::p($cx, 'flow_topic', array(array($in),array())).'';}).'';}).'';},),
+ 'scopes' => array($in),
+ 'sp_vars' => array('root' => $in),
+
+ );
+
+ return '<div class="flow-board">
+ <div class="flow-topics">
+'.LCRun3::p($cx, 'flow_errors', array(array($in),array())).'
+'.LCRun3::p($cx, 'flow_topiclist_loop', array(array($in),array())).' </div>
+</div>
+';
+}
+?> \ No newline at end of file
diff --git a/Flow/handlebars/compiled/flow_block_topic_diff_view.handlebars.php b/Flow/handlebars/compiled/flow_block_topic_diff_view.handlebars.php
new file mode 100644
index 00000000..bf3cff50
--- /dev/null
+++ b/Flow/handlebars/compiled/flow_block_topic_diff_view.handlebars.php
@@ -0,0 +1,36 @@
+<?php return function ($in, $debugopt = 1) {
+ $cx = array(
+ 'flags' => array(
+ 'jstrue' => false,
+ 'jsobj' => false,
+ 'spvar' => true,
+ 'prop' => false,
+ 'method' => false,
+ 'mustlok' => false,
+ 'mustsec' => false,
+ 'echo' => false,
+ 'debug' => $debugopt,
+ ),
+ 'constants' => array(),
+ 'helpers' => array( 'l10nParse' => 'Flow\TemplateHelper::l10nParse',
+ 'diffRevision' => 'Flow\TemplateHelper::diffRevision',
+),
+ 'blockhelpers' => array(),
+ 'hbhelpers' => array(),
+ 'partials' => array(),
+ 'scopes' => array($in),
+ 'sp_vars' => array('root' => $in),
+
+ );
+
+ return '<div class="flow-board">
+ <div class="flow-compare-revisions-header plainlinks">
+ '.LCRun3::ch($cx, 'l10nParse', array(array('flow-compare-revisions-header-post',((isset($in['revision']['new']['rev_view_links']['board']['title']) && is_array($in['revision']['new']['rev_view_links']['board'])) ? $in['revision']['new']['rev_view_links']['board']['title'] : null),((isset($in['revision']['new']['properties']['topic-of-post']) && is_array($in['revision']['new']['properties'])) ? $in['revision']['new']['properties']['topic-of-post'] : null),((isset($in['revision']['new']['author']['name']) && is_array($in['revision']['new']['author'])) ? $in['revision']['new']['author']['name'] : null),((isset($in['revision']['new']['rev_view_links']['board']['url']) && is_array($in['revision']['new']['rev_view_links']['board'])) ? $in['revision']['new']['rev_view_links']['board']['url'] : null),((isset($in['revision']['new']['rev_view_links']['root']['url']) && is_array($in['revision']['new']['rev_view_links']['root'])) ? $in['revision']['new']['rev_view_links']['root']['url'] : null),((isset($in['revision']['new']['rev_view_links']['hist']['url']) && is_array($in['revision']['new']['rev_view_links']['hist'])) ? $in['revision']['new']['rev_view_links']['hist']['url'] : null)),array()), 'encq').'
+ </div>
+ <div class="flow-compare-revisions">
+ '.LCRun3::ch($cx, 'diffRevision', array(array(((isset($in['revision']['diff_content']) && is_array($in['revision'])) ? $in['revision']['diff_content'] : null),((isset($in['revision']['old']['human_timestamp']) && is_array($in['revision']['old'])) ? $in['revision']['old']['human_timestamp'] : null),((isset($in['revision']['new']['human_timestamp']) && is_array($in['revision']['new'])) ? $in['revision']['new']['human_timestamp'] : null),((isset($in['revision']['old']['author']['name']) && is_array($in['revision']['old']['author'])) ? $in['revision']['old']['author']['name'] : null),((isset($in['revision']['new']['author']['name']) && is_array($in['revision']['new']['author'])) ? $in['revision']['new']['author']['name'] : null),((isset($in['revision']['old']['rev_view_links']['single-view']['url']) && is_array($in['revision']['old']['rev_view_links']['single-view'])) ? $in['revision']['old']['rev_view_links']['single-view']['url'] : null),((isset($in['revision']['new']['rev_view_links']['single-view']['url']) && is_array($in['revision']['new']['rev_view_links']['single-view'])) ? $in['revision']['new']['rev_view_links']['single-view']['url'] : null),((isset($in['revision']['links']['previous']) && is_array($in['revision']['links'])) ? $in['revision']['links']['previous'] : null),((isset($in['revision']['links']['next']) && is_array($in['revision']['links'])) ? $in['revision']['links']['next'] : null)),array()), 'encq').'
+ </div>
+</div>
+';
+}
+?> \ No newline at end of file
diff --git a/Flow/handlebars/compiled/flow_block_topic_edit_title.handlebars.php b/Flow/handlebars/compiled/flow_block_topic_edit_title.handlebars.php
new file mode 100644
index 00000000..279f468a
--- /dev/null
+++ b/Flow/handlebars/compiled/flow_block_topic_edit_title.handlebars.php
@@ -0,0 +1,58 @@
+<?php return function ($in, $debugopt = 1) {
+ $cx = array(
+ 'flags' => array(
+ 'jstrue' => false,
+ 'jsobj' => false,
+ 'spvar' => true,
+ 'prop' => false,
+ 'method' => false,
+ 'mustlok' => false,
+ 'mustsec' => false,
+ 'echo' => false,
+ 'debug' => $debugopt,
+ ),
+ 'constants' => array(),
+ 'helpers' => array( 'l10n' => 'Flow\TemplateHelper::l10n',
+ 'html' => 'Flow\TemplateHelper::htmlHelper',
+ 'l10nParse' => 'Flow\TemplateHelper::l10nParse',
+),
+ 'blockhelpers' => array(),
+ 'hbhelpers' => array( 'eachPost' => 'Flow\TemplateHelper::eachPost',
+ 'progressiveEnhancement' => 'Flow\TemplateHelper::progressiveEnhancement',
+),
+ 'partials' => array('flow_errors' => function ($cx, $in) {return '<div class="flow-error-container">
+'.((LCRun3::ifvar($cx, ((isset($cx['sp_vars']['root']['errors']) && is_array($cx['sp_vars']['root'])) ? $cx['sp_vars']['root']['errors'] : null))) ? ' <div class="flow-errors errorbox">
+ <ul>
+'.LCRun3::sec($cx, ((isset($cx['sp_vars']['root']['errors']) && is_array($cx['sp_vars']['root'])) ? $cx['sp_vars']['root']['errors'] : null), $in, true, function($cx, $in) {return ' <li>'.LCRun3::ch($cx, 'html', array(array(((isset($in['message']) && is_array($in)) ? $in['message'] : null)),array()), 'encq').'</li>
+';}).' </ul>
+ </div>
+' : '').'</div>
+';},'flow_edit_topic_title' => function ($cx, $in) {return '<form method="POST" action="'.htmlentities((string)((isset($in['actions']['edit']['url']) && is_array($in['actions']['edit'])) ? $in['actions']['edit']['url'] : null), ENT_QUOTES, 'UTF-8').'">
+'.LCRun3::p($cx, 'flow_errors', array(array($in),array())).' <input type="hidden" name="wpEditToken" value="'.htmlentities((string)((isset($cx['sp_vars']['root']['editToken']) && is_array($cx['sp_vars']['root'])) ? $cx['sp_vars']['root']['editToken'] : null), ENT_QUOTES, 'UTF-8').'" />
+ <input type="hidden" name="topic_prev_revision" value="'.htmlentities((string)((isset($in['revisionId']) && is_array($in)) ? $in['revisionId'] : null), ENT_QUOTES, 'UTF-8').'" />
+ <input name="topic_content" class="mw-ui-input" value="'.((LCRun3::ifvar($cx, ((isset($cx['sp_vars']['root']['submitted']['content']) && is_array($cx['sp_vars']['root']['submitted'])) ? $cx['sp_vars']['root']['submitted']['content'] : null))) ? ''.htmlentities((string)((isset($cx['sp_vars']['root']['submitted']['content']) && is_array($cx['sp_vars']['root']['submitted'])) ? $cx['sp_vars']['root']['submitted']['content'] : null), ENT_QUOTES, 'UTF-8').'' : ''.htmlentities((string)((isset($in['content']['content']) && is_array($in['content'])) ? $in['content']['content'] : null), ENT_QUOTES, 'UTF-8').'').'" />
+ <div class="flow-form-actions flow-form-collapsible">
+ <button data-role="submit"
+ data-flow-api-handler="submitTopicTitle"
+ data-flow-api-target="< .flow-topic"
+ class="mw-ui-button mw-ui-constructive">'.LCRun3::ch($cx, 'l10n', array(array('flow-edit-title-submit'),array()), 'encq').'</button>
+
+'.LCRun3::hbch($cx, 'progressiveEnhancement', array(array(),array()), $in, false, function($cx, $in) {return ' <button data-role="cancel"
+ type="reset"
+ data-flow-interactive-handler="cancelForm"
+ class="mw-ui-button mw-ui-destructive mw-ui-quiet">'.LCRun3::ch($cx, 'l10n', array(array('flow-cancel'),array()), 'encq').'</button>
+ <small class="flow-terms-of-use plainlinks">'.LCRun3::ch($cx, 'l10nParse', array(array('flow-terms-of-use-edit'),array()), 'encq').'</small>
+';}).' </div>
+</form>
+';},),
+ 'scopes' => array($in),
+ 'sp_vars' => array('root' => $in),
+
+ );
+
+ return '<div class="flow-board">
+
+'.LCRun3::sec($cx, ((isset($in['roots']) && is_array($in)) ? $in['roots'] : null), $in, true, function($cx, $in) {return ''.LCRun3::hbch($cx, 'eachPost', array(array(((isset($cx['sp_vars']['root']) && is_array($cx['sp_vars'])) ? $cx['sp_vars']['root'] : null),$in),array()), $in, false, function($cx, $in) {return ''.LCRun3::p($cx, 'flow_edit_topic_title', array(array($in),array())).'';}).'';}).'</div>
+';
+}
+?> \ No newline at end of file
diff --git a/Flow/handlebars/compiled/flow_block_topic_history.handlebars.php b/Flow/handlebars/compiled/flow_block_topic_history.handlebars.php
new file mode 100644
index 00000000..19560919
--- /dev/null
+++ b/Flow/handlebars/compiled/flow_block_topic_history.handlebars.php
@@ -0,0 +1,144 @@
+<?php return function ($in, $debugopt = 1) {
+ $cx = array(
+ 'flags' => array(
+ 'jstrue' => false,
+ 'jsobj' => false,
+ 'spvar' => true,
+ 'prop' => false,
+ 'method' => false,
+ 'mustlok' => false,
+ 'mustsec' => false,
+ 'echo' => false,
+ 'debug' => $debugopt,
+ ),
+ 'constants' => array(),
+ 'helpers' => array( 'l10n' => 'Flow\TemplateHelper::l10n',
+ 'html' => 'Flow\TemplateHelper::htmlHelper',
+ 'historyTimestamp' => 'Flow\TemplateHelper::historyTimestamp',
+ 'historyDescription' => 'Flow\TemplateHelper::historyDescription',
+ 'showCharacterDifference' => 'Flow\TemplateHelper::showCharacterDifference',
+ 'concat' => 'Flow\TemplateHelper::concat',
+),
+ 'blockhelpers' => array(),
+ 'hbhelpers' => array( 'ifCond' => 'Flow\TemplateHelper::ifCond',
+),
+ 'partials' => array('flow_moderation_actions_list' => function ($cx, $in) {return '<section>'.LCRun3::hbch($cx, 'ifCond', array(array(((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'===','topic'),array()), $in, false, function($cx, $in) {return ''.((LCRun3::ifvar($cx, ((isset($in['actions']['edit']) && is_array($in['actions'])) ? $in['actions']['edit'] : null))) ? '<li class="flow-js">'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['edit']['url']) && is_array($in['actions']['edit'])) ? $in['actions']['edit']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['edit']['title']) && is_array($in['actions']['edit'])) ? $in['actions']['edit']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-handler="activateEditTitle"
+ data-flow-api-target="< .flow-topic-titlebar"
+ >'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-pencil"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-edit-title'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['links']['topic-history']) && is_array($in['links'])) ? $in['links']['topic-history'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['links']['topic-history']['url']) && is_array($in['links']['topic-history'])) ? $in['links']['topic-history']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['links']['topic-history']['title']) && is_array($in['links']['topic-history'])) ? $in['links']['topic-history']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-clock"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-history'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['links']['topic']) && is_array($in['links'])) ? $in['links']['topic'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['links']['topic']['url']) && is_array($in['links']['topic'])) ? $in['links']['topic']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['links']['topic']['title']) && is_array($in['links']['topic'])) ? $in['links']['topic']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-link"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-view'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['summarize']) && is_array($in['actions'])) ? $in['actions']['summarize'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-progressive mw-ui-quiet"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-handler="activateSummarizeTopic"
+ data-flow-api-target="< .flow-topic-titlebar .flow-topic-summary-container"
+ href="'.htmlentities((string)((isset($in['actions']['summarize']['url']) && is_array($in['actions']['summarize'])) ? $in['actions']['summarize']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['summarize']['title']) && is_array($in['actions']['summarize'])) ? $in['actions']['summarize']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-stripe-toc"></span> ' : '').''.((LCRun3::ifvar($cx, ((isset($in['summary']) && is_array($in)) ? $in['summary'] : null))) ? ''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-resummarize-topic'),array()), 'raw')),array()), 'encq').'' : ''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-summarize-topic'),array()), 'raw')),array()), 'encq').'').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').'';}).''.LCRun3::hbch($cx, 'ifCond', array(array(((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'===','post'),array()), $in, false, function($cx, $in) {return ''.((LCRun3::ifvar($cx, ((isset($in['actions']['edit']) && is_array($in['actions'])) ? $in['actions']['edit'] : null))) ? '<li>
+ <a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-progressive mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['edit']['url']) && is_array($in['actions']['edit'])) ? $in['actions']['edit']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['edit']['title']) && is_array($in['actions']['edit'])) ? $in['actions']['edit']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-api-handler="activateEditPost"
+ data-flow-api-target="< .flow-post-main"
+ data-flow-interactive-handler="apiRequest"
+ >'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-pencil"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array('flow-post-action-edit-post'),array()), 'encq').'</a>
+ </li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['links']['post']) && is_array($in['links'])) ? $in['links']['post'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['links']['post']['url']) && is_array($in['links']['post'])) ? $in['links']['post']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['links']['post']['title']) && is_array($in['links']['post'])) ? $in['links']['post']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-link"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-view'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').'';}).'</section>
+
+<section>'.LCRun3::hbch($cx, 'ifCond', array(array(((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'===','history'),array()), $in, false, function($cx, $in) {return ''.((LCRun3::ifvar($cx, ((isset($in['actions']['undo']) && is_array($in['actions'])) ? $in['actions']['undo'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['undo']['url']) && is_array($in['actions']['undo'])) ? $in['actions']['undo']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ >'.htmlentities((string)((isset($in['actions']['undo']['title']) && is_array($in['actions']['undo'])) ? $in['actions']['undo']['title'] : null), ENT_QUOTES, 'UTF-8').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').'';}).''.((LCRun3::ifvar($cx, ((isset($in['actions']['hide']) && is_array($in['actions'])) ? $in['actions']['hide'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['hide']['url']) && is_array($in['actions']['hide'])) ? $in['actions']['hide']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['hide']['title']) && is_array($in['actions']['hide'])) ? $in['actions']['hide']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_'.htmlentities((string)((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null), ENT_QUOTES, 'UTF-8').'.partial"
+ data-role="hide">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-flag"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-hide-',((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null)),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['unhide']) && is_array($in['actions'])) ? $in['actions']['unhide'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['unhide']['url']) && is_array($in['actions']['unhide'])) ? $in['actions']['unhide']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['unhide']['title']) && is_array($in['actions']['unhide'])) ? $in['actions']['unhide']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_'.htmlentities((string)((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null), ENT_QUOTES, 'UTF-8').'.partial"
+ data-role="unhide">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-flag"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-unhide-',((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null)),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['delete']) && is_array($in['actions'])) ? $in['actions']['delete'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['delete']['url']) && is_array($in['actions']['delete'])) ? $in['actions']['delete']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['delete']['title']) && is_array($in['actions']['delete'])) ? $in['actions']['delete']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_'.htmlentities((string)((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null), ENT_QUOTES, 'UTF-8').'.partial"
+ data-role="delete">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-trash"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-delete-',((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null)),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['undelete']) && is_array($in['actions'])) ? $in['actions']['undelete'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['undelete']['url']) && is_array($in['actions']['undelete'])) ? $in['actions']['undelete']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['undelete']['title']) && is_array($in['actions']['undelete'])) ? $in['actions']['undelete']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_'.htmlentities((string)((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null), ENT_QUOTES, 'UTF-8').'.partial"
+ data-role="undelete">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-trash"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-undelete-',((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null)),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['suppress']) && is_array($in['actions'])) ? $in['actions']['suppress'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['suppress']['url']) && is_array($in['actions']['suppress'])) ? $in['actions']['suppress']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['suppress']['title']) && is_array($in['actions']['suppress'])) ? $in['actions']['suppress']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_'.htmlentities((string)((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null), ENT_QUOTES, 'UTF-8').'.partial"
+ data-role="suppress">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-block"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-suppress-',((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null)),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['unsuppress']) && is_array($in['actions'])) ? $in['actions']['unsuppress'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['unsuppress']['url']) && is_array($in['actions']['unsuppress'])) ? $in['actions']['unsuppress']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['unsuppress']['title']) && is_array($in['actions']['unsuppress'])) ? $in['actions']['unsuppress']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_'.htmlentities((string)((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null), ENT_QUOTES, 'UTF-8').'.partial"
+ data-role="unsuppress">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-block"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-unsuppress-',((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null)),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.LCRun3::hbch($cx, 'ifCond', array(array(((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'===','history'),array()), $in, false, function($cx, $in) {return ''.((LCRun3::ifvar($cx, ((isset($in['actions']['lock']) && is_array($in['actions'])) ? $in['actions']['lock'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_topic.partial"
+ data-role="lock"
+ data-flow-id="'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'"
+ href="'.htmlentities((string)((isset($in['actions']['lock']['url']) && is_array($in['actions']['lock'])) ? $in['actions']['lock']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['lock']['title']) && is_array($in['actions']['lock'])) ? $in['actions']['lock']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-lock"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-lock-topic'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['unlock']) && is_array($in['actions'])) ? $in['actions']['unlock'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_topic.partial"
+ data-role="unlock"
+ data-flow-id="'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'"
+ href="'.htmlentities((string)((isset($in['actions']['unlock']['url']) && is_array($in['actions']['unlock'])) ? $in['actions']['unlock']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['unlock']['title']) && is_array($in['actions']['unlock'])) ? $in['actions']['unlock']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-unlock"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-unlock-topic'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').'';}, function($cx, $in) {return ''.((LCRun3::ifvar($cx, ((isset($in['actions']['lock']) && is_array($in['actions'])) ? $in['actions']['lock'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-handler="activateLockTopic"
+ data-flow-id="'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-api-target="< .flow-topic-titlebar .flow-topic-summary-container"
+ href="'.htmlentities((string)((isset($in['actions']['lock']['url']) && is_array($in['actions']['lock'])) ? $in['actions']['lock']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['lock']['title']) && is_array($in['actions']['lock'])) ? $in['actions']['lock']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-lock"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-lock-topic'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['unlock']) && is_array($in['actions'])) ? $in['actions']['unlock'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-handler="activateLockTopic"
+ data-flow-id="'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-api-target="< .flow-topic-titlebar .flow-topic-summary-container"
+ href="'.htmlentities((string)((isset($in['actions']['unlock']['url']) && is_array($in['actions']['unlock'])) ? $in['actions']['unlock']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['unlock']['title']) && is_array($in['actions']['unlock'])) ? $in['actions']['unlock']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-unlock"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-unlock-topic'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').'';}).'</section>
+';},'flow_history_line' => function ($cx, $in) {return '<span class="flow-pipelist">
+ ('.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<span>'.((LCRun3::ifvar($cx, ((isset($in['links']['diff-cur']) && is_array($in['links'])) ? $in['links']['diff-cur'] : null))) ? '<a href="'.htmlentities((string)((isset($in['links']['diff-cur']['url']) && is_array($in['links']['diff-cur'])) ? $in['links']['diff-cur']['url'] : null), ENT_QUOTES, 'UTF-8').'" title="'.htmlentities((string)((isset($in['links']['diff-cur']['title']) && is_array($in['links']['diff-cur'])) ? $in['links']['diff-cur']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.htmlentities((string)((isset($in['links']['diff-cur']['text']) && is_array($in['links']['diff-cur'])) ? $in['links']['diff-cur']['text'] : null), ENT_QUOTES, 'UTF-8').'</a>' : ''.LCRun3::ch($cx, 'l10n', array(array('cur'),array()), 'encq').'').'</span>
+ <span>
+'.((LCRun3::ifvar($cx, ((isset($in['links']['diff-prev']) && is_array($in['links'])) ? $in['links']['diff-prev'] : null))) ? ' <a href="'.htmlentities((string)((isset($in['links']['diff-prev']['url']) && is_array($in['links']['diff-prev'])) ? $in['links']['diff-prev']['url'] : null), ENT_QUOTES, 'UTF-8').'" title="'.htmlentities((string)((isset($in['links']['diff-prev']['title']) && is_array($in['links']['diff-prev'])) ? $in['links']['diff-prev']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.htmlentities((string)((isset($in['links']['diff-prev']['text']) && is_array($in['links']['diff-prev'])) ? $in['links']['diff-prev']['text'] : null), ENT_QUOTES, 'UTF-8').'</a>' : ''.LCRun3::ch($cx, 'l10n', array(array('last'),array()), 'encq').'').'</span>'.((LCRun3::ifvar($cx, ((isset($in['links']['topic']) && is_array($in['links'])) ? $in['links']['topic'] : null))) ? ' <span><a href="'.htmlentities((string)((isset($in['links']['topic']['url']) && is_array($in['links']['topic'])) ? $in['links']['topic']['url'] : null), ENT_QUOTES, 'UTF-8').'" title="'.htmlentities((string)((isset($in['links']['topic']['title']) && is_array($in['links']['topic'])) ? $in['links']['topic']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.htmlentities((string)((isset($in['links']['topic']['text']) && is_array($in['links']['topic'])) ? $in['links']['topic']['text'] : null), ENT_QUOTES, 'UTF-8').'</a></span>' : '').')
+</span>
+
+'.LCRun3::ch($cx, 'historyTimestamp', array(array($in),array()), 'encq').'
+
+<span class="mw-changeslist-separator">. .</span>
+'.LCRun3::ch($cx, 'historyDescription', array(array($in),array()), 'encq').'
+
+'.((LCRun3::ifvar($cx, ((isset($in['size']) && is_array($in)) ? $in['size'] : null))) ? ' <span class="mw-changeslist-separator">. .</span>
+ '.LCRun3::ch($cx, 'showCharacterDifference', array(array(((isset($in['size']['old']) && is_array($in['size'])) ? $in['size']['old'] : null),((isset($in['size']['new']) && is_array($in['size'])) ? $in['size']['new'] : null)),array()), 'encq').'
+' : '').'
+<ul class="flow-history-moderation-menu">
+'.LCRun3::p($cx, 'flow_moderation_actions_list', array(array($in),array('moderationType'=>'history','moderationTarget'=>'post','moderationTemplate'=>'post','moderationMwUiClass'=>'mw-ui-anchor','moderationIcons'=>false))).'</ul>
+';},),
+ 'scopes' => array($in),
+ 'sp_vars' => array('root' => $in),
+
+ );
+
+ return '<div class="flow-board">
+ <div class="flow-topic-histories">
+ '.LCRun3::ch($cx, 'html', array(array(((isset($in['navbar']) && is_array($in)) ? $in['navbar'] : null)),array()), 'encq').'
+
+ <ul>
+'.LCRun3::sec($cx, ((isset($in['revisions']) && is_array($in)) ? $in['revisions'] : null), $in, true, function($cx, $in) {return ' <li>'.LCRun3::p($cx, 'flow_history_line', array(array($in),array())).'</li>
+';}).' </ul>
+
+ '.LCRun3::ch($cx, 'html', array(array(((isset($in['navbar']) && is_array($in)) ? $in['navbar'] : null)),array()), 'encq').'
+ </div>
+</div>
+';
+}
+?> \ No newline at end of file
diff --git a/Flow/handlebars/compiled/flow_block_topic_lock.handlebars.php b/Flow/handlebars/compiled/flow_block_topic_lock.handlebars.php
new file mode 100644
index 00000000..2a0dd0ff
--- /dev/null
+++ b/Flow/handlebars/compiled/flow_block_topic_lock.handlebars.php
@@ -0,0 +1,76 @@
+<?php return function ($in, $debugopt = 1) {
+ $cx = array(
+ 'flags' => array(
+ 'jstrue' => false,
+ 'jsobj' => false,
+ 'spvar' => true,
+ 'prop' => false,
+ 'method' => false,
+ 'mustlok' => false,
+ 'mustsec' => false,
+ 'echo' => false,
+ 'debug' => $debugopt,
+ ),
+ 'constants' => array(),
+ 'helpers' => array( 'l10n' => 'Flow\TemplateHelper::l10n',
+ 'html' => 'Flow\TemplateHelper::htmlHelper',
+ 'l10nParse' => 'Flow\TemplateHelper::l10nParse',
+),
+ 'blockhelpers' => array(),
+ 'hbhelpers' => array(),
+ 'partials' => array('flow_errors' => function ($cx, $in) {return '<div class="flow-error-container">
+'.((LCRun3::ifvar($cx, ((isset($cx['sp_vars']['root']['errors']) && is_array($cx['sp_vars']['root'])) ? $cx['sp_vars']['root']['errors'] : null))) ? ' <div class="flow-errors errorbox">
+ <ul>
+'.LCRun3::sec($cx, ((isset($cx['sp_vars']['root']['errors']) && is_array($cx['sp_vars']['root'])) ? $cx['sp_vars']['root']['errors'] : null), $in, true, function($cx, $in) {return ' <li>'.LCRun3::ch($cx, 'html', array(array(((isset($in['message']) && is_array($in)) ? $in['message'] : null)),array()), 'encq').'</li>
+';}).' </ul>
+ </div>
+' : '').'</div>
+';},'flow_form_buttons' => function ($cx, $in) {return '<button data-flow-interactive-handler="cancelForm"
+ data-role="cancel"
+ type="reset"
+ class="mw-ui-button mw-ui-destructive mw-ui-quiet mw-ui-flush-right flow-js"
+
+>'.LCRun3::ch($cx, 'l10n', array(array('flow-cancel'),array()), 'encq').'</button>
+';},'flow_topic_titlebar_lock' => function ($cx, $in) {return '<div class="flow-topic-summary-container">
+ <div class="flow-topic-summary">
+ <form class="flow-edit-form" data-flow-initial-state="collapsed" method="POST"
+ action="'.((LCRun3::ifvar($cx, ((isset($in['isModerated']) && is_array($in)) ? $in['isModerated'] : null))) ? ''.htmlentities((string)((isset($in['actions']['unlock']['url']) && is_array($in['actions']['unlock'])) ? $in['actions']['unlock']['url'] : null), ENT_QUOTES, 'UTF-8').'' : ''.htmlentities((string)((isset($in['actions']['lock']['url']) && is_array($in['actions']['lock'])) ? $in['actions']['lock']['url'] : null), ENT_QUOTES, 'UTF-8').'').'">
+'.LCRun3::p($cx, 'flow_errors', array(array($in),array())).' <input type="hidden" name="wpEditToken" value="'.htmlentities((string)((isset($cx['sp_vars']['root']['editToken']) && is_array($cx['sp_vars']['root'])) ? $cx['sp_vars']['root']['editToken'] : null), ENT_QUOTES, 'UTF-8').'" />
+ <div class="flow-editor">
+ <textarea name="flow_reason"
+ class="mw-ui-input"
+ type="text"
+ required
+ data-flow-preview-node="moderateReason"
+ data-flow-preview-template="flow_topic_titlebar.partial"
+ data-flow-preview-title="'.htmlentities((string)((isset($in['articleTitle']) && is_array($in)) ? $in['articleTitle'] : null), ENT_QUOTES, 'UTF-8').'"
+ >'.((LCRun3::ifvar($cx, ((isset($cx['sp_vars']['root']['submitted']['reason']) && is_array($cx['sp_vars']['root']['submitted'])) ? $cx['sp_vars']['root']['submitted']['reason'] : null))) ? ''.htmlentities((string)((isset($cx['sp_vars']['root']['submitted']['reason']) && is_array($cx['sp_vars']['root']['submitted'])) ? $cx['sp_vars']['root']['submitted']['reason'] : null), ENT_QUOTES, 'UTF-8').'' : '').'</textarea>
+ </div>
+ <div class="flow-form-actions flow-form-collapsible">
+ <button data-role="submit"
+ class="mw-ui-button mw-ui-constructive"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-target="< .flow-topic"
+ data-flow-api-handler="lockTopic"
+ >
+'.((LCRun3::ifvar($cx, ((isset($in['isModerated']) && is_array($in)) ? $in['isModerated'] : null))) ? ' '.LCRun3::ch($cx, 'l10n', array(array('flow-topic-action-unlock-topic'),array()), 'encq').'
+' : ' '.LCRun3::ch($cx, 'l10n', array(array('flow-topic-action-lock-topic'),array()), 'encq').'
+').' </button>
+'.LCRun3::p($cx, 'flow_form_buttons', array(array($in),array())).' <small class="flow-terms-of-use plainlinks">
+'.((LCRun3::ifvar($cx, ((isset($in['isModerated']) && is_array($in)) ? $in['isModerated'] : null))) ? ' '.LCRun3::ch($cx, 'l10nParse', array(array('flow-terms-of-use-unlock-topic'),array()), 'encq').'
+' : ' '.LCRun3::ch($cx, 'l10nParse', array(array('flow-terms-of-use-lock-topic'),array()), 'encq').'
+').' </small>
+ </div>
+ </form>
+ </div>
+</div>
+';},),
+ 'scopes' => array($in),
+ 'sp_vars' => array('root' => $in),
+
+ );
+
+ return ''.LCRun3::p($cx, 'flow_topic_titlebar_lock', array(array($in),array())).'
+';
+}
+?> \ No newline at end of file
diff --git a/Flow/handlebars/compiled/flow_block_topic_moderate_post.handlebars.php b/Flow/handlebars/compiled/flow_block_topic_moderate_post.handlebars.php
new file mode 100644
index 00000000..ff8c4e4b
--- /dev/null
+++ b/Flow/handlebars/compiled/flow_block_topic_moderate_post.handlebars.php
@@ -0,0 +1,308 @@
+<?php return function ($in, $debugopt = 1) {
+ $cx = array(
+ 'flags' => array(
+ 'jstrue' => false,
+ 'jsobj' => false,
+ 'spvar' => true,
+ 'prop' => false,
+ 'method' => false,
+ 'mustlok' => false,
+ 'mustsec' => false,
+ 'echo' => false,
+ 'debug' => $debugopt,
+ ),
+ 'constants' => array(),
+ 'helpers' => array( 'l10n' => 'Flow\TemplateHelper::l10n',
+ 'uuidTimestamp' => 'Flow\TemplateHelper::uuidTimestamp',
+ 'html' => 'Flow\TemplateHelper::htmlHelper',
+ 'post' => 'Flow\TemplateHelper::post',
+ 'l10nParse' => 'Flow\TemplateHelper::l10nParse',
+ 'moderationAction' => 'Flow\TemplateHelper::moderationAction',
+ 'concat' => 'Flow\TemplateHelper::concat',
+ 'linkWithReturnTo' => 'Flow\TemplateHelper::linkWithReturnTo',
+ 'escapeContent' => 'Flow\TemplateHelper::escapeContent',
+),
+ 'blockhelpers' => array(),
+ 'hbhelpers' => array( 'eachPost' => 'Flow\TemplateHelper::eachPost',
+ 'ifAnonymous' => 'Flow\TemplateHelper::ifAnonymous',
+ 'ifCond' => 'Flow\TemplateHelper::ifCond',
+ 'tooltip' => 'Flow\TemplateHelper::tooltip',
+ 'progressiveEnhancement' => 'Flow\TemplateHelper::progressiveEnhancement',
+),
+ 'partials' => array('flow_errors' => function ($cx, $in) {return '<div class="flow-error-container">
+'.((LCRun3::ifvar($cx, ((isset($cx['sp_vars']['root']['errors']) && is_array($cx['sp_vars']['root'])) ? $cx['sp_vars']['root']['errors'] : null))) ? ' <div class="flow-errors errorbox">
+ <ul>
+'.LCRun3::sec($cx, ((isset($cx['sp_vars']['root']['errors']) && is_array($cx['sp_vars']['root'])) ? $cx['sp_vars']['root']['errors'] : null), $in, true, function($cx, $in) {return ' <li>'.LCRun3::ch($cx, 'html', array(array(((isset($in['message']) && is_array($in)) ? $in['message'] : null)),array()), 'encq').'</li>
+';}).' </ul>
+ </div>
+' : '').'</div>
+';},'flow_moderate_post' => function ($cx, $in) {return '<form method="POST" action="'.LCRun3::ch($cx, 'moderationAction', array(array(((isset($in['actions']) && is_array($in)) ? $in['actions'] : null),((isset($cx['sp_vars']['root']['submitted']['moderationState']) && is_array($cx['sp_vars']['root']['submitted'])) ? $cx['sp_vars']['root']['submitted']['moderationState'] : null)),array()), 'encq').'">
+'.LCRun3::p($cx, 'flow_errors', array(array($in),array())).' <input type="hidden" name="wpEditToken" value="'.htmlentities((string)((isset($cx['sp_vars']['root']['editToken']) && is_array($cx['sp_vars']['root'])) ? $cx['sp_vars']['root']['editToken'] : null), ENT_QUOTES, 'UTF-8').'" />
+ <div class="flow-editor">
+ <textarea name="topic_reason"
+ required
+ data-flow-expandable="true"
+ class="mw-ui-input"
+ data-role="content"
+ placeholder="'.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-moderation-placeholder-',((isset($cx['sp_vars']['root']['submitted']['moderationState']) && is_array($cx['sp_vars']['root']['submitted'])) ? $cx['sp_vars']['root']['submitted']['moderationState'] : null),'-post'),array()), 'raw')),array()), 'encq').'"
+ autofocus
+ >'.((LCRun3::ifvar($cx, ((isset($cx['sp_vars']['root']['submitted']['reason']) && is_array($cx['sp_vars']['root']['submitted'])) ? $cx['sp_vars']['root']['submitted']['reason'] : null))) ? ''.htmlentities((string)((isset($cx['sp_vars']['root']['submitted']['reason']) && is_array($cx['sp_vars']['root']['submitted'])) ? $cx['sp_vars']['root']['submitted']['reason'] : null), ENT_QUOTES, 'UTF-8').'' : '').'</textarea>
+ </div>
+ <div class="flow-form-actions flow-form-collapsible">
+ <button data-flow-interactive-handler="apiRequest"
+ data-flow-api-handler="moderatePost"
+ class="mw-ui-button mw-ui-constructive"
+ data-role="submit">'.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-moderation-confirm-',((isset($cx['sp_vars']['root']['submitted']['moderationState']) && is_array($cx['sp_vars']['root']['submitted'])) ? $cx['sp_vars']['root']['submitted']['moderationState'] : null),'-post'),array()), 'raw')),array()), 'encq').'</button>
+ <a data-flow-interactive-handler="cancelForm"
+ class="mw-ui-button mw-ui-destructive mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['links']['topic']['url']) && is_array($in['links']['topic'])) ? $in['links']['topic']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.LCRun3::ch($cx, 'l10n', array(array('flow-cancel'),array()), 'encq').'">'.LCRun3::ch($cx, 'l10n', array(array('flow-cancel'),array()), 'encq').'</a>
+ </div>
+</form>
+';},'flow_post_author' => function ($cx, $in) {return '<span class="flow-author">
+'.((LCRun3::ifvar($cx, ((isset($in['links']) && is_array($in)) ? $in['links'] : null))) ? ''.((LCRun3::ifvar($cx, ((isset($in['links']['userpage']) && is_array($in['links'])) ? $in['links']['userpage'] : null))) ? ' <a href="'.htmlentities((string)((isset($in['links']['userpage']['url']) && is_array($in['links']['userpage'])) ? $in['links']['userpage']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ '.((!LCRun3::ifvar($cx, ((isset($in['name']) && is_array($in)) ? $in['name'] : null))) ? 'title="'.htmlentities((string)((isset($in['links']['userpage']['title']) && is_array($in['links']['userpage'])) ? $in['links']['userpage']['title'] : null), ENT_QUOTES, 'UTF-8').'"' : '').'
+ class="'.((!LCRun3::ifvar($cx, ((isset($in['links']['userpage']['exists']) && is_array($in['links']['userpage'])) ? $in['links']['userpage']['exists'] : null))) ? 'new ' : '').'mw-userlink">
+' : '').''.((LCRun3::ifvar($cx, ((isset($in['name']) && is_array($in)) ? $in['name'] : null))) ? ''.htmlentities((string)((isset($in['name']) && is_array($in)) ? $in['name'] : null), ENT_QUOTES, 'UTF-8').'' : ''.LCRun3::ch($cx, 'l10n', array(array('flow-anonymous'),array()), 'encq').'').''.((LCRun3::ifvar($cx, ((isset($in['links']['userpage']) && is_array($in['links'])) ? $in['links']['userpage'] : null))) ? '</a>' : '').'<span class="mw-usertoollinks flow-pipelist">
+ ('.((LCRun3::ifvar($cx, ((isset($in['links']['talk']) && is_array($in['links'])) ? $in['links']['talk'] : null))) ? '<span><a href="'.htmlentities((string)((isset($in['links']['talk']['url']) && is_array($in['links']['talk'])) ? $in['links']['talk']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ class="'.((!LCRun3::ifvar($cx, ((isset($in['links']['talk']['exists']) && is_array($in['links']['talk'])) ? $in['links']['talk']['exists'] : null))) ? 'new ' : '').'"
+ title="'.htmlentities((string)((isset($in['links']['talk']['title']) && is_array($in['links']['talk'])) ? $in['links']['talk']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.LCRun3::ch($cx, 'l10n', array(array('talkpagelinktext'),array()), 'encq').'</a></span>' : '').''.((LCRun3::ifvar($cx, ((isset($in['links']['contribs']) && is_array($in['links'])) ? $in['links']['contribs'] : null))) ? '<span><a href="'.htmlentities((string)((isset($in['links']['contribs']['url']) && is_array($in['links']['contribs'])) ? $in['links']['contribs']['url'] : null), ENT_QUOTES, 'UTF-8').'" title="'.htmlentities((string)((isset($in['links']['contribs']['title']) && is_array($in['links']['contribs'])) ? $in['links']['contribs']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.LCRun3::ch($cx, 'l10n', array(array('contribslink'),array()), 'encq').'</a></span>' : '').''.((LCRun3::ifvar($cx, ((isset($in['links']['block']) && is_array($in['links'])) ? $in['links']['block'] : null))) ? '<span><a class="'.((!LCRun3::ifvar($cx, ((isset($in['links']['block']['exists']) && is_array($in['links']['block'])) ? $in['links']['block']['exists'] : null))) ? 'new ' : '').'"
+ href="'.htmlentities((string)((isset($in['links']['block']['url']) && is_array($in['links']['block'])) ? $in['links']['block']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['links']['block']['title']) && is_array($in['links']['block'])) ? $in['links']['block']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.LCRun3::ch($cx, 'l10n', array(array('blocklink'),array()), 'encq').'</a></span>' : '').')
+ </span>
+' : '').'</span>
+';},'flow_post_moderation_state' => function ($cx, $in) {return '<span class="plainlinks">'.((LCRun3::ifvar($cx, ((isset($in['replyToId']) && is_array($in)) ? $in['replyToId'] : null))) ? ''.LCRun3::ch($cx, 'l10nParse', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderateState']) && is_array($in)) ? $in['moderateState'] : null),'-post-content'),array()), 'raw'),((isset($in['moderator']['name']) && is_array($in['moderator'])) ? $in['moderator']['name'] : null),((isset($in['links']['topic-history']['url']) && is_array($in['links']['topic-history'])) ? $in['links']['topic-history']['url'] : null)),array()), 'encq').'' : ''.LCRun3::ch($cx, 'l10nParse', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderateState']) && is_array($in)) ? $in['moderateState'] : null),'-title-content'),array()), 'raw'),((isset($in['moderator']['name']) && is_array($in['moderator'])) ? $in['moderator']['name'] : null),((isset($in['links']['topic-history']['url']) && is_array($in['links']['topic-history'])) ? $in['links']['topic-history']['url'] : null)),array()), 'encq').'').'</span>
+';},'flow_post_meta_actions' => function ($cx, $in) {return '<div class="flow-post-meta">
+ <span class="flow-post-meta-actions">
+'.((LCRun3::ifvar($cx, ((isset($in['actions']['reply']) && is_array($in['actions'])) ? $in['actions']['reply'] : null))) ? ' <a href="'.htmlentities((string)((isset($in['actions']['reply']['url']) && is_array($in['actions']['reply'])) ? $in['actions']['reply']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['reply']['title']) && is_array($in['actions']['reply'])) ? $in['actions']['reply']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ class="mw-ui-anchor mw-ui-progressive mw-ui-quiet"
+ data-flow-interactive-handler="activateReplyPost"
+
+ data-flow-eventlog-schema="FlowReplies"
+ data-flow-eventlog-action="initiate"
+ data-flow-eventlog-entrypoint="reply-post"
+ data-flow-eventlog-forward="
+ < .flow-post:not([data-flow-post-max-depth=\'1\']) .flow-reply-form [data-role=\'cancel\'],
+ < .flow-post:not([data-flow-post-max-depth=\'1\']) .flow-reply-form [data-role=\'action\'][name=\'preview\'],
+ < .flow-post:not([data-flow-post-max-depth=\'1\']) .flow-reply-form [data-role=\'submit\']
+ "
+ >'.htmlentities((string)((isset($in['actions']['reply']['text']) && is_array($in['actions']['reply'])) ? $in['actions']['reply']['text'] : null), ENT_QUOTES, 'UTF-8').'</a>
+' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['thank']) && is_array($in['actions'])) ? $in['actions']['thank'] : null))) ? ' <a class="mw-ui-anchor mw-ui-constructive mw-ui-quiet mw-thanks-flow-thank-link"
+ href="'.htmlentities((string)((isset($in['actions']['thank']['url']) && is_array($in['actions']['thank'])) ? $in['actions']['thank']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['thank']['title']) && is_array($in['actions']['thank'])) ? $in['actions']['thank']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.htmlentities((string)((isset($in['actions']['thank']['text']) && is_array($in['actions']['thank'])) ? $in['actions']['thank']['text'] : null), ENT_QUOTES, 'UTF-8').'</a>
+' : '').' </span>
+
+ <span class="flow-post-timestamp">
+'.((LCRun3::ifvar($cx, ((isset($in['isOriginalContent']) && is_array($in)) ? $in['isOriginalContent'] : null))) ? ' <a href="'.htmlentities((string)((isset($in['links']['topic-history']['url']) && is_array($in['links']['topic-history'])) ? $in['links']['topic-history']['url'] : null), ENT_QUOTES, 'UTF-8').'" class="flow-timestamp-anchor">
+ '.LCRun3::ch($cx, 'uuidTimestamp', array(array(((isset($in['postId']) && is_array($in)) ? $in['postId'] : null)),array()), 'encq').'
+ </a>
+' : ' <span>
+'.LCRun3::hbch($cx, 'ifCond', array(array(((isset($in['creator']['name']) && is_array($in['creator'])) ? $in['creator']['name'] : null),'===',((isset($in['lastEditUser']['name']) && is_array($in['lastEditUser'])) ? $in['lastEditUser']['name'] : null)),array()), $in, false, function($cx, $in) {return ' '.LCRun3::ch($cx, 'l10n', array(array('flow-edited'),array()), 'encq').'
+';}, function($cx, $in) {return ' '.LCRun3::ch($cx, 'l10n', array(array('flow-edited-by',((isset($in['lastEditUser']['name']) && is_array($in['lastEditUser'])) ? $in['lastEditUser']['name'] : null)),array()), 'encq').'
+';}).' </span>
+ <a href="'.htmlentities((string)((isset($in['links']['topic-history']['url']) && is_array($in['links']['topic-history'])) ? $in['links']['topic-history']['url'] : null), ENT_QUOTES, 'UTF-8').'" class="flow-timestamp-anchor">'.LCRun3::ch($cx, 'uuidTimestamp', array(array(((isset($in['lastEditId']) && is_array($in)) ? $in['lastEditId'] : null)),array()), 'encq').'</a>
+').' </span>
+</div>
+';},'flow_moderation_actions_list' => function ($cx, $in) {return '<section>'.LCRun3::hbch($cx, 'ifCond', array(array(((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'===','topic'),array()), $in, false, function($cx, $in) {return ''.((LCRun3::ifvar($cx, ((isset($in['actions']['edit']) && is_array($in['actions'])) ? $in['actions']['edit'] : null))) ? '<li class="flow-js">'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['edit']['url']) && is_array($in['actions']['edit'])) ? $in['actions']['edit']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['edit']['title']) && is_array($in['actions']['edit'])) ? $in['actions']['edit']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-handler="activateEditTitle"
+ data-flow-api-target="< .flow-topic-titlebar"
+ >'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-pencil"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-edit-title'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['links']['topic-history']) && is_array($in['links'])) ? $in['links']['topic-history'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['links']['topic-history']['url']) && is_array($in['links']['topic-history'])) ? $in['links']['topic-history']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['links']['topic-history']['title']) && is_array($in['links']['topic-history'])) ? $in['links']['topic-history']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-clock"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-history'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['links']['topic']) && is_array($in['links'])) ? $in['links']['topic'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['links']['topic']['url']) && is_array($in['links']['topic'])) ? $in['links']['topic']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['links']['topic']['title']) && is_array($in['links']['topic'])) ? $in['links']['topic']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-link"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-view'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['summarize']) && is_array($in['actions'])) ? $in['actions']['summarize'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-progressive mw-ui-quiet"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-handler="activateSummarizeTopic"
+ data-flow-api-target="< .flow-topic-titlebar .flow-topic-summary-container"
+ href="'.htmlentities((string)((isset($in['actions']['summarize']['url']) && is_array($in['actions']['summarize'])) ? $in['actions']['summarize']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['summarize']['title']) && is_array($in['actions']['summarize'])) ? $in['actions']['summarize']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-stripe-toc"></span> ' : '').''.((LCRun3::ifvar($cx, ((isset($in['summary']) && is_array($in)) ? $in['summary'] : null))) ? ''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-resummarize-topic'),array()), 'raw')),array()), 'encq').'' : ''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-summarize-topic'),array()), 'raw')),array()), 'encq').'').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').'';}).''.LCRun3::hbch($cx, 'ifCond', array(array(((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'===','post'),array()), $in, false, function($cx, $in) {return ''.((LCRun3::ifvar($cx, ((isset($in['actions']['edit']) && is_array($in['actions'])) ? $in['actions']['edit'] : null))) ? '<li>
+ <a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-progressive mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['edit']['url']) && is_array($in['actions']['edit'])) ? $in['actions']['edit']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['edit']['title']) && is_array($in['actions']['edit'])) ? $in['actions']['edit']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-api-handler="activateEditPost"
+ data-flow-api-target="< .flow-post-main"
+ data-flow-interactive-handler="apiRequest"
+ >'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-pencil"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array('flow-post-action-edit-post'),array()), 'encq').'</a>
+ </li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['links']['post']) && is_array($in['links'])) ? $in['links']['post'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['links']['post']['url']) && is_array($in['links']['post'])) ? $in['links']['post']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['links']['post']['title']) && is_array($in['links']['post'])) ? $in['links']['post']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-link"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-view'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').'';}).'</section>
+
+<section>'.LCRun3::hbch($cx, 'ifCond', array(array(((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'===','history'),array()), $in, false, function($cx, $in) {return ''.((LCRun3::ifvar($cx, ((isset($in['actions']['undo']) && is_array($in['actions'])) ? $in['actions']['undo'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['undo']['url']) && is_array($in['actions']['undo'])) ? $in['actions']['undo']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ >'.htmlentities((string)((isset($in['actions']['undo']['title']) && is_array($in['actions']['undo'])) ? $in['actions']['undo']['title'] : null), ENT_QUOTES, 'UTF-8').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').'';}).''.((LCRun3::ifvar($cx, ((isset($in['actions']['hide']) && is_array($in['actions'])) ? $in['actions']['hide'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['hide']['url']) && is_array($in['actions']['hide'])) ? $in['actions']['hide']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['hide']['title']) && is_array($in['actions']['hide'])) ? $in['actions']['hide']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_'.htmlentities((string)((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null), ENT_QUOTES, 'UTF-8').'.partial"
+ data-role="hide">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-flag"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-hide-',((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null)),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['unhide']) && is_array($in['actions'])) ? $in['actions']['unhide'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['unhide']['url']) && is_array($in['actions']['unhide'])) ? $in['actions']['unhide']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['unhide']['title']) && is_array($in['actions']['unhide'])) ? $in['actions']['unhide']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_'.htmlentities((string)((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null), ENT_QUOTES, 'UTF-8').'.partial"
+ data-role="unhide">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-flag"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-unhide-',((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null)),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['delete']) && is_array($in['actions'])) ? $in['actions']['delete'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['delete']['url']) && is_array($in['actions']['delete'])) ? $in['actions']['delete']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['delete']['title']) && is_array($in['actions']['delete'])) ? $in['actions']['delete']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_'.htmlentities((string)((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null), ENT_QUOTES, 'UTF-8').'.partial"
+ data-role="delete">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-trash"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-delete-',((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null)),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['undelete']) && is_array($in['actions'])) ? $in['actions']['undelete'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['undelete']['url']) && is_array($in['actions']['undelete'])) ? $in['actions']['undelete']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['undelete']['title']) && is_array($in['actions']['undelete'])) ? $in['actions']['undelete']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_'.htmlentities((string)((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null), ENT_QUOTES, 'UTF-8').'.partial"
+ data-role="undelete">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-trash"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-undelete-',((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null)),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['suppress']) && is_array($in['actions'])) ? $in['actions']['suppress'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['suppress']['url']) && is_array($in['actions']['suppress'])) ? $in['actions']['suppress']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['suppress']['title']) && is_array($in['actions']['suppress'])) ? $in['actions']['suppress']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_'.htmlentities((string)((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null), ENT_QUOTES, 'UTF-8').'.partial"
+ data-role="suppress">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-block"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-suppress-',((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null)),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['unsuppress']) && is_array($in['actions'])) ? $in['actions']['unsuppress'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['unsuppress']['url']) && is_array($in['actions']['unsuppress'])) ? $in['actions']['unsuppress']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['unsuppress']['title']) && is_array($in['actions']['unsuppress'])) ? $in['actions']['unsuppress']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_'.htmlentities((string)((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null), ENT_QUOTES, 'UTF-8').'.partial"
+ data-role="unsuppress">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-block"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-unsuppress-',((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null)),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.LCRun3::hbch($cx, 'ifCond', array(array(((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'===','history'),array()), $in, false, function($cx, $in) {return ''.((LCRun3::ifvar($cx, ((isset($in['actions']['lock']) && is_array($in['actions'])) ? $in['actions']['lock'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_topic.partial"
+ data-role="lock"
+ data-flow-id="'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'"
+ href="'.htmlentities((string)((isset($in['actions']['lock']['url']) && is_array($in['actions']['lock'])) ? $in['actions']['lock']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['lock']['title']) && is_array($in['actions']['lock'])) ? $in['actions']['lock']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-lock"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-lock-topic'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['unlock']) && is_array($in['actions'])) ? $in['actions']['unlock'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_topic.partial"
+ data-role="unlock"
+ data-flow-id="'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'"
+ href="'.htmlentities((string)((isset($in['actions']['unlock']['url']) && is_array($in['actions']['unlock'])) ? $in['actions']['unlock']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['unlock']['title']) && is_array($in['actions']['unlock'])) ? $in['actions']['unlock']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-unlock"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-unlock-topic'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').'';}, function($cx, $in) {return ''.((LCRun3::ifvar($cx, ((isset($in['actions']['lock']) && is_array($in['actions'])) ? $in['actions']['lock'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-handler="activateLockTopic"
+ data-flow-id="'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-api-target="< .flow-topic-titlebar .flow-topic-summary-container"
+ href="'.htmlentities((string)((isset($in['actions']['lock']['url']) && is_array($in['actions']['lock'])) ? $in['actions']['lock']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['lock']['title']) && is_array($in['actions']['lock'])) ? $in['actions']['lock']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-lock"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-lock-topic'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['unlock']) && is_array($in['actions'])) ? $in['actions']['unlock'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-handler="activateLockTopic"
+ data-flow-id="'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-api-target="< .flow-topic-titlebar .flow-topic-summary-container"
+ href="'.htmlentities((string)((isset($in['actions']['unlock']['url']) && is_array($in['actions']['unlock'])) ? $in['actions']['unlock']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['unlock']['title']) && is_array($in['actions']['unlock'])) ? $in['actions']['unlock']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-unlock"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-unlock-topic'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').'';}).'</section>
+';},'flow_post_actions' => function ($cx, $in) {return '<div class="flow-menu flow-menu-hoverable">
+ <div class="flow-menu-js-drop"><a href="javascript:void(0);"><span class="wikiglyph wikiglyph-ellipsis"></span></a></div>
+ <ul class="mw-ui-button-container flow-list">
+'.LCRun3::p($cx, 'flow_moderation_actions_list', array(array($in),array('moderationType'=>'post','moderationTarget'=>'post','moderationTemplate'=>'post','moderationContainerClass'=>'flow-menu','moderationMwUiClass'=>'mw-ui-button','moderationIcons'=>true))).' </ul>
+</div>
+';},'flow_post_inner' => function ($cx, $in) {return '<div
+'.((LCRun3::ifvar($cx, ((isset($in['isModerated']) && is_array($in)) ? $in['isModerated'] : null))) ? ' class="flow-post-main flow-post-moderated flow-click-interactive flow-element-collapsible flow-element-collapsed"
+ data-flow-interactive-handler="collapserCollapsibleToggle"
+ tabindex="0"
+' : ' class="flow-post-main"
+').'>
+'.LCRun3::p($cx, 'flow_errors', array(array($in),array())).'
+'.LCRun3::wi($cx, ((isset($in['creator']) && is_array($in)) ? $in['creator'] : null), $in, function($cx, $in) {return ''.LCRun3::p($cx, 'flow_post_author', array(array($in),array())).'';}).'
+'.((LCRun3::ifvar($cx, ((isset($in['isModerated']) && is_array($in)) ? $in['isModerated'] : null))) ? ' <div class="flow-moderated-post-content">
+'.LCRun3::p($cx, 'flow_post_moderation_state', array(array($in),array())).' </div>
+' : '').'
+ <div class="flow-post-content">
+ '.LCRun3::ch($cx, 'escapeContent', array(array(((isset($in['content']['format']) && is_array($in['content'])) ? $in['content']['format'] : null),((isset($in['content']['content']) && is_array($in['content'])) ? $in['content']['content'] : null)),array()), 'encq').'
+ </div>
+
+'.((!LCRun3::ifvar($cx, ((isset($in['isPreview']) && is_array($in)) ? $in['isPreview'] : null))) ? ''.LCRun3::p($cx, 'flow_post_meta_actions', array(array($in),array())).''.LCRun3::p($cx, 'flow_post_actions', array(array($in),array())).'' : '').'</div>
+';},'flow_anon_warning' => function ($cx, $in) {return '<div class="flow-anon-warning">
+ <div class="flow-anon-warning-mobile">
+'.LCRun3::hbch($cx, 'tooltip', array(array(),array('positionClass'=>'down','contextClass'=>'progressive','extraClass'=>'flow-form-collapsible','isBlock'=>true)), $in, false, function($cx, $in) {return ''.LCRun3::ch($cx, 'l10nParse', array(array('flow-anon-warning',LCRun3::ch($cx, 'linkWithReturnTo', array(array('Special:UserLogin'),array()), 'raw'),LCRun3::ch($cx, 'linkWithReturnTo', array(array('Special:UserLogin/signup'),array()), 'raw')),array()), 'encq').'';}).' </div>
+
+'.LCRun3::hbch($cx, 'progressiveEnhancement', array(array(),array()), $in, false, function($cx, $in) {return ' <div class="flow-anon-warning-desktop">
+'.LCRun3::hbch($cx, 'tooltip', array(array(),array('positionClass'=>'left','contextClass'=>'progressive','extraClass'=>'flow-form-collapsible','isBlock'=>true)), $in, false, function($cx, $in) {return ''.LCRun3::ch($cx, 'l10nParse', array(array('flow-anon-warning',LCRun3::ch($cx, 'linkWithReturnTo', array(array('Special:UserLogin'),array()), 'raw'),LCRun3::ch($cx, 'linkWithReturnTo', array(array('Special:UserLogin/signup'),array()), 'raw')),array()), 'encq').'';}).' </div>
+';}).'</div>
+';},'flow_form_buttons' => function ($cx, $in) {return '<button data-flow-interactive-handler="cancelForm"
+ data-role="cancel"
+ type="reset"
+ class="mw-ui-button mw-ui-destructive mw-ui-quiet mw-ui-flush-right flow-js"
+
+>'.LCRun3::ch($cx, 'l10n', array(array('flow-cancel'),array()), 'encq').'</button>
+';},'flow_edit_post' => function ($cx, $in) {return '<form class="flow-edit-post-form"
+ method="POST"
+ action="'.htmlentities((string)((isset($in['actions']['edit']['url']) && is_array($in['actions']['edit'])) ? $in['actions']['edit']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+>
+'.LCRun3::p($cx, 'flow_errors', array(array($in),array())).' <input type="hidden" name="wpEditToken" value="'.htmlentities((string)((isset($cx['sp_vars']['root']['rootBlock']['editToken']) && is_array($cx['sp_vars']['root']['rootBlock'])) ? $cx['sp_vars']['root']['rootBlock']['editToken'] : null), ENT_QUOTES, 'UTF-8').'" />
+ <input type="hidden" name="topic_prev_revision" value="'.htmlentities((string)((isset($in['revisionId']) && is_array($in)) ? $in['revisionId'] : null), ENT_QUOTES, 'UTF-8').'" />
+'.LCRun3::hbch($cx, 'ifAnonymous', array(array(),array()), $in, false, function($cx, $in) {return ''.LCRun3::p($cx, 'flow_anon_warning', array(array($in),array())).'';}).'
+ <div class="flow-editor">
+ <textarea name="topic_content" class="mw-ui-input flow-form-collapsible"
+ data-flow-preview-template="flow_post"
+ data-flow-preview-title="'.htmlentities((string)((isset($in['articleTitle']) && is_array($in)) ? $in['articleTitle'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-creator="'.htmlentities((string)((isset($in['creator']['name']) && is_array($in['creator'])) ? $in['creator']['name'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-role="content"
+ >'.((LCRun3::ifvar($cx, ((isset($cx['sp_vars']['root']['rootBlock']['submitted']['content']) && is_array($cx['sp_vars']['root']['rootBlock']['submitted'])) ? $cx['sp_vars']['root']['rootBlock']['submitted']['content'] : null))) ? ''.htmlentities((string)((isset($cx['sp_vars']['root']['rootBlock']['submitted']['content']) && is_array($cx['sp_vars']['root']['rootBlock']['submitted'])) ? $cx['sp_vars']['root']['rootBlock']['submitted']['content'] : null), ENT_QUOTES, 'UTF-8').'' : ''.htmlentities((string)((isset($in['content']['content']) && is_array($in['content'])) ? $in['content']['content'] : null), ENT_QUOTES, 'UTF-8').'').'</textarea>
+ </div>
+
+ <div class="flow-form-actions flow-form-collapsible">
+ <button class="mw-ui-button mw-ui-constructive"
+ data-flow-api-handler="submitEditPost">'.LCRun3::ch($cx, 'l10n', array(array('flow-post-action-edit-post-submit'),array()), 'encq').'</button>
+'.LCRun3::p($cx, 'flow_form_buttons', array(array($in),array())).' <small class="flow-terms-of-use plainlinks">'.LCRun3::ch($cx, 'l10nParse', array(array('flow-terms-of-use-edit'),array()), 'encq').'</small>
+ </div>
+</form>
+';},'flow_reply_form' => function ($cx, $in) {return ''.((LCRun3::ifvar($cx, ((isset($in['actions']['reply']) && is_array($in['actions'])) ? $in['actions']['reply'] : null))) ? ' <form class="flow-post flow-reply-form"
+ method="POST"
+ action="'.htmlentities((string)((isset($in['actions']['reply']['url']) && is_array($in['actions']['reply'])) ? $in['actions']['reply']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ id="flow-reply-'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-initial-state="collapsed"
+ >
+ <input type="hidden" name="wpEditToken" value="'.htmlentities((string)((isset($cx['sp_vars']['root']['rootBlock']['editToken']) && is_array($cx['sp_vars']['root']['rootBlock'])) ? $cx['sp_vars']['root']['rootBlock']['editToken'] : null), ENT_QUOTES, 'UTF-8').'" />
+ <input type="hidden" name="topic_replyTo" value="'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'" />
+'.LCRun3::p($cx, 'flow_errors', array(array($in),array())).'
+'.LCRun3::hbch($cx, 'ifAnonymous', array(array(),array()), $in, false, function($cx, $in) {return ''.LCRun3::p($cx, 'flow_anon_warning', array(array($in),array())).'';}).'
+ <div class="flow-editor">
+ <textarea id="flow-post-'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'-form-content"
+ name="topic_content"
+ required
+ data-flow-preview-template="flow_post"
+ data-flow-preview-title="'.htmlentities((string)((isset($in['articleTitle']) && is_array($in)) ? $in['articleTitle'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-expandable="true"
+ class="mw-ui-input flow-click-interactive"
+ type="text"
+ placeholder="'.LCRun3::ch($cx, 'l10n', array(array('flow-reply-topic-title-placeholder',((isset($in['properties']['topic-of-post']) && is_array($in['properties'])) ? $in['properties']['topic-of-post'] : null)),array()), 'encq').'"
+ data-role="content"
+
+ data-flow-interactive-handler-focus="activateReplyTopic"
+ >'.((LCRun3::ifvar($cx, ((isset($cx['sp_vars']['root']['submitted']) && is_array($cx['sp_vars']['root'])) ? $cx['sp_vars']['root']['submitted'] : null))) ? ''.LCRun3::hbch($cx, 'ifCond', array(array(((isset($cx['sp_vars']['root']['submitted']['postId']) && is_array($cx['sp_vars']['root']['submitted'])) ? $cx['sp_vars']['root']['submitted']['postId'] : null),'===',((isset($in['postId']) && is_array($in)) ? $in['postId'] : null)),array()), $in, false, function($cx, $in) {return ''.htmlentities((string)((isset($cx['sp_vars']['root']['submitted']['content']) && is_array($cx['sp_vars']['root']['submitted'])) ? $cx['sp_vars']['root']['submitted']['content'] : null), ENT_QUOTES, 'UTF-8').'';}).'' : '').'</textarea>
+ </div>
+
+ <div class="flow-form-actions flow-form-collapsible">
+ <button data-role="submit"
+ class="mw-ui-button mw-ui-constructive"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-handler="submitReply"
+ data-flow-api-target="< .flow-topic"
+ data-flow-eventlog-action="save-attempt"
+ >'.htmlentities((string)((isset($in['actions']['reply']['text']) && is_array($in['actions']['reply'])) ? $in['actions']['reply']['text'] : null), ENT_QUOTES, 'UTF-8').'</button>
+'.LCRun3::p($cx, 'flow_form_buttons', array(array($in),array())).' <small class="flow-terms-of-use plainlinks">'.LCRun3::ch($cx, 'l10nParse', array(array('flow-terms-of-use-reply'),array()), 'encq').'</small>
+ </div>
+ </form>
+' : '').'';},'flow_post_replies' => function ($cx, $in) {return '<div class="flow-replies">
+'.LCRun3::sec($cx, ((isset($in['replies']) && is_array($in)) ? $in['replies'] : null), $in, true, function($cx, $in) {return ''.LCRun3::hbch($cx, 'eachPost', array(array(((isset($cx['sp_vars']['root']['rootBlock']) && is_array($cx['sp_vars']['root'])) ? $cx['sp_vars']['root']['rootBlock'] : null),$in),array()), $in, false, function($cx, $in) {return ' <!-- eachPost nested replies -->
+ '.LCRun3::ch($cx, 'post', array(array(((isset($cx['sp_vars']['root']['rootBlock']) && is_array($cx['sp_vars']['root'])) ? $cx['sp_vars']['root']['rootBlock'] : null),$in),array()), 'encq').'
+';}).'';}).''.LCRun3::hbch($cx, 'ifCond', array(array(((isset($cx['sp_vars']['root']['rootBlock']['submitted']['postId']) && is_array($cx['sp_vars']['root']['rootBlock']['submitted'])) ? $cx['sp_vars']['root']['rootBlock']['submitted']['postId'] : null),'===',((isset($in['postId']) && is_array($in)) ? $in['postId'] : null)),array()), $in, false, function($cx, $in) {return ''.LCRun3::hbch($cx, 'ifCond', array(array(((isset($cx['sp_vars']['root']['rootBlock']['submitted']['action']) && is_array($cx['sp_vars']['root']['rootBlock']['submitted'])) ? $cx['sp_vars']['root']['rootBlock']['submitted']['action'] : null),'===','reply'),array()), $in, false, function($cx, $in) {return ''.LCRun3::p($cx, 'flow_reply_form', array(array($in),array())).'';}).'';}).'</div>
+';},'flow_post' => function ($cx, $in) {return ''.LCRun3::wi($cx, ((isset($in['revision']) && is_array($in)) ? $in['revision'] : null), $in, function($cx, $in) {return ' <div id="flow-post-'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'"
+ class="flow-post'.((LCRun3::ifvar($cx, ((isset($in['isMaxThreadingDepth']) && is_array($in)) ? $in['isMaxThreadingDepth'] : null))) ? ' flow-post-max-depth' : '').'"
+ data-flow-id="'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'"
+ >
+'.((LCRun3::ifvar($cx, ((isset($in['isModerated']) && is_array($in)) ? $in['isModerated'] : null))) ? ''.LCRun3::hbch($cx, 'ifCond', array(array(((isset($cx['sp_vars']['root']['rootBlock']['submitted']['showPostId']) && is_array($cx['sp_vars']['root']['rootBlock']['submitted'])) ? $cx['sp_vars']['root']['rootBlock']['submitted']['showPostId'] : null),'===',((isset($in['postId']) && is_array($in)) ? $in['postId'] : null)),array()), $in, false, function($cx, $in) {return ''.LCRun3::p($cx, 'flow_post_inner', array(array($in),array())).'';}, function($cx, $in) {return ' <div class="flow-post-main flow-post-moderated">
+ <span class="flow-moderated-post-content">
+'.LCRun3::p($cx, 'flow_post_moderation_state', array(array($in),array())).' </span>
+ </div>
+';}).'' : ''.LCRun3::hbch($cx, 'ifCond', array(array(((isset($cx['sp_vars']['root']['rootBlock']['submitted']['action']) && is_array($cx['sp_vars']['root']['rootBlock']['submitted'])) ? $cx['sp_vars']['root']['rootBlock']['submitted']['action'] : null),'===','edit-post'),array()), $in, false, function($cx, $in) {return ''.LCRun3::hbch($cx, 'ifCond', array(array(((isset($cx['sp_vars']['root']['rootBlock']['submitted']['postId']) && is_array($cx['sp_vars']['root']['rootBlock']['submitted'])) ? $cx['sp_vars']['root']['rootBlock']['submitted']['postId'] : null),'===',((isset($in['postId']) && is_array($in)) ? $in['postId'] : null)),array()), $in, false, function($cx, $in) {return ''.LCRun3::p($cx, 'flow_edit_post', array(array($in),array())).'';}, function($cx, $in) {return ''.LCRun3::p($cx, 'flow_post_inner', array(array($in),array())).'';}).'';}, function($cx, $in) {return ''.LCRun3::p($cx, 'flow_post_inner', array(array($in),array())).'';}).'').'
+'.((!LCRun3::ifvar($cx, ((isset($in['isPreview']) && is_array($in)) ? $in['isPreview'] : null))) ? ''.LCRun3::p($cx, 'flow_post_replies', array(array($in),array())).'' : '').' </div>
+';}).'';},),
+ 'scopes' => array($in),
+ 'sp_vars' => array('root' => $in),
+
+ );
+
+ return '<div class="flow-board">
+'.LCRun3::sec($cx, ((isset($in['roots']) && is_array($in)) ? $in['roots'] : null), $in, true, function($cx, $in) {return ''.LCRun3::hbch($cx, 'eachPost', array(array(((isset($cx['sp_vars']['root']) && is_array($cx['sp_vars'])) ? $cx['sp_vars']['root'] : null),$in),array()), $in, false, function($cx, $in) {return ''.LCRun3::p($cx, 'flow_moderate_post', array(array($in),array())).''.LCRun3::p($cx, 'flow_post', array(array($in),array())).'';}).'';}).'</div>
+';
+}
+?> \ No newline at end of file
diff --git a/Flow/handlebars/compiled/flow_block_topic_moderate_topic.handlebars.php b/Flow/handlebars/compiled/flow_block_topic_moderate_topic.handlebars.php
new file mode 100644
index 00000000..b3cdc2f3
--- /dev/null
+++ b/Flow/handlebars/compiled/flow_block_topic_moderate_topic.handlebars.php
@@ -0,0 +1,308 @@
+<?php return function ($in, $debugopt = 1) {
+ $cx = array(
+ 'flags' => array(
+ 'jstrue' => false,
+ 'jsobj' => false,
+ 'spvar' => true,
+ 'prop' => false,
+ 'method' => false,
+ 'mustlok' => false,
+ 'mustsec' => false,
+ 'echo' => false,
+ 'debug' => $debugopt,
+ ),
+ 'constants' => array(),
+ 'helpers' => array( 'l10n' => 'Flow\TemplateHelper::l10n',
+ 'uuidTimestamp' => 'Flow\TemplateHelper::uuidTimestamp',
+ 'html' => 'Flow\TemplateHelper::htmlHelper',
+ 'post' => 'Flow\TemplateHelper::post',
+ 'l10nParse' => 'Flow\TemplateHelper::l10nParse',
+ 'moderationAction' => 'Flow\TemplateHelper::moderationAction',
+ 'concat' => 'Flow\TemplateHelper::concat',
+ 'linkWithReturnTo' => 'Flow\TemplateHelper::linkWithReturnTo',
+ 'escapeContent' => 'Flow\TemplateHelper::escapeContent',
+),
+ 'blockhelpers' => array(),
+ 'hbhelpers' => array( 'eachPost' => 'Flow\TemplateHelper::eachPost',
+ 'ifAnonymous' => 'Flow\TemplateHelper::ifAnonymous',
+ 'ifCond' => 'Flow\TemplateHelper::ifCond',
+ 'tooltip' => 'Flow\TemplateHelper::tooltip',
+ 'progressiveEnhancement' => 'Flow\TemplateHelper::progressiveEnhancement',
+),
+ 'partials' => array('flow_errors' => function ($cx, $in) {return '<div class="flow-error-container">
+'.((LCRun3::ifvar($cx, ((isset($cx['sp_vars']['root']['errors']) && is_array($cx['sp_vars']['root'])) ? $cx['sp_vars']['root']['errors'] : null))) ? ' <div class="flow-errors errorbox">
+ <ul>
+'.LCRun3::sec($cx, ((isset($cx['sp_vars']['root']['errors']) && is_array($cx['sp_vars']['root'])) ? $cx['sp_vars']['root']['errors'] : null), $in, true, function($cx, $in) {return ' <li>'.LCRun3::ch($cx, 'html', array(array(((isset($in['message']) && is_array($in)) ? $in['message'] : null)),array()), 'encq').'</li>
+';}).' </ul>
+ </div>
+' : '').'</div>
+';},'flow_moderate_topic' => function ($cx, $in) {return '<form method="POST" action="'.LCRun3::ch($cx, 'moderationAction', array(array(((isset($in['actions']) && is_array($in)) ? $in['actions'] : null),((isset($cx['sp_vars']['root']['submitted']['moderationState']) && is_array($cx['sp_vars']['root']['submitted'])) ? $cx['sp_vars']['root']['submitted']['moderationState'] : null)),array()), 'encq').'">
+'.LCRun3::p($cx, 'flow_errors', array(array($in),array())).' <input type="hidden" name="wpEditToken" value="'.htmlentities((string)((isset($cx['sp_vars']['root']['editToken']) && is_array($cx['sp_vars']['root'])) ? $cx['sp_vars']['root']['editToken'] : null), ENT_QUOTES, 'UTF-8').'" />
+ <div class="flow-editor">
+ <textarea name="topic_reason"
+ required
+ data-flow-expandable="true"
+ class="mw-ui-input"
+ data-role="content"
+ placeholder="'.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-moderation-placeholder-',((isset($cx['sp_vars']['root']['submitted']['moderationState']) && is_array($cx['sp_vars']['root']['submitted'])) ? $cx['sp_vars']['root']['submitted']['moderationState'] : null),'-topic'),array()), 'raw')),array()), 'encq').'"
+ autofocus
+ >'.((LCRun3::ifvar($cx, ((isset($cx['sp_vars']['root']['submitted']['reason']) && is_array($cx['sp_vars']['root']['submitted'])) ? $cx['sp_vars']['root']['submitted']['reason'] : null))) ? ''.htmlentities((string)((isset($cx['sp_vars']['root']['submitted']['reason']) && is_array($cx['sp_vars']['root']['submitted'])) ? $cx['sp_vars']['root']['submitted']['reason'] : null), ENT_QUOTES, 'UTF-8').'' : '').'</textarea>
+ </div>
+ <div class="flow-form-actions flow-form-collapsible">
+ <button class="mw-ui-button mw-ui-constructive"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-handler="moderateTopic"
+ data-role="submit">'.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-moderation-confirm-',((isset($cx['sp_vars']['root']['submitted']['moderationState']) && is_array($cx['sp_vars']['root']['submitted'])) ? $cx['sp_vars']['root']['submitted']['moderationState'] : null),'-topic'),array()), 'raw')),array()), 'encq').'</button>
+ <a class="mw-ui-button mw-ui-quiet mw-ui-destructive"
+ href="'.htmlentities((string)((isset($in['links']['topic']['url']) && is_array($in['links']['topic'])) ? $in['links']['topic']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.LCRun3::ch($cx, 'l10n', array(array('flow-cancel'),array()), 'encq').'"
+ data-flow-interactive-handler="cancelForm">'.LCRun3::ch($cx, 'l10n', array(array('flow-cancel'),array()), 'encq').'</a>
+ </div>
+</form>
+';},'flow_post_author' => function ($cx, $in) {return '<span class="flow-author">
+'.((LCRun3::ifvar($cx, ((isset($in['links']) && is_array($in)) ? $in['links'] : null))) ? ''.((LCRun3::ifvar($cx, ((isset($in['links']['userpage']) && is_array($in['links'])) ? $in['links']['userpage'] : null))) ? ' <a href="'.htmlentities((string)((isset($in['links']['userpage']['url']) && is_array($in['links']['userpage'])) ? $in['links']['userpage']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ '.((!LCRun3::ifvar($cx, ((isset($in['name']) && is_array($in)) ? $in['name'] : null))) ? 'title="'.htmlentities((string)((isset($in['links']['userpage']['title']) && is_array($in['links']['userpage'])) ? $in['links']['userpage']['title'] : null), ENT_QUOTES, 'UTF-8').'"' : '').'
+ class="'.((!LCRun3::ifvar($cx, ((isset($in['links']['userpage']['exists']) && is_array($in['links']['userpage'])) ? $in['links']['userpage']['exists'] : null))) ? 'new ' : '').'mw-userlink">
+' : '').''.((LCRun3::ifvar($cx, ((isset($in['name']) && is_array($in)) ? $in['name'] : null))) ? ''.htmlentities((string)((isset($in['name']) && is_array($in)) ? $in['name'] : null), ENT_QUOTES, 'UTF-8').'' : ''.LCRun3::ch($cx, 'l10n', array(array('flow-anonymous'),array()), 'encq').'').''.((LCRun3::ifvar($cx, ((isset($in['links']['userpage']) && is_array($in['links'])) ? $in['links']['userpage'] : null))) ? '</a>' : '').'<span class="mw-usertoollinks flow-pipelist">
+ ('.((LCRun3::ifvar($cx, ((isset($in['links']['talk']) && is_array($in['links'])) ? $in['links']['talk'] : null))) ? '<span><a href="'.htmlentities((string)((isset($in['links']['talk']['url']) && is_array($in['links']['talk'])) ? $in['links']['talk']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ class="'.((!LCRun3::ifvar($cx, ((isset($in['links']['talk']['exists']) && is_array($in['links']['talk'])) ? $in['links']['talk']['exists'] : null))) ? 'new ' : '').'"
+ title="'.htmlentities((string)((isset($in['links']['talk']['title']) && is_array($in['links']['talk'])) ? $in['links']['talk']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.LCRun3::ch($cx, 'l10n', array(array('talkpagelinktext'),array()), 'encq').'</a></span>' : '').''.((LCRun3::ifvar($cx, ((isset($in['links']['contribs']) && is_array($in['links'])) ? $in['links']['contribs'] : null))) ? '<span><a href="'.htmlentities((string)((isset($in['links']['contribs']['url']) && is_array($in['links']['contribs'])) ? $in['links']['contribs']['url'] : null), ENT_QUOTES, 'UTF-8').'" title="'.htmlentities((string)((isset($in['links']['contribs']['title']) && is_array($in['links']['contribs'])) ? $in['links']['contribs']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.LCRun3::ch($cx, 'l10n', array(array('contribslink'),array()), 'encq').'</a></span>' : '').''.((LCRun3::ifvar($cx, ((isset($in['links']['block']) && is_array($in['links'])) ? $in['links']['block'] : null))) ? '<span><a class="'.((!LCRun3::ifvar($cx, ((isset($in['links']['block']['exists']) && is_array($in['links']['block'])) ? $in['links']['block']['exists'] : null))) ? 'new ' : '').'"
+ href="'.htmlentities((string)((isset($in['links']['block']['url']) && is_array($in['links']['block'])) ? $in['links']['block']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['links']['block']['title']) && is_array($in['links']['block'])) ? $in['links']['block']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.LCRun3::ch($cx, 'l10n', array(array('blocklink'),array()), 'encq').'</a></span>' : '').')
+ </span>
+' : '').'</span>
+';},'flow_post_moderation_state' => function ($cx, $in) {return '<span class="plainlinks">'.((LCRun3::ifvar($cx, ((isset($in['replyToId']) && is_array($in)) ? $in['replyToId'] : null))) ? ''.LCRun3::ch($cx, 'l10nParse', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderateState']) && is_array($in)) ? $in['moderateState'] : null),'-post-content'),array()), 'raw'),((isset($in['moderator']['name']) && is_array($in['moderator'])) ? $in['moderator']['name'] : null),((isset($in['links']['topic-history']['url']) && is_array($in['links']['topic-history'])) ? $in['links']['topic-history']['url'] : null)),array()), 'encq').'' : ''.LCRun3::ch($cx, 'l10nParse', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderateState']) && is_array($in)) ? $in['moderateState'] : null),'-title-content'),array()), 'raw'),((isset($in['moderator']['name']) && is_array($in['moderator'])) ? $in['moderator']['name'] : null),((isset($in['links']['topic-history']['url']) && is_array($in['links']['topic-history'])) ? $in['links']['topic-history']['url'] : null)),array()), 'encq').'').'</span>
+';},'flow_post_meta_actions' => function ($cx, $in) {return '<div class="flow-post-meta">
+ <span class="flow-post-meta-actions">
+'.((LCRun3::ifvar($cx, ((isset($in['actions']['reply']) && is_array($in['actions'])) ? $in['actions']['reply'] : null))) ? ' <a href="'.htmlentities((string)((isset($in['actions']['reply']['url']) && is_array($in['actions']['reply'])) ? $in['actions']['reply']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['reply']['title']) && is_array($in['actions']['reply'])) ? $in['actions']['reply']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ class="mw-ui-anchor mw-ui-progressive mw-ui-quiet"
+ data-flow-interactive-handler="activateReplyPost"
+
+ data-flow-eventlog-schema="FlowReplies"
+ data-flow-eventlog-action="initiate"
+ data-flow-eventlog-entrypoint="reply-post"
+ data-flow-eventlog-forward="
+ < .flow-post:not([data-flow-post-max-depth=\'1\']) .flow-reply-form [data-role=\'cancel\'],
+ < .flow-post:not([data-flow-post-max-depth=\'1\']) .flow-reply-form [data-role=\'action\'][name=\'preview\'],
+ < .flow-post:not([data-flow-post-max-depth=\'1\']) .flow-reply-form [data-role=\'submit\']
+ "
+ >'.htmlentities((string)((isset($in['actions']['reply']['text']) && is_array($in['actions']['reply'])) ? $in['actions']['reply']['text'] : null), ENT_QUOTES, 'UTF-8').'</a>
+' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['thank']) && is_array($in['actions'])) ? $in['actions']['thank'] : null))) ? ' <a class="mw-ui-anchor mw-ui-constructive mw-ui-quiet mw-thanks-flow-thank-link"
+ href="'.htmlentities((string)((isset($in['actions']['thank']['url']) && is_array($in['actions']['thank'])) ? $in['actions']['thank']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['thank']['title']) && is_array($in['actions']['thank'])) ? $in['actions']['thank']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.htmlentities((string)((isset($in['actions']['thank']['text']) && is_array($in['actions']['thank'])) ? $in['actions']['thank']['text'] : null), ENT_QUOTES, 'UTF-8').'</a>
+' : '').' </span>
+
+ <span class="flow-post-timestamp">
+'.((LCRun3::ifvar($cx, ((isset($in['isOriginalContent']) && is_array($in)) ? $in['isOriginalContent'] : null))) ? ' <a href="'.htmlentities((string)((isset($in['links']['topic-history']['url']) && is_array($in['links']['topic-history'])) ? $in['links']['topic-history']['url'] : null), ENT_QUOTES, 'UTF-8').'" class="flow-timestamp-anchor">
+ '.LCRun3::ch($cx, 'uuidTimestamp', array(array(((isset($in['postId']) && is_array($in)) ? $in['postId'] : null)),array()), 'encq').'
+ </a>
+' : ' <span>
+'.LCRun3::hbch($cx, 'ifCond', array(array(((isset($in['creator']['name']) && is_array($in['creator'])) ? $in['creator']['name'] : null),'===',((isset($in['lastEditUser']['name']) && is_array($in['lastEditUser'])) ? $in['lastEditUser']['name'] : null)),array()), $in, false, function($cx, $in) {return ' '.LCRun3::ch($cx, 'l10n', array(array('flow-edited'),array()), 'encq').'
+';}, function($cx, $in) {return ' '.LCRun3::ch($cx, 'l10n', array(array('flow-edited-by',((isset($in['lastEditUser']['name']) && is_array($in['lastEditUser'])) ? $in['lastEditUser']['name'] : null)),array()), 'encq').'
+';}).' </span>
+ <a href="'.htmlentities((string)((isset($in['links']['topic-history']['url']) && is_array($in['links']['topic-history'])) ? $in['links']['topic-history']['url'] : null), ENT_QUOTES, 'UTF-8').'" class="flow-timestamp-anchor">'.LCRun3::ch($cx, 'uuidTimestamp', array(array(((isset($in['lastEditId']) && is_array($in)) ? $in['lastEditId'] : null)),array()), 'encq').'</a>
+').' </span>
+</div>
+';},'flow_moderation_actions_list' => function ($cx, $in) {return '<section>'.LCRun3::hbch($cx, 'ifCond', array(array(((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'===','topic'),array()), $in, false, function($cx, $in) {return ''.((LCRun3::ifvar($cx, ((isset($in['actions']['edit']) && is_array($in['actions'])) ? $in['actions']['edit'] : null))) ? '<li class="flow-js">'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['edit']['url']) && is_array($in['actions']['edit'])) ? $in['actions']['edit']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['edit']['title']) && is_array($in['actions']['edit'])) ? $in['actions']['edit']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-handler="activateEditTitle"
+ data-flow-api-target="< .flow-topic-titlebar"
+ >'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-pencil"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-edit-title'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['links']['topic-history']) && is_array($in['links'])) ? $in['links']['topic-history'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['links']['topic-history']['url']) && is_array($in['links']['topic-history'])) ? $in['links']['topic-history']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['links']['topic-history']['title']) && is_array($in['links']['topic-history'])) ? $in['links']['topic-history']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-clock"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-history'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['links']['topic']) && is_array($in['links'])) ? $in['links']['topic'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['links']['topic']['url']) && is_array($in['links']['topic'])) ? $in['links']['topic']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['links']['topic']['title']) && is_array($in['links']['topic'])) ? $in['links']['topic']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-link"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-view'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['summarize']) && is_array($in['actions'])) ? $in['actions']['summarize'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-progressive mw-ui-quiet"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-handler="activateSummarizeTopic"
+ data-flow-api-target="< .flow-topic-titlebar .flow-topic-summary-container"
+ href="'.htmlentities((string)((isset($in['actions']['summarize']['url']) && is_array($in['actions']['summarize'])) ? $in['actions']['summarize']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['summarize']['title']) && is_array($in['actions']['summarize'])) ? $in['actions']['summarize']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-stripe-toc"></span> ' : '').''.((LCRun3::ifvar($cx, ((isset($in['summary']) && is_array($in)) ? $in['summary'] : null))) ? ''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-resummarize-topic'),array()), 'raw')),array()), 'encq').'' : ''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-summarize-topic'),array()), 'raw')),array()), 'encq').'').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').'';}).''.LCRun3::hbch($cx, 'ifCond', array(array(((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'===','post'),array()), $in, false, function($cx, $in) {return ''.((LCRun3::ifvar($cx, ((isset($in['actions']['edit']) && is_array($in['actions'])) ? $in['actions']['edit'] : null))) ? '<li>
+ <a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-progressive mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['edit']['url']) && is_array($in['actions']['edit'])) ? $in['actions']['edit']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['edit']['title']) && is_array($in['actions']['edit'])) ? $in['actions']['edit']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-api-handler="activateEditPost"
+ data-flow-api-target="< .flow-post-main"
+ data-flow-interactive-handler="apiRequest"
+ >'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-pencil"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array('flow-post-action-edit-post'),array()), 'encq').'</a>
+ </li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['links']['post']) && is_array($in['links'])) ? $in['links']['post'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['links']['post']['url']) && is_array($in['links']['post'])) ? $in['links']['post']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['links']['post']['title']) && is_array($in['links']['post'])) ? $in['links']['post']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-link"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-view'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').'';}).'</section>
+
+<section>'.LCRun3::hbch($cx, 'ifCond', array(array(((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'===','history'),array()), $in, false, function($cx, $in) {return ''.((LCRun3::ifvar($cx, ((isset($in['actions']['undo']) && is_array($in['actions'])) ? $in['actions']['undo'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['undo']['url']) && is_array($in['actions']['undo'])) ? $in['actions']['undo']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ >'.htmlentities((string)((isset($in['actions']['undo']['title']) && is_array($in['actions']['undo'])) ? $in['actions']['undo']['title'] : null), ENT_QUOTES, 'UTF-8').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').'';}).''.((LCRun3::ifvar($cx, ((isset($in['actions']['hide']) && is_array($in['actions'])) ? $in['actions']['hide'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['hide']['url']) && is_array($in['actions']['hide'])) ? $in['actions']['hide']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['hide']['title']) && is_array($in['actions']['hide'])) ? $in['actions']['hide']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_'.htmlentities((string)((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null), ENT_QUOTES, 'UTF-8').'.partial"
+ data-role="hide">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-flag"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-hide-',((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null)),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['unhide']) && is_array($in['actions'])) ? $in['actions']['unhide'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['unhide']['url']) && is_array($in['actions']['unhide'])) ? $in['actions']['unhide']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['unhide']['title']) && is_array($in['actions']['unhide'])) ? $in['actions']['unhide']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_'.htmlentities((string)((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null), ENT_QUOTES, 'UTF-8').'.partial"
+ data-role="unhide">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-flag"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-unhide-',((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null)),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['delete']) && is_array($in['actions'])) ? $in['actions']['delete'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['delete']['url']) && is_array($in['actions']['delete'])) ? $in['actions']['delete']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['delete']['title']) && is_array($in['actions']['delete'])) ? $in['actions']['delete']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_'.htmlentities((string)((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null), ENT_QUOTES, 'UTF-8').'.partial"
+ data-role="delete">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-trash"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-delete-',((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null)),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['undelete']) && is_array($in['actions'])) ? $in['actions']['undelete'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['undelete']['url']) && is_array($in['actions']['undelete'])) ? $in['actions']['undelete']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['undelete']['title']) && is_array($in['actions']['undelete'])) ? $in['actions']['undelete']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_'.htmlentities((string)((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null), ENT_QUOTES, 'UTF-8').'.partial"
+ data-role="undelete">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-trash"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-undelete-',((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null)),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['suppress']) && is_array($in['actions'])) ? $in['actions']['suppress'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['suppress']['url']) && is_array($in['actions']['suppress'])) ? $in['actions']['suppress']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['suppress']['title']) && is_array($in['actions']['suppress'])) ? $in['actions']['suppress']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_'.htmlentities((string)((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null), ENT_QUOTES, 'UTF-8').'.partial"
+ data-role="suppress">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-block"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-suppress-',((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null)),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['unsuppress']) && is_array($in['actions'])) ? $in['actions']['unsuppress'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['unsuppress']['url']) && is_array($in['actions']['unsuppress'])) ? $in['actions']['unsuppress']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['unsuppress']['title']) && is_array($in['actions']['unsuppress'])) ? $in['actions']['unsuppress']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_'.htmlentities((string)((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null), ENT_QUOTES, 'UTF-8').'.partial"
+ data-role="unsuppress">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-block"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-unsuppress-',((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null)),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.LCRun3::hbch($cx, 'ifCond', array(array(((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'===','history'),array()), $in, false, function($cx, $in) {return ''.((LCRun3::ifvar($cx, ((isset($in['actions']['lock']) && is_array($in['actions'])) ? $in['actions']['lock'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_topic.partial"
+ data-role="lock"
+ data-flow-id="'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'"
+ href="'.htmlentities((string)((isset($in['actions']['lock']['url']) && is_array($in['actions']['lock'])) ? $in['actions']['lock']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['lock']['title']) && is_array($in['actions']['lock'])) ? $in['actions']['lock']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-lock"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-lock-topic'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['unlock']) && is_array($in['actions'])) ? $in['actions']['unlock'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_topic.partial"
+ data-role="unlock"
+ data-flow-id="'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'"
+ href="'.htmlentities((string)((isset($in['actions']['unlock']['url']) && is_array($in['actions']['unlock'])) ? $in['actions']['unlock']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['unlock']['title']) && is_array($in['actions']['unlock'])) ? $in['actions']['unlock']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-unlock"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-unlock-topic'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').'';}, function($cx, $in) {return ''.((LCRun3::ifvar($cx, ((isset($in['actions']['lock']) && is_array($in['actions'])) ? $in['actions']['lock'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-handler="activateLockTopic"
+ data-flow-id="'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-api-target="< .flow-topic-titlebar .flow-topic-summary-container"
+ href="'.htmlentities((string)((isset($in['actions']['lock']['url']) && is_array($in['actions']['lock'])) ? $in['actions']['lock']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['lock']['title']) && is_array($in['actions']['lock'])) ? $in['actions']['lock']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-lock"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-lock-topic'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['unlock']) && is_array($in['actions'])) ? $in['actions']['unlock'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-handler="activateLockTopic"
+ data-flow-id="'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-api-target="< .flow-topic-titlebar .flow-topic-summary-container"
+ href="'.htmlentities((string)((isset($in['actions']['unlock']['url']) && is_array($in['actions']['unlock'])) ? $in['actions']['unlock']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['unlock']['title']) && is_array($in['actions']['unlock'])) ? $in['actions']['unlock']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-unlock"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-unlock-topic'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').'';}).'</section>
+';},'flow_post_actions' => function ($cx, $in) {return '<div class="flow-menu flow-menu-hoverable">
+ <div class="flow-menu-js-drop"><a href="javascript:void(0);"><span class="wikiglyph wikiglyph-ellipsis"></span></a></div>
+ <ul class="mw-ui-button-container flow-list">
+'.LCRun3::p($cx, 'flow_moderation_actions_list', array(array($in),array('moderationType'=>'post','moderationTarget'=>'post','moderationTemplate'=>'post','moderationContainerClass'=>'flow-menu','moderationMwUiClass'=>'mw-ui-button','moderationIcons'=>true))).' </ul>
+</div>
+';},'flow_post_inner' => function ($cx, $in) {return '<div
+'.((LCRun3::ifvar($cx, ((isset($in['isModerated']) && is_array($in)) ? $in['isModerated'] : null))) ? ' class="flow-post-main flow-post-moderated flow-click-interactive flow-element-collapsible flow-element-collapsed"
+ data-flow-interactive-handler="collapserCollapsibleToggle"
+ tabindex="0"
+' : ' class="flow-post-main"
+').'>
+'.LCRun3::p($cx, 'flow_errors', array(array($in),array())).'
+'.LCRun3::wi($cx, ((isset($in['creator']) && is_array($in)) ? $in['creator'] : null), $in, function($cx, $in) {return ''.LCRun3::p($cx, 'flow_post_author', array(array($in),array())).'';}).'
+'.((LCRun3::ifvar($cx, ((isset($in['isModerated']) && is_array($in)) ? $in['isModerated'] : null))) ? ' <div class="flow-moderated-post-content">
+'.LCRun3::p($cx, 'flow_post_moderation_state', array(array($in),array())).' </div>
+' : '').'
+ <div class="flow-post-content">
+ '.LCRun3::ch($cx, 'escapeContent', array(array(((isset($in['content']['format']) && is_array($in['content'])) ? $in['content']['format'] : null),((isset($in['content']['content']) && is_array($in['content'])) ? $in['content']['content'] : null)),array()), 'encq').'
+ </div>
+
+'.((!LCRun3::ifvar($cx, ((isset($in['isPreview']) && is_array($in)) ? $in['isPreview'] : null))) ? ''.LCRun3::p($cx, 'flow_post_meta_actions', array(array($in),array())).''.LCRun3::p($cx, 'flow_post_actions', array(array($in),array())).'' : '').'</div>
+';},'flow_anon_warning' => function ($cx, $in) {return '<div class="flow-anon-warning">
+ <div class="flow-anon-warning-mobile">
+'.LCRun3::hbch($cx, 'tooltip', array(array(),array('positionClass'=>'down','contextClass'=>'progressive','extraClass'=>'flow-form-collapsible','isBlock'=>true)), $in, false, function($cx, $in) {return ''.LCRun3::ch($cx, 'l10nParse', array(array('flow-anon-warning',LCRun3::ch($cx, 'linkWithReturnTo', array(array('Special:UserLogin'),array()), 'raw'),LCRun3::ch($cx, 'linkWithReturnTo', array(array('Special:UserLogin/signup'),array()), 'raw')),array()), 'encq').'';}).' </div>
+
+'.LCRun3::hbch($cx, 'progressiveEnhancement', array(array(),array()), $in, false, function($cx, $in) {return ' <div class="flow-anon-warning-desktop">
+'.LCRun3::hbch($cx, 'tooltip', array(array(),array('positionClass'=>'left','contextClass'=>'progressive','extraClass'=>'flow-form-collapsible','isBlock'=>true)), $in, false, function($cx, $in) {return ''.LCRun3::ch($cx, 'l10nParse', array(array('flow-anon-warning',LCRun3::ch($cx, 'linkWithReturnTo', array(array('Special:UserLogin'),array()), 'raw'),LCRun3::ch($cx, 'linkWithReturnTo', array(array('Special:UserLogin/signup'),array()), 'raw')),array()), 'encq').'';}).' </div>
+';}).'</div>
+';},'flow_form_buttons' => function ($cx, $in) {return '<button data-flow-interactive-handler="cancelForm"
+ data-role="cancel"
+ type="reset"
+ class="mw-ui-button mw-ui-destructive mw-ui-quiet mw-ui-flush-right flow-js"
+
+>'.LCRun3::ch($cx, 'l10n', array(array('flow-cancel'),array()), 'encq').'</button>
+';},'flow_edit_post' => function ($cx, $in) {return '<form class="flow-edit-post-form"
+ method="POST"
+ action="'.htmlentities((string)((isset($in['actions']['edit']['url']) && is_array($in['actions']['edit'])) ? $in['actions']['edit']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+>
+'.LCRun3::p($cx, 'flow_errors', array(array($in),array())).' <input type="hidden" name="wpEditToken" value="'.htmlentities((string)((isset($cx['sp_vars']['root']['rootBlock']['editToken']) && is_array($cx['sp_vars']['root']['rootBlock'])) ? $cx['sp_vars']['root']['rootBlock']['editToken'] : null), ENT_QUOTES, 'UTF-8').'" />
+ <input type="hidden" name="topic_prev_revision" value="'.htmlentities((string)((isset($in['revisionId']) && is_array($in)) ? $in['revisionId'] : null), ENT_QUOTES, 'UTF-8').'" />
+'.LCRun3::hbch($cx, 'ifAnonymous', array(array(),array()), $in, false, function($cx, $in) {return ''.LCRun3::p($cx, 'flow_anon_warning', array(array($in),array())).'';}).'
+ <div class="flow-editor">
+ <textarea name="topic_content" class="mw-ui-input flow-form-collapsible"
+ data-flow-preview-template="flow_post"
+ data-flow-preview-title="'.htmlentities((string)((isset($in['articleTitle']) && is_array($in)) ? $in['articleTitle'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-creator="'.htmlentities((string)((isset($in['creator']['name']) && is_array($in['creator'])) ? $in['creator']['name'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-role="content"
+ >'.((LCRun3::ifvar($cx, ((isset($cx['sp_vars']['root']['rootBlock']['submitted']['content']) && is_array($cx['sp_vars']['root']['rootBlock']['submitted'])) ? $cx['sp_vars']['root']['rootBlock']['submitted']['content'] : null))) ? ''.htmlentities((string)((isset($cx['sp_vars']['root']['rootBlock']['submitted']['content']) && is_array($cx['sp_vars']['root']['rootBlock']['submitted'])) ? $cx['sp_vars']['root']['rootBlock']['submitted']['content'] : null), ENT_QUOTES, 'UTF-8').'' : ''.htmlentities((string)((isset($in['content']['content']) && is_array($in['content'])) ? $in['content']['content'] : null), ENT_QUOTES, 'UTF-8').'').'</textarea>
+ </div>
+
+ <div class="flow-form-actions flow-form-collapsible">
+ <button class="mw-ui-button mw-ui-constructive"
+ data-flow-api-handler="submitEditPost">'.LCRun3::ch($cx, 'l10n', array(array('flow-post-action-edit-post-submit'),array()), 'encq').'</button>
+'.LCRun3::p($cx, 'flow_form_buttons', array(array($in),array())).' <small class="flow-terms-of-use plainlinks">'.LCRun3::ch($cx, 'l10nParse', array(array('flow-terms-of-use-edit'),array()), 'encq').'</small>
+ </div>
+</form>
+';},'flow_reply_form' => function ($cx, $in) {return ''.((LCRun3::ifvar($cx, ((isset($in['actions']['reply']) && is_array($in['actions'])) ? $in['actions']['reply'] : null))) ? ' <form class="flow-post flow-reply-form"
+ method="POST"
+ action="'.htmlentities((string)((isset($in['actions']['reply']['url']) && is_array($in['actions']['reply'])) ? $in['actions']['reply']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ id="flow-reply-'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-initial-state="collapsed"
+ >
+ <input type="hidden" name="wpEditToken" value="'.htmlentities((string)((isset($cx['sp_vars']['root']['rootBlock']['editToken']) && is_array($cx['sp_vars']['root']['rootBlock'])) ? $cx['sp_vars']['root']['rootBlock']['editToken'] : null), ENT_QUOTES, 'UTF-8').'" />
+ <input type="hidden" name="topic_replyTo" value="'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'" />
+'.LCRun3::p($cx, 'flow_errors', array(array($in),array())).'
+'.LCRun3::hbch($cx, 'ifAnonymous', array(array(),array()), $in, false, function($cx, $in) {return ''.LCRun3::p($cx, 'flow_anon_warning', array(array($in),array())).'';}).'
+ <div class="flow-editor">
+ <textarea id="flow-post-'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'-form-content"
+ name="topic_content"
+ required
+ data-flow-preview-template="flow_post"
+ data-flow-preview-title="'.htmlentities((string)((isset($in['articleTitle']) && is_array($in)) ? $in['articleTitle'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-expandable="true"
+ class="mw-ui-input flow-click-interactive"
+ type="text"
+ placeholder="'.LCRun3::ch($cx, 'l10n', array(array('flow-reply-topic-title-placeholder',((isset($in['properties']['topic-of-post']) && is_array($in['properties'])) ? $in['properties']['topic-of-post'] : null)),array()), 'encq').'"
+ data-role="content"
+
+ data-flow-interactive-handler-focus="activateReplyTopic"
+ >'.((LCRun3::ifvar($cx, ((isset($cx['sp_vars']['root']['submitted']) && is_array($cx['sp_vars']['root'])) ? $cx['sp_vars']['root']['submitted'] : null))) ? ''.LCRun3::hbch($cx, 'ifCond', array(array(((isset($cx['sp_vars']['root']['submitted']['postId']) && is_array($cx['sp_vars']['root']['submitted'])) ? $cx['sp_vars']['root']['submitted']['postId'] : null),'===',((isset($in['postId']) && is_array($in)) ? $in['postId'] : null)),array()), $in, false, function($cx, $in) {return ''.htmlentities((string)((isset($cx['sp_vars']['root']['submitted']['content']) && is_array($cx['sp_vars']['root']['submitted'])) ? $cx['sp_vars']['root']['submitted']['content'] : null), ENT_QUOTES, 'UTF-8').'';}).'' : '').'</textarea>
+ </div>
+
+ <div class="flow-form-actions flow-form-collapsible">
+ <button data-role="submit"
+ class="mw-ui-button mw-ui-constructive"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-handler="submitReply"
+ data-flow-api-target="< .flow-topic"
+ data-flow-eventlog-action="save-attempt"
+ >'.htmlentities((string)((isset($in['actions']['reply']['text']) && is_array($in['actions']['reply'])) ? $in['actions']['reply']['text'] : null), ENT_QUOTES, 'UTF-8').'</button>
+'.LCRun3::p($cx, 'flow_form_buttons', array(array($in),array())).' <small class="flow-terms-of-use plainlinks">'.LCRun3::ch($cx, 'l10nParse', array(array('flow-terms-of-use-reply'),array()), 'encq').'</small>
+ </div>
+ </form>
+' : '').'';},'flow_post_replies' => function ($cx, $in) {return '<div class="flow-replies">
+'.LCRun3::sec($cx, ((isset($in['replies']) && is_array($in)) ? $in['replies'] : null), $in, true, function($cx, $in) {return ''.LCRun3::hbch($cx, 'eachPost', array(array(((isset($cx['sp_vars']['root']['rootBlock']) && is_array($cx['sp_vars']['root'])) ? $cx['sp_vars']['root']['rootBlock'] : null),$in),array()), $in, false, function($cx, $in) {return ' <!-- eachPost nested replies -->
+ '.LCRun3::ch($cx, 'post', array(array(((isset($cx['sp_vars']['root']['rootBlock']) && is_array($cx['sp_vars']['root'])) ? $cx['sp_vars']['root']['rootBlock'] : null),$in),array()), 'encq').'
+';}).'';}).''.LCRun3::hbch($cx, 'ifCond', array(array(((isset($cx['sp_vars']['root']['rootBlock']['submitted']['postId']) && is_array($cx['sp_vars']['root']['rootBlock']['submitted'])) ? $cx['sp_vars']['root']['rootBlock']['submitted']['postId'] : null),'===',((isset($in['postId']) && is_array($in)) ? $in['postId'] : null)),array()), $in, false, function($cx, $in) {return ''.LCRun3::hbch($cx, 'ifCond', array(array(((isset($cx['sp_vars']['root']['rootBlock']['submitted']['action']) && is_array($cx['sp_vars']['root']['rootBlock']['submitted'])) ? $cx['sp_vars']['root']['rootBlock']['submitted']['action'] : null),'===','reply'),array()), $in, false, function($cx, $in) {return ''.LCRun3::p($cx, 'flow_reply_form', array(array($in),array())).'';}).'';}).'</div>
+';},'flow_post' => function ($cx, $in) {return ''.LCRun3::wi($cx, ((isset($in['revision']) && is_array($in)) ? $in['revision'] : null), $in, function($cx, $in) {return ' <div id="flow-post-'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'"
+ class="flow-post'.((LCRun3::ifvar($cx, ((isset($in['isMaxThreadingDepth']) && is_array($in)) ? $in['isMaxThreadingDepth'] : null))) ? ' flow-post-max-depth' : '').'"
+ data-flow-id="'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'"
+ >
+'.((LCRun3::ifvar($cx, ((isset($in['isModerated']) && is_array($in)) ? $in['isModerated'] : null))) ? ''.LCRun3::hbch($cx, 'ifCond', array(array(((isset($cx['sp_vars']['root']['rootBlock']['submitted']['showPostId']) && is_array($cx['sp_vars']['root']['rootBlock']['submitted'])) ? $cx['sp_vars']['root']['rootBlock']['submitted']['showPostId'] : null),'===',((isset($in['postId']) && is_array($in)) ? $in['postId'] : null)),array()), $in, false, function($cx, $in) {return ''.LCRun3::p($cx, 'flow_post_inner', array(array($in),array())).'';}, function($cx, $in) {return ' <div class="flow-post-main flow-post-moderated">
+ <span class="flow-moderated-post-content">
+'.LCRun3::p($cx, 'flow_post_moderation_state', array(array($in),array())).' </span>
+ </div>
+';}).'' : ''.LCRun3::hbch($cx, 'ifCond', array(array(((isset($cx['sp_vars']['root']['rootBlock']['submitted']['action']) && is_array($cx['sp_vars']['root']['rootBlock']['submitted'])) ? $cx['sp_vars']['root']['rootBlock']['submitted']['action'] : null),'===','edit-post'),array()), $in, false, function($cx, $in) {return ''.LCRun3::hbch($cx, 'ifCond', array(array(((isset($cx['sp_vars']['root']['rootBlock']['submitted']['postId']) && is_array($cx['sp_vars']['root']['rootBlock']['submitted'])) ? $cx['sp_vars']['root']['rootBlock']['submitted']['postId'] : null),'===',((isset($in['postId']) && is_array($in)) ? $in['postId'] : null)),array()), $in, false, function($cx, $in) {return ''.LCRun3::p($cx, 'flow_edit_post', array(array($in),array())).'';}, function($cx, $in) {return ''.LCRun3::p($cx, 'flow_post_inner', array(array($in),array())).'';}).'';}, function($cx, $in) {return ''.LCRun3::p($cx, 'flow_post_inner', array(array($in),array())).'';}).'').'
+'.((!LCRun3::ifvar($cx, ((isset($in['isPreview']) && is_array($in)) ? $in['isPreview'] : null))) ? ''.LCRun3::p($cx, 'flow_post_replies', array(array($in),array())).'' : '').' </div>
+';}).'';},),
+ 'scopes' => array($in),
+ 'sp_vars' => array('root' => $in),
+
+ );
+
+ return '<div class="flow-board">
+'.LCRun3::sec($cx, ((isset($in['roots']) && is_array($in)) ? $in['roots'] : null), $in, true, function($cx, $in) {return ''.LCRun3::hbch($cx, 'eachPost', array(array(((isset($cx['sp_vars']['root']) && is_array($cx['sp_vars'])) ? $cx['sp_vars']['root'] : null),$in),array()), $in, false, function($cx, $in) {return ''.LCRun3::p($cx, 'flow_moderate_topic', array(array($in),array())).''.LCRun3::p($cx, 'flow_post', array(array($in),array())).'';}).'';}).'</div>
+';
+}
+?> \ No newline at end of file
diff --git a/Flow/handlebars/compiled/flow_block_topic_single_view.handlebars.php b/Flow/handlebars/compiled/flow_block_topic_single_view.handlebars.php
new file mode 100644
index 00000000..79230ca9
--- /dev/null
+++ b/Flow/handlebars/compiled/flow_block_topic_single_view.handlebars.php
@@ -0,0 +1,39 @@
+<?php return function ($in, $debugopt = 1) {
+ $cx = array(
+ 'flags' => array(
+ 'jstrue' => false,
+ 'jsobj' => false,
+ 'spvar' => true,
+ 'prop' => false,
+ 'method' => false,
+ 'mustlok' => false,
+ 'mustsec' => false,
+ 'echo' => false,
+ 'debug' => $debugopt,
+ ),
+ 'constants' => array(),
+ 'helpers' => array( 'l10nParse' => 'Flow\TemplateHelper::l10nParse',
+ 'escapeContent' => 'Flow\TemplateHelper::escapeContent',
+),
+ 'blockhelpers' => array(),
+ 'hbhelpers' => array(),
+ 'partials' => array(),
+ 'scopes' => array($in),
+ 'sp_vars' => array('root' => $in),
+
+ );
+
+ return '<div class="flow-board">
+ <div class="flow-revision-permalink-warning plainlinks">
+'.((LCRun3::ifvar($cx, ((isset($in['revision']['previousRevisionId']) && is_array($in['revision'])) ? $in['revision']['previousRevisionId'] : null))) ? ' '.LCRun3::ch($cx, 'l10nParse', array(array('flow-revision-permalink-warning-post',((isset($in['revision']['human_timestamp']) && is_array($in['revision'])) ? $in['revision']['human_timestamp'] : null),((isset($in['revision']['rev_view_links']['board']['title']) && is_array($in['revision']['rev_view_links']['board'])) ? $in['revision']['rev_view_links']['board']['title'] : null),((isset($in['revision']['root']['content']) && is_array($in['revision']['root'])) ? $in['revision']['root']['content'] : null),((isset($in['revision']['rev_view_links']['hist']['url']) && is_array($in['revision']['rev_view_links']['hist'])) ? $in['revision']['rev_view_links']['hist']['url'] : null),((isset($in['revision']['rev_view_links']['diff']['url']) && is_array($in['revision']['rev_view_links']['diff'])) ? $in['revision']['rev_view_links']['diff']['url'] : null)),array()), 'encq').'
+' : ' '.LCRun3::ch($cx, 'l10nParse', array(array('flow-revision-permalink-warning-post-first',((isset($in['revision']['human_timestamp']) && is_array($in['revision'])) ? $in['revision']['human_timestamp'] : null),((isset($in['revision']['rev_view_links']['board']['title']) && is_array($in['revision']['rev_view_links']['board'])) ? $in['revision']['rev_view_links']['board']['title'] : null),((isset($in['revision']['root']['content']) && is_array($in['revision']['root'])) ? $in['revision']['root']['content'] : null),((isset($in['revision']['rev_view_links']['hist']['url']) && is_array($in['revision']['rev_view_links']['hist'])) ? $in['revision']['rev_view_links']['hist']['url'] : null),((isset($in['revision']['rev_view_links']['diff']['url']) && is_array($in['revision']['rev_view_links']['diff'])) ? $in['revision']['rev_view_links']['diff']['url'] : null)),array()), 'encq').'
+').' </div>
+ <div class="flow-revision-content">
+ '.LCRun3::ch($cx, 'escapeContent', array(array(((isset($in['revision']['content']['format']) && is_array($in['revision']['content'])) ? $in['revision']['content']['format'] : null),((isset($in['revision']['content']['content']) && is_array($in['revision']['content'])) ? $in['revision']['content']['content'] : null)),array()), 'encq').'
+ </div>
+</div>
+
+
+';
+}
+?> \ No newline at end of file
diff --git a/Flow/handlebars/compiled/flow_block_topic_undo_edit.handlebars.php b/Flow/handlebars/compiled/flow_block_topic_undo_edit.handlebars.php
new file mode 100644
index 00000000..180c1433
--- /dev/null
+++ b/Flow/handlebars/compiled/flow_block_topic_undo_edit.handlebars.php
@@ -0,0 +1,73 @@
+<?php return function ($in, $debugopt = 1) {
+ $cx = array(
+ 'flags' => array(
+ 'jstrue' => false,
+ 'jsobj' => false,
+ 'spvar' => true,
+ 'prop' => false,
+ 'method' => false,
+ 'mustlok' => false,
+ 'mustsec' => false,
+ 'echo' => false,
+ 'debug' => $debugopt,
+ ),
+ 'constants' => array(),
+ 'helpers' => array( 'l10n' => 'Flow\TemplateHelper::l10n',
+ 'html' => 'Flow\TemplateHelper::htmlHelper',
+ 'l10nParse' => 'Flow\TemplateHelper::l10nParse',
+ 'diffUndo' => 'Flow\TemplateHelper::diffUndo',
+),
+ 'blockhelpers' => array(),
+ 'hbhelpers' => array(),
+ 'partials' => array('flow_errors' => function ($cx, $in) {return '<div class="flow-error-container">
+'.((LCRun3::ifvar($cx, ((isset($cx['sp_vars']['root']['errors']) && is_array($cx['sp_vars']['root'])) ? $cx['sp_vars']['root']['errors'] : null))) ? ' <div class="flow-errors errorbox">
+ <ul>
+'.LCRun3::sec($cx, ((isset($cx['sp_vars']['root']['errors']) && is_array($cx['sp_vars']['root'])) ? $cx['sp_vars']['root']['errors'] : null), $in, true, function($cx, $in) {return ' <li>'.LCRun3::ch($cx, 'html', array(array(((isset($in['message']) && is_array($in)) ? $in['message'] : null)),array()), 'encq').'</li>
+';}).' </ul>
+ </div>
+' : '').'</div>
+';},'flow_form_buttons' => function ($cx, $in) {return '<button data-flow-interactive-handler="cancelForm"
+ data-role="cancel"
+ type="reset"
+ class="mw-ui-button mw-ui-destructive mw-ui-quiet mw-ui-flush-right flow-js"
+
+>'.LCRun3::ch($cx, 'l10n', array(array('flow-cancel'),array()), 'encq').'</button>
+';},),
+ 'scopes' => array($in),
+ 'sp_vars' => array('root' => $in),
+
+ );
+
+ return '<div class="flow-board">
+'.((LCRun3::ifvar($cx, ((isset($in['undo']['possible']) && is_array($in['undo'])) ? $in['undo']['possible'] : null))) ? ' <p>'.LCRun3::ch($cx, 'l10n', array(array('flow-undo-edit-content'),array()), 'encq').'</p>
+' : ' <p class="error">'.LCRun3::ch($cx, 'l10n', array(array('flow-undo-edit-failure'),array()), 'encq').'</p>
+').'
+'.LCRun3::p($cx, 'flow_errors', array(array($in),array())).'
+'.((LCRun3::ifvar($cx, ((isset($in['undo']['possible']) && is_array($in['undo'])) ? $in['undo']['possible'] : null))) ? ' '.LCRun3::ch($cx, 'diffUndo', array(array(((isset($in['undo']['diff_content']) && is_array($in['undo'])) ? $in['undo']['diff_content'] : null)),array()), 'encq').'
+' : '').'
+ <form method="POST" action="'.htmlentities((string)((isset($in['links']['undo-edit-post']['url']) && is_array($in['links']['undo-edit-post'])) ? $in['links']['undo-edit-post']['url'] : null), ENT_QUOTES, 'UTF-8').'" class="flow-post">
+ <input type="hidden" name="wpEditToken" value="'.htmlentities((string)((isset($cx['sp_vars']['root']['rootBlock']['editToken']) && is_array($cx['sp_vars']['root']['rootBlock'])) ? $cx['sp_vars']['root']['rootBlock']['editToken'] : null), ENT_QUOTES, 'UTF-8').'" />
+ <input type="hidden" name="topic_prev_revision" value="'.htmlentities((string)((isset($in['current']['revisionId']) && is_array($in['current'])) ? $in['current']['revisionId'] : null), ENT_QUOTES, 'UTF-8').'" />
+ <input type="hidden" name="topic_postId" value="'.htmlentities((string)((isset($in['current']['postId']) && is_array($in['current'])) ? $in['current']['postId'] : null), ENT_QUOTES, 'UTF-8').'" />
+
+ <div class="flow-editor">
+ <textarea name="topic_content"
+ class="mw-ui-input"
+ data-role="content"
+ data-flow-preview-template="flow_post"
+ data-flow-preview-title="'.htmlentities((string)((isset($in['articleTitle']) && is_array($in)) ? $in['articleTitle'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-username="'.htmlentities((string)((isset($in['current']['creator']['name']) && is_array($in['current']['creator'])) ? $in['current']['creator']['name'] : null), ENT_QUOTES, 'UTF-8').'"
+ >'.((LCRun3::ifvar($cx, ((isset($in['submitted']['content']) && is_array($in['submitted'])) ? $in['submitted']['content'] : null))) ? ''.htmlentities((string)((isset($in['submitted']['content']) && is_array($in['submitted'])) ? $in['submitted']['content'] : null), ENT_QUOTES, 'UTF-8').'' : ''.((LCRun3::ifvar($cx, ((isset($in['undo']['possible']) && is_array($in['undo'])) ? $in['undo']['possible'] : null))) ? ''.htmlentities((string)((isset($in['undo']['content']) && is_array($in['undo'])) ? $in['undo']['content'] : null), ENT_QUOTES, 'UTF-8').'' : ''.htmlentities((string)((isset($in['current']['content']['content']) && is_array($in['current']['content'])) ? $in['current']['content']['content'] : null), ENT_QUOTES, 'UTF-8').'').'').'</textarea>
+ </div>
+
+ <div class="flow-form-actions flow-form-collapsible">
+ <button class="mw-ui-button mw-ui-constructive">'.LCRun3::ch($cx, 'l10n', array(array('flow-edit-post-submit'),array()), 'encq').'</button>
+'.LCRun3::p($cx, 'flow_form_buttons', array(array($in),array())).' <small class="flow-terms-of-use plainlinks">'.LCRun3::ch($cx, 'l10nParse', array(array('flow-terms-of-use-edit'),array()), 'encq').'
+ </small>
+ </div>
+ </form>
+</div>
+
+';
+}
+?> \ No newline at end of file
diff --git a/Flow/handlebars/compiled/flow_block_topiclist.handlebars.php b/Flow/handlebars/compiled/flow_block_topiclist.handlebars.php
new file mode 100644
index 00000000..2978e4b9
--- /dev/null
+++ b/Flow/handlebars/compiled/flow_block_topiclist.handlebars.php
@@ -0,0 +1,368 @@
+<?php return function ($in, $debugopt = 1) {
+ $cx = array(
+ 'flags' => array(
+ 'jstrue' => false,
+ 'jsobj' => false,
+ 'spvar' => true,
+ 'prop' => false,
+ 'method' => false,
+ 'mustlok' => false,
+ 'mustsec' => false,
+ 'echo' => false,
+ 'debug' => $debugopt,
+ ),
+ 'constants' => array(),
+ 'helpers' => array( 'l10n' => 'Flow\TemplateHelper::l10n',
+ 'uuidTimestamp' => 'Flow\TemplateHelper::uuidTimestamp',
+ 'timestamp' => 'Flow\TemplateHelper::timestampHelper',
+ 'html' => 'Flow\TemplateHelper::htmlHelper',
+ 'post' => 'Flow\TemplateHelper::post',
+ 'l10nParse' => 'Flow\TemplateHelper::l10nParse',
+ 'concat' => 'Flow\TemplateHelper::concat',
+ 'linkWithReturnTo' => 'Flow\TemplateHelper::linkWithReturnTo',
+ 'escapeContent' => 'Flow\TemplateHelper::escapeContent',
+),
+ 'blockhelpers' => array(),
+ 'hbhelpers' => array( 'eachPost' => 'Flow\TemplateHelper::eachPost',
+ 'ifAnonymous' => 'Flow\TemplateHelper::ifAnonymous',
+ 'ifCond' => 'Flow\TemplateHelper::ifCond',
+ 'tooltip' => 'Flow\TemplateHelper::tooltip',
+ 'progressiveEnhancement' => 'Flow\TemplateHelper::progressiveEnhancement',
+),
+ 'partials' => array('flow_board_navigation' => function ($cx, $in) {return '
+<div class="flow-board-navigation flow-load-interactive" data-flow-load-handler="boardNavigation">
+ <div class="flow-error-container">
+ </div>
+ <div class="flow-board-navigation-inner">
+ <a href="javascript:void(0);"
+ class="flow-board-navigator-last flow-ui-tooltip-target"
+ data-tooltip-pointing="down"
+ title="'.LCRun3::hbch($cx, 'ifCond', array(array(((isset($in['sortby']) && is_array($in)) ? $in['sortby'] : null),'===','updated'),array()), $in, false, function($cx, $in) {return ''.LCRun3::ch($cx, 'l10n', array(array('flow-sorting-tooltip-recent'),array()), 'encq').'';}, function($cx, $in) {return ''.LCRun3::ch($cx, 'l10n', array(array('flow-sorting-tooltip-newest'),array()), 'encq').'';}).'"
+ data-flow-interactive-handler="menuToggle"
+ data-flow-menu-target="< .flow-board-navigation .flow-board-sort-menu">'.LCRun3::hbch($cx, 'ifCond', array(array(((isset($in['sortby']) && is_array($in)) ? $in['sortby'] : null),'===','updated'),array()), $in, false, function($cx, $in) {return ' '.LCRun3::ch($cx, 'l10n', array(array('flow-recent-topics'),array()), 'encq').'
+';}, function($cx, $in) {return ' '.LCRun3::ch($cx, 'l10n', array(array('flow-newest-topics'),array()), 'encq').'
+';}).' <span class="wikiglyph wikiglyph-caret-down"></span>
+ </a>
+
+ <a href=""
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-target="< .flow-board-navigation .flow-board-toc-menu .flow-list"
+ data-flow-api-handler="topicList"
+ data-flow-menu-target="< .flow-board-navigation .flow-board-toc-menu"
+ class="flow-board-navigator-active flow-board-navigator-first">
+ <span class="wikiglyph wikiglyph-stripe-toc"></span>
+ <span class="flow-load-interactive" data-flow-load-handler="boardNavigationTitle">'.LCRun3::ch($cx, 'l10n', array(array('flow-board-header-browse-topics-link'),array()), 'encq').'</span>
+ </a>
+ </div>
+
+ <div class="flow-board-header-menu">
+ <div class="flow-menu flow-menu-inverted flow-menu-scrollable flow-board-toc-menu flow-load-interactive"
+ data-flow-load-handler="menu"
+ data-flow-toc-target=".flow-list">
+ <div class="flow-menu-js-drop flow-menu-js-drop-hidden"><a href="javascript:void(0);" class="flow-board-header-menu-activator"></a></div>
+ <ul class="mw-ui-button-container flow-board-toc-list flow-list flow-load-interactive"
+ data-flow-load-handler="tocMenu"
+ data-flow-toc-target="li:not(.flow-load-more):last"
+ data-flow-template="flow_board_toc_loop.partial">
+ </ul>
+ </div>
+
+ <div class="flow-menu flow-board-sort-menu flow-load-interactive"
+ data-flow-load-handler="menu">
+ <div class="flow-menu-js-drop flow-menu-js-drop-hidden"><a href="javascript:void(0);" class="flow-board-header-menu-activator"></a></div>
+'.((LCRun3::ifvar($cx, ((isset($in['links']['board-sort']) && is_array($in['links'])) ? $in['links']['board-sort'] : null))) ? ' <ul class="mw-ui-button-container flow-list">'.LCRun3::hbch($cx, 'ifCond', array(array(((isset($in['sortby']) && is_array($in)) ? $in['sortby'] : null),'===','updated'),array()), $in, false, function($cx, $in) {return ' <li><a class="mw-ui-button mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['links']['board-sort']['newest']) && is_array($in['links']['board-sort'])) ? $in['links']['board-sort']['newest'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-target="< .flow-component"
+ data-flow-api-handler="board"><span class="wikiglyph wikiglyph-star-circle"></span> '.LCRun3::ch($cx, 'l10n', array(array('flow-newest-topics'),array()), 'encq').'</a></li>
+';}, function($cx, $in) {return ' <li><a class="mw-ui-button mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['links']['board-sort']['updated']) && is_array($in['links']['board-sort'])) ? $in['links']['board-sort']['updated'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-target="< .flow-component"
+ data-flow-api-handler="board"><span class="wikiglyph wikiglyph-clock"></span> '.LCRun3::ch($cx, 'l10n', array(array('flow-recent-topics'),array()), 'encq').'</a></li>
+';}).' </ul>
+' : '').' </div>
+ </div>
+</div>
+';},'flow_errors' => function ($cx, $in) {return '<div class="flow-error-container">
+'.((LCRun3::ifvar($cx, ((isset($cx['sp_vars']['root']['errors']) && is_array($cx['sp_vars']['root'])) ? $cx['sp_vars']['root']['errors'] : null))) ? ' <div class="flow-errors errorbox">
+ <ul>
+'.LCRun3::sec($cx, ((isset($cx['sp_vars']['root']['errors']) && is_array($cx['sp_vars']['root'])) ? $cx['sp_vars']['root']['errors'] : null), $in, true, function($cx, $in) {return ' <li>'.LCRun3::ch($cx, 'html', array(array(((isset($in['message']) && is_array($in)) ? $in['message'] : null)),array()), 'encq').'</li>
+';}).' </ul>
+ </div>
+' : '').'</div>
+';},'flow_anon_warning' => function ($cx, $in) {return '<div class="flow-anon-warning">
+ <div class="flow-anon-warning-mobile">
+'.LCRun3::hbch($cx, 'tooltip', array(array(),array('positionClass'=>'down','contextClass'=>'progressive','extraClass'=>'flow-form-collapsible','isBlock'=>true)), $in, false, function($cx, $in) {return ''.LCRun3::ch($cx, 'l10nParse', array(array('flow-anon-warning',LCRun3::ch($cx, 'linkWithReturnTo', array(array('Special:UserLogin'),array()), 'raw'),LCRun3::ch($cx, 'linkWithReturnTo', array(array('Special:UserLogin/signup'),array()), 'raw')),array()), 'encq').'';}).' </div>
+
+'.LCRun3::hbch($cx, 'progressiveEnhancement', array(array(),array()), $in, false, function($cx, $in) {return ' <div class="flow-anon-warning-desktop">
+'.LCRun3::hbch($cx, 'tooltip', array(array(),array('positionClass'=>'left','contextClass'=>'progressive','extraClass'=>'flow-form-collapsible','isBlock'=>true)), $in, false, function($cx, $in) {return ''.LCRun3::ch($cx, 'l10nParse', array(array('flow-anon-warning',LCRun3::ch($cx, 'linkWithReturnTo', array(array('Special:UserLogin'),array()), 'raw'),LCRun3::ch($cx, 'linkWithReturnTo', array(array('Special:UserLogin/signup'),array()), 'raw')),array()), 'encq').'';}).' </div>
+';}).'</div>
+';},'flow_form_buttons' => function ($cx, $in) {return '<button data-flow-interactive-handler="cancelForm"
+ data-role="cancel"
+ type="reset"
+ class="mw-ui-button mw-ui-destructive mw-ui-quiet mw-ui-flush-right flow-js"
+
+>'.LCRun3::ch($cx, 'l10n', array(array('flow-cancel'),array()), 'encq').'</button>
+';},'flow_newtopic_form' => function ($cx, $in) {return ''.((LCRun3::ifvar($cx, ((isset($in['actions']['newtopic']) && is_array($in['actions'])) ? $in['actions']['newtopic'] : null))) ? ' <form action="'.htmlentities((string)((isset($in['actions']['newtopic']['url']) && is_array($in['actions']['newtopic'])) ? $in['actions']['newtopic']['url'] : null), ENT_QUOTES, 'UTF-8').'" method="POST" class="flow-newtopic-form" data-flow-initial-state="collapsed">
+'.LCRun3::p($cx, 'flow_errors', array(array($in),array())).'
+'.LCRun3::hbch($cx, 'ifAnonymous', array(array(),array()), $in, false, function($cx, $in) {return ''.LCRun3::p($cx, 'flow_anon_warning', array(array($in),array())).'';}).'
+ <input type="hidden" name="wpEditToken" value="'.htmlentities((string)((isset($cx['sp_vars']['root']['editToken']) && is_array($cx['sp_vars']['root'])) ? $cx['sp_vars']['root']['editToken'] : null), ENT_QUOTES, 'UTF-8').'" />
+ <input type="hidden" name="topiclist_replyTo" value="'.htmlentities((string)((isset($in['workflowId']) && is_array($in)) ? $in['workflowId'] : null), ENT_QUOTES, 'UTF-8').'" />
+ <input name="topiclist_topic" class="mw-ui-input mw-ui-input-large"
+ required
+ '.((LCRun3::ifvar($cx, ((isset($in['submitted']['topic']) && is_array($in['submitted'])) ? $in['submitted']['topic'] : null))) ? 'value="'.htmlentities((string)((isset($in['submitted']['topic']) && is_array($in['submitted'])) ? $in['submitted']['topic'] : null), ENT_QUOTES, 'UTF-8').'"' : '').'
+ type="text"
+ placeholder="'.LCRun3::ch($cx, 'l10n', array(array('flow-newtopic-start-placeholder'),array()), 'encq').'"
+ data-role="title"
+
+ data-flow-interactive-handler-focus="activateNewTopic"
+ />
+ <div class="flow-editor">
+ <textarea name="topiclist_content"
+ data-flow-preview-template="flow_topic.partial"
+ data-flow-preview-title-generator="newTopic"
+ class="mw-ui-input flow-form-collapsible mw-ui-input-large"
+ '.((LCRun3::ifvar($cx, ((isset($in['isOnFlowBoard']) && is_array($in)) ? $in['isOnFlowBoard'] : null))) ? 'style="display:none;"' : '').'
+ placeholder="'.LCRun3::ch($cx, 'l10n', array(array('flow-newtopic-content-placeholder',((isset($cx['sp_vars']['root']['title']) && is_array($cx['sp_vars']['root'])) ? $cx['sp_vars']['root']['title'] : null)),array()), 'encq').'"
+ data-role="content"
+ required
+ >'.((LCRun3::ifvar($cx, ((isset($in['submitted']['content']) && is_array($in['submitted'])) ? $in['submitted']['content'] : null))) ? ''.htmlentities((string)((isset($in['submitted']['content']) && is_array($in['submitted'])) ? $in['submitted']['content'] : null), ENT_QUOTES, 'UTF-8').'' : '').'</textarea>
+ </div>
+
+ <div class="flow-form-actions flow-form-collapsible"
+ '.((LCRun3::ifvar($cx, ((isset($in['isOnFlowBoard']) && is_array($in)) ? $in['isOnFlowBoard'] : null))) ? 'style="display:none;"' : '').'>
+ <button data-role="submit" data-flow-api-handler="newTopic"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-eventlog-action="save-attempt"
+ class="mw-ui-button mw-ui-constructive mw-ui-flush-right">'.LCRun3::ch($cx, 'l10n', array(array('flow-newtopic-save'),array()), 'encq').'</button>
+'.LCRun3::p($cx, 'flow_form_buttons', array(array($in),array())).' <small class="flow-terms-of-use plainlinks">'.LCRun3::ch($cx, 'l10nParse', array(array('flow-terms-of-use-new-topic'),array()), 'encq').'</small>
+ </div>
+ </form>
+' : '').'';},'flow_topic_moderation_flag' => function ($cx, $in) {return '<span class="wikiglyph'.LCRun3::hbch($cx, 'ifCond', array(array(((isset($in['moderateState']) && is_array($in)) ? $in['moderateState'] : null),'===','lock'),array()), $in, false, function($cx, $in) {return ' wikiglyph-lock';}).''.LCRun3::hbch($cx, 'ifCond', array(array(((isset($in['moderateState']) && is_array($in)) ? $in['moderateState'] : null),'===','hide'),array()), $in, false, function($cx, $in) {return ' wikiglyph-flag';}).''.LCRun3::hbch($cx, 'ifCond', array(array(((isset($in['moderateState']) && is_array($in)) ? $in['moderateState'] : null),'===','delete'),array()), $in, false, function($cx, $in) {return ' wikiglyph-trash';}).'"></span>
+';},'flow_post_moderation_state' => function ($cx, $in) {return '<span class="plainlinks">'.((LCRun3::ifvar($cx, ((isset($in['replyToId']) && is_array($in)) ? $in['replyToId'] : null))) ? ''.LCRun3::ch($cx, 'l10nParse', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderateState']) && is_array($in)) ? $in['moderateState'] : null),'-post-content'),array()), 'raw'),((isset($in['moderator']['name']) && is_array($in['moderator'])) ? $in['moderator']['name'] : null),((isset($in['links']['topic-history']['url']) && is_array($in['links']['topic-history'])) ? $in['links']['topic-history']['url'] : null)),array()), 'encq').'' : ''.LCRun3::ch($cx, 'l10nParse', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderateState']) && is_array($in)) ? $in['moderateState'] : null),'-title-content'),array()), 'raw'),((isset($in['moderator']['name']) && is_array($in['moderator'])) ? $in['moderator']['name'] : null),((isset($in['links']['topic-history']['url']) && is_array($in['links']['topic-history'])) ? $in['links']['topic-history']['url'] : null)),array()), 'encq').'').'</span>
+';},'flow_topic_titlebar_summary' => function ($cx, $in) {return '<div class="flow-topic-summary-container">
+'.LCRun3::p($cx, 'flow_errors', array(array($in),array())).''.((LCRun3::ifvar($cx, ((isset($in['summary']) && is_array($in)) ? $in['summary'] : null))) ? ' <div class="flow-topic-summary">
+ '.LCRun3::ch($cx, 'escapeContent', array(array(((isset($in['summary']['format']) && is_array($in['summary'])) ? $in['summary']['format'] : null),((isset($in['summary']['content']) && is_array($in['summary'])) ? $in['summary']['content'] : null)),array()), 'encq').'
+ </div>
+ <br class="flow-ui-clear"/>
+' : '').'</div>
+';},'flow_topic_titlebar_content' => function ($cx, $in) {return '<h2 class="flow-topic-title flow-load-interactive"
+ data-flow-topic-title="'.LCRun3::ch($cx, 'escapeContent', array(array(((isset($in['content']['format']) && is_array($in['content'])) ? $in['content']['format'] : null),((isset($in['content']['content']) && is_array($in['content'])) ? $in['content']['content'] : null)),array()), 'encq').'"
+ data-flow-load-handler="topicTitle">'.LCRun3::ch($cx, 'escapeContent', array(array(((isset($in['content']['format']) && is_array($in['content'])) ? $in['content']['format'] : null),((isset($in['content']['content']) && is_array($in['content'])) ? $in['content']['content'] : null)),array()), 'encq').'</h2>
+<div class="flow-topic-meta">
+ '.LCRun3::ch($cx, 'l10n', array(array('flow-topic-comments',((isset($in['reply_count']) && is_array($in)) ? $in['reply_count'] : null)),array()), 'encq').' &bull;
+
+ <a href="'.htmlentities((string)((isset($in['links']['topic-history']['url']) && is_array($in['links']['topic-history'])) ? $in['links']['topic-history']['url'] : null), ENT_QUOTES, 'UTF-8').'" class="flow-timestamp-anchor">
+'.((LCRun3::ifvar($cx, ((isset($in['last_updated']) && is_array($in)) ? $in['last_updated'] : null))) ? ' '.LCRun3::ch($cx, 'timestamp', array(array(((isset($in['last_updated']) && is_array($in)) ? $in['last_updated'] : null)),array()), 'encq').'
+' : ' '.LCRun3::ch($cx, 'uuidTimestamp', array(array(((isset($in['postId']) && is_array($in)) ? $in['postId'] : null)),array()), 'encq').'
+').' </a>
+</div>
+'.((LCRun3::ifvar($cx, ((isset($in['isModerated']) && is_array($in)) ? $in['isModerated'] : null))) ? ' <div class="flow-moderated-topic-title flow-ui-text-truncated">'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').''.LCRun3::p($cx, 'flow_topic_moderation_flag', array(array($in),array())).'
+'.LCRun3::p($cx, 'flow_post_moderation_state', array(array($in),array())).' </div>
+ <div class="flow-moderated-topic-reason">
+ '.LCRun3::ch($cx, 'l10n', array(array('flow-topic-moderated-reason-prefix'),array()), 'encq').'
+ '.LCRun3::ch($cx, 'escapeContent', array(array(((isset($in['moderateReason']['format']) && is_array($in['moderateReason'])) ? $in['moderateReason']['format'] : null),((isset($in['moderateReason']['content']) && is_array($in['moderateReason'])) ? $in['moderateReason']['content'] : null)),array()), 'encq').'
+ </div>
+' : '').'<span class="flow-reply-count"><span class="wikiglyph wikiglyph-speech-bubble"></span><span class="flow-reply-count-number">'.htmlentities((string)((isset($in['reply_count']) && is_array($in)) ? $in['reply_count'] : null), ENT_QUOTES, 'UTF-8').'</span></span>
+
+'.LCRun3::p($cx, 'flow_topic_titlebar_summary', array(array($in),array())).'';},'flow_topic_titlebar_watch' => function ($cx, $in) {return '<div class="flow-topic-watchlist flow-watch-link">
+'.LCRun3::p($cx, 'flow_errors', array(array($in),array())).'
+ <a href="'.((LCRun3::ifvar($cx, ((isset($in['isWatched']) && is_array($in)) ? $in['isWatched'] : null))) ? ''.htmlentities((string)((isset($in['links']['unwatch-topic']['url']) && is_array($in['links']['unwatch-topic'])) ? $in['links']['unwatch-topic']['url'] : null), ENT_QUOTES, 'UTF-8').'' : ''.htmlentities((string)((isset($in['links']['watch-topic']['url']) && is_array($in['links']['watch-topic'])) ? $in['links']['watch-topic']['url'] : null), ENT_QUOTES, 'UTF-8').'').'"
+ class="mw-ui-anchor mw-ui-constructive '.((!LCRun3::ifvar($cx, ((isset($in['isWatched']) && is_array($in)) ? $in['isWatched'] : null))) ? 'mw-ui-quiet' : '').'
+'.((LCRun3::ifvar($cx, ((isset($in['isWatched']) && is_array($in)) ? $in['isWatched'] : null))) ? 'flow-watch-link-unwatch' : 'flow-watch-link-watch').'"
+ data-flow-api-handler="watchItem"
+ data-flow-api-target="< .flow-topic-watchlist"
+ data-flow-api-method="POST">'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<span class="wikiglyph wikiglyph-star"></span>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').''.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<span class="wikiglyph wikiglyph-unstar"></span>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</a>
+</div>
+';},'flow_moderation_actions_list' => function ($cx, $in) {return '<section>'.LCRun3::hbch($cx, 'ifCond', array(array(((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'===','topic'),array()), $in, false, function($cx, $in) {return ''.((LCRun3::ifvar($cx, ((isset($in['actions']['edit']) && is_array($in['actions'])) ? $in['actions']['edit'] : null))) ? '<li class="flow-js">'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['edit']['url']) && is_array($in['actions']['edit'])) ? $in['actions']['edit']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['edit']['title']) && is_array($in['actions']['edit'])) ? $in['actions']['edit']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-handler="activateEditTitle"
+ data-flow-api-target="< .flow-topic-titlebar"
+ >'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-pencil"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-edit-title'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['links']['topic-history']) && is_array($in['links'])) ? $in['links']['topic-history'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['links']['topic-history']['url']) && is_array($in['links']['topic-history'])) ? $in['links']['topic-history']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['links']['topic-history']['title']) && is_array($in['links']['topic-history'])) ? $in['links']['topic-history']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-clock"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-history'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['links']['topic']) && is_array($in['links'])) ? $in['links']['topic'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['links']['topic']['url']) && is_array($in['links']['topic'])) ? $in['links']['topic']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['links']['topic']['title']) && is_array($in['links']['topic'])) ? $in['links']['topic']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-link"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-view'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['summarize']) && is_array($in['actions'])) ? $in['actions']['summarize'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-progressive mw-ui-quiet"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-handler="activateSummarizeTopic"
+ data-flow-api-target="< .flow-topic-titlebar .flow-topic-summary-container"
+ href="'.htmlentities((string)((isset($in['actions']['summarize']['url']) && is_array($in['actions']['summarize'])) ? $in['actions']['summarize']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['summarize']['title']) && is_array($in['actions']['summarize'])) ? $in['actions']['summarize']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-stripe-toc"></span> ' : '').''.((LCRun3::ifvar($cx, ((isset($in['summary']) && is_array($in)) ? $in['summary'] : null))) ? ''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-resummarize-topic'),array()), 'raw')),array()), 'encq').'' : ''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-summarize-topic'),array()), 'raw')),array()), 'encq').'').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').'';}).''.LCRun3::hbch($cx, 'ifCond', array(array(((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'===','post'),array()), $in, false, function($cx, $in) {return ''.((LCRun3::ifvar($cx, ((isset($in['actions']['edit']) && is_array($in['actions'])) ? $in['actions']['edit'] : null))) ? '<li>
+ <a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-progressive mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['edit']['url']) && is_array($in['actions']['edit'])) ? $in['actions']['edit']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['edit']['title']) && is_array($in['actions']['edit'])) ? $in['actions']['edit']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-api-handler="activateEditPost"
+ data-flow-api-target="< .flow-post-main"
+ data-flow-interactive-handler="apiRequest"
+ >'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-pencil"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array('flow-post-action-edit-post'),array()), 'encq').'</a>
+ </li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['links']['post']) && is_array($in['links'])) ? $in['links']['post'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['links']['post']['url']) && is_array($in['links']['post'])) ? $in['links']['post']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['links']['post']['title']) && is_array($in['links']['post'])) ? $in['links']['post']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-link"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-view'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').'';}).'</section>
+
+<section>'.LCRun3::hbch($cx, 'ifCond', array(array(((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'===','history'),array()), $in, false, function($cx, $in) {return ''.((LCRun3::ifvar($cx, ((isset($in['actions']['undo']) && is_array($in['actions'])) ? $in['actions']['undo'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['undo']['url']) && is_array($in['actions']['undo'])) ? $in['actions']['undo']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ >'.htmlentities((string)((isset($in['actions']['undo']['title']) && is_array($in['actions']['undo'])) ? $in['actions']['undo']['title'] : null), ENT_QUOTES, 'UTF-8').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').'';}).''.((LCRun3::ifvar($cx, ((isset($in['actions']['hide']) && is_array($in['actions'])) ? $in['actions']['hide'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['hide']['url']) && is_array($in['actions']['hide'])) ? $in['actions']['hide']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['hide']['title']) && is_array($in['actions']['hide'])) ? $in['actions']['hide']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_'.htmlentities((string)((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null), ENT_QUOTES, 'UTF-8').'.partial"
+ data-role="hide">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-flag"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-hide-',((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null)),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['unhide']) && is_array($in['actions'])) ? $in['actions']['unhide'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['unhide']['url']) && is_array($in['actions']['unhide'])) ? $in['actions']['unhide']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['unhide']['title']) && is_array($in['actions']['unhide'])) ? $in['actions']['unhide']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_'.htmlentities((string)((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null), ENT_QUOTES, 'UTF-8').'.partial"
+ data-role="unhide">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-flag"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-unhide-',((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null)),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['delete']) && is_array($in['actions'])) ? $in['actions']['delete'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['delete']['url']) && is_array($in['actions']['delete'])) ? $in['actions']['delete']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['delete']['title']) && is_array($in['actions']['delete'])) ? $in['actions']['delete']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_'.htmlentities((string)((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null), ENT_QUOTES, 'UTF-8').'.partial"
+ data-role="delete">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-trash"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-delete-',((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null)),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['undelete']) && is_array($in['actions'])) ? $in['actions']['undelete'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['undelete']['url']) && is_array($in['actions']['undelete'])) ? $in['actions']['undelete']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['undelete']['title']) && is_array($in['actions']['undelete'])) ? $in['actions']['undelete']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_'.htmlentities((string)((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null), ENT_QUOTES, 'UTF-8').'.partial"
+ data-role="undelete">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-trash"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-undelete-',((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null)),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['suppress']) && is_array($in['actions'])) ? $in['actions']['suppress'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['suppress']['url']) && is_array($in['actions']['suppress'])) ? $in['actions']['suppress']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['suppress']['title']) && is_array($in['actions']['suppress'])) ? $in['actions']['suppress']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_'.htmlentities((string)((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null), ENT_QUOTES, 'UTF-8').'.partial"
+ data-role="suppress">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-block"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-suppress-',((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null)),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['unsuppress']) && is_array($in['actions'])) ? $in['actions']['unsuppress'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['unsuppress']['url']) && is_array($in['actions']['unsuppress'])) ? $in['actions']['unsuppress']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['unsuppress']['title']) && is_array($in['actions']['unsuppress'])) ? $in['actions']['unsuppress']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_'.htmlentities((string)((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null), ENT_QUOTES, 'UTF-8').'.partial"
+ data-role="unsuppress">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-block"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-unsuppress-',((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null)),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.LCRun3::hbch($cx, 'ifCond', array(array(((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'===','history'),array()), $in, false, function($cx, $in) {return ''.((LCRun3::ifvar($cx, ((isset($in['actions']['lock']) && is_array($in['actions'])) ? $in['actions']['lock'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_topic.partial"
+ data-role="lock"
+ data-flow-id="'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'"
+ href="'.htmlentities((string)((isset($in['actions']['lock']['url']) && is_array($in['actions']['lock'])) ? $in['actions']['lock']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['lock']['title']) && is_array($in['actions']['lock'])) ? $in['actions']['lock']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-lock"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-lock-topic'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['unlock']) && is_array($in['actions'])) ? $in['actions']['unlock'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_topic.partial"
+ data-role="unlock"
+ data-flow-id="'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'"
+ href="'.htmlentities((string)((isset($in['actions']['unlock']['url']) && is_array($in['actions']['unlock'])) ? $in['actions']['unlock']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['unlock']['title']) && is_array($in['actions']['unlock'])) ? $in['actions']['unlock']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-unlock"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-unlock-topic'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').'';}, function($cx, $in) {return ''.((LCRun3::ifvar($cx, ((isset($in['actions']['lock']) && is_array($in['actions'])) ? $in['actions']['lock'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-handler="activateLockTopic"
+ data-flow-id="'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-api-target="< .flow-topic-titlebar .flow-topic-summary-container"
+ href="'.htmlentities((string)((isset($in['actions']['lock']['url']) && is_array($in['actions']['lock'])) ? $in['actions']['lock']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['lock']['title']) && is_array($in['actions']['lock'])) ? $in['actions']['lock']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-lock"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-lock-topic'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['unlock']) && is_array($in['actions'])) ? $in['actions']['unlock'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-handler="activateLockTopic"
+ data-flow-id="'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-api-target="< .flow-topic-titlebar .flow-topic-summary-container"
+ href="'.htmlentities((string)((isset($in['actions']['unlock']['url']) && is_array($in['actions']['unlock'])) ? $in['actions']['unlock']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['unlock']['title']) && is_array($in['actions']['unlock'])) ? $in['actions']['unlock']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-unlock"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-unlock-topic'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').'';}).'</section>
+';},'flow_topic_titlebar' => function ($cx, $in) {return '<div class="flow-topic-titlebar">
+'.LCRun3::p($cx, 'flow_topic_titlebar_content', array(array($in),array())).'
+'.((!LCRun3::ifvar($cx, ((isset($in['isPreview']) && is_array($in)) ? $in['isPreview'] : null))) ? ''.((LCRun3::ifvar($cx, ((isset($in['watchable']) && is_array($in)) ? $in['watchable'] : null))) ? ''.LCRun3::p($cx, 'flow_topic_titlebar_watch', array(array($in),array())).'' : '').' <div class="flow-menu flow-menu-hoverable">
+ <div class="flow-menu-js-drop"><a href="javascript:void(0);"><span class="wikiglyph wikiglyph-ellipsis"></span></a></div>
+ <ul class="mw-ui-button-container flow-list">
+'.LCRun3::p($cx, 'flow_moderation_actions_list', array(array($in),array('moderationType'=>'topic','moderationTarget'=>'title','moderationTemplate'=>'topic','moderationContainerClass'=>'flow-menu','moderationMwUiClass'=>'mw-ui-button','moderationIcons'=>true))).' </ul>
+ </div>
+' : '').'</div>
+';},'flow_reply_form' => function ($cx, $in) {return ''.((LCRun3::ifvar($cx, ((isset($in['actions']['reply']) && is_array($in['actions'])) ? $in['actions']['reply'] : null))) ? ' <form class="flow-post flow-reply-form"
+ method="POST"
+ action="'.htmlentities((string)((isset($in['actions']['reply']['url']) && is_array($in['actions']['reply'])) ? $in['actions']['reply']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ id="flow-reply-'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-initial-state="collapsed"
+ >
+ <input type="hidden" name="wpEditToken" value="'.htmlentities((string)((isset($cx['sp_vars']['root']['rootBlock']['editToken']) && is_array($cx['sp_vars']['root']['rootBlock'])) ? $cx['sp_vars']['root']['rootBlock']['editToken'] : null), ENT_QUOTES, 'UTF-8').'" />
+ <input type="hidden" name="topic_replyTo" value="'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'" />
+'.LCRun3::p($cx, 'flow_errors', array(array($in),array())).'
+'.LCRun3::hbch($cx, 'ifAnonymous', array(array(),array()), $in, false, function($cx, $in) {return ''.LCRun3::p($cx, 'flow_anon_warning', array(array($in),array())).'';}).'
+ <div class="flow-editor">
+ <textarea id="flow-post-'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'-form-content"
+ name="topic_content"
+ required
+ data-flow-preview-template="flow_post"
+ data-flow-preview-title="'.htmlentities((string)((isset($in['articleTitle']) && is_array($in)) ? $in['articleTitle'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-expandable="true"
+ class="mw-ui-input flow-click-interactive"
+ type="text"
+ placeholder="'.LCRun3::ch($cx, 'l10n', array(array('flow-reply-topic-title-placeholder',((isset($in['properties']['topic-of-post']) && is_array($in['properties'])) ? $in['properties']['topic-of-post'] : null)),array()), 'encq').'"
+ data-role="content"
+
+ data-flow-interactive-handler-focus="activateReplyTopic"
+ >'.((LCRun3::ifvar($cx, ((isset($cx['sp_vars']['root']['submitted']) && is_array($cx['sp_vars']['root'])) ? $cx['sp_vars']['root']['submitted'] : null))) ? ''.LCRun3::hbch($cx, 'ifCond', array(array(((isset($cx['sp_vars']['root']['submitted']['postId']) && is_array($cx['sp_vars']['root']['submitted'])) ? $cx['sp_vars']['root']['submitted']['postId'] : null),'===',((isset($in['postId']) && is_array($in)) ? $in['postId'] : null)),array()), $in, false, function($cx, $in) {return ''.htmlentities((string)((isset($cx['sp_vars']['root']['submitted']['content']) && is_array($cx['sp_vars']['root']['submitted'])) ? $cx['sp_vars']['root']['submitted']['content'] : null), ENT_QUOTES, 'UTF-8').'';}).'' : '').'</textarea>
+ </div>
+
+ <div class="flow-form-actions flow-form-collapsible">
+ <button data-role="submit"
+ class="mw-ui-button mw-ui-constructive"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-handler="submitReply"
+ data-flow-api-target="< .flow-topic"
+ data-flow-eventlog-action="save-attempt"
+ >'.htmlentities((string)((isset($in['actions']['reply']['text']) && is_array($in['actions']['reply'])) ? $in['actions']['reply']['text'] : null), ENT_QUOTES, 'UTF-8').'</button>
+'.LCRun3::p($cx, 'flow_form_buttons', array(array($in),array())).' <small class="flow-terms-of-use plainlinks">'.LCRun3::ch($cx, 'l10nParse', array(array('flow-terms-of-use-reply'),array()), 'encq').'</small>
+ </div>
+ </form>
+' : '').'';},'flow_topic' => function ($cx, $in) {return '<div class="flow-topic flow-load-interactive
+ '.((LCRun3::ifvar($cx, ((isset($in['moderateState']) && is_array($in)) ? $in['moderateState'] : null))) ? 'flow-topic-moderatestate-'.htmlentities((string)((isset($in['moderateState']) && is_array($in)) ? $in['moderateState'] : null), ENT_QUOTES, 'UTF-8').'' : '').'
+ '.((LCRun3::ifvar($cx, ((isset($in['isModerated']) && is_array($in)) ? $in['isModerated'] : null))) ? 'flow-topic-moderated' : '').'
+ "
+ id="flow-topic-'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-id="'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-load-handler="topic"
+ data-flow-toc-scroll-target=".flow-topic-titlebar"
+ data-flow-topic-timestamp-updated="'.htmlentities((string)((isset($in['last_updated']) && is_array($in)) ? $in['last_updated'] : null), ENT_QUOTES, 'UTF-8').'"
+>
+'.LCRun3::p($cx, 'flow_topic_titlebar', array(array($in),array())).'
+'.((LCRun3::ifvar($cx, ((isset($cx['sp_vars']['root']['posts']) && is_array($cx['sp_vars']['root'])) ? $cx['sp_vars']['root']['posts'] : null))) ? ''.LCRun3::sec($cx, ((isset($in['replies']) && is_array($in)) ? $in['replies'] : null), $in, true, function($cx, $in) {return ''.LCRun3::hbch($cx, 'eachPost', array(array(((isset($cx['sp_vars']['root']) && is_array($cx['sp_vars'])) ? $cx['sp_vars']['root'] : null),$in),array()), $in, false, function($cx, $in) {return ' <!-- eachPost topic -->
+ '.LCRun3::ch($cx, 'post', array(array(((isset($cx['sp_vars']['root']) && is_array($cx['sp_vars'])) ? $cx['sp_vars']['root'] : null),$in),array()), 'encq').'
+';}).'';}).'' : '').'
+'.((!LCRun3::ifvar($cx, ((isset($in['isPreview']) && is_array($in)) ? $in['isPreview'] : null))) ? ''.((LCRun3::ifvar($cx, ((isset($in['actions']['reply']) && is_array($in['actions'])) ? $in['actions']['reply'] : null))) ? ''.LCRun3::hbch($cx, 'ifCond', array(array(((isset($cx['sp_vars']['root']['submitted']['postId']) && is_array($cx['sp_vars']['root']['submitted'])) ? $cx['sp_vars']['root']['submitted']['postId'] : null),'===',((isset($in['postId']) && is_array($in)) ? $in['postId'] : null)),array()), $in, false, function($cx, $in) {return ''.LCRun3::p($cx, 'flow_reply_form', array(array($in),array())).'';}, function($cx, $in) {return ''.LCRun3::hbch($cx, 'progressiveEnhancement', array(array(),array('type'=>'replace','target'=>'~ a')), $in, false, function($cx, $in) {return ''.LCRun3::p($cx, 'flow_reply_form', array(array($in),array())).'';}).' <a href="'.htmlentities((string)((isset($in['actions']['reply']['url']) && is_array($in['actions']['reply'])) ? $in['actions']['reply']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['reply']['title']) && is_array($in['actions']['reply'])) ? $in['actions']['reply']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ class="flow-ui-input-replacement-anchor mw-ui-input"
+ >'.LCRun3::ch($cx, 'l10n', array(array('flow-reply-topic-title-placeholder',((isset($in['properties']['topic-of-post']) && is_array($in['properties'])) ? $in['properties']['topic-of-post'] : null)),array()), 'encq').'</a>
+';}).'' : '').'' : '').'</div>
+';},'flow_topiclist_loop' => function ($cx, $in) {return ''.LCRun3::sec($cx, ((isset($in['roots']) && is_array($in)) ? $in['roots'] : null), $in, true, function($cx, $in) {return ''.LCRun3::hbch($cx, 'eachPost', array(array(((isset($cx['sp_vars']['root']) && is_array($cx['sp_vars'])) ? $cx['sp_vars']['root'] : null),$in),array()), $in, false, function($cx, $in) {return ''.LCRun3::p($cx, 'flow_topic', array(array($in),array())).'';}).'';}).'';},'flow_load_more' => function ($cx, $in) {return ''.((LCRun3::ifvar($cx, ((isset($in['loadMoreObject']) && is_array($in)) ? $in['loadMoreObject'] : null))) ? ' <div class="flow-load-more">
+ <div class="flow-error-container">
+ </div>
+
+ <a data-flow-interactive-handler="apiRequest"
+ data-flow-api-handler="'.htmlentities((string)((isset($in['loadMoreApiHandler']) && is_array($in)) ? $in['loadMoreApiHandler'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-api-target="< .flow-load-more"
+ data-flow-load-handler="loadMore"
+ data-flow-scroll-target="'.htmlentities((string)((isset($in['loadMoreTarget']) && is_array($in)) ? $in['loadMoreTarget'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-scroll-container="'.htmlentities((string)((isset($in['loadMoreContainer']) && is_array($in)) ? $in['loadMoreContainer'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-template="'.htmlentities((string)((isset($in['loadMoreTemplate']) && is_array($in)) ? $in['loadMoreTemplate'] : null), ENT_QUOTES, 'UTF-8').'"
+ href="'.htmlentities((string)((isset($in['loadMoreObject']['url']) && is_array($in['loadMoreObject'])) ? $in['loadMoreObject']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['loadMoreObject']['title']) && is_array($in['loadMoreObject'])) ? $in['loadMoreObject']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ class="mw-ui-button mw-ui-progressive flow-load-interactive flow-ui-fallback-element"><span class="wikiglyph wikiglyph-article"></span> '.LCRun3::ch($cx, 'l10n', array(array('flow-load-more'),array()), 'encq').'</a>
+ </div>
+' : ' <div class="flow-no-more">
+ '.LCRun3::ch($cx, 'l10n', array(array('flow-no-more-fwd'),array()), 'encq').'
+ </div>
+').'';},),
+ 'scopes' => array($in),
+ 'sp_vars' => array('root' => $in),
+
+ );
+
+ return ''.LCRun3::p($cx, 'flow_board_navigation', array(array($in),array())).'
+<div class="flow-board" data-flow-sortby="'.htmlentities((string)((isset($in['sortby']) && is_array($in)) ? $in['sortby'] : null), ENT_QUOTES, 'UTF-8').'">
+ <div class="flow-newtopic-container">
+ <div class="flow-nojs">
+ <a class="mw-ui-input mw-ui-input-large flow-ui-input-replacement-anchor"
+ href="'.htmlentities((string)((isset($in['links']['newtopic']) && is_array($in['links'])) ? $in['links']['newtopic'] : null), ENT_QUOTES, 'UTF-8').'">'.LCRun3::ch($cx, 'l10n', array(array('flow-newtopic-start-placeholder'),array()), 'encq').'</a>
+ </div>
+
+ <div class="flow-js">
+'.LCRun3::p($cx, 'flow_newtopic_form', array(array($in),array('isOnFlowBoard'=>true))).' </div>
+ </div>
+
+ <div class="flow-topics">
+'.LCRun3::p($cx, 'flow_topiclist_loop', array(array($in),array())).'
+'.LCRun3::p($cx, 'flow_load_more', array(array($in),array('loadMoreApiHandler'=>'loadMoreTopics','loadMoreTarget'=>'window','loadMoreContainer'=>'< .flow-topics','loadMoreTemplate'=>'flow_topiclist_loop.partial','loadMoreObject'=>((isset($in['links']['pagination']['fwd']) && is_array($in['links']['pagination'])) ? $in['links']['pagination']['fwd'] : null)))).' </div>
+</div>
+';
+}
+?> \ No newline at end of file
diff --git a/Flow/handlebars/compiled/flow_block_topiclist_newtopic.handlebars.php b/Flow/handlebars/compiled/flow_block_topiclist_newtopic.handlebars.php
new file mode 100644
index 00000000..ca86f2f7
--- /dev/null
+++ b/Flow/handlebars/compiled/flow_block_topiclist_newtopic.handlebars.php
@@ -0,0 +1,90 @@
+<?php return function ($in, $debugopt = 1) {
+ $cx = array(
+ 'flags' => array(
+ 'jstrue' => false,
+ 'jsobj' => false,
+ 'spvar' => true,
+ 'prop' => false,
+ 'method' => false,
+ 'mustlok' => false,
+ 'mustsec' => false,
+ 'echo' => false,
+ 'debug' => $debugopt,
+ ),
+ 'constants' => array(),
+ 'helpers' => array( 'l10n' => 'Flow\TemplateHelper::l10n',
+ 'html' => 'Flow\TemplateHelper::htmlHelper',
+ 'l10nParse' => 'Flow\TemplateHelper::l10nParse',
+ 'linkWithReturnTo' => 'Flow\TemplateHelper::linkWithReturnTo',
+),
+ 'blockhelpers' => array(),
+ 'hbhelpers' => array( 'ifAnonymous' => 'Flow\TemplateHelper::ifAnonymous',
+ 'tooltip' => 'Flow\TemplateHelper::tooltip',
+ 'progressiveEnhancement' => 'Flow\TemplateHelper::progressiveEnhancement',
+),
+ 'partials' => array('flow_errors' => function ($cx, $in) {return '<div class="flow-error-container">
+'.((LCRun3::ifvar($cx, ((isset($cx['sp_vars']['root']['errors']) && is_array($cx['sp_vars']['root'])) ? $cx['sp_vars']['root']['errors'] : null))) ? ' <div class="flow-errors errorbox">
+ <ul>
+'.LCRun3::sec($cx, ((isset($cx['sp_vars']['root']['errors']) && is_array($cx['sp_vars']['root'])) ? $cx['sp_vars']['root']['errors'] : null), $in, true, function($cx, $in) {return ' <li>'.LCRun3::ch($cx, 'html', array(array(((isset($in['message']) && is_array($in)) ? $in['message'] : null)),array()), 'encq').'</li>
+';}).' </ul>
+ </div>
+' : '').'</div>
+';},'flow_anon_warning' => function ($cx, $in) {return '<div class="flow-anon-warning">
+ <div class="flow-anon-warning-mobile">
+'.LCRun3::hbch($cx, 'tooltip', array(array(),array('positionClass'=>'down','contextClass'=>'progressive','extraClass'=>'flow-form-collapsible','isBlock'=>true)), $in, false, function($cx, $in) {return ''.LCRun3::ch($cx, 'l10nParse', array(array('flow-anon-warning',LCRun3::ch($cx, 'linkWithReturnTo', array(array('Special:UserLogin'),array()), 'raw'),LCRun3::ch($cx, 'linkWithReturnTo', array(array('Special:UserLogin/signup'),array()), 'raw')),array()), 'encq').'';}).' </div>
+
+'.LCRun3::hbch($cx, 'progressiveEnhancement', array(array(),array()), $in, false, function($cx, $in) {return ' <div class="flow-anon-warning-desktop">
+'.LCRun3::hbch($cx, 'tooltip', array(array(),array('positionClass'=>'left','contextClass'=>'progressive','extraClass'=>'flow-form-collapsible','isBlock'=>true)), $in, false, function($cx, $in) {return ''.LCRun3::ch($cx, 'l10nParse', array(array('flow-anon-warning',LCRun3::ch($cx, 'linkWithReturnTo', array(array('Special:UserLogin'),array()), 'raw'),LCRun3::ch($cx, 'linkWithReturnTo', array(array('Special:UserLogin/signup'),array()), 'raw')),array()), 'encq').'';}).' </div>
+';}).'</div>
+';},'flow_form_buttons' => function ($cx, $in) {return '<button data-flow-interactive-handler="cancelForm"
+ data-role="cancel"
+ type="reset"
+ class="mw-ui-button mw-ui-destructive mw-ui-quiet mw-ui-flush-right flow-js"
+
+>'.LCRun3::ch($cx, 'l10n', array(array('flow-cancel'),array()), 'encq').'</button>
+';},'flow_newtopic_form' => function ($cx, $in) {return ''.((LCRun3::ifvar($cx, ((isset($in['actions']['newtopic']) && is_array($in['actions'])) ? $in['actions']['newtopic'] : null))) ? ' <form action="'.htmlentities((string)((isset($in['actions']['newtopic']['url']) && is_array($in['actions']['newtopic'])) ? $in['actions']['newtopic']['url'] : null), ENT_QUOTES, 'UTF-8').'" method="POST" class="flow-newtopic-form" data-flow-initial-state="collapsed">
+'.LCRun3::p($cx, 'flow_errors', array(array($in),array())).'
+'.LCRun3::hbch($cx, 'ifAnonymous', array(array(),array()), $in, false, function($cx, $in) {return ''.LCRun3::p($cx, 'flow_anon_warning', array(array($in),array())).'';}).'
+ <input type="hidden" name="wpEditToken" value="'.htmlentities((string)((isset($cx['sp_vars']['root']['editToken']) && is_array($cx['sp_vars']['root'])) ? $cx['sp_vars']['root']['editToken'] : null), ENT_QUOTES, 'UTF-8').'" />
+ <input type="hidden" name="topiclist_replyTo" value="'.htmlentities((string)((isset($in['workflowId']) && is_array($in)) ? $in['workflowId'] : null), ENT_QUOTES, 'UTF-8').'" />
+ <input name="topiclist_topic" class="mw-ui-input mw-ui-input-large"
+ required
+ '.((LCRun3::ifvar($cx, ((isset($in['submitted']['topic']) && is_array($in['submitted'])) ? $in['submitted']['topic'] : null))) ? 'value="'.htmlentities((string)((isset($in['submitted']['topic']) && is_array($in['submitted'])) ? $in['submitted']['topic'] : null), ENT_QUOTES, 'UTF-8').'"' : '').'
+ type="text"
+ placeholder="'.LCRun3::ch($cx, 'l10n', array(array('flow-newtopic-start-placeholder'),array()), 'encq').'"
+ data-role="title"
+
+ data-flow-interactive-handler-focus="activateNewTopic"
+ />
+ <div class="flow-editor">
+ <textarea name="topiclist_content"
+ data-flow-preview-template="flow_topic.partial"
+ data-flow-preview-title-generator="newTopic"
+ class="mw-ui-input flow-form-collapsible mw-ui-input-large"
+ '.((LCRun3::ifvar($cx, ((isset($in['isOnFlowBoard']) && is_array($in)) ? $in['isOnFlowBoard'] : null))) ? 'style="display:none;"' : '').'
+ placeholder="'.LCRun3::ch($cx, 'l10n', array(array('flow-newtopic-content-placeholder',((isset($cx['sp_vars']['root']['title']) && is_array($cx['sp_vars']['root'])) ? $cx['sp_vars']['root']['title'] : null)),array()), 'encq').'"
+ data-role="content"
+ required
+ >'.((LCRun3::ifvar($cx, ((isset($in['submitted']['content']) && is_array($in['submitted'])) ? $in['submitted']['content'] : null))) ? ''.htmlentities((string)((isset($in['submitted']['content']) && is_array($in['submitted'])) ? $in['submitted']['content'] : null), ENT_QUOTES, 'UTF-8').'' : '').'</textarea>
+ </div>
+
+ <div class="flow-form-actions flow-form-collapsible"
+ '.((LCRun3::ifvar($cx, ((isset($in['isOnFlowBoard']) && is_array($in)) ? $in['isOnFlowBoard'] : null))) ? 'style="display:none;"' : '').'>
+ <button data-role="submit" data-flow-api-handler="newTopic"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-eventlog-action="save-attempt"
+ class="mw-ui-button mw-ui-constructive mw-ui-flush-right">'.LCRun3::ch($cx, 'l10n', array(array('flow-newtopic-save'),array()), 'encq').'</button>
+'.LCRun3::p($cx, 'flow_form_buttons', array(array($in),array())).' <small class="flow-terms-of-use plainlinks">'.LCRun3::ch($cx, 'l10nParse', array(array('flow-terms-of-use-new-topic'),array()), 'encq').'</small>
+ </div>
+ </form>
+' : '').'';},),
+ 'scopes' => array($in),
+ 'sp_vars' => array('root' => $in),
+
+ );
+
+ return '<div class="flow-board">
+'.LCRun3::p($cx, 'flow_newtopic_form', array(array($in),array())).'</div>
+';
+}
+?> \ No newline at end of file
diff --git a/Flow/handlebars/compiled/flow_block_topicsummary_diff_view.handlebars.php b/Flow/handlebars/compiled/flow_block_topicsummary_diff_view.handlebars.php
new file mode 100644
index 00000000..7b964ef4
--- /dev/null
+++ b/Flow/handlebars/compiled/flow_block_topicsummary_diff_view.handlebars.php
@@ -0,0 +1,36 @@
+<?php return function ($in, $debugopt = 1) {
+ $cx = array(
+ 'flags' => array(
+ 'jstrue' => false,
+ 'jsobj' => false,
+ 'spvar' => true,
+ 'prop' => false,
+ 'method' => false,
+ 'mustlok' => false,
+ 'mustsec' => false,
+ 'echo' => false,
+ 'debug' => $debugopt,
+ ),
+ 'constants' => array(),
+ 'helpers' => array( 'l10nParse' => 'Flow\TemplateHelper::l10nParse',
+ 'diffRevision' => 'Flow\TemplateHelper::diffRevision',
+),
+ 'blockhelpers' => array(),
+ 'hbhelpers' => array(),
+ 'partials' => array(),
+ 'scopes' => array($in),
+ 'sp_vars' => array('root' => $in),
+
+ );
+
+ return '<div class="flow-board">
+ <div class="flow-compare-revisions-header plainlinks">
+ '.LCRun3::ch($cx, 'l10nParse', array(array('flow-compare-revisions-header-postsummary',((isset($in['revision']['new']['rev_view_links']['board']['title']) && is_array($in['revision']['new']['rev_view_links']['board'])) ? $in['revision']['new']['rev_view_links']['board']['title'] : null),((isset($in['revision']['new']['properties']['post-of-summary']) && is_array($in['revision']['new']['properties'])) ? $in['revision']['new']['properties']['post-of-summary'] : null),((isset($in['revision']['new']['rev_view_links']['board']['url']) && is_array($in['revision']['new']['rev_view_links']['board'])) ? $in['revision']['new']['rev_view_links']['board']['url'] : null),((isset($in['revision']['new']['rev_view_links']['root']['url']) && is_array($in['revision']['new']['rev_view_links']['root'])) ? $in['revision']['new']['rev_view_links']['root']['url'] : null),((isset($in['revision']['new']['rev_view_links']['hist']['url']) && is_array($in['revision']['new']['rev_view_links']['hist'])) ? $in['revision']['new']['rev_view_links']['hist']['url'] : null)),array()), 'encq').'
+ </div>
+ <div class="flow-compare-revisions">
+ '.LCRun3::ch($cx, 'diffRevision', array(array(((isset($in['revision']['diff_content']) && is_array($in['revision'])) ? $in['revision']['diff_content'] : null),((isset($in['revision']['old']['human_timestamp']) && is_array($in['revision']['old'])) ? $in['revision']['old']['human_timestamp'] : null),((isset($in['revision']['new']['human_timestamp']) && is_array($in['revision']['new'])) ? $in['revision']['new']['human_timestamp'] : null),((isset($in['revision']['old']['author']['name']) && is_array($in['revision']['old']['author'])) ? $in['revision']['old']['author']['name'] : null),((isset($in['revision']['new']['author']['name']) && is_array($in['revision']['new']['author'])) ? $in['revision']['new']['author']['name'] : null),((isset($in['revision']['old']['rev_view_links']['single-view']['url']) && is_array($in['revision']['old']['rev_view_links']['single-view'])) ? $in['revision']['old']['rev_view_links']['single-view']['url'] : null),((isset($in['revision']['new']['rev_view_links']['single-view']['url']) && is_array($in['revision']['new']['rev_view_links']['single-view'])) ? $in['revision']['new']['rev_view_links']['single-view']['url'] : null),((isset($in['revision']['links']['previous']) && is_array($in['revision']['links'])) ? $in['revision']['links']['previous'] : null),((isset($in['revision']['links']['next']) && is_array($in['revision']['links'])) ? $in['revision']['links']['next'] : null)),array()), 'encq').'
+ </div>
+</div>
+';
+}
+?> \ No newline at end of file
diff --git a/Flow/handlebars/compiled/flow_block_topicsummary_edit.handlebars.php b/Flow/handlebars/compiled/flow_block_topicsummary_edit.handlebars.php
new file mode 100644
index 00000000..d2f1bb33
--- /dev/null
+++ b/Flow/handlebars/compiled/flow_block_topicsummary_edit.handlebars.php
@@ -0,0 +1,75 @@
+<?php return function ($in, $debugopt = 1) {
+ $cx = array(
+ 'flags' => array(
+ 'jstrue' => false,
+ 'jsobj' => false,
+ 'spvar' => true,
+ 'prop' => false,
+ 'method' => false,
+ 'mustlok' => false,
+ 'mustsec' => false,
+ 'echo' => false,
+ 'debug' => $debugopt,
+ ),
+ 'constants' => array(),
+ 'helpers' => array( 'l10n' => 'Flow\TemplateHelper::l10n',
+ 'html' => 'Flow\TemplateHelper::htmlHelper',
+ 'l10nParse' => 'Flow\TemplateHelper::l10nParse',
+),
+ 'blockhelpers' => array(),
+ 'hbhelpers' => array(),
+ 'partials' => array('flow_errors' => function ($cx, $in) {return '<div class="flow-error-container">
+'.((LCRun3::ifvar($cx, ((isset($cx['sp_vars']['root']['errors']) && is_array($cx['sp_vars']['root'])) ? $cx['sp_vars']['root']['errors'] : null))) ? ' <div class="flow-errors errorbox">
+ <ul>
+'.LCRun3::sec($cx, ((isset($cx['sp_vars']['root']['errors']) && is_array($cx['sp_vars']['root'])) ? $cx['sp_vars']['root']['errors'] : null), $in, true, function($cx, $in) {return ' <li>'.LCRun3::ch($cx, 'html', array(array(((isset($in['message']) && is_array($in)) ? $in['message'] : null)),array()), 'encq').'</li>
+';}).' </ul>
+ </div>
+' : '').'</div>
+';},'flow_form_buttons' => function ($cx, $in) {return '<button data-flow-interactive-handler="cancelForm"
+ data-role="cancel"
+ type="reset"
+ class="mw-ui-button mw-ui-destructive mw-ui-quiet mw-ui-flush-right flow-js"
+
+>'.LCRun3::ch($cx, 'l10n', array(array('flow-cancel'),array()), 'encq').'</button>
+';},),
+ 'scopes' => array($in),
+ 'sp_vars' => array('root' => $in),
+
+ );
+
+ return '<div class="flow-topic-summary-container">
+ <div class="flow-topic-summary">
+ <form class="flow-edit-form" data-flow-initial-state="collapsed" method="POST" action="'.htmlentities((string)((isset($in['revision']['actions']['summarize']['url']) && is_array($in['revision']['actions']['summarize'])) ? $in['revision']['actions']['summarize']['url'] : null), ENT_QUOTES, 'UTF-8').'">
+'.LCRun3::p($cx, 'flow_errors', array(array($in),array())).' <input type="hidden" name="wpEditToken" value="'.htmlentities((string)((isset($in['editToken']) && is_array($in)) ? $in['editToken'] : null), ENT_QUOTES, 'UTF-8').'" />
+
+'.((LCRun3::ifvar($cx, ((isset($in['revision']['revisionId']) && is_array($in['revision'])) ? $in['revision']['revisionId'] : null))) ? ' <input type="hidden" name="'.htmlentities((string)((isset($in['type']) && is_array($in)) ? $in['type'] : null), ENT_QUOTES, 'UTF-8').'_prev_revision" value="'.htmlentities((string)((isset($in['revision']['revisionId']) && is_array($in['revision'])) ? $in['revision']['revisionId'] : null), ENT_QUOTES, 'UTF-8').'" />
+' : '').'
+ <div class="flow-editor">
+ <textarea class="mw-ui-input"
+ required
+ name="'.htmlentities((string)((isset($in['type']) && is_array($in)) ? $in['type'] : null), ENT_QUOTES, 'UTF-8').'_summary"
+ data-flow-preview-node="summary"
+ data-flow-preview-template="flow_topic_titlebar_summary.partial"
+ data-flow-preview-title="'.htmlentities((string)((isset($in['revision']['articleTitle']) && is_array($in['revision'])) ? $in['revision']['articleTitle'] : null), ENT_QUOTES, 'UTF-8').'"
+ type="text"
+ data-role="content"
+ >'.((LCRun3::ifvar($cx, ((isset($in['submitted']['summary']) && is_array($in['submitted'])) ? $in['submitted']['summary'] : null))) ? ''.htmlentities((string)((isset($in['submitted']['summary']) && is_array($in['submitted'])) ? $in['submitted']['summary'] : null), ENT_QUOTES, 'UTF-8').'' : ''.((LCRun3::ifvar($cx, ((isset($in['revision']['revisionId']) && is_array($in['revision'])) ? $in['revision']['revisionId'] : null))) ? ''.htmlentities((string)((isset($in['revision']['content']['content']) && is_array($in['revision']['content'])) ? $in['revision']['content']['content'] : null), ENT_QUOTES, 'UTF-8').'' : '').'').'</textarea>
+ </div>
+
+ <div class="flow-form-actions flow-form-collapsible">
+ <button
+ data-role="submit"
+ class="mw-ui-button mw-ui-constructive"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-handler="summarizeTopic"
+ data-flow-api-target="< .flow-topic-summary-container">
+ '.LCRun3::ch($cx, 'l10n', array(array('flow-topic-action-summarize-topic'),array()), 'encq').'
+ </button>
+'.LCRun3::p($cx, 'flow_form_buttons', array(array($in),array())).' <small class="flow-terms-of-use plainlinks">'.LCRun3::ch($cx, 'l10nParse', array(array('flow-terms-of-use-summarize'),array()), 'encq').'</small>
+ </div>
+ </form>
+ </div>
+</div>
+';
+}
+?> \ No newline at end of file
diff --git a/Flow/handlebars/compiled/flow_block_topicsummary_single_view.handlebars.php b/Flow/handlebars/compiled/flow_block_topicsummary_single_view.handlebars.php
new file mode 100644
index 00000000..6992b88d
--- /dev/null
+++ b/Flow/handlebars/compiled/flow_block_topicsummary_single_view.handlebars.php
@@ -0,0 +1,37 @@
+<?php return function ($in, $debugopt = 1) {
+ $cx = array(
+ 'flags' => array(
+ 'jstrue' => false,
+ 'jsobj' => false,
+ 'spvar' => true,
+ 'prop' => false,
+ 'method' => false,
+ 'mustlok' => false,
+ 'mustsec' => false,
+ 'echo' => false,
+ 'debug' => $debugopt,
+ ),
+ 'constants' => array(),
+ 'helpers' => array( 'l10nParse' => 'Flow\TemplateHelper::l10nParse',
+ 'escapeContent' => 'Flow\TemplateHelper::escapeContent',
+),
+ 'blockhelpers' => array(),
+ 'hbhelpers' => array(),
+ 'partials' => array(),
+ 'scopes' => array($in),
+ 'sp_vars' => array('root' => $in),
+
+ );
+
+ return '<div class="flow-board">
+ <div class="flow-revision-permalink-warning plainlinks">
+'.((LCRun3::ifvar($cx, ((isset($in['revision']['previousRevisionId']) && is_array($in['revision'])) ? $in['revision']['previousRevisionId'] : null))) ? ' '.LCRun3::ch($cx, 'l10nParse', array(array('flow-revision-permalink-warning-postsummary',((isset($in['revision']['human_timestamp']) && is_array($in['revision'])) ? $in['revision']['human_timestamp'] : null),((isset($in['revision']['rev_view_links']['board']['title']) && is_array($in['revision']['rev_view_links']['board'])) ? $in['revision']['rev_view_links']['board']['title'] : null),((isset($in['revision']['root']['content']) && is_array($in['revision']['root'])) ? $in['revision']['root']['content'] : null),((isset($in['revision']['rev_view_links']['hist']['url']) && is_array($in['revision']['rev_view_links']['hist'])) ? $in['revision']['rev_view_links']['hist']['url'] : null),((isset($in['revision']['rev_view_links']['diff']['url']) && is_array($in['revision']['rev_view_links']['diff'])) ? $in['revision']['rev_view_links']['diff']['url'] : null)),array()), 'encq').'
+' : ' '.LCRun3::ch($cx, 'l10nParse', array(array('flow-revision-permalink-warning-postsummary-first',((isset($in['revision']['human_timestamp']) && is_array($in['revision'])) ? $in['revision']['human_timestamp'] : null),((isset($in['revision']['rev_view_links']['board']['title']) && is_array($in['revision']['rev_view_links']['board'])) ? $in['revision']['rev_view_links']['board']['title'] : null),((isset($in['revision']['root']['content']) && is_array($in['revision']['root'])) ? $in['revision']['root']['content'] : null),((isset($in['revision']['rev_view_links']['hist']['url']) && is_array($in['revision']['rev_view_links']['hist'])) ? $in['revision']['rev_view_links']['hist']['url'] : null),((isset($in['revision']['rev_view_links']['diff']['url']) && is_array($in['revision']['rev_view_links']['diff'])) ? $in['revision']['rev_view_links']['diff']['url'] : null)),array()), 'encq').'
+').' </div>
+ <div class="flow-revision-content">
+ '.LCRun3::ch($cx, 'escapeContent', array(array(((isset($in['revision']['content']['format']) && is_array($in['revision']['content'])) ? $in['revision']['content']['format'] : null),((isset($in['revision']['content']['content']) && is_array($in['revision']['content'])) ? $in['revision']['content']['content'] : null)),array()), 'encq').'
+ </div>
+</div>
+';
+}
+?> \ No newline at end of file
diff --git a/Flow/handlebars/compiled/flow_block_topicsummary_undo_edit.handlebars.php b/Flow/handlebars/compiled/flow_block_topicsummary_undo_edit.handlebars.php
new file mode 100644
index 00000000..e5d39fb6
--- /dev/null
+++ b/Flow/handlebars/compiled/flow_block_topicsummary_undo_edit.handlebars.php
@@ -0,0 +1,72 @@
+<?php return function ($in, $debugopt = 1) {
+ $cx = array(
+ 'flags' => array(
+ 'jstrue' => false,
+ 'jsobj' => false,
+ 'spvar' => true,
+ 'prop' => false,
+ 'method' => false,
+ 'mustlok' => false,
+ 'mustsec' => false,
+ 'echo' => false,
+ 'debug' => $debugopt,
+ ),
+ 'constants' => array(),
+ 'helpers' => array( 'l10n' => 'Flow\TemplateHelper::l10n',
+ 'html' => 'Flow\TemplateHelper::htmlHelper',
+ 'l10nParse' => 'Flow\TemplateHelper::l10nParse',
+ 'diffUndo' => 'Flow\TemplateHelper::diffUndo',
+),
+ 'blockhelpers' => array(),
+ 'hbhelpers' => array(),
+ 'partials' => array('flow_errors' => function ($cx, $in) {return '<div class="flow-error-container">
+'.((LCRun3::ifvar($cx, ((isset($cx['sp_vars']['root']['errors']) && is_array($cx['sp_vars']['root'])) ? $cx['sp_vars']['root']['errors'] : null))) ? ' <div class="flow-errors errorbox">
+ <ul>
+'.LCRun3::sec($cx, ((isset($cx['sp_vars']['root']['errors']) && is_array($cx['sp_vars']['root'])) ? $cx['sp_vars']['root']['errors'] : null), $in, true, function($cx, $in) {return ' <li>'.LCRun3::ch($cx, 'html', array(array(((isset($in['message']) && is_array($in)) ? $in['message'] : null)),array()), 'encq').'</li>
+';}).' </ul>
+ </div>
+' : '').'</div>
+';},'flow_form_buttons' => function ($cx, $in) {return '<button data-flow-interactive-handler="cancelForm"
+ data-role="cancel"
+ type="reset"
+ class="mw-ui-button mw-ui-destructive mw-ui-quiet mw-ui-flush-right flow-js"
+
+>'.LCRun3::ch($cx, 'l10n', array(array('flow-cancel'),array()), 'encq').'</button>
+';},),
+ 'scopes' => array($in),
+ 'sp_vars' => array('root' => $in),
+
+ );
+
+ return '<div class="flow-board">
+'.((LCRun3::ifvar($cx, ((isset($in['undo']['possible']) && is_array($in['undo'])) ? $in['undo']['possible'] : null))) ? ' <p>'.LCRun3::ch($cx, 'l10n', array(array('flow-undo-edit-content'),array()), 'encq').'</p>
+' : ' <p class="error">'.LCRun3::ch($cx, 'l10n', array(array('flow-undo-edit-failure'),array()), 'encq').'</p>
+').'
+'.LCRun3::p($cx, 'flow_errors', array(array($in),array())).'
+'.((LCRun3::ifvar($cx, ((isset($in['undo']['possible']) && is_array($in['undo'])) ? $in['undo']['possible'] : null))) ? ' '.LCRun3::ch($cx, 'diffUndo', array(array(((isset($in['undo']['diff_content']) && is_array($in['undo'])) ? $in['undo']['diff_content'] : null)),array()), 'encq').'
+' : '').'
+ <form method="POST" action="'.htmlentities((string)((isset($in['links']['undo-edit-header']['url']) && is_array($in['links']['undo-edit-header'])) ? $in['links']['undo-edit-header']['url'] : null), ENT_QUOTES, 'UTF-8').'" class="flow-post">
+ <input type="hidden" name="wpEditToken" value="'.htmlentities((string)((isset($cx['sp_vars']['root']['rootBlock']['editToken']) && is_array($cx['sp_vars']['root']['rootBlock'])) ? $cx['sp_vars']['root']['rootBlock']['editToken'] : null), ENT_QUOTES, 'UTF-8').'" />
+ <input type="hidden" name="topicsummary_prev_revision" value="'.htmlentities((string)((isset($in['current']['revisionId']) && is_array($in['current'])) ? $in['current']['revisionId'] : null), ENT_QUOTES, 'UTF-8').'" />
+
+ <div class="flow-editor">
+ <textarea name="topicsummary_summary"
+ class="mw-ui-input"
+ data-role="content"
+ data-flow-preview-node="summary"
+ data-flow-preview-template="flow_topic_titlebar_summary.partial"
+ data-flow-preview-title="'.htmlentities((string)((isset($in['articleTitle']) && is_array($in)) ? $in['articleTitle'] : null), ENT_QUOTES, 'UTF-8').'"
+ >'.((LCRun3::ifvar($cx, ((isset($in['submitted']['content']) && is_array($in['submitted'])) ? $in['submitted']['content'] : null))) ? ''.htmlentities((string)((isset($in['submitted']['content']) && is_array($in['submitted'])) ? $in['submitted']['content'] : null), ENT_QUOTES, 'UTF-8').'' : ''.((LCRun3::ifvar($cx, ((isset($in['undo']['possible']) && is_array($in['undo'])) ? $in['undo']['possible'] : null))) ? ''.htmlentities((string)((isset($in['undo']['content']) && is_array($in['undo'])) ? $in['undo']['content'] : null), ENT_QUOTES, 'UTF-8').'' : ''.htmlentities((string)((isset($in['current']['content']['content']) && is_array($in['current']['content'])) ? $in['current']['content']['content'] : null), ENT_QUOTES, 'UTF-8').'').'').'</textarea>
+ </div>
+
+ <div class="flow-form-actions flow-form-collapsible">
+ <button class="mw-ui-button mw-ui-constructive">'.LCRun3::ch($cx, 'l10n', array(array('flow-topic-action-summarize-topic'),array()), 'encq').'</button>
+'.LCRun3::p($cx, 'flow_form_buttons', array(array($in),array())).' <small class="flow-terms-of-use plainlinks">'.LCRun3::ch($cx, 'l10nParse', array(array('flow-terms-of-use-summarize'),array()), 'encq').'
+ </small>
+ </div>
+ </form>
+</div>
+
+';
+}
+?> \ No newline at end of file
diff --git a/Flow/handlebars/compiled/flow_post.handlebars.php b/Flow/handlebars/compiled/flow_post.handlebars.php
new file mode 100644
index 00000000..28078b44
--- /dev/null
+++ b/Flow/handlebars/compiled/flow_post.handlebars.php
@@ -0,0 +1,282 @@
+<?php return function ($in, $debugopt = 1) {
+ $cx = array(
+ 'flags' => array(
+ 'jstrue' => false,
+ 'jsobj' => false,
+ 'spvar' => true,
+ 'prop' => false,
+ 'method' => false,
+ 'mustlok' => false,
+ 'mustsec' => false,
+ 'echo' => false,
+ 'debug' => $debugopt,
+ ),
+ 'constants' => array(),
+ 'helpers' => array( 'l10n' => 'Flow\TemplateHelper::l10n',
+ 'uuidTimestamp' => 'Flow\TemplateHelper::uuidTimestamp',
+ 'html' => 'Flow\TemplateHelper::htmlHelper',
+ 'post' => 'Flow\TemplateHelper::post',
+ 'l10nParse' => 'Flow\TemplateHelper::l10nParse',
+ 'concat' => 'Flow\TemplateHelper::concat',
+ 'linkWithReturnTo' => 'Flow\TemplateHelper::linkWithReturnTo',
+ 'escapeContent' => 'Flow\TemplateHelper::escapeContent',
+),
+ 'blockhelpers' => array(),
+ 'hbhelpers' => array( 'eachPost' => 'Flow\TemplateHelper::eachPost',
+ 'ifAnonymous' => 'Flow\TemplateHelper::ifAnonymous',
+ 'ifCond' => 'Flow\TemplateHelper::ifCond',
+ 'tooltip' => 'Flow\TemplateHelper::tooltip',
+ 'progressiveEnhancement' => 'Flow\TemplateHelper::progressiveEnhancement',
+),
+ 'partials' => array('flow_errors' => function ($cx, $in) {return '<div class="flow-error-container">
+'.((LCRun3::ifvar($cx, ((isset($cx['sp_vars']['root']['errors']) && is_array($cx['sp_vars']['root'])) ? $cx['sp_vars']['root']['errors'] : null))) ? ' <div class="flow-errors errorbox">
+ <ul>
+'.LCRun3::sec($cx, ((isset($cx['sp_vars']['root']['errors']) && is_array($cx['sp_vars']['root'])) ? $cx['sp_vars']['root']['errors'] : null), $in, true, function($cx, $in) {return ' <li>'.LCRun3::ch($cx, 'html', array(array(((isset($in['message']) && is_array($in)) ? $in['message'] : null)),array()), 'encq').'</li>
+';}).' </ul>
+ </div>
+' : '').'</div>
+';},'flow_post_author' => function ($cx, $in) {return '<span class="flow-author">
+'.((LCRun3::ifvar($cx, ((isset($in['links']) && is_array($in)) ? $in['links'] : null))) ? ''.((LCRun3::ifvar($cx, ((isset($in['links']['userpage']) && is_array($in['links'])) ? $in['links']['userpage'] : null))) ? ' <a href="'.htmlentities((string)((isset($in['links']['userpage']['url']) && is_array($in['links']['userpage'])) ? $in['links']['userpage']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ '.((!LCRun3::ifvar($cx, ((isset($in['name']) && is_array($in)) ? $in['name'] : null))) ? 'title="'.htmlentities((string)((isset($in['links']['userpage']['title']) && is_array($in['links']['userpage'])) ? $in['links']['userpage']['title'] : null), ENT_QUOTES, 'UTF-8').'"' : '').'
+ class="'.((!LCRun3::ifvar($cx, ((isset($in['links']['userpage']['exists']) && is_array($in['links']['userpage'])) ? $in['links']['userpage']['exists'] : null))) ? 'new ' : '').'mw-userlink">
+' : '').''.((LCRun3::ifvar($cx, ((isset($in['name']) && is_array($in)) ? $in['name'] : null))) ? ''.htmlentities((string)((isset($in['name']) && is_array($in)) ? $in['name'] : null), ENT_QUOTES, 'UTF-8').'' : ''.LCRun3::ch($cx, 'l10n', array(array('flow-anonymous'),array()), 'encq').'').''.((LCRun3::ifvar($cx, ((isset($in['links']['userpage']) && is_array($in['links'])) ? $in['links']['userpage'] : null))) ? '</a>' : '').'<span class="mw-usertoollinks flow-pipelist">
+ ('.((LCRun3::ifvar($cx, ((isset($in['links']['talk']) && is_array($in['links'])) ? $in['links']['talk'] : null))) ? '<span><a href="'.htmlentities((string)((isset($in['links']['talk']['url']) && is_array($in['links']['talk'])) ? $in['links']['talk']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ class="'.((!LCRun3::ifvar($cx, ((isset($in['links']['talk']['exists']) && is_array($in['links']['talk'])) ? $in['links']['talk']['exists'] : null))) ? 'new ' : '').'"
+ title="'.htmlentities((string)((isset($in['links']['talk']['title']) && is_array($in['links']['talk'])) ? $in['links']['talk']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.LCRun3::ch($cx, 'l10n', array(array('talkpagelinktext'),array()), 'encq').'</a></span>' : '').''.((LCRun3::ifvar($cx, ((isset($in['links']['contribs']) && is_array($in['links'])) ? $in['links']['contribs'] : null))) ? '<span><a href="'.htmlentities((string)((isset($in['links']['contribs']['url']) && is_array($in['links']['contribs'])) ? $in['links']['contribs']['url'] : null), ENT_QUOTES, 'UTF-8').'" title="'.htmlentities((string)((isset($in['links']['contribs']['title']) && is_array($in['links']['contribs'])) ? $in['links']['contribs']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.LCRun3::ch($cx, 'l10n', array(array('contribslink'),array()), 'encq').'</a></span>' : '').''.((LCRun3::ifvar($cx, ((isset($in['links']['block']) && is_array($in['links'])) ? $in['links']['block'] : null))) ? '<span><a class="'.((!LCRun3::ifvar($cx, ((isset($in['links']['block']['exists']) && is_array($in['links']['block'])) ? $in['links']['block']['exists'] : null))) ? 'new ' : '').'"
+ href="'.htmlentities((string)((isset($in['links']['block']['url']) && is_array($in['links']['block'])) ? $in['links']['block']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['links']['block']['title']) && is_array($in['links']['block'])) ? $in['links']['block']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.LCRun3::ch($cx, 'l10n', array(array('blocklink'),array()), 'encq').'</a></span>' : '').')
+ </span>
+' : '').'</span>
+';},'flow_post_moderation_state' => function ($cx, $in) {return '<span class="plainlinks">'.((LCRun3::ifvar($cx, ((isset($in['replyToId']) && is_array($in)) ? $in['replyToId'] : null))) ? ''.LCRun3::ch($cx, 'l10nParse', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderateState']) && is_array($in)) ? $in['moderateState'] : null),'-post-content'),array()), 'raw'),((isset($in['moderator']['name']) && is_array($in['moderator'])) ? $in['moderator']['name'] : null),((isset($in['links']['topic-history']['url']) && is_array($in['links']['topic-history'])) ? $in['links']['topic-history']['url'] : null)),array()), 'encq').'' : ''.LCRun3::ch($cx, 'l10nParse', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderateState']) && is_array($in)) ? $in['moderateState'] : null),'-title-content'),array()), 'raw'),((isset($in['moderator']['name']) && is_array($in['moderator'])) ? $in['moderator']['name'] : null),((isset($in['links']['topic-history']['url']) && is_array($in['links']['topic-history'])) ? $in['links']['topic-history']['url'] : null)),array()), 'encq').'').'</span>
+';},'flow_post_meta_actions' => function ($cx, $in) {return '<div class="flow-post-meta">
+ <span class="flow-post-meta-actions">
+'.((LCRun3::ifvar($cx, ((isset($in['actions']['reply']) && is_array($in['actions'])) ? $in['actions']['reply'] : null))) ? ' <a href="'.htmlentities((string)((isset($in['actions']['reply']['url']) && is_array($in['actions']['reply'])) ? $in['actions']['reply']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['reply']['title']) && is_array($in['actions']['reply'])) ? $in['actions']['reply']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ class="mw-ui-anchor mw-ui-progressive mw-ui-quiet"
+ data-flow-interactive-handler="activateReplyPost"
+
+ data-flow-eventlog-schema="FlowReplies"
+ data-flow-eventlog-action="initiate"
+ data-flow-eventlog-entrypoint="reply-post"
+ data-flow-eventlog-forward="
+ < .flow-post:not([data-flow-post-max-depth=\'1\']) .flow-reply-form [data-role=\'cancel\'],
+ < .flow-post:not([data-flow-post-max-depth=\'1\']) .flow-reply-form [data-role=\'action\'][name=\'preview\'],
+ < .flow-post:not([data-flow-post-max-depth=\'1\']) .flow-reply-form [data-role=\'submit\']
+ "
+ >'.htmlentities((string)((isset($in['actions']['reply']['text']) && is_array($in['actions']['reply'])) ? $in['actions']['reply']['text'] : null), ENT_QUOTES, 'UTF-8').'</a>
+' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['thank']) && is_array($in['actions'])) ? $in['actions']['thank'] : null))) ? ' <a class="mw-ui-anchor mw-ui-constructive mw-ui-quiet mw-thanks-flow-thank-link"
+ href="'.htmlentities((string)((isset($in['actions']['thank']['url']) && is_array($in['actions']['thank'])) ? $in['actions']['thank']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['thank']['title']) && is_array($in['actions']['thank'])) ? $in['actions']['thank']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.htmlentities((string)((isset($in['actions']['thank']['text']) && is_array($in['actions']['thank'])) ? $in['actions']['thank']['text'] : null), ENT_QUOTES, 'UTF-8').'</a>
+' : '').' </span>
+
+ <span class="flow-post-timestamp">
+'.((LCRun3::ifvar($cx, ((isset($in['isOriginalContent']) && is_array($in)) ? $in['isOriginalContent'] : null))) ? ' <a href="'.htmlentities((string)((isset($in['links']['topic-history']['url']) && is_array($in['links']['topic-history'])) ? $in['links']['topic-history']['url'] : null), ENT_QUOTES, 'UTF-8').'" class="flow-timestamp-anchor">
+ '.LCRun3::ch($cx, 'uuidTimestamp', array(array(((isset($in['postId']) && is_array($in)) ? $in['postId'] : null)),array()), 'encq').'
+ </a>
+' : ' <span>
+'.LCRun3::hbch($cx, 'ifCond', array(array(((isset($in['creator']['name']) && is_array($in['creator'])) ? $in['creator']['name'] : null),'===',((isset($in['lastEditUser']['name']) && is_array($in['lastEditUser'])) ? $in['lastEditUser']['name'] : null)),array()), $in, false, function($cx, $in) {return ' '.LCRun3::ch($cx, 'l10n', array(array('flow-edited'),array()), 'encq').'
+';}, function($cx, $in) {return ' '.LCRun3::ch($cx, 'l10n', array(array('flow-edited-by',((isset($in['lastEditUser']['name']) && is_array($in['lastEditUser'])) ? $in['lastEditUser']['name'] : null)),array()), 'encq').'
+';}).' </span>
+ <a href="'.htmlentities((string)((isset($in['links']['topic-history']['url']) && is_array($in['links']['topic-history'])) ? $in['links']['topic-history']['url'] : null), ENT_QUOTES, 'UTF-8').'" class="flow-timestamp-anchor">'.LCRun3::ch($cx, 'uuidTimestamp', array(array(((isset($in['lastEditId']) && is_array($in)) ? $in['lastEditId'] : null)),array()), 'encq').'</a>
+').' </span>
+</div>
+';},'flow_moderation_actions_list' => function ($cx, $in) {return '<section>'.LCRun3::hbch($cx, 'ifCond', array(array(((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'===','topic'),array()), $in, false, function($cx, $in) {return ''.((LCRun3::ifvar($cx, ((isset($in['actions']['edit']) && is_array($in['actions'])) ? $in['actions']['edit'] : null))) ? '<li class="flow-js">'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['edit']['url']) && is_array($in['actions']['edit'])) ? $in['actions']['edit']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['edit']['title']) && is_array($in['actions']['edit'])) ? $in['actions']['edit']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-handler="activateEditTitle"
+ data-flow-api-target="< .flow-topic-titlebar"
+ >'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-pencil"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-edit-title'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['links']['topic-history']) && is_array($in['links'])) ? $in['links']['topic-history'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['links']['topic-history']['url']) && is_array($in['links']['topic-history'])) ? $in['links']['topic-history']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['links']['topic-history']['title']) && is_array($in['links']['topic-history'])) ? $in['links']['topic-history']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-clock"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-history'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['links']['topic']) && is_array($in['links'])) ? $in['links']['topic'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['links']['topic']['url']) && is_array($in['links']['topic'])) ? $in['links']['topic']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['links']['topic']['title']) && is_array($in['links']['topic'])) ? $in['links']['topic']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-link"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-view'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['summarize']) && is_array($in['actions'])) ? $in['actions']['summarize'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-progressive mw-ui-quiet"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-handler="activateSummarizeTopic"
+ data-flow-api-target="< .flow-topic-titlebar .flow-topic-summary-container"
+ href="'.htmlentities((string)((isset($in['actions']['summarize']['url']) && is_array($in['actions']['summarize'])) ? $in['actions']['summarize']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['summarize']['title']) && is_array($in['actions']['summarize'])) ? $in['actions']['summarize']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-stripe-toc"></span> ' : '').''.((LCRun3::ifvar($cx, ((isset($in['summary']) && is_array($in)) ? $in['summary'] : null))) ? ''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-resummarize-topic'),array()), 'raw')),array()), 'encq').'' : ''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-summarize-topic'),array()), 'raw')),array()), 'encq').'').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').'';}).''.LCRun3::hbch($cx, 'ifCond', array(array(((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'===','post'),array()), $in, false, function($cx, $in) {return ''.((LCRun3::ifvar($cx, ((isset($in['actions']['edit']) && is_array($in['actions'])) ? $in['actions']['edit'] : null))) ? '<li>
+ <a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-progressive mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['edit']['url']) && is_array($in['actions']['edit'])) ? $in['actions']['edit']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['edit']['title']) && is_array($in['actions']['edit'])) ? $in['actions']['edit']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-api-handler="activateEditPost"
+ data-flow-api-target="< .flow-post-main"
+ data-flow-interactive-handler="apiRequest"
+ >'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-pencil"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array('flow-post-action-edit-post'),array()), 'encq').'</a>
+ </li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['links']['post']) && is_array($in['links'])) ? $in['links']['post'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['links']['post']['url']) && is_array($in['links']['post'])) ? $in['links']['post']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['links']['post']['title']) && is_array($in['links']['post'])) ? $in['links']['post']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-link"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-view'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').'';}).'</section>
+
+<section>'.LCRun3::hbch($cx, 'ifCond', array(array(((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'===','history'),array()), $in, false, function($cx, $in) {return ''.((LCRun3::ifvar($cx, ((isset($in['actions']['undo']) && is_array($in['actions'])) ? $in['actions']['undo'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['undo']['url']) && is_array($in['actions']['undo'])) ? $in['actions']['undo']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ >'.htmlentities((string)((isset($in['actions']['undo']['title']) && is_array($in['actions']['undo'])) ? $in['actions']['undo']['title'] : null), ENT_QUOTES, 'UTF-8').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').'';}).''.((LCRun3::ifvar($cx, ((isset($in['actions']['hide']) && is_array($in['actions'])) ? $in['actions']['hide'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['hide']['url']) && is_array($in['actions']['hide'])) ? $in['actions']['hide']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['hide']['title']) && is_array($in['actions']['hide'])) ? $in['actions']['hide']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_'.htmlentities((string)((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null), ENT_QUOTES, 'UTF-8').'.partial"
+ data-role="hide">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-flag"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-hide-',((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null)),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['unhide']) && is_array($in['actions'])) ? $in['actions']['unhide'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['unhide']['url']) && is_array($in['actions']['unhide'])) ? $in['actions']['unhide']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['unhide']['title']) && is_array($in['actions']['unhide'])) ? $in['actions']['unhide']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_'.htmlentities((string)((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null), ENT_QUOTES, 'UTF-8').'.partial"
+ data-role="unhide">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-flag"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-unhide-',((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null)),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['delete']) && is_array($in['actions'])) ? $in['actions']['delete'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['delete']['url']) && is_array($in['actions']['delete'])) ? $in['actions']['delete']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['delete']['title']) && is_array($in['actions']['delete'])) ? $in['actions']['delete']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_'.htmlentities((string)((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null), ENT_QUOTES, 'UTF-8').'.partial"
+ data-role="delete">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-trash"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-delete-',((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null)),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['undelete']) && is_array($in['actions'])) ? $in['actions']['undelete'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['undelete']['url']) && is_array($in['actions']['undelete'])) ? $in['actions']['undelete']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['undelete']['title']) && is_array($in['actions']['undelete'])) ? $in['actions']['undelete']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_'.htmlentities((string)((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null), ENT_QUOTES, 'UTF-8').'.partial"
+ data-role="undelete">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-trash"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-undelete-',((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null)),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['suppress']) && is_array($in['actions'])) ? $in['actions']['suppress'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['suppress']['url']) && is_array($in['actions']['suppress'])) ? $in['actions']['suppress']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['suppress']['title']) && is_array($in['actions']['suppress'])) ? $in['actions']['suppress']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_'.htmlentities((string)((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null), ENT_QUOTES, 'UTF-8').'.partial"
+ data-role="suppress">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-block"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-suppress-',((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null)),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['unsuppress']) && is_array($in['actions'])) ? $in['actions']['unsuppress'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ href="'.htmlentities((string)((isset($in['actions']['unsuppress']['url']) && is_array($in['actions']['unsuppress'])) ? $in['actions']['unsuppress']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['unsuppress']['title']) && is_array($in['actions']['unsuppress'])) ? $in['actions']['unsuppress']['title'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_'.htmlentities((string)((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null), ENT_QUOTES, 'UTF-8').'.partial"
+ data-role="unsuppress">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-block"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-unsuppress-',((isset($in['moderationTemplate']) && is_array($in)) ? $in['moderationTemplate'] : null)),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.LCRun3::hbch($cx, 'ifCond', array(array(((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'===','history'),array()), $in, false, function($cx, $in) {return ''.((LCRun3::ifvar($cx, ((isset($in['actions']['lock']) && is_array($in['actions'])) ? $in['actions']['lock'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_topic.partial"
+ data-role="lock"
+ data-flow-id="'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'"
+ href="'.htmlentities((string)((isset($in['actions']['lock']['url']) && is_array($in['actions']['lock'])) ? $in['actions']['lock']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['lock']['title']) && is_array($in['actions']['lock'])) ? $in['actions']['lock']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-lock"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-lock-topic'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['unlock']) && is_array($in['actions'])) ? $in['actions']['unlock'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_topic.partial"
+ data-role="unlock"
+ data-flow-id="'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'"
+ href="'.htmlentities((string)((isset($in['actions']['unlock']['url']) && is_array($in['actions']['unlock'])) ? $in['actions']['unlock']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['unlock']['title']) && is_array($in['actions']['unlock'])) ? $in['actions']['unlock']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-unlock"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-unlock-topic'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').'';}, function($cx, $in) {return ''.((LCRun3::ifvar($cx, ((isset($in['actions']['lock']) && is_array($in['actions'])) ? $in['actions']['lock'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-handler="activateLockTopic"
+ data-flow-id="'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-api-target="< .flow-topic-titlebar .flow-topic-summary-container"
+ href="'.htmlentities((string)((isset($in['actions']['lock']['url']) && is_array($in['actions']['lock'])) ? $in['actions']['lock']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['lock']['title']) && is_array($in['actions']['lock'])) ? $in['actions']['lock']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-lock"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-lock-topic'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').''.((LCRun3::ifvar($cx, ((isset($in['actions']['unlock']) && is_array($in['actions'])) ? $in['actions']['unlock'] : null))) ? '<li>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'<a class="'.htmlentities((string)((isset($in['moderationMwUiClass']) && is_array($in)) ? $in['moderationMwUiClass'] : null), ENT_QUOTES, 'UTF-8').' mw-ui-destructive mw-ui-quiet"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-handler="activateLockTopic"
+ data-flow-id="'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-api-target="< .flow-topic-titlebar .flow-topic-summary-container"
+ href="'.htmlentities((string)((isset($in['actions']['unlock']['url']) && is_array($in['actions']['unlock'])) ? $in['actions']['unlock']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ title="'.htmlentities((string)((isset($in['actions']['unlock']['title']) && is_array($in['actions']['unlock'])) ? $in['actions']['unlock']['title'] : null), ENT_QUOTES, 'UTF-8').'">'.((LCRun3::ifvar($cx, ((isset($in['moderationIcons']) && is_array($in)) ? $in['moderationIcons'] : null))) ? '<span class="wikiglyph wikiglyph-unlock"></span> ' : '').''.LCRun3::ch($cx, 'l10n', array(array(LCRun3::ch($cx, 'concat', array(array('flow-',((isset($in['moderationType']) && is_array($in)) ? $in['moderationType'] : null),'-action-unlock-topic'),array()), 'raw')),array()), 'encq').'</a>'.htmlentities((string)((isset($in['noop']) && is_array($in)) ? $in['noop'] : null), ENT_QUOTES, 'UTF-8').'</li>' : '').'';}).'</section>
+';},'flow_post_actions' => function ($cx, $in) {return '<div class="flow-menu flow-menu-hoverable">
+ <div class="flow-menu-js-drop"><a href="javascript:void(0);"><span class="wikiglyph wikiglyph-ellipsis"></span></a></div>
+ <ul class="mw-ui-button-container flow-list">
+'.LCRun3::p($cx, 'flow_moderation_actions_list', array(array($in),array('moderationType'=>'post','moderationTarget'=>'post','moderationTemplate'=>'post','moderationContainerClass'=>'flow-menu','moderationMwUiClass'=>'mw-ui-button','moderationIcons'=>true))).' </ul>
+</div>
+';},'flow_post_inner' => function ($cx, $in) {return '<div
+'.((LCRun3::ifvar($cx, ((isset($in['isModerated']) && is_array($in)) ? $in['isModerated'] : null))) ? ' class="flow-post-main flow-post-moderated flow-click-interactive flow-element-collapsible flow-element-collapsed"
+ data-flow-interactive-handler="collapserCollapsibleToggle"
+ tabindex="0"
+' : ' class="flow-post-main"
+').'>
+'.LCRun3::p($cx, 'flow_errors', array(array($in),array())).'
+'.LCRun3::wi($cx, ((isset($in['creator']) && is_array($in)) ? $in['creator'] : null), $in, function($cx, $in) {return ''.LCRun3::p($cx, 'flow_post_author', array(array($in),array())).'';}).'
+'.((LCRun3::ifvar($cx, ((isset($in['isModerated']) && is_array($in)) ? $in['isModerated'] : null))) ? ' <div class="flow-moderated-post-content">
+'.LCRun3::p($cx, 'flow_post_moderation_state', array(array($in),array())).' </div>
+' : '').'
+ <div class="flow-post-content">
+ '.LCRun3::ch($cx, 'escapeContent', array(array(((isset($in['content']['format']) && is_array($in['content'])) ? $in['content']['format'] : null),((isset($in['content']['content']) && is_array($in['content'])) ? $in['content']['content'] : null)),array()), 'encq').'
+ </div>
+
+'.((!LCRun3::ifvar($cx, ((isset($in['isPreview']) && is_array($in)) ? $in['isPreview'] : null))) ? ''.LCRun3::p($cx, 'flow_post_meta_actions', array(array($in),array())).''.LCRun3::p($cx, 'flow_post_actions', array(array($in),array())).'' : '').'</div>
+';},'flow_anon_warning' => function ($cx, $in) {return '<div class="flow-anon-warning">
+ <div class="flow-anon-warning-mobile">
+'.LCRun3::hbch($cx, 'tooltip', array(array(),array('positionClass'=>'down','contextClass'=>'progressive','extraClass'=>'flow-form-collapsible','isBlock'=>true)), $in, false, function($cx, $in) {return ''.LCRun3::ch($cx, 'l10nParse', array(array('flow-anon-warning',LCRun3::ch($cx, 'linkWithReturnTo', array(array('Special:UserLogin'),array()), 'raw'),LCRun3::ch($cx, 'linkWithReturnTo', array(array('Special:UserLogin/signup'),array()), 'raw')),array()), 'encq').'';}).' </div>
+
+'.LCRun3::hbch($cx, 'progressiveEnhancement', array(array(),array()), $in, false, function($cx, $in) {return ' <div class="flow-anon-warning-desktop">
+'.LCRun3::hbch($cx, 'tooltip', array(array(),array('positionClass'=>'left','contextClass'=>'progressive','extraClass'=>'flow-form-collapsible','isBlock'=>true)), $in, false, function($cx, $in) {return ''.LCRun3::ch($cx, 'l10nParse', array(array('flow-anon-warning',LCRun3::ch($cx, 'linkWithReturnTo', array(array('Special:UserLogin'),array()), 'raw'),LCRun3::ch($cx, 'linkWithReturnTo', array(array('Special:UserLogin/signup'),array()), 'raw')),array()), 'encq').'';}).' </div>
+';}).'</div>
+';},'flow_form_buttons' => function ($cx, $in) {return '<button data-flow-interactive-handler="cancelForm"
+ data-role="cancel"
+ type="reset"
+ class="mw-ui-button mw-ui-destructive mw-ui-quiet mw-ui-flush-right flow-js"
+
+>'.LCRun3::ch($cx, 'l10n', array(array('flow-cancel'),array()), 'encq').'</button>
+';},'flow_edit_post' => function ($cx, $in) {return '<form class="flow-edit-post-form"
+ method="POST"
+ action="'.htmlentities((string)((isset($in['actions']['edit']['url']) && is_array($in['actions']['edit'])) ? $in['actions']['edit']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+>
+'.LCRun3::p($cx, 'flow_errors', array(array($in),array())).' <input type="hidden" name="wpEditToken" value="'.htmlentities((string)((isset($cx['sp_vars']['root']['rootBlock']['editToken']) && is_array($cx['sp_vars']['root']['rootBlock'])) ? $cx['sp_vars']['root']['rootBlock']['editToken'] : null), ENT_QUOTES, 'UTF-8').'" />
+ <input type="hidden" name="topic_prev_revision" value="'.htmlentities((string)((isset($in['revisionId']) && is_array($in)) ? $in['revisionId'] : null), ENT_QUOTES, 'UTF-8').'" />
+'.LCRun3::hbch($cx, 'ifAnonymous', array(array(),array()), $in, false, function($cx, $in) {return ''.LCRun3::p($cx, 'flow_anon_warning', array(array($in),array())).'';}).'
+ <div class="flow-editor">
+ <textarea name="topic_content" class="mw-ui-input flow-form-collapsible"
+ data-flow-preview-template="flow_post"
+ data-flow-preview-title="'.htmlentities((string)((isset($in['articleTitle']) && is_array($in)) ? $in['articleTitle'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-creator="'.htmlentities((string)((isset($in['creator']['name']) && is_array($in['creator'])) ? $in['creator']['name'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-role="content"
+ >'.((LCRun3::ifvar($cx, ((isset($cx['sp_vars']['root']['rootBlock']['submitted']['content']) && is_array($cx['sp_vars']['root']['rootBlock']['submitted'])) ? $cx['sp_vars']['root']['rootBlock']['submitted']['content'] : null))) ? ''.htmlentities((string)((isset($cx['sp_vars']['root']['rootBlock']['submitted']['content']) && is_array($cx['sp_vars']['root']['rootBlock']['submitted'])) ? $cx['sp_vars']['root']['rootBlock']['submitted']['content'] : null), ENT_QUOTES, 'UTF-8').'' : ''.htmlentities((string)((isset($in['content']['content']) && is_array($in['content'])) ? $in['content']['content'] : null), ENT_QUOTES, 'UTF-8').'').'</textarea>
+ </div>
+
+ <div class="flow-form-actions flow-form-collapsible">
+ <button class="mw-ui-button mw-ui-constructive"
+ data-flow-api-handler="submitEditPost">'.LCRun3::ch($cx, 'l10n', array(array('flow-post-action-edit-post-submit'),array()), 'encq').'</button>
+'.LCRun3::p($cx, 'flow_form_buttons', array(array($in),array())).' <small class="flow-terms-of-use plainlinks">'.LCRun3::ch($cx, 'l10nParse', array(array('flow-terms-of-use-edit'),array()), 'encq').'</small>
+ </div>
+</form>
+';},'flow_reply_form' => function ($cx, $in) {return ''.((LCRun3::ifvar($cx, ((isset($in['actions']['reply']) && is_array($in['actions'])) ? $in['actions']['reply'] : null))) ? ' <form class="flow-post flow-reply-form"
+ method="POST"
+ action="'.htmlentities((string)((isset($in['actions']['reply']['url']) && is_array($in['actions']['reply'])) ? $in['actions']['reply']['url'] : null), ENT_QUOTES, 'UTF-8').'"
+ id="flow-reply-'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-initial-state="collapsed"
+ >
+ <input type="hidden" name="wpEditToken" value="'.htmlentities((string)((isset($cx['sp_vars']['root']['rootBlock']['editToken']) && is_array($cx['sp_vars']['root']['rootBlock'])) ? $cx['sp_vars']['root']['rootBlock']['editToken'] : null), ENT_QUOTES, 'UTF-8').'" />
+ <input type="hidden" name="topic_replyTo" value="'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'" />
+'.LCRun3::p($cx, 'flow_errors', array(array($in),array())).'
+'.LCRun3::hbch($cx, 'ifAnonymous', array(array(),array()), $in, false, function($cx, $in) {return ''.LCRun3::p($cx, 'flow_anon_warning', array(array($in),array())).'';}).'
+ <div class="flow-editor">
+ <textarea id="flow-post-'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'-form-content"
+ name="topic_content"
+ required
+ data-flow-preview-template="flow_post"
+ data-flow-preview-title="'.htmlentities((string)((isset($in['articleTitle']) && is_array($in)) ? $in['articleTitle'] : null), ENT_QUOTES, 'UTF-8').'"
+ data-flow-expandable="true"
+ class="mw-ui-input flow-click-interactive"
+ type="text"
+ placeholder="'.LCRun3::ch($cx, 'l10n', array(array('flow-reply-topic-title-placeholder',((isset($in['properties']['topic-of-post']) && is_array($in['properties'])) ? $in['properties']['topic-of-post'] : null)),array()), 'encq').'"
+ data-role="content"
+
+ data-flow-interactive-handler-focus="activateReplyTopic"
+ >'.((LCRun3::ifvar($cx, ((isset($cx['sp_vars']['root']['submitted']) && is_array($cx['sp_vars']['root'])) ? $cx['sp_vars']['root']['submitted'] : null))) ? ''.LCRun3::hbch($cx, 'ifCond', array(array(((isset($cx['sp_vars']['root']['submitted']['postId']) && is_array($cx['sp_vars']['root']['submitted'])) ? $cx['sp_vars']['root']['submitted']['postId'] : null),'===',((isset($in['postId']) && is_array($in)) ? $in['postId'] : null)),array()), $in, false, function($cx, $in) {return ''.htmlentities((string)((isset($cx['sp_vars']['root']['submitted']['content']) && is_array($cx['sp_vars']['root']['submitted'])) ? $cx['sp_vars']['root']['submitted']['content'] : null), ENT_QUOTES, 'UTF-8').'';}).'' : '').'</textarea>
+ </div>
+
+ <div class="flow-form-actions flow-form-collapsible">
+ <button data-role="submit"
+ class="mw-ui-button mw-ui-constructive"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-handler="submitReply"
+ data-flow-api-target="< .flow-topic"
+ data-flow-eventlog-action="save-attempt"
+ >'.htmlentities((string)((isset($in['actions']['reply']['text']) && is_array($in['actions']['reply'])) ? $in['actions']['reply']['text'] : null), ENT_QUOTES, 'UTF-8').'</button>
+'.LCRun3::p($cx, 'flow_form_buttons', array(array($in),array())).' <small class="flow-terms-of-use plainlinks">'.LCRun3::ch($cx, 'l10nParse', array(array('flow-terms-of-use-reply'),array()), 'encq').'</small>
+ </div>
+ </form>
+' : '').'';},'flow_post_replies' => function ($cx, $in) {return '<div class="flow-replies">
+'.LCRun3::sec($cx, ((isset($in['replies']) && is_array($in)) ? $in['replies'] : null), $in, true, function($cx, $in) {return ''.LCRun3::hbch($cx, 'eachPost', array(array(((isset($cx['sp_vars']['root']['rootBlock']) && is_array($cx['sp_vars']['root'])) ? $cx['sp_vars']['root']['rootBlock'] : null),$in),array()), $in, false, function($cx, $in) {return ' <!-- eachPost nested replies -->
+ '.LCRun3::ch($cx, 'post', array(array(((isset($cx['sp_vars']['root']['rootBlock']) && is_array($cx['sp_vars']['root'])) ? $cx['sp_vars']['root']['rootBlock'] : null),$in),array()), 'encq').'
+';}).'';}).''.LCRun3::hbch($cx, 'ifCond', array(array(((isset($cx['sp_vars']['root']['rootBlock']['submitted']['postId']) && is_array($cx['sp_vars']['root']['rootBlock']['submitted'])) ? $cx['sp_vars']['root']['rootBlock']['submitted']['postId'] : null),'===',((isset($in['postId']) && is_array($in)) ? $in['postId'] : null)),array()), $in, false, function($cx, $in) {return ''.LCRun3::hbch($cx, 'ifCond', array(array(((isset($cx['sp_vars']['root']['rootBlock']['submitted']['action']) && is_array($cx['sp_vars']['root']['rootBlock']['submitted'])) ? $cx['sp_vars']['root']['rootBlock']['submitted']['action'] : null),'===','reply'),array()), $in, false, function($cx, $in) {return ''.LCRun3::p($cx, 'flow_reply_form', array(array($in),array())).'';}).'';}).'</div>
+';},),
+ 'scopes' => array($in),
+ 'sp_vars' => array('root' => $in),
+
+ );
+
+ return ''.LCRun3::wi($cx, ((isset($in['revision']) && is_array($in)) ? $in['revision'] : null), $in, function($cx, $in) {return ' <div id="flow-post-'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'"
+ class="flow-post'.((LCRun3::ifvar($cx, ((isset($in['isMaxThreadingDepth']) && is_array($in)) ? $in['isMaxThreadingDepth'] : null))) ? ' flow-post-max-depth' : '').'"
+ data-flow-id="'.htmlentities((string)((isset($in['postId']) && is_array($in)) ? $in['postId'] : null), ENT_QUOTES, 'UTF-8').'"
+ >
+'.((LCRun3::ifvar($cx, ((isset($in['isModerated']) && is_array($in)) ? $in['isModerated'] : null))) ? ''.LCRun3::hbch($cx, 'ifCond', array(array(((isset($cx['sp_vars']['root']['rootBlock']['submitted']['showPostId']) && is_array($cx['sp_vars']['root']['rootBlock']['submitted'])) ? $cx['sp_vars']['root']['rootBlock']['submitted']['showPostId'] : null),'===',((isset($in['postId']) && is_array($in)) ? $in['postId'] : null)),array()), $in, false, function($cx, $in) {return ''.LCRun3::p($cx, 'flow_post_inner', array(array($in),array())).'';}, function($cx, $in) {return ' <div class="flow-post-main flow-post-moderated">
+ <span class="flow-moderated-post-content">
+'.LCRun3::p($cx, 'flow_post_moderation_state', array(array($in),array())).' </span>
+ </div>
+';}).'' : ''.LCRun3::hbch($cx, 'ifCond', array(array(((isset($cx['sp_vars']['root']['rootBlock']['submitted']['action']) && is_array($cx['sp_vars']['root']['rootBlock']['submitted'])) ? $cx['sp_vars']['root']['rootBlock']['submitted']['action'] : null),'===','edit-post'),array()), $in, false, function($cx, $in) {return ''.LCRun3::hbch($cx, 'ifCond', array(array(((isset($cx['sp_vars']['root']['rootBlock']['submitted']['postId']) && is_array($cx['sp_vars']['root']['rootBlock']['submitted'])) ? $cx['sp_vars']['root']['rootBlock']['submitted']['postId'] : null),'===',((isset($in['postId']) && is_array($in)) ? $in['postId'] : null)),array()), $in, false, function($cx, $in) {return ''.LCRun3::p($cx, 'flow_edit_post', array(array($in),array())).'';}, function($cx, $in) {return ''.LCRun3::p($cx, 'flow_post_inner', array(array($in),array())).'';}).'';}, function($cx, $in) {return ''.LCRun3::p($cx, 'flow_post_inner', array(array($in),array())).'';}).'').'
+'.((!LCRun3::ifvar($cx, ((isset($in['isPreview']) && is_array($in)) ? $in['isPreview'] : null))) ? ''.LCRun3::p($cx, 'flow_post_replies', array(array($in),array())).'' : '').' </div>
+';}).'';
+}
+?> \ No newline at end of file
diff --git a/Flow/handlebars/compiled/flow_revision_diff_header.handlebars.php b/Flow/handlebars/compiled/flow_revision_diff_header.handlebars.php
new file mode 100644
index 00000000..3ceab989
--- /dev/null
+++ b/Flow/handlebars/compiled/flow_revision_diff_header.handlebars.php
@@ -0,0 +1,33 @@
+<?php return function ($in, $debugopt = 1) {
+ $cx = array(
+ 'flags' => array(
+ 'jstrue' => false,
+ 'jsobj' => false,
+ 'spvar' => true,
+ 'prop' => false,
+ 'method' => false,
+ 'mustlok' => false,
+ 'mustsec' => false,
+ 'echo' => false,
+ 'debug' => $debugopt,
+ ),
+ 'constants' => array(),
+ 'helpers' => array( 'l10n' => 'Flow\TemplateHelper::l10n',
+ 'l10nParse' => 'Flow\TemplateHelper::l10nParse',
+),
+ 'blockhelpers' => array(),
+ 'hbhelpers' => array(),
+ 'partials' => array(),
+ 'scopes' => array($in),
+ 'sp_vars' => array('root' => $in),
+
+ );
+
+ return '<div><a href="'.htmlentities((string)((isset($in['link']) && is_array($in)) ? $in['link'] : null), ENT_QUOTES, 'UTF-8').'" class="flow-diff-revision-link">
+ '.LCRun3::ch($cx, 'l10nParse', array(array('flow-compare-revisions-revision-header',((isset($in['timestamp']) && is_array($in)) ? $in['timestamp'] : null),((isset($in['author']) && is_array($in)) ? $in['author'] : null)),array()), 'encq').'
+</a></div>
+'.((LCRun3::ifvar($cx, ((isset($in['previous']) && is_array($in)) ? $in['previous'] : null))) ? ' <div><a href="'.htmlentities((string)((isset($in['previous']) && is_array($in)) ? $in['previous'] : null), ENT_QUOTES, 'UTF-8').'">'.LCRun3::ch($cx, 'l10n', array(array('flow-previous-diff'),array()), 'encq').'</a></div>
+' : '').''.((LCRun3::ifvar($cx, ((isset($in['next']) && is_array($in)) ? $in['next'] : null))) ? ' <div><a href="'.htmlentities((string)((isset($in['next']) && is_array($in)) ? $in['next'] : null), ENT_QUOTES, 'UTF-8').'">'.LCRun3::ch($cx, 'l10n', array(array('flow-next-diff'),array()), 'encq').'</a></div>
+' : '').'';
+}
+?> \ No newline at end of file
diff --git a/Flow/handlebars/compiled/flow_tooltip.handlebars.php b/Flow/handlebars/compiled/flow_tooltip.handlebars.php
new file mode 100644
index 00000000..3a72a57d
--- /dev/null
+++ b/Flow/handlebars/compiled/flow_tooltip.handlebars.php
@@ -0,0 +1,29 @@
+<?php return function ($in, $debugopt = 1) {
+ $cx = array(
+ 'flags' => array(
+ 'jstrue' => false,
+ 'jsobj' => false,
+ 'spvar' => true,
+ 'prop' => false,
+ 'method' => false,
+ 'mustlok' => false,
+ 'mustsec' => false,
+ 'echo' => false,
+ 'debug' => $debugopt,
+ ),
+ 'constants' => array(),
+ 'helpers' => array( 'html' => 'Flow\TemplateHelper::htmlHelper',
+),
+ 'blockhelpers' => array(),
+ 'hbhelpers' => array(),
+ 'partials' => array(),
+ 'scopes' => array($in),
+ 'sp_vars' => array('root' => $in),
+
+ );
+
+ return '<div class="'.htmlentities((string)((isset($in['extraClass']) && is_array($in)) ? $in['extraClass'] : null), ENT_QUOTES, 'UTF-8').' flow-ui-tooltip '.htmlentities((string)((isset($in['contextClass']) && is_array($in)) ? $in['contextClass'] : null), ENT_QUOTES, 'UTF-8').' '.htmlentities((string)((isset($in['positionClass']) && is_array($in)) ? $in['positionClass'] : null), ENT_QUOTES, 'UTF-8').' '.htmlentities((string)((isset($in['blockClass']) && is_array($in)) ? $in['blockClass'] : null), ENT_QUOTES, 'UTF-8').' plainlinks">'.LCRun3::ch($cx, 'html', array(array(((isset($in['content']) && is_array($in)) ? $in['content'] : null)),array()), 'encq').'<span class="flow-ui-tooltip-triangle"></span>
+</div>
+';
+}
+?> \ No newline at end of file
diff --git a/Flow/handlebars/compiled/timestamp.handlebars.php b/Flow/handlebars/compiled/timestamp.handlebars.php
new file mode 100644
index 00000000..d74de933
--- /dev/null
+++ b/Flow/handlebars/compiled/timestamp.handlebars.php
@@ -0,0 +1,33 @@
+<?php return function ($in, $debugopt = 1) {
+ $cx = array(
+ 'flags' => array(
+ 'jstrue' => false,
+ 'jsobj' => false,
+ 'spvar' => true,
+ 'prop' => false,
+ 'method' => false,
+ 'mustlok' => false,
+ 'mustsec' => false,
+ 'echo' => false,
+ 'debug' => $debugopt,
+ ),
+ 'constants' => array(),
+ 'helpers' => array(),
+ 'blockhelpers' => array(),
+ 'hbhelpers' => array(),
+ 'partials' => array(),
+ 'scopes' => array($in),
+ 'sp_vars' => array('root' => $in),
+
+ );
+
+ return ''.((LCRun3::ifvar($cx, ((isset($in['guid']) && is_array($in)) ? $in['guid'] : null))) ? ' <span datetime="'.htmlentities((string)((isset($in['time_iso']) && is_array($in)) ? $in['time_iso'] : null), ENT_QUOTES, 'UTF-8').'" class="flow-timestamp">
+' : ' <span datetime="'.htmlentities((string)((isset($in['time_iso']) && is_array($in)) ? $in['time_iso'] : null), ENT_QUOTES, 'UTF-8').'"
+ class="flow-timestamp flow-load-interactive"
+ data-flow-load-handler="timestamp">
+').' <span class="flow-timestamp-user-formatted">'.htmlentities((string)((isset($in['time_readable']) && is_array($in)) ? $in['time_readable'] : null), ENT_QUOTES, 'UTF-8').'</span>
+ <span id="'.htmlentities((string)((isset($in['guid']) && is_array($in)) ? $in['guid'] : null), ENT_QUOTES, 'UTF-8').'" class="flow-timestamp-ago">'.htmlentities((string)((isset($in['time_ago']) && is_array($in)) ? $in['time_ago'] : null), ENT_QUOTES, 'UTF-8').'</span>
+</span>
+';
+}
+?> \ No newline at end of file
diff --git a/Flow/handlebars/flow_anon_warning.partial.handlebars b/Flow/handlebars/flow_anon_warning.partial.handlebars
new file mode 100644
index 00000000..c9d4e2e1
--- /dev/null
+++ b/Flow/handlebars/flow_anon_warning.partial.handlebars
@@ -0,0 +1,27 @@
+<div class="flow-anon-warning">
+ <div class="flow-anon-warning-mobile">
+ {{!-- mobile warning --}}
+ {{#tooltip
+ positionClass="down"
+ contextClass="progressive"
+ extraClass="flow-form-collapsible"
+ isBlock=true
+ }}
+ {{~l10nParse "flow-anon-warning" (linkWithReturnTo "Special:UserLogin") (linkWithReturnTo "Special:UserLogin/signup")~}}
+ {{/tooltip}}
+ </div>
+
+ {{!-- desktop warning --}}
+ {{#progressiveEnhancement}}
+ <div class="flow-anon-warning-desktop">
+ {{#tooltip
+ positionClass="left"
+ contextClass="progressive"
+ extraClass="flow-form-collapsible"
+ isBlock=true
+ }}
+ {{~l10nParse "flow-anon-warning" (linkWithReturnTo "Special:UserLogin") (linkWithReturnTo "Special:UserLogin/signup")~}}
+ {{/tooltip}}
+ </div>
+ {{/progressiveEnhancement}}
+</div>
diff --git a/Flow/handlebars/flow_block_board-history.handlebars b/Flow/handlebars/flow_block_board-history.handlebars
new file mode 100644
index 00000000..1ea48fd9
--- /dev/null
+++ b/Flow/handlebars/flow_block_board-history.handlebars
@@ -0,0 +1,11 @@
+<div class="flow-board-history">
+ {{html navbar}}
+
+ <ul>
+ {{#each revisions}}
+ <li>{{> flow_history_line}}</li>
+ {{/each}}
+ </ul>
+
+ {{html navbar}}
+</div>
diff --git a/Flow/handlebars/flow_block_header.handlebars b/Flow/handlebars/flow_block_header.handlebars
new file mode 100644
index 00000000..5952a9c4
--- /dev/null
+++ b/Flow/handlebars/flow_block_header.handlebars
@@ -0,0 +1,4 @@
+<div class="flow-board-header">
+ {{> flow_errors}}
+ {{> flow_header_detail}}
+</div>
diff --git a/Flow/handlebars/flow_block_header_diff_view.handlebars b/Flow/handlebars/flow_block_header_diff_view.handlebars
new file mode 100644
index 00000000..c647e3e4
--- /dev/null
+++ b/Flow/handlebars/flow_block_header_diff_view.handlebars
@@ -0,0 +1,21 @@
+<div class="flow-board">
+ <div class="flow-compare-revisions-header plainlinks">
+ {{l10nParse "flow-compare-revisions-header-header"
+ revision.new.rev_view_links.board.title
+ revision.new.author.name
+ revision.new.rev_view_links.board.url
+ revision.new.rev_view_links.hist.url }}
+ </div>
+ <div class="flow-compare-revisions">
+ {{diffRevision revision.diff_content
+ revision.old.human_timestamp
+ revision.new.human_timestamp
+ revision.old.author.name
+ revision.new.author.name
+ revision.old.rev_view_links.single-view.url
+ revision.new.rev_view_links.single-view.url
+ revision.links.previous
+ revision.links.next
+ }}
+ </div>
+</div>
diff --git a/Flow/handlebars/flow_block_header_edit.handlebars b/Flow/handlebars/flow_block_header_edit.handlebars
new file mode 100644
index 00000000..1e70f169
--- /dev/null
+++ b/Flow/handlebars/flow_block_header_edit.handlebars
@@ -0,0 +1,37 @@
+<div class="flow-board-header">
+ <div class="flow-board-header-edit-view">
+ <form method="POST" action="{{revision.actions.edit.url}}" flow-api-action="edit-header">
+ {{> flow_errors }}
+ <input type="hidden" name="wpEditToken" value="{{@root.editToken}}" />
+ {{#if revision.revisionId}}
+ <input type="hidden" name="header_prev_revision" value="{{revision.revisionId}}" />
+ {{/if}}
+
+ <div class="flow-editor">
+ <textarea name="header_content"
+ class="mw-ui-input"
+ data-flow-preview-template="flow_header_detail.partial"
+ placeholder="{{l10n "flow-edit-header-placeholder"}}"
+ data-role="content"
+ >
+ {{~#if submitted.content~}}
+ {{~submitted.content~}}
+ {{~else~}}
+ {{~revision.content.content~}}
+ {{~/if~}}
+ </textarea>
+ </div>
+
+ <div class="flow-form-actions flow-form-collapsible">
+ <button data-role="submit"
+ class="mw-ui-button mw-ui-constructive"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-handler="submitHeader">
+ {{~l10n "flow-edit-header-submit"~}}
+ </button>
+ {{> flow_form_buttons }}
+ <small class="flow-terms-of-use plainlinks">{{l10nParse "flow-terms-of-use-edit"}}</small>
+ </div>
+ </form>
+ </div>
+</div>
diff --git a/Flow/handlebars/flow_block_header_single_view.handlebars b/Flow/handlebars/flow_block_header_single_view.handlebars
new file mode 100644
index 00000000..640a0486
--- /dev/null
+++ b/Flow/handlebars/flow_block_header_single_view.handlebars
@@ -0,0 +1,19 @@
+<div class="flow-board">
+ <div class="flow-revision-permalink-warning plainlinks">
+ {{#if revision.previousRevisionId}}
+ {{l10nParse "flow-revision-permalink-warning-header"
+ revision.human_timestamp
+ revision.rev_view_links.hist.url
+ revision.rev_view_links.diff.url}}
+ {{else}}
+ {{l10nParse "flow-revision-permalink-warning-header-first"
+ revision.human_timestamp
+ revision.rev_view_links.hist.url
+ revision.rev_view_links.diff.url}}
+ {{/if}}
+ </div>
+
+ <div class="flow-revision-content">
+ {{escapeContent revision.content.format revision.content.content}}
+ </div>
+</div>
diff --git a/Flow/handlebars/flow_block_header_undo_edit.handlebars b/Flow/handlebars/flow_block_header_undo_edit.handlebars
new file mode 100644
index 00000000..8d6358aa
--- /dev/null
+++ b/Flow/handlebars/flow_block_header_undo_edit.handlebars
@@ -0,0 +1,48 @@
+<div class="flow-board">
+ {{#if undo.possible}}
+ <p>{{l10n "flow-undo-edit-content"}}</p>
+ {{else}}
+ <p class="error">{{l10n "flow-undo-edit-failure"}}</p>
+ {{/if}}
+
+ {{> flow_errors}}
+
+ {{#if undo.possible}}
+ {{diffUndo undo.diff_content}}
+ {{/if}}
+
+ <form method="POST" action="{{links.undo-edit-header.url}}" class="flow-post">
+ <input type="hidden" name="wpEditToken" value="{{@root.rootBlock.editToken}}" />
+ <input type="hidden" name="header_prev_revision" value="{{current.revisionId}}" />
+
+ <div class="flow-editor">
+ <textarea name="topic_content"
+ class="mw-ui-input"
+ data-role="content"
+ data-flow-preview-template="flow_header_detail.partial"
+ data-flow-preview-title="{{articleTitle}}"
+ >
+ {{~#if submitted.content~}}
+ {{~submitted.content~}}
+ {{~else~}}
+ {{~#if undo.possible~}}
+ {{~undo.content~}}
+ {{~else~}}
+ {{~current.content.content~}}
+ {{~/if~}}
+ {{~/if~}}
+ </textarea>
+ </div>
+
+ <div class="flow-form-actions flow-form-collapsible">
+ <button class="mw-ui-button mw-ui-constructive">
+ {{~l10n "flow-edit-header-submit"~}}
+ </button>
+ {{> flow_form_buttons}}
+ <small class="flow-terms-of-use plainlinks">
+ {{~l10nParse "flow-terms-of-use-edit"}}
+ </small>
+ </div>
+ </form>
+</div>
+
diff --git a/Flow/handlebars/flow_block_loop.handlebars b/Flow/handlebars/flow_block_loop.handlebars
new file mode 100644
index 00000000..4a822bf4
--- /dev/null
+++ b/Flow/handlebars/flow_block_loop.handlebars
@@ -0,0 +1,3 @@
+{{#each blocks}}
+ {{block this}}
+{{/each}} \ No newline at end of file
diff --git a/Flow/handlebars/flow_block_topic.handlebars b/Flow/handlebars/flow_block_topic.handlebars
new file mode 100644
index 00000000..c858a5bc
--- /dev/null
+++ b/Flow/handlebars/flow_block_topic.handlebars
@@ -0,0 +1,8 @@
+<div class="flow-board">
+ <div class="flow-topics">
+ {{> flow_errors}}
+
+ {{!-- There is only one topic, but we use same api response structure --}}
+ {{> flow_topiclist_loop}}
+ </div>
+</div>
diff --git a/Flow/handlebars/flow_block_topic_diff_view.handlebars b/Flow/handlebars/flow_block_topic_diff_view.handlebars
new file mode 100644
index 00000000..dd8208db
--- /dev/null
+++ b/Flow/handlebars/flow_block_topic_diff_view.handlebars
@@ -0,0 +1,24 @@
+<div class="flow-board">
+ <div class="flow-compare-revisions-header plainlinks">
+ {{l10nParse "flow-compare-revisions-header-post"
+ revision.new.rev_view_links.board.title
+ revision.new.properties.topic-of-post.
+ revision.new.author.name
+ revision.new.rev_view_links.board.url
+ revision.new.rev_view_links.root.url
+ revision.new.rev_view_links.hist.url
+ }}
+ </div>
+ <div class="flow-compare-revisions">
+ {{diffRevision revision.diff_content
+ revision.old.human_timestamp
+ revision.new.human_timestamp
+ revision.old.author.name
+ revision.new.author.name
+ revision.old.rev_view_links.single-view.url
+ revision.new.rev_view_links.single-view.url
+ revision.links.previous
+ revision.links.next
+ }}
+ </div>
+</div>
diff --git a/Flow/handlebars/flow_block_topic_edit_title.handlebars b/Flow/handlebars/flow_block_topic_edit_title.handlebars
new file mode 100644
index 00000000..2143dd65
--- /dev/null
+++ b/Flow/handlebars/flow_block_topic_edit_title.handlebars
@@ -0,0 +1,9 @@
+<div class="flow-board">
+ {{!-- There is only one post, but the output format matches multi-post output --}}
+
+ {{#each roots}}
+ {{#eachPost @root this}}
+ {{> flow_edit_topic_title}}
+ {{/eachPost}}
+ {{/each}}
+</div>
diff --git a/Flow/handlebars/flow_block_topic_history.handlebars b/Flow/handlebars/flow_block_topic_history.handlebars
new file mode 100644
index 00000000..34fa631d
--- /dev/null
+++ b/Flow/handlebars/flow_block_topic_history.handlebars
@@ -0,0 +1,13 @@
+<div class="flow-board">
+ <div class="flow-topic-histories">
+ {{html navbar}}
+
+ <ul>
+ {{#each revisions}}
+ <li>{{> flow_history_line}}</li>
+ {{/each}}
+ </ul>
+
+ {{html navbar}}
+ </div>
+</div>
diff --git a/Flow/handlebars/flow_block_topic_lock.handlebars b/Flow/handlebars/flow_block_topic_lock.handlebars
new file mode 100644
index 00000000..7774b0f2
--- /dev/null
+++ b/Flow/handlebars/flow_block_topic_lock.handlebars
@@ -0,0 +1,2 @@
+{{>flow_topic_titlebar_lock}}
+
diff --git a/Flow/handlebars/flow_block_topic_moderate_post.handlebars b/Flow/handlebars/flow_block_topic_moderate_post.handlebars
new file mode 100644
index 00000000..0d63436b
--- /dev/null
+++ b/Flow/handlebars/flow_block_topic_moderate_post.handlebars
@@ -0,0 +1,9 @@
+<div class="flow-board">
+ {{!-- There is only one post, but the output format matches multi-post output --}}
+ {{#each roots}}
+ {{#eachPost @root this}}
+ {{> flow_moderate_post}}
+ {{> flow_post}}
+ {{/eachPost}}
+ {{/each}}
+</div>
diff --git a/Flow/handlebars/flow_block_topic_moderate_topic.handlebars b/Flow/handlebars/flow_block_topic_moderate_topic.handlebars
new file mode 100644
index 00000000..687e3d52
--- /dev/null
+++ b/Flow/handlebars/flow_block_topic_moderate_topic.handlebars
@@ -0,0 +1,9 @@
+<div class="flow-board">
+ {{!-- There is only one post, but the output format matches multi-post output --}}
+ {{#each roots}}
+ {{#eachPost @root this}}
+ {{> flow_moderate_topic}}
+ {{> flow_post}}
+ {{/eachPost}}
+ {{/each}}
+</div>
diff --git a/Flow/handlebars/flow_block_topic_single_view.handlebars b/Flow/handlebars/flow_block_topic_single_view.handlebars
new file mode 100644
index 00000000..dca9b8e9
--- /dev/null
+++ b/Flow/handlebars/flow_block_topic_single_view.handlebars
@@ -0,0 +1,24 @@
+<div class="flow-board">
+ <div class="flow-revision-permalink-warning plainlinks">
+ {{#if revision.previousRevisionId}}
+ {{l10nParse "flow-revision-permalink-warning-post"
+ revision.human_timestamp
+ revision.rev_view_links.board.title
+ revision.root.content revision.rev_view_links.hist.url
+ revision.rev_view_links.diff.url}}
+ {{else}}
+ {{l10nParse
+ "flow-revision-permalink-warning-post-first"
+ revision.human_timestamp
+ revision.rev_view_links.board.title
+ revision.root.content
+ revision.rev_view_links.hist.url
+ revision.rev_view_links.diff.url}}
+ {{/if}}
+ </div>
+ <div class="flow-revision-content">
+ {{escapeContent revision.content.format revision.content.content}}
+ </div>
+</div>
+
+
diff --git a/Flow/handlebars/flow_block_topic_undo_edit.handlebars b/Flow/handlebars/flow_block_topic_undo_edit.handlebars
new file mode 100644
index 00000000..4eb91f98
--- /dev/null
+++ b/Flow/handlebars/flow_block_topic_undo_edit.handlebars
@@ -0,0 +1,50 @@
+<div class="flow-board">
+ {{#if undo.possible}}
+ <p>{{l10n "flow-undo-edit-content"}}</p>
+ {{else}}
+ <p class="error">{{l10n "flow-undo-edit-failure"}}</p>
+ {{/if}}
+
+ {{> flow_errors}}
+
+ {{#if undo.possible}}
+ {{diffUndo undo.diff_content}}
+ {{/if}}
+
+ <form method="POST" action="{{links.undo-edit-post.url}}" class="flow-post">
+ <input type="hidden" name="wpEditToken" value="{{@root.rootBlock.editToken}}" />
+ <input type="hidden" name="topic_prev_revision" value="{{current.revisionId}}" />
+ <input type="hidden" name="topic_postId" value="{{current.postId}}" />
+
+ <div class="flow-editor">
+ <textarea name="topic_content"
+ class="mw-ui-input"
+ data-role="content"
+ data-flow-preview-template="flow_post"
+ data-flow-preview-title="{{articleTitle}}"
+ data-flow-username="{{current.creator.name}}"
+ >
+ {{~#if submitted.content~}}
+ {{~submitted.content~}}
+ {{~else~}}
+ {{~#if undo.possible~}}
+ {{~undo.content~}}
+ {{~else~}}
+ {{~current.content.content~}}
+ {{~/if~}}
+ {{~/if~}}
+ </textarea>
+ </div>
+
+ <div class="flow-form-actions flow-form-collapsible">
+ <button class="mw-ui-button mw-ui-constructive">
+ {{~l10n "flow-edit-post-submit"~}}
+ </button>
+ {{> flow_form_buttons}}
+ <small class="flow-terms-of-use plainlinks">
+ {{~l10nParse "flow-terms-of-use-edit"}}
+ </small>
+ </div>
+ </form>
+</div>
+
diff --git a/Flow/handlebars/flow_block_topiclist.handlebars b/Flow/handlebars/flow_block_topiclist.handlebars
new file mode 100644
index 00000000..fddf4715
--- /dev/null
+++ b/Flow/handlebars/flow_block_topiclist.handlebars
@@ -0,0 +1,21 @@
+{{> flow_board_navigation}}
+
+<div class="flow-board" data-flow-sortby="{{sortby}}">
+ <div class="flow-newtopic-container">
+ {{! No-JS gets a link to separate page with newtopic form }}
+ <div class="flow-nojs">
+ <a class="mw-ui-input mw-ui-input-large flow-ui-input-replacement-anchor"
+ href="{{links.newtopic}}">{{l10n "flow-newtopic-start-placeholder"}}</a>
+ </div>
+
+ <div class="flow-js">
+ {{> flow_newtopic_form isOnFlowBoard=true }}
+ </div>
+ </div>
+
+ <div class="flow-topics">
+ {{> flow_topiclist_loop}}
+
+ {{> flow_load_more this loadMoreApiHandler="loadMoreTopics" loadMoreTarget="window" loadMoreContainer="< .flow-topics" loadMoreTemplate="flow_topiclist_loop.partial" loadMoreObject=links.pagination.fwd}}
+ </div>
+</div>
diff --git a/Flow/handlebars/flow_block_topiclist_newtopic.handlebars b/Flow/handlebars/flow_block_topiclist_newtopic.handlebars
new file mode 100644
index 00000000..295e40af
--- /dev/null
+++ b/Flow/handlebars/flow_block_topiclist_newtopic.handlebars
@@ -0,0 +1,3 @@
+<div class="flow-board">
+ {{> flow_newtopic_form}}
+</div>
diff --git a/Flow/handlebars/flow_block_topicsummary_diff_view.handlebars b/Flow/handlebars/flow_block_topicsummary_diff_view.handlebars
new file mode 100644
index 00000000..396d21e0
--- /dev/null
+++ b/Flow/handlebars/flow_block_topicsummary_diff_view.handlebars
@@ -0,0 +1,22 @@
+<div class="flow-board">
+ <div class="flow-compare-revisions-header plainlinks">
+ {{l10nParse "flow-compare-revisions-header-postsummary"
+ revision.new.rev_view_links.board.title
+ revision.new.properties.post-of-summary
+ revision.new.rev_view_links.board.url
+ revision.new.rev_view_links.root.url
+ revision.new.rev_view_links.hist.url }}
+ </div>
+ <div class="flow-compare-revisions">
+ {{diffRevision revision.diff_content
+ revision.old.human_timestamp
+ revision.new.human_timestamp
+ revision.old.author.name
+ revision.new.author.name
+ revision.old.rev_view_links.single-view.url
+ revision.new.rev_view_links.single-view.url
+ revision.links.previous
+ revision.links.next
+ }}
+ </div>
+</div>
diff --git a/Flow/handlebars/flow_block_topicsummary_edit.handlebars b/Flow/handlebars/flow_block_topicsummary_edit.handlebars
new file mode 100644
index 00000000..13a813f1
--- /dev/null
+++ b/Flow/handlebars/flow_block_topicsummary_edit.handlebars
@@ -0,0 +1,45 @@
+<div class="flow-topic-summary-container">
+ <div class="flow-topic-summary">
+ <form class="flow-edit-form" data-flow-initial-state="collapsed" method="POST" action="{{revision.actions.summarize.url}}">
+ {{> flow_errors }}
+ <input type="hidden" name="wpEditToken" value="{{editToken}}" />
+
+ {{#if revision.revisionId}}
+ <input type="hidden" name="{{type}}_prev_revision" value="{{revision.revisionId}}" />
+ {{/if}}
+
+ <div class="flow-editor">
+ <textarea class="mw-ui-input"
+ required
+ name="{{type}}_summary"
+ data-flow-preview-node="summary"
+ data-flow-preview-template="flow_topic_titlebar_summary.partial"
+ data-flow-preview-title="{{revision.articleTitle}}"
+ type="text"
+ data-role="content"
+ >
+ {{~#if submitted.summary~}}
+ {{~submitted.summary~}}
+ {{~else~}}
+ {{~#if revision.revisionId~}}
+ {{~revision.content.content~}}
+ {{~/if~}}
+ {{~/if~}}
+ </textarea>
+ </div>
+
+ <div class="flow-form-actions flow-form-collapsible">
+ <button
+ data-role="submit"
+ class="mw-ui-button mw-ui-constructive"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-handler="summarizeTopic"
+ data-flow-api-target="< .flow-topic-summary-container">
+ {{l10n "flow-topic-action-summarize-topic"}}
+ </button>
+ {{> flow_form_buttons }}
+ <small class="flow-terms-of-use plainlinks">{{l10nParse "flow-terms-of-use-summarize"}}</small>
+ </div>
+ </form>
+ </div>
+</div>
diff --git a/Flow/handlebars/flow_block_topicsummary_single_view.handlebars b/Flow/handlebars/flow_block_topicsummary_single_view.handlebars
new file mode 100644
index 00000000..30643f9c
--- /dev/null
+++ b/Flow/handlebars/flow_block_topicsummary_single_view.handlebars
@@ -0,0 +1,22 @@
+<div class="flow-board">
+ <div class="flow-revision-permalink-warning plainlinks">
+ {{#if revision.previousRevisionId}}
+ {{l10nParse "flow-revision-permalink-warning-postsummary"
+ revision.human_timestamp
+ revision.rev_view_links.board.title
+ revision.root.content
+ revision.rev_view_links.hist.url
+ revision.rev_view_links.diff.url}}
+ {{else}}
+ {{l10nParse "flow-revision-permalink-warning-postsummary-first"
+ revision.human_timestamp
+ revision.rev_view_links.board.title
+ revision.root.content
+ revision.rev_view_links.hist.url
+ revision.rev_view_links.diff.url}}
+ {{/if}}
+ </div>
+ <div class="flow-revision-content">
+ {{escapeContent revision.content.format revision.content.content}}
+ </div>
+</div>
diff --git a/Flow/handlebars/flow_block_topicsummary_undo_edit.handlebars b/Flow/handlebars/flow_block_topicsummary_undo_edit.handlebars
new file mode 100644
index 00000000..ecaf4b29
--- /dev/null
+++ b/Flow/handlebars/flow_block_topicsummary_undo_edit.handlebars
@@ -0,0 +1,49 @@
+<div class="flow-board">
+ {{#if undo.possible}}
+ <p>{{l10n "flow-undo-edit-content"}}</p>
+ {{else}}
+ <p class="error">{{l10n "flow-undo-edit-failure"}}</p>
+ {{/if}}
+
+ {{> flow_errors}}
+
+ {{#if undo.possible}}
+ {{diffUndo undo.diff_content}}
+ {{/if}}
+
+ <form method="POST" action="{{links.undo-edit-header.url}}" class="flow-post">
+ <input type="hidden" name="wpEditToken" value="{{@root.rootBlock.editToken}}" />
+ <input type="hidden" name="topicsummary_prev_revision" value="{{current.revisionId}}" />
+
+ <div class="flow-editor">
+ <textarea name="topicsummary_summary"
+ class="mw-ui-input"
+ data-role="content"
+ data-flow-preview-node="summary"
+ data-flow-preview-template="flow_topic_titlebar_summary.partial"
+ data-flow-preview-title="{{articleTitle}}"
+ >
+ {{~#if submitted.content~}}
+ {{~submitted.content~}}
+ {{~else~}}
+ {{~#if undo.possible~}}
+ {{~undo.content~}}
+ {{~else~}}
+ {{~current.content.content~}}
+ {{~/if~}}
+ {{~/if~}}
+ </textarea>
+ </div>
+
+ <div class="flow-form-actions flow-form-collapsible">
+ <button class="mw-ui-button mw-ui-constructive">
+ {{~l10n "flow-topic-action-summarize-topic"~}}
+ </button>
+ {{> flow_form_buttons}}
+ <small class="flow-terms-of-use plainlinks">
+ {{~l10nParse "flow-terms-of-use-summarize"}}
+ </small>
+ </div>
+ </form>
+</div>
+
diff --git a/Flow/handlebars/flow_board_navigation.partial.handlebars b/Flow/handlebars/flow_board_navigation.partial.handlebars
new file mode 100644
index 00000000..630f7af9
--- /dev/null
+++ b/Flow/handlebars/flow_board_navigation.partial.handlebars
@@ -0,0 +1,75 @@
+
+<div class="flow-board-navigation flow-load-interactive" data-flow-load-handler="boardNavigation">
+ <div class="flow-error-container">
+ {{!-- placeholder for javascript injected errors --}}
+ </div>
+ <div class="flow-board-navigation-inner">
+ {{!-- Click for sorting options, not sure what this url should be --}}
+ <a href="javascript:void(0);"
+ class="flow-board-navigator-last flow-ui-tooltip-target"
+ data-tooltip-pointing="down"
+ title="
+ {{~#ifCond sortby "===" "updated"~}}
+ {{~l10n "flow-sorting-tooltip-recent"~}}
+ {{~else~}}
+ {{~l10n "flow-sorting-tooltip-newest"~}}
+ {{~/ifCond~}}
+ "
+ data-flow-interactive-handler="menuToggle"
+ data-flow-menu-target="< .flow-board-navigation .flow-board-sort-menu">
+ {{~#ifCond sortby "===" "updated"}}
+ {{l10n "flow-recent-topics"}}
+ {{else}}
+ {{l10n "flow-newest-topics"}}
+ {{/ifCond}}
+ <span class="wikiglyph wikiglyph-caret-down"></span>
+ </a>
+
+ <a href=""
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-target="< .flow-board-navigation .flow-board-toc-menu .flow-list"
+ data-flow-api-handler="topicList" {{!-- also triggers menuToggle --}}
+ data-flow-menu-target="< .flow-board-navigation .flow-board-toc-menu"
+ class="flow-board-navigator-active flow-board-navigator-first">
+ <span class="wikiglyph wikiglyph-stripe-toc"></span>
+ <span class="flow-load-interactive" data-flow-load-handler="boardNavigationTitle">{{l10n "flow-board-header-browse-topics-link"}}</span>
+ </a>
+ </div>
+
+ <div class="flow-board-header-menu">
+ {{!-- Table of contents --}}
+ <div class="flow-menu flow-menu-inverted flow-menu-scrollable flow-board-toc-menu flow-load-interactive"
+ data-flow-load-handler="menu"
+ data-flow-toc-target=".flow-list">
+ <div class="flow-menu-js-drop flow-menu-js-drop-hidden"><a href="javascript:void(0);" class="flow-board-header-menu-activator"></a></div>
+ <ul class="mw-ui-button-container flow-board-toc-list flow-list flow-load-interactive"
+ data-flow-load-handler="tocMenu"
+ data-flow-toc-target="li:not(.flow-load-more):last"
+ data-flow-template="flow_board_toc_loop.partial">
+ </ul>
+ </div>
+
+ {{!-- Topics sort menu --}}
+ <div class="flow-menu flow-board-sort-menu flow-load-interactive"
+ data-flow-load-handler="menu">
+ <div class="flow-menu-js-drop flow-menu-js-drop-hidden"><a href="javascript:void(0);" class="flow-board-header-menu-activator"></a></div>
+ {{#if links.board-sort}}
+ <ul class="mw-ui-button-container flow-list">
+ {{~#ifCond sortby "===" "updated"}}
+ <li><a class="mw-ui-button mw-ui-quiet"
+ href="{{links.board-sort.newest}}"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-target="< .flow-component"
+ data-flow-api-handler="board"><span class="wikiglyph wikiglyph-star-circle"></span> {{l10n "flow-newest-topics"}}</a></li>
+ {{else}}
+ <li><a class="mw-ui-button mw-ui-quiet"
+ href="{{links.board-sort.updated}}"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-target="< .flow-component"
+ data-flow-api-handler="board"><span class="wikiglyph wikiglyph-clock"></span> {{l10n "flow-recent-topics"}}</a></li>
+ {{/ifCond}}
+ </ul>
+ {{/if}}
+ </div>
+ </div>
+</div>
diff --git a/Flow/handlebars/flow_board_toc_loop.partial.handlebars b/Flow/handlebars/flow_board_toc_loop.partial.handlebars
new file mode 100644
index 00000000..9abb4ffc
--- /dev/null
+++ b/Flow/handlebars/flow_board_toc_loop.partial.handlebars
@@ -0,0 +1,23 @@
+{{#each roots}}
+{{!-- eachPost topiclist --}}
+ {{#eachPost @root this}}
+ <li class="flow-menu-section"><a class="mw-ui-button mw-ui-quiet mw-ui-progressive"
+ href="javascript:void(0);"
+ data-flow-interactive-handler="jumpToTopic"
+ data-flow-id="{{../this}}">
+ <span class="wikiglyph wikiglyph-stripe-expanded"></span>
+ {{escapeContent content.format content.content~}}
+ </a></li>
+ {{/eachPost}}
+{{/each}}
+
+{{#if links.pagination.fwd}}
+ {{#unless noLoadMore}}
+ {{> flow_load_more this
+ loadMoreApiHandler="topicList"
+ loadMoreTarget="< .flow-list"
+ loadMoreContainer="< .flow-list"
+ loadMoreTemplate="flow_board_toc_loop.partial"
+ loadMoreObject=links.pagination.fwd}}
+ {{/unless}}
+{{/if}}
diff --git a/Flow/handlebars/flow_edit_post.partial.handlebars b/Flow/handlebars/flow_edit_post.partial.handlebars
new file mode 100644
index 00000000..7b6b8827
--- /dev/null
+++ b/Flow/handlebars/flow_edit_post.partial.handlebars
@@ -0,0 +1,37 @@
+<form class="flow-edit-post-form"
+ method="POST"
+ action="{{actions.edit.url}}"
+>
+ {{> flow_errors}}
+ <input type="hidden" name="wpEditToken" value="{{@root.rootBlock.editToken}}" />
+ <input type="hidden" name="topic_prev_revision" value="{{revisionId}}" />
+ {{#ifAnonymous}}
+ {{> flow_anon_warning }}
+ {{/ifAnonymous}}
+
+ <div class="flow-editor">
+ <textarea name="topic_content" class="mw-ui-input flow-form-collapsible"
+ data-flow-preview-template="flow_post"
+ data-flow-preview-title="{{articleTitle}}"
+ data-flow-creator="{{creator.name}}"
+ data-role="content"
+ >
+ {{~#if @root.rootBlock.submitted.content~}}
+ {{~@root.rootBlock.submitted.content~}}
+ {{~else~}}
+ {{~content.content~}}
+ {{~/if~}}
+ </textarea>
+ </div>
+
+ <div class="flow-form-actions flow-form-collapsible">
+ <button class="mw-ui-button mw-ui-constructive"
+ data-flow-api-handler="submitEditPost">
+ {{~l10n "flow-post-action-edit-post-submit"~}}
+ </button>
+ {{> flow_form_buttons }}
+ <small class="flow-terms-of-use plainlinks">
+ {{~l10nParse "flow-terms-of-use-edit"~}}
+ </small>
+ </div>
+</form>
diff --git a/Flow/handlebars/flow_edit_post_ajax.partial.handlebars b/Flow/handlebars/flow_edit_post_ajax.partial.handlebars
new file mode 100644
index 00000000..c18790b5
--- /dev/null
+++ b/Flow/handlebars/flow_edit_post_ajax.partial.handlebars
@@ -0,0 +1,3 @@
+{{#with revision}}
+ {{> flow_edit_post}}
+{{/with}}
diff --git a/Flow/handlebars/flow_edit_topic_title.partial.handlebars b/Flow/handlebars/flow_edit_topic_title.partial.handlebars
new file mode 100644
index 00000000..163b32ca
--- /dev/null
+++ b/Flow/handlebars/flow_edit_topic_title.partial.handlebars
@@ -0,0 +1,27 @@
+<form method="POST" action="{{actions.edit.url}}">
+ {{> flow_errors }}
+ <input type="hidden" name="wpEditToken" value="{{@root.editToken}}" />
+ {{!-- @todo should this be a part of the url? --}}
+ <input type="hidden" name="topic_prev_revision" value="{{revisionId}}" />
+ <input name="topic_content" class="mw-ui-input" value="
+ {{~#if @root.submitted.content~}}
+ {{~@root.submitted.content~}}
+ {{~else~}}
+ {{~content.content~}}
+ {{~/if~}}
+ " />
+ <div class="flow-form-actions flow-form-collapsible">
+ <button data-role="submit"
+ data-flow-api-handler="submitTopicTitle"
+ data-flow-api-target="< .flow-topic"
+ class="mw-ui-button mw-ui-constructive">{{l10n "flow-edit-title-submit"}}</button>
+
+ {{#progressiveEnhancement}}
+ <button data-role="cancel"
+ type="reset"
+ data-flow-interactive-handler="cancelForm"
+ class="mw-ui-button mw-ui-destructive mw-ui-quiet">{{l10n "flow-cancel"}}</button>
+ <small class="flow-terms-of-use plainlinks">{{l10nParse "flow-terms-of-use-edit"}}</small>
+ {{/progressiveEnhancement}}
+ </div>
+</form>
diff --git a/Flow/handlebars/flow_editor_switcher.partial.handlebars b/Flow/handlebars/flow_editor_switcher.partial.handlebars
new file mode 100644
index 00000000..812b0933
--- /dev/null
+++ b/Flow/handlebars/flow_editor_switcher.partial.handlebars
@@ -0,0 +1,18 @@
+<div class="flow-switcher-controls">
+ <div>
+ {{! this message is manually constructed in ext.flow.editors.none.js !}}
+ <p class="flow-wikitext-editor-help">{{html help_text}}</p>
+
+ {{#if enable_switcher}}
+ <a href="#"
+ title="{{l10n "flow-wikitext-switch-editor-tooltip"}}"
+ class="mw-ui-button mw-ui-constructive flow-js flow-editor-color"
+ data-flow-interactive-handler="switchEditor"
+ data-flow-target="< form textarea"
+ >
+ &lt;/&gt;
+ </a>
+ {{/if}}
+ </div>
+ <div class="flow-ui-clear"></div>
+</div>
diff --git a/Flow/handlebars/flow_errors.partial.handlebars b/Flow/handlebars/flow_errors.partial.handlebars
new file mode 100644
index 00000000..17ebc0fa
--- /dev/null
+++ b/Flow/handlebars/flow_errors.partial.handlebars
@@ -0,0 +1,11 @@
+<div class="flow-error-container">
+{{#if @root.errors}}
+ <div class="flow-errors errorbox">
+ <ul>
+ {{#each @root.errors}}
+ <li>{{~html message~}}</li>
+ {{/each}}
+ </ul>
+ </div>
+{{/if}}
+</div>
diff --git a/Flow/handlebars/flow_form_buttons.partial.handlebars b/Flow/handlebars/flow_form_buttons.partial.handlebars
new file mode 100644
index 00000000..540816f8
--- /dev/null
+++ b/Flow/handlebars/flow_form_buttons.partial.handlebars
@@ -0,0 +1,10 @@
+<button data-flow-interactive-handler="cancelForm"
+ data-role="cancel"
+ type="reset"
+ class="mw-ui-button mw-ui-destructive mw-ui-quiet mw-ui-flush-right flow-js"
+
+ {{!-- No data-flow-eventlog-action here; we'll do that in code to make sure it's run before cancel-success & cancel-abort --}}
+ {{!-- funnel id will have been forwarded to this button though, so we can access that from the code --}}
+>
+ {{~l10n "flow-cancel"~}}
+</button>
diff --git a/Flow/handlebars/flow_header_detail.partial.handlebars b/Flow/handlebars/flow_header_detail.partial.handlebars
new file mode 100644
index 00000000..e898438f
--- /dev/null
+++ b/Flow/handlebars/flow_header_detail.partial.handlebars
@@ -0,0 +1,21 @@
+<div class="flow-board-header-detail-view">
+ {{#if revision.content}}
+ {{escapeContent revision.content.format revision.content.content}}
+ {{/if}}
+ &nbsp;
+
+ {{#unless isPreview}}
+ <div class="flow-board-header-nav">
+ {{#if revision.actions.edit}}
+ <a href="{{revision.actions.edit.url}}"
+ data-flow-api-handler="activateEditHeader"
+ data-flow-api-target="< .flow-board-header"
+ data-flow-interactive-handler="apiRequest"
+ class="mw-ui-button mw-ui-progressive mw-ui-quiet flow-board-header-icon flow-ui-tooltip-target"
+ title="{{revision.actions.edit.title}}">
+ <span class="wikiglyph wikiglyph-pencil"></span>
+ </a>
+ {{/if}}
+ </div>
+ {{/unless}}
+</div>
diff --git a/Flow/handlebars/flow_history_line.partial.handlebars b/Flow/handlebars/flow_history_line.partial.handlebars
new file mode 100644
index 00000000..9e851326
--- /dev/null
+++ b/Flow/handlebars/flow_history_line.partial.handlebars
@@ -0,0 +1,44 @@
+{{! partial~}}
+<span class="flow-pipelist">
+ (
+ {{~noop~}}
+ <span>
+ {{~#if links.diff-cur~}}
+ <a href="{{links.diff-cur.url}}" title="{{links.diff-cur.title}}">
+ {{~links.diff-cur.text~}}
+ </a>
+ {{~else~}}
+ {{~l10n "cur"~}}
+ {{~/if~}}
+ </span>
+ <span>
+ {{#if links.diff-prev}}
+ <a href="{{links.diff-prev.url}}" title="{{links.diff-prev.title}}">
+ {{~links.diff-prev.text~}}
+ </a>
+ {{~else~}}
+ {{~l10n "last"~}}
+ {{~/if~}}
+ </span>
+ {{~#if links.topic}}
+ <span><a href="{{links.topic.url}}" title="{{links.topic.title}}">
+ {{~links.topic.text~}}
+ </a></span>
+ {{~/if~}}
+ )
+</span>
+
+{{historyTimestamp this}}
+
+<span class="mw-changeslist-separator">. .</span>
+{{historyDescription this}}
+
+{{#if size}}
+ <span class="mw-changeslist-separator">. .</span>
+ {{showCharacterDifference size.old size.new}}
+{{/if}}
+
+<ul class="flow-history-moderation-menu">
+ {{!-- Inserts each common flow-history-moderation-action --}}
+ {{> flow_moderation_actions_list this moderationType="history" moderationTarget="post" moderationTemplate="post" moderationMwUiClass="mw-ui-anchor" moderationIcons=false}}
+</ul>
diff --git a/Flow/handlebars/flow_load_more.partial.handlebars b/Flow/handlebars/flow_load_more.partial.handlebars
new file mode 100644
index 00000000..d013205a
--- /dev/null
+++ b/Flow/handlebars/flow_load_more.partial.handlebars
@@ -0,0 +1,23 @@
+{{#if loadMoreObject}}
+ <div class="flow-load-more">
+ <div class="flow-error-container">
+ {{!-- placeholder for javascript injected errors --}}
+ </div>
+
+ <a data-flow-interactive-handler="apiRequest"
+ data-flow-api-handler="{{loadMoreApiHandler}}"
+ data-flow-api-target="< .flow-load-more"
+ data-flow-load-handler="loadMore"
+ data-flow-scroll-target="{{loadMoreTarget}}"
+ data-flow-scroll-container="{{loadMoreContainer}}"
+ data-flow-template="{{loadMoreTemplate}}"
+ href="{{loadMoreObject.url}}"
+ title="{{loadMoreObject.title}}"
+ class="mw-ui-button mw-ui-progressive flow-load-interactive flow-ui-fallback-element"><span class="wikiglyph wikiglyph-article"></span> {{l10n "flow-load-more"}}</a>
+ </div>
+{{else}}
+ <div class="flow-no-more">
+ {{!-- TODO: Does this i18n message need to be generalized? --}}
+ {{l10n "flow-no-more-fwd"}}
+ </div>
+{{/if}}
diff --git a/Flow/handlebars/flow_moderate_post.partial.handlebars b/Flow/handlebars/flow_moderate_post.partial.handlebars
new file mode 100644
index 00000000..f6f06c30
--- /dev/null
+++ b/Flow/handlebars/flow_moderate_post.partial.handlebars
@@ -0,0 +1,32 @@
+<form method="POST" action="{{moderationAction actions @root.submitted.moderationState}}">
+ {{> flow_errors}}
+ <input type="hidden" name="wpEditToken" value="{{@root.editToken}}" />
+ <div class="flow-editor">
+ <textarea name="topic_reason"
+ required
+ data-flow-expandable="true"
+ class="mw-ui-input"
+ data-role="content"
+ placeholder="{{l10n (concat "flow-moderation-placeholder-" @root.submitted.moderationState "-post")}}"
+ autofocus
+ >
+ {{~#if @root.submitted.reason~}}
+ {{~@root.submitted.reason~}}
+ {{~/if~}}
+ </textarea>
+ </div>
+ <div class="flow-form-actions flow-form-collapsible">
+ <button data-flow-interactive-handler="apiRequest"
+ data-flow-api-handler="moderatePost"
+ class="mw-ui-button mw-ui-constructive"
+ data-role="submit">
+ {{~l10n (concat "flow-moderation-confirm-" @root.submitted.moderationState "-post")~}}
+ </button>
+ <a data-flow-interactive-handler="cancelForm"
+ class="mw-ui-button mw-ui-destructive mw-ui-quiet"
+ href="{{links.topic.url}}"
+ title="{{l10n "flow-cancel"}}">
+ {{~l10n "flow-cancel"~}}
+ </a>
+ </div>
+</form>
diff --git a/Flow/handlebars/flow_moderate_post_confirmation.partial.handlebars b/Flow/handlebars/flow_moderate_post_confirmation.partial.handlebars
new file mode 100644
index 00000000..48a0f779
--- /dev/null
+++ b/Flow/handlebars/flow_moderate_post_confirmation.partial.handlebars
@@ -0,0 +1,42 @@
+<div class="flow-post-main">
+ {{> flow_errors}}
+
+ <span class="flow-moderated-post-content">
+ {{> flow_post_moderation_state}}
+ </span>
+ <span class="flow-undo">
+ {{#if actions.unhide}}
+ <form action="{{actions.unhide.url}}" method="POST">
+ <input type="hidden"
+ name="topic_reason"
+ value="{{l10n "flow-post-undo-hide"}}">
+ <input type="button"
+ class="mw-ui-button mw-ui-quiet"
+ value="{{l10n 'flow-post-action-undo-moderation'}}"
+ data-flow-api-handler="moderatePost">
+ </form>
+ {{/if}}
+ {{#if actions.undelete}}
+ <form action="{{actions.undelete.url}}" method="POST">
+ <input type="hidden"
+ name="topic_reason"
+ value="{{l10n 'flow-post-undo-delete'}}">
+ <input type="button"
+ class="mw-ui-button mw-ui-quiet"
+ value="{{l10n 'flow-post-action-undo-moderation'}}"
+ data-flow-api-handler="moderatePost">
+ </form>
+ {{/if}}
+ {{#if actions.unsuppress}}
+ <form action="{{actions.unsuppress.url}}" method="POST">
+ <input type="hidden"
+ name="topic_reason"
+ value="{{l10n 'flow-post-undo-suppress'}}">
+ <input type="button"
+ class="mw-ui-button mw-ui-quiet"
+ value="{{l10n 'flow-post-action-undo-moderation'}}"
+ data-flow-api-handler="moderatePost">
+ </form>
+ {{/if}}
+ </span>
+</div>
diff --git a/Flow/handlebars/flow_moderate_topic.partial.handlebars b/Flow/handlebars/flow_moderate_topic.partial.handlebars
new file mode 100644
index 00000000..6e04eb1c
--- /dev/null
+++ b/Flow/handlebars/flow_moderate_topic.partial.handlebars
@@ -0,0 +1,32 @@
+<form method="POST" action="{{moderationAction actions @root.submitted.moderationState}}">
+ {{> flow_errors}}
+ <input type="hidden" name="wpEditToken" value="{{@root.editToken}}" />
+ <div class="flow-editor">
+ <textarea name="topic_reason"
+ required
+ data-flow-expandable="true"
+ class="mw-ui-input"
+ data-role="content"
+ placeholder="{{l10n (concat "flow-moderation-placeholder-" @root.submitted.moderationState "-topic")}}"
+ autofocus
+ >
+ {{~#if @root.submitted.reason~}}
+ {{~@root.submitted.reason~}}
+ {{~/if~}}
+ </textarea>
+ </div>
+ <div class="flow-form-actions flow-form-collapsible">
+ <button class="mw-ui-button mw-ui-constructive"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-handler="moderateTopic"
+ data-role="submit">
+ {{~l10n (concat "flow-moderation-confirm-" @root.submitted.moderationState "-topic")~}}
+ </button>
+ <a class="mw-ui-button mw-ui-quiet mw-ui-destructive"
+ href="{{links.topic.url}}"
+ title="{{l10n "flow-cancel"}}"
+ data-flow-interactive-handler="cancelForm">
+ {{~l10n "flow-cancel"~}}
+ </a>
+ </div>
+</form>
diff --git a/Flow/handlebars/flow_moderate_topic_confirmation.partial.handlebars b/Flow/handlebars/flow_moderate_topic_confirmation.partial.handlebars
new file mode 100644
index 00000000..d8a7d642
--- /dev/null
+++ b/Flow/handlebars/flow_moderate_topic_confirmation.partial.handlebars
@@ -0,0 +1,45 @@
+<div class="flow-topic flow-topic-moderated">
+ {{> flow_errors}}
+
+ <div class="flow-topic-titlebar">
+ <div class="flow-moderated-topic-title">
+ {{~noop~}}{{> flow_topic_moderation_flag}}
+ <span>{{~l10n (concat 'flow-moderation-confirmation-' moderateState '-topic')~}}</span>
+ <div class="flow-undo">
+ {{#if actions.unhide}}
+ <form action="{{actions.unhide.url}}" method="POST">
+ <input type="hidden"
+ name="topic_reason"
+ value="{{l10n "flow-topic-undo-hide"}}">
+ <input type="button"
+ class="mw-ui-button mw-ui-quiet"
+ value="{{l10n 'flow-post-action-undo-moderation'}}"
+ data-flow-api-handler="moderateTopic">
+ </form>
+ {{/if}}
+ {{#if actions.undelete}}
+ <form action="{{actions.undelete.url}}" method="POST">
+ <input type="hidden"
+ name="topic_reason"
+ value="{{l10n "flow-topic-undo-delete"}}">
+ <input type="button"
+ class="mw-ui-button mw-ui-quiet"
+ value="{{l10n 'flow-post-action-undo-moderation'}}"
+ data-flow-api-handler="moderateTopic">
+ </form>
+ {{/if}}
+ {{#if actions.unsuppress}}
+ <form action="{{actions.unsuppress.url}}" method="POST">
+ <input type="hidden"
+ name="topic_reason"
+ value="{{l10n "flow-topic-undo-suppress"}}">
+ <input type="button"
+ class="mw-ui-button mw-ui-quiet"
+ value="{{l10n 'flow-post-action-undo-moderation'}}"
+ data-flow-api-handler="moderateTopic">
+ </form>
+ {{/if}}
+ </div>
+ </div>
+ </div>
+</div>
diff --git a/Flow/handlebars/flow_moderation_actions_list.partial.handlebars b/Flow/handlebars/flow_moderation_actions_list.partial.handlebars
new file mode 100644
index 00000000..a9b82aaf
--- /dev/null
+++ b/Flow/handlebars/flow_moderation_actions_list.partial.handlebars
@@ -0,0 +1,272 @@
+<section>
+ {{~#ifCond moderationType "===" "topic"~}}
+ {{!-- Topic only --}}
+ {{~#if actions.edit~}}
+ <li class="flow-js">
+ {{~noop~}}
+ <a class="{{moderationMwUiClass}} mw-ui-quiet"
+ href="{{actions.edit.url}}"
+ title="{{actions.edit.title}}"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-handler="activateEditTitle"
+ data-flow-api-target="< .flow-topic-titlebar"
+ >
+ {{~#if moderationIcons}}<span class="wikiglyph wikiglyph-pencil"></span> {{/if~}}
+ {{~l10n (concat "flow-" moderationType "-action-edit-title")~}}
+ </a>
+ {{~noop~}}
+ </li>
+ {{~/if~}}
+ {{~#if links.topic-history~}}
+ <li>
+ {{~noop~}}
+ <a class="{{moderationMwUiClass}} mw-ui-quiet"
+ href="{{links.topic-history.url}}"
+ title="{{links.topic-history.title}}">
+ {{~#if moderationIcons}}<span class="wikiglyph wikiglyph-clock"></span> {{/if~}}
+ {{~l10n (concat "flow-" moderationType "-action-history")~}}
+ </a>
+ {{~noop~}}
+ </li>
+ {{~/if~}}
+ {{~#if links.topic~}}
+ <li>
+ {{~noop~}}
+ <a class="{{moderationMwUiClass}} mw-ui-quiet"
+ href="{{links.topic.url}}"
+ title="{{links.topic.title}}">
+ {{~#if moderationIcons}}<span class="wikiglyph wikiglyph-link"></span> {{/if~}}
+ {{~l10n (concat "flow-" moderationType "-action-view")~}}
+ </a>
+ {{~noop~}}
+ </li>
+ {{~/if~}}
+ {{~#if actions.summarize~}}
+ <li>
+ {{~noop~}}
+ <a class="{{moderationMwUiClass}} mw-ui-progressive mw-ui-quiet"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-handler="activateSummarizeTopic"
+ data-flow-api-target="< .flow-topic-titlebar .flow-topic-summary-container"
+ href="{{actions.summarize.url}}"
+ title="{{actions.summarize.title}}">
+ {{~#if moderationIcons}}<span class="wikiglyph wikiglyph-stripe-toc"></span> {{/if~}}
+ {{~#if summary~}}
+ {{~l10n (concat "flow-" moderationType "-action-resummarize-topic")~}}
+ {{else~}}
+ {{~l10n (concat "flow-" moderationType "-action-summarize-topic")~}}
+ {{~/if~}}
+ </a>
+ {{~noop~}}
+ </li>
+ {{~/if~}}
+ {{~/ifCond~}}
+
+ {{~#ifCond moderationType "===" "post"~}}
+ {{!-- Post only --}}
+ {{~#if actions.edit~}}
+ <li>
+ <a class="{{moderationMwUiClass}} mw-ui-progressive mw-ui-quiet"
+ href="{{actions.edit.url}}"
+ title="{{actions.edit.title}}"
+ data-flow-api-handler="activateEditPost"
+ data-flow-api-target="< .flow-post-main"
+ data-flow-interactive-handler="apiRequest"
+ >
+ {{~#if moderationIcons}}<span class="wikiglyph wikiglyph-pencil"></span> {{/if~}}
+ {{~l10n "flow-post-action-edit-post"~}}
+ </a>
+ </li>
+ {{~/if~}}
+ {{~#if links.post~}}
+ <li>
+ {{~noop~}}
+ <a class="{{moderationMwUiClass}} mw-ui-quiet"
+ href="{{links.post.url}}"
+ title="{{links.post.title}}">
+ {{~#if moderationIcons}}<span class="wikiglyph wikiglyph-link"></span> {{/if~}}
+ {{~l10n (concat "flow-" moderationType "-action-view")~}}
+ </a>
+ {{~noop~}}
+ </li>
+ {{~/if~}}
+ {{~/ifCond~}}
+
+</section>
+
+<section>
+ {{~#ifCond moderationType "===" "history"~}}
+ {{!-- Board history only --}}
+ {{~#if actions.undo~}}
+ <li>
+ {{~noop~}}
+ <a class="{{moderationMwUiClass}} mw-ui-quiet"
+ href="{{actions.undo.url}}"
+ >
+ {{~actions.undo.title~}}
+ </a>
+ {{~noop~}}
+ </li>
+ {{~/if~}}
+ {{~/ifCond~}}
+ {{~#if actions.hide~}}
+ <li>
+ {{~noop~}}
+ <a class="{{moderationMwUiClass}} mw-ui-quiet"
+ href="{{actions.hide.url}}"
+ title="{{actions.hide.title}}"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_{{moderationTemplate}}.partial"
+ data-role="hide">
+ {{~#if moderationIcons}}<span class="wikiglyph wikiglyph-flag"></span> {{/if~}}
+ {{~l10n (concat "flow-" moderationType "-action-hide-" moderationTemplate)~}}
+ </a>
+ {{~noop~}}
+ </li>
+ {{~/if~}}
+ {{~#if actions.unhide~}}
+ <li>
+ {{~noop~}}
+ <a class="{{moderationMwUiClass}} mw-ui-quiet"
+ href="{{actions.unhide.url}}"
+ title="{{actions.unhide.title}}"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_{{moderationTemplate}}.partial"
+ data-role="unhide">
+ {{~#if moderationIcons}}<span class="wikiglyph wikiglyph-flag"></span> {{/if~}}
+ {{~l10n (concat "flow-" moderationType "-action-unhide-" moderationTemplate)~}}
+ </a>
+ {{~noop~}}
+ </li>
+ {{~/if~}}
+ {{~#if actions.delete~}}
+ <li>
+ {{~noop~}}
+ <a class="{{moderationMwUiClass}} mw-ui-destructive mw-ui-quiet"
+ href="{{actions.delete.url}}"
+ title="{{actions.delete.title}}"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_{{moderationTemplate}}.partial"
+ data-role="delete">
+ {{~#if moderationIcons}}<span class="wikiglyph wikiglyph-trash"></span> {{/if~}}
+ {{~l10n (concat "flow-" moderationType "-action-delete-" moderationTemplate)~}}
+ </a>
+ {{~noop~}}
+ </li>
+ {{~/if~}}
+ {{~#if actions.undelete~}}
+ <li>
+ {{~noop~}}
+ <a class="{{moderationMwUiClass}} mw-ui-destructive mw-ui-quiet"
+ href="{{actions.undelete.url}}"
+ title="{{actions.undelete.title}}"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_{{moderationTemplate}}.partial"
+ data-role="undelete">
+ {{~#if moderationIcons}}<span class="wikiglyph wikiglyph-trash"></span> {{/if~}}
+ {{~l10n (concat "flow-" moderationType "-action-undelete-" moderationTemplate)~}}
+ </a>
+ {{~noop~}}
+ </li>
+ {{~/if~}}
+ {{~#if actions.suppress~}}
+ <li>
+ {{~noop~}}
+ <a class="{{moderationMwUiClass}} mw-ui-destructive mw-ui-quiet"
+ href="{{actions.suppress.url}}"
+ title="{{actions.suppress.title}}"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_{{moderationTemplate}}.partial"
+ data-role="suppress">
+ {{~#if moderationIcons}}<span class="wikiglyph wikiglyph-block"></span> {{/if~}}
+ {{~l10n (concat "flow-" moderationType "-action-suppress-" moderationTemplate)~}}
+ </a>
+ {{~noop~}}
+ </li>
+ {{~/if~}}
+ {{~#if actions.unsuppress~}}
+ <li>
+ {{~noop~}}
+ <a class="{{moderationMwUiClass}} mw-ui-destructive mw-ui-quiet"
+ href="{{actions.unsuppress.url}}"
+ title="{{actions.unsuppress.title}}"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_{{moderationTemplate}}.partial"
+ data-role="unsuppress">
+ {{~#if moderationIcons}}<span class="wikiglyph wikiglyph-block"></span> {{/if~}}
+ {{~l10n (concat "flow-" moderationType "-action-unsuppress-" moderationTemplate)~}}
+ </a>
+ {{~noop~}}
+ </li>
+ {{~/if~}}
+
+ {{~#ifCond moderationType "===" "history"~}}
+ {{!-- The history page uses a modal, while the topic view puts this in the title bar --}}
+ {{~#if actions.lock~}}
+ <li>
+ {{~noop~}}
+ <a class="{{moderationMwUiClass}} mw-ui-destructive mw-ui-quiet"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_topic.partial"
+ data-role="lock"
+ data-flow-id="{{postId}}"
+ href="{{actions.lock.url}}"
+ title="{{actions.lock.title}}">
+ {{~#if moderationIcons}}<span class="wikiglyph wikiglyph-lock"></span> {{/if~}}
+ {{~l10n (concat "flow-" moderationType "-action-lock-topic")~}}
+ </a>
+ {{~noop~}}
+ </li>
+ {{~/if~}}
+ {{~#if actions.unlock~}}
+ <li>
+ {{~noop~}}
+ <a class="{{moderationMwUiClass}} mw-ui-destructive mw-ui-quiet"
+ data-flow-interactive-handler="moderationDialog"
+ data-flow-template="flow_moderate_topic.partial"
+ data-role="unlock"
+ data-flow-id="{{postId}}"
+ href="{{actions.unlock.url}}"
+ title="{{actions.unlock.title}}">
+ {{~#if moderationIcons}}<span class="wikiglyph wikiglyph-unlock"></span> {{/if~}}
+ {{~l10n (concat "flow-" moderationType "-action-unlock-topic")~}}
+ </a>
+ {{~noop~}}
+ </li>
+ {{~/if~}}
+ {{else}}
+ {{!-- @todo Maybe we should change the topic view so that it also uses this modal? Consistency! --}}
+ {{~#if actions.lock~}}
+ <li>
+ {{~noop~}}
+ <a class="{{moderationMwUiClass}} mw-ui-destructive mw-ui-quiet"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-handler="activateLockTopic"
+ data-flow-id="{{postId}}"
+ data-flow-api-target="< .flow-topic-titlebar .flow-topic-summary-container"
+ href="{{actions.lock.url}}"
+ title="{{actions.lock.title}}">
+ {{~#if moderationIcons}}<span class="wikiglyph wikiglyph-lock"></span> {{/if~}}
+ {{~l10n (concat "flow-" moderationType "-action-lock-topic")~}}
+ </a>
+ {{~noop~}}
+ </li>
+ {{~/if~}}
+ {{~#if actions.unlock~}}
+ <li>
+ {{~noop~}}
+ <a class="{{moderationMwUiClass}} mw-ui-destructive mw-ui-quiet"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-handler="activateLockTopic"
+ data-flow-id="{{postId}}"
+ data-flow-api-target="< .flow-topic-titlebar .flow-topic-summary-container"
+ href="{{actions.unlock.url}}"
+ title="{{actions.unlock.title}}">
+ {{~#if moderationIcons}}<span class="wikiglyph wikiglyph-unlock"></span> {{/if~}}
+ {{~l10n (concat "flow-" moderationType "-action-unlock-topic")~}}
+ </a>
+ {{~noop~}}
+ </li>
+ {{~/if~}}
+ {{~/ifCond~}}
+</section>
diff --git a/Flow/handlebars/flow_newtopic_form.partial.handlebars b/Flow/handlebars/flow_newtopic_form.partial.handlebars
new file mode 100644
index 00000000..8d50625a
--- /dev/null
+++ b/Flow/handlebars/flow_newtopic_form.partial.handlebars
@@ -0,0 +1,50 @@
+{{#if actions.newtopic}}
+ <form action="{{actions.newtopic.url}}" method="POST" class="flow-newtopic-form" data-flow-initial-state="collapsed">
+ {{> flow_errors}}
+
+ {{#ifAnonymous}}
+ {{> flow_anon_warning }}
+ {{/ifAnonymous}}
+
+ <input type="hidden" name="wpEditToken" value="{{ @root.editToken }}" />
+ <input type="hidden" name="topiclist_replyTo" value="{{ workflowId }}" />
+ <input name="topiclist_topic" class="mw-ui-input mw-ui-input-large"
+ required
+ {{#if submitted.topic}}value="{{submitted.topic}}"{{/if}}
+ type="text"
+ placeholder="{{l10n "flow-newtopic-start-placeholder"}}"
+ data-role="title"
+
+ {{!--
+ You'd expect data-flow-eventlog-* data here (this one
+ needs to be clicked to expand the form). That stuff will be
+ in JS though, since we only want it on initial focus (activating
+ the form)
+ --}}
+ data-flow-interactive-handler-focus="activateNewTopic"
+ />
+ <div class="flow-editor">
+ <textarea name="topiclist_content"
+ data-flow-preview-template="flow_topic.partial"
+ data-flow-preview-title-generator="newTopic"
+ class="mw-ui-input flow-form-collapsible mw-ui-input-large"
+ {{#if isOnFlowBoard}}style="display:none;"{{/if}}
+ placeholder="{{l10n "flow-newtopic-content-placeholder" @root.title}}"
+ data-role="content"
+ required
+ >
+ {{~#if submitted.content~}}{{~submitted.content~}}{{~/if~}}
+ </textarea>
+ </div>
+
+ <div class="flow-form-actions flow-form-collapsible"
+ {{#if isOnFlowBoard}}style="display:none;"{{/if}}>
+ <button data-role="submit" data-flow-api-handler="newTopic"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-eventlog-action="save-attempt"
+ class="mw-ui-button mw-ui-constructive mw-ui-flush-right">{{l10n "flow-newtopic-save"}}</button>
+ {{> flow_form_buttons }}
+ <small class="flow-terms-of-use plainlinks">{{l10nParse "flow-terms-of-use-new-topic"}}</small>
+ </div>
+ </form>
+{{/if}}
diff --git a/Flow/handlebars/flow_post.handlebars b/Flow/handlebars/flow_post.handlebars
new file mode 120000
index 00000000..7306d1f9
--- /dev/null
+++ b/Flow/handlebars/flow_post.handlebars
@@ -0,0 +1 @@
+flow_post.partial.handlebars \ No newline at end of file
diff --git a/Flow/handlebars/flow_post.partial.handlebars b/Flow/handlebars/flow_post.partial.handlebars
new file mode 100644
index 00000000..dc00a42d
--- /dev/null
+++ b/Flow/handlebars/flow_post.partial.handlebars
@@ -0,0 +1,33 @@
+{{#with revision}}
+ <div id="flow-post-{{postId}}"
+ class="flow-post{{#if isMaxThreadingDepth}} flow-post-max-depth{{/if}}"
+ data-flow-id="{{postId}}"
+ >
+ {{#if isModerated}}
+ {{#ifCond @root.rootBlock.submitted.showPostId "===" postId}}
+ {{> flow_post_inner}}
+ {{else}}
+ <div class="flow-post-main flow-post-moderated">
+ <span class="flow-moderated-post-content">
+ {{> flow_post_moderation_state}}
+ </span>
+ </div>
+ {{/ifCond}}
+ {{else}}
+ {{#ifCond @root.rootBlock.submitted.action "===" "edit-post"}}
+ {{#ifCond @root.rootBlock.submitted.postId "===" postId}}
+ {{> flow_edit_post}}
+ {{else}}
+ {{> flow_post_inner}}
+ {{/ifCond}}
+ {{else}}
+ {{> flow_post_inner}}
+ {{/ifCond}}
+ {{/if}}
+
+ {{!-- This stuff is also not needed in preview mode --}}
+ {{#unless isPreview}}
+ {{> flow_post_replies}}
+ {{/unless}}
+ </div>
+{{/with}}
diff --git a/Flow/handlebars/flow_post_actions.partial.handlebars b/Flow/handlebars/flow_post_actions.partial.handlebars
new file mode 100644
index 00000000..f785b1cb
--- /dev/null
+++ b/Flow/handlebars/flow_post_actions.partial.handlebars
@@ -0,0 +1,7 @@
+<div class="flow-menu flow-menu-hoverable">
+ <div class="flow-menu-js-drop"><a href="javascript:void(0);"><span class="wikiglyph wikiglyph-ellipsis"></span></a></div>
+ <ul class="mw-ui-button-container flow-list">
+ {{!-- Inserts each common flow-menu-moderation-action --}}
+ {{> flow_moderation_actions_list this moderationType="post" moderationTarget="post" moderationTemplate="post" moderationContainerClass="flow-menu" moderationMwUiClass="mw-ui-button" moderationIcons=true}}
+ </ul>
+</div>
diff --git a/Flow/handlebars/flow_post_author.partial.handlebars b/Flow/handlebars/flow_post_author.partial.handlebars
new file mode 100644
index 00000000..4521bb4c
--- /dev/null
+++ b/Flow/handlebars/flow_post_author.partial.handlebars
@@ -0,0 +1,39 @@
+<span class="flow-author">
+ {{#if links}}
+ {{#if links.userpage}}
+ <a href="{{links.userpage.url}}"
+ {{#unless name}}title="{{links.userpage.title}}"{{/unless}}
+ class="{{#unless links.userpage.exists}}new {{/unless}}mw-userlink">
+ {{/if}}
+ {{~#if name~}}
+ {{~name~}}
+ {{~else~}}
+ {{~l10n "flow-anonymous"}}
+ {{~/if~}}
+ {{~#if links.userpage~}}</a>{{~/if~}}
+
+ <span class="mw-usertoollinks flow-pipelist">
+ (
+ {{~#if links.talk~}}
+ <span><a href="{{links.talk.url}}"
+ class="{{#unless links.talk.exists}}new {{/unless}}"
+ title="{{links.talk.title}}">
+ {{~l10n "talkpagelinktext"~}}
+ </a></span>
+ {{~/if~}}
+ {{~#if links.contribs~}}
+ <span><a href="{{links.contribs.url}}" title="{{links.contribs.title}}">
+ {{~l10n "contribslink"~}}
+ </a></span>
+ {{~/if~}}
+ {{~#if links.block~}}
+ <span><a class="{{#unless links.block.exists}}new {{/unless}}"
+ href="{{links.block.url}}"
+ title="{{links.block.title}}">
+ {{~l10n "blocklink"~}}
+ </a></span>
+ {{~/if~}}
+ )
+ </span>
+ {{/if}}
+</span>
diff --git a/Flow/handlebars/flow_post_inner.partial.handlebars b/Flow/handlebars/flow_post_inner.partial.handlebars
new file mode 100644
index 00000000..dc21e645
--- /dev/null
+++ b/Flow/handlebars/flow_post_inner.partial.handlebars
@@ -0,0 +1,31 @@
+<div
+ {{#if isModerated}}
+ class="flow-post-main flow-post-moderated flow-click-interactive flow-element-collapsible flow-element-collapsed"
+ data-flow-interactive-handler="collapserCollapsibleToggle"
+ tabindex="0"
+ {{else}}
+ class="flow-post-main"
+ {{/if}}
+>
+ {{> flow_errors}}
+
+ {{#with creator}}
+ {{> flow_post_author}}
+ {{/with}}
+
+ {{#if isModerated}}
+ <div class="flow-moderated-post-content">
+ {{> flow_post_moderation_state}}
+ </div>
+ {{/if}}
+
+ <div class="flow-post-content">
+ {{escapeContent content.format content.content}}
+ </div>
+
+ {{!-- This stuff is not needed in preview mode --}}
+ {{#unless isPreview}}
+ {{> flow_post_meta_actions}}
+ {{> flow_post_actions}}
+ {{/unless}}
+</div>
diff --git a/Flow/handlebars/flow_post_meta_actions.partial.handlebars b/Flow/handlebars/flow_post_meta_actions.partial.handlebars
new file mode 100644
index 00000000..b5d605be
--- /dev/null
+++ b/Flow/handlebars/flow_post_meta_actions.partial.handlebars
@@ -0,0 +1,66 @@
+<div class="flow-post-meta">
+ <span class="flow-post-meta-actions">
+ {{#if actions.reply}}
+ <a href="{{actions.reply.url}}"
+ title="{{actions.reply.title}}"
+ class="mw-ui-anchor mw-ui-progressive mw-ui-quiet"
+ data-flow-interactive-handler="activateReplyPost"
+
+ {{!--
+ Initialize EventLogging:
+ * action: name of the action param
+ * schema: name of the schema (will be forwarded)
+ * entrypoint: name of the entrypoint (will be forwarded)
+ * forward: nodes to forward this funnel to
+ We want to keep track of multiple actions in the same "funnel".
+ Having a node without data-flow-eventlog-funnel-id (this node)
+ will result in a funnel being created. That funnel id will then
+ be forwarded to all specified nodes, so if you later click on one
+ of the forwarded nodes, it'll recognize and find the funnel. All
+ that is needed there, is a specific data-flow-eventlog-action,
+ all other details (log, entrypoint, funnel id, ...) are inherited
+ --}}
+ data-flow-eventlog-schema="FlowReplies"
+ data-flow-eventlog-action="initiate"
+ data-flow-eventlog-entrypoint="reply-post"
+ data-flow-eventlog-forward="
+ < .flow-post:not([data-flow-post-max-depth='1']) .flow-reply-form [data-role='cancel'],
+ < .flow-post:not([data-flow-post-max-depth='1']) .flow-reply-form [data-role='action'][name='preview'],
+ < .flow-post:not([data-flow-post-max-depth='1']) .flow-reply-form [data-role='submit']
+ "
+ >
+ {{~actions.reply.text~}}
+ </a>
+ {{/if}}
+ {{#if actions.thank}}
+ {{!--
+ progressive enhancement happens in the Thank extension
+ based on the mw-thanks-flow-thank-link class
+ --}}
+ <a class="mw-ui-anchor mw-ui-constructive mw-ui-quiet mw-thanks-flow-thank-link"
+ href="{{actions.thank.url}}"
+ title="{{actions.thank.title}}">
+ {{~actions.thank.text~}}
+ </a>
+ {{/if}}
+ </span>
+
+ <span class="flow-post-timestamp">
+ {{#if isOriginalContent}}
+ <a href="{{links.topic-history.url}}" class="flow-timestamp-anchor">
+ {{uuidTimestamp postId}}
+ </a>
+ {{else}}
+ <span>
+ {{#ifCond creator.name "===" lastEditUser.name}}
+ {{l10n "flow-edited"}}
+ {{else}}
+ {{l10n "flow-edited-by" lastEditUser.name}}
+ {{/ifCond}}
+ </span>
+ <a href="{{links.topic-history.url}}" class="flow-timestamp-anchor">
+ {{~uuidTimestamp lastEditId~}}
+ </a>
+ {{/if}}
+ </span>
+</div>
diff --git a/Flow/handlebars/flow_post_moderation_state.partial.handlebars b/Flow/handlebars/flow_post_moderation_state.partial.handlebars
new file mode 100644
index 00000000..3f18a4f5
--- /dev/null
+++ b/Flow/handlebars/flow_post_moderation_state.partial.handlebars
@@ -0,0 +1,7 @@
+<span class="plainlinks">
+ {{~#if replyToId~}}
+ {{l10nParse (concat "flow-" moderateState "-post-content") moderator.name links.topic-history.url}}
+ {{~else~}}
+ {{l10nParse (concat "flow-" moderateState "-title-content") moderator.name links.topic-history.url}}
+ {{~/if~}}
+</span>
diff --git a/Flow/handlebars/flow_post_replies.partial.handlebars b/Flow/handlebars/flow_post_replies.partial.handlebars
new file mode 100644
index 00000000..967a8c80
--- /dev/null
+++ b/Flow/handlebars/flow_post_replies.partial.handlebars
@@ -0,0 +1,13 @@
+<div class="flow-replies">
+ {{#each replies}}
+ {{#eachPost @root.rootBlock this}}
+ <!-- eachPost nested replies -->
+ {{post @root.rootBlock this}}
+ {{/eachPost}}
+ {{/each}}
+ {{#ifCond @root.rootBlock.submitted.postId "===" postId}}
+ {{#ifCond @root.rootBlock.submitted.action "===" "reply"}}
+ {{> flow_reply_form}}
+ {{/ifCond}}
+ {{/ifCond}}
+</div>
diff --git a/Flow/handlebars/flow_preview.partial.handlebars b/Flow/handlebars/flow_preview.partial.handlebars
new file mode 100644
index 00000000..fbf9ed34
--- /dev/null
+++ b/Flow/handlebars/flow_preview.partial.handlebars
@@ -0,0 +1,12 @@
+<div class="flow-content-preview">
+ {{#if title}}
+ <div class="flow-preview-sub-container flow-topic-title">
+ {{title}}
+ </div>
+ {{/if}}
+ {{#if content}}
+ <div class="flow-preview-sub-container">
+ {{escapeContent content.format content.content}}
+ </div>
+ {{/if}}
+</div>
diff --git a/Flow/handlebars/flow_preview_warning.partial.handlebars b/Flow/handlebars/flow_preview_warning.partial.handlebars
new file mode 100644
index 00000000..a6cae95b
--- /dev/null
+++ b/Flow/handlebars/flow_preview_warning.partial.handlebars
@@ -0,0 +1,6 @@
+<div class="flow-preview-warning">
+ {{~l10n "flow-preview-warning"~}}
+</div>
+{{#ifAnonymous}}
+ {{> flow_anon_warning}}
+{{/ifAnonymous}}
diff --git a/Flow/handlebars/flow_reply_form.partial.handlebars b/Flow/handlebars/flow_reply_form.partial.handlebars
new file mode 100644
index 00000000..862bbaea
--- /dev/null
+++ b/Flow/handlebars/flow_reply_form.partial.handlebars
@@ -0,0 +1,63 @@
+{{#if actions.reply}}
+ <form class="flow-post flow-reply-form"
+ method="POST"
+ action="{{actions.reply.url}}"
+ id="flow-reply-{{postId}}"
+ data-flow-initial-state="collapsed"
+ >
+ <input type="hidden" name="wpEditToken" value="{{@root.rootBlock.editToken}}" />
+ <input type="hidden" name="topic_replyTo" value="{{postId}}" />
+ {{> flow_errors }}
+
+ {{#ifAnonymous}}
+ {{> flow_anon_warning }}
+ {{/ifAnonymous}}
+
+ <div class="flow-editor">
+ <textarea id="flow-post-{{postId}}-form-content"
+ name="topic_content"
+ required
+ data-flow-preview-template="flow_post"
+ data-flow-preview-title="{{articleTitle}}"
+ data-flow-expandable="true"
+ class="mw-ui-input flow-click-interactive"
+ type="text"
+ placeholder="{{l10n "flow-reply-topic-title-placeholder" properties.topic-of-post}}"
+ data-role="content"
+
+ {{!--
+ You'd expect data-flow-eventlog-* data here (this one
+ needs to be clicked to expand the form).
+ However, this form is used in multiple places: as topic-
+ level reply form (activated by clicking the textarea to
+ expand), or to reply to a post (activated by clicking the
+ "reply" link).
+ We only want to track the former, so we'll do that in JS so
+ we can ignore all focuses for this textarea when it's not
+ used to activate the topic-level reply form.
+ --}}
+ data-flow-interactive-handler-focus="activateReplyTopic"
+ >
+ {{~#if @root.submitted~}}
+ {{~#ifCond @root.submitted.postId "===" postId~}}
+ {{~@root.submitted.content~}}
+ {{~/ifCond~}}
+ {{~/if~}}
+ </textarea>
+ </div>
+
+ <div class="flow-form-actions flow-form-collapsible">
+ <button data-role="submit"
+ class="mw-ui-button mw-ui-constructive"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-handler="submitReply"
+ data-flow-api-target="< .flow-topic"
+ data-flow-eventlog-action="save-attempt"
+ >
+ {{~actions.reply.text~}}
+ </button>
+ {{> flow_form_buttons }}
+ <small class="flow-terms-of-use plainlinks">{{l10nParse "flow-terms-of-use-reply"}}</small>
+ </div>
+ </form>
+{{/if}}
diff --git a/Flow/handlebars/flow_revision_diff_header.handlebars b/Flow/handlebars/flow_revision_diff_header.handlebars
new file mode 100644
index 00000000..24decbbe
--- /dev/null
+++ b/Flow/handlebars/flow_revision_diff_header.handlebars
@@ -0,0 +1,9 @@
+<div><a href="{{link}}" class="flow-diff-revision-link">
+ {{l10nParse "flow-compare-revisions-revision-header" timestamp author}}
+</a></div>
+{{#if previous}}
+ <div><a href="{{previous}}">{{l10n "flow-previous-diff"}}</a></div>
+{{/if}}
+{{#if next}}
+ <div><a href="{{next}}">{{l10n "flow-next-diff"}}</a></div>
+{{/if}}
diff --git a/Flow/handlebars/flow_subscribed.partial.handlebars b/Flow/handlebars/flow_subscribed.partial.handlebars
new file mode 100644
index 00000000..21c57710
--- /dev/null
+++ b/Flow/handlebars/flow_subscribed.partial.handlebars
@@ -0,0 +1,7 @@
+<div class="flow-notification-tooltip-icon"><span class="wikiglyph wikiglyph-star-list mw-ui-constructive"></span></div>
+<p class="flow-notification-tooltip-title">
+ {{l10n (concat "flow-" type "-notification-subscribe-title") username}}
+</p>
+<p class="flow-notification-tooltip-content">
+ {{l10n (concat "flow-" type "-notification-subscribe-description") username}}
+</p>
diff --git a/Flow/handlebars/flow_tooltip.handlebars b/Flow/handlebars/flow_tooltip.handlebars
new file mode 100644
index 00000000..df7c61a8
--- /dev/null
+++ b/Flow/handlebars/flow_tooltip.handlebars
@@ -0,0 +1,4 @@
+<div class="{{extraClass}} flow-ui-tooltip {{contextClass}} {{positionClass}} {{blockClass}} plainlinks">
+ {{~html content~}}
+ <span class="flow-ui-tooltip-triangle"></span>
+</div>
diff --git a/Flow/handlebars/flow_tooltip_subscribed.partial.handlebars b/Flow/handlebars/flow_tooltip_subscribed.partial.handlebars
new file mode 100644
index 00000000..383f6648
--- /dev/null
+++ b/Flow/handlebars/flow_tooltip_subscribed.partial.handlebars
@@ -0,0 +1,6 @@
+{{#tooltip
+ positionClass="left"
+ extraClass="flow-notification-tooltip-topicsub"
+}}
+ {{> flow_subscribed}}
+{{/tooltip}}
diff --git a/Flow/handlebars/flow_topic.partial.handlebars b/Flow/handlebars/flow_topic.partial.handlebars
new file mode 100644
index 00000000..3872f111
--- /dev/null
+++ b/Flow/handlebars/flow_topic.partial.handlebars
@@ -0,0 +1,39 @@
+<div class="flow-topic flow-load-interactive
+ {{#if moderateState}}flow-topic-moderatestate-{{moderateState}}{{/if}}
+ {{#if isModerated}}flow-topic-moderated{{/if}}
+ "
+ id="flow-topic-{{postId}}"
+ data-flow-id="{{postId}}"
+ data-flow-load-handler="topic"
+ data-flow-toc-scroll-target=".flow-topic-titlebar"
+ data-flow-topic-timestamp-updated="{{last_updated}}"
+>
+ {{>flow_topic_titlebar}}
+
+ {{#if @root.posts}}
+ {{#each replies}}
+ {{#eachPost @root this}}
+ <!-- eachPost topic -->
+ {{post @root this}}
+ {{/eachPost}}
+ {{/each}}
+ {{/if}}
+
+ {{#unless isPreview}}
+ {{#if actions.reply}}
+ {{#ifCond @root.submitted.postId "===" postId}}
+ {{> flow_reply_form}}
+ {{else}}
+ {{#progressiveEnhancement type="replace" target="~ a"}}
+ {{> flow_reply_form}}
+ {{/progressiveEnhancement}}
+ <a href="{{actions.reply.url}}"
+ title="{{actions.reply.title}}"
+ class="flow-ui-input-replacement-anchor mw-ui-input"
+ >
+ {{~l10n "flow-reply-topic-title-placeholder" properties.topic-of-post~}}
+ </a>
+ {{/ifCond}}
+ {{/if}}
+ {{/unless}}
+</div>
diff --git a/Flow/handlebars/flow_topic_moderation_flag.partial.handlebars b/Flow/handlebars/flow_topic_moderation_flag.partial.handlebars
new file mode 100644
index 00000000..a2f8f7c5
--- /dev/null
+++ b/Flow/handlebars/flow_topic_moderation_flag.partial.handlebars
@@ -0,0 +1,4 @@
+<span class="wikiglyph
+ {{~#ifCond moderateState "===" "lock"}} wikiglyph-lock{{/ifCond~}}
+ {{~#ifCond moderateState "===" "hide"}} wikiglyph-flag{{/ifCond~}}
+ {{~#ifCond moderateState "===" "delete"}} wikiglyph-trash{{/ifCond~}}"></span>
diff --git a/Flow/handlebars/flow_topic_titlebar.partial.handlebars b/Flow/handlebars/flow_topic_titlebar.partial.handlebars
new file mode 100644
index 00000000..20ca436c
--- /dev/null
+++ b/Flow/handlebars/flow_topic_titlebar.partial.handlebars
@@ -0,0 +1,16 @@
+<div class="flow-topic-titlebar">
+ {{> flow_topic_titlebar_content}}
+
+ {{#unless isPreview}}
+ {{#if watchable}}
+ {{> flow_topic_titlebar_watch}}
+ {{/if}}
+ <div class="flow-menu flow-menu-hoverable">
+ <div class="flow-menu-js-drop"><a href="javascript:void(0);"><span class="wikiglyph wikiglyph-ellipsis"></span></a></div>
+ <ul class="mw-ui-button-container flow-list">
+ {{!-- Inserts each common flow-menu-moderation-action --}}
+ {{> flow_moderation_actions_list this moderationType="topic" moderationTarget="title" moderationTemplate="topic" moderationContainerClass="flow-menu" moderationMwUiClass="mw-ui-button" moderationIcons=true}}
+ </ul>
+ </div>
+ {{/unless}}
+</div>
diff --git a/Flow/handlebars/flow_topic_titlebar_content.partial.handlebars b/Flow/handlebars/flow_topic_titlebar_content.partial.handlebars
new file mode 100644
index 00000000..bf515b4b
--- /dev/null
+++ b/Flow/handlebars/flow_topic_titlebar_content.partial.handlebars
@@ -0,0 +1,27 @@
+<h2 class="flow-topic-title flow-load-interactive"
+ data-flow-topic-title="{{escapeContent content.format content.content}}"
+ data-flow-load-handler="topicTitle">{{escapeContent content.format content.content}}</h2>
+<div class="flow-topic-meta">
+ {{l10n "flow-topic-comments" reply_count}} &bull;
+
+ <a href="{{links.topic-history.url}}" class="flow-timestamp-anchor">
+ {{#if last_updated}}
+ {{timestamp last_updated}}
+ {{else}}
+ {{uuidTimestamp postId}}
+ {{/if}}
+ </a>
+</div>
+{{#if isModerated}}
+ <div class="flow-moderated-topic-title flow-ui-text-truncated">
+ {{~noop~}}{{> flow_topic_moderation_flag}}
+ {{> flow_post_moderation_state}}
+ </div>
+ <div class="flow-moderated-topic-reason">
+ {{l10n "flow-topic-moderated-reason-prefix"}}
+ {{escapeContent moderateReason.format moderateReason.content}}
+ </div>
+{{/if}}
+<span class="flow-reply-count"><span class="wikiglyph wikiglyph-speech-bubble"></span><span class="flow-reply-count-number">{{reply_count}}</span></span>
+
+{{> flow_topic_titlebar_summary}}
diff --git a/Flow/handlebars/flow_topic_titlebar_lock.partial.handlebars b/Flow/handlebars/flow_topic_titlebar_lock.partial.handlebars
new file mode 100644
index 00000000..3cd280fd
--- /dev/null
+++ b/Flow/handlebars/flow_topic_titlebar_lock.partial.handlebars
@@ -0,0 +1,50 @@
+<div class="flow-topic-summary-container">
+ <div class="flow-topic-summary">
+ <form class="flow-edit-form" data-flow-initial-state="collapsed" method="POST"
+ action="
+ {{~#if isModerated~}}
+ {{~actions.unlock.url~}}
+ {{~else~}}
+ {{~actions.lock.url~}}
+ {{~/if~}}">
+ {{> flow_errors }}
+ <input type="hidden" name="wpEditToken" value="{{@root.editToken}}" />
+ <div class="flow-editor">
+ <textarea name="flow_reason"
+ class="mw-ui-input"
+ type="text"
+ required
+ data-flow-preview-node="moderateReason"
+ data-flow-preview-template="flow_topic_titlebar.partial"
+ data-flow-preview-title="{{articleTitle}}"
+ >
+ {{~#if @root.submitted.reason~}}
+ {{~@root.submitted.reason~}}
+ {{~/if~}}
+ </textarea>
+ </div>
+ <div class="flow-form-actions flow-form-collapsible">
+ <button data-role="submit"
+ class="mw-ui-button mw-ui-constructive"
+ data-flow-interactive-handler="apiRequest"
+ data-flow-api-target="< .flow-topic"
+ data-flow-api-handler="lockTopic"
+ >
+ {{#if isModerated}}
+ {{l10n "flow-topic-action-unlock-topic"}}
+ {{else}}
+ {{l10n "flow-topic-action-lock-topic"}}
+ {{/if}}
+ </button>
+ {{> flow_form_buttons }}
+ <small class="flow-terms-of-use plainlinks">
+ {{#if isModerated}}
+ {{l10nParse "flow-terms-of-use-unlock-topic"}}
+ {{else}}
+ {{l10nParse "flow-terms-of-use-lock-topic"}}
+ {{/if}}
+ </small>
+ </div>
+ </form>
+ </div>
+</div>
diff --git a/Flow/handlebars/flow_topic_titlebar_summary.partial.handlebars b/Flow/handlebars/flow_topic_titlebar_summary.partial.handlebars
new file mode 100644
index 00000000..48df93a4
--- /dev/null
+++ b/Flow/handlebars/flow_topic_titlebar_summary.partial.handlebars
@@ -0,0 +1,9 @@
+<div class="flow-topic-summary-container">
+ {{> flow_errors }}
+ {{#if summary}}
+ <div class="flow-topic-summary">
+ {{escapeContent summary.format summary.content}}
+ </div>
+ <br class="flow-ui-clear"/>
+ {{/if}}
+</div>
diff --git a/Flow/handlebars/flow_topic_titlebar_watch.partial.handlebars b/Flow/handlebars/flow_topic_titlebar_watch.partial.handlebars
new file mode 100644
index 00000000..17ac2cc1
--- /dev/null
+++ b/Flow/handlebars/flow_topic_titlebar_watch.partial.handlebars
@@ -0,0 +1,17 @@
+<div class="flow-topic-watchlist flow-watch-link">
+ {{> flow_errors}}
+
+ <a href="{{#if isWatched}}{{links.unwatch-topic.url}}{{else}}{{links.watch-topic.url}}{{/if}}"
+ class="mw-ui-anchor mw-ui-constructive {{#unless isWatched}}mw-ui-quiet{{/unless}}
+ {{#if isWatched~}}
+ flow-watch-link-unwatch
+ {{~else~}}
+ flow-watch-link-watch
+ {{~/if~}}"
+ data-flow-api-handler="watchItem"
+ data-flow-api-target="< .flow-topic-watchlist"
+ data-flow-api-method="POST">
+ {{~noop~}}<span class="wikiglyph wikiglyph-star"></span>{{~noop~}}
+ {{~noop~}}<span class="wikiglyph wikiglyph-unstar"></span>{{~noop~}}
+ </a>
+</div>
diff --git a/Flow/handlebars/flow_topiclist_loop.partial.handlebars b/Flow/handlebars/flow_topiclist_loop.partial.handlebars
new file mode 100644
index 00000000..c141b2aa
--- /dev/null
+++ b/Flow/handlebars/flow_topiclist_loop.partial.handlebars
@@ -0,0 +1,6 @@
+{{#each roots}}
+ {{!-- eachPost topiclist --}}
+ {{#eachPost @root this}}
+ {{> flow_topic}}
+ {{/eachPost}}
+{{/each}}
diff --git a/Flow/handlebars/form_element.partial.handlebars b/Flow/handlebars/form_element.partial.handlebars
new file mode 100644
index 00000000..44b01627
--- /dev/null
+++ b/Flow/handlebars/form_element.partial.handlebars
@@ -0,0 +1,24 @@
+<label class="mw-ui-field mw-ui-fieldtag-{{tag}} {{#if fieldtype}}mw-ui-fieldtype-{{fieldtype}}{{/if}}">{{!
+ }}<{{tag}}
+ {{#if class}}class="{{class}}"{{/if}}
+ {{#if type}}type="{{type}}"{{/if}}
+ {{#if name}}name="{{name}}"{{/if}}
+ {{#if placeholder}}placeholder="{{placeholder}}"{{/if}}
+ {{#if value}}value="{{value}}"{{/if}}
+ {{#if role}}data-role="{{role}}"{{/if}}
+ {{#if expandable}}data-flow-expandable="true"{{/if}}
+ {{#if min}}min="{{min}}"{{/if}}
+ {{#if max}}max="{{max}}"{{/if}}
+ {{#if maxlength}}maxlength="{{maxlength}}"{{/if}}
+ {{#if pattern}}pattern="{{pattern}}"{{/if}}
+{{!--
+ {{#if required}}required="required"{{/if}}
+--}}
+ {{#if closing_tag}}>{{else}}/>{{/if}}{{!
+ }}{{#if radio}}<span class="mw-ui-radio"></span>{{/if}}{{!
+ }}{{#if checkbox}}<span class="mw-ui-checkbox"></span>{{/if}}{{!
+ }}{{content}}{{!
+ }}{{#if closing_tag}}</{{closing_tag}}>{{/if}}{{!
+}}{{#if validation}}<span class="mw-ui-field-icon mw-ui-validation-icon"></span>{{/if}}{{!
+}}<a href="javascript:void(0);" class="mw-ui-field-icon mw-ui-uls-icon"></a>{{!
+}}</label>
diff --git a/Flow/handlebars/timestamp.handlebars b/Flow/handlebars/timestamp.handlebars
new file mode 100644
index 00000000..9bde7279
--- /dev/null
+++ b/Flow/handlebars/timestamp.handlebars
@@ -0,0 +1,13 @@
+{{!-- Using <span> instead of <time> to support old browsers (e.g. IE 8).
+ IE 8 will treat it <time> a self-closing tag, without a
+ createElement call before the element. --}}
+{{#if guid}}
+ <span datetime="{{time_iso}}" class="flow-timestamp">
+{{else}}
+ <span datetime="{{time_iso}}"
+ class="flow-timestamp flow-load-interactive"
+ data-flow-load-handler="timestamp">
+{{/if}}
+ <span class="flow-timestamp-user-formatted">{{time_readable}}</span>
+ <span id="{{guid}}" class="flow-timestamp-ago">{{time_ago}}</span>
+</span>