Project

General

Profile

« Previous | Next » 

Revision fa8353d8

Added by Walden Raines over 8 years ago

Fixes #11625: refactor the ace editor to make it reusable.

Make the ace editor reusable and include it on the global parameters
page.

http://projects.theforeman.org/issues/11625

View differences:

app/assets/javascripts/application.js
//= require select_on_click
//= require select2
//= require underscore
//= require editor
$(document).on('ContentLoad', function(){onContentLoad()});
Turbolinks.enableProgressBar();
......
$(window).scrollTop(element.data('position'));
}
function set_fullscreen_editor (element, relativeTo){
var $element = $(element);
if (relativeTo) {
$element = $(relativeTo).find(element);
}
$element.children().removeClass('hidden');
$element.data('origin', $element.parent())
.data('position', $(window).scrollTop())
.addClass('fullscreen')
.appendTo($('#main'))
.resize();
$('.navbar').not('.navbar-editor').addClass('hidden');
$('.btn-fullscreen').addClass("hidden");
$('.btn-exit-fullscreen').removeClass("hidden");
$('#content').addClass('hidden');
$(document).on('keyup', function(e) {
if (e.keyCode == 27) { // esc
exit_fullscreen_editor();
}
});
}
function exit_fullscreen_editor (){
var element = $('.fullscreen');
$('#content').removeClass('hidden');
$('.navbar').removeClass('hidden');
element.removeClass('fullscreen')
.prependTo(element.data('origin'))
.resize();
$('.btn-exit-fullscreen').addClass("hidden");
$('.btn-fullscreen').removeClass("hidden");
$(window).scrollTop(element.data('position'));
}
function disableButtonToggle(item, explicit) {
if (explicit === undefined) {
explicit = true;
app/assets/javascripts/editor.js
var Editor;
$(document).on('ContentLoad', function(){onEditorLoad()});
$(document).on('click','#editor_submit', function(){
if($('.diffMode').exists()){
set_edit_mode( $(".editor_source"));
}
});
$(document).on('change', '.editor_file_source', function(e){
if ($('.editor_file_source').val() != '') editor_file_source(e);
});
$(document).on('change','#keybinding', function(){
set_keybinding()
});
$(document).on('change','#mode', function(){
set_mode()
});
function onEditorLoad(){
var editor_source = $(".editor_source");
if ($.browser && $.browser.msie && $.browser.version.slice(0,1) < 10) {
if ($('.diffMode').exists()) {
IE_diff_mode(editor_source);
}
}else{
if (editor_source.exists()){
create_editor();
}
if ($('.diffMode').exists()) {
set_diff_mode(editor_source);
} else {
set_edit_mode(editor_source);
}
}
}
function set_keybinding(){
var vim = require("ace/keyboard/vim").handler;
var emacs = require("ace/keyboard/emacs").handler;
var keybindings = [
null, // Null = use "default" keymapping
vim,
emacs];
Editor.setKeyboardHandler(keybindings[$("#keybinding")[0].selectedIndex]);
}
function set_mode () {
var session = Editor.getSession();
var modes = [
"ace/mode/text",
"ace/mode/json",
"ace/mode/ruby",
"ace/mode/sh",
"ace/mode/xml",
"ace/mode/yaml"
];
session.setMode(modes[$("#mode")[0].selectedIndex]);
}
function editor_file_source(evt){
if(window.File && window.FileList && window.FileReader)
{
if (!confirm(__("You are about to override the editor content, are you sure?"))) {
$('.editor_file_source').val('');
return;
}
var files = evt.target.files; // files is a FileList object
for (var i = 0, f; f = files[i]; i++) {
var reader = new FileReader();
// Closure to capture the file information.
reader.onloadend = function(evt) {
if (evt.target.readyState == FileReader.DONE) { // DONE == 2
$('#new').val((evt.target.result));
set_edit_mode($('.editor_source'));
}
};
// Read in the file as text.
reader.readAsText(f);
$('.editor_file_source').val("");
}
}else{
// Browser can't read the file content,
// the file will be uploaded to the server on form submit.
// SetEditor to read only mode
Editor.setTheme("ace/theme/clouds");
Editor.setReadOnly(true);
}
}
function snippet_changed(item){
var checked = !!$(item).attr('checked');
$('#kind_selector').toggle(!checked);
$('#snippet_message').toggle(checked);
$('#association').toggle(!checked);
}
function create_editor() {
var editorId = "editor-" + Math.random(),
$editorContainer = $('.editor-container'),
$editorSource = $editorContainer.find('.editor_source');
$editorContainer.append('<div id="' + editorId + '" class="editor"></div>');
$editorSource.hide();
Editor = ace.edit(editorId);
Editor.setShowPrintMargin(false);
Editor.renderer.setShowGutter(false);
$(document).on('resize', editorId, function(){Editor.resize()});
if ($editorSource.is(':disabled')) {
Editor.setReadOnly(true);
}
}
function set_preview(){
if($('.editor_source').hasClass('diffMode')) return;
$("#preview_host_selector").hide();
if ($('.editor_source').hasClass('renderMode')) { // coming from renderMode, don't store code
$('.editor_source').removeClass('renderMode');
} else {
$('#new').val(Editor.getSession().getValue());
}
$('.editor_source').addClass('diffMode');
set_diff_mode($('.editor_source'))
}
function set_code(){
$("#preview_host_selector").hide();
$('.editor_source').removeClass('diffMode renderMode');
set_edit_mode($('.editor_source'));
}
function set_render() {
if ($('.editor_source').hasClass('renderMode')) return;
$("#preview_host_selector").show();
if ($('.editor_source').hasClass('diffMode')) { // coming from diffMode, don't store code
$('.editor_source').removeClass('diffMode');
} else {
$('#new').val(Editor.getSession().getValue());
}
$('.editor_source').addClass('renderMode');
set_render_mode();
}
function set_edit_mode(item){
if( Editor == undefined) return;
Editor.setTheme("ace/theme/twilight");
if (!item.is(':disabled')) {
Editor.setReadOnly(false);
}
set_mode("ace/mode/ruby");
var session = Editor.getSession();
session.setValue($('#new').val());
session.on('change', function(){
item.text(session.getValue());
});
}
function set_diff_mode(item){
Editor.setTheme("ace/theme/clouds");
Editor.setReadOnly(true);
var session = Editor.getSession();
session.setMode("ace/mode/diff");
var patch = JsDiff.createPatch(item.attr('data-file-name'), $('#old').val(), $('#new').val());
patch = patch.replace(/^(.*\n){0,4}/,'');
if (patch.length == 0)
patch = __("No changes")
$(session).off('change');
session.setValue(patch);
}
function set_render_mode() {
Editor.setTheme("ace/theme/twilight");
Editor.setReadOnly(true);
var session = Editor.getSession();
session.setMode("ace/mode/text");
$(session).off('change');
get_rendered_template();
}
function get_rendered_template(){
var session = Editor.getSession();
host_id = $("#preview_host_selector select").val();
url = $('.editor_source').data('render-path');
template = $('#new').val();
params = { template: template };
if (host_id != null) {
params.preview_host_id = host_id
}
session.setValue(__('Rendering the template, please wait...'));
$.post(url, params, function(response) {
$("div#preview_error").hide();
$("div#preview_error span.text").html('');
session.setValue(response);
}).fail(function(response){
$("div#preview_error span.text").html(response.responseText);
$("div#preview_error").show();
session.setValue(__('There was an error during rendering, return to the Code tab to edit the template.'));
});
}
function submit_code() {
if($('.editor_source').is('.diffMode,.renderMode')) {
set_code();
}
}
function IE_diff_mode(item){
var patch = JsDiff.createPatch(item.attr('data-file-name'), $('#old').val(), $('#new').val());
item.val(patch);
item.attr('readOnly', true);
}
function revert_template(item){
if (!confirm(__("You are about to override the editor content with a previous version, are you sure?"))) return;
var version = $(item).attr('data-version');
var url = $(item).attr('data-url');
$.ajax({
type: 'get',
url: url,
data:'version=' + version,
complete: function(res) {
$('#primary_tab').click();
if ($.browser.msie && $.browser.version.slice(0,1) < 10){
$('.editor_source').val(res.responseText);
} else {
$('#new').val(res.responseText);
set_edit_mode($('.editor_source'));
}
var time = $(item).closest('div.row').find('h6 span').attr('data-original-title');
$('#provisioning_template_audit_comment').text(Jed.sprintf(__("Revert to revision from: %s"), time))
}
})
}
app/assets/javascripts/provisioning_template.js
var Editor;
$(document).on('ContentLoad', function(){onEditorLoad()});
$(document).on('click','#provisioning_template_submit', function(){
if($('.diffMode').exists()){
set_edit_mode( $(".template_text"));
}
})
$(document).on('change', '.template_file', function(e){
if ($('.template_file').val() != '') upload_file(e);
})
$(document).on('change','#keybinding', function(){
set_keybinding()
})
function onEditorLoad(){
var template_text = $(".template_text");
if ($.browser && $.browser.msie && $.browser.version.slice(0,1) < 10) {
if ($('.diffMode').exists()) {
IE_diff_mode(template_text);
}
}else{
if (template_text.exists()){
create_editor(template_text)
}
if ($('.diffMode').exists()) {
set_diff_mode(template_text);
} else {
set_edit_mode(template_text);
}
}
}
function set_keybinding(){
var vim = require("ace/keyboard/vim").handler;
var emacs = require("ace/keyboard/emacs").handler;
var keybindings = [
null, // Null = use "default" keymapping
vim,
emacs];
Editor.setKeyboardHandler(keybindings[$("#keybinding")[0].selectedIndex]);
}
function upload_file(evt){
if(window.File && window.FileList && window.FileReader)
{
if (!confirm(__("You are about to override the editor content, are you sure?"))) {
$('.template_file').val('');
return;
}
var files = evt.target.files; // files is a FileList object
for (var i = 0, f; f = files[i]; i++) {
var reader = new FileReader();
// Closure to capture the file information.
reader.onloadend = function(evt) {
if (evt.target.readyState == FileReader.DONE) { // DONE == 2
$('#new').val((evt.target.result));
set_edit_mode($('.template_text'));
}
};
// Read in the file as text.
reader.readAsText(f);
$('.template_file').val("");
}
}else{
// Browser can't read the file content,
// the file will be uploaded to the server on form submit.
// SetEditor to read only mode
Editor.setTheme("ace/theme/clouds");
Editor.setReadOnly(true);
}
}
function snippet_changed(item){
var checked = !!$(item).attr('checked');
$('#kind_selector').toggle(!checked);
$('#snippet_message').toggle(checked);
$('#association').toggle(!checked);
}
function create_editor(item) {
item.parent().prepend("<div id='editor1'></div>");
item.hide();
Editor = ace.edit("editor1");
Editor.setShowPrintMargin(false);
Editor.renderer.setShowGutter(false);
$(document).on('resize','#editor1', function(){Editor.resize()});
if (item.is(':disabled')) {
Editor.setReadOnly(true);
}
}
function set_preview(){
if($('.template_text').hasClass('diffMode')) return;
$("#preview_host_selector").hide();
if ($('.template_text').hasClass('renderMode')) { // coming from renderMode, don't store code
$('.template_text').removeClass('renderMode');
} else {
$('#new').val(Editor.getSession().getValue());
}
$('.template_text').addClass('diffMode');
set_diff_mode($('.template_text'))
}
function set_code(){
$("#preview_host_selector").hide();
$('.template_text').removeClass('diffMode renderMode');
set_edit_mode($('.template_text'));
}
function set_render() {
if ($('.template_text').hasClass('renderMode')) return;
$("#preview_host_selector").show();
if ($('.template_text').hasClass('diffMode')) { // coming from diffMode, don't store code
$('.template_text').removeClass('diffMode');
} else {
$('#new').val(Editor.getSession().getValue());
}
$('.template_text').addClass('renderMode');
set_render_mode();
}
function set_edit_mode(item){
if( Editor == undefined) return;
Editor.setTheme("ace/theme/twilight");
if (!item.is(':disabled')) {
Editor.setReadOnly(false);
}
var session = Editor.getSession();
session.setMode("ace/mode/ruby");
session.setValue($('#new').val());
session.on('change', function(){
item.text(session.getValue());
});
}
function set_diff_mode(item){
Editor.setTheme("ace/theme/clouds");
Editor.setReadOnly(true);
var session = Editor.getSession();
session.setMode("ace/mode/diff");
var patch = JsDiff.createPatch(item.attr('data-file-name'), $('#old').val(), $('#new').val());
patch = patch.replace(/^(.*\n){0,4}/,'');
if (patch.length == 0)
patch = __("No changes")
$(session).off('change');
session.setValue(patch);
}
function set_render_mode() {
Editor.setTheme("ace/theme/twilight");
Editor.setReadOnly(true);
var session = Editor.getSession();
session.setMode("ace/mode/text");
$(session).off('change');
get_rendered_template();
}
function get_rendered_template(){
var session = Editor.getSession();
host_id = $("#preview_host_selector select").val();
url = $('.template_text').data('render-path');
template = $('#new').val();
params = { template: template };
if (host_id != null) {
params.preview_host_id = host_id
}
session.setValue(__('Rendering the template, please wait...'));
$.post(url, params, function(response) {
$("div#preview_error").hide();
$("div#preview_error span.text").html('');
session.setValue(response);
}).fail(function(response){
$("div#preview_error span.text").html(response.responseText);
$("div#preview_error").show();
session.setValue(__('There was an error during rendering, return to the Code tab to edit the template.'));
});
}
function submit_code() {
if($('.template_text').is('.diffMode,.renderMode')) {
set_code();
}
}
function IE_diff_mode(item){
var patch = JsDiff.createPatch(item.attr('data-file-name'), $('#old').val(), $('#new').val());
item.val(patch);
item.attr('readOnly', true);
}
function revert_template(item){
if (!confirm(__("You are about to override the editor content with a previous version, are you sure?"))) return;
var version = $(item).attr('data-version');
var url = $(item).attr('data-url');
$.ajax({
type: 'get',
url: url,
data:'version=' + version,
complete: function(res) {
$('#primary_tab').click();
if ($.browser.msie && $.browser.version.slice(0,1) < 10){
$('.template_text').val(res.responseText);
} else {
$('#new').val(res.responseText);
set_edit_mode($('.template_text'));
}
var time = $(item).closest('div.row').find('h6 span').attr('data-original-title');
$('#provisioning_template_audit_comment').text(Jed.sprintf(__("Revert to revision from: %s"), time))
}
})
}
app/assets/stylesheets/editor.scss
.editor.ace_editor {
position: relative;
height: 360px;
width: 100%;
}
.navbar-full-width {
width: 100%;
}
.navbar-nav.navbar-right.navbar-editor:last-child {
margin-right: 0;
li {
padding-right: 5px;
}
}
.fullscreen .editor {
height: 100%;
}
app/assets/stylesheets/provisioning_template.scss
#editor1 {
position: relative;
height: 360px;
width: 100%;
}
app/helpers/provisioning_templates_helper.rb
template.template_kind
end
def include_javascript
javascript 'provisioning_template', 'ace/ace',
'ace/theme-twilight', 'ace/theme-dawn', 'ace/theme-clouds', 'ace/theme-textmate',
'ace/mode-diff', 'diff', 'ace/mode-ruby', 'ace/keybinding-vim', 'ace/keybinding-emacs'
end
def show_default?
rights = Taxonomy.enabled_taxonomies.select { |taxonomy| User.current.can?("create_#{taxonomy}".to_sym) }
rights.all? && !rights.blank?
app/views/common_parameters/_form.html.erb
<%= form_for @common_parameter do |f| %>
<%= form_for @common_parameter, :html => { :onsubmit => 'submit_code();' } do |f| %>
<%= base_errors_for @common_parameter %>
<%= text_f f, :name %>
<% if @common_parameter.hidden_value? %>
<%= password_f f, :value, :size => "col-md-8", :value => @common_parameter.value %>
<% else %>
<%= textarea_f(f, :value,
:class => "form-control value col-md-8 no-stretch",
:rows => line_count(f, :value),
:fullscreen => :true,
:placeholder => _("Value")) %>
<div class='form-group'>
<label class="control-label col-md-2" for="common_parameter_value"><%= _("Value") %></label>
<div class="col-md-9">
<div class="editor-container">
<%= render :partial => 'editor/toolbar', :locals => {:show_preview => false} %>
<%= f.text_area(:value,
:class => "form-control value editor_source",
:rows => line_count(f, :value),
:placeholder => _("Value")) %>
</div>
</div>
</div>
<% end %>
<%= checkbox_f f, :hidden_value, :class => 'hidden_value_textarea_switch', :onchange => 'turn_textarea_switch(this)', :checked => f.object.hidden_value? %>
<%= submit_or_cancel f %>
<input type="hidden" id="old" value="<%= @common_parameter.value %>" />
<input type="hidden" id="new" value="<%= @common_parameter.value %>" />
<% end %>
app/views/editor/_toolbar.html.erb
<div class="navbar navbar-form navbar-full-width navbar-editor">
<div class="btn-group" data-toggle="buttons" >
<label class="btn btn-default btn-sm active" onclick="set_code()">
<input type="radio" name="options" id="option1" ><%= _("Input") %>
</label>
<label class="btn btn-default btn-sm" onclick="set_preview()">
<input type="radio" name="options" id="option2" ><%= _("Diff") %>
</label>
<% if show_preview %>
<label class="btn btn-default btn-sm" onclick="set_render()">
<input type="radio" name="options" id="option3" ><%= _("Preview") %>
</label>
<% end %>
</div>
<a class="btn btn-default btn-sm btn-fullscreen" href="#" onclick="set_fullscreen_editor('.editor-container');">
<i class="glyphicon glyphicon-resize-full"></i>
</a>
<a class="btn btn-default btn-sm btn-exit-fullscreen hidden" href="#" onclick="exit_fullscreen_editor();">
<i class="glyphicon glyphicon-resize-small"></i>
</a>
<ul class="nav navbar-nav navbar-right navbar-editor">
<li>
<%= select_tag('mode', content_tag(:optgroup, options_for_select(['text', 'json', 'ruby', 'sh', 'xml', 'yaml']), :label => _('Syntax Highlighting')), :class => 'form-control input-sm without_select2') %>
</li>
<li>
<%= select_tag('keybinding', content_tag(:optgroup, options_for_select([_('Default'), 'Vim', 'Emacs']), :label => _('Key Binding')), :class => 'form-control input-sm without_select2') %>
</li>
</ul>
</div>
app/views/provisioning_templates/index.html.erb
<%= include_javascript %>
<% title _("Provisioning Templates") %>
<% title_actions display_link_if_authorized(_("New Template"), hash_for_new_provisioning_template_path),
app/views/ptables/index.html.erb
<%= include_javascript %>
<% title _("Partition Tables") %>
<% title_actions display_link_if_authorized(_("New Partition Table"), hash_for_new_ptable_path),
documentation_button('4.4.4PartitionTables'),
app/views/templates/_form.html.erb
<%= include_javascript %>
<% url = @template.persisted? ? public_send("#{@type_name_singular}_path", @template) : public_send("#{@type_name_singular}_path", @resource_class.new) %>
<%= form_for @template, :url => url, :html => { :multipart => true, :onsubmit => 'submit_code();' } do |f| %>
<%= base_errors_for @template %>
......
<% end -%>
<div class='form-group'>
<label class="control-label" for="template"><%= _("Template editor") %></label>
<div class="navbar navbar-form">
<div class="btn-group" data-toggle="buttons" >
<label class="btn btn-default btn-md active" onclick="set_code()">
<input type="radio" name="options" id="option1" ><%= _("Code") %>
</label>
<label class="btn btn-default btn-md" onclick="set_preview()">
<input type="radio" name="options" id="option2" ><%= _("Diff") %>
</label>
<label class="btn btn-default btn-md" onclick="set_render()">
<input type="radio" name="options" id="option3" ><%= _("Preview") %>
</label>
</div>
<span id="preview_host_selector" style="display:none">
<%= select_tag :preview_host_id, options_from_collection_for_select(@template.preview_host_collection, :id, :name),
:onchange => 'get_rendered_template()' %>
</span>
<%= fullscreen_button("$('#editor1')") %>
<div class="fr">
<%= select_tag('keybinding', content_tag(:optgroup, options_for_select([_('Default'), 'Vim', 'Emacs']), :label => _('Key Binding')), :class => 'form-control input-sm') %>
<div class="col-md-12">
<label class="control-label" for="template"><%= _("Template editor") %></label>
</div>
<div class="col-md-12">
<div class="editor-container">
<%= render :partial => 'editor/toolbar', :locals => {:show_preview => true} %>
<span id="preview_host_selector" style="display:none">
<%= select_tag :preview_host_id, options_from_collection_for_select(@template.preview_host_collection, :id, :name),
:onchange => 'get_rendered_template()' %>
</span>
<%= alert :class => 'alert-danger hide', :id => 'preview_error', :close => false %>
<%= textarea_f f, :template, :class => "editor_source", :label =>:none, :disabled => @template.locked?, :size => "max",
:'data-file-name' => @template.name, :'data-render-path' => url_for(template_hash_for_member(@template, 'preview')) %>
</div>
</div>
</div>
<%= alert :class => 'alert-danger hide', :id => 'preview_error', :close => false %>
<%= textarea_f f, :template, :class => "template_text", :label =>:none, :disabled => @template.locked?, :size => "max",
:'data-file-name' => @template.name, :'data-render-path' => url_for(template_hash_for_member(@template, 'preview')) %>
<% unless @template.locked? -%>
<%= file_field_f f, :template, :class => "template_file",:size => "col-md-10", :id => 'template_file',
<%= file_field_f f, :template, :class => "editor_file_source",:size => "col-md-10", :id => 'template_file',
:help_block => _("Selecting a file will override the editor and load the file instead") %>
<% end -%>
bundler.d/assets.rb
group :assets do
gem 'ace-rails-ap', '~> 3.0.3'
gem 'sass-rails', '~> 3.2'
gem 'uglifier', '>= 1.0.3'
gem 'execjs', '>= 1.4.0', '<2.5.0'
config/environments/production.rb
compute_resources/ovirt/nic_info
compute_resources/vmware/nic_info
lookup_keys
provisioning_template
editor
ace/ace
ace/theme-twilight
ace/theme-dawn
vendor/assets/javascripts/ace/ace.js
(function(){function o(e){var i=function(e,t){return r("",e,t)},s=t;e&&(t[e]||(t[e]={}),s=t[e]);if(!s.define||!s.define.packaged)n.original=s.define,s.define=n,s.define.packaged=!0;if(!s.require||!s.require.packaged)r.original=s.require,s.require=i,s.require.packaged=!0}var e="",t=function(){return this}();if(!e&&typeof requirejs!="undefined")return;var n=function(e,t,r){if(typeof e!="string"){n.original?n.original.apply(window,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(r=t),n.modules||(n.modules={}),n.modules[e]=r},r=function(e,t,n){if(Object.prototype.toString.call(t)==="[object Array]"){var i=[];for(var o=0,u=t.length;o<u;++o){var a=s(e,t[o]);if(!a&&r.original)return r.original.apply(window,arguments);i.push(a)}n&&n.apply(null,i)}else{if(typeof t=="string"){var f=s(e,t);return!f&&r.original?r.original.apply(window,arguments):(n&&n(),f)}if(r.original)return r.original.apply(window,arguments)}},i=function(e,t){if(t.indexOf("!")!==-1){var n=t.split("!");return i(e,n[0])+"!"+i(e,n[1])}if(t.charAt(0)=="."){var r=e.split("/").slice(0,-1).join("/");t=r+"/"+t;while(t.indexOf(".")!==-1&&s!=t){var s=t;t=t.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return t},s=function(e,t){t=i(e,t);var s=n.modules[t];if(!s)return null;if(typeof s=="function"){var o={},u={id:t,uri:"",exports:o,packaged:!0},a=function(e,n){return r(t,e,n)},f=s(a,o,u);return o=f||u.exports,n.modules[t]=o,o}return s};o(e)})(),define("ace/ace",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/dom","ace/lib/event","ace/editor","ace/edit_session","ace/undomanager","ace/virtual_renderer","ace/multi_select","ace/worker/worker_client","ace/keyboard/hash_handler","ace/placeholder","ace/mode/folding/fold_mode","ace/config"],function(e,t,n){e("./lib/fixoldbrowsers");var r=e("./lib/dom"),i=e("./lib/event"),s=e("./editor").Editor,o=e("./edit_session").EditSession,u=e("./undomanager").UndoManager,a=e("./virtual_renderer").VirtualRenderer,f=e("./multi_select").MultiSelect;e("./worker/worker_client"),e("./keyboard/hash_handler"),e("./placeholder"),e("./mode/folding/fold_mode"),t.config=e("./config"),t.require=e,t.edit=function(e){if(typeof e=="string"){var n=e,e=document.getElementById(n);if(!e)throw"ace.edit can't find div #"+n}if(e.env&&e.env.editor instanceof s)return e.env.editor;var o=t.createEditSession(r.getInnerText(e));e.innerHTML="";var u=new s(new a(e));new f(u),u.setSession(o);var l={document:o,editor:u,onResize:u.resize.bind(u)};return i.addListener(window,"resize",l.onResize),e.env=u.env=l,u},t.createEditSession=function(e,t){var n=new o(e,n);return n.setUndoManager(new u),n},t.EditSession=o,t.UndoManager=u}),define("ace/lib/fixoldbrowsers",["require","exports","module","ace/lib/regexp","ace/lib/es5-shim"],function(e,t,n){e("./regexp"),e("./es5-shim")}),define("ace/lib/regexp",["require","exports","module"],function(e,t,n){function o(e){return(e.global?"g":"")+(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.extended?"x":"")+(e.sticky?"y":"")}function u(e,t,n){if(Array.prototype.indexOf)return e.indexOf(t,n);for(var r=n||0;r<e.length;r++)if(e[r]===t)return r;return-1}var r={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split},i=r.exec.call(/()??/,"")[1]===undefined,s=function(){var e=/^/g;return r.test.call(e,""),!e.lastIndex}();if(s&&i)return;RegExp.prototype.exec=function(e){var t=r.exec.apply(this,arguments),n,a;if(typeof e=="string"&&t){!i&&t.length>1&&u(t,"")>-1&&(a=RegExp(this.source,r.replace.call(o(this),"g","")),r.replace.call(e.slice(t.index),a,function(){for(var e=1;e<arguments.length-2;e++)arguments[e]===undefined&&(t[e]=undefined)}));if(this._xregexp&&this._xregexp.captureNames)for(var f=1;f<t.length;f++)n=this._xregexp.captureNames[f-1],n&&(t[n]=t[f]);!s&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--}return t},s||(RegExp.prototype.test=function(e){var t=r.exec.call(this,e);return t&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--,!!t})}),define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function m(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}Function.prototype.bind||(Function.prototype.bind=function(t){var n=this;if(typeof n!="function")throw new TypeError;var r=o.call(arguments,1),i=function(){if(this instanceof i){var e=function(){};e.prototype=n.prototype;var s=new e,u=n.apply(s,r.concat(o.call(arguments)));return u!==null&&Object(u)===u?u:s}return n.apply(t,r.concat(o.call(arguments)))};return i});var r=Function.prototype.call,i=Array.prototype,s=Object.prototype,o=i.slice,u=r.bind(s.toString),a=r.bind(s.hasOwnProperty),f,l,c,h,p;if(p=a(s,"__defineGetter__"))f=r.bind(s.__defineGetter__),l=r.bind(s.__defineSetter__),c=r.bind(s.__lookupGetter__),h=r.bind(s.__lookupSetter__);Array.isArray||(Array.isArray=function(t){return u(t)=="[object Array]"}),Array.prototype.forEach||(Array.prototype.forEach=function(t){var n=D(this),r=arguments[1],i=0,s=n.length>>>0;if(u(t)!="[object Function]")throw new TypeError;while(i<s)i in n&&t.call(r,n[i],i,n),i++}),Array.prototype.map||(Array.prototype.map=function(t){var n=D(this),r=n.length>>>0,i=Array(r),s=arguments[1];if(u(t)!="[object Function]")throw new TypeError;for(var o=0;o<r;o++)o in n&&(i[o]=t.call(s,n[o],o,n));return i}),Array.prototype.filter||(Array.prototype.filter=function(t){var n=D(this),r=n.length>>>0,i=[],s=arguments[1];if(u(t)!="[object Function]")throw new TypeError;for(var o=0;o<r;o++)o in n&&t.call(s,n[o],o,n)&&i.push(n[o]);return i}),Array.prototype.every||(Array.prototype.every=function(t){var n=D(this),r=n.length>>>0,i=arguments[1];if(u(t)!="[object Function]")throw new TypeError;for(var s=0;s<r;s++)if(s in n&&!t.call(i,n[s],s,n))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(t){var n=D(this),r=n.length>>>0,i=arguments[1];if(u(t)!="[object Function]")throw new TypeError;for(var s=0;s<r;s++)if(s in n&&t.call(i,n[s],s,n))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(t){var n=D(this),r=n.length>>>0;if(u(t)!="[object Function]")throw new TypeError;if(!r&&arguments.length==1)throw new TypeError;var i=0,s;if(arguments.length>=2)s=arguments[1];else do{if(i in n){s=n[i++];break}if(++i>=r)throw new TypeError}while(!0);for(;i<r;i++)i in n&&(s=t.call(void 0,s,n[i],i,n));return s}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(t){var n=D(this),r=n.length>>>0;if(u(t)!="[object Function]")throw new TypeError;if(!r&&arguments.length==1)throw new TypeError;var i,s=r-1;if(arguments.length>=2)i=arguments[1];else do{if(s in n){i=n[s--];break}if(--s<0)throw new TypeError}while(!0);do s in this&&(i=t.call(void 0,i,n[s],s,n));while(s--);return i}),Array.prototype.indexOf||(Array.prototype.indexOf=function(t){var n=D(this),r=n.length>>>0;if(!r)return-1;var i=0;arguments.length>1&&(i=M(arguments[1])),i=i>=0?i:Math.max(0,r+i);for(;i<r;i++)if(i in n&&n[i]===t)return i;return-1}),Array.prototype.lastIndexOf||(Array.prototype.lastIndexOf=function(t){var n=D(this),r=n.length>>>0;if(!r)return-1;var i=r-1;arguments.length>1&&(i=Math.min(i,M(arguments[1]))),i=i>=0?i:r-Math.abs(i);for(;i>=0;i--)if(i in n&&t===n[i])return i;return-1}),Object.getPrototypeOf||(Object.getPrototypeOf=function(t){return t.__proto__||(t.constructor?t.constructor.prototype:s)});if(!Object.getOwnPropertyDescriptor){var d="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(t,n){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(d+t);if(!a(t,n))return;var r,i,o;r={enumerable:!0,configurable:!0};if(p){var u=t.__proto__;t.__proto__=s;var i=c(t,n),o=h(t,n);t.__proto__=u;if(i||o)return i&&(r.get=i),o&&(r.set=o),r}return r.value=t[n],r}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(t){return Object.keys(t)});if(!Object.create){var v;Object.prototype.__proto__===null?v=function(){return{__proto__:null}}:v=function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(t,n){var r;if(t===null)r=v();else{if(typeof t!="object")throw new TypeError("typeof prototype["+typeof t+"] != 'object'");var i=function(){};i.prototype=t,r=new i,r.__proto__=t}return n!==void 0&&Object.defineProperties(r,n),r}}if(Object.defineProperty){var g=m({}),y=typeof document=="undefined"||m(document.createElement("div"));if(!g||!y)var b=Object.defineProperty}if(!Object.defineProperty||b){var w="Property description must be an object: ",E="Object.defineProperty called on non-object: ",S="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(t,n,r){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(E+t);if(typeof r!="object"&&typeof r!="function"||r===null)throw new TypeError(w+r);if(b)try{return b.call(Object,t,n,r)}catch(i){}if(a(r,"value"))if(p&&(c(t,n)||h(t,n))){var o=t.__proto__;t.__proto__=s,delete t[n],t[n]=r.value,t.__proto__=o}else t[n]=r.value;else{if(!p)throw new TypeError(S);a(r,"get")&&f(t,n,r.get),a(r,"set")&&l(t,n,r.set)}return t}}Object.defineProperties||(Object.defineProperties=function(t,n){for(var r in n)a(n,r)&&Object.defineProperty(t,r,n[r]);return t}),Object.seal||(Object.seal=function(t){return t}),Object.freeze||(Object.freeze=function(t){return t});try{Object.freeze(function(){})}catch(x){Object.freeze=function(t){return function(n){return typeof n=="function"?n:t(n)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(t){return t}),Object.isSealed||(Object.isSealed=function(t){return!1}),Object.isFrozen||(Object.isFrozen=function(t){return!1}),Object.isExtensible||(Object.isExtensible=function(t){if(Object(t)===t)throw new TypeError;var n="";while(a(t,n))n+="?";t[n]=!0;var r=a(t,n);return delete t[n],r});if(!Object.keys){var T=!0,N=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],C=N.length;for(var k in{toString:null})T=!1;Object.keys=function P(e){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError("Object.keys called on a non-object");var P=[];for(var t in e)a(e,t)&&P.push(t);if(T)for(var n=0,r=C;n<r;n++){var i=N[n];a(e,i)&&P.push(i)}return P}}if(!Date.prototype.toISOString||(new Date(-621987552e5)).toISOString().indexOf("-000001")===-1)Date.prototype.toISOString=function(){var t,n,r,i;if(!isFinite(this))throw new RangeError;t=[this.getUTCMonth()+1,this.getUTCDate(),this.getUTCHours(),this.getUTCMinutes(),this.getUTCSeconds()],i=this.getUTCFullYear(),i=(i<0?"-":i>9999?"+":"")+("00000"+Math.abs(i)).slice(0<=i&&i<=9999?-4:-6),n=t.length;while(n--)r=t[n],r<10&&(t[n]="0"+r);return i+"-"+t.slice(0,2).join("-")+"T"+t.slice(2).join(":")+"."+("000"+this.getUTCMilliseconds()).slice(-3)+"Z"};Date.now||(Date.now=function(){return(new Date).getTime()}),Date.prototype.toJSON||(Date.prototype.toJSON=function(t){if(typeof this.toISOString!="function")throw new TypeError;return this.toISOString()}),Date.parse("+275760-09-13T00:00:00.000Z")!==864e13&&(Date=function(e){var t=function i(t,n,r,s,o,u,a){var f=arguments.length;if(this instanceof e){var l=f==1&&String(t)===t?new e(i.parse(t)):f>=7?new e(t,n,r,s,o,u,a):f>=6?new e(t,n,r,s,o,u):f>=5?new e(t,n,r,s,o):f>=4?new e(t,n,r,s):f>=3?new e(t,n,r):f>=2?new e(t,n):f>=1?new e(t):new e;return l.constructor=i,l}return e.apply(this,arguments)},n=new RegExp("^(\\d{4}|[+-]\\d{6})(?:-(\\d{2})(?:-(\\d{2})(?:T(\\d{2}):(\\d{2})(?::(\\d{2})(?:\\.(\\d{3}))?)?(?:Z|(?:([-+])(\\d{2}):(\\d{2})))?)?)?)?$");for(var r in e)t[r]=e[r];return t.now=e.now,t.UTC=e.UTC,t.prototype=e.prototype,t.prototype.constructor=t,t.parse=function(r){var i=n.exec(r);if(i){i.shift();for(var s=1;s<7;s++)i[s]=+(i[s]||(s<3?1:0)),s==1&&i[s]--;var o=+i.pop(),u=+i.pop(),a=i.pop(),f=0;if(a){if(u>23||o>59)return NaN;f=(u*60+o)*6e4*(a=="+"?-1:1)}var l=+i[0];return 0<=l&&l<=99?(i[0]=l+400,e.UTC.apply(this,i)+f-126227808e5):e.UTC.apply(this,i)+f}return e.parse.apply(this,arguments)},t}(Date));var L=" \n \f\r   ᠎              \u2028\u2029";if(!String.prototype.trim||L.trim()){L="["+L+"]";var A=new RegExp("^"+L+L+"*"),O=new RegExp(L+L+"*$");String.prototype.trim=function(){return String(this).replace(A,"").replace(O,"")}}var M=function(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e},_="a"[0]!="a",D=function(e){if(e==null)throw new TypeError;return _&&typeof e=="string"&&e?e.split(""):Object(e)}}),define("ace/lib/dom",["require","exports","module"],function(e,t,n){var r="http://www.w3.org/1999/xhtml";t.createElement=function(e,t){return document.createElementNS?document.createElementNS(t||r,e):document.createElement(e)},t.setText=function(e,t){e.innerText!==undefined&&(e.innerText=t),e.textContent!==undefined&&(e.textContent=t)},t.hasCssClass=function(e,t){var n=e.className.split(/\s+/g);return n.indexOf(t)!==-1},t.addCssClass=function(e,n){t.hasCssClass(e,n)||(e.className+=" "+n)},t.removeCssClass=function(e,t){var n=e.className.split(/\s+/g);for(;;){var r=n.indexOf(t);if(r==-1)break;n.splice(r,1)}e.className=n.join(" ")},t.toggleCssClass=function(e,t){var n=e.className.split(/\s+/g),r=!0;for(;;){var i=n.indexOf(t);if(i==-1)break;r=!1,n.splice(i,1)}return r&&n.push(t),e.className=n.join(" "),r},t.setCssClass=function(e,n,r){r?t.addCssClass(e,n):t.removeCssClass(e,n)},t.hasCssString=function(e,t){var n=0,r;t=t||document;if(t.createStyleSheet&&(r=t.styleSheets)){while(n<r.length)if(r[n++].owningElement.id===e)return!0}else if(r=t.getElementsByTagName("style"))while(n<r.length)if(r[n++].id===e)return!0;return!1},t.importCssString=function(n,i,s){s=s||document;if(i&&t.hasCssString(i,s))return null;var o;if(s.createStyleSheet)o=s.createStyleSheet(),o.cssText=n,i&&(o.owningElement.id=i);else{o=s.createElementNS?s.createElementNS(r,"style"):s.createElement("style"),o.appendChild(s.createTextNode(n)),i&&(o.id=i);var u=s.getElementsByTagName("head")[0]||s.documentElement;u.appendChild(o)}},t.importCssStylsheet=function(e,n){if(n.createStyleSheet)n.createStyleSheet(e);else{var r=t.createElement("link");r.rel="stylesheet",r.href=e;var i=n.getElementsByTagName("head")[0]||n.documentElement;i.appendChild(r)}},t.getInnerWidth=function(e){return parseInt(t.computedStyle(e,"paddingLeft"),10)+parseInt(t.computedStyle(e,"paddingRight"),10)+e.clientWidth},t.getInnerHeight=function(e){return parseInt(t.computedStyle(e,"paddingTop"),10)+parseInt(t.computedStyle(e,"paddingBottom"),10)+e.clientHeight},window.pageYOffset!==undefined?(t.getPageScrollTop=function(){return window.pageYOffset},t.getPageScrollLeft=function(){return window.pageXOffset}):(t.getPageScrollTop=function(){return document.body.scrollTop},t.getPageScrollLeft=function(){return document.body.scrollLeft}),window.getComputedStyle?t.computedStyle=function(e,t){return t?(window.getComputedStyle(e,"")||{})[t]||"":window.getComputedStyle(e,"")||{}}:t.computedStyle=function(e,t){return t?e.currentStyle[t]:e.currentStyle},t.scrollbarWidth=function(e){var n=t.createElement("p");n.style.width="100%",n.style.minWidth="0px",n.style.height="200px";var r=t.createElement("div"),i=r.style;i.position="absolute",i.left="-10000px",i.overflow="hidden",i.width="200px",i.minWidth="0px",i.height="150px",r.appendChild(n);var s=e.body||e.documentElement;s.appendChild(r);var o=n.offsetWidth;i.overflow="scroll";var u=n.offsetWidth;return o==u&&(u=r.clientWidth),s.removeChild(r),o-u},t.setInnerHtml=function(e,t){var n=e.cloneNode(!1);return n.innerHTML=t,e.parentNode.replaceChild(n,e),n},t.setInnerText=function(e,t){var n=e.ownerDocument;n.body&&"textContent"in n.body?e.textContent=t:e.innerText=t},t.getInnerText=function(e){var t=e.ownerDocument;return t.body&&"textContent"in t.body?e.textContent:e.innerText||e.textContent||""},t.getParentWindow=function(e){return e.defaultView||e.parentWindow}}),define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent","ace/lib/dom"],function(e,t,n){function o(e,t,n){var s=0;!i.isOpera||"KeyboardEvent"in window||!i.isMac?s=0|(t.ctrlKey?1:0)|(t.altKey?2:0)|(t.shiftKey?4:0)|(t.metaKey?8:0):s=0|(t.metaKey?1:0)|(t.altKey?2:0)|(t.shiftKey?4:0)|(t.ctrlKey?8:0);if(n in r.MODIFIER_KEYS){switch(r.MODIFIER_KEYS[n]){case"Alt":s=2;break;case"Shift":s=4;break;case"Ctrl":s=1;break;default:s=8}n=0}return s&8&&(n==91||n==93)&&(n=0),!!s||n in r.FUNCTION_KEYS||n in r.PRINTABLE_KEYS?e(t,s,n):!1}var r=e("./keys"),i=e("./useragent"),s=e("./dom");t.addListener=function(e,t,n){if(e.addEventListener)return e.addEventListener(t,n,!1);if(e.attachEvent){var r=function(){n(window.event)};n._wrapper=r,e.attachEvent("on"+t,r)}},t.removeListener=function(e,t,n){if(e.removeEventListener)return e.removeEventListener(t,n,!1);e.detachEvent&&e.detachEvent("on"+t,n._wrapper||n)},t.stopEvent=function(e){return t.stopPropagation(e),t.preventDefault(e),!1},t.stopPropagation=function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0},t.preventDefault=function(e){e.preventDefault?e.preventDefault():e.returnValue=!1},t.getButton=function(e){return e.type=="dblclick"?0:e.type=="contextmenu"||e.ctrlKey&&i.isMac?2:e.preventDefault?e.button:{1:0,2:2,4:1}[e.button]},document.documentElement.setCapture?t.capture=function(e,n,r){function s(o){n(o),i||(i=!0,r(o)),t.removeListener(e,"mousemove",n),t.removeListener(e,"mouseup",s),t.removeListener(e,"losecapture",s),e.releaseCapture()}var i=!1;t.addListener(e,"mousemove",n),t.addListener(e,"mouseup",s),t.addListener(e,"losecapture",s),e.setCapture()}:t.capture=function(e,t,n){function r(e){t&&t(e),n&&n(e),document.removeEventListener("mousemove",t,!0),document.removeEventListener("mouseup",r,!0),e.stopPropagation()}document.addEventListener("mousemove",t,!0),document.addEventListener("mouseup",r,!0)},t.addMouseWheelListener=function(e,n){var r=8,i=function(e){e.wheelDelta!==undefined?e.wheelDeltaX!==undefined?(e.wheelX=-e.wheelDeltaX/r,e.wheelY=-e.wheelDeltaY/r):(e.wheelX=0,e.wheelY=-e.wheelDelta/r):e.axis&&e.axis==e.HORIZONTAL_AXIS?(e.wheelX=(e.detail||0)*5,e.wheelY=0):(e.wheelX=0,e.wheelY=(e.detail||0)*5),n(e)};t.addListener(e,"DOMMouseScroll",i),t.addListener(e,"mousewheel",i)},t.addMultiMouseDownListener=function(e,n,r,s){var o=0,u,a,f,l={2:"dblclick",3:"tripleclick",4:"quadclick"};t.addListener(e,"mousedown",function(e){if(t.getButton(e)!=0)o=0;else{var i=Math.abs(e.clientX-u)>5||Math.abs(e.clientY-a)>5;if(!f||i)o=0;o+=1,f&&clearTimeout(f),f=setTimeout(function(){f=null},n[o-1]||600)}o==1&&(u=e.clientX,a=e.clientY),r[s]("mousedown",e);if(o>4)o=0;else if(o>1)return r[s](l[o],e)}),i.isOldIE&&t.addListener(e,"dblclick",function(e){o=2,f&&clearTimeout(f),f=setTimeout(function(){f=null},n[o-1]||600),r[s]("mousedown",e),r[s](l[o],e)})},t.addCommandKeyListener=function(e,n){var r=t.addListener;if(i.isOldGecko||i.isOpera&&!("KeyboardEvent"in window)){var s=null;r(e,"keydown",function(e){s=e.keyCode}),r(e,"keypress",function(e){return o(n,e,s)})}else{var u=null;r(e,"keydown",function(e){return u=e.keyIdentifier||e.keyCode,o(n,e,e.keyCode)})}};if(window.postMessage&&!i.isOldIE){var u=1;t.nextTick=function(e,n){n=n||window;var r="zero-timeout-message-"+u;t.addListener(n,"message",function i(s){s.data==r&&(t.stopPropagation(s),t.removeListener(n,"message",i),e())}),n.postMessage(r,"*")}}t.nextFrame=window.requestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame,t.nextFrame?t.nextFrame=t.nextFrame.bind(window):t.nextFrame=function(e){setTimeout(e,17)}}),define("ace/lib/keys",["require","exports","module","ace/lib/oop"],function(e,t,n){var r=e("./oop"),i=function(){var e={MODIFIER_KEYS:{16:"Shift",17:"Ctrl",18:"Alt",224:"Meta"},KEY_MODS:{ctrl:1,alt:2,option:2,shift:4,meta:8,command:8},FUNCTION_KEYS:{8:"Backspace",9:"Tab",13:"Return",19:"Pause",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"Print",45:"Insert",46:"Delete",96:"Numpad0",97:"Numpad1",98:"Numpad2",99:"Numpad3",100:"Numpad4",101:"Numpad5",102:"Numpad6",103:"Numpad7",104:"Numpad8",105:"Numpad9",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"Numlock",145:"Scrolllock"},PRINTABLE_KEYS:{32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",61:"=",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",107:"+",109:"-",110:".",188:",",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"}};for(var t in e.FUNCTION_KEYS){var n=e.FUNCTION_KEYS[t].toLowerCase();e[n]=parseInt(t,10)}return r.mixin(e,e.MODIFIER_KEYS),r.mixin(e,e.PRINTABLE_KEYS),r.mixin(e,e.FUNCTION_KEYS),e.enter=e["return"],e.escape=e.esc,e.del=e["delete"],e[173]="-",e}();r.mixin(t,i),t.keyCodeToString=function(e){return(i[e]||String.fromCharCode(e)).toLowerCase()}}),define("ace/lib/oop",["require","exports","module"],function(e,t,n){t.inherits=function(){var e=function(){};return function(t,n){e.prototype=n.prototype,t.super_=n.prototype,t.prototype=new e,t.prototype.constructor=t}}(),t.mixin=function(e,t){for(var n in t)e[n]=t[n]},t.implement=function(e,n){t.mixin(e,n)}}),define("ace/lib/useragent",["require","exports","module"],function(e,t,n){t.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},t.getOS=function(){return t.isMac?t.OS.MAC:t.isLinux?t.OS.LINUX:t.OS.WINDOWS};if(typeof navigator!="object")return;var r=(navigator.platform.match(/mac|win|linux/i)||["other"])[0].toLowerCase(),i=navigator.userAgent;t.isWin=r=="win",t.isMac=r=="mac",t.isLinux=r=="linux",t.isIE=navigator.appName=="Microsoft Internet Explorer"&&parseFloat(navigator.userAgent.match(/MSIE ([0-9]+[\.0-9]+)/)[1]),t.isOldIE=t.isIE&&t.isIE<9,t.isGecko=t.isMozilla=window.controllers&&window.navigator.product==="Gecko",t.isOldGecko=t.isGecko&&parseInt((navigator.userAgent.match(/rv\:(\d+)/)||[])[1],10)<4,t.isOpera=window.opera&&Object.prototype.toString.call(window.opera)=="[object Opera]",t.isWebKit=parseFloat(i.split("WebKit/")[1])||undefined,t.isChrome=parseFloat(i.split(" Chrome/")[1])||undefined,t.isAIR=i.indexOf("AdobeAIR")>=0,t.isIPad=i.indexOf("iPad")>=0,t.isTouchPad=i.indexOf("TouchPad")>=0}),define("ace/editor",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/oop","ace/lib/lang","ace/lib/useragent","ace/keyboard/textinput","ace/mouse/mouse_handler","ace/mouse/fold_handler","ace/keyboard/keybinding","ace/edit_session","ace/search","ace/range","ace/lib/event_emitter","ace/commands/command_manager","ace/commands/default_commands"],function(e,t,n){e("./lib/fixoldbrowsers");var r=e("./lib/oop"),i=e("./lib/lang"),s=e("./lib/useragent"),o=e("./keyboard/textinput").TextInput,u=e("./mouse/mouse_handler").MouseHandler,a=e("./mouse/fold_handler").FoldHandler,f=e("./keyboard/keybinding").KeyBinding,l=e("./edit_session").EditSession,c=e("./search").Search,h=e("./range").Range,p=e("./lib/event_emitter").EventEmitter,d=e("./commands/command_manager").CommandManager,v=e("./commands/default_commands").commands,m=function(e,t){var n=e.getContainerElement();this.container=n,this.renderer=e,this.commands=new d(s.isMac?"mac":"win",v),this.textInput=new o(e.getTextAreaContainer(),this),this.renderer.textarea=this.textInput.getElement(),this.keyBinding=new f(this),this.$mouseHandler=new u(this),new a(this),this.$blockScrolling=0,this.$search=(new c).set({wrap:!0}),this.setSession(t||new l(""))};(function(){r.implement(this,p),this.setKeyboardHandler=function(e){this.keyBinding.setKeyboardHandler(e)},this.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},this.setSession=function(e){if(this.session==e)return;if(this.session){var t=this.session;this.session.removeEventListener("change",this.$onDocumentChange),this.session.removeEventListener("changeMode",this.$onChangeMode),this.session.removeEventListener("tokenizerUpdate",this.$onTokenizerUpdate),this.session.removeEventListener("changeTabSize",this.$onChangeTabSize),this.session.removeEventListener("changeWrapLimit",this.$onChangeWrapLimit),this.session.removeEventListener("changeWrapMode",this.$onChangeWrapMode),this.session.removeEventListener("onChangeFold",this.$onChangeFold),this.session.removeEventListener("changeFrontMarker",this.$onChangeFrontMarker),this.session.removeEventListener("changeBackMarker",this.$onChangeBackMarker),this.session.removeEventListener("changeBreakpoint",this.$onChangeBreakpoint),this.session.removeEventListener("changeAnnotation",this.$onChangeAnnotation),this.session.removeEventListener("changeOverwrite",this.$onCursorChange),this.session.removeEventListener("changeScrollTop",this.$onScrollTopChange),this.session.removeEventListener("changeLeftTop",this.$onScrollLeftChange);var n=this.session.getSelection();n.removeEventListener("changeCursor",this.$onCursorChange),n.removeEventListener("changeSelection",this.$onSelectionChange)}this.session=e,this.$onDocumentChange=this.onDocumentChange.bind(this),e.addEventListener("change",this.$onDocumentChange),this.renderer.setSession(e),this.$onChangeMode=this.onChangeMode.bind(this),e.addEventListener("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),e.addEventListener("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),e.addEventListener("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),e.addEventListener("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),e.addEventListener("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),e.addEventListener("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.addEventListener("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.addEventListener("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.addEventListener("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.addEventListener("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.addEventListener("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.addEventListener("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.addEventListener("changeScrollLeft",this.$onScrollLeftChange),this.selection=e.getSelection(),this.selection.addEventListener("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.addEventListener("changeSelection",this.$onSelectionChange),this.onChangeMode(),this.$blockScrolling+=1,this.onCursorChange(),this.$blockScrolling-=1,this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull(),this._emit("changeSession",{session:e,oldSession:t})},this.getSession=function(){return this.session},this.setValue=function(e,t){return this.session.doc.setValue(e),t?t==1?this.navigateFileEnd():t==-1&&this.navigateFileStart():this.selectAll(),e},this.getValue=function(){return this.session.getValue()},this.getSelection=function(){return this.selection},this.resize=function(e){this.renderer.onResize(e)},this.setTheme=function(e){this.renderer.setTheme(e)},this.getTheme=function(){return this.renderer.getTheme()},this.setStyle=function(e){this.renderer.setStyle(e)},this.unsetStyle=function(e){this.renderer.unsetStyle(e)},this.setFontSize=function(e){this.container.style.fontSize=e,this.renderer.updateFontSize()},this.$highlightBrackets=function(){this.session.$bracketHighlight&&(this.session.removeMarker(this.session.$bracketHighlight),this.session.$bracketHighlight=null);if(this.$highlightPending)return;var e=this;this.$highlightPending=!0,setTimeout(function(){e.$highlightPending=!1;var t=e.session.findMatchingBracket(e.getCursorPosition());if(t){var n=new h(t.row,t.column,t.row,t.column+1);e.session.$bracketHighlight=e.session.addMarker(n,"ace_bracket","text")}},50)},this.focus=function(){var e=this;setTimeout(function(){e.textInput.focus()}),this.textInput.focus()},this.isFocused=function(){return this.textInput.isFocused()},this.blur=function(){this.textInput.blur()},this.onFocus=function(){if(this.$isFocused)return;this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit("focus")},this.onBlur=function(){if(!this.$isFocused)return;this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit("blur")},this.$cursorChange=function(){this.renderer.updateCursor()},this.onDocumentChange=function(e){var t=e.data,n=t.range,r;n.start.row==n.end.row&&t.action!="insertLines"&&t.action!="removeLines"?r=n.end.row:r=Infinity,this.renderer.updateLines(n.start.row,r),this._emit("change",e),this.$cursorChange()},this.onTokenizerUpdate=function(e){var t=e.data;this.renderer.updateLines(t.first,t.last)},this.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},this.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},this.onCursorChange=function(){this.$cursorChange(),this.$blockScrolling||this.renderer.scrollCursorIntoView(),this.$highlightBrackets(),this.$updateHighlightActiveLine(),this._emit("changeSelection")},this.$updateHighlightActiveLine=function(){var e=this.getSession(),t;this.$highlightActiveLine&&(this.$selectionStyle!="line"||!this.selection.isMultiLine())&&(t=this.getCursorPosition()),e.$highlightLineMarker&&!t?(e.removeMarker(e.$highlightLineMarker.id),e.$highlightLineMarker=null):!e.$highlightLineMarker&&t?e.$highlightLineMarker=e.highlightLines(t.row,t.row,"ace_active-line"):t&&(e.$highlightLineMarker.start.row=t.row,e.$highlightLineMarker.end.row=t.row,e._emit("changeBackMarker"))},this.onSelectionChange=function(e){var t=this.session;t.$selectionMarker&&t.removeMarker(t.$selectionMarker),t.$selectionMarker=null;if(!this.selection.isEmpty()){var n=this.selection.getRange(),r=this.getSelectionStyle();t.$selectionMarker=t.addMarker(n,"ace_selection",r)}else this.$updateHighlightActiveLine();var i=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(i),this._emit("changeSelection")},this.$getSelectionHighLightRegexp=function(){var e=this.session,t=this.getSelectionRange();if(t.isEmpty()||t.isMultiLine())return;var n=t.start.column-1,r=t.end.column+1,i=e.getLine(t.start.row),s=i.length,o=i.substring(Math.max(n,0),Math.min(r,s));if(n>=0&&/^[\w\d]/.test(o)||r<=s&&/[\w\d]$/.test(o))return;o=i.substring(t.start.column,t.end.column);if(!/^[\w\d]+$/.test(o))return;var u=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:o});return u},this.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},this.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},this.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},this.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},this.onChangeMode=function(){this.renderer.updateText()},this.onChangeWrapLimit=function(){this.renderer.updateFull()},this.onChangeWrapMode=function(){this.renderer.onResize(!0)},this.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},this.getCopyText=function(){var e="";return this.selection.isEmpty()||(e=this.session.getTextRange(this.getSelectionRange())),this._emit("copy",e),e},this.onCopy=function(){this.commands.exec("copy",this)},this.onCut=function(){this.commands.exec("cut",this)},this.onPaste=function(e){if(this.$readOnly)return;this._emit("paste",e),this.insert(e)},this.execCommand=function(e,t){this.commands.exec(e,this,t)},this.insert=function(e){var t=this.session,n=t.getMode(),r=this.getCursorPosition();if(this.getBehavioursEnabled()){var i=n.transformAction(t.getState(r.row),"insertion",this,t,e);i&&(e=i.text)}e=e.replace(" ",this.session.getTabString());if(!this.selection.isEmpty())r=this.session.remove(this.getSelectionRange()),this.clearSelection();else if(this.session.getOverwrite()){var s=new h.fromPoints(r,r);s.end.column+=e.length,this.session.remove(s)}this.clearSelection();var o=r.column,u=t.getState(r.row),a=t.getLine(r.row),f=n.checkOutdent(u,a,e),l=t.insert(r,e);i&&i.selection&&(i.selection.length==2?this.selection.setSelectionRange(new h(r.row,o+i.selection[0],r.row,o+i.selection[1])):this.selection.setSelectionRange(new h(r.row+i.selection[0],i.selection[1],r.row+i.selection[2],i.selection[3])));if(t.getDocument().isNewLine(e)){var c=n.getNextLineIndent(u,a.slice(0,r.column),t.getTabString());this.moveCursorTo(r.row+1,0);var p=t.getTabSize(),d=Number.MAX_VALUE;for(var v=r.row+1;v<=l.row;++v){var m=0;a=t.getLine(v);for(var g=0;g<a.length;++g)if(a.charAt(g)==" ")m+=p;else{if(a.charAt(g)!=" ")break;m+=1}/[^\s]/.test(a)&&(d=Math.min(m,d))}for(var v=r.row+1;v<=l.row;++v){var y=d;a=t.getLine(v);for(var g=0;g<a.length&&y>0;++g)a.charAt(g)==" "?y-=p:a.charAt(g)==" "&&(y-=1);t.remove(new h(v,0,v,g))}t.indentRows(r.row+1,l.row,c)}f&&n.autoOutdent(u,t,r.row)},this.onTextInput=function(e){this.keyBinding.onTextInput(e)},this.onCommandKey=function(e,t,n){this.keyBinding.onCommandKey(e,t,n)},this.setOverwrite=function(e){this.session.setOverwrite(e)},this.getOverwrite=function(){return this.session.getOverwrite()},this.toggleOverwrite=function(){this.session.toggleOverwrite()},this.setScrollSpeed=function(e){this.$mouseHandler.setScrollSpeed(e)},this.getScrollSpeed=function(){return this.$mouseHandler.getScrollSpeed()},this.setDragDelay=function(e){this.$mouseHandler.setDragDelay(e)},this.getDragDelay=function(){return this.$mouseHandler.getDragDelay()},this.$selectionStyle="line",this.setSelectionStyle=function(e){if(this.$selectionStyle==e)return;this.$selectionStyle=e,this.onSelectionChange(),this._emit("changeSelectionStyle",{data:e})},this.getSelectionStyle=function(){return this.$selectionStyle},this.$highlightActiveLine=!0,this.setHighlightActiveLine=function(e){if(this.$highlightActiveLine==e)return;this.$highlightActiveLine=e,this.$updateHighlightActiveLine()},this.getHighlightActiveLine=function(){return this.$highlightActiveLine},this.$highlightGutterLine=!0,this.setHighlightGutterLine=function(e){if(this.$highlightGutterLine==e)return;this.renderer.setHighlightGutterLine(e),this.$highlightGutterLine=e},this.getHighlightGutterLine=function(){return this.$highlightGutterLine},this.$highlightSelectedWord=!0,this.setHighlightSelectedWord=function(e){if(this.$highlightSelectedWord==e)return;this.$highlightSelectedWord=e,this.$onSelectionChange()},this.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},this.setAnimatedScroll=function(e){this.renderer.setAnimatedScroll(e)},this.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},this.setShowInvisibles=function(e){this.renderer.setShowInvisibles(e)},this.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},this.setDisplayIndentGuides=function(e){this.renderer.setDisplayIndentGuides(e)},this.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},this.setShowPrintMargin=function(e){this.renderer.setShowPrintMargin(e)},this.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},this.setPrintMarginColumn=function(e){this.renderer.setPrintMarginColumn(e)},this.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},this.$readOnly=!1,this.setReadOnly=function(e){this.$readOnly=e},this.getReadOnly=function(){return this.$readOnly},this.$modeBehaviours=!0,this.setBehavioursEnabled=function(e){this.$modeBehaviours=e},this.getBehavioursEnabled=function(){return this.$modeBehaviours},this.$modeWrapBehaviours=!0,this.setWrapBehavioursEnabled=function(e){this.$modeWrapBehaviours=e},this.getWrapBehavioursEnabled=function(){return this.$modeWrapBehaviours},this.setShowFoldWidgets=function(e){var t=this.renderer.$gutterLayer;if(t.getShowFoldWidgets()==e)return;this.renderer.$gutterLayer.setShowFoldWidgets(e),this.$showFoldWidgets=e,this.renderer.updateFull()},this.getShowFoldWidgets=function(){return this.renderer.$gutterLayer.getShowFoldWidgets()},this.setFadeFoldWidgets=function(e){this.renderer.setFadeFoldWidgets(e)},this.getFadeFoldWidgets=function(){return this.renderer.getFadeFoldWidgets()},this.remove=function(e){this.selection.isEmpty()&&(e=="left"?this.selection.selectLeft():this.selection.selectRight());var t=this.getSelectionRange();if(this.getBehavioursEnabled()){var n=this.session,r=n.getState(t.start.row),i=n.getMode().transformAction(r,"deletion",this,n,t);i&&(t=i)}this.session.remove(t),this.clearSelection()},this.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var e=this.getSelectionRange();e.start.column==e.end.column&&e.start.row==e.end.row&&(e.end.column=0,e.end.row++),this.session.remove(e),this.clearSelection()},this.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var e=this.getCursorPosition();this.insert("\n"),this.moveCursorToPosition(e)},this.transposeLetters=function(){if(!this.selection.isEmpty())return;var e=this.getCursorPosition(),t=e.column;if(t===0)return;var n=this.session.getLine(e.row),r,i;t<n.length?(r=n.charAt(t)+n.charAt(t-1),i=new h(e.row,t-1,e.row,t+1)):(r=n.charAt(t-1)+n.charAt(t-2),i=new h(e.row,t-2,e.row,t)),this.session.replace(i,r)},this.toLowerCase=function(){var e=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var t=this.getSelectionRange(),n=this.session.getTextRange(t);this.session.replace(t,n.toLowerCase()),this.selection.setSelectionRange(e)},this.toUpperCase=function(){var e=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var t=this.getSelectionRange(),n=this.session.getTextRange(t);this.session.replace(t,n.toUpperCase()),this.selection.setSelectionRange(e)},this.indent=function(){var e=this.session,t=this.getSelectionRange();if(!(t.start.row<t.end.row||t.start.column<t.end.column)){var r;if(this.session.getUseSoftTabs()){var s=e.getTabSize(),o=this.getCursorPosition(),u=e.documentToScreenColumn(o.row,o.column),a=s-u%s;r=i.stringRepeat(" ",a)}else r=" ";return this.insert(r)}var n=this.$getSelectedRows();e.indentRows(n.first,n.last," ")},this.blockOutdent=function(){var e=this.session.getSelection();this.session.outdentRows(e.getRange())},this.sortLines=function(){var e=this.$getSelectedRows(),t=this.session,n=[];for(i=e.first;i<=e.last;i++)n.push(t.getLine(i));n.sort(function(e,t){return e.toLowerCase()<t.toLowerCase()?-1:e.toLowerCase()>t.toLowerCase()?1:0});var r=new h(0,0,0,0);for(var i=e.first;i<=e.last;i++){var s=t.getLine(i);r.start.row=i,r.end.row=i,r.end.column=s.length,t.replace(r,n[i-e.first])}},this.toggleCommentLines=function(){var e=this.session.getState(this.getCursorPosition().row),t=this.$getSelectedRows();this.session.getMode().toggleCommentLines(e,this.session,t.first,t.last)},this.getNumberAt=function(e,t){var n=/[\-]?[0-9]+(?:\.[0-9]+)?/g;n.lastIndex=0;var r=this.session.getLine(e);while(n.lastIndex<t-1){var i=n.exec(r);if(i.index<=t&&i.index+i[0].length>=t){var s={value:i[0],start:i.index,end:i.index+i[0].length};return s}}return null},this.modifyNumber=function(e){var t=this.selection.getCursor().row,n=this.selection.getCursor().column,r=new h(t,n-1,t,n),i=this.session.getTextRange(r);if(!isNaN(parseFloat(i))&&isFinite(i)){var s=this.getNumberAt(t,n);if(s){var o=s.value.indexOf(".")>=0?s.start+s.value.indexOf(".")+1:s.end,u=s.start+s.value.length-o,a=parseFloat(s.value);a*=Math.pow(10,u),o!==s.end&&n<o?e*=Math.pow(10,s.end-n-1):e*=Math.pow(10,s.end-n),a+=e,a/=Math.pow(10,u);var f=a.toFixed(u),l=new h(t,s.start,t,s.end);this.session.replace(l,f),this.moveCursorTo(t,Math.max(s.start+1,n+f.length-s.value.length))}}},this.removeLines=function(){var e=this.$getSelectedRows(),t;e.first===0||e.last+1<this.session.getLength()?t=new h(e.first,0,e.last+1,0):t=new h(e.first-1,this.session.getLine(e.first-1).length,e.last,this.session.getLine(e.last).length),this.session.remove(t),this.clearSelection()},this.duplicateSelection=function(){var e=this.selection,t=this.session,n=e.getRange();if(n.isEmpty()){var r=n.start.row;t.duplicateLines(r,r)}else{var i=e.isBackwards(),s=e.isBackwards()?n.start:n.end,o=t.insert(s,t.getTextRange(n),!1);n.start=s,n.end=o,e.setSelectionRange(n,i)}},this.moveLinesDown=function(){this.$moveLines(function(e,t){return this.session.moveLinesDown(e,t)})},this.moveLinesUp=function(){this.$moveLines(function(e,t){return this.session.moveLinesUp(e,t)})},this.moveText=function(e,t){return this.$readOnly?null:this.session.moveText(e,t)},this.copyLinesUp=function(){this.$moveLines(function(e,t){return this.session.duplicateLines(e,t),0})},this.copyLinesDown=function(){this.$moveLines(function(e,t){return this.session.duplicateLines(e,t)})},this.$moveLines=function(e){var t=this.$getSelectedRows(),n=this.selection;if(!n.isMultiLine())var r=n.getRange(),i=n.isBackwards();var s=e.call(this,t.first,t.last);r?(r.start.row+=s,r.end.row+=s,n.setSelectionRange(r,i)):(n.setSelectionAnchor(t.last+s+1,0),n.$moveSelection(function(){n.moveCursorTo(t.first+s,0)}))},this.$getSelectedRows=function(){var e=this.getSelectionRange().collapseRows();return{first:e.start.row,last:e.end.row}},this.onCompositionStart=function(e){this.renderer.showComposition(this.getCursorPosition())},this.onCompositionUpdate=function(e){this.renderer.setCompositionText(e)},this.onCompositionEnd=function(){this.renderer.hideComposition()},this.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},this.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},this.isRowVisible=function(e){return e>=this.getFirstVisibleRow()&&e<=this.getLastVisibleRow()},this.isRowFullyVisible=function(e){return e>=this.renderer.getFirstFullyVisibleRow()&&e<=this.renderer.getLastFullyVisibleRow()},this.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},this.$moveByPage=function(e,t){var n=this.renderer,r=this.renderer.layerConfig,i=e*Math.floor(r.height/r.lineHeight);this.$blockScrolling++,t==1?this.selection.$moveSelection(function(){this.moveCursorBy(i,0)}):t==0&&(this.selection.moveCursorBy(i,0),this.selection.clearSelection()),this.$blockScrolling--;var s=n.scrollTop;n.scrollBy(0,i*r.lineHeight),t!=null&&n.scrollCursorIntoView(null,.5),n.animateScrolling(s)},this.selectPageDown=function(){this.$moveByPage(1,!0)},this.selectPageUp=function(){this.$moveByPage(-1,!0)},this.gotoPageDown=function(){this.$moveByPage(1,!1)},this.gotoPageUp=function(){this.$moveByPage(-1,!1)},this.scrollPageDown=function(){this.$moveByPage(1)},this.scrollPageUp=function(){this.$moveByPage(-1)},this.scrollToRow=function(e){this.renderer.scrollToRow(e)},this.scrollToLine=function(e,t,n,r){this.renderer.scrollToLine(e,t,n,r)},this.centerSelection=function(){var e=this.getSelectionRange(),t={row:Math.floor(e.start.row+(e.end.row-e.start.row)/2),column:Math.floor(e.start.column+(e.end.column-e.start.column)/2)};this.renderer.alignCursor(t,.5)},this.getCursorPosition=function(){return this.selection.getCursor()},this.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},this.getSelectionRange=function(){return this.selection.getRange()},this.selectAll=function(){this.$blockScrolling+=1,this.selection.selectAll(),this.$blockScrolling-=1},this.clearSelection=function(){this.selection.clearSelection()},this.moveCursorTo=function(e,t){this.selection.moveCursorTo(e,t)},this.moveCursorToPosition=function(e){this.selection.moveCursorToPosition(e)},this.jumpToMatching=function(e){var t=this.getCursorPosition(),n=this.session.getBracketRange(t);if(!n){n=this.find({needle:/[{}()\[\]]/g,preventScroll:!0,start:{row:t.row,column:t.column-1}});if(!n)return;var r=n.start;r.row==t.row&&Math.abs(r.column-t.column)<2&&(n=this.session.getBracketRange(r))}r=n&&n.cursor||r,r&&(e?n&&n.isEqual(this.getSelectionRange())?this.clearSelection():this.selection.selectTo(r.row,r.column):(this.clearSelection(),this.moveCursorTo(r.row,r.column)))},this.gotoLine=function(e,t,n){this.selection.clearSelection(),this.session.unfold({row:e-1,column:t||0}),this.$blockScrolling+=1,this.moveCursorTo(e-1,t||0),this.$blockScrolling-=1,this.isRowFullyVisible(e-1)||this.scrollToLine(e-1,!0,n)},this.navigateTo=function(e,t){this.clearSelection(),this.moveCursorTo(e,t)},this.navigateUp=function(e){this.selection.clearSelection(),e=e||1,this.selection.moveCursorBy(-e,0)},this.navigateDown=function(e){this.selection.clearSelection(),e=e||1,this.selection.moveCursorBy(e,0)},this.navigateLeft=function(e){if(!this.selection.isEmpty()){var t=this.getSelectionRange().start;this.moveCursorToPosition(t)}else{e=e||1;while(e--)this.selection.moveCursorLeft()}this.clearSelection()},this.navigateRight=function(e){if(!this.selection.isEmpty()){var t=this.getSelectionRange().end;this.moveCursorToPosition(t)}else{e=e||1;while(e--)this.selection.moveCursorRight()}this.clearSelection()},this.navigateLineStart=function(){this.selection.moveCursorLineStart(),this.clearSelection()},this.navigateLineEnd=function(){this.selection.moveCursorLineEnd(),this.clearSelection()},this.navigateFileEnd=function(){var e=this.renderer.scrollTop;this.selection.moveCursorFileEnd(),this.clearSelection(),this.renderer.animateScrolling(e)},this.navigateFileStart=function(){var e=this.renderer.scrollTop;this.selection.moveCursorFileStart(),this.clearSelection(),this.renderer.animateScrolling(e)},this.navigateWordRight=function(){this.selection.moveCursorWordRight(),this.clearSelection()},this.navigateWordLeft=function(){this.selection.moveCursorWordLeft(),this.clearSelection()},this.replace=function(e,t){t&&this.$search.set(t);var n=this.$search.find(this.session),r=0;return n?(this.$tryReplace(n,e)&&(r=1),n!==null&&(this.selection.setSelectionRange(n),this.renderer.scrollSelectionIntoView(n.start,n.end)),r):r},this.replaceAll=function(e,t){t&&this.$search.set(t);var n=this.$search.findAll(this.session),r=0;if(!n.length)return r;this.$blockScrolling+=1;var i=this.getSelectionRange();this.clearSelection(),this.selection.moveCursorTo(0,0);for(var s=n.length-1;s>=0;--s)this.$tryReplace(n[s],e)&&r++;return this.selection.setSelectionRange(i),this.$blockScrolling-=1,r},this.$tryReplace=function(e,t){var n=this.session.getTextRange(e);return t=this.$search.replace(n,t),t!==null?(e.end=this.session.replace(e,t),e):null},this.getLastSearchOptions=function(){return this.$search.getOptions()},this.find=function(e,t,n){t||(t={}),typeof e=="string"||e instanceof RegExp?t.needle=e:typeof e=="object"&&r.mixin(t,e);var i=this.selection.getRange();t.needle==null&&(e=this.session.getTextRange(i)||this.$search.$options.needle,e||(i=this.session.getWordRange(i.start.row,i.start.column),e=this.session.getTextRange(i)),this.$search.set({needle:e})),this.$search.set(t),t.start||this.$search.set({start:i});var s=this.$search.find(this.session);if(t.preventScroll)return s;if(s)return this.revealRange(s,n),s;t.backwards?i.start=i.end:i.end=i.start,this.selection.setRange(i)},this.findNext=function(e,t){this.find({skipCurrent:!0,backwards:!1},e,t)},this.findPrevious=function(e,t){this.find(e,{skipCurrent:!0,backwards:!0},t)},this.revealRange=function(e,t){this.$blockScrolling+=1,this.session.unfold(e),this.selection.setSelectionRange(e),this.$blockScrolling-=1;var n=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(e.start,e.end,.5),t!=0&&this.renderer.animateScrolling(n)},this.undo=function(){this.$blockScrolling++,this.session.getUndoManager().undo(),this.$blockScrolling--,this.renderer.scrollCursorIntoView(null,.5)},this.redo=function(){this.$blockScrolling++,this.session.getUndoManager().redo(),this.$blockScrolling--,this.renderer.scrollCursorIntoView(null,.5)},this.destroy=function(){this.renderer.destroy()}}).call(m.prototype),t.Editor=m}),define("ace/lib/lang",["require","exports","module"],function(e,t,n){t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){return(new Array(t+1)).join(e)};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n<r;n++)e[n]&&typeof e[n]=="object"?t[n]=this.copyObject(e[n]):t[n]=e[n];return t},t.deepCopy=function(e){if(typeof e!="object")return e;var t=e.constructor();for(var n in e)typeof e[n]=="object"?t[n]=this.deepCopy(e[n]):t[n]=e[n];return t},t.arrayToMap=function(e){var t={};for(var n=0;n<e.length;n++)t[e[n]]=1;return t},t.createMap=function(e){var t=Object.create(null);for(var n in e)t[n]=e[n];return t},t.arrayRemove=function(e,t){for(var n=0;n<=e.length;n++)t===e[n]&&e.splice(n,1)},t.escapeRegExp=function(e){return e.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},t.escapeHTML=function(e){return e.replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},t.getMatchOffsets=function(e,t){var n=[];return e.replace(t,function(e){n.push({offset:arguments[arguments.length-2],length:e.length})}),n},t.deferredCall=function(e){var t=null,n=function(){t=null,e()},r=function(e){return r.cancel(),t=setTimeout(n,e||0),r};return r.schedule=r,r.call=function(){return this.cancel(),e(),r},r.cancel=function(){return clearTimeout(t),t=null,r},r},t.delayedCall=function(e,t){var n=null,r=function(){n=null,e()},i=function(e){n&&clearTimeout(n),n=setTimeout(r,e||t)};return i.delay=i,i.schedule=function(e){n==null&&(n=setTimeout(r,e||0))},i.call=function(){this.cancel(),e()},i.cancel=function(){n&&clearTimeout(n),n=null},i.isPending=function(){return n},i}}),define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/lib/dom","ace/lib/lang"],function(e,t,n){var r=e("../lib/event"),i=e("../lib/useragent"),s=e("../lib/dom"),o=e("../lib/lang"),u=function(e,t){function g(e){if(c)return;var t=e?2:1,r=2;try{n.setSelectionRange(t,r)}catch(i){}}function y(){if(c)return;n.value=u,i.isWebKit&&m.schedule()}function D(){setTimeout(function(){h&&(n.style.cssText=h,h=""),t.renderer.$keepTextAreaAtCursor==null&&(t.renderer.$keepTextAreaAtCursor=!0,t.renderer.$moveTextAreaToCursor())},0)}var n=s.createElement("textarea");n.className="ace_text-input",i.isTouchPad&&n.setAttribute("x-palm-disable-auto-cap",!0),n.wrap="off",n.autocorrect="off",n.autocapitalize="off",n.spellcheck=!1,n.style.top="-2em",e.insertBefore(n,e.firstChild);var u="",a=!1,f=!1,l=!1,c=!1,h="",p=!0,d=document.activeElement===n;r.addListener(n,"blur",function(){t.onBlur(),d=!1}),r.addListener(n,"focus",function(){d=!0,t.onFocus(),g()}),this.focus=function(){n.focus()},this.blur=function(){n.blur()},this.isFocused=function(){return d};var v=o.delayedCall(function(){d&&g(p)}),m=o.delayedCall(function(){c||(n.value=u,d&&g())});i.isWebKit||t.addEventListener("changeSelection",function(){t.selection.isEmpty()!=p&&(p=!p,v.schedule())}),y(),d&&t.onFocus();var b=function(e){return e.selectionStart===0&&e.selectionEnd===e.value.length};!n.setSelectionRange&&n.createTextRange&&(n.setSelectionRange=function(e,t){var n=this.createTextRange();n.collapse(!0),n.moveStart("character",e),n.moveEnd("character",t),n.select()},b=function(e){try{var t=e.ownerDocument.selection.createRange()}catch(n){}return!t||t.parentElement()!=e?!1:t.text==e.value});if(i.isOldIE){var w=!1,E=function(e){if(w)return;var t=n.value;if(c||!t||t==u)return;if(e&&t==u[0])return S.schedule();N(t),w=!0,y(),w=!1},S=o.delayedCall(E);r.addListener(n,"propertychange",E);var x={13:1,27:1};r.addListener(n,"keyup",function(e){c&&(!n.value||x[e.keyCode])&&setTimeout(_,0);if((n.value.charCodeAt(0)||0)<129)return;c?M():O()})}var T=function(e){if(a){a=!1;return}if(f){f=!1;return}b(n)&&(t.selectAll(),g())},N=function(e){l?(g(),e&&t.onPaste(e),l=!1):e==u[0]?t.execCommand("del",{source:"ace"}):(e.substring(0,2)==u?e=e.substr(2):e[0]==u[0]?e=e.substr(1):e[e.length-1]==u[0]&&(e=e.slice(0,-1)),e[e.length-1]==u[0]&&(e=e.slice(0,-1)),e&&t.onTextInput(e))},C=function(e){if(c)return;var t=n.value;y(),N(t)},k=function(e){var i=t.getCopyText();if(!i){r.preventDefault(e);return}var s=e.clipboardData||window.clipboardData;if(s){var o=s.setData("Text",i);o&&(t.onCut(),r.preventDefault(e))}o||(a=!0,n.value=i,n.select(),setTimeout(function(){a=!1,y(),g(),t.onCut()}))},L=function(e){var i=t.getCopyText();if(!i){r.preventDefault(e);return}var s=e.clipboardData||window.clipboardData;if(s){var o=s.setData("Text",i);o&&(t.onCopy(),r.preventDefault(e))}o||(f=!0,n.value=i,n.select(),setTimeout(function(){f=!1,y(),g(),t.onCopy()}))},A=function(e){var s=e.clipboardData||window.clipboardData;if(s){var o=s.getData("Text");o&&t.onPaste(o),i.isIE&&setTimeout(g),r.preventDefault(e)}else n.value="",l=!0};r.addCommandKeyListener(n,t.onCommandKey.bind(t)),r.addListener(n,"select",T),r.addListener(n,"input",C),r.addListener(n,"cut",k),r.addListener(n,"copy",L),r.addListener(n,"paste",A),(!("oncut"in n)||!("oncopy"in n)||!("onpaste"in n))&&r.addListener(e,"keydown",function(e){if(i.isMac&&!e.metaKey||!e.ctrlKey)return;switch(e.keyCode){case 67:L(e);break;case 86:A(e);break;case 88:k(e)}});var O=function(e){c=!0,t.onCompositionStart(),setTimeout(M,0)},M=function(){if(!c)return;t.onCompositionUpdate(n.value)},_=function(e){c=!1,t.onCompositionEnd()};r.addListener(n,"compositionstart",O),i.isGecko?r.addListener(n,"text",M):r.addListener(n,"keyup",M),r.addListener(n,"compositionend",_),this.getElement=function(){return n},this.onContextMenu=function(e){h||(h=n.style.cssText),n.style.cssText="z-index:100000;"+(i.isIE?"opacity:0.1;":""),g(t.selection.isEmpty()),t._emit("nativecontextmenu",{target:t});var s=t.container.getBoundingClientRect(),o=function(e){n.style.left=e.clientX-s.left-2+"px",n.style.top=e.clientY-s.top-2+"px"};o(e);if(e.type!="mousedown")return;t.renderer.$keepTextAreaAtCursor&&(t.renderer.$keepTextAreaAtCursor=null),i.isWin&&r.capture(t.container,o,D)},this.onContextMenuClose=D,i.isGecko||r.addListener(n,"contextmenu",function(e){t.textInput.onContextMenu(e),D()})};t.TextInput=u}),define("ace/mouse/mouse_handler",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/mouse/default_handlers","ace/mouse/default_gutter_handler","ace/mouse/mouse_event","ace/mouse/dragdrop"],function(e,t,n){var r=e("../lib/event"),i=e("../lib/useragent"),s=e("./default_handlers").DefaultHandlers,o=e("./default_gutter_handler").GutterHandler,u=e("./mouse_event").MouseEvent,a=e("./dragdrop").DragdropHandler,f=function(e){this.editor=e,new s(this),new o(this),new a(this),r.addListener(e.container,"mousedown",function(t){return e.focus(),r.preventDefault(t)});var t=e.renderer.getMouseEventTarget();r.addListener(t,"click",this.onMouseEvent.bind(this,"click")),r.addListener(t,"mousemove",this.onMouseMove.bind(this,"mousemove")),r.addMultiMouseDownListener(t,[300,300,250],this,"onMouseEvent"),r.addMouseWheelListener(e.container,this.onMouseWheel.bind(this,"mousewheel"));var n=e.renderer.$gutter;r.addListener(n,"mousedown",this.onMouseEvent.bind(this,"guttermousedown")),r.addListener(n,"click",this.onMouseEvent.bind(this,"gutterclick")),r.addListener(n,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick")),r.addListener(n,"mousemove",this.onMouseEvent.bind(this,"guttermousemove"))};(function(){this.$scrollSpeed=1,this.setScrollSpeed=function(e){this.$scrollSpeed=e},this.getScrollSpeed=function(){return this.$scrollSpeed},this.onMouseEvent=function(e,t){this.editor._emit(e,new u(t,this.editor))},this.$dragDelay=250,this.setDragDelay=function(e){this.$dragDelay=e},this.getDragDelay=function(){return this.$dragDelay},this.onMouseMove=function(e,t){var n=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;if(!n||!n.length)return;this.editor._emit(e,new u(t,this.editor))},this.onMouseWheel=function(e,t){var n=new u(t,this.editor);n.speed=this.$scrollSpeed*2,n.wheelX=t.wheelX,n.wheelY=t.wheelY,this.editor._emit(e,n)},this.setState=function(e){this.state=e},this.captureMouse=function(e,t){t&&this.setState(t),this.x=e.x,this.y=e.y,this.isMousePressed=!0;var n=this.editor.renderer;n.$keepTextAreaAtCursor&&(n.$keepTextAreaAtCursor=null);var s=this,o=function(e){s.x=e.clientX,s.y=e.clientY},u=function(e){clearInterval(f),s[s.state+"End"]&&s[s.state+"End"](e),s.$clickSelection=null,n.$keepTextAreaAtCursor==null&&(n.$keepTextAreaAtCursor=!0,n.$moveTextAreaToCursor()),s.isMousePressed=!1},a=function(){s[s.state]&&s[s.state]()};if(i.isOldIE&&e.domEvent.type=="dblclick"){setTimeout(function(){a(),u(e.domEvent)});return}r.capture(this.editor.container,o,u);var f=setInterval(a,20)}}).call(f.prototype),t.MouseHandler=f}),define("ace/mouse/default_handlers",["require","exports","module","ace/lib/dom","ace/lib/useragent"],function(e,t,n){function o(e){e.$clickSelection=null;var t=e.editor;t.setDefaultHandler("mousedown",this.onMouseDown.bind(e)),t.setDefaultHandler("dblclick",this.onDoubleClick.bind(e)),t.setDefaultHandler("tripleclick",this.onTripleClick.bind(e)),t.setDefaultHandler("quadclick",this.onQuadClick.bind(e)),t.setDefaultHandler("mousewheel",this.onMouseWheel.bind(e));var n=["select","startSelect","drag","dragEnd","dragWait","dragWaitEnd","startDrag","focusWait"];n.forEach(function(t){e[t]=this[t]},this),e.selectByLines=this.extendSelectionBy.bind(e,"getLineRange"),e.selectByWords=this.extendSelectionBy.bind(e,"getWordRange"),e.$focusWaitTimout=250}function u(e,t,n,r){return Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))}function a(e,t){if(e.start.row==e.end.row)var n=2*t.column-e.start.column-e.end.column;else var n=2*t.row-e.start.row-e.end.row;return n<0?{cursor:e.start,anchor:e.end}:{cursor:e.end,anchor:e.start}}var r=e("../lib/dom"),i=e("../lib/useragent"),s=5;(function(){this.onMouseDown=function(e){var t=e.inSelection(),n=e.getDocumentPosition();this.mousedownEvent=e;var r=this.editor,i=e.getButton();if(i!==0){var s=r.getSelectionRange(),o=s.isEmpty();o&&(r.moveCursorToPosition(n),r.selection.clearSelection()),r.textInput.onContextMenu(e.domEvent);return}if(t&&!r.isFocused()){r.focus();if(this.$focusWaitTimout&&!this.$clickSelection)return this.setState("focusWait"),this.captureMouse(e),e.preventDefault()}return!t||this.$clickSelection||e.getShiftKey()?this.startSelect(n):t&&(this.mousedownEvent.time=(new Date).getTime(),this.setState("dragWait")),this.captureMouse(e),e.preventDefault()},this.startSelect=function(e){e=e||this.editor.renderer.screenToTextCoordinates(this.x,this.y),this.mousedownEvent.getShiftKey()?this.editor.selection.selectToPosition(e):this.$clickSelection||(this.editor.moveCursorToPosition(e),this.editor.selection.clearSelection()),this.setState("select")},this.select=function(){var e,t=this.editor,n=t.renderer.screenToTextCoordinates(this.x,this.y);if(this.$clickSelection){var r=this.$clickSelection.comparePoint(n);if(r==-1)e=this.$clickSelection.end;else if(r==1)e=this.$clickSelection.start;else{var i=a(this.$clickSelection,n);n=i.cursor,e=i.anchor}t.selection.setSelectionAnchor(e.row,e.column)}t.selection.selectToPosition(n),t.renderer.scrollCursorIntoView()},this.extendSelectionBy=function(e){var t,n=this.editor,r=n.renderer.screenToTextCoordinates(this.x,this.y),i=n.selection[e](r.row,r.column);if(this.$clickSelection){var s=this.$clickSelection.comparePoint(i.start),o=this.$clickSelection.comparePoint(i.end);if(s==-1&&o<=0){t=this.$clickSelection.end;if(i.end.row!=r.row||i.end.column!=r.column)r=i.start}else if(o==1&&s>=0){t=this.$clickSelection.start;if(i.start.row!=r.row||i.start.column!=r.column)r=i.end}else if(s==-1&&o==1)r=i.end,t=i.start;else{var u=a(this.$clickSelection,r);r=u.cursor,t=u.anchor}n.selection.setSelectionAnchor(t.row,t.column)}n.selection.selectToPosition(r),n.renderer.scrollCursorIntoView()},this.startDrag=function(){var e=this.editor;this.setState("drag"),this.dragRange=e.getSelectionRange();var t=e.getSelectionStyle();this.dragSelectionMarker=e.session.addMarker(this.dragRange,"ace_selection",t),e.clearSelection(),r.addCssClass(e.container,"ace_dragging"),this.$dragKeybinding||(this.$dragKeybinding={handleKeyboard:function(e,t,n,r){if(n=="esc")return{command:this.command}},command:{exec:function(e){var t=e.$mouseHandler;t.dragCursor=null,t.dragEnd(),t.startSelect()}}}),e.keyBinding.addKeyboardHandler(this.$dragKeybinding)},this.focusWait=function(){var e=u(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),t=(new Date).getTime();(e>s||t-this.mousedownEvent.time>this.$focusWaitTimout)&&this.startSelect()},this.dragWait=function(e){var t=u(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),n=(new Date).getTime(),r=this.editor;t>s?this.startSelect(this.mousedownEvent.getDocumentPosition()):n-this.mousedownEvent.time>r.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(e){this.mousedownEvent.domEvent=e,this.startSelect()},this.drag=function(){var e=this.editor;this.dragCursor=e.renderer.screenToTextCoordinates(this.x,this.y),e.moveCursorToPosition(this.dragCursor),e.renderer.scrollCursorIntoView()},this.dragEnd=function(e){var t=this.editor,n=this.dragCursor,i=this.dragRange;r.removeCssClass(t.container,"ace_dragging"),t.session.removeMarker(this.dragSelectionMarker),t.keyBinding.removeKeyboardHandler(this.$dragKeybinding);if(!n)return;t.clearSelection();if(e&&(e.ctrlKey||e.altKey)){var s=t.session,o=i;o.end=s.insert(n,s.getTextRange(i)),o.start=n}else{if(i.contains(n.row,n.column))return;var o=t.moveText(i,n)}if(!o)return;t.selection.setSelectionRange(o)},this.onDoubleClick=function(e){var t=e.getDocumentPosition(),n=this.editor,r=n.session,i=r.getBracketRange(t);if(i){i.isEmpty()&&(i.start.column--,i.end.column++),this.$clickSelection=i,this.setState("select");return}this.$clickSelection=n.selection.getWordRange(t.row,t.column),this.setState("selectByWords")},this.onTripleClick=function(e){var t=e.getDocumentPosition(),n=this.editor;this.setState("selectByLines"),this.$clickSelection=n.selection.getLineRange(t.row)},this.onQuadClick=function(e){var t=this.editor;t.selectAll(),this.$clickSelection=t.getSelectionRange(),this.setState("null")},this.onMouseWheel=function(e){if(e.getShiftKey()||e.getAccelKey())return;var t=this.editor,n=t.renderer.isScrollableBy(e.wheelX*e.speed,e.wheelY*e.speed);if(n)this.$passScrollEvent=!1;else{if(this.$passScrollEvent)return;if(!this.$scrollStopTimeout){var r=this;this.$scrollStopTimeout=setTimeout(function(){r.$passScrollEvent=!0,r.$scrollStopTimeout=null},200)}}return t.renderer.scrollBy(e.wheelX*e.speed,e.wheelY*e.speed),e.preventDefault()}}).call(o.prototype),t.DefaultHandlers=o}),define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/event"],function(e,t,n){function s(e){function f(){u=r.createElement("div"),u.className="ace_gutter-tooltip",u.style.maxWidth="500px",u.style.display="none",t.container.appendChild(u)}function l(){u||f();var e=o.getDocumentPosition().row,r=n.$annotations[e];if(!r)return c();var i=t.session.getLength();if(e==i){var s=t.renderer.pixelToScreenCoordinates(0,o.y).row,l=o.$pos;if(s>t.session.documentToScreenRow(l.row,l.column))return c()}if(a==r)return;a=r.text.join("<br/>"),u.style.display="block",u.innerHTML=a,t.on("mousewheel",c),h(o)}function c(){s&&(s=clearTimeout(s)),a&&(u.style.display="none",a=null,t.removeEventListener("mousewheel",c))}function h(e){var n=t.renderer.$gutter.getBoundingClientRect();u.style.left=e.x-n.left+15+"px",e.y+3*t.renderer.lineHeight+15<n.bottom?(u.style.bottom="",u.style.top=e.y-n.top+15+"px"):(u.style.top="",u.style.bottom=n.bottom-e.y+5+"px")}var t=e.editor,n=t.renderer.$gutterLayer;e.editor.setDefaultHandler("guttermousedown",function(r){if(!t.isFocused())return;var i=n.getRegion(r);if(i)return;var s=r.getDocumentPosition().row,o=t.session.selection;if(r.getShiftKey())o.selectTo(s,0);else{if(r.domEvent.detail==2)return t.selectAll(),r.preventDefault();e.$clickSelection=t.selection.getLineRange(s)}return e.captureMouse(r,"selectByLines"),r.preventDefault()});var s,o,u,a;e.editor.setDefaultHandler("guttermousemove",function(t){var n=t.domEvent.target||t.domEvent.srcElement;if(r.hasCssClass(n,"ace_fold-widget"))return c();a&&h(t),o=t;if(s)return;s=setTimeout(function(){s=null,o&&!e.isMousePressed?l():c()},50)}),i.addListener(t.renderer.$gutter,"mouseout",function(e){o=null;if(!a||s)return;s=setTimeout(function(){s=null,c()},50)})}var r=e("../lib/dom"),i=e("../lib/event");t.GutterHandler=s}),define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(e,t,n){var r=e("../lib/event"),i=e("../lib/useragent"),s=t.MouseEvent=function(e,t){this.domEvent=e,this.editor=t,this.x=this.clientX=e.clientX,this.y=this.clientY=e.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1};(function(){this.stopPropagation=function(){r.stopPropagation(this.domEvent),this.propagationStopped=!0},this.preventDefault=function(){r.preventDefault(this.domEvent),this.defaultPrevented=!0},this.stop=function(){this.stopPropagation(),this.preventDefault()},this.getDocumentPosition=function(){return this.$pos?this.$pos:(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY),this.$pos)},this.inSelection=function(){if(this.$inSelection!==null)return this.$inSelection;var e=this.editor;if(e.getReadOnly())this.$inSelection=!1;else{var t=e.getSelectionRange();if(t.isEmpty())this.$inSelection=!1;else{var n=this.getDocumentPosition();this.$inSelection=t.contains(n.row,n.column)}}return this.$inSelection},this.getButton=function(){return r.getButton(this.domEvent)},this.getShiftKey=function(){return this.domEvent.shiftKey},this.getAccelKey=i.isMac?function(){return this.domEvent.metaKey}:function(){return this.domEvent.ctrlKey}}).call(s.prototype)}),define("ace/mouse/dragdrop",["require","exports","module","ace/lib/event"],function(e,t,n){var r=e("../lib/event"),i=function(e){var t=e.editor,n,i,s,o,u,a,f,l=0,c=t.container;r.addListener(c,"dragenter",function(e){l++;if(!n){u=t.getSelectionRange(),a=t.selection.isBackwards();var i=t.getSelectionStyle();n=t.session.addMarker(u,"ace_selection",i),t.clearSelection(),clearInterval(o),o=setInterval(h,20)}return r.preventDefault(e)}),r.addListener(c,"dragover",function(e){return i=e.clientX,s=e.clientY,r.preventDefault(e)});var h=function(){f=t.renderer.screenToTextCoordinates(i,s),t.moveCursorToPosition(f),t.renderer.scrollCursorIntoView()};r.addListener(c,"dragleave",function(e){l--;if(l>0)return;return console.log(e.type,l,e.target),clearInterval(o),t.session.removeMarker(n),n=null,t.selection.setSelectionRange(u,a),r.preventDefault(e)}),r.addListener(c,"drop",function(e){return console.log(e.type,l,e.target),l=0,clearInterval(o),t.session.removeMarker(n),n=null,u.end=t.session.insert(f,e.dataTransfer.getData("Text")),u.start=f,t.focus(),t.selection.setSelectionRange(u),r.preventDefault(e)})};t.DragdropHandler=i}),define("ace/mouse/fold_handler",["require","exports","module"],function(e,t,n){function r(e){e.on("click",function(t){var n=t.getDocumentPosition(),r=e.session,i=r.getFoldAt(n.row,n.column,1);i&&(t.getAccelKey()?r.removeFold(i):r.expandFold(i),t.stop())}),e.on("guttermousedown",function(t){var n=e.renderer.$gutterLayer.getRegion(t);if(n=="foldWidgets"){var r=t.getDocumentPosition().row,i=e.session;i.foldWidgets&&i.foldWidgets[r]&&e.session.onFoldWidgetClick(r,t),t.stop()}}),e.on("gutterdblclick",function(t){var n=e.renderer.$gutterLayer.getRegion(t);if(n=="foldWidgets"){var r=t.getDocumentPosition().row,i=e.session,s=i.foldWidgets;if(!s||s[r])return;var o=r-1,u;while(o>=0){var a=s[o];a==null&&(a=s[o]=i.getFoldWidget());if(a=="start"){var f=i.getFoldWidgetRange(o);u||(u=f);if(f&&f.end.row>=r)break}o--}o==-1&&(f=u);if(f){var r=f.start.row,l=i.getFoldAt(r,i.getLine(r).length,1);l?i.removeFold(l):(i.addFold("...",f),e.renderer.scrollCursorIntoView({row:f.start.row,column:0}))}t.stop()}})}t.FoldHandler=r}),define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],function(e,t,n){var r=e("../lib/keys"),i=e("../lib/event"),s=function(e){this.$editor=e,this.$data={},this.$handlers=[],this.setDefaultHandler(e.commands)};(function(){this.setDefaultHandler=function(e){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=e,this.addKeyboardHandler(e,0),this.$data={editor:this.$editor}},this.setKeyboardHandler=function(e){if(this.$handlers[this.$handlers.length-1]==e)return;while(this.$handlers[1])this.removeKeyboardHandler(this.$handlers[1]);this.addKeyboardHandler(e,1)},this.addKeyboardHandler=function(e,t){if(!e)return;var n=this.$handlers.indexOf(e);n!=-1&&this.$handlers.splice(n,1),t==undefined?this.$handlers.push(e):this.$handlers.splice(t,0,e),n==-1&&e.attach&&e.attach(this.$editor)},this.removeKeyboardHandler=function(e){var t=this.$handlers.indexOf(e);return t==-1?!1:(this.$handlers.splice(t,1),e.detach&&e.detach(this.$editor),!0)},this.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},this.$callKeyboardHandlers=function(e,t,n,r){var s;for(var o=this.$handlers.length;o--;){s=this.$handlers[o].handleKeyboard(this.$data,e,t,n,r);if(s&&s.command)break}if(!s||!s.command)return!1;var u=!1,a=this.$editor.commands;return s.command!="null"?u=a.exec(s.command,this.$editor,s.args,r):u=s.passEvent!=1,u&&r&&e!=-1&&i.stopEvent(r),u},this.onCommandKey=function(e,t,n){var i=r.keyCodeToString(n);this.$callKeyboardHandlers(t,i,n,e)},this.onTextInput=function(e){var t=this.$callKeyboardHandlers(-1,e);t||this.$editor.commands.exec("insertstring",this.$editor,e)}}).call(s.prototype),t.KeyBinding=s}),define("ace/edit_session",["require","exports","module","ace/config","ace/lib/oop","ace/lib/lang","ace/lib/net","ace/lib/event_emitter","ace/selection","ace/mode/text","ace/range","ace/document","ace/background_tokenizer","ace/search_highlight","ace/edit_session/folding","ace/edit_session/bracket_match"],function(e,t,n){var r=e("./config"),i=e("./lib/oop"),s=e("./lib/lang"),o=e("./lib/net"),u=e("./lib/event_emitter").EventEmitter,a=e("./selection").Selection,f=e("./mode/text").Mode,l=e("./range").Range,c=e("./document").Document,h=e("./background_tokenizer").BackgroundTokenizer,p=e("./search_highlight").SearchHighlight,d=function(e,t){this.$breakpoints=[],this.$decorations=[],this.$frontMarkers={},this.$backMarkers={},this.$markerId=1,this.$undoSelect=!0,this.$foldData=[],this.$foldData.toString=function(){var e="";return this.forEach(function(t){e+="\n"+t.toString()}),e},this.on("changeFold",this.onChangeFold.bind(this)),this.$onChange=this.onChange.bind(this);if(typeof e!="object"||!e.getLine)e=new c(e);this.setDocument(e),this.selection=new a(this),this.setMode(t)};(function(){function y(e){return e<4352?!1:e>=4352&&e<=4447||e>=4515&&e<=4519||e>=4602&&e<=4607||e>=9001&&e<=9002||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12283||e>=12288&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12589||e>=12593&&e<=12686||e>=12688&&e<=12730||e>=12736&&e<=12771||e>=12784&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=13054||e>=13056&&e<=19903||e>=19968&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=55216&&e<=55238||e>=55243&&e<=55291||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=65281&&e<=65376||e>=65504&&e<=65510}i.implement(this,u),this.setDocument=function(e){this.doc&&this.doc.removeListener("change",this.$onChange),this.doc=e,e.on("change",this.$onChange),this.bgTokenizer&&this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},this.getDocument=function(){return this.doc},this.$resetRowCache=function(e){if(!e){this.$docRowCache=[],this.$screenRowCache=[];return}var t=this.$getRowCacheIndex(this.$docRowCache,e)+1,n=this.$docRowCache.length;this.$docRowCache.splice(t,n),this.$screenRowCache.splice(t,n)},this.$getRowCacheIndex=function(e,t){var n=0,r=e.length-1;while(n<=r){var i=n+r>>1,s=e[i];if(t>s)n=i+1;else{if(!(t<s))return i;r=i-1}}return n-1},this.resetCaches=function(){this.$modified=!0,this.$wrapData=[],this.$rowLengthCache=[],this.$resetRowCache(0),this.bgTokenizer&&this.bgTokenizer.start(0)},this.onChangeFold=function(e){var t=e.data;this.$resetRowCache(t.start.row)},this.onChange=function(e){var t=e.data;this.$modified=!0,this.$resetRowCache(t.range.start.row);var n=this.$updateInternalDataOnChange(e);!this.$fromUndo&&this.$undoManager&&!t.ignore&&(this.$deltasDoc.push(t),n&&n.length!=0&&this.$deltasFold.push({action:"removeFolds",folds:n}),this.$informUndoManager.schedule()),this.bgTokenizer.$updateOnChange(t),this._emit("change",e)},this.setValue=function(e){this.doc.setValue(e),this.selection.moveCursorTo(0,0),this.selection.clearSelection(),this.$resetRowCache(0),this.$deltas=[],this.$deltasDoc=[],this.$deltasFold=[],this.getUndoManager().reset()},this.getValue=this.toString=function(){return this.doc.getValue()},this.getSelection=function(){return this.selection},this.getState=function(e){return this.bgTokenizer.getState(e)},this.getTokens=function(e){return this.bgTokenizer.getTokens(e)},this.getTokenAt=function(e,t){var n=this.bgTokenizer.getTokens(e),r,i=0;if(t==null)s=n.length-1,i=this.getLine(e).length;else for(var s=0;s<n.length;s++){i+=n[s].value.length;if(i>=t)break}return r=n[s],r?(r.index=s,r.start=i-r.value.length,r):null},this.setUndoManager=function(e){this.$undoManager=e,this.$deltas=[],this.$deltasDoc=[],this.$deltasFold=[],this.$informUndoManager&&this.$informUndoManager.cancel();if(e){var t=this;this.$syncInformUndoManager=function(){t.$informUndoManager.cancel(),t.$deltasFold.length&&(t.$deltas.push({group:"fold",deltas:t.$deltasFold}),t.$deltasFold=[]),t.$deltasDoc.length&&(t.$deltas.push({group:"doc",deltas:t.$deltasDoc}),t.$deltasDoc=[]),t.$deltas.length>0&&e.execute({action:"aceupdate",args:[t.$deltas,t]}),t.$deltas=[]},this.$informUndoManager=s.deferredCall(this.$syncInformUndoManager)}},this.$defaultUndoManager={undo:function(){},redo:function(){},reset:function(){}},this.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},this.getTabString=function(){return this.getUseSoftTabs()?s.stringRepeat(" ",this.getTabSize()):" "},this.$useSoftTabs=!0,this.setUseSoftTabs=function(e){if(this.$useSoftTabs===e)return;this.$useSoftTabs=e},this.getUseSoftTabs=function(){return this.$useSoftTabs},this.$tabSize=4,this.setTabSize=function(e){if(isNaN(e)||this.$tabSize===e)return;this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=e,this._emit("changeTabSize")},this.getTabSize=function(){return this.$tabSize},this.isTabStop=function(e){return this.$useSoftTabs&&e.column%this.$tabSize==0},this.$overwrite=!1,this.setOverwrite=function(e){if(this.$overwrite==e)return;this.$overwrite=e,this._emit("changeOverwrite")},this.getOverwrite=function(){return this.$overwrite},this.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},this.addGutterDecoration=function(e,t){this.$decorations[e]||(this.$decorations[e]=""),this.$decorations[e]+=" "+t,this._emit("changeBreakpoint",{})},this.removeGutterDecoration=function(e,t){this.$decorations[e]=(this.$decorations[e]||"").replace(" "+t,""),this._emit("changeBreakpoint",{})},this.getBreakpoints=function(){return this.$breakpoints},this.setBreakpoints=function(e){this.$breakpoints=[];for(var t=0;t<e.length;t++)this.$breakpoints[e[t]]="ace_breakpoint";this._emit("changeBreakpoint",{})},this.clearBreakpoints=function(){this.$breakpoints=[],this._emit("changeBreakpoint",{})},this.setBreakpoint=function(e,t){t===undefined&&(t="ace_breakpoint"),t?this.$breakpoints[e]=t:delete this.$breakpoints[e],this._emit("changeBreakpoint",{})},this.clearBreakpoint=function(e){delete this.$breakpoints[e],this._emit("changeBreakpoint",{})},this.addMarker=function(e,t,n,r){var i=this.$markerId++,s={range:e,type:n||"line",renderer:typeof n=="function"?n:null,clazz:t,inFront:!!r,id:i};return r?(this.$frontMarkers[i]=s,this._emit("changeFrontMarker")):(this.$backMarkers[i]=s,this._emit("changeBackMarker")),i},this.addDynamicMarker=function(e,t){if(!e.update)return;var n=this.$markerId++;return e.id=n,e.inFront=!!t,t?(this.$frontMarkers[n]=e,this._emit("changeFrontMarker")):(this.$backMarkers[n]=e,this._emit("changeBackMarker")),e},this.removeMarker=function(e){var t=this.$frontMarkers[e]||this.$backMarkers[e];if(!t)return;var n=t.inFront?this.$frontMarkers:this.$backMarkers;t&&(delete n[e],this._emit(t.inFront?"changeFrontMarker":"changeBackMarker"))},this.getMarkers=function(e){return e?this.$frontMarkers:this.$backMarkers},this.highlight=function(e){if(!this.$searchHighlight){var t=new p(null,"ace_selected-word","text");this.$searchHighlight=this.addDynamicMarker(t)}this.$searchHighlight.setRegexp(e)},this.highlightLines=function(e,t,n,r){typeof t!="number"&&(n=t,t=e),n||(n="ace_step");var i=new l(e,0,t,Infinity),s=this.addMarker(i,n,"fullLine",r);return i.id=s,i},this.setAnnotations=function(e){this.$annotations=e,this._emit("changeAnnotation",{})},this.getAnnotations=function(){return this.$annotations||[]},this.clearAnnotations=function(){this.$annotations={},this._emit("changeAnnotation",{})},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r?\n)/m);t?this.$autoNewLine=t[1]:this.$autoNewLine="\n"},this.getWordRange=function(e,t){var n=this.getLine(e),r=!1;t>0&&(r=!!n.charAt(t-1).match(this.tokenRe)),r||(r=!!n.charAt(t).match(this.tokenRe));if(r)var i=this.tokenRe;else if(/^\s+$/.test(n.slice(t-1,t+1)))var i=/\s/;else var i=this.nonTokenRe;var s=t;if(s>0){do s--;while(s>=0&&n.charAt(s).match(i));s++}var o=t;while(o<n.length&&n.charAt(o).match(i))o++;return new l(e,s,e,o)},this.getAWordRange=function(e,t){var n=this.getWordRange(e,t),r=this.getLine(n.end.row);while(r.charAt(n.end.column).match(/[ \t]/))n.end.column+=1;return n},this.setNewLineMode=function(e){this.doc.setNewLineMode(e)},this.getNewLineMode=function(){return this.doc.getNewLineMode()},this.$useWorker=!0,this.setUseWorker=function(e){if(this.$useWorker==e)return;this.$useWorker=e,this.$stopWorker(),e&&this.$startWorker()},this.getUseWorker=function(){return this.$useWorker},this.onReloadTokenizer=function(e){var t=e.data;this.bgTokenizer.start(t.first),this._emit("tokenizerUpdate",e)},this.$modes={},this._loadMode=function(t,n){function a(e){if(i.$modes[t])return n(i.$modes[t]);i.$modes[t]=new e.Mode,i.$modes[t].$id=t,i._emit("loadmode",{name:t,mode:i.$modes[t]}),n(i.$modes[t])}function l(e,t){if(!r.get("packaged"))return t();o.loadScript(r.moduleUrl(e,"mode"),t)}this.$modes["null"]||(this.$modes["null"]=this.$modes["ace/mode/text"]=new f);if(this.$modes[t])return n(this.$modes[t]);var i=this,s;try{s=e(t)}catch(u){}if(s&&s.Mode)return a(s);this.$mode||this.$setModePlaceholder(),l(t,function(){e([t],a)})},this.$setModePlaceholder=function(){this.$mode=this.$modes["null"];var e=this.$mode.getTokenizer();if(!this.bgTokenizer){this.bgTokenizer=new h(e);var t=this;this.bgTokenizer.addEventListener("update",function(e){t._emit("tokenizerUpdate",e)})}else this.bgTokenizer.setTokenizer(e);this.bgTokenizer.setDocument(this.getDocument()),this.tokenRe=this.$mode.tokenRe,this.nonTokenRe=this.$mode.nonTokenRe},this.$mode=null,this.$modeId=null,this.setMode=function(e){e=e||"null";if(typeof e=="string"){if(this.$modeId==e)return;this.$modeId=e;var t=this;this._loadMode(e,function(n){if(t.$modeId!==e)return;t.setMode(n)});return}if(this.$mode===e)return;this.$mode=e,this.$modeId=e.$id,this.$stopWorker(),this.$useWorker&&this.$startWorker();var n=e.getTokenizer();if(n.addEventListener!==undefined){var r=this.onReloadTokenizer.bind(this);n.addEventListener("update",r)}if(!this.bgTokenizer){this.bgTokenizer=new h(n);var t=this;this.bgTokenizer.addEventListener("update",function(e){t._emit("tokenizerUpdate",e)})}else this.bgTokenizer.setTokenizer(n);this.bgTokenizer.setDocument(this.getDocument()),this.bgTokenizer.start(0),this.tokenRe=e.tokenRe,this.nonTokenRe=e.nonTokenRe,this.$setFolding(e.foldingRules),this._emit("changeMode")},this.$stopWorker=function(){this.$worker&&this.$worker.terminate(),this.$worker=null},this.$startWorker=function(){if(typeof Worker!="undefined"&&!e.noWorker)try{this.$worker=this.$mode.createWorker(this)}catch(t){console.log("Could not load worker"),console.log(t),this.$worker=null}else this.$worker=null},this.getMode=function(){return this.$mode},this.$scrollTop=0,this.setScrollTop=function(e){e=Math.round(Math.max(0,e));if(this.$scrollTop===e)return;this.$scrollTop=e,this._emit("changeScrollTop",e)},this.getScrollTop=function(){return this.$scrollTop},this.$scrollLeft=0,this.setScrollLeft=function(e){e=Math.round(Math.max(0,e));if(this.$scrollLeft===e)return;this.$scrollLeft=e,this._emit("changeScrollLeft",e)},this.getScrollLeft=function(){return this.$scrollLeft},this.getScreenWidth=function(){return this.$computeWidth(),this.screenWidth},this.$computeWidth=function(e){if(this.$modified||e){this.$modified=!1;if(this.$useWrapMode)return this.screenWidth=this.$wrapLimit;var t=this.doc.getAllLines(),n=this.$rowLengthCache,r=0,i=0,s=this.$foldData[i],o=s?s.start.row:Infinity,u=t.length;for(var a=0;a<u;a++){if(a>o){a=s.end.row+1;if(a>=u)break;s=this.$foldData[i++],o=s?s.start.row:Infinity}n[a]==null&&(n[a]=this.$getStringScreenWidth(t[a])[0]),n[a]>r&&(r=n[a])}this.screenWidth=r}},this.getLine=function(e){return this.doc.getLine(e)},this.getLines=function(e,t){return this.doc.getLines(e,t)},this.getLength=function(){return this.doc.getLength()},this.getTextRange=function(e){return this.doc.getTextRange(e||this.selection.getRange())},this.insert=function(e,t){return this.doc.insert(e,t)},this.remove=function(e){return this.doc.remove(e)},this.undoChanges=function(e,t){if(!e.length)return;this.$fromUndo=!0;var n=null;for(var r=e.length-1;r!=-1;r--){var i=e[r];i.group=="doc"?(this.doc.revertDeltas(i.deltas),n=this.$getUndoSelection(i.deltas,!0,n)):i.deltas.forEach(function(e){this.addFolds(e.folds)},this)}return this.$fromUndo=!1,n&&this.$undoSelect&&!t&&this.selection.setSelectionRange(n),n},this.redoChanges=function(e,t){if(!e.length)return;this.$fromUndo=!0;var n=null;for(var r=0;r<e.length;r++){var i=e[r];i.group=="doc"&&(this.doc.applyDeltas(i.deltas),n=this.$getUndoSelection(i.deltas,!1,n))}return this.$fromUndo=!1,n&&this.$undoSelect&&!t&&this.selection.setSelectionRange(n),n},this.setUndoSelect=function(e){this.$undoSelect=e},this.$getUndoSelection=function(e,t,n){function r(e){var n=e.action=="insertText"||e.action=="insertLines";return t?!n:n}var i=e[0],s,o,u=!1;r(i)?(s=i.range.clone(),u=!0):(s=l.fromPoints(i.range.start,i.range.start),u=!1);for(var a=1;a<e.length;a++)i=e[a],r(i)?(o=i.range.start,s.compare(o.row,o.column)==-1&&s.setStart(i.range.start),o=i.range.end,s.compare(o.row,o.column)==1&&s.setEnd(i.range.end),u=!0):(o=i.range.start,s.compare(o.row,o.column)==-1&&(s=l.fromPoints(i.range.start,i.range.start)),u=!1);if(n!=null){var f=n.compareRange(s);f==1?s.setStart(n.start):f==-1&&s.setEnd(n.end)}return s},this.replace=function(e,t){return this.doc.replace(e,t)},this.moveText=function(e,t){var n=this.getTextRange(e);this.remove(e);var r=t.row,i=t.column;!e.isMultiLine()&&e.start.row==r&&e.end.column<i&&(i-=n.length);if(e.isMultiLine()&&e.end.row<r){var s=this.doc.$split(n);r-=s.length-1}var o=r+e.end.row-e.start.row,u=e.isMultiLine()?e.end.column:i+e.end.column-e.start.column,a=new l(r,i,o,u);return this.insert(a.start,n),a},this.indentRows=function(e,t,n){n=n.replace(/\t/g,this.getTabString());for(var r=e;r<=t;r++)this.insert({row:r,column:0},n)},this.outdentRows=function(e){var t=e.collapseRows(),n=new l(0,0,0,0),r=this.getTabSize();for(var i=t.start.row;i<=t.end.row;++i){var s=this.getLine(i);n.start.row=i,n.end.row=i;for(var o=0;o<r;++o)if(s.charAt(o)!=" ")break;o<r&&s.charAt(o)==" "?(n.start.column=o,n.end.column=o+1):(n.start.column=0,n.end.column=o),this.remove(n)}},this.moveLinesUp=function(e,t){if(e<=0)return 0;var n=this.doc.removeLines(e,t);return this.doc.insertLines(e-1,n),-1},this.moveLinesDown=function(e,t){if(t>=this.doc.getLength()-1)return 0;var n=this.doc.removeLines(e,t);return this.doc.insertLines(e+1,n),1},this.duplicateLines=function(e,t){var e=this.$clipRowToDocument(e),t=this.$clipRowToDocument(t),n=this.getLines(e,t);this.doc.insertLines(e,n);var r=t-e+1;return r},this.$clipRowToDocument=function(e){return Math.max(0,Math.min(e,this.doc.getLength()-1))},this.$clipColumnToRow=function(e,t){return t<0?0:Math.min(this.doc.getLine(e).length,t)},this.$clipPositionToDocument=function(e,t){t=Math.max(0,t);if(e<0)e=0,t=0;else{var n=this.doc.getLength();e>=n?(e=n-1,t=this.doc.getLine(n-1).length):t=Math.min(this.doc.getLine(e).length,t)}return{row:e,column:t}},this.$clipRangeToDocument=function(e){e.start.row<0?(e.start.row=0,e.start.column=0):e.start.column=this.$clipColumnToRow(e.start.row,e.start.column);var t=this.doc.getLength()-1;return e.end.row>t?(e.end.row=t,e.end.column=this.doc.getLine(t).length):e.end.column=this.$clipColumnToRow(e.end.row,e.end.column),e},this.$wrapLimit=80,this.$useWrapMode=!1,this.$wrapLimitRange={min:null,max:null},this.setUseWrapMode=function(e){if(e!=this.$useWrapMode){this.$useWrapMode=e,this.$modified=!0,this.$resetRowCache(0);if(e){var t=this.getLength();this.$wrapData=[];for(var n=0;n<t;n++)this.$wrapData.push([]);this.$updateWrapData(0,t-1)}this._emit("changeWrapMode")}},this.getUseWrapMode=function(){return this.$useWrapMode},this.setWrapLimitRange=function(e,t){if(this.$wrapLimitRange.min!==e||this.$wrapLimitRange.max!==t)this.$wrapLimitRange.min=e,this.$wrapLimitRange.max=t,this.$modified=!0,this._emit("changeWrapMode")},this.adjustWrapLimit=function(e){var t=this.$constrainWrapLimit(e);return t!=this.$wrapLimit&&t>0?(this.$wrapLimit=t,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._emit("changeWrapLimit")),!0):!1},this.$constrainWrapLimit=function(e){var t=this.$wrapLimitRange.min;t&&(e=Math.max(t,e));var n=this.$wrapLimitRange.max;return n&&(e=Math.min(n,e)),Math.max(1,e)},this.getWrapLimit=function(){return this.$wrapLimit},this.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},this.$updateInternalDataOnChange=function(e){var t=this.$useWrapMode,n,r=e.data.action,i=e.data.range.start.row,s=e.data.range.end.row,o=e.data.range.start,u=e.data.range.end,a=null;r.indexOf("Lines")!=-1?(r=="insertLines"?s=i+e.data.lines.length:s=i,n=e.data.lines?e.data.lines.length:s-i):n=s-i;if(n!=0)if(r.indexOf("remove")!=-1){this[t?"$wrapData":"$rowLengthCache"].splice(i,n);var f=this.$foldData;a=this.getFoldsInRange(e.data.range),this.removeFolds(a);var l=this.getFoldLine(u.row),c=0;if(l){l.addRemoveChars(u.row,u.column,o.column-u.column),l.shiftRow(-n);var h=this.getFoldLine(i);h&&h!==l&&(h.merge(l),l=h),c=f.indexOf(l)+1}for(c;c<f.length;c++){var l=f[c];l.start.row>=u.row&&l.shiftRow(-n)}s=i}else{var p;if(t){p=[i,0];for(var d=0;d<n;d++)p.push([]);this.$wrapData.splice.apply(this.$wrapData,p)}else p=Array(n),p.unshift(i,0),this.$rowLengthCache.splice.apply(this.$rowLengthCache,p);var f=this.$foldData,l=this.getFoldLine(i),c=0;if(l){var v=l.range.compareInside(o.row,o.column);v==0?(l=l.split(o.row,o.column),l.shiftRow(n),l.addRemoveChars(s,0,u.column-o.column)):v==-1&&(l.addRemoveChars(i,0,u.column-o.column),l.shiftRow(n)),c=f.indexOf(l)+1}for(c;c<f.length;c++){var l=f[c];l.start.row>=i&&l.shiftRow(n)}}else{n=Math.abs(e.data.range.start.column-e.data.range.end.column),r.indexOf("remove")!=-1&&(a=this.getFoldsInRange(e.data.range),this.removeFolds(a),n=-n);var l=this.getFoldLine(i);l&&l.addRemoveChars(i,o.column,n)}return t&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),t?this.$updateWrapData(i,s):this.$updateRowLengthCache(i,s),a},this.$updateRowLengthCache=function(e,t,n){this.$rowLengthCache[e]=null,this.$rowLengthCache[t]=null},this.$updateWrapData=function(e,t){var n=this.doc.getAllLines(),r=this.getTabSize(),i=this.$wrapData,o=this.$wrapLimit,u,f,l=e;t=Math.min(t,n.length-1);while(l<=t){f=this.getFoldLine(l,f);if(!f)u=this.$getDisplayTokens(s.stringTrimRight(n[l])),i[l]=this.$computeWrapSplits(u,o,r),l++;else{u=[],f.walk(function(e,t,r,i){var s;if(e!=null){s=this.$getDisplayTokens(e,u.length),s[0]=a;for(var o=1;o<s.length;o++)s[o]=c}else s=this.$getDisplayTokens(n[t].substring(i,r),u.length);u=u.concat(s)}.bind(this),f.end.row,n[f.end.row].length+1);while(u.length!=0&&u[u.length-1]>=v)u.pop();i[f.start.row]=this.$computeWrapSplits(u,o,r),l=f.end.row+1}}};var t=1,n=2,a=3,c=4,d=9,v=10,m=11,g=12;this.$computeWrapSplits=function(e,t){function o(t){var r=e.slice(i,t),o=r.length;r.join("").replace(/12/g,function(){o-=1}).replace(/2/g,function(){o-=1}),s+=o,n.push(s),i=t}if(e.length==0)return[];var n=[],r=e.length,i=0,s=0;while(r-i>t){var u=i+t;if(e[u]>=v){while(e[u]>=v)u++;o(u);continue}if(e[u]==a||e[u]==c){for(u;u!=i-1;u--)if(e[u]==a)break;if(u>i){o(u);continue}u=i+t;for(u;u<e.length;u++)if(e[u]!=c)break;if(u==e.length)break;o(u);continue}var f=Math.max(u-10,i-1);while(u>f&&e[u]<a)u--;while(u>f&&e[u]==d)u--;if(u>f){o(++u);continue}u=i+t,o(u)}return n},this.$getDisplayTokens=function(e,r){var i=[],s;r=r||0;for(var o=0;o<e.length;o++){var u=e.charCodeAt(o);if(u==9){s=this.getScreenTabSize(i.length+r),i.push(m);for(var a=1;a<s;a++)i.push(g)}else u==32?i.push(v):u>39&&u<48||u>57&&u<64?i.push(d):u>=4352&&y(u)?i.push(t,n):i.push(t)}return i},this.$getStringScreenWidth=function(e,t,n){if(t==0)return[0,0];t==null&&(t=Infinity),n=n||0;var r,i;for(i=0;i<e.length;i++){r=e.charCodeAt(i),r==9?n+=this.getScreenTabSize(n):r>=4352&&y(r)?n+=2:n+=1;if(n>t)break}return[n,i]},this.getRowLength=function(e){return!this.$useWrapMode||!this.$wrapData[e]?1:this.$wrapData[e].length+1},this.getScreenLastRowColumn=function(e){var t=this.screenToDocumentPosition(e,Number.MAX_VALUE);return this.documentToScreenColumn(t.row,t.column)},this.getDocumentLastRowColumn=function(e,t){var n=this.documentToScreenRow(e,t);return this.getScreenLastRowColumn(n)},this.getDocumentLastRowColumnPosition=function(e,t){var n=this.documentToScreenRow(e,t);return this.screenToDocumentPosition(n,Number.MAX_VALUE/10)},this.getRowSplitData=function(e){return this.$useWrapMode?this.$wrapData[e]:undefined},this.getScreenTabSize=function(e){return this.$tabSize-e%this.$tabSize},this.screenToDocumentRow=function(e,t){return this.screenToDocumentPosition(e,t).row},this.screenToDocumentColumn=function(e,t){return this.screenToDocumentPosition(e,t).column},this.screenToDocumentPosition=function(e,t){if(e<0)return{row:0,column:0};var n,r=0,i=0,s,o=0,u=0,a=this.$screenRowCache,f=this.$getRowCacheIndex(a,e),l=a.length;if(l&&f>=0)var o=a[f],r=this.$docRowCache[f],c=e>a[l-1];else var c=!l;var h=this.getLength()-1,p=this.getNextFoldLine(r),d=p?p.start.row:Infinity;while(o<=e){u=this.getRowLength(r);if(o+u-1>=e||r>=h)break;o+=u,r++,r>d&&(r=p.end.row+1,p=this.getNextFoldLine(r,p),d=p?p.start.row:Infinity),c&&(this.$docRowCache.push(r),this.$screenRowCache.push(o))}if(p&&p.start.row<=r)n=this.getFoldDisplayLine(p),r=p.start.row;else{if(o+u<=e||r>h)return{row:h,column:this.getLine(h).length};n=this.getLine(r),p=null}if(this.$useWrapMode){var v=this.$wrapData[r];v&&(s=v[e-o],e>o&&v.length&&(i=v[e-o-1]||v[v.length-1],n=n.substring(i)))}return i+=this.$getStringScreenWidth(n,t)[1],this.$useWrapMode&&i>=s&&(i=s-1),p?p.idxToPosition(i):{row:r,column:i}},this.documentToScreenPosition=function(e,t){if(typeof t=="undefined")var n=this.$clipPositionToDocument(e.row,e.column);else n=this.$clipPositionToDocument(e,t);e=n.row,t=n.column;var r=0,i=null,s=null;s=this.getFoldAt(e,t,1),s&&(e=s.start.row,t=s.start.column);var o,u=0,a=this.$docRowCache,f=this.$getRowCacheIndex(a,e),l=a.length;if(l&&f>=0)var u=a[f],r=this.$screenRowCache[f],c=e>a[l-1];else var c=!l;var h=this.getNextFoldLine(u),p=h?h.start.row:Infinity;while(u<e){if(u>=p){o=h.end.row+1;if(o>e)break;h=this.getNextFoldLine(o,h),p=h?h.start.row:Infinity}else o=u+1;r+=this.getRowLength(u),u=o,c&&(this.$docRowCache.push(u),this.$screenRowCache.push(r))}var d="";h&&u>=p?(d=this.getFoldDisplayLine(h,e,t),i=h.start.row):(d=this.getLine(e).substring(0,t),i=e);if(this.$useWrapMode){var v=this.$wrapData[i],m=0;while(d.length>=v[m])r++,m++;d=d.substring(v[m-1]||0,d.length)}return{row:r,column:this.$getStringScreenWidth(d)[0]}},this.documentToScreenColumn=function(e,t){return this.documentToScreenPosition(e,t).column},this.documentToScreenRow=function(e,t){return this.documentToScreenPosition(e,t).row},this.getScreenLength=function(){var e=0,t=null;if(!this.$useWrapMode){e=this.getLength();var n=this.$foldData;for(var r=0;r<n.length;r++)t=n[r],e-=t.end.row-t.start.row}else{var i=this.$wrapData.length,s=0,r=0,t=this.$foldData[r++],o=t?t.start.row:Infinity;while(s<i)e+=this.$wrapData[s].length+1,s++,s>o&&(s=t.end.row+1,t=this.$foldData[r++],o=t?t.start.row:Infinity)}return e}}).call(d.prototype),e("./edit_session/folding").Folding.call(d.prototype),e("./edit_session/bracket_match").BracketMatch.call(d.prototype),t.EditSession=d}),define("ace/config",["require","exports","module","ace/lib/lang"],function(e,t,n){"no use strict";function o(e){return e.replace(/-(.)/g,function(e,t){return t.toUpperCase()})}var r=e("./lib/lang"),i=function(){return this}(),s={packaged:!1,workerPath:null,modePath:null,themePath:null,basePath:"",suffix:".js",$moduleUrls:{}};t.get=function(e){if(!s.hasOwnProperty(e))throw new Error("Unknown config key: "+e);return s[e]},t.set=function(e,t){if(!s.hasOwnProperty(e))throw new Error("Unknown config key: "+e);s[e]=t},t.all=function(){return r.copyObject(s)},t.moduleUrl=function(e,t){if(s.$moduleUrls[e])return s.$moduleUrls[e];var n=e.split("/");t=t||n[n.length-2]||"";var r=n[n.length-1].replace(t,"").replace(/(^[\-_])|([\-_]$)/,"");!r&&n.length>1&&(r=n[n.length-2]);var i=s[t+"Path"];return i==null&&(i=s.basePath),i&&i.slice(-1)!="/"&&(i+="/"),i+t+"-"+r+this.get("suffix")},t.setModuleUrl=function(e,t){return s.$moduleUrls[e]=t},t.init=function(){s.packaged=e.packaged||n.packaged||i.define&&define.packaged;if(!i.document)return"";var r={},u="",a=document.getElementsByTagName("script");for(var f=0;f<a.length;f++){var l=a[f],c=l.src||l.getAttribute("src");if(!c)continue;var h=l.attributes;for(var p=0,d=h.length;p<d;p++){var v=h[p];v.name.indexOf("data-ace-")===0&&(r[o(v.name.replace(/^data-ace-/,""))]=v.value)}var m=c.match(/^(.*)\/ace(\-\w+)?\.js(\?|$)/);m&&(u=m[1])}u&&(r.base=r.base||u,r.packaged=!0),r.workerPath=r.workerPath||r.base,r.modePath=r.modePath||r.base,r.themePath=r.themePath||r.base,delete r.base;for(var g in r)typeof r[g]!="undefined"&&t.set(g,r[g])}}),define("ace/lib/net",["require","exports","module","ace/lib/useragent"],function(e,t,n){var r=e("./useragent");t.get=function(e,n){var r=t.createXhr();r.open("GET",e,!0),r.onreadystatechange=function(e){r.readyState===4&&n(r.responseText)},r.send(null)};var i=["Msxml2.XMLHTTP","Microsoft.XMLHTTP","Msxml2.XMLHTTP.4.0"];t.createXhr=function(){var e,t,n;if(typeof XMLHttpRequest!="undefined")return new XMLHttpRequest;for(t=0;t<3;t++){n=i[t];try{e=new ActiveXObject(n)}catch(r){}if(e){i=[n];break}}if(!e)throw new Error("createXhr(): XMLHttpRequest not available");return e},t.loadScript=function(e,t){var n=document.getElementsByTagName("head")[0],i=document.createElement("script");i.src=e,n.appendChild(i),r.isOldIE?i.onreadystatechange=function(){this.readyState=="loaded"&&t()}:i.onload=t}}),define("ace/lib/event_emitter",["require","exports","module"],function(e,t,n){var r={};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry=this._eventRegistry||{},this._defaultHandlers=this._defaultHandlers||{};var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(!n.length&&!r)return;if(typeof t!="object"||!t)t={};t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=function(){this.propagationStopped=!0}),t.preventDefault||(t.preventDefault=function(){this.defaultPrevented=!0});for(var i=0;i<n.length;i++){n[i](t);if(t.propagationStopped)break}if(r&&!t.defaultPrevented)return r(t)},r.setDefaultHandler=function(e,t){this._defaultHandlers=this._defaultHandlers||{};if(this._defaultHandlers[e])throw new Error("The default handler for '"+e+"' is already set");this._defaultHandlers[e]=t},r.on=r.addEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[e];n||(n=this._eventRegistry[e]=[]),n.indexOf(t)==-1&&n.push(t)},r.removeListener=r.removeEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[e];if(!n)return;var r=n.indexOf(t);r!==-1&&n.splice(r,1)},r.removeAllListeners=function(e){this._eventRegistry&&(this._eventRegistry[e]=[])},t.EventEmitter=r}),define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],function(e,t,n){var r=e("./lib/oop"),i=e("./lib/lang"),s=e("./lib/event_emitter").EventEmitter,o=e("./range").Range,u=function(e){this.session=e,this.doc=e.getDocument(),this.clearSelection(),this.lead=this.selectionLead=this.doc.createAnchor(0,0),this.anchor=this.selectionAnchor=this.doc.createAnchor(0,0);var t=this;this.lead.on("change",function(e){t._emit("changeCursor"),t.$isEmpty||t._emit("changeSelection"),!t.$keepDesiredColumnOnChange&&e.old.column!=e.value.column&&(t.$desiredColumn=null)}),this.selectionAnchor.on("change",function(){t.$isEmpty||t._emit("changeSelection")})};(function(){r.implement(this,s),this.isEmpty=function(){return this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column},this.isMultiLine=function(){return this.isEmpty()?!1:this.getRange().isMultiLine()},this.getCursor=function(){return this.lead.getPosition()},this.setSelectionAnchor=function(e,t){this.anchor.setPosition(e,t),this.$isEmpty&&(this.$isEmpty=!1,this._emit("changeSelection"))},this.getSelectionAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.anchor.getPosition()},this.getSelectionLead=function(){return this.lead.getPosition()},this.shiftSelection=function(e){if(this.$isEmpty){this.moveCursorTo(this.lead.row,this.lead.column+e);return}var t=this.getSelectionAnchor(),n=this.getSelectionLead(),r=this.isBackwards();(!r||t.column!==0)&&this.setSelectionAnchor(t.row,t.column+e),(r||n.column!==0)&&this.$moveSelection(function(){this.moveCursorTo(n.row,n.column+e)})},this.isBackwards=function(){var e=this.anchor,t=this.lead;return e.row>t.row||e.row==t.row&&e.column>t.column},this.getRange=function(){var e=this.anchor,t=this.lead;return this.isEmpty()?o.fromPoints(t,t):this.isBackwards()?o.fromPoints(t,e):o.fromPoints(e,t)},this.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},this.selectAll=function(){var e=this.doc.getLength()-1;this.setSelectionAnchor(0,0),this.moveCursorTo(e,this.doc.getLine(e).length)},this.setRange=this.setSelectionRange=function(e,t){t?(this.setSelectionAnchor(e.end.row,e.end.column),this.selectTo(e.start.row,e.start.column)):(this.setSelectionAnchor(e.start.row,e.start.column),this.selectTo(e.end.row,e.end.column)),this.$desiredColumn=null},this.$moveSelection=function(e){var t=this.lead;this.$isEmpty&&this.setSelectionAnchor(t.row,t.column),e.call(this)},this.selectTo=function(e,t){this.$moveSelection(function(){this.moveCursorTo(e,t)})},this.selectToPosition=function(e){this.$moveSelection(function(){this.moveCursorToPosition(e)})},this.selectUp=function(){this.$moveSelection(this.moveCursorUp)},this.selectDown=function(){this.$moveSelection(this.moveCursorDown)},this.selectRight=function(){this.$moveSelection(this.moveCursorRight)},this.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},this.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},this.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},this.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},this.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},this.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},this.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},this.getWordRange=function(e,t){if(typeof t=="undefined"){var n=e||this.lead;e=n.row,t=n.column}return this.session.getWordRange(e,t)},this.selectWord=function(){this.setSelectionRange(this.getWordRange())},this.selectAWord=function(){var e=this.getCursor(),t=this.session.getAWordRange(e.row,e.column);this.setSelectionRange(t)},this.getLineRange=function(e,t){var n=typeof e=="number"?e:this.lead.row,r,i=this.session.getFoldLine(n);return i?(n=i.start.row,r=i.end.row):r=n,t?new o(n,0,r,this.session.getLine(r).length):new o(n,0,r+1,0)},this.selectLine=function(){this.setSelectionRange(this.getLineRange())},this.moveCursorUp=function(){this.moveCursorBy(-1,0)},this.moveCursorDown=function(){this.moveCursorBy(1,0)},this.moveCursorLeft=function(){var e=this.lead.getPosition(),t;if(t=this.session.getFoldAt(e.row,e.column,-1))this.moveCursorTo(t.start.row,t.start.column);else if(e.column==0)e.row>0&&this.moveCursorTo(e.row-1,this.doc.getLine(e.row-1).length);else{var n=this.session.getTabSize();this.session.isTabStop(e)&&this.doc.getLine(e.row).slice(e.column-n,e.column).split(" ").length-1==n?this.moveCursorBy(0,-n):this.moveCursorBy(0,-1)}},this.moveCursorRight=function(){var e=this.lead.getPosition(),t;if(t=this.session.getFoldAt(e.row,e.column,1))this.moveCursorTo(t.end.row,t.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row<this.doc.getLength()-1&&this.moveCursorTo(this.lead.row+1,0);else{var n=this.session.getTabSize(),e=this.lead;this.session.isTabStop(e)&&this.doc.getLine(e.row).slice(e.column,e.column+n).split(" ").length-1==n?this.moveCursorBy(0,n):this.moveCursorBy(0,1)}},this.moveCursorLineStart=function(){var e=this.lead.row,t=this.lead.column,n=this.session.documentToScreenRow(e,t),r=this.session.screenToDocumentPosition(n,0),i=this.session.getDisplayLine(e,null,r.row,r.column),s=i.match(/^\s*/);s[0].length==t?this.moveCursorTo(r.row,r.column):this.moveCursorTo(r.row,r.column+s[0].length)},this.moveCursorLineEnd=function(){var e=this.lead,t=this.session.getDocumentLastRowColumnPosition(e.row,e.column);if(this.lead.column==t.column){var n=this.session.getLine(t.row);if(t.column==n.length){var r=n.search(/\s+$/);r>0&&(t.column=r)}}this.moveCursorTo(t.row,t.column)},this.moveCursorFileEnd=function(){var e=this.doc.getLength()-1,t=this.doc.getLine(e).length;this.moveCursorTo(e,t)},this.moveCursorFileStart=function(){this.moveCursorTo(0,0)},this.moveCursorLongWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t),i;this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var s=this.session.getFoldAt(e,t,1);if(s){this.moveCursorTo(s.end.row,s.end.column);return}if(i=this.session.nonTokenRe.exec(r))t+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,r=n.substring(t);if(t>=n.length){this.moveCursorTo(e,n.length),this.moveCursorRight(),e<this.doc.getLength()-1&&this.moveCursorWordRight();return}if(i=this.session.tokenRe.exec(r))t+=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0;this.moveCursorTo(e,t)},this.moveCursorLongWordLeft=function(){var e=this.lead.row,t=this.lead.column,n;if(n=this.session.getFoldAt(e,t,-1)){this.moveCursorTo(n.start.row,n.start.column);return}var r=this.session.getFoldStringAt(e,t,-1);r==null&&(r=this.doc.getLine(e).substring(0,t));var s=i.stringReverse(r),o;this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;if(o=this.session.nonTokenRe.exec(s))t-=this.session.nonTokenRe.lastIndex,s=s.slice(this.session.nonTokenRe.lastIndex),this.session.nonTokenRe.lastIndex=0;if(t<=0){this.moveCursorTo(e,0),this.moveCursorLeft(),e>0&&this.moveCursorWordLeft();return}if(o=this.session.tokenRe.exec(s))t-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0;this.moveCursorTo(e,t)},this.$shortWordEndIndex=function(e){var t,n=0,r,i=/\s/,s=this.session.tokenRe;s.lastIndex=0;if(t=this.session.tokenRe.exec(e))n=this.session.tokenRe.lastIndex;else{while((r=e[n])&&i.test(r))n++;if(n<=1){s.lastIndex=0;while((r=e[n])&&!s.test(r)){s.lastIndex=0,n++;if(i.test(r)){if(n>2){n--;break}while((r=e[n])&&i.test(r))n++;if(n>2)break}}}}return s.lastIndex=0,n},this.moveCursorShortWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t),i=this.session.getFoldAt(e,t,1);if(i)return this.moveCursorTo(i.end.row,i.end.column);if(t==n.length){var s=this.doc.getLength();do e++,r=this.doc.getLine(e);while(e<s&&/^\s*$/.test(r));/^\s+/.test(r)||(r=""),t=0}var o=this.$shortWordEndIndex(r);this.moveCursorTo(e,t+o)},this.moveCursorShortWordLeft=function(){var e=this.lead.row,t=this.lead.column,n;if(n=this.session.getFoldAt(e,t,-1))return this.moveCursorTo(n.start.row,n.start.column);var r=this.session.getLine(e).substring(0,t);if(t==0){do e--,r=this.doc.getLine(e);while(e>0&&/^\s*$/.test(r));t=r.length,/\s+$/.test(r)||(r="")}var s=i.stringReverse(r),o=this.$shortWordEndIndex(s);return this.moveCursorTo(e,t-o)},this.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},this.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},this.moveCursorBy=function(e,t){var n=this.session.documentToScreenPosition(this.lead.row,this.lead.column);t===0&&(this.$desiredColumn?n.column=this.$desiredColumn:this.$desiredColumn=n.column);var r=this.session.screenToDocumentPosition(n.row+e,n.column);this.moveCursorTo(r.row,r.column+t,t===0)},this.moveCursorToPosition=function(e){this.moveCursorTo(e.row,e.column)},this.moveCursorTo=function(e,t,n){var r=this.session.getFoldAt(e,t,1);r&&(e=r.start.row,t=r.start.column),this.$keepDesiredColumnOnChange=!0,this.lead.setPosition(e,t),this.$keepDesiredColumnOnChange=!1,n||(this.$desiredColumn=null)},this.moveCursorToScreen=function(e,t,n){var r=this.session.screenToDocumentPosition(e,t);this.moveCursorTo(r.row,r.column,n)},this.detach=function(){this.lead.detach(),this.anchor.detach(),this.session=this.doc=null},this.fromOrientedRange=function(e){this.setSelectionRange(e,e.cursor==e.start),this.$desiredColumn=e.desiredColumn||this.$desiredColumn},this.toOrientedRange=function(e){var t=this.getRange();return e?(e.start.column=t.start.column,e.start.row=t.start.row,e.end.column=t.end.column,e.end.row=t.end.row):e=t,e.cursor=this.isBackwards()?e.start:e.end,e.desiredColumn=this.$desiredColumn,e}}).call(u.prototype),t.Selection=u}),define("ace/range",["require","exports","module"],function(e,t,n){var r=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row==e.start.row&&this.end.row==e.end.row&&this.start.column==e.start.column&&this.end.column==e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?t<this.start.column?-1:t>this.end.column?1:0:e<this.start.row?-1:e>this.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};if(this.start.row>t)var i={row:t+1,column:0};if(this.start.row<e)var i={row:e,column:0};if(this.end.row<e)var n={row:e,column:0};return r.fromPoints(i||this.start,n||this.end)},this.extend=function(e,t){var n=this.compare(e,t);if(n==0)return this;if(n==-1)var i={row:e,column:t};else var s={row:e,column:t};return r.fromPoints(i||this.start,s||this.end)},this.isEmpty=function(){return this.start.row==this.end.row&&this.start.column==this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return r.fromPoints(this.start,this.end)},this.collapseRows=function(){return this.end.column==0?new r(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new r(this.start.row,0,this.end.row,0)},this.toScreenRange=function(e){var t=e.documentToScreenPosition(this.start),n=e.documentToScreenPosition(this.end);return new r(t.row,t.column,n.row,n.column)}}).call(r.prototype),r.fromPoints=function(e,t){return new r(e.row,e.column,t.row,t.column)},t.Range=r}),define("ace/mode/text",["require","exports","module","ace/tokenizer","ace/mode/text_highlight_rules","ace/mode/behaviour","ace/unicode"],function(e,t,n){var r=e("../tokenizer").Tokenizer,i=e("./text_highlight_rules").TextHighlightRules,s=e("./behaviour").Behaviour,o=e("../unicode"),u=function(){this.$tokenizer=new r((new i).getRules()),this.$behaviour=new s};(function(){this.tokenRe=new RegExp("^["+o.packages.L+o.packages.Mn+o.packages.Mc+o.packages.Nd+o.packages.Pc+"\\$_]+","g"),this.nonTokenRe=new RegExp("^(?:[^"+o.packages.L+o.packages.Mn+o.packages.Mc+o.packages.Nd+o.packages.Pc+"\\$_]|s])+","g"),this.getTokenizer=function(){return this.$tokenizer},this.toggleCommentLines=function(e,t,n,r){},this.getNextLineIndent=function(e,t,n){return""},this.checkOutdent=function(e,t,n){return!1},this.autoOutdent=function(e,t,n){},this.$getIndent=function(e){var t=e.match(/^(\s+)/);return t?t[1]:""},this.createWorker=function(e){return null},this.createModeDelegates=function(e){if(!this.$embeds)return;this.$modes={};for(var t=0;t<this.$embeds.length;t++)e[this.$embeds[t]]&&(this.$modes[this.$embeds[t]]=new e[this.$embeds[t]]);var n=["toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction"];for(var t=0;t<n.length;t++)(function(e){var r=n[t],i=e[r];e[n[t]]=function(){return this.$delegator(r,arguments,i)}})(this)},this.$delegator=function(e,t,n){var r=t[0];for(var i=0;i<this.$embeds.length;i++){if(!this.$modes[this.$embeds[i]])continue;var s=r.split(this.$embeds[i]);if(!s[0]&&s[1]){t[0]=s[1];var o=this.$modes[this.$embeds[i]];return o[e].apply(o,t)}}var u=n.apply(this,t);return n?u:undefined},this.transformAction=function(e,t,n,r,i){if(this.$behaviour){var s=this.$behaviour.getBehaviours();for(var o in s)if(s[o][t]){var u=s[o][t].apply(this,arguments);if(u)return u}}}}).call(u.prototype),t.Mode=u}),define("ace/tokenizer",["require","exports","module"],function(e,t,n){var r=function(e,t){t=t?"g"+t:"g",this.rules=e,this.regExps={},this.matchMappings={};for(var n in this.rules){var r=this.rules[n],i=r,s=[],o=0,u=this.matchMappings[n]={};for(var a=0;a<i.length;a++){i[a].regex instanceof RegExp&&(i[a].regex=i[a].regex.toString().slice(1,-1));var f=(new RegExp("(?:("+i[a].regex+")|(.))")).exec("a").length-2,l=i[a].regex.replace(/\\([0-9]+)/g,function(e,t){return"\\"+(parseInt(t,10)+o+1)});if(f>1&&i[a].token.length!==f-1)throw new Error("For "+i[a].regex+" the matching groups ("+(f-1)+") and length of the token array ("+i[a].token.length+") don't match (rule #"+a+" of state "+n+")");u[o]={rule:a,len:f},o+=f,s.push(l)}this.regExps[n]=new RegExp("(?:("+s.join(")|(")+")|(.))",t)}};(function(){this.getLineTokens=function(e,t){var n=t||"start",r=this.rules[n],i=this.matchMappings[n],s=this.regExps[n];s.lastIndex=0;var o,u=[],a=0,f={type:null,value:""};while(o=s.exec(e)){var l="text",c=null,h=[o[0]];for(var p=0;p<o.length-2;p++){if(o[p+1]===undefined)continue;c=r[i[p].rule],i[p].len>1&&(h=o.slice(p+2,p+1+i[p].len)),typeof c.token=="function"?l=c.token.apply(this,h):l=c.token;if(c.next){n=c.next,r=this.rules[n],i=this.matchMappings[n],a=s.lastIndex,s=this.regExps[n];if(s===undefined)throw new Error("You indicated a state of "+c.next+" to go to, but it doesn't exist!");s.lastIndex=a}break}if(h[0]){typeof l=="string"&&(h=[h.join("")],l=[l]);for(var p=0;p<h.length;p++){if(!h[p])continue;(!c||c.merge||l[p]==="text")&&f.type===l[p]?f.value+=h[p]:(f.type&&u.push(f),f={type:l[p],value:h[p]})}}if(a==e.length)break;a=s.lastIndex}return f.type&&u.push(f),{tokens:u,state:n}}}).call(r.prototype),t.Tokenizer=r}),define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/lang"],function(e,t,n){var r=e("../lib/lang"),i=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{token:"text",regex:".+"}]}};(function(){this.addRules=function(e,t){for(var n in e){var r=e[n];for(var i=0;i<r.length;i++){var s=r[i];s.next&&(s.next=t+s.next)}this.$rules[t+n]=r}},this.getRules=function(){return this.$rules},this.embedRules=function(e,t,n,i,s){var o=(new e).getRules();if(i)for(var u=0;u<i.length;u++)i[u]=t+i[u];else{i=[];for(var a in o)i.push(t+a)}this.addRules(o,t);var f=Array.prototype[s?"push":"unshift"];for(var u=0;u<i.length;u++)f.apply(this.$rules[i[u]],r.deepCopy(n));this.$embeds||(this.$embeds=[]),this.$embeds.push(t)},this.getEmbeds=function(){return this.$embeds},this.createKeywordMapper=function(e,t,n,r){var i=Object.create(null);return Object.keys(e).forEach(function(t){var s=e[t];n&&(s=s.toLowerCase());var o=s.split(r||"|");for(var u=o.length;u--;)i[o[u]]=t}),e=null,n?function(e){return i[e.toLowerCase()]||t}:function(e){return i[e]||t}},this.getKeywords=function(){return this.$keywords}}).call(i.prototype),t.TextHighlightRules=i}),define("ace/mode/behaviour",["require","exports","module"],function(e,t,n){var r=function(){this.$behaviours={}};(function(){this.add=function(e,t,n){switch(undefined){case this.$behaviours:this.$behaviours={};case this.$behaviours[e]:this.$behaviours[e]={}}this.$behaviours[e][t]=n},this.addBehaviours=function(e){for(var t in e)for(var n in e[t])this.add(t,n,e[t][n])},this.remove=function(e){this.$behaviours&&this.$behaviours[e]&&delete this.$behaviours[e]},this.inherit=function(e,t){if(typeof e=="function")var n=(new e).getBehaviours(t);else var n=e.getBehaviours(t);this.addBehaviours(n)},this.getBehaviours=function(e){if(!e)return this.$behaviours;var t={};for(var n=0;n<e.length;n++)this.$behaviours[e[n]]&&(t[e[n]]=this.$behaviours[e[n]]);return t}}).call(r.prototype),t.Behaviour=r}),define("ace/unicode",["require","exports","module"],function(e,t,n){function r(e){var n=/\w{4}/g;for(var r in e)t.packages[r]=e[r].replace(n,"\\u$&")}t.packages={},r({L:"0041-005A0061-007A00AA00B500BA00C0-00D600D8-00F600F8-02C102C6-02D102E0-02E402EC02EE0370-037403760377037A-037D03860388-038A038C038E-03A103A3-03F503F7-0481048A-05250531-055605590561-058705D0-05EA05F0-05F20621-064A066E066F0671-06D306D506E506E606EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA07F407F507FA0800-0815081A082408280904-0939093D09500958-0961097109720979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10D05-0D0C0D0E-0D100D12-0D280D2A-0D390D3D0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E460E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EC60EDC0EDD0F000F40-0F470F49-0F6C0F88-0F8B1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10A0-10C510D0-10FA10FC1100-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317D717DC1820-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541AA71B05-1B331B45-1B4B1B83-1BA01BAE1BAF1C00-1C231C4D-1C4F1C5A-1C7D1CE9-1CEC1CEE-1CF11D00-1DBF1E00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FBC1FBE1FC2-1FC41FC6-1FCC1FD0-1FD31FD6-1FDB1FE0-1FEC1FF2-1FF41FF6-1FFC2071207F2090-209421022107210A-211321152119-211D212421262128212A-212D212F-2139213C-213F2145-2149214E218321842C00-2C2E2C30-2C5E2C60-2CE42CEB-2CEE2D00-2D252D30-2D652D6F2D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2E2F300530063031-3035303B303C3041-3096309D-309F30A1-30FA30FC-30FF3105-312D3131-318E31A0-31B731F0-31FF3400-4DB54E00-9FCBA000-A48CA4D0-A4FDA500-A60CA610-A61FA62AA62BA640-A65FA662-A66EA67F-A697A6A0-A6E5A717-A71FA722-A788A78BA78CA7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2A9CFAA00-AA28AA40-AA42AA44-AA4BAA60-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADB-AADDABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA2DFA30-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF21-FF3AFF41-FF5AFF66-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",Ll:"0061-007A00AA00B500BA00DF-00F600F8-00FF01010103010501070109010B010D010F01110113011501170119011B011D011F01210123012501270129012B012D012F01310133013501370138013A013C013E014001420144014601480149014B014D014F01510153015501570159015B015D015F01610163016501670169016B016D016F0171017301750177017A017C017E-0180018301850188018C018D019201950199-019B019E01A101A301A501A801AA01AB01AD01B001B401B601B901BA01BD-01BF01C601C901CC01CE01D001D201D401D601D801DA01DC01DD01DF01E101E301E501E701E901EB01ED01EF01F001F301F501F901FB01FD01FF02010203020502070209020B020D020F02110213021502170219021B021D021F02210223022502270229022B022D022F02310233-0239023C023F0240024202470249024B024D024F-02930295-02AF037103730377037B-037D039003AC-03CE03D003D103D5-03D703D903DB03DD03DF03E103E303E503E703E903EB03ED03EF-03F303F503F803FB03FC0430-045F04610463046504670469046B046D046F04710473047504770479047B047D047F0481048B048D048F04910493049504970499049B049D049F04A104A304A504A704A904AB04AD04AF04B104B304B504B704B904BB04BD04BF04C204C404C604C804CA04CC04CE04CF04D104D304D504D704D904DB04DD04DF04E104E304E504E704E904EB04ED04EF04F104F304F504F704F904FB04FD04FF05010503050505070509050B050D050F05110513051505170519051B051D051F0521052305250561-05871D00-1D2B1D62-1D771D79-1D9A1E011E031E051E071E091E0B1E0D1E0F1E111E131E151E171E191E1B1E1D1E1F1E211E231E251E271E291E2B1E2D1E2F1E311E331E351E371E391E3B1E3D1E3F1E411E431E451E471E491E4B1E4D1E4F1E511E531E551E571E591E5B1E5D1E5F1E611E631E651E671E691E6B1E6D1E6F1E711E731E751E771E791E7B1E7D1E7F1E811E831E851E871E891E8B1E8D1E8F1E911E931E95-1E9D1E9F1EA11EA31EA51EA71EA91EAB1EAD1EAF1EB11EB31EB51EB71EB91EBB1EBD1EBF1EC11EC31EC51EC71EC91ECB1ECD1ECF1ED11ED31ED51ED71ED91EDB1EDD1EDF1EE11EE31EE51EE71EE91EEB1EED1EEF1EF11EF31EF51EF71EF91EFB1EFD1EFF-1F071F10-1F151F20-1F271F30-1F371F40-1F451F50-1F571F60-1F671F70-1F7D1F80-1F871F90-1F971FA0-1FA71FB0-1FB41FB61FB71FBE1FC2-1FC41FC61FC71FD0-1FD31FD61FD71FE0-1FE71FF2-1FF41FF61FF7210A210E210F2113212F21342139213C213D2146-2149214E21842C30-2C5E2C612C652C662C682C6A2C6C2C712C732C742C76-2C7C2C812C832C852C872C892C8B2C8D2C8F2C912C932C952C972C992C9B2C9D2C9F2CA12CA32CA52CA72CA92CAB2CAD2CAF2CB12CB32CB52CB72CB92CBB2CBD2CBF2CC12CC32CC52CC72CC92CCB2CCD2CCF2CD12CD32CD52CD72CD92CDB2CDD2CDF2CE12CE32CE42CEC2CEE2D00-2D25A641A643A645A647A649A64BA64DA64FA651A653A655A657A659A65BA65DA65FA663A665A667A669A66BA66DA681A683A685A687A689A68BA68DA68FA691A693A695A697A723A725A727A729A72BA72DA72F-A731A733A735A737A739A73BA73DA73FA741A743A745A747A749A74BA74DA74FA751A753A755A757A759A75BA75DA75FA761A763A765A767A769A76BA76DA76FA771-A778A77AA77CA77FA781A783A785A787A78CFB00-FB06FB13-FB17FF41-FF5A",Lu:"0041-005A00C0-00D600D8-00DE01000102010401060108010A010C010E01100112011401160118011A011C011E01200122012401260128012A012C012E01300132013401360139013B013D013F0141014301450147014A014C014E01500152015401560158015A015C015E01600162016401660168016A016C016E017001720174017601780179017B017D018101820184018601870189-018B018E-0191019301940196-0198019C019D019F01A001A201A401A601A701A901AC01AE01AF01B1-01B301B501B701B801BC01C401C701CA01CD01CF01D101D301D501D701D901DB01DE01E001E201E401E601E801EA01EC01EE01F101F401F6-01F801FA01FC01FE02000202020402060208020A020C020E02100212021402160218021A021C021E02200222022402260228022A022C022E02300232023A023B023D023E02410243-02460248024A024C024E03700372037603860388-038A038C038E038F0391-03A103A3-03AB03CF03D2-03D403D803DA03DC03DE03E003E203E403E603E803EA03EC03EE03F403F703F903FA03FD-042F04600462046404660468046A046C046E04700472047404760478047A047C047E0480048A048C048E04900492049404960498049A049C049E04A004A204A404A604A804AA04AC04AE04B004B204B404B604B804BA04BC04BE04C004C104C304C504C704C904CB04CD04D004D204D404D604D804DA04DC04DE04E004E204E404E604E804EA04EC04EE04F004F204F404F604F804FA04FC04FE05000502050405060508050A050C050E05100512051405160518051A051C051E0520052205240531-055610A0-10C51E001E021E041E061E081E0A1E0C1E0E1E101E121E141E161E181E1A1E1C1E1E1E201E221E241E261E281E2A1E2C1E2E1E301E321E341E361E381E3A1E3C1E3E1E401E421E441E461E481E4A1E4C1E4E1E501E521E541E561E581E5A1E5C1E5E1E601E621E641E661E681E6A1E6C1E6E1E701E721E741E761E781E7A1E7C1E7E1E801E821E841E861E881E8A1E8C1E8E1E901E921E941E9E1EA01EA21EA41EA61EA81EAA1EAC1EAE1EB01EB21EB41EB61EB81EBA1EBC1EBE1EC01EC21EC41EC61EC81ECA1ECC1ECE1ED01ED21ED41ED61ED81EDA1EDC1EDE1EE01EE21EE41EE61EE81EEA1EEC1EEE1EF01EF21EF41EF61EF81EFA1EFC1EFE1F08-1F0F1F18-1F1D1F28-1F2F1F38-1F3F1F48-1F4D1F591F5B1F5D1F5F1F68-1F6F1FB8-1FBB1FC8-1FCB1FD8-1FDB1FE8-1FEC1FF8-1FFB21022107210B-210D2110-211221152119-211D212421262128212A-212D2130-2133213E213F214521832C00-2C2E2C602C62-2C642C672C692C6B2C6D-2C702C722C752C7E-2C802C822C842C862C882C8A2C8C2C8E2C902C922C942C962C982C9A2C9C2C9E2CA02CA22CA42CA62CA82CAA2CAC2CAE2CB02CB22CB42CB62CB82CBA2CBC2CBE2CC02CC22CC42CC62CC82CCA2CCC2CCE2CD02CD22CD42CD62CD82CDA2CDC2CDE2CE02CE22CEB2CEDA640A642A644A646A648A64AA64CA64EA650A652A654A656A658A65AA65CA65EA662A664A666A668A66AA66CA680A682A684A686A688A68AA68CA68EA690A692A694A696A722A724A726A728A72AA72CA72EA732A734A736A738A73AA73CA73EA740A742A744A746A748A74AA74CA74EA750A752A754A756A758A75AA75CA75EA760A762A764A766A768A76AA76CA76EA779A77BA77DA77EA780A782A784A786A78BFF21-FF3A",Lt:"01C501C801CB01F21F88-1F8F1F98-1F9F1FA8-1FAF1FBC1FCC1FFC",Lm:"02B0-02C102C6-02D102E0-02E402EC02EE0374037A0559064006E506E607F407F507FA081A0824082809710E460EC610FC17D718431AA71C78-1C7D1D2C-1D611D781D9B-1DBF2071207F2090-20942C7D2D6F2E2F30053031-3035303B309D309E30FC-30FEA015A4F8-A4FDA60CA67FA717-A71FA770A788A9CFAA70AADDFF70FF9EFF9F",Lo:"01BB01C0-01C3029405D0-05EA05F0-05F20621-063F0641-064A066E066F0671-06D306D506EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA0800-08150904-0939093D09500958-096109720979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10D05-0D0C0D0E-0D100D12-0D280D2A-0D390D3D0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E450E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EDC0EDD0F000F40-0F470F49-0F6C0F88-0F8B1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10D0-10FA1100-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317DC1820-18421844-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541B05-1B331B45-1B4B1B83-1BA01BAE1BAF1C00-1C231C4D-1C4F1C5A-1C771CE9-1CEC1CEE-1CF12135-21382D30-2D652D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE3006303C3041-3096309F30A1-30FA30FF3105-312D3131-318E31A0-31B731F0-31FF3400-4DB54E00-9FCBA000-A014A016-A48CA4D0-A4F7A500-A60BA610-A61FA62AA62BA66EA6A0-A6E5A7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2AA00-AA28AA40-AA42AA44-AA4BAA60-AA6FAA71-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADBAADCABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA2DFA30-FA6DFA70-FAD9FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF66-FF6FFF71-FF9DFFA0-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",M:"0300-036F0483-04890591-05BD05BF05C105C205C405C505C70610-061A064B-065E067006D6-06DC06DE-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0900-0903093C093E-094E0951-0955096209630981-098309BC09BE-09C409C709C809CB-09CD09D709E209E30A01-0A030A3C0A3E-0A420A470A480A4B-0A4D0A510A700A710A750A81-0A830ABC0ABE-0AC50AC7-0AC90ACB-0ACD0AE20AE30B01-0B030B3C0B3E-0B440B470B480B4B-0B4D0B560B570B620B630B820BBE-0BC20BC6-0BC80BCA-0BCD0BD70C01-0C030C3E-0C440C46-0C480C4A-0C4D0C550C560C620C630C820C830CBC0CBE-0CC40CC6-0CC80CCA-0CCD0CD50CD60CE20CE30D020D030D3E-0D440D46-0D480D4A-0D4D0D570D620D630D820D830DCA0DCF-0DD40DD60DD8-0DDF0DF20DF30E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F3E0F3F0F71-0F840F860F870F90-0F970F99-0FBC0FC6102B-103E1056-1059105E-10601062-10641067-106D1071-10741082-108D108F109A-109D135F1712-17141732-1734175217531772177317B6-17D317DD180B-180D18A91920-192B1930-193B19B0-19C019C819C91A17-1A1B1A55-1A5E1A60-1A7C1A7F1B00-1B041B34-1B441B6B-1B731B80-1B821BA1-1BAA1C24-1C371CD0-1CD21CD4-1CE81CED1CF21DC0-1DE61DFD-1DFF20D0-20F02CEF-2CF12DE0-2DFF302A-302F3099309AA66F-A672A67CA67DA6F0A6F1A802A806A80BA823-A827A880A881A8B4-A8C4A8E0-A8F1A926-A92DA947-A953A980-A983A9B3-A9C0AA29-AA36AA43AA4CAA4DAA7BAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1ABE3-ABEAABECABEDFB1EFE00-FE0FFE20-FE26",Mn:"0300-036F0483-04870591-05BD05BF05C105C205C405C505C70610-061A064B-065E067006D6-06DC06DF-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0900-0902093C0941-0948094D0951-095509620963098109BC09C1-09C409CD09E209E30A010A020A3C0A410A420A470A480A4B-0A4D0A510A700A710A750A810A820ABC0AC1-0AC50AC70AC80ACD0AE20AE30B010B3C0B3F0B41-0B440B4D0B560B620B630B820BC00BCD0C3E-0C400C46-0C480C4A-0C4D0C550C560C620C630CBC0CBF0CC60CCC0CCD0CE20CE30D41-0D440D4D0D620D630DCA0DD2-0DD40DD60E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F71-0F7E0F80-0F840F860F870F90-0F970F99-0FBC0FC6102D-10301032-10371039103A103D103E10581059105E-10601071-1074108210851086108D109D135F1712-17141732-1734175217531772177317B7-17BD17C617C9-17D317DD180B-180D18A91920-19221927192819321939-193B1A171A181A561A58-1A5E1A601A621A65-1A6C1A73-1A7C1A7F1B00-1B031B341B36-1B3A1B3C1B421B6B-1B731B801B811BA2-1BA51BA81BA91C2C-1C331C361C371CD0-1CD21CD4-1CE01CE2-1CE81CED1DC0-1DE61DFD-1DFF20D0-20DC20E120E5-20F02CEF-2CF12DE0-2DFF302A-302F3099309AA66FA67CA67DA6F0A6F1A802A806A80BA825A826A8C4A8E0-A8F1A926-A92DA947-A951A980-A982A9B3A9B6-A9B9A9BCAA29-AA2EAA31AA32AA35AA36AA43AA4CAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1ABE5ABE8ABEDFB1EFE00-FE0FFE20-FE26",Mc:"0903093E-09400949-094C094E0982098309BE-09C009C709C809CB09CC09D70A030A3E-0A400A830ABE-0AC00AC90ACB0ACC0B020B030B3E0B400B470B480B4B0B4C0B570BBE0BBF0BC10BC20BC6-0BC80BCA-0BCC0BD70C01-0C030C41-0C440C820C830CBE0CC0-0CC40CC70CC80CCA0CCB0CD50CD60D020D030D3E-0D400D46-0D480D4A-0D4C0D570D820D830DCF-0DD10DD8-0DDF0DF20DF30F3E0F3F0F7F102B102C10311038103B103C105610571062-10641067-106D108310841087-108C108F109A-109C17B617BE-17C517C717C81923-19261929-192B193019311933-193819B0-19C019C819C91A19-1A1B1A551A571A611A631A641A6D-1A721B041B351B3B1B3D-1B411B431B441B821BA11BA61BA71BAA1C24-1C2B1C341C351CE11CF2A823A824A827A880A881A8B4-A8C3A952A953A983A9B4A9B5A9BAA9BBA9BD-A9C0AA2FAA30AA33AA34AA4DAA7BABE3ABE4ABE6ABE7ABE9ABEAABEC",Me:"0488048906DE20DD-20E020E2-20E4A670-A672",N:"0030-003900B200B300B900BC-00BE0660-066906F0-06F907C0-07C90966-096F09E6-09EF09F4-09F90A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BF20C66-0C6F0C78-0C7E0CE6-0CEF0D66-0D750E50-0E590ED0-0ED90F20-0F331040-10491090-10991369-137C16EE-16F017E0-17E917F0-17F91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C5920702074-20792080-20892150-21822185-21892460-249B24EA-24FF2776-27932CFD30073021-30293038-303A3192-31953220-32293251-325F3280-328932B1-32BFA620-A629A6E6-A6EFA830-A835A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19",Nd:"0030-00390660-066906F0-06F907C0-07C90966-096F09E6-09EF0A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BEF0C66-0C6F0CE6-0CEF0D66-0D6F0E50-0E590ED0-0ED90F20-0F291040-10491090-109917E0-17E91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C59A620-A629A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19",Nl:"16EE-16F02160-21822185-218830073021-30293038-303AA6E6-A6EF",No:"00B200B300B900BC-00BE09F4-09F90BF0-0BF20C78-0C7E0D70-0D750F2A-0F331369-137C17F0-17F920702074-20792080-20892150-215F21892460-249B24EA-24FF2776-27932CFD3192-31953220-32293251-325F3280-328932B1-32BFA830-A835",P:"0021-00230025-002A002C-002F003A003B003F0040005B-005D005F007B007D00A100AB00B700BB00BF037E0387055A-055F0589058A05BE05C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E0964096509700DF40E4F0E5A0E5B0F04-0F120F3A-0F3D0F850FD0-0FD4104A-104F10FB1361-13681400166D166E169B169C16EB-16ED1735173617D4-17D617D8-17DA1800-180A1944194519DE19DF1A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601C3B-1C3F1C7E1C7F1CD32010-20272030-20432045-20512053-205E207D207E208D208E2329232A2768-277527C527C627E6-27EF2983-299829D8-29DB29FC29FD2CF9-2CFC2CFE2CFF2E00-2E2E2E302E313001-30033008-30113014-301F3030303D30A030FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFABEBFD3EFD3FFE10-FE19FE30-FE52FE54-FE61FE63FE68FE6AFE6BFF01-FF03FF05-FF0AFF0C-FF0FFF1AFF1BFF1FFF20FF3B-FF3DFF3FFF5BFF5DFF5F-FF65",Pd:"002D058A05BE140018062010-20152E172E1A301C303030A0FE31FE32FE58FE63FF0D",Ps:"0028005B007B0F3A0F3C169B201A201E2045207D208D23292768276A276C276E27702772277427C527E627E827EA27EC27EE2983298529872989298B298D298F299129932995299729D829DA29FC2E222E242E262E283008300A300C300E3010301430163018301A301DFD3EFE17FE35FE37FE39FE3BFE3DFE3FFE41FE43FE47FE59FE5BFE5DFF08FF3BFF5BFF5FFF62",Pe:"0029005D007D0F3B0F3D169C2046207E208E232A2769276B276D276F27712773277527C627E727E927EB27ED27EF298429862988298A298C298E2990299229942996299829D929DB29FD2E232E252E272E293009300B300D300F3011301530173019301B301E301FFD3FFE18FE36FE38FE3AFE3CFE3EFE40FE42FE44FE48FE5AFE5CFE5EFF09FF3DFF5DFF60FF63",Pi:"00AB2018201B201C201F20392E022E042E092E0C2E1C2E20",Pf:"00BB2019201D203A2E032E052E0A2E0D2E1D2E21",Pc:"005F203F20402054FE33FE34FE4D-FE4FFF3F",Po:"0021-00230025-0027002A002C002E002F003A003B003F0040005C00A100B700BF037E0387055A-055F058905C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E0964096509700DF40E4F0E5A0E5B0F04-0F120F850FD0-0FD4104A-104F10FB1361-1368166D166E16EB-16ED1735173617D4-17D617D8-17DA1800-18051807-180A1944194519DE19DF1A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601C3B-1C3F1C7E1C7F1CD3201620172020-20272030-2038203B-203E2041-20432047-205120532055-205E2CF9-2CFC2CFE2CFF2E002E012E06-2E082E0B2E0E-2E162E182E192E1B2E1E2E1F2E2A-2E2E2E302E313001-3003303D30FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFABEBFE10-FE16FE19FE30FE45FE46FE49-FE4CFE50-FE52FE54-FE57FE5F-FE61FE68FE6AFE6BFF01-FF03FF05-FF07FF0AFF0CFF0EFF0FFF1AFF1BFF1FFF20FF3CFF61FF64FF65",S:"0024002B003C-003E005E0060007C007E00A2-00A900AC00AE-00B100B400B600B800D700F702C2-02C502D2-02DF02E5-02EB02ED02EF-02FF03750384038503F604820606-0608060B060E060F06E906FD06FE07F609F209F309FA09FB0AF10B700BF3-0BFA0C7F0CF10CF20D790E3F0F01-0F030F13-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F13601390-139917DB194019E0-19FF1B61-1B6A1B74-1B7C1FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE20442052207A-207C208A-208C20A0-20B8210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B2140-2144214A-214D214F2190-2328232B-23E82400-24262440-244A249C-24E92500-26CD26CF-26E126E326E8-26FF2701-27042706-2709270C-27272729-274B274D274F-27522756-275E2761-276727942798-27AF27B1-27BE27C0-27C427C7-27CA27CC27D0-27E527F0-29822999-29D729DC-29FB29FE-2B4C2B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F309B309C319031913196-319F31C0-31E33200-321E322A-32503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A700-A716A720A721A789A78AA828-A82BA836-A839AA77-AA79FB29FDFCFDFDFE62FE64-FE66FE69FF04FF0BFF1C-FF1EFF3EFF40FF5CFF5EFFE0-FFE6FFE8-FFEEFFFCFFFD",Sm:"002B003C-003E007C007E00AC00B100D700F703F60606-060820442052207A-207C208A-208C2140-2144214B2190-2194219A219B21A021A321A621AE21CE21CF21D221D421F4-22FF2308-230B23202321237C239B-23B323DC-23E125B725C125F8-25FF266F27C0-27C427C7-27CA27CC27D0-27E527F0-27FF2900-29822999-29D729DC-29FB29FE-2AFF2B30-2B442B47-2B4CFB29FE62FE64-FE66FF0BFF1C-FF1EFF5CFF5EFFE2FFE9-FFEC",Sc:"002400A2-00A5060B09F209F309FB0AF10BF90E3F17DB20A0-20B8A838FDFCFE69FF04FFE0FFE1FFE5FFE6",Sk:"005E006000A800AF00B400B802C2-02C502D2-02DF02E5-02EB02ED02EF-02FF0375038403851FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE309B309CA700-A716A720A721A789A78AFF3EFF40FFE3",So:"00A600A700A900AE00B000B60482060E060F06E906FD06FE07F609FA0B700BF3-0BF80BFA0C7F0CF10CF20D790F01-0F030F13-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F13601390-1399194019E0-19FF1B61-1B6A1B74-1B7C210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B214A214C214D214F2195-2199219C-219F21A121A221A421A521A7-21AD21AF-21CD21D021D121D321D5-21F32300-2307230C-231F2322-2328232B-237B237D-239A23B4-23DB23E2-23E82400-24262440-244A249C-24E92500-25B625B8-25C025C2-25F72600-266E2670-26CD26CF-26E126E326E8-26FF2701-27042706-2709270C-27272729-274B274D274F-27522756-275E2761-276727942798-27AF27B1-27BE2800-28FF2B00-2B2F2B452B462B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F319031913196-319F31C0-31E33200-321E322A-32503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A828-A82BA836A837A839AA77-AA79FDFDFFE4FFE8FFEDFFEEFFFCFFFD",Z:"002000A01680180E2000-200A20282029202F205F3000",Zs:"002000A01680180E2000-200A202F205F3000",Zl:"2028",Zp:"2029",C:"0000-001F007F-009F00AD03780379037F-0383038B038D03A20526-05300557055805600588058B-059005C8-05CF05EB-05EF05F5-0605061C061D0620065F06DD070E070F074B074C07B2-07BF07FB-07FF082E082F083F-08FF093A093B094F095609570973-097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF00AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B72-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D290D3A-0D3C0D450D490D4E-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EDE-0EFF0F480F6D-0F700F8C-0F8F0F980FBD0FCD0FD9-0FFF10C6-10CF10FD-10FF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B-135E137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17B417B517DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BAB-1BAD1BBA-1BFF1C38-1C3A1C4A-1C4C1C80-1CCF1CF3-1CFF1DE7-1DFC1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF200B-200F202A-202E2060-206F20722073208F2095-209F20B9-20CF20F1-20FF218A-218F23E9-23FF2427-243F244B-245F26CE26E226E4-26E727002705270A270B2728274C274E2753-2755275F27602795-279727B027BF27CB27CD-27CF2B4D-2B4F2B5A-2BFF2C2F2C5F2CF2-2CF82D26-2D2F2D66-2D6E2D70-2D7F2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E32-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31B8-31BF31E4-31EF321F32FF4DB6-4DBF9FCC-9FFFA48D-A48FA4C7-A4CFA62C-A63FA660A661A674-A67BA698-A69FA6F8-A6FFA78D-A7FAA82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAE0-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-F8FFFA2EFA2FFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBB2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFD-FF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFFBFFFEFFFF",Cc:"0000-001F007F-009F",Cf:"00AD0600-060306DD070F17B417B5200B-200F202A-202E2060-2064206A-206FFEFFFFF9-FFFB",Co:"E000-F8FF",Cs:"D800-DFFF",Cn:"03780379037F-0383038B038D03A20526-05300557055805600588058B-059005C8-05CF05EB-05EF05F5-05FF06040605061C061D0620065F070E074B074C07B2-07BF07FB-07FF082E082F083F-08FF093A093B094F095609570973-097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF00AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B72-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D290D3A-0D3C0D450D490D4E-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EDE-0EFF0F480F6D-0F700F8C-0F8F0F980FBD0FCD0FD9-0FFF10C6-10CF10FD-10FF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B-135E137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BAB-1BAD1BBA-1BFF1C38-1C3A1C4A-1C4C1C80-1CCF1CF3-1CFF1DE7-1DFC1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF2065-206920722073208F2095-209F20B9-20CF20F1-20FF218A-218F23E9-23FF2427-243F244B-245F26CE26E226E4-26E727002705270A270B2728274C274E2753-2755275F27602795-279727B027BF27CB27CD-27CF2B4D-2B4F2B5A-2BFF2C2F2C5F2CF2-2CF82D26-2D2F2D66-2D6E2D70-2D7F2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E32-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31B8-31BF31E4-31EF321F32FF4DB6-4DBF9FCC-9FFFA48D-A48FA4C7-A4CFA62C-A63FA660A661A674-A67BA698-A69FA6F8-A6FFA78D-A7FAA82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAE0-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-D7FFFA2EFA2FFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBB2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFDFEFEFF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFF8FFFEFFFF"})}),define("ace/document",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=e("./range").Range,o=e("./anchor").Anchor,u=function(e){this.$lines=[],e.length==0?this.$lines=[""]:Array.isArray(e)?this.insertLines(0,e):this.insert({row:0,column:0},e)};(function(){r.implement(this,i),this.setValue=function(e){var t=this.getLength();this.remove(new s(0,0,t,this.getLine(t-1).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new o(this,e,t)},"aaa".split(/a/).length==0?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);t?this.$autoNewLine=t[1]:this.$autoNewLine="\n"},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";case"auto":return this.$autoNewLine}},this.$autoNewLine="\n",this.$newLineMode="auto",this.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){if(e.start.row==e.end.row)return this.$lines[e.start.row].substring(e.start.column,e.end.column);var t=this.getLines(e.start.row+1,e.end.row-1);return t.unshift((this.$lines[e.start.row]||"").substring(e.start.column)),t.push((this.$lines[e.end.row]||"").substring(0,e.end.column)),t.join(this.getNewLineCharacter())},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t&&(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length),e},this.insert=function(e,t){if(!t||t.length===0)return e;e=this.$clipPosition(e),this.getLength()<=1&&this.$detectNewLine(t);var n=this.$split(t),r=n.splice(0,1)[0],i=n.length==0?null:n.splice(n.length-1,1)[0];return e=this.insertInLine(e,r),i!==null&&(e=this.insertNewLine(e),e=this.insertLines(e.row,n),e=this.insertInLine(e,i||"")),e},this.insertLines=function(e,t){if(t.length==0)return{row:e,column:0};if(t.length>65535){var n=this.insertLines(e,t.slice(65535));t=t.slice(0,65535)}var r=[e,0];r.push.apply(r,t),this.$lines.splice.apply(this.$lines,r);var i=new s(e,0,e+t.length,0),o={action:"insertLines",range:i,lines:t};return this._emit("change",{data:o}),n||i.end},this.insertNewLine=function(e){e=this.$clipPosition(e);var t=this.$lines[e.row]||"";this.$lines[e.row]=t.substring(0,e.column),this.$lines.splice(e.row+1,0,t.substring(e.column,t.length));var n={row:e.row+1,column:0},r={action:"insertText",range:s.fromPoints(e,n),text:this.getNewLineCharacter()};return this._emit("change",{data:r}),n},this.insertInLine=function(e,t){if(t.length==0)return e;var n=this.$lines[e.row]||"";this.$lines[e.row]=n.substring(0,e.column)+t+n.substring(e.column);var r={row:e.row,column:e.column+t.length},i={action:"insertText",range:s.fromPoints(e,r),text:t};return this._emit("change",{data:i}),r},this.remove=function(e){e.start=this.$clipPosition(e.start),e.end=this.$clipPosition(e.end);if(e.isEmpty())return e.start;var t=e.start.row,n=e.end.row;if(e.isMultiLine()){var r=e.start.column==0?t:t+1,i=n-1;e.end.column>0&&this.removeInLine(n,0,e.end.column),i>=r&&this.removeLines(r,i),r!=t&&(this.removeInLine(t,e.start.column,this.getLine(t).length),this.removeNewLine(e.start.row))}else this.removeInLine(t,e.start.column,e.end.column);return e.start},this.removeInLine=function(e,t,n){if(t==n)return;var r=new s(e,t,e,n),i=this.getLine(e),o=i.substring(t,n),u=i.substring(0,t)+i.substring(n,i.length);this.$lines.splice(e,1,u);var a={action:"removeText",range:r,text:o};return this._emit("change",{data:a}),r.start},this.removeLines=function(e,t){var n=new s(e,0,t+1,0),r=this.$lines.splice(e,t-e+1),i={action:"removeLines",range:n,nl:this.getNewLineCharacter(),lines:r};return this._emit("change",{data:i}),r},this.removeNewLine=function(e){var t=this.getLine(e),n=this.getLine(e+1),r=new s(e,t.length,e+1,0),i=t+n;this.$lines.splice(e,2,i);var o={action:"removeText",range:r,text:this.getNewLineCharacter()};this._emit("change",{data:o})},this.replace=function(e,t){if(t.length==0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);if(t)var n=this.insert(e.start,t);else n=e.start;return n},this.applyDeltas=function(e){for(var t=0;t<e.length;t++){var n=e[t],r=s.fromPoints(n.range.start,n.range.end);n.action=="insertLines"?this.insertLines(r.start.row,n.lines):n.action=="insertText"?this.insert(r.start,n.text):n.action=="removeLines"?this.removeLines(r.start.row,r.end.row-1):n.action=="removeText"&&this.remove(r)}},this.revertDeltas=function(e){for(var t=e.length-1;t>=0;t--){var n=e[t],r=s.fromPoints(n.range.start,n.range.end);n.action=="insertLines"?this.removeLines(r.start.row,r.end.row-1):n.action=="insertText"?this.remove(r):n.action=="removeLines"?this.insertLines(r.start.row,n.lines):n.action=="removeText"&&this.insert(r.start,n.text)}}}).call(u.prototype),t.Document=u}),define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=t.Anchor=function(e,t,n){this.document=e,typeof n=="undefined"?this.setPosition(t.row,t.column):this.setPosition(t,n),this.$onChange=this.onChange.bind(this),e.on("change",this.$onChange)};(function(){r.implement(this,i),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.onChange=function(e){var t=e.data,n=t.range;if(n.start.row==n.end.row&&n.start.row!=this.row)return;if(n.start.row>this.row)return;if(n.start.row==this.row&&n.start.column>this.column)return;var r=this.row,i=this.column;t.action==="insertText"?n.start.row===r&&n.start.column<=i?n.start.row===n.end.row?i+=n.end.column-n.start.column:(i-=n.start.column,r+=n.end.row-n.start.row):n.start.row!==n.end.row&&n.start.row<r&&(r+=n.end.row-n.start.row):t.action==="insertLines"?n.start.row<=r&&(r+=n.end.row-n.start.row):t.action=="removeText"?n.start.row==r&&n.start.column<i?n.end.column>=i?i=n.start.column:i=Math.max(0,i-(n.end.column-n.start.column)):n.start.row!==n.end.row&&n.start.row<r?(n.end.row==r&&(i=Math.max(0,i-n.end.column)+n.start.column),r-=n.end.row-n.start.row):n.end.row==r&&(r-=n.end.row-n.start.row,i=Math.max(0,i-n.end.column)+n.start.column):t.action=="removeLines"&&n.start.row<=r&&(n.end.row<=r?r-=n.end.row-n.start.row:(r=n.start.row,i=0)),this.setPosition(r,i,!0)},this.setPosition=function(e,t,n){var r;n?r={row:e,column:t}:r=this.$clipPositionToDocument(e,t);if(this.row==r.row&&this.column==r.column)return;var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._emit("change",{old:i,value:r})},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),define("ace/background_tokenizer",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=5e3,o=function(e,t){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.tokenizer=e;var n=this;this.$worker=function(){if(!n.running)return;var e=new Date,t=n.currentLine,r=n.doc,i=0,s=r.getLength();while(n.currentLine<s){n.$tokenizeRow(n.currentLine);while(n.lines[n.currentLine])n.currentLine++;i++;if(i%5==0&&new Date-e>20){n.fireUpdateEvent(t,n.currentLine-1),n.running=setTimeout(n.$worker,20);return}}n.running=!1,n.fireUpdateEvent(t,s-1)}};(function(){r.implement(this,i),this.setTokenizer=function(e){this.tokenizer=e,this.lines=[],this.states=[],this.start(0)},this.setDocument=function(e){this.doc=e,this.lines=[],this.states=[],this.stop()},this.fireUpdateEvent=function(e,t){var n={first:e,last:t};this._emit("update",{data:n})},this.start=function(e){this.currentLine=Math.min(e||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},this.$updateOnChange=function(e){var t=e.range,n=t.start.row,r=t.end.row-n;if(r===0)this.lines[n]=null;else if(e.action=="removeText"||e.action=="removeLines")this.lines.splice(n,r+1,null),this.states.splice(n,r+1,null);else{var i=Array(r+1);i.unshift(n,1),this.lines.splice.apply(this.lines,i),this.states.splice.apply(this.states,i)}this.currentLine=Math.min(n,this.currentLine,this.doc.getLength()),this.stop(),this.running=setTimeout(this.$worker,700)},this.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},this.getTokens=function(e){return this.lines[e]||this.$tokenizeRow(e)},this.getState=function(e){return this.currentLine==e&&this.$tokenizeRow(e),this.states[e]||"start"},this.$tokenizeRow=function(e){var t=this.doc.getLine(e),n=this.states[e-1];if(t.length>s){var r={value:t.substr(s),type:"text"};t=t.slice(0,s)}var i=this.tokenizer.getLineTokens(t,n);return r&&(i.tokens.push(r),i.state="start"),this.states[e]!==i.state?(this.states[e]=i.state,this.lines[e+1]=null,this.currentLine>e+1&&(this.currentLine=e+1)):this.currentLine==e&&(this.currentLine=e+1),this.lines[e]=i.tokens}}).call(o.prototype),t.BackgroundTokenizer=o}),define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,n){var r=e("./lib/lang"),i=e("./lib/oop"),s=e("./range").Range,o=function(e,t,n){this.setRegexp(e),this.clazz=t,this.type=n||"text"};(function(){this.MAX_RANGES=500,this.setRegexp=function(e){if(this.regExp+""==e+"")return;this.regExp=e,this.cache=[]},this.update=function(e,t,n,i){if(!this.regExp)return;var o=i.firstRow,u=i.lastRow;for(var a=o;a<=u;a++){var f=this.cache[a];f==null&&(f=r.getMatchOffsets(n.getLine(a),this.regExp),f.length>this.MAX_RANGES&&(f=f.slice(0,this.MAX_RANGES)),f=f.map(function(e){return new s(a,e.offset,a,e.offset+e.length)}),this.cache[a]=f.length?f:"");for(var l=f.length;l--;)t.drawSingleLineMarker(e,f[l].toScreenRange(n),this.clazz,i,null,this.type)}}}).call(o.prototype),t.SearchHighlight=o}),define("ace/edit_session/folding",["require","exports","module","ace/range","ace/edit_session/fold_line","ace/edit_session/fold","ace/token_iterator"],function(e,t,n){function u(){this.getFoldAt=function(e,t,n){var r=this.getFoldLine(e);if(!r)return null;var i=r.folds;for(var s=0;s<i.length;s++){var o=i[s];if(o.range.contains(e,t)){if(n==1&&o.range.isEnd(e,t))continue;if(n==-1&&o.range.isStart(e,t))continue;return o}}},this.getFoldsInRange=function(e){e=e.clone();var t=e.start,n=e.end,r=this.$foldData,i=[];t.column+=1,n.column-=1;for(var s=0;s<r.length;s++){var o=r[s].range.compareRange(e);if(o==2)continue;if(o==-2)break;var u=r[s].folds;for(var a=0;a<u.length;a++){var f=u[a];o=f.range.compareRange(e);if(o==-2)break;if(o==2)continue;if(o==42)break;i.push(f)}}return i},this.getAllFolds=function(){function n(t){e.push(t);if(!t.subFolds)return;for(var r=0;r<t.subFolds.length;r++)n(t.subFolds[r])}var e=[],t=this.$foldData;for(var r=0;r<t.length;r++)for(var i=0;i<t[r].folds.length;i++)n(t[r].folds[i]);return e},this.getFoldStringAt=function(e,t,n,r){r=r||this.getFoldLine(e);if(!r)return null;var i={end:{column:0}},s,o;for(var u=0;u<r.folds.length;u++){o=r.folds[u];var a=o.range.compareEnd(e,t);if(a==-1){s=this.getLine(o.start.row).substring(i.end.column,o.start.column);break}if(a===0)return null;i=o}return s||(s=this.getLine(o.start.row).substring(i.end.column)),n==-1?s.substring(0,t-i.end.column):n==1?s.substring(t-i.end.column):s},this.getFoldLine=function(e,t){var n=this.$foldData,r=0;t&&(r=n.indexOf(t)),r==-1&&(r=0);for(r;r<n.length;r++){var i=n[r];if(i.start.row<=e&&i.end.row>=e)return i;if(i.end.row>e)return null}return null},this.getNextFoldLine=function(e,t){var n=this.$foldData,r=0;t&&(r=n.indexOf(t)),r==-1&&(r=0);for(r;r<n.length;r++){var i=n[r];if(i.end.row>=e)return i}return null},this.getFoldedRowCount=function(e,t){var n=this.$foldData,r=t-e+1;for(var i=0;i<n.length;i++){var s=n[i],o=s.end.row,u=s.start.row;if(o>=t){u<t&&(u>=e?r-=t-u:r=0);break}o>=e&&(u>=e?r-=o-u:r-=o-e+1)}return r},this.$addFoldLine=function(e){return this.$foldData.push(e),this.$foldData.sort(function(e,t){return e.start.row-t.start.row}),e},this.addFold=function(e,t){var n=this.$foldData,r=!1,o;e instanceof s?o=e:o=new s(t,e),this.$clipRangeToDocument(o.range);var u=o.start.row,a=o.start.column,f=o.end.row,l=o.end.column;if(u==f&&l-a<2)throw"The range has to be at least 2 characters width";var c=this.getFoldAt(u,a,1),h=this.getFoldAt(f,l,-1);if(c&&h==c)return c.addSubFold(o);if(c&&!c.range.isStart(u,a)||h&&!h.range.isEnd(f,l))throw"A fold can't intersect already existing fold"+o.range+c.range;var p=this.getFoldsInRange(o.range);p.length>0&&(this.removeFolds(p),o.subFolds=p);for(var d=0;d<n.length;d++){var v=n[d];if(f==v.start.row){v.addFold(o),r=!0;break}if(u==v.end.row){v.addFold(o),r=!0;if(!o.sameRow){var m=n[d+1];if(m&&m.start.row==f){v.merge(m);break}}break}if(f<=v.start.row)break}return r||(v=this.$addFoldLine(new i(this.$foldData,o))),this.$useWrapMode?this.$updateWrapData(v.start.row,v.start.row):this.$updateRowLengthCache(v.start.row,v.start.row),this.$modified=!0,this._emit("changeFold",{data:o}),o},this.addFolds=function(e){e.forEach(function(e){this.addFold(e)},this)},this.removeFold=function(e){var t=e.foldLine,n=t.start.row,r=t.end.row,i=this.$foldData,s=t.folds;if(s.length==1)i.splice(i.indexOf(t),1);else if(t.range.isEnd(e.end.row,e.end.column))s.pop(),t.end.row=s[s.length-1].end.row,t.end.column=s[s.length-1].end.column;else if(t.range.isStart(e.start.row,e.start.column))s.shift(),t.start.row=s[0].start.row,t.start.column=s[0].start.column;else if(e.sameRow)s.splice(s.indexOf(e),1);else{var o=t.split(e.start.row,e.start.column);s=o.folds,s.shift(),o.start.row=s[0].start.row,o.start.column=s[0].start.column}this.$useWrapMode?this.$updateWrapData(n,r):this.$updateRowLengthCache(n,r),this.$modified=!0,this._emit("changeFold",{data:e})},this.removeFolds=function(e){var t=[];for(var n=0;n<e.length;n++)t.push(e[n]);t.forEach(function(e){this.removeFold(e)},this),this.$modified=!0},this.expandFold=function(e){this.removeFold(e),e.subFolds.forEach(function(e){this.addFold(e)},this),e.subFolds=[]},this.expandFolds=function(e){e.forEach(function(e){this.expandFold(e)},this)},this.unfold=function(e,t){var n,i;e==null?n=new r(0,0,this.getLength(),0):typeof e=="number"?n=new r(e,0,e,this.getLine(e).length):"row"in e?n=r.fromPoints(e,e):n=e,i=this.getFoldsInRange(n);if(t)this.removeFolds(i);else while(i.length)this.expandFolds(i),i=this.getFoldsInRange(n)},this.isRowFolded=function(e,t){return!!this.getFoldLine(e,t)},this.getRowFoldEnd=function(e,t){var n=this.getFoldLine(e,t);return n?n.end.row:e},this.getFoldDisplayLine=function(e,t,n,r,i){r==null&&(r=e.start.row,i=0),t==null&&(t=e.end.row,n=this.getLine(t).length);var s=this.doc,o="";return e.walk(function(e,t,n,u){if(t<r)return;if(t==r){if(n<i)return;u=Math.max(i,u)}e!=null?o+=e:o+=s.getLine(t).substring(u,n)}.bind(this),t,n),o},this.getDisplayLine=function(e,t,n,r){var i=this.getFoldLine(e);if(!i){var s;return s=this.doc.getLine(e),s.substring(r||0,t||s.length)}return this.getFoldDisplayLine(i,e,t,n,r)},this.$cloneFoldData=function(){var e=[];return e=this.$foldData.map(function(t){var n=t.folds.map(function(e){return e.clone()});return new i(e,n)}),e},this.toggleFold=function(e){var t=this.selection,n=t.getRange(),r,i;if(n.isEmpty()){var s=n.start;r=this.getFoldAt(s.row,s.column);if(r){this.expandFold(r);return}(i=this.findMatchingBracket(s))?n.comparePoint(i)==1?n.end=i:(n.start=i,n.start.column++,n.end.column--):(i=this.findMatchingBracket({row:s.row,column:s.column+1}))?(n.comparePoint(i)==1?n.end=i:n.start=i,n.start.column++):n=this.getCommentFoldRange(s.row,s.column)||n}else{var o=this.getFoldsInRange(n);if(e&&o.length){this.expandFolds(o);return}o.length==1&&(r=o[0])}r||(r=this.getFoldAt(n.start.row,n.start.column));if(r&&r.range.toString()==n.toString()){this.expandFold(r);return}var u="...";if(!n.isMultiLine()){u=this.getTextRange(n);if(u.length<4)return;u=u.trim().substring(0,2)+".."}this.addFold(u,n)},this.getCommentFoldRange=function(e,t,n){var i=new o(this,e,t),s=i.getCurrentToken();if(s&&/^comment|string/.test(s.type)){var u=new r,a=new RegExp(s.type.replace(/\..*/,"\\."));if(n!=1){do s=i.stepBackward();while(s&&a.test(s.type));i.stepForward()}u.start.row=i.getCurrentTokenRow(),u.start.column=i.getCurrentTokenColumn()+2,i=new o(this,e,t);if(n!=-1){do s=i.stepForward();while(s&&a.test(s.type));s=i.stepBackward()}else s=i.getCurrentToken();return u.end.row=i.getCurrentTokenRow(),u.end.column=i.getCurrentTokenColumn()+s.value.length-2,u}},this.foldAll=function(e,t){var n=this.foldWidgets;t=t||this.getLength();for(var r=e||0;r<t;r++){n[r]==null&&(n[r]=this.getFoldWidget(r));if(n[r]!="start")continue;var i=this.getFoldWidgetRange(r);if(i&&i.end.row<=t)try{this.addFold("...",i)}catch(s){}}},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle="markbegin",this.setFoldStyle=function(e){if(!this.$foldStyles[e])throw new Error("invalid fold style: "+e+"["+Object.keys(this.$foldStyles).join(", ")+"]");if(this.$foldStyle==e)return;this.$foldStyle=e,e=="manual"&&this.unfold();var t=this.$foldMode;this.$setFolding(null),this.$setFolding(t)},this.$setFolding=function(e){if(this.$foldMode==e)return;this.$foldMode=e,this.removeListener("change",this.$updateFoldWidgets),this._emit("changeAnnotation");if(!e||this.$foldStyle=="manual"){this.foldWidgets=null;return}this.foldWidgets=[],this.getFoldWidget=e.getFoldWidget.bind(e,this,this.$foldStyle),this.getFoldWidgetRange=e.getFoldWidgetRange.bind(e,this,this.$foldStyle),this.$updateFoldWidgets=this.updateFoldWidgets.bind(this),this.on("change",this.$updateFoldWidgets)},this.onFoldWidgetClick=function(e,t){t=t.domEvent;var n=this.getFoldWidget(e),r=this.getLine(e),i=t.shiftKey,s=i||t.ctrlKey||t.altKey||t.metaKey,o;n=="end"?o=this.getFoldAt(e,0,-1):o=this.getFoldAt(e,r.length,1);if(o){s?this.removeFold(o):this.expandFold(o);return}var u=this.getFoldWidgetRange(e);if(u){if(!u.isMultiLine()){o=this.getFoldAt(u.start.row,u.start.column,1);if(o&&u.isEqual(o.range)){this.removeFold(o);return}}i||this.addFold("...",u),s&&this.foldAll(u.start.row+1,u.end.row)}else s&&this.foldAll(e+1,this.getLength()),(t.target||t.srcElement).className+=" ace_invalid"},this.updateFoldWidgets=function(e){var t=e.data,n=t.range,r=n.start.row,i=n.end.row-r;if(i===0)this.foldWidgets[r]=null;else if(t.action=="removeText"||t.action=="removeLines")this.foldWidgets.splice(r,i+1,null);else{var s=Array(i+1);s.unshift(r,1),this.foldWidgets.splice.apply(this.foldWidgets,s)}}}var r=e("../range").Range,i=e("./fold_line").FoldLine,s=e("./fold").Fold,o=e("../token_iterator").TokenIterator;t.Folding=u}),define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(e,t,n){function i(e,t){this.foldData=e,Array.isArray(t)?this.folds=t:t=this.folds=[t];var n=t[t.length-1];this.range=new r(t[0].start.row,t[0].start.column,n.end.row,n.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(e){e.setFoldLine(this)},this)}var r=e("../range").Range;(function(){this.shiftRow=function(e){this.start.row+=e,this.end.row+=e,this.folds.forEach(function(t){t.start.row+=e,t.end.row+=e})},this.addFold=function(e){if(e.sameRow){if(e.start.row<this.startRow||e.endRow>this.endRow)throw"Can't add a fold to this FoldLine as it has no connection";this.folds.push(e),this.folds.sort(function(e,t){return-e.range.compareEnd(t.start.row,t.start.column)}),this.range.compareEnd(e.start.row,e.start.column)>0?(this.end.row=e.end.row,this.end.column=e.end.column):this.range.compareStart(e.end.row,e.end.column)<0&&(this.start.row=e.start.row,this.start.column=e.start.column)}else if(e.start.row==this.end.row)this.folds.push(e),this.end.row=e.end.row,this.end.column=e.end.column;else{if(e.end.row!=this.start.row)throw"Trying to add fold to FoldRow that doesn't have a matching row";this.folds.unshift(e),this.start.row=e.start.row,this.start.column=e.start.column}e.foldLine=this},this.containsRow=function(e){return e>=this.start.row&&e<=this.end.row},this.walk=function(e,t,n){var r=0,i=this.folds,s,o,u,a=!0;t==null&&(t=this.end.row,n=this.end.column);for(var f=0;f<i.length;f++){s=i[f],o=s.range.compareStart(t,n);if(o==-1){e(null,t,n,r,a);return}u=e(null,s.start.row,s.start.column,r,a),u=!u&&e(s.placeholder,s.start.row,s.start.column,r);if(u||o==0)return;a=!s.sameRow,r=s.end.column}e(null,t,n,r,a)},this.getNextFoldTo=function(e,t){var n,r;for(var i=0;i<this.folds.length;i++){n=this.folds[i],r=n.range.compareEnd(e,t);if(r==-1)return{fold:n,kind:"after"};if(r==0)return{fold:n,kind:"inside"}}return null},this.addRemoveChars=function(e,t,n){var r=this.getNextFoldTo(e,t),i,s;if(r){i=r.fold;if(r.kind=="inside"&&i.start.column!=t&&i.start.row!=e)window.console&&window.console.log(e,t,i);else if(i.start.row==e){s=this.folds;var o=s.indexOf(i);o==0&&(this.start.column+=n);for(o;o<s.length;o++){i=s[o],i.start.column+=n;if(!i.sameRow)return;i.end.column+=n}this.end.column+=n}}},this.split=function(e,t){var n=this.getNextFoldTo(e,t).fold,r=this.folds,s=this.foldData;if(!n)return null;var o=r.indexOf(n),u=r[o-1];this.end.row=u.end.row,this.end.column=u.end.column,r=r.splice(o,r.length-o);var a=new i(s,r);return s.splice(s.indexOf(this)+1,0,a),a},this.merge=function(e){var t=e.folds;for(var n=0;n<t.length;n++)this.addFold(t[n]);var r=this.foldData;r.splice(r.indexOf(e),1)},this.toString=function(){var e=[this.range.toString()+": ["];return this.folds.forEach(function(t){e.push(" "+t.toString())}),e.push("]"),e.join("\n")},this.idxToPosition=function(e){var t=0,n;for(var r=0;r<this.folds.length;r++){var n=this.folds[r];e-=n.start.column-t;if(e<0)return{row:n.start.row,column:n.start.column+e};e-=n.placeholder.length;if(e<0)return n.start;t=n.end.column}return{row:this.end.row,column:this.end.column+e}}}).call(i.prototype),t.FoldLine=i}),define("ace/edit_session/fold",["require","exports","module"],function(e,t,n){var r=t.Fold=function(e,t){this.foldLine=null,this.placeholder=t,this.range=e,this.start=e.start,this.end=e.end,this.sameRow=e.start.row==e.end.row,this.subFolds=[]};(function(){this.toString=function(){return'"'+this.placeholder+'" '+this.range.toString()},this.setFoldLine=function(e){this.foldLine=e,this.subFolds.forEach(function(t){t.setFoldLine(e)})},this.clone=function(){var e=this.range.clone(),t=new r(e,this.placeholder);return this.subFolds.forEach(function(e){t.subFolds.push(e.clone())}),t},this.addSubFold=function(e){if(this.range.isEqual(e))return this;if(!this.range.containsRange(e))throw"A fold can't intersect already existing fold"+e.range+this.range;var t=e.range.start.row,n=e.range.start.column;for(var r=0,i=-1;r<this.subFolds.length;r++){i=this.subFolds[r].range.compare(t,n);if(i!=1)break}var s=this.subFolds[r];if(i==0)return s.addSubFold(e);var t=e.range.end.row,n=e.range.end.column;for(var o=r,i=-1;o<this.subFolds.length;o++){i=this.subFolds[o].range.compare(t,n);if(i!=1)break}var u=this.subFolds[o];if(i==0)throw"A fold can't intersect already existing fold"+e.range+this.range;var a=this.subFolds.splice(r,o-r,e);return e.setFoldLine(this.foldLine),e}}).call(r.prototype)}),define("ace/token_iterator",["require","exports","module"],function(e,t,n){var r=function(e,t,n){this.$session=e,this.$row=t,this.$rowTokens=e.getTokens(t);var r=e.getTokenAt(t,n);this.$tokenIndex=r?r.index:-1};(function(){this.stepBackward=function(){this.$tokenIndex-=1;while(this.$tokenIndex<0){this.$row-=1;if(this.$row<0)return this.$row=0,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=this.$rowTokens.length-1}return this.$rowTokens[this.$tokenIndex]},this.stepForward=function(){var e=this.$session.getLength();this.$tokenIndex+=1;while(this.$tokenIndex>=this.$rowTokens.length){this.$row+=1;if(this.$row>=e)return this.$row=e-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},this.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},this.getCurrentTokenRow=function(){return this.$row},this.getCurrentTokenColumn=function(){var e=this.$rowTokens,t=this.$tokenIndex,n=e[t].start;if(n!==undefined)return n;n=0;while(t>0)t-=1,n+=e[t].value.length;return n}}).call(r.prototype),t.TokenIterator=r}),define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(e,t,n){function s(){this.findMatchingBracket=function(e,t){if(e.column==0)return null;var n=t||this.getLine(e.row).charAt(e.column-1);if(n=="")return null;var r=n.match(/([\(\[\{])|([\)\]\}])/);return r?r[1]?this.$findClosingBracket(r[1],e):this.$findOpeningBracket(r[2],e):null},this.getBracketRange=function(e){var t=this.getLine(e.row),n=!0,r,s=t.charAt(e.column-1),o=s&&s.match(/([\(\[\{])|([\)\]\}])/);o||(s=t.charAt(e.column),e={row:e.row,column:e.column+1},o=s&&s.match(/([\(\[\{])|([\)\]\}])/),n=!1);if(!o)return null;if(o[1]){var u=this.$findClosingBracket(o[1],e);if(!u)return null;r=i.fromPoints(e,u),n||(r.end.column++,r.start.column--),r.cursor=r.end}else{var u=this.$findOpeningBracket(o[2],e);if(!u)return null;r=i.fromPoints(u,e),n||(r.start.column++,r.end.column--),r.cursor=r.start}return r},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{"},this.$findOpeningBracket=function(e,t,n){var i=this.$brackets[e],s=1,o=new r(this,t.row,t.column),u=o.getCurrentToken();u||(u=o.stepForward());if(!u)return;n||(n=new RegExp("(\\.?"+u.type.replace(".","\\.").replace("rparen",".paren")+")+"));var a=t.column-o.getCurrentTokenColumn()-2,f=u.value;for(;;){while(a>=0){var l=f.charAt(a);if(l==i){s-=1;if(s==0)return{row:o.getCurrentTokenRow(),column:a+o.getCurrentTokenColumn()}}else l==e&&(s+=1);a-=1}do u=o.stepBackward();while(u&&!n.test(u.type));if(u==null)break;f=u.value,a=f.length-1}return null},this.$findClosingBracket=function(e,t,n){var i=this.$brackets[e],s=1,o=new r(this,t.row,t.column),u=o.getCurrentToken();u||(u=o.stepForward());if(!u)return;n||(n=new RegExp("(\\.?"+u.type.replace(".","\\.").replace("lparen",".paren")+")+"));var a=t.column-o.getCurrentTokenColumn();for(;;){var f=u.value,l=f.length;while(a<l){var c=f.charAt(a);if(c==i){s-=1;if(s==0)return{row:o.getCurrentTokenRow(),column:a+o.getCurrentTokenColumn()}}else c==e&&(s+=1);a+=1}do u=o.stepForward();while(u&&!n.test(u.type));if(u==null)break;a=0}return null}}var r=e("../token_iterator").TokenIterator,i=e("../range").Range;t.BracketMatch=s}),define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,n){var r=e("./lib/lang"),i=e("./lib/oop"),s=e("./range").Range,o=function(){this.$options={}};(function(){this.set=function(e){return i.mixin(this.$options,e),this},this.getOptions=function(){return r.copyObject(this.$options)},this.setOptions=function(e){this.$options=e},this.find=function(e){var t=this.$matchIterator(e,this.$options);if(!t)return!1;var n=null;return t.forEach(function(e,t,r){if(!e.start){var i=e.offset+(r||0);n=new s(t,i,t,i+e.length)}else n=e;return!0}),n},this.findAll=function(e){var t=this.$options;if(!t.needle)return[];this.$assembleRegExp(t);var n=t.range,i=n?e.getLines(n.start.row,n.end.row):e.doc.getAllLines(),o=[],u=t.re;if(t.$isMultiLine){var a=u.length,f=i.length-a;for(var l=u.offset||0;l<=f;l++){for(var c=0;c<a;c++)if(i[l+c].search(u[c])==-1)break;var h=i[l],p=i[l+a-1],d=h.match(u[0])[0].length,v=p.match(u[a-1])[0].length;o.push(new s(l,h.length-d,l+a-1,v))}}else for(var m=0;m<i.length;m++){var g=r.getMatchOffsets(i[m],u);for(var c=0;c<g.length;c++){var y=g[c];o.push(new s(m,y.offset,m,y.offset+y.length))}}if(n){var b=n.start.column,w=n.start.column,m=0,c=o.length-1;while(m<c&&o[m].start.column<b&&o[m].start.row==n.start.row)m++;while(m<c&&o[c].end.column>w&&o[c].end.row==n.end.row)c--;return o.slice(m,c+1)}return o},this.replace=function(e,t){var n=this.$options,r=this.$assembleRegExp(n);if(n.$isMultiLine)return t;if(!r)return;var i=r.exec(e);if(!i||i[0].length!=e.length)return null;t=e.replace(r,t);if(n.preserveCase){t=t.split("");for(var s=Math.min(e.length,e.length);s--;){var o=e[s];o&&o.toLowerCase()!=o?t[s]=t[s].toUpperCase():t[s]=t[s].toLowerCase()}t=t.join("")}return t},this.$matchIterator=function(e,t){var n=this.$assembleRegExp(t);if(!n)return!1;var i=this,o,u=t.backwards;if(t.$isMultiLine)var a=n.length,f=function(t,r,i){var u=t.search(n[0]);if(u==-1)return;for(var f=1;f<a;f++){t=e.getLine(r+f);if(t.search(n[f])==-1)return}var l=t.match(n[a-1])[0].length,c=new s(r,u,r+a-1,l);n.offset==1?(c.start.row--,c.start.column=Number.MAX_VALUE):i&&(c.start.column+=i);if(o(c))return!0};else if(u)var f=function(e,t,i){var s=r.getMatchOffsets(e,n);for(var u=s.length-1;u>=0;u--)if(o(s[u],t,i))return!0};else var f=function(e,t,i){var s=r.getMatchOffsets(e,n);for(var u=0;u<s.length;u++)if(o(s[u],t,i))return!0};return{forEach:function(n){o=n,i.$lineIterator(e,t).forEach(f)}}},this.$assembleRegExp=function(e){if(e.needle instanceof RegExp)return e.re=e.needle;var t=e.needle;if(!e.needle)return e.re=!1;e.regExp||(t=r.escapeRegExp(t)),e.wholeWord&&(t="\\b"+t+"\\b");var n=e.caseSensitive?"g":"gi";e.$isMultiLine=/[\n\r]/.test(t);if(e.$isMultiLine)return e.re=this.$assembleMultilineRegExp(t,n);try{var i=new RegExp(t,n)}catch(s){i=!1}return e.re=i},this.$assembleMultilineRegExp=function(e,t){var n=e.replace(/\r\n|\r|\n/g,"$\n^").split("\n"),r=[];for(var i=0;i<n.length;i++)try{r.push(new RegExp(n[i],t))}catch(s){return!1}return n[0]==""?(r.shift(),r.offset=1):r.offset=0,r},this.$lineIterator=function(e,t){var n=t.backwards==1,r=t.skipCurrent!=0,i=t.range,s=t.start;s||(s=i?i[n?"end":"start"]:e.selection.getRange()),s.start&&(s=s[r!=n?"end":"start"]);var o=i?i.start.row:0,u=i?i.end.row:e.getLength()-1,a=n?function(n){var r=s.row,i=e.getLine(r).substring(0,s.column);if(n(i,r))return;for(r--;r>=o;r--)if(n(e.getLine(r),r))return;if(t.wrap==0)return;for(r=u,o=s.row;r>=o;r--)if(n(e.getLine(r),r))return}:function(n){var r=s.row,i=e.getLine(r).substr(s.column);if(n(i,r,s.column))return;for(r+=1;r<=u;r++)if(n(e.getLine(r),r))return;if(t.wrap==0)return;for(r=o,u=s.row;r<=u;r++)if(n(e.getLine(r),r))return};return{forEach:a}}}).call(o.prototype),t.Search=o}),define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(e,t,n){var r=e("../lib/oop"),i=e("../keyboard/hash_handler").HashHandler,s=e("../lib/event_emitter").EventEmitter,o=function(e,t){this.platform=e,this.commands=this.byName={},this.commmandKeyBinding={},this.addCommands(t),this.setDefaultHandler("exec",function(e){return e.command.exec(e.editor,e.args||{})})};r.inherits(o,i),function(){r.implement(this,s),this.exec=function(e,t,n){typeof e=="string"&&(e=this.commands[e]);if(!e)return!1;if(t&&t.$readOnly&&!e.readOnly)return!1;var r=this._emit("exec",{editor:t,command:e,args:n});return r===!1?!1:!0},this.toggleRecording=function(e){if(this.$inReplay)return;return e&&e._emit("changeStatus"),this.recording?(this.macro.pop(),this.removeEventListener("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=function(e){this.macro.push([e.command,e.args])}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},this.replay=function(e){if(this.$inReplay||!this.macro)return;if(this.recording)return this.toggleRecording(e);try{this.$inReplay=!0,this.macro.forEach(function(t){typeof t=="string"?this.exec(t,e):this.exec(t[0],e,t[1])},this)}finally{this.$inReplay=!1}},this.trimMacro=function(e){return e.map(function(e){return typeof e[0]!="string"&&(e[0]=e[0].name),e[1]||(e=e[0]),e})}}.call(o.prototype),t.CommandManager=o}),define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys"],function(e,t,n){function i(e,t){this.platform=t,this.commands={},this.commmandKeyBinding={},this.addCommands(e)}var r=e("../lib/keys");(function(){this.addCommand=function(e){this.commands[e.name]&&this.removeCommand(e),this.commands[e.name]=e,e.bindKey&&this._buildKeyHash(e)},this.removeCommand=function(e){var t=typeof e=="string"?e:e.name;e=this.commands[t],delete this.commands[t];var n=this.commmandKeyBinding;for(var r in n)for(var i in n[r])n[r][i]==e&&delete n[r][i]},this.bindKey=function(e,t){if(!e)return;if(typeof t=="function"){this.addCommand({exec:t,bindKey:e,name:e});return}var n=this.commmandKeyBinding;e.split("|").forEach(function(e){var r=this.parseKeys(e,t),i=r.hashId;(n[i]||(n[i]={}))[r.key]=t},this)},this.addCommands=function(e){e&&Object.keys(e).forEach(function(t){var n=e[t];if(typeof n=="string")return this.bindKey(n,t);typeof n=="function"&&(n={exec:n}),n.name||(n.name=t),this.addCommand(n)},this)},this.removeCommands=function(e){Object.keys(e).forEach(function(t){this.removeCommand(e[t])},this)},this.bindKeys=function(e){Object.keys(e).forEach(function(t){this.bindKey(t,e[t])},this)},this._buildKeyHash=function(e){var t=e.bindKey;if(!t)return;var n=typeof t=="string"?t:t[this.platform];this.bindKey(n,e)},this.parseKeys=function(e){var t=e.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(e){return e}),n=t.pop(),i=r[n];if(r.FUNCTION_KEYS[i])n=r.FUNCTION_KEYS[i].toLowerCase();else{if(!t.length)return{key:n,hashId:-1};if(t.length==1&&t[0]=="shift")return{key:n.toUpperCase(),hashId:-1}}var s=0;for(var o=t.length;o--;){var u=r.KEY_MODS[t[o]];if(u==null)throw"invalid modifier "+t[o]+" in "+e;s|=u}return{key:n,hashId:s}},this.findKeyCommand=function(t,n){var r=this.commmandKeyBinding;return r[t]&&r[t][n]},this.handleKeyboard=function(e,t,n,r){return{command:this.findKeyCommand(t,n)}}}).call(i.prototype),t.HashHandler=i}),define("ace/commands/default_commands",["require","exports","module","ace/lib/lang"],function(e,t,n){function i(e,t){return{win:e,mac:t}}var r=e("../lib/lang");t.commands=[{name:"selectall",bindKey:i("Ctrl-A","Command-A"),exec:function(e){e.selectAll()},readOnly:!0},{name:"centerselection",bindKey:i(null,"Ctrl-L"),exec:function(e){e.centerSelection()},readOnly:!0},{name:"gotoline",bindKey:i("Ctrl-L","Command-L"),exec:function(e){var t=parseInt(prompt("Enter line number:"),10);isNaN(t)||e.gotoLine(t)},readOnly:!0},{name:"fold",bindKey:i("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(e){e.session.toggleFold(!1)},readOnly:!0},{name:"unfold",bindKey:i("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(e){e.session.toggleFold(!0)},readOnly:!0},{name:"foldall",bindKey:i("Alt-0","Command-Option-0"),exec:function(e){e.session.foldAll()},readOnly:!0},{name:"unfoldall",bindKey:i("Alt-Shift-0","Command-Option-Shift-0"),exec:function(e){e.session.unfold()},readOnly:!0},{name:"findnext",bindKey:i("Ctrl-K","Command-G"),exec:function(e){e.findNext()},readOnly:!0},{name:"findprevious",bindKey:i("Ctrl-Shift-K","Command-Shift-G"),exec:function(e){e.findPrevious()},readOnly:!0},{name:"find",bindKey:i("Ctrl-F","Command-F"),exec:function(e){var t=prompt("Find:",e.getCopyText());e.find(t)},readOnly:!0},{name:"overwrite",bindKey:"Insert",exec:function(e){e.toggleOverwrite()},readOnly:!0},{name:"selecttostart",bindKey:i("Ctrl-Shift-Home","Command-Shift-Up"),exec:function(e){e.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0},{name:"gotostart",bindKey:i("Ctrl-Home","Command-Home|Command-Up"),exec:function(e){e.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0},{name:"selectup",bindKey:i("Shift-Up","Shift-Up"),exec:function(e){e.getSelection().selectUp()},multiSelectAction:"forEach",readOnly:!0},{name:"golineup",bindKey:i("Up","Up|Ctrl-P"),exec:function(e,t){e.navigateUp(t.times)},multiSelectAction:"forEach",readOnly:!0},{name:"selecttoend",bindKey:i("Ctrl-Shift-End","Command-Shift-Down"),exec:function(e){e.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0},{name:"gotoend",bindKey:i("Ctrl-End","Command-End|Command-Down"),exec:function(e){e.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0},{name:"selectdown",bindKey:i("Shift-Down","Shift-Down"),exec:function(e){e.getSelection().selectDown()},multiSelectAction:"forEach",readOnly:!0},{name:"golinedown",bindKey:i("Down","Down|Ctrl-N"),exec:function(e,t){e.navigateDown(t.times)},multiSelectAction:"forEach",readOnly:!0},{name:"selectwordleft",bindKey:i("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(e){e.getSelection().selectWordLeft()},multiSelectAction:"forEach",readOnly:!0},{name:"gotowordleft",bindKey:i("Ctrl-Left","Option-Left"),exec:function(e){e.navigateWordLeft()},multiSelectAction:"forEach",readOnly:!0},{name:"selecttolinestart",bindKey:i("Alt-Shift-Left","Command-Shift-Left"),exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",readOnly:!0},{name:"gotolinestart",bindKey:i("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(e){e.navigateLineStart()},multiSelectAction:"forEach",readOnly:!0},{name:"selectleft",bindKey:i("Shift-Left","Shift-Left"),exec:function(e){e.getSelection().selectLeft()},multiSelectAction:"forEach",readOnly:!0},{name:"gotoleft",bindKey:i("Left","Left|Ctrl-B"),exec:function(e,t){e.navigateLeft(t.times)},multiSelectAction:"forEach",readOnly:!0},{name:"selectwordright",bindKey:i("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(e){e.getSelection().selectWordRight()},multiSelectAction:"forEach",readOnly:!0},{name:"gotowordright",bindKey:i("Ctrl-Right","Option-Right"),exec:function(e){e.navigateWordRight()},multiSelectAction:"forEach",readOnly:!0},{name:"selecttolineend",bindKey:i("Alt-Shift-Right","Command-Shift-Right"),exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",readOnly:!0},{name:"gotolineend",bindKey:i("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(e){e.navigateLineEnd()},multiSelectAction:"forEach",readOnly:!0},{name:"selectright",bindKey:i("Shift-Right","Shift-Right"),exec:function(e){e.getSelection().selectRight()},multiSelectAction:"forEach",readOnly:!0},{name:"gotoright",bindKey:i("Right","Right|Ctrl-F"),exec:function(e,t){e.navigateRight(t.times)},multiSelectAction:"forEach",readOnly:!0},{name:"selectpagedown",bindKey:"Shift-PageDown",exec:function(e){e.selectPageDown()},readOnly:!0},{name:"pagedown",bindKey:i(null,"Option-PageDown"),exec:function(e){e.scrollPageDown()},readOnly:!0},{name:"gotopagedown",bindKey:i("PageDown","PageDown|Ctrl-V"),exec:function(e){e.gotoPageDown()},readOnly:!0},{name:"selectpageup",bindKey:"Shift-PageUp",exec:function(e){e.selectPageUp()},readOnly:!0},{name:"pageup",bindKey:i(null,"Option-PageUp"),exec:function(e){e.scrollPageUp()},readOnly:!0},{name:"gotopageup",bindKey:"PageUp",exec:function(e){e.gotoPageUp()},readOnly:!0},{name:"scrollup",bindKey:i("Ctrl-Up",null),exec:function(e){e.renderer.scrollBy(0,-2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",bindKey:i("Ctrl-Down",null),exec:function(e){e.renderer.scrollBy(0,2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",bindKey:"Shift-Home",exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",readOnly:!0},{name:"selectlineend",bindKey:"Shift-End",exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",readOnly:!0},{name:"togglerecording",bindKey:i("Ctrl-Alt-E","Command-Option-E"),exec:function(e){e.commands.toggleRecording(e)},readOnly:!0},{name:"replaymacro",bindKey:i("Ctrl-Shift-E","Command-Shift-E"),exec:function(e){e.commands.replay(e)},readOnly:!0},{name:"jumptomatching",bindKey:i("Ctrl-P","Ctrl-Shift-P"),exec:function(e){e.jumpToMatching()},multiSelectAction:"forEach",readOnly:!0},{name:"selecttomatching",bindKey:i("Ctrl-Shift-P",null),exec:function(e){e.jumpToMatching(!0)},readOnly:!0},{name:"cut",exec:function(e){var t=e.getSelectionRange();e._emit("cut",t),e.selection.isEmpty()||(e.session.remove(t),e.clearSelection())},multiSelectAction:"forEach"},{name:"removeline",bindKey:i("Ctrl-D","Command-D"),exec:function(e){e.removeLines()},multiSelectAction:"forEach"},{name:"duplicateSelection",bindKey:i("Ctrl-Shift-D","Command-Shift-D"),exec:function(e){e.duplicateSelection()},multiSelectAction:"forEach"},{name:"sortlines",bindKey:i("Ctrl-Alt-S","Command-Alt-S"),exec:function(e){e.sortLines()},multiSelectAction:"forEach"},{name:"togglecomment",bindKey:i("Ctrl-/","Command-/"),exec:function(e){e.toggleCommentLines()},multiSelectAction:"forEach"},{name:"modifyNumberUp",bindKey:i("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(e){e.modifyNumber(1)},multiSelectAction:"forEach"},{name:"modifyNumberDown",bindKey:i("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(e){e.modifyNumber(-1)},multiSelectAction:"forEach"},{name:"replace",bindKey:i("Ctrl-R","Command-Option-F"),exec:function(e){var t=prompt("Find:",e.getCopyText());if(!t)return;var n=prompt("Replacement:");if(!n)return;e.replace(n,{needle:t})}},{name:"replaceall",bindKey:i("Ctrl-Shift-R","Command-Shift-Option-F"),exec:function(e){var t=prompt("Find:");if(!t)return;var n=prompt("Replacement:");if(!n)return;e.replaceAll(n,{needle:t})}},{name:"undo",bindKey:i("Ctrl-Z","Command-Z"),exec:function(e){e.undo()}},{name:"redo",bindKey:i("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(e){e.redo()}},{name:"copylinesup",bindKey:i("Alt-Shift-Up","Command-Option-Up"),exec:function(e){e.copyLinesUp()}},{name:"movelinesup",bindKey:i("Alt-Up","Option-Up"),exec:function(e){e.moveLinesUp()}},{name:"copylinesdown",bindKey:i("Alt-Shift-Down","Command-Option-Down"),exec:function(e){e.copyLinesDown()}},{name:"movelinesdown",bindKey:i("Alt-Down","Option-Down"),exec:function(e){e.moveLinesDown()}},{name:"del",bindKey:i("Delete","Delete|Ctrl-D"),exec:function(e){e.remove("right")},multiSelectAction:"forEach"},{name:"backspace",bindKey:i("Command-Backspace|Option-Backspace|Shift-Backspace|Backspace","Ctrl-Backspace|Command-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(e){e.remove("left")},multiSelectAction:"forEach"},{name:"removetolinestart",bindKey:i("Alt-Backspace","Command-Backspace"),exec:function(e){e.removeToLineStart()},multiSelectAction:"forEach"},{name:"removetolineend",bindKey:i("Alt-Delete","Ctrl-K"),exec:function(e){e.removeToLineEnd()},multiSelectAction:"forEach"},{name:"removewordleft",bindKey:i("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(e){e.removeWordLeft()},multiSelectAction:"forEach"},{name:"removewordright",bindKey:i("Ctrl-Delete","Alt-Delete"),exec:function(e){e.removeWordRight()},multiSelectAction:"forEach"},{name:"outdent",bindKey:i("Shift-Tab","Shift-Tab"),exec:function(e){e.blockOutdent()},multiSelectAction:"forEach"},{name:"indent",bindKey:i("Tab","Tab"),exec:function(e){e.indent()},multiSelectAction:"forEach"},{name:"insertstring",exec:function(e,t){e.insert(t)},multiSelectAction:"forEach"},{name:"inserttext",exec:function(e,t){e.insert(r.stringRepeat(t.text||"",t.times||1))},multiSelectAction:"forEach"},{name:"splitline",bindKey:i(null,"Ctrl-O"),exec:function(e){e.splitLine()},multiSelectAction:"forEach"},{name:"transposeletters",bindKey:i("Ctrl-T","Ctrl-T"),exec:function(e){e.transposeLetters()},multiSelectAction:function(e){e.transposeSelections(1)}},{name:"touppercase",bindKey:i("Ctrl-U","Ctrl-U"),exec:function(e){e.toUpperCase()},multiSelectAction:"forEach"},{name:"tolowercase",bindKey:i("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(e){e.toLowerCase()},multiSelectAction:"forEach"}]}),define("ace/undomanager",["require","exports","module"],function(e,t,n){var r=function(){this.reset()};(function(){this.execute=function(e){var t=e.args[0];this.$doc=e.args[1],this.$undoStack.push(t),this.$redoStack=[]},this.undo=function(e){var t=this.$undoStack.pop(),n=null;return t&&(n=this.$doc.undoChanges(t,e),this.$redoStack.push(t)),n},this.redo=function(e){var t=this.$redoStack.pop(),n=null;return t&&(n=this.$doc.redoChanges(t,e),this.$undoStack.push(t)),n},this.reset=function(){this.$undoStack=[],this.$redoStack=[]},this.hasUndo=function(){return this.$undoStack.length>0},this.hasRedo=function(){return this.$redoStack.length>0}}).call(r.prototype),t.UndoManager=r}),define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/useragent","ace/config","ace/lib/net","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/renderloop","ace/lib/event_emitter"],function(e,t,n){var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./lib/event"),o=e("./lib/useragent"),u=e("./config"),a=e("./lib/net"),f=e("./layer/gutter").Gutter,l=e("./layer/marker").Marker,c=e("./layer/text").Text,h=e("./layer/cursor").Cursor,p=e("./scrollbar").ScrollBar,d=e("./renderloop").RenderLoop,v=e("./lib/event_emitter").EventEmitter,m=".ace_editor {position: absolute;overflow: hidden;font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'source-code-pro', monospace;font-size: 12px;}.ace_scroller {position: absolute;overflow: hidden;}.ace_content {position: absolute;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;cursor: text;}.ace_gutter {position: absolute;overflow : hidden;height: 100%;width: auto;cursor: default;z-index: 4;}.ace_gutter-active-line {position: absolute;left: 0;right: 0;}.ace_scroller.ace_scroll-left {box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;}.ace_gutter-cell {padding-left: 19px;padding-right: 6px;background-repeat: no-repeat;}.ace_gutter-cell.ace_error {background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QUM2OEZDQTQ4RTU0MTFFMUEzM0VFRTM2RUY1M0RBMjYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QUM2OEZDQTU4RTU0MTFFMUEzM0VFRTM2RUY1M0RBMjYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBQzY4RkNBMjhFNTQxMUUxQTMzRUVFMzZFRjUzREEyNiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBQzY4RkNBMzhFNTQxMUUxQTMzRUVFMzZFRjUzREEyNiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PkgXxbAAAAJbSURBVHjapFNNaBNBFH4zs5vdZLP5sQmNpT82QY209heh1ioWisaDRcSKF0WKJ0GQnrzrxasHsR6EnlrwD0TagxJabaVEpFYxLWlLSS822tr87m66ccfd2GKyVhA6MMybgfe97/vmPUQphd0sZjto9XIn9OOsvlu2nkqRzVU+6vvlzPf8W6bk8dxQ0NPbxAALgCgg2JkaQuhzQau/El0zbmUA7U0Es8v2CiYmKQJHGO1QICCLoqilMhkmurDAyapKgqItezi/USRdJqEYY4D5jCy03ht2yMkkvL91jTTX10qzyyu2hruPRN7jgbH+EOsXcMLgYiThEgAMhABW85oqy1DXdRIdvP1AHJ2acQXvDIrVHcdQNrEKNYSVMSZGMjEzIIAwDXIo+6G/FxcGnzkC3T2oMhLjre49sBB+RRcHLqdafK6sYdE/GGBwU1VpFNj0aN8pJbe+BkZyevUrvLl6Xmm0W9IuTc0DxrDNAJd5oEvI/KRsNC3bQyNjPO9yQ1YHcfj2QvfQc/5TUhJTBc2iM0U7AWDQtc1nJHvD/cfO2s7jaGkiTEfa/Ep8coLu7zmNmh8+dc5lZDuUeFAGUNA/OY6JVaypQ0vjr7XYjUvJM37vt+j1vuTK5DgVfVUoTjVe+y3/LxMxY2GgU+CSLy4cpfsYorRXuXIOi0Vt40h67uZFTdIo6nLaZcwUJWAzwNS0tBnqqKzQDnjdG/iPyZxo46HaKUpbvYkj8qYRTZsBhge+JHhZyh0x9b95JqjVJkT084kZIPwu/mPWqPgfQ5jXh2+92Ay7HedfAgwA6KDWafb4w3cAAAAASUVORK5CYII=\");background-repeat: no-repeat;background-position: 2px center;}.ace_gutter-cell.ace_warning {background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QUM2OEZDQTg4RTU0MTFFMUEzM0VFRTM2RUY1M0RBMjYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QUM2OEZDQTk4RTU0MTFFMUEzM0VFRTM2RUY1M0RBMjYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBQzY4RkNBNjhFNTQxMUUxQTMzRUVFMzZFRjUzREEyNiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBQzY4RkNBNzhFNTQxMUUxQTMzRUVFMzZFRjUzREEyNiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pgd7PfIAAAGmSURBVHjaYvr//z8DJZiJgUIANoCRkREb9gLiSVAaQx4OQM7AAkwd7XU2/v++/rOttdYGEB9dASEvOMydGKfH8Gv/p4XTkvRBfLxeQAP+1cUhXopyvzhP7P/IoSj7g7Mw09cNKO6J1QQ0L4gICPIv/veg/8W+JdFvQNLHVsW9/nmn9zk7B+cCkDwhL7gt6knSZnx9/LuCEOcvkIAMP+cvto9nfqyZmmUAksfnBUtbM60gX/3/kgyv3/xSFOL5DZT+L8vP+Yfh5cvfPvp/xUHyQHXGyAYwgpwBjZYFT3Y1OEl/OfCH4ffv3wzc4iwMvNIsDJ+f/mH4+vIPAxsb631WW0Yln6ZpQLXdMK/DXGDflh+sIv37EivD5x//Gb7+YWT4y86sl7BCCkSD+Z++/1dkvsFRl+HnD1Rvje4F8whjMXmGj58YGf5zsDMwcnAwfPvKcml62DsQDeaDxN+/Y0qwlpEHqrdB94IRNIDUgfgfKJChGK4OikEW3gTiXUB950ASLFAF54AC94A0G9QAfOnmF9DCDzABFqS08IHYDIScdijOjQABBgC+/9awBH96jwAAAABJRU5ErkJggg==\");background-position: 2px center;}.ace_gutter-cell.ace_info {background-image: url(\"data:image/gif;base64,R0lGODlhEAAQAMQAAAAAAEFBQVJSUl5eXmRkZGtra39/f4WFhYmJiZGRkaampry8vMPDw8zMzNXV1dzc3OTk5Orq6vDw8P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkAABQALAAAAAAQABAAAAUuICWOZGmeaBml5XGwFCQSBGyXRSAwtqQIiRuiwIM5BoYVbEFIyGCQoeJGrVptIQA7\");background-position: 2px center;}.ace_dark .ace_gutter-cell.ace_info {background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpGRTk5MTVGREIxNDkxMUUxOTc5Q0FFREQyMTNGMjBFQyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGRTk5MTVGRUIxNDkxMUUxOTc5Q0FFREQyMTNGMjBFQyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkZFOTkxNUZCQjE0OTExRTE5NzlDQUVERDIxM0YyMEVDIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkZFOTkxNUZDQjE0OTExRTE5NzlDQUVERDIxM0YyMEVDIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+SIDkjAAAAJ1JREFUeNpi/P//PwMlgImBQkB7A6qrq/+DMC55FkIGKCoq4pVnpFkgTp069f/+/fv/r1u37r+tre1/kg0A+ptn9uzZYLaRkRHpLvjw4cNXWVlZhufPnzOcO3eOdAO0tbVPAjHDmzdvGA4fPsxIsgGSkpJmv379Ynj37h2DjIyMCMkG3LhxQ/T27dsMampqDHZ2dq/pH41DxwCAAAMAFdc68dUsFZgAAAAASUVORK5CYII=\");}.ace_scrollbar {position: absolute;overflow-x: hidden;overflow-y: scroll;right: 0;}.ace_scrollbar-inner {position: absolute;width: 1px;left: 0;}.ace_print-margin {position: absolute;height: 100%;}.ace_text-input {position: absolute;z-index: 0;width: 0.5em;height: 1em;opacity: 0;background: transparent;-moz-appearance: none;appearance: none;border: none;resize: none;outline: none;overflow: hidden;}.ace_text-input.ace_composition {background: #fff;color: #000;z-index: 1000;opacity: 1;border: solid lightgray 1px;margin: -1px}.ace_layer {z-index: 1;position: absolute;overflow: hidden;white-space: nowrap;height: 100%;width: 100%;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;/* setting pointer-events: auto; on node under the mouse, which changesduring scroll, will break mouse wheel scrolling in Safari */pointer-events: none;}.ace_gutter-layer {position: relative;width: auto;text-align: right;pointer-events: auto;}.ace_text-layer {color: black;font: inherit !important;}.ace_cjk {display: inline-block;text-align: center;}.ace_cursor-layer {z-index: 4;}.ace_cursor {z-index: 4;position: absolute;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;}.ace_hidden-cursors .ace_cursor {opacity: 0.2;}.ace_smooth-blinking .ace_cursor {-moz-transition: opacity 0.18s;-webkit-transition: opacity 0.18s;-o-transition: opacity 0.18s;-ms-transition: opacity 0.18s;transition: opacity 0.18s;}.ace_cursor[style*=\"opacity: 0\"]{-ms-filter: \"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)\";}.ace_editor.ace_multiselect .ace_cursor {border-left-width: 1px;}.ace_line {white-space: nowrap;}.ace_marker-layer .ace_step {position: absolute;z-index: 3;}.ace_marker-layer .ace_selection {position: absolute;z-index: 5;}.ace_marker-layer .ace_bracket {position: absolute;z-index: 6;}.ace_marker-layer .ace_active-line {position: absolute;z-index: 2;}.ace_marker-layer .ace_selected-word {position: absolute;z-index: 4;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;}.ace_line .ace_fold {-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;display: inline-block;height: 11px;margin-top: -2px;vertical-align: middle;background-image:url(\"data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%11%00%00%00%09%08%06%00%00%00%D4%E8%C7%0C%00%00%03%1EiCCPICC%20Profile%00%00x%01%85T%DFk%D3P%14%FE%DAe%9D%B0%E1%8B%3Ag%11%09%3Eh%91ndStC%9C%B6kW%BA%CDZ%EA6%B7!H%9B%A6m%5C%9A%C6%24%ED~%B0%07%D9%8Bo%3A%C5w%F1%07%3E%F9%07%0C%D9%83o%7B%92%0D%C6%14a%F8%AC%88%22L%F6%22%B3%9E%9B4M'S%03%B9%F7%BB%DF%F9%EE9'%E7%E4%5E%A0%F9qZ%D3%14%2F%0F%14USO%C5%C2%FC%C4%E4%14%DF%F2%01%5E%1CC%2B%FChM%8B%86%16J%26G%40%0F%D3%B2y%EF%B3%F3%0E%1E%C6lt%EEo%DF%AB%FEc%D5%9A%95%0C%11%F0%1C%20%BE%945%C4%22%E1Y%A0i%5C%D4t%13%E0%D6%89%EF%9D15%C2%CDLsX%A7%04%09%1Fg8oc%81%E1%8C%8D%23%96f45%40%9A%09%C2%07%C5B%3AK%B8%408%98i%E0%F3%0D%D8%CE%81%14%E4'%26%A9%92.%8B%3C%ABER%2F%E5dE%B2%0C%F6%F0%1Fs%83%F2_%B0%A8%94%E9%9B%AD%E7%10%8Dm%9A%19N%D1%7C%8A%DE%1F9%7Dp%8C%E6%00%D5%C1%3F_%18%BDA%B8%9DpX6%E3%A35~B%CD%24%AE%11%26%BD%E7%EEti%98%EDe%9A%97Y)%12%25%1C%24%BCbT%AE3li%E6%0B%03%89%9A%E6%D3%ED%F4P%92%B0%9F4%BF43Y%F3%E3%EDP%95%04%EB1%C5%F5%F6KF%F4%BA%BD%D7%DB%91%93%07%E35%3E%A7)%D6%7F%40%FE%BD%F7%F5r%8A%E5y%92%F0%EB%B4%1E%8D%D5%F4%5B%92%3AV%DB%DB%E4%CD%A6%23%C3%C4wQ%3F%03HB%82%8E%1Cd(%E0%91B%0Ca%9Ac%C4%AA%F8L%16%19%22J%A4%D2itTy%B28%D6%3B(%93%96%ED%1CGx%C9_%0E%B8%5E%16%F5%5B%B2%B8%F6%E0%FB%9E%DD%25%D7%8E%BC%15%85%C5%B7%A3%D8Q%ED%B5%81%E9%BA%B2%13%9A%1B%7Fua%A5%A3n%E17%B9%E5%9B%1Bm%AB%0B%08Q%FE%8A%E5%B1H%5Ee%CAO%82Q%D7u6%E6%90S%97%FCu%0B%CF2%94%EE%25v%12X%0C%BA%AC%F0%5E%F8*l%0AO%85%17%C2%97%BF%D4%C8%CE%DE%AD%11%CB%80q%2C%3E%AB%9ES%CD%C6%EC%25%D2L%D2%EBd%B8%BF%8A%F5B%C6%18%F9%901CZ%9D%BE%24M%9C%8A9%F2%DAP%0B'%06w%82%EB%E6%E2%5C%2F%D7%07%9E%BB%CC%5D%E1%FA%B9%08%AD.r%23%8E%C2%17%F5E%7C!%F0%BE3%BE%3E_%B7o%88a%A7%DB%BE%D3d%EB%A31Z%EB%BB%D3%91%BA%A2%B1z%94%8F%DB'%F6%3D%8E%AA%13%19%B2%B1%BE%B1~V%08%2B%B4%A2cjJ%B3tO%00%03%25mN%97%F3%05%93%EF%11%84%0B%7C%88%AE-%89%8F%ABbW%90O%2B%0Ao%99%0C%5E%97%0CI%AFH%D9.%B0%3B%8F%ED%03%B6S%D6%5D%E6i_s9%F3*p%E9%1B%FD%C3%EB.7U%06%5E%19%C0%D1s.%17%A03u%E4%09%B0%7C%5E%2C%EB%15%DB%1F%3C%9E%B7%80%91%3B%DBc%AD%3Dma%BA%8B%3EV%AB%DBt.%5B%1E%01%BB%0F%AB%D5%9F%CF%AA%D5%DD%E7%E4%7F%0Bx%A3%FC%06%A9%23%0A%D6%C2%A1_2%00%00%00%09pHYs%00%00%0B%13%00%00%0B%13%01%00%9A%9C%18%00%00%00%B5IDAT(%15%A5%91%3D%0E%02!%10%85ac%E1%05%D6%CE%D6%C6%CE%D2%E8%ED%CD%DE%C0%C6%D6N.%E0V%F8%3D%9Ca%891XH%C2%BE%D9y%3F%90!%E6%9C%C3%BFk%E5%011%C6-%F5%C8N%04%DF%BD%FF%89%DFt%83DN%60%3E%F3%AB%A0%DE%1A%5Dg%BE%10Q%97%1B%40%9C%A8o%10%8F%5E%828%B4%1B%60%87%F6%02%26%85%1Ch%1E%C1%2B%5Bk%FF%86%EE%B7j%09%9A%DA%9B%ACe%A3%F9%EC%DA!9%B4%D5%A6%81%86%86%98%CC%3C%5B%40%FA%81%B3%E9%CB%23%94%C16Azo%05%D4%E1%C1%95a%3B%8A'%A0%E8%CC%17%22%85%1D%BA%00%A2%FA%DC%0A%94%D1%D1%8D%8B%3A%84%17B%C7%60%1A%25Z%FC%8D%00%00%00%00IEND%AEB%60%82\"),url(\"data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%05%00%00%007%08%06%00%00%00%C4%DD%80C%00%00%03%1EiCCPICC%20Profile%00%00x%01%85T%DFk%D3P%14%FE%DAe%9D%B0%E1%8B%3Ag%11%09%3Eh%91ndStC%9C%B6kW%BA%CDZ%EA6%B7!H%9B%A6m%5C%9A%C6%24%ED~%B0%07%D9%8Bo%3A%C5w%F1%07%3E%F9%07%0C%D9%83o%7B%92%0D%C6%14a%F8%AC%88%22L%F6%22%B3%9E%9B4M'S%03%B9%F7%BB%DF%F9%EE9'%E7%E4%5E%A0%F9qZ%D3%14%2F%0F%14USO%C5%C2%FC%C4%E4%14%DF%F2%01%5E%1CC%2B%FChM%8B%86%16J%26G%40%0F%D3%B2y%EF%B3%F3%0E%1E%C6lt%EEo%DF%AB%FEc%D5%9A%95%0C%11%F0%1C%20%BE%945%C4%22%E1Y%A0i%5C%D4t%13%E0%D6%89%EF%9D15%C2%CDLsX%A7%04%09%1Fg8oc%81%E1%8C%8D%23%96f45%40%9A%09%C2%07%C5B%3AK%B8%408%98i%E0%F3%0D%D8%CE%81%14%E4'%26%A9%92.%8B%3C%ABER%2F%E5dE%B2%0C%F6%F0%1Fs%83%F2_%B0%A8%94%E9%9B%AD%E7%10%8Dm%9A%19N%D1%7C%8A%DE%1F9%7Dp%8C%E6%00%D5%C1%3F_%18%BDA%B8%9DpX6%E3%A35~B%CD%24%AE%11%26%BD%E7%EEti%98%EDe%9A%97Y)%12%25%1C%24%BCbT%AE3li%E6%0B%03%89%9A%E6%D3%ED%F4P%92%B0%9F4%BF43Y%F3%E3%EDP%95%04%EB1%C5%F5%F6KF%F4%BA%BD%D7%DB%91%93%07%E35%3E%A7)%D6%7F%40%FE%BD%F7%F5r%8A%E5y%92%F0%EB%B4%1E%8D%D5%F4%5B%92%3AV%DB%DB%E4%CD%A6%23%C3%C4wQ%3F%03HB%82%8E%1Cd(%E0%91B%0Ca%9Ac%C4%AA%F8L%16%19%22J%A4%D2itTy%B28%D6%3B(%93%96%ED%1CGx%C9_%0E%B8%5E%16%F5%5B%B2%B8%F6%E0%FB%9E%DD%25%D7%8E%BC%15%85%C5%B7%A3%D8Q%ED%B5%81%E9%BA%B2%13%9A%1B%7Fua%A5%A3n%E17%B9%E5%9B%1Bm%AB%0B%08Q%FE%8A%E5%B1H%5Ee%CAO%82Q%D7u6%E6%90S%97%FCu%0B%CF2%94%EE%25v%12X%0C%BA%AC%F0%5E%F8*l%0AO%85%17%C2%97%BF%D4%C8%CE%DE%AD%11%CB%80q%2C%3E%AB%9ES%CD%C6%EC%25%D2L%D2%EBd%B8%BF%8A%F5B%C6%18%F9%901CZ%9D%BE%24M%9C%8A9%F2%DAP%0B'%06w%82%EB%E6%E2%5C%2F%D7%07%9E%BB%CC%5D%E1%FA%B9%08%AD.r%23%8E%C2%17%F5E%7C!%F0%BE3%BE%3E_%B7o%88a%A7%DB%BE%D3d%EB%A31Z%EB%BB%D3%91%BA%A2%B1z%94%8F%DB'%F6%3D%8E%AA%13%19%B2%B1%BE%B1~V%08%2B%B4%A2cjJ%B3tO%00%03%25mN%97%F3%05%93%EF%11%84%0B%7C%88%AE-%89%8F%ABbW%90O%2B%0Ao%99%0C%5E%97%0CI%AFH%D9.%B0%3B%8F%ED%03%B6S%D6%5D%E6i_s9%F3*p%E9%1B%FD%C3%EB.7U%06%5E%19%C0%D1s.%17%A03u%E4%09%B0%7C%5E%2C%EB%15%DB%1F%3C%9E%B7%80%91%3B%DBc%AD%3Dma%BA%8B%3EV%AB%DBt.%5B%1E%01%BB%0F%AB%D5%9F%CF%AA%D5%DD%E7%E4%7F%0Bx%A3%FC%06%A9%23%0A%D6%C2%A1_2%00%00%00%09pHYs%00%00%0B%13%00%00%0B%13%01%00%9A%9C%18%00%00%00%3AIDAT8%11c%FC%FF%FF%7F%18%03%1A%60%01%F2%3F%A0%891%80%04%FF%11-%F8%17%9BJ%E2%05%B1ZD%81v%26t%E7%80%F8%A3%82h%A12%1A%20%A3%01%02%0F%01%BA%25%06%00%19%C0%0D%AEF%D5%3ES%00%00%00%00IEND%AEB%60%82\");background-repeat: no-repeat, repeat-x;background-position: center center, top left;color: transparent;border: 1px solid black;-moz-border-radius: 2px;-webkit-border-radius: 2px;border-radius: 2px;cursor: pointer;pointer-events: auto;}.ace_dark .ace_fold {}.ace_fold:hover{background-image:url(\"data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%11%00%00%00%09%08%06%00%00%00%D4%E8%C7%0C%00%00%03%1EiCCPICC%20Profile%00%00x%01%85T%DFk%D3P%14%FE%DAe%9D%B0%E1%8B%3Ag%11%09%3Eh%91ndStC%9C%B6kW%BA%CDZ%EA6%B7!H%9B%A6m%5C%9A%C6%24%ED~%B0%07%D9%8Bo%3A%C5w%F1%07%3E%F9%07%0C%D9%83o%7B%92%0D%C6%14a%F8%AC%88%22L%F6%22%B3%9E%9B4M'S%03%B9%F7%BB%DF%F9%EE9'%E7%E4%5E%A0%F9qZ%D3%14%2F%0F%14USO%C5%C2%FC%C4%E4%14%DF%F2%01%5E%1CC%2B%FChM%8B%86%16J%26G%40%0F%D3%B2y%EF%B3%F3%0E%1E%C6lt%EEo%DF%AB%FEc%D5%9A%95%0C%11%F0%1C%20%BE%945%C4%22%E1Y%A0i%5C%D4t%13%E0%D6%89%EF%9D15%C2%CDLsX%A7%04%09%1Fg8oc%81%E1%8C%8D%23%96f45%40%9A%09%C2%07%C5B%3AK%B8%408%98i%E0%F3%0D%D8%CE%81%14%E4'%26%A9%92.%8B%3C%ABER%2F%E5dE%B2%0C%F6%F0%1Fs%83%F2_%B0%A8%94%E9%9B%AD%E7%10%8Dm%9A%19N%D1%7C%8A%DE%1F9%7Dp%8C%E6%00%D5%C1%3F_%18%BDA%B8%9DpX6%E3%A35~B%CD%24%AE%11%26%BD%E7%EEti%98%EDe%9A%97Y)%12%25%1C%24%BCbT%AE3li%E6%0B%03%89%9A%E6%D3%ED%F4P%92%B0%9F4%BF43Y%F3%E3%EDP%95%04%EB1%C5%F5%F6KF%F4%BA%BD%D7%DB%91%93%07%E35%3E%A7)%D6%7F%40%FE%BD%F7%F5r%8A%E5y%92%F0%EB%B4%1E%8D%D5%F4%5B%92%3AV%DB%DB%E4%CD%A6%23%C3%C4wQ%3F%03HB%82%8E%1Cd(%E0%91B%0Ca%9Ac%C4%AA%F8L%16%19%22J%A4%D2itTy%B28%D6%3B(%93%96%ED%1CGx%C9_%0E%B8%5E%16%F5%5B%B2%B8%F6%E0%FB%9E%DD%25%D7%8E%BC%15%85%C5%B7%A3%D8Q%ED%B5%81%E9%BA%B2%13%9A%1B%7Fua%A5%A3n%E17%B9%E5%9B%1Bm%AB%0B%08Q%FE%8A%E5%B1H%5Ee%CAO%82Q%D7u6%E6%90S%97%FCu%0B%CF2%94%EE%25v%12X%0C%BA%AC%F0%5E%F8*l%0AO%85%17%C2%97%BF%D4%C8%CE%DE%AD%11%CB%80q%2C%3E%AB%9ES%CD%C6%EC%25%D2L%D2%EBd%B8%BF%8A%F5B%C6%18%F9%901CZ%9D%BE%24M%9C%8A9%F2%DAP%0B'%06w%82%EB%E6%E2%5C%2F%D7%07%9E%BB%CC%5D%E1%FA%B9%08%AD.r%23%8E%C2%17%F5E%7C!%F0%BE3%BE%3E_%B7o%88a%A7%DB%BE%D3d%EB%A31Z%EB%BB%D3%91%BA%A2%B1z%94%8F%DB'%F6%3D%8E%AA%13%19%B2%B1%BE%B1~V%08%2B%B4%A2cjJ%B3tO%00%03%25mN%97%F3%05%93%EF%11%84%0B%7C%88%AE-%89%8F%ABbW%90O%2B%0Ao%99%0C%5E%97%0CI%AFH%D9.%B0%3B%8F%ED%03%B6S%D6%5D%E6i_s9%F3*p%E9%1B%FD%C3%EB.7U%06%5E%19%C0%D1s.%17%A03u%E4%09%B0%7C%5E%2C%EB%15%DB%1F%3C%9E%B7%80%91%3B%DBc%AD%3Dma%BA%8B%3EV%AB%DBt.%5B%1E%01%BB%0F%AB%D5%9F%CF%AA%D5%DD%E7%E4%7F%0Bx%A3%FC%06%A9%23%0A%D6%C2%A1_2%00%00%00%09pHYs%00%00%0B%13%00%00%0B%13%01%00%9A%9C%18%00%00%00%B5IDAT(%15%A5%91%3D%0E%02!%10%85ac%E1%05%D6%CE%D6%C6%CE%D2%E8%ED%CD%DE%C0%C6%D6N.%E0V%F8%3D%9Ca%891XH%C2%BE%D9y%3F%90!%E6%9C%C3%BFk%E5%011%C6-%F5%C8N%04%DF%BD%FF%89%DFt%83DN%60%3E%F3%AB%A0%DE%1A%5Dg%BE%10Q%97%1B%40%9C%A8o%10%8F%5E%828%B4%1B%60%87%F6%02%26%85%1Ch%1E%C1%2B%5Bk%FF%86%EE%B7j%09%9A%DA%9B%ACe%A3%F9%EC%DA!9%B4%D5%A6%81%86%86%98%CC%3C%5B%40%FA%81%B3%E9%CB%23%94%C16Azo%05%D4%E1%C1%95a%3B%8A'%A0%E8%CC%17%22%85%1D%BA%00%A2%FA%DC%0A%94%D1%D1%8D%8B%3A%84%17B%C7%60%1A%25Z%FC%8D%00%00%00%00IEND%AEB%60%82\"),url(\"data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%05%00%00%007%08%06%00%00%00%C4%DD%80C%00%00%03%1EiCCPICC%20Profile%00%00x%01%85T%DFk%D3P%14%FE%DAe%9D%B0%E1%8B%3Ag%11%09%3Eh%91ndStC%9C%B6kW%BA%CDZ%EA6%B7!H%9B%A6m%5C%9A%C6%24%ED~%B0%07%D9%8Bo%3A%C5w%F1%07%3E%F9%07%0C%D9%83o%7B%92%0D%C6%14a%F8%AC%88%22L%F6%22%B3%9E%9B4M'S%03%B9%F7%BB%DF%F9%EE9'%E7%E4%5E%A0%F9qZ%D3%14%2F%0F%14USO%C5%C2%FC%C4%E4%14%DF%F2%01%5E%1CC%2B%FChM%8B%86%16J%26G%40%0F%D3%B2y%EF%B3%F3%0E%1E%C6lt%EEo%DF%AB%FEc%D5%9A%95%0C%11%F0%1C%20%BE%945%C4%22%E1Y%A0i%5C%D4t%13%E0%D6%89%EF%9D15%C2%CDLsX%A7%04%09%1Fg8oc%81%E1%8C%8D%23%96f45%40%9A%09%C2%07%C5B%3AK%B8%408%98i%E0%F3%0D%D8%CE%81%14%E4'%26%A9%92.%8B%3C%ABER%2F%E5dE%B2%0C%F6%F0%1Fs%83%F2_%B0%A8%94%E9%9B%AD%E7%10%8Dm%9A%19N%D1%7C%8A%DE%1F9%7Dp%8C%E6%00%D5%C1%3F_%18%BDA%B8%9DpX6%E3%A35~B%CD%24%AE%11%26%BD%E7%EEti%98%EDe%9A%97Y)%12%25%1C%24%BCbT%AE3li%E6%0B%03%89%9A%E6%D3%ED%F4P%92%B0%9F4%BF43Y%F3%E3%EDP%95%04%EB1%C5%F5%F6KF%F4%BA%BD%D7%DB%91%93%07%E35%3E%A7)%D6%7F%40%FE%BD%F7%F5r%8A%E5y%92%F0%EB%B4%1E%8D%D5%F4%5B%92%3AV%DB%DB%E4%CD%A6%23%C3%C4wQ%3F%03HB%82%8E%1Cd(%E0%91B%0Ca%9Ac%C4%AA%F8L%16%19%22J%A4%D2itTy%B28%D6%3B(%93%96%ED%1CGx%C9_%0E%B8%5E%16%F5%5B%B2%B8%F6%E0%FB%9E%DD%25%D7%8E%BC%15%85%C5%B7%A3%D8Q%ED%B5%81%E9%BA%B2%13%9A%1B%7Fua%A5%A3n%E17%B9%E5%9B%1Bm%AB%0B%08Q%FE%8A%E5%B1H%5Ee%CAO%82Q%D7u6%E6%90S%97%FCu%0B%CF2%94%EE%25v%12X%0C%BA%AC%F0%5E%F8*l%0AO%85%17%C2%97%BF%D4%C8%CE%DE%AD%11%CB%80q%2C%3E%AB%9ES%CD%C6%EC%25%D2L%D2%EBd%B8%BF%8A%F5B%C6%18%F9%901CZ%9D%BE%24M%9C%8A9%F2%DAP%0B'%06w%82%EB%E6%E2%5C%2F%D7%07%9E%BB%CC%5D%E1%FA%B9%08%AD.r%23%8E%C2%17%F5E%7C!%F0%BE3%BE%3E_%B7o%88a%A7%DB%BE%D3d%EB%A31Z%EB%BB%D3%91%BA%A2%B1z%94%8F%DB'%F6%3D%8E%AA%13%19%B2%B1%BE%B1~V%08%2B%B4%A2cjJ%B3tO%00%03%25mN%97%F3%05%93%EF%11%84%0B%7C%88%AE-%89%8F%ABbW%90O%2B%0Ao%99%0C%5E%97%0CI%AFH%D9.%B0%3B%8F%ED%03%B6S%D6%5D%E6i_s9%F3*p%E9%1B%FD%C3%EB.7U%06%5E%19%C0%D1s.%17%A03u%E4%09%B0%7C%5E%2C%EB%15%DB%1F%3C%9E%B7%80%91%3B%DBc%AD%3Dma%BA%8B%3EV%AB%DBt.%5B%1E%01%BB%0F%AB%D5%9F%CF%AA%D5%DD%E7%E4%7F%0Bx%A3%FC%06%A9%23%0A%D6%C2%A1_2%00%00%00%09pHYs%00%00%0B%13%00%00%0B%13%01%00%9A%9C%18%00%00%003IDAT8%11c%FC%FF%FF%7F%3E%03%1A%60%01%F2%3F%A3%891%80%04%FFQ%26%F8w%C0%B43%A1%DB%0C%E2%8F%0A%A2%85%CAh%80%8C%06%08%3C%04%E8%96%18%00%A3S%0D%CD%CF%D8%C1%9D%00%00%00%00IEND%AEB%60%82\");background-repeat: no-repeat, repeat-x;background-position: center center, top left;}.ace_editor.ace_dragging .ace_content {cursor: move;}.ace_gutter-tooltip {background-color: #FFFFD5;border: 1px solid gray;box-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);color: black;display: inline-block;padding: 4px;position: absolute;z-index: 300;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;cursor: default;white-space: pre-line;word-wrap: break-word;}.ace_folding-enabled > .ace_gutter-cell {padding-right: 13px;}.ace_fold-widget {-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;margin: 0 -12px 0 1px;display: inline-block;width: 11px;vertical-align: top;background-image: url(\"data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%05%00%00%00%05%08%06%00%00%00%8Do%26%E5%00%00%004IDATx%DAe%8A%B1%0D%000%0C%C2%F2%2CK%96%BC%D0%8F9%81%88H%E9%D0%0E%96%C0%10%92%3E%02%80%5E%82%E4%A9*-%EEsw%C8%CC%11%EE%96w%D8%DC%E9*Eh%0C%151(%00%00%00%00IEND%AEB%60%82\");background-repeat: no-repeat;background-position: center;border-radius: 3px;border: 1px solid transparent;}.ace_fold-widget.ace_end {background-image: url(\"data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%05%00%00%00%05%08%06%00%00%00%8Do%26%E5%00%00%004IDATx%DAm%C7%C1%09%000%08C%D1%8C%ECE%C8E(%8E%EC%02)%1EZJ%F1%C1'%04%07I%E1%E5%EE%CAL%F5%A2%99%99%22%E2%D6%1FU%B5%FE0%D9x%A7%26Wz5%0E%D5%00%00%00%00IEND%AEB%60%82\");}.ace_fold-widget.ace_closed {background-image: url(\"data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%03%00%00%00%06%08%06%00%00%00%06%E5%24%0C%00%00%009IDATx%DA5%CA%C1%09%000%08%03%C0%AC*(%3E%04%C1%0D%BA%B1%23%A4Uh%E0%20%81%C0%CC%F8%82%81%AA%A2%AArGfr%88%08%11%11%1C%DD%7D%E0%EE%5B%F6%F6%CB%B8%05Q%2F%E9tai%D9%00%00%00%00IEND%AEB%60%82\");}.ace_fold-widget:hover {border: 1px solid rgba(0, 0, 0, 0.3);background-color: rgba(255, 255, 255, 0.2);-moz-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);-webkit-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);}.ace_fold-widget:active {border: 1px solid rgba(0, 0, 0, 0.4);background-color: rgba(0, 0, 0, 0.05);-moz-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);-webkit-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);}/*** Dark version for fold widgets*/.ace_dark .ace_fold-widget {background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC\");}.ace_dark .ace_fold-widget.ace_end {background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==\");}.ace_dark .ace_fold-widget.ace_closed {background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==\");}.ace_dark .ace_fold-widget:hover {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);background-color: rgba(255, 255, 255, 0.1);}.ace_dark .ace_fold-widget:active {-moz-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);-webkit-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);}.ace_fold-widget.ace_invalid {background-color: #FFB4B4;border-color: #DE5555;}.ace_fade-fold-widgets .ace_fold-widget {-moz-transition: opacity 0.4s ease 0.05s;-webkit-transition: opacity 0.4s ease 0.05s;-o-transition: opacity 0.4s ease 0.05s;-ms-transition: opacity 0.4s ease 0.05s;transition: opacity 0.4s ease 0.05s;opacity: 0;}.ace_fade-fold-widgets:hover .ace_fold-widget {-moz-transition: opacity 0.05s ease 0.05s;-webkit-transition: opacity 0.05s ease 0.05s;-o-transition: opacity 0.05s ease 0.05s;-ms-transition: opacity 0.05s ease 0.05s;transition: opacity 0.05s ease 0.05s;opacity:1;}.ace_underline {text-decoration: underline;}.ace_bold {font-weight: bold;}.ace_nobold .ace_bold {font-weight: normal;}.ace_italic {font-style: italic;}";i.importCssString(m,"ace_editor");var g=function(e,t){var n=this;this.container=e,this.$keepTextAreaAtCursor=!o.isIE,i.addCssClass(e,"ace_editor"),this.setTheme(t),this.$gutter=i.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.scroller=i.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=i.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.setHighlightGutterLine(!0),this.$gutterLayer=new f(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new l(this.content);var r=this.$textLayer=new c(this.content);this.canvas=r.element,this.$markerFront=new l(this.content),this.$cursorLayer=new h(this.content),this.$horizScroll=!1,this.$horizScrollAlwaysVisible=!1,this.$animatedScroll=!1,this.scrollBar=new p(e),this.scrollBar.addEventListener("scroll",function(e){n.$inScrollAnimation||n.session.setScrollTop(e.data)}),this.scrollTop=0,this.scrollLeft=0,s.addListener(this.scroller,"scroll",function(){var e=n.scroller.scrollLeft;n.scrollLeft=e,n.session.setScrollLeft(e)}),this.cursorPos={row:0,column:0},this.$textLayer.addEventListener("changeCharacterSize",function(){n.updateCharacterSize(),n.onResize(!0)}),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:1,characterWidth:1,minHeight:1,maxHeight:1,offset:0,height:1},this.$loop=new d(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4)};(function(){this.showGutter=!0,this.CHANGE_CURSOR=1,this.CHANGE_MARKER=2,this.CHANGE_GUTTER=4,this.CHANGE_SCROLL=8,this.CHANGE_LINES=16,this.CHANGE_TEXT=32,this.CHANGE_SIZE=64,this.CHANGE_MARKER_BACK=128,this.CHANGE_MARKER_FRONT=256,this.CHANGE_FULL=512,this.CHANGE_H_SCROLL=1024,r.implement(this,v),this.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts)),this.characterWidth=this.$textLayer.getCharacterWidth(),this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin()},this.setSession=function(e){this.session=e,this.scroller.className="ace_scroller",this.$cursorLayer.setSession(e),this.$markerBack.setSession(e),this.$markerFront.setSession(e),this.$gutterLayer.setSession(e),this.$textLayer.setSession(e),this.$loop.schedule(this.CHANGE_FULL)},this.updateLines=function(e,t){t===undefined&&(t=Infinity),this.$changedLines?(this.$changedLines.firstRow>e&&(this.$changedLines.firstRow=e),this.$changedLines.lastRow<t&&(this.$changedLines.lastRow=t)):this.$changedLines={firstRow:e,lastRow:t};if(this.$changedLines.firstRow>this.layerConfig.lastRow||this.$changedLines.lastRow<this.layerConfig.firstRow)return;this.$loop.schedule(this.CHANGE_LINES)},this.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},this.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},this.updateFull=function(e){e?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},this.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},this.onResize=function(e,t,n,r){var s=this.CHANGE_SIZE,o=this.$size;if(this.resizing>2)return;this.resizing>1?this.resizing++:this.resizing=e?1:0,r||(r=i.getInnerHeight(this.container));if(e||o.height!=r)o.height=r,this.scroller.style.height=r+"px",o.scrollerHeight=this.scroller.clientHeight,this.scrollBar.setHeight(o.scrollerHeight),this.session&&(this.session.setScrollTop(this.getScrollTop()),s|=this.CHANGE_FULL);n||(n=i.getInnerWidth(this.container));if(e||this.resizing>1||o.width!=n){o.width=n;var t=this.showGutter?this.$gutter.offsetWidth:0;this.scroller.style.left=t+"px",o.scrollerWidth=Math.max(0,n-t-this.scrollBar.getWidth()),this.scroller.style.right=this.scrollBar.getWidth()+"px";if(this.session.getUseWrapMode()&&this.adjustWrapLimit()||e)s|=this.CHANGE_FULL}e?this.$renderChanges(s,!0):this.$loop.schedule(s),e&&delete this.resizing},this.onGutterResize=function(){var e=this.$size.width,t=this.showGutter?this.$gutter.offsetWidth:0;this.scroller.style.left=t+"px",this.$size.scrollerWidth=Math.max(0,e-t-this.scrollBar.getWidth()),this.session.getUseWrapMode()&&this.adjustWrapLimit()&&this.$loop.schedule(this.CHANGE_FULL)},this.adjustWrapLimit=function(){var e=this.$size.scrollerWidth-this.$padding*2,t=Math.floor(e/this.characterWidth);return this.session.adjustWrapLimit(t)},this.setAnimatedScroll=function(e){this.$animatedScroll=e},this.getAnimatedScroll=function(){return this.$animatedScroll},this.setShowInvisibles=function(e){this.$textLayer.setShowInvisibles(e)&&this.$loop.schedule(this.CHANGE_TEXT)},this.getShowInvisibles=function(){return this.$textLayer.showInvisibles},this.getDisplayIndentGuides=function(){return this.$textLayer.displayIndentGuides},this.setDisplayIndentGuides=function(e){this.$textLayer.setDisplayIndentGuides(e)&&this.$loop.schedule(this.CHANGE_TEXT)},this.$showPrintMargin=!0,this.setShowPrintMargin=function(e){this.$showPrintMargin=e,this.$updatePrintMargin()},this.getShowPrintMargin=function(){return this.$showPrintMargin},this.$printMarginColumn=80,this.setPrintMarginColumn=function(e){this.$printMarginColumn=e,this.$updatePrintMargin()},this.getPrintMarginColumn=function(){return this.$printMarginColumn},this.getShowGutter=function(){return this.showGutter},this.setShowGutter=function(e){if(this.showGutter===e)return;this.$gutter.style.display=e?"block":"none",this.showGutter=e,this.onResize(!0)},this.getFadeFoldWidgets=function(){return i.hasCssClass(this.$gutter,"ace_fade-fold-widgets")},this.setFadeFoldWidgets=function(e){e?i.addCssClass(this.$gutter,"ace_fade-fold-widgets"):i.removeCssClass(this.$gutter,"ace_fade-fold-widgets")},this.$highlightGutterLine=!1,this.setHighlightGutterLine=function(e){if(this.$highlightGutterLine==e)return;this.$highlightGutterLine=e;if(!this.$gutterLineHighlight){this.$gutterLineHighlight=i.createElement("div"),this.$gutterLineHighlight.className="ace_gutter-active-line",this.$gutter.appendChild(this.$gutterLineHighlight);return}this.$gutterLineHighlight.style.display=e?"":"none",this.$cursorLayer.$pixelPos&&this.$updateGutterLineHighlight()},this.getHighlightGutterLine=function(){return this.$highlightGutterLine},this.$updateGutterLineHighlight=function(){this.$gutterLineHighlight.style.top=this.$cursorLayer.$pixelPos.top-this.layerConfig.offset+"px",this.$gutterLineHighlight.style.height=this.layerConfig.lineHeight+"px"},this.$updatePrintMargin=function(){if(!this.$showPrintMargin&&!this.$printMarginEl)return;if(!this.$printMarginEl){var e=i.createElement("div");e.className="ace_layer ace_print-margin-layer",this.$printMarginEl=i.createElement("div"),this.$printMarginEl.className="ace_print-margin",e.appendChild(this.$printMarginEl),this.content.insertBefore(e,this.content.firstChild)}var t=this.$printMarginEl.style;t.left=this.characterWidth*this.$printMarginColumn+this.$padding+"px",t.visibility=this.$showPrintMargin?"visible":"hidden"},this.getContainerElement=function(){return this.container},this.getMouseEventTarget=function(){return this.content},this.getTextAreaContainer=function(){return this.container},this.$moveTextAreaToCursor=function(){if(!this.$keepTextAreaAtCursor)return;var e=this.$cursorLayer.$pixelPos.top,t=this.$cursorLayer.$pixelPos.left;e-=this.layerConfig.offset;if(e<0||e>this.layerConfig.height-this.lineHeight)return;var n=this.characterWidth;this.$composition&&(n+=this.textarea.scrollWidth),t-=this.scrollLeft,t>this.$size.scrollerWidth-n&&(t=this.$size.scrollerWidth-n),this.showGutter&&(t+=this.$gutterLayer.gutterWidth),this.textarea.style.height=this.lineHeight+"px",this.textarea.style.width=n+"px",this.textarea.style.left=t+"px",this.textarea.style.top=e-1+"px"},this.getFirstVisibleRow=function(){return this.layerConfig.firstRow},this.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(this.layerConfig.offset===0?0:1)},this.getLastFullyVisibleRow=function(){var e=Math.floor((this.layerConfig.height+this.layerConfig.offset)/this.layerConfig.lineHeight);return this.layerConfig.firstRow-1+e},this.getLastVisibleRow=function(){return this.layerConfig.lastRow},this.$padding=null,this.setPadding=function(e){this.$padding=e,this.$textLayer.setPadding(e),this.$cursorLayer.setPadding(e),this.$markerFront.setPadding(e),this.$markerBack.setPadding(e),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},this.getHScrollBarAlwaysVisible=function(){return this.$horizScrollAlwaysVisible},this.setHScrollBarAlwaysVisible=function(e){this.$horizScrollAlwaysVisible!=e&&(this.$horizScrollAlwaysVisible=e,(!this.$horizScrollAlwaysVisible||!this.$horizScroll)&&this.$loop.schedule(this.CHANGE_SCROLL))},this.$updateScrollBar=function(){this.scrollBar.setInnerHeight(this.layerConfig.maxHeight),this.scrollBar.setScrollTop(this.scrollTop)},this.$renderChanges=function(e,t){if(!t&&(!e||!this.session||!this.container.offsetWidth))return;(e&this.CHANGE_FULL||e&this.CHANGE_SIZE||e&this.CHANGE_TEXT||e&this.CHANGE_LINES||e&this.CHANGE_SCROLL)&&this.$computeLayerConfig();if(e&this.CHANGE_H_SCROLL){this.scroller.scrollLeft=this.scrollLeft;var n=this.scroller.scrollLeft;this.scrollLeft=n,this.session.setScrollLeft(n),this.scroller.className=this.scrollLeft==0?"ace_scroller":"ace_scroller ace_scroll-left"}if(e&this.CHANGE_FULL){this.$textLayer.checkForSizeChanges(),this.$updateScrollBar(),this.$textLayer.update(this.layerConfig),this.showGutter&&this.$gutterLayer.update(this.layerConfig),this.$markerBack.update(this.layerConfig),this.$markerFront.update(this.layerConfig),this.$cursorLayer.update(this.layerConfig),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight();return}if(e&this.CHANGE_SCROLL){this.$updateScrollBar(),e&this.CHANGE_TEXT||e&this.CHANGE_LINES?this.$textLayer.update(this.layerConfig):this.$textLayer.scrollLines(this.layerConfig),this.showGutter&&this.$gutterLayer.update(this.layerConfig),this.$markerBack.update(this.layerConfig),this.$markerFront.update(this.layerConfig),this.$cursorLayer.update(this.layerConfig),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight();return}e&this.CHANGE_TEXT?(this.$textLayer.update(this.layerConfig),this.showGutter&&this.$gutterLayer.update(this.layerConfig)):e&this.CHANGE_LINES?(this.$updateLines()||e&this.CHANGE_GUTTER&&this.showGutter)&&this.$gutterLayer.update(this.layerConfig):(e&this.CHANGE_TEXT||e&this.CHANGE_GUTTER)&&this.showGutter&&this.$gutterLayer.update(this.layerConfig),e&this.CHANGE_CURSOR&&(this.$cursorLayer.update(this.layerConfig),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight()),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(this.layerConfig),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(this.layerConfig),e&this.CHANGE_SIZE&&this.$updateScrollBar()},this.$computeLayerConfig=function(){var e=this.session,t=this.scrollTop%this.lineHeight,n=this.$size.scrollerHeight+this.lineHeight,r=this.$getLongestLine(),i=this.$horizScrollAlwaysVisible||this.$size.scrollerWidth-r<0,s=this.$horizScroll!==i;this.$horizScroll=i,s&&(this.scroller.style.overflowX=i?"scroll":"hidden",i||this.session.setScrollLeft(0));var o=this.session.getScreenLength()*this.lineHeight;this.session.setScrollTop(Math.max(0,Math.min(this.scrollTop,o-this.$size.scrollerHeight)));var u=Math.ceil(n/this.lineHeight)-1,a=Math.max(0,Math.round((this.scrollTop-t)/this.lineHeight)),f=a+u,l,c,h=this.lineHeight;a=e.screenToDocumentRow(a,0);var p=e.getFoldLine(a);p&&(a=p.start.row),l=e.documentToScreenRow(a,0),c=e.getRowLength(a)*h,f=Math.min(e.screenToDocumentRow(f,0),e.getLength()-1),n=this.$size.scrollerHeight+e.getRowLength(f)*h+c,t=this.scrollTop-l*h,this.layerConfig={width:r,padding:this.$padding,firstRow:a,firstRowScreen:l,lastRow:f,lineHeight:h,characterWidth:this.characterWidth,minHeight:n,maxHeight:o,offset:t,height:this.$size.scrollerHeight},this.$gutterLayer.element.style.marginTop=-t+"px",this.content.style.marginTop=-t+"px",this.content.style.width=r+2*this.$padding+"px",this.content.style.height=n+"px",s&&this.onResize(!0)},this.$updateLines=function(){var e=this.$changedLines.firstRow,t=this.$changedLines.lastRow;this.$changedLines=null;var n=this.layerConfig;if(e>n.lastRow+1)return;if(t<n.firstRow)return;if(t===Infinity){this.showGutter&&this.$gutterLayer.update(n),this.$textLayer.update(n);return}return this.$textLayer.updateLines(n,e,t),!0},this.$getLongestLine=function(){var e=this.session.getScreenWidth();return this.$textLayer.showInvisibles&&(e+=1),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(e*this.characterWidth))},this.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},this.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},this.addGutterDecoration=function(e,t){this.$gutterLayer.addGutterDecoration(e,t)},this.removeGutterDecoration=function(e,t){this.$gutterLayer.removeGutterDecoration(e,t)},this.updateBreakpoints=function(e){this.$loop.schedule(this.CHANGE_GUTTER)},this.setAnnotations=function(e){this.$gutterLayer.setAnnotations(e),this.$loop.schedule(this.CHANGE_GUTTER)},this.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},this.hideCursor=function(){this.$cursorLayer.hideCursor()},this.showCursor=function(){this.$cursorLayer.showCursor()},this.scrollSelectionIntoView=function(e,t,n){this.scrollCursorIntoView(e,n),this.scrollCursorIntoView(t,n)},this.scrollCursorIntoView=function(e,t){if(this.$size.scrollerHeight===0)return;var n=this.$cursorLayer.getPixelPosition(e),r=n.left,i=n.top;this.scrollTop>i?(t&&(i-=t*this.$size.scrollerHeight),this.session.setScrollTop(i)):this.scrollTop+this.$size.scrollerHeight<i+this.lineHeight&&(t&&(i+=t*this.$size.scrollerHeight),this.session.setScrollTop(i+this.lineHeight-this.$size.scrollerHeight));var s=this.scrollLeft;s>r?(r<this.$padding+2*this.layerConfig.characterWidth&&(r=0),this.session.setScrollLeft(r)):s+this.$size.scrollerWidth<r+this.characterWidth&&this.session.setScrollLeft(Math.round(r+this.characterWidth-this.$size.scrollerWidth))},this.getScrollTop=function(){return this.session.getScrollTop()},this.getScrollLeft=function(){return this.session.getScrollLeft()},this.getScrollTopRow=function(){return this.scrollTop/this.lineHeight},this.getScrollBottomRow=function(){return Math.max(0,Math.floor((this.scrollTop+this.$size.scrollerHeight)/this.lineHeight)-1)},this.scrollToRow=function(e){this.session.setScrollTop(e*this.lineHeight)},this.alignCursor=function(e,t){typeof e=="number"&&(e={row:e,column:0});var n=this.$cursorLayer.getPixelPosition(e),r=this.$size.scrollerHeight-this.lineHeight,i=n.top-r*(t||0);return this.session.setScrollTop(i),i},this.STEPS=8,this.$calcSteps=function(e,t){var n=0,r=this.STEPS,i=[],s=function(e,t,n){return n*(Math.pow(e-1,3)+1)+t};for(n=0;n<r;++n)i.push(s(n/this.STEPS,e,t-e));return i},this.scrollToLine=function(e,t,n,r){var i=this.$cursorLayer.getPixelPosition({row:e,column:0}),s=i.top;t&&(s-=this.$size.scrollerHeight/2);var o=this.scrollTop;this.session.setScrollTop(s),n!==!1&&this.animateScrolling(o,r)},this.animateScrolling=function(e,t){var n=this.scrollTop;if(this.$animatedScroll&&Math.abs(e-n)<1e5){var r=this,i=r.$calcSteps(e,n);this.$inScrollAnimation=!0,clearInterval(this.$timer),r.session.setScrollTop(i.shift()),this.$timer=setInterval(function(){i.length?(r.session.setScrollTop(i.shift()),r.session.$scrollTop=n):n!=null?(r.session.$scrollTop=-1,r.session.setScrollTop(n),n=null):(r.$timer=clearInterval(r.$timer),r.$inScrollAnimation=!1,t&&t())},10)}},this.scrollToY=function(e){this.scrollTop!==e&&(this.$loop.schedule(this.CHANGE_SCROLL),this.scrollTop=e)},this.scrollToX=function(e){e<0&&(e=0),this.scrollLeft!==e&&(this.scrollLeft=e),this.$loop.schedule(this.CHANGE_H_SCROLL)},this.scrollBy=function(e,t){t&&this.session.setScrollTop(this.session.getScrollTop()+t),e&&this.session.setScrollLeft(this.session.getScrollLeft()+e)},this.isScrollableBy=function(e,t){if(t<0&&this.session.getScrollTop()>0)return!0;if(t>0&&this.session.getScrollTop()+this.$size.scrollerHeight<this.layerConfig.maxHeight)return!0},this.pixelToScreenCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=(e+this.scrollLeft-n.left-this.$padding)/this.characterWidth,i=Math.floor((t+this.scrollTop-n.top)/this.lineHeight),s=Math.round(r);return{row:i,column:s,side:r-s>0?1:-1}},this.screenToTextCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=Math.round((e+this.scrollLeft-n.left-this.$padding)/this.characterWidth),i=Math.floor((t+this.scrollTop-n.top)/this.lineHeight);return this.session.screenToDocumentPosition(i,Math.max(r,0))},this.textToScreenCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=this.session.documentToScreenPosition(e,t),i=this.$padding+Math.round(r.column*this.characterWidth),s=r.row*this.lineHeight;return{pageX:n.left+i-this.scrollLeft,pageY:n.top+s-this.scrollTop}},this.visualizeFocus=function(){i.addCssClass(this.container,"ace_focus")},this.visualizeBlur=function(){i.removeCssClass(this.container,"ace_focus")},this.showComposition=function(e){this.$composition||(this.$composition={keepTextAreaAtCursor:this.$keepTextAreaAtCursor,cssText:this.textarea.style.cssText}),this.$keepTextAreaAtCursor=!0,i.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor()},this.setCompositionText=function(e){this.$moveTextAreaToCursor()},this.hideComposition=function(){if(!this.$composition)return;i.removeCssClass(this.textarea,"ace_composition"),this.$keepTextAreaAtCursor=this.$composition.keepTextAreaAtCursor,this.textarea.style.cssText=this.$composition.cssText,this.$composition=null},this._loadTheme=function(e,t){if(!u.get("packaged"))return t();a.loadScript(u.moduleUrl(e,"theme"),t)},this.setTheme=function(t){function u(e){i.importCssString(e.cssText,e.cssClass,n.container.ownerDocument),n.theme&&i.removeCssClass(n.container,n.theme.cssClass),n.$theme=e.cssClass,n.theme=e,i.addCssClass(n.container,e.cssClass),i.setCssClass(n.container,"ace_dark",e.isDark);var t=e.padding||4;n.$padding&&t!=n.$padding&&n.setPadding(t),n.$size&&(n.$size.width=0,n.onResize()),n._dispatchEvent("themeLoaded",{theme:e})}var n=this;this.$themeValue=t,n._dispatchEvent("themeChange",{theme:t});if(!t||typeof t=="string"){var r=t||"ace/theme/textmate",s;try{s=e(r)}catch(o){}if(s)return u(s);n._loadTheme(r,function(){e([r],function(e){if(n.$themeValue!==t)return;u(e)})})}else u(t)},this.getTheme=function(){return this.$themeValue},this.setStyle=function(t,n){i.setCssClass(this.container,t,n!=0)},this.unsetStyle=function(t){i.removeCssClass(this.container,t)},this.destroy=function(){this.$textLayer.destroy(),this.$cursorLayer.destroy()}}).call(g.prototype),t.VirtualRenderer=g}),define("ace/layer/gutter",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter"],function(e,t,n){var r=e("../lib/dom"),i=e("../lib/oop"),s=e("../lib/lang"),o=e("../lib/event_emitter").EventEmitter,u=function(e){this.element=r.createElement("div"),this.element.className="ace_layer ace_gutter-layer",e.appendChild(this.element),this.setShowFoldWidgets(this.$showFoldWidgets),this.gutterWidth=0,this.$annotations=[],this.$updateAnnotations=this.$updateAnnotations.bind(this)};(function(){i.implement(this,o),this.setSession=function(e){this.session&&this.session.removeEventListener("change",this.$updateAnnotations),this.session=e,e.on("change",this.$updateAnnotations)},this.addGutterDecoration=function(e,t){window.console&&console.warn&&console.warn("deprecated use session.addGutterDecoration"),this.session.addGutterDecoration(e,t)},this.removeGutterDecoration=function(e,t){window.console&&console.warn&&console.warn("deprecated use session.removeGutterDecoration"),this.session.removeGutterDecoration(e,t)},this.setAnnotations=function(e){this.$annotations=[];var t,n;for(var r=0;r<e.length;r++){var i=e[r],n=i.row,t=this.$annotations[n];t||(t=this.$annotations[n]={text:[]});var o=i.text;o=o?s.escapeHTML(o):i.html||"",t.text.indexOf(o)===-1&&t.text.push(o);var u=i.type;u=="error"?t.className=" ace_error":u=="warning"&&t.className!=" ace_error"?t.className=" ace_warning":u=="info"&&!t.className&&(t.className=" ace_info")}},this.$updateAnnotations=function(e){if(!this.$annotations.length)return;var t=e.data,n=t.range,r=n.start.row,i=n.end.row-r;if(i!==0)if(t.action=="removeText"||t.action=="removeLines")this.$annotations.splice(r,i+1,null);else{var s=Array(i+1);s.unshift(r,1),this.$annotations.splice.apply(this.$annotations,s)}},this.update=function(e){var t={className:""},n=[],i=e.firstRow,s=e.lastRow,o=this.session.getNextFoldLine(i),u=o?o.start.row:Infinity,a=this.$showFoldWidgets&&this.session.foldWidgets,f=this.session.$breakpoints,l=this.session.$decorations,c=0;for(;;){i>u&&(i=o.end.row+1,o=this.session.getNextFoldLine(i,o),u=o?o.start.row:Infinity);if(i>s)break;var h=this.$annotations[i]||t;n.push("<div class='ace_gutter-cell ",f[i]||"",l[i]||"",h.className,"' style='height:",this.session.getRowLength(i)*e.lineHeight,"px;'>",c=i+1);if(a){var p=a[i];p==null&&(p=a[i]=this.session.getFoldWidget(i)),p&&n.push("<span class='ace_fold-widget ace_",p,p=="start"&&i==u&&i<o.end.row?" ace_closed":" ace_open","' style='height:",e.lineHeight,"px","'></span>")}n.push("</div>"),i++}this.element=r.setInnerHtml(this.element,n.join("")),this.element.style.height=e.minHeight+"px",this.session.$useWrapMode&&(c=this.session.getLength());var d=(""+c).length*e.characterWidth,v=this.$padding||this.$computePadding();d+=v.left+v.right,d!==this.gutterWidth&&(this.gutterWidth=d,this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._emit("changeGutterWidth",d))},this.$showFoldWidgets=!0,this.setShowFoldWidgets=function(e){e?r.addCssClass(this.element,"ace_folding-enabled"):r.removeCssClass(this.element,"ace_folding-enabled"),this.$showFoldWidgets=e,this.$padding=null},this.getShowFoldWidgets=function(){return this.$showFoldWidgets},this.$computePadding=function(){if(!this.element.firstChild)return{left:0,right:0};var e=r.computedStyle(this.element.firstChild);return this.$padding={},this.$padding.left=parseInt(e.paddingLeft)+1,this.$padding.right=parseInt(e.paddingRight),this.$padding},this.getRegion=function(e){var t=this.$padding||this.$computePadding(),n=this.element.getBoundingClientRect();if(e.x<t.left+n.left)return"markers";if(this.$showFoldWidgets&&e.x>n.right-t.right)return"foldWidgets"}}).call(u.prototype),t.Gutter=u}),define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(e,t,n){var r=e("../range").Range,i=e("../lib/dom"),s=function(e){this.element=i.createElement("div"),this.element.className="ace_layer ace_marker-layer",e.appendChild(this.element)};(function(){this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setMarkers=function(e){this.markers=e},this.update=function(e){var e=e||this.config;if(!e)return;this.config=e;var t=[];for(var n in this.markers){var r=this.markers[n];if(!r.range){r.update(t,this,this.session,e);continue}var s=r.range.clipRows(e.firstRow,e.lastRow);if(s.isEmpty())continue;s=s.toScreenRange(this.session);if(r.renderer){var o=this.$getTop(s.start.row,e),u=this.$padding+s.start.column*e.characterWidth;r.renderer(t,s,u,o,e)}else r.type=="fullLine"?this.drawFullLineMarker(t,s,r.clazz,e):s.isMultiLine()?r.type=="text"?this.drawTextMarker(t,s,r.clazz,e):this.drawMultiLineMarker(t,s,r.clazz,e):this.drawSingleLineMarker(t,s,r.clazz+" ace_start",e)}this.element=i.setInnerHtml(this.element,t.join(""))},this.$getTop=function(e,t){return(e-t.firstRowScreen)*t.lineHeight},this.drawTextMarker=function(e,t,n,i){var s=t.start.row,o=new r(s,t.start.column,s,this.session.getScreenLastRowColumn(s));this.drawSingleLineMarker(e,o,n+" ace_start",i,1,"text"),s=t.end.row,o=new r(s,0,s,t.end.column),this.drawSingleLineMarker(e,o,n,i,0,"text");for(s=t.start.row+1;s<t.end.row;s++)o.start.row=s,o.end.row=s,o.end.column=this.session.getScreenLastRowColumn(s),this.drawSingleLineMarker(e,o,n,i,1,"text")},this.drawMultiLineMarker=function(e,t,n,r,i){var s=this.$padding,o=r.lineHeight,u=this.$getTop(t.start.row,r),a=s+t.start.column*r.characterWidth;e.push("<div class='",n," ace_start' style='","height:",o,"px;","right:0;","top:",u,"px;","left:",a,"px;'></div>"),u=this.$getTop(t.end.row,r);var f=t.end.column*r.characterWidth;e.push("<div class='",n,"' style='","height:",o,"px;","width:",f,"px;","top:",u,"px;","left:",s,"px;'></div>"),o=(t.end.row-t.start.row-1)*r.lineHeight;if(o<0)return;u=this.$getTop(t.start.row+1,r),e.push("<div class='",n,"' style='","height:",o,"px;","right:0;","top:",u,"px;","left:",s,"px;'></div>")},this.drawSingleLineMarker=function(e,t,n,r,i){var s=r.lineHeight,o=(t.end.column+(i||0)-t.start.column)*r.characterWidth,u=this.$getTop(t.start.row,r),a=this.$padding+t.start.column*r.characterWidth;e.push("<div class='",n,"' style='","height:",s,"px;","width:",o,"px;","top:",u,"px;","left:",a,"px;'></div>")},this.drawFullLineMarker=function(e,t,n,r){var i=this.$getTop(t.start.row,r),s=r.lineHeight;t.start.row!=t.end.row&&(s+=this.$getTop(t.end.row,r)-i),e.push("<div class='",n,"' style='","height:",s,"px;","top:",i,"px;","left:0;right:0;'></div>")}}).call(s.prototype),t.Marker=s}),define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/lib/event_emitter"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/dom"),s=e("../lib/lang"),o=e("../lib/useragent"),u=e("../lib/event_emitter").EventEmitter,a=function(e){this.element=i.createElement("div"),this.element.className="ace_layer ace_text-layer",e.appendChild(this.element),this.$characterSize={width:0,height:0},this.checkForSizeChanges(),this.$pollSizeChanges()};(function(){r.implement(this,u),this.EOF_CHAR="¶",this.EOL_CHAR="¬",this.TAB_CHAR="→",this.SPACE_CHAR="·",this.$padding=0,this.setPadding=function(e){this.$padding=e,this.element.style.padding="0 "+e+"px"},this.getLineHeight=function(){return this.$characterSize.height||1},this.getCharacterWidth=function(){return this.$characterSize.width||1},this.checkForSizeChanges=function(){var e=this.$measureSizes();if(e&&(this.$characterSize.width!==e.width||this.$characterSize.height!==e.height)){this.$measureNode.style.fontWeight="bold";var t=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=e,this.allowBoldFonts=t&&t.width===e.width&&t.height===e.height,this._emit("changeCharacterSize",{data:e})}},this.$pollSizeChanges=function(){var e=this;this.$pollSizeChangesTimer=setInterval(function(){e.checkForSizeChanges()},500)},this.$fontStyles={fontFamily:1,fontSize:1,fontWeight:1,fontStyle:1,lineHeight:1},this.$measureSizes=o.isIE||o.isOldGecko?function(){var e=1e3;if(!this.$measureNode){var t=this.$measureNode=i.createElement("div"),n=t.style;n.width=n.height="auto",n.left=n.top=-e*40+"px",n.visibility="hidden",n.position="fixed",n.overflow="visible",n.whiteSpace="nowrap",t.innerHTML=s.stringRepeat("Xy",e);if(this.element.ownerDocument.body)this.element.ownerDocument.body.appendChild(t);else{var r=this.element.parentNode;while(!i.hasCssClass(r,"ace_editor"))r=r.parentNode;r.appendChild(t)}}if(!this.element.offsetWidth)return null;var n=this.$measureNode.style,o=i.computedStyle(this.element);for(var u in this.$fontStyles)n[u]=o[u];var a={height:this.$measureNode.offsetHeight,width:this.$measureNode.offsetWidth/(e*2)};return a.width==0||a.height==0?null:a}:function(){if(!this.$measureNode){var e=this.$measureNode=i.createElement("div"),t=e.style;t.width=t.height="auto",t.left=t.top="-100px",t.visibility="hidden",t.position="fixed",t.overflow="visible",t.whiteSpace="nowrap",e.innerHTML="X";var n=this.element.parentNode;while(n&&!i.hasCssClass(n,"ace_editor"))n=n.parentNode;if(!n)return this.$measureNode=null;n.appendChild(e)}var r=this.$measureNode.getBoundingClientRect(),s={height:r.height,width:r.width};return s.width==0||s.height==0?null:s},this.setSession=function(e){this.session=e,this.$computeTabString()},this.showInvisibles=!1,this.setShowInvisibles=function(e){return this.showInvisibles==e?!1:(this.showInvisibles=e,this.$computeTabString(),!0)},this.displayIndentGuides=!0,this.setDisplayIndentGuides=function(e){return this.displayIndentGuides==e?!1:(this.displayIndentGuides=e,this.$computeTabString(),!0)},this.$tabStrings=[],this.onChangeTabSize=this.$computeTabString=function(){var e=this.session.getTabSize();this.tabSize=e;var t=this.$tabStrings=[0];for(var n=1;n<e+1;n++)this.showInvisibles?t.push("<span class='ace_invisible'>"+this.TAB_CHAR+Array(n).join("&#160;")+"</span>"):t.push((new Array(n+1)).join("&#160;"));if(this.displayIndentGuides){this.$indentGuideRe=/\s\S| \t|\t |\s$/;var r="ace_indent-guide",i=Array(this.tabSize+1).join("&#160;"),s=i;this.showInvisibles&&(r+=" ace_invisible",s=this.TAB_CHAR+i.substr(6)),this.$tabStrings[" "]="<span class='"+r+"'>"+i+"</span>",this.$tabStrings[" "]="<span class='"+r+"'>"+s+"</span>"}},this.updateLines=function(e,t,n){(this.config.lastRow!=e.lastRow||this.config.firstRow!=e.firstRow)&&this.scrollLines(e),this.config=e;var r=Math.max(t,e.firstRow),s=Math.min(n,e.lastRow),o=this.element.childNodes,u=0;for(var a=e.firstRow;a<r;a++){var f=this.session.getFoldLine(a);if(f){if(f.containsRow(r)){r=f.start.row;break}a=f.end.row}u++}var a=r,f=this.session.getNextFoldLine(a),l=f?f.start.row:Infinity;for(;;){a>l&&(a=f.end.row+1,f=this.session.getNextFoldLine(a,f),l=f?f.start.row:Infinity);if(a>s)break;var c=o[u++];if(c){var h=[];this.$renderLine(h,a,!this.$useLineGroups(),a==l?f:!1),i.setInnerHtml(c,h.join(""))}a++}},this.scrollLines=function(e){var t=this.config;this.config=e;if(!t||t.lastRow<e.firstRow)return this.update(e);if(e.lastRow<t.firstRow)return this.update(e);var n=this.element;if(t.firstRow<e.firstRow)for(var r=this.session.getFoldedRowCount(t.firstRow,e.firstRow-1);r>0;r--)n.removeChild(n.firstChild);if(t.lastRow>e.lastRow)for(var r=this.session.getFoldedRowCount(e.lastRow+1,t.lastRow);r>0;r--)n.removeChild(n.lastChild);if(e.firstRow<t.firstRow){var i=this.$renderLinesFragment(e,e.firstRow,t.firstRow-1);n.firstChild?n.insertBefore(i,n.firstChild):n.appendChild(i)}if(e.lastRow>t.lastRow){var i=this.$renderLinesFragment(e,t.lastRow+1,e.lastRow);n.appendChild(i)}},this.$renderLinesFragment=function(e,t,n){var r=this.element.ownerDocument.createDocumentFragment(),s=t,o=this.session.getNextFoldLine(s),u=o?o.start.row:Infinity;for(;;){s>u&&(s=o.end.row+1,o=this.session.getNextFoldLine(s,o),u=o?o.start.row:Infinity);if(s>n)break;var a=i.createElement("div"),f=[];this.$renderLine(f,s,!1,s==u?o:!1),a.innerHTML=f.join("");if(this.$useLineGroups())a.className="ace_line_group",r.appendChild(a);else{var l=a.childNodes;while(l.length)r.appendChild(l[0])}s++}return r},this.update=function(e){this.config=e;var t=[],n=e.firstRow,r=e.lastRow,s=n,o=this.session.getNextFoldLine(s),u=o?o.start.row:Infinity;for(;;){s>u&&(s=o.end.row+1,o=this.session.getNextFoldLine(s,o),u=o?o.start.row:Infinity);if(s>r)break;this.$useLineGroups()&&t.push("<div class='ace_line_group'>"),this.$renderLine(t,s,!1,s==u?o:!1),this.$useLineGroups()&&t.push("</div>"),s++}this.element=i.setInnerHtml(this.element,t.join(""))},this.$textToken={text:!0,rparen:!0,lparen:!0},this.$renderToken=function(e,t,n,r){var i=this,s=/\t|&|<|( +)|([\x00-\x1f\x80-\xa0\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\u3000\uFEFF])|[\u1100-\u115F\u11A3-\u11A7\u11FA-\u11FF\u2329-\u232A\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3000-\u303E\u3041-\u3096\u3099-\u30FF\u3105-\u312D\u3131-\u318E\u3190-\u31BA\u31C0-\u31E3\u31F0-\u321E\u3220-\u3247\u3250-\u32FE\u3300-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFAFF\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFF01-\uFF60\uFFE0-\uFFE6]/g,o=function(e,n,r,s,o){if(n)return(new Array(e.length+1)).join("&#160;");if(e=="&")return"&#38;";if(e=="<")return"&#60;";if(e==" "){var u=i.session.getScreenTabSize(t+s);return t+=u-1,i.$tabStrings[u]}if(e==" "){var a=i.showInvisibles?"ace_cjk ace_invisible":"ace_cjk",f=i.showInvisibles?i.SPACE_CHAR:"";return t+=1,"<span class='"+a+"' style='width:"+i.config.characterWidth*2+"px'>"+f+"</span>"}return r?"<span class='ace_invisible ace_invalid'>"+i.SPACE_CHAR+"</span>":(t+=1,"<span class='ace_cjk' style='width:"+i.config.characterWidth*2+"px'>"+e+"</span>")},u=r.replace(s,o);if(!this.$textToken[n.type]){var a="ace_"+n.type.replace(/\./g," ace_"),f="";n.type=="fold"&&(f=" style='width:"+n.value.length*this.config.characterWidth+"px;' "),e.push("<span class='",a,"'",f,">",u,"</span>")}else e.push(u);return t+r.length},this.renderIndentGuide=function(e,t){var n=t.search(this.$indentGuideRe);return n<=0?t:t[0]==" "?(n-=n%this.tabSize,e.push(Array(n/this.tabSize+1).join(this.$tabStrings[" "])),t.substr(n)):t[0]==" "?(e.push(Array(n+1).join(this.$tabStrings[" "])),t.substr(n)):t},this.$renderWrappedLine=function(e,t,n,r){var i=0,s=0,o=n[0],u=0;for(var a=0;a<t.length;a++){var f=t[a],l=f.value;if(a==0&&this.displayIndentGuides){i=l.length,l=this.renderIndentGuide(e,l);if(!l)continue;i-=l.length}if(i+l.length<o)u=this.$renderToken(e,u,f,l),i+=l.length;else{while(i+l.length>=o)u=this.$renderToken(e,u,f,l.substring(0,o-i)),l=l.substring(o-i),i=o,r||e.push("</div>","<div class='ace_line' style='height:",this.config.lineHeight,"px'>"),s++,u=0,o=n[s]||Number.MAX_VALUE;l.length!=0&&(i+=l.length,u=this.$renderToken(e,u,f,l))}}},this.$renderSimpleLine=function(e,t){var n=0,r=t[0],i=r.value;this.displayIndentGuides&&(i=this.renderIndentGuide(e,i)),i&&(n=this.$renderToken(e,n,r,i));for(var s=1;s<t.length;s++)r=t[s],i=r.value,n=this.$renderToken(e,n,r,i)},this.$renderLine=function(e,t,n,r){!r&&r!=0&&(r=this.session.getFoldLine(t));if(r)var i=this.$getFoldLineTokens(t,r);else var i=this.session.getTokens(t);n||e.push("<div class='ace_line' style='height:",this.config.lineHeight,"px'>");if(i.length){var s=this.session.getRowSplitData(t);s&&s.length?this.$renderWrappedLine(e,i,s,n):this.$renderSimpleLine(e,i)}this.showInvisibles&&(r&&(t=r.end.row),e.push("<span class='ace_invisible'>",t==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,"</span>")),n||e.push("</div>")},this.$getFoldLineTokens=function(e,t){function i(e,t,n){var i=0,s=0;while(s+e[i].value.length<t){s+=e[i].value.length,i++;if(i==e.length)return}if(s!=t){var o=e[i].value.substring(t-s);o.length>n-t&&(o=o.substring(0,n-t)),r.push({type:e[i].type,value:o}),s=t+o.length,i+=1}while(s<n&&i<e.length){var o=e[i].value;o.length+s>n?r.push({type:e[i].type,value:o.substring(0,n-s)}):r.push(e[i]),s+=o.length,i+=1}}var n=this.session,r=[],s=n.getTokens(e);return t.walk(function(e,t,o,u,a){e!=null?r.push({type:"fold",value:e}):(a&&(s=n.getTokens(t)),s.length&&i(s,u,o))},t.end.row,this.session.getLine(t.end.row).length),r},this.$useLineGroups=function(){return this.session.getUseWrapMode()},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$measureNode&&this.$measureNode.parentNode.removeChild(this.$measureNode),delete this.$measureNode}}).call(a.prototype),t.Text=a}),define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(e,t,n){var r=e("../lib/dom"),i=function(e){this.element=r.createElement("div"),this.element.className="ace_layer ace_cursor-layer",e.appendChild(this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),r.addCssClass(this.element,"ace_hidden-cursors")};(function(){this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setBlinking=function(e){e!=this.isBlinking&&(this.isBlinking=e,this.restartTimer())},this.setBlinkInterval=function(e){e!=this.blinkInterval&&(this.blinkInterval=e,this.restartTimer())},this.setSmoothBlinking=function(e){e!=this.smoothBlinking&&(this.smoothBlinking=e,e?r.addCssClass(this.element,"ace_smooth-blinking"):r.removeCssClass(this.element,"ace_smooth-blinking"),this.restartTimer())},this.addCursor=function(){var e=r.createElement("div");return e.className="ace_cursor",this.element.appendChild(e),this.cursors.push(e),e},this.removeCursor=function(){if(this.cursors.length>1){var e=this.cursors.pop();return e.parentNode.removeChild(e),e}},this.hideCursor=function(){this.isVisible=!1,r.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.showCursor=function(){this.isVisible=!0,r.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.restartTimer=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.smoothBlinking&&r.removeCssClass(this.element,"ace_smooth-blinking");for(var e=this.cursors.length;e--;)this.cursors[e].style.opacity="";if(!this.isBlinking||!this.blinkInterval||!this.isVisible)return;this.smoothBlinking&&setTimeout(function(){r.addCssClass(this.element,"ace_smooth-blinking")}.bind(this));var t=function(){this.timeoutId=setTimeout(function(){for(var e=this.cursors.length;e--;)this.cursors[e].style.opacity=0}.bind(this),.6*this.blinkInterval)}.bind(this);this.intervalId=setInterval(function(){for(var e=this.cursors.length;e--;)this.cursors[e].style.opacity="";t()}.bind(this),this.blinkInterval),t()},this.getPixelPosition=function(e,t){if(!this.config||!this.session)return{left:0,top:0};e||(e=this.session.selection.getCursor());var n=this.session.documentToScreenPosition(e),r=this.$padding+n.column*this.config.characterWidth,i=(n.row-(t?this.config.firstRowScreen:0))*this.config.lineHeight;return{left:r,top:i}},this.update=function(e){this.config=e;var t=this.session.$selectionMarkers,n=0,r=0;if(t===undefined||t.length===0)t=[{cursor:null}];for(var n=t.length;n--;){var i=this.getPixelPosition(t[n].cursor,!0);if((i.top>e.height+e.offset||i.top<-e.offset)&&n>1)continue;var s=(this.cursors[r++]||this.addCursor()).style;s.left=i.left+"px",s.top=i.top+"px",s.width=e.characterWidth+"px",s.height=e.lineHeight+"px"}while(this.cursors.length>r)this.removeCursor();var o=this.session.getOverwrite();this.$setOverwrite(o),this.$pixelPos=i,this.restartTimer()},this.$setOverwrite=function(e){e!=this.overwrite&&(this.overwrite=e,e?r.addCssClass(this.element,"ace_overwrite-cursors"):r.removeCssClass(this.element,"ace_overwrite-cursors"))},this.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)}}).call(i.prototype),t.Cursor=i}),define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(e,t,n){var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./lib/event"),o=e("./lib/event_emitter").EventEmitter,u=function(e){this.element=i.createElement("div"),this.element.className="ace_scrollbar",this.inner=i.createElement("div"),this.inner.className="ace_scrollbar-inner",this.element.appendChild(this.inner),e.appendChild(this.element),this.width=i.scrollbarWidth(e.ownerDocument),this.element.style.width=(this.width||15)+5+"px",s.addListener(this.element,"scroll",this.onScroll.bind(this))};(function(){r.implement(this,o),this.onScroll=function(){this.skipEvent||(this.scrollTop=this.element.scrollTop,this._emit("scroll",{data:this.scrollTop})),this.skipEvent=!1},this.getWidth=function(){return this.width},this.setHeight=function(e){this.element.style.height=e+"px"},this.setInnerHeight=function(e){this.inner.style.height=e+"px"},this.setScrollTop=function(e){this.scrollTop!=e&&(this.skipEvent=!0,this.scrollTop=this.element.scrollTop=e)}}).call(u.prototype),t.ScrollBar=u}),define("ace/renderloop",["require","exports","module","ace/lib/event"],function(e,t,n){var r=e("./lib/event"),i=function(e,t){this.onRender=e,this.pending=!1,this.changes=0,this.window=t||window};(function(){this.schedule=function(e){this.changes=this.changes|e;if(!this.pending){this.pending=!0;var t=this;r.nextFrame(function(){t.pending=!1;var e;while(e=t.changes)t.changes=0,t.onRender(e)},this.window)}}}).call(i.prototype),t.RenderLoop=i}),define("ace/multi_select",["require","exports","module","ace/range_list","ace/range","ace/selection","ace/mouse/multi_select_handler","ace/lib/event","ace/lib/lang","ace/commands/multi_select_commands","ace/search","ace/edit_session","ace/editor"],function(e,t,n){function h(e,t,n){return c.$options.wrap=!0,c.$options.needle=t,c.$options.backwards=n==-1,c.find(e)}function v(e,t){return e.row==t.row&&e.column==t.column}function m(e){e.$onAddRange=e.$onAddRange.bind(e),e.$onRemoveRange=e.$onRemoveRange.bind(e),e.$onMultiSelect=e.$onMultiSelect.bind(e),e.$onSingleSelect=e.$onSingleSelect.bind(e),t.onSessionChange.call(e,e),e.on("changeSession",t.onSessionChange.bind(e)),e.on("mousedown",o),e.commands.addCommands(f.defaultCommands),g(e)}function g(e){function i(){n&&(r.style.cursor="",n=!1)}var t=e.textInput.getElement(),n=!1,r=e.renderer.content;u.addListener(t,"keydown",function(e){e.keyCode==18&&!(e.ctrlKey||e.shiftKey||e.metaKey)?n||(r.style.cursor="crosshair",n=!0):n&&(r.style.cursor="")}),u.addListener(t,"keyup",i),u.addListener(t,"blur",i)}var r=e("./range_list").RangeList,i=e("./range").Range,s=e("./selection").Selection,o=e("./mouse/multi_select_handler").onMouseDown,u=e("./lib/event"),a=e("./lib/lang"),f=e("./commands/multi_select_commands");t.commands=f.defaultCommands.concat(f.multiSelectCommands);var l=e("./search").Search,c=new l,p=e("./edit_session").EditSession;(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(p.prototype),function(){this.ranges=null,this.rangeList=null,this.addRange=function(e,t){if(!e)return;if(!this.inMultiSelectMode&&this.rangeCount==0){var n=this.toOrientedRange();if(e.intersects(n))return t||this.fromOrientedRange(e);this.rangeList.add(n),this.$onAddRange(n)}e.cursor||(e.cursor=e.end);var r=this.rangeList.add(e);return this.$onAddRange(e),r.length&&this.$onRemoveRange(r),this.rangeCount>1&&!this.inMultiSelectMode&&(this._emit("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),t||this.fromOrientedRange(e)},this.toSingleRange=function(e){e=e||this.ranges[0];var t=this.rangeList.removeAll();t.length&&this.$onRemoveRange(t),e&&this.fromOrientedRange(e)},this.substractPoint=function(e){var t=this.rangeList.substractPoint(e);if(t)return this.$onRemoveRange(t),t[0]},this.mergeOverlappingRanges=function(){var e=this.rangeList.merge();e.length?this.$onRemoveRange(e):this.ranges[0]&&this.fromOrientedRange(this.ranges[0])},this.$onAddRange=function(e){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(e),this._emit("addRange",{range:e})},this.$onRemoveRange=function(e){this.rangeCount=this.rangeList.ranges.length;if(this.rangeCount==1&&this.inMultiSelectMode){var t=this.rangeList.ranges.pop();e.push(t),this.rangeCount=0}for(var n=e.length;n--;){var r=this.ranges.indexOf(e[n]);this.ranges.splice(r,1)}this._emit("removeRange",{ranges:e}),this.rangeCount==0&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._emit("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),t=t||this.ranges[0],t&&!t.isEqual(this.getRange())&&this.fromOrientedRange(t)},this.$initRangeList=function(){if(this.rangeList)return;this.rangeList=new r,this.ranges=[],this.rangeCount=0},this.getAllRanges=function(){return this.rangeList.ranges.concat()},this.splitIntoLines=function(){if(this.rangeCount>1){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var n=this.getRange(),r=this.isBackwards(),s=n.start.row,o=n.end.row;if(s==o){if(r)var u=n.end,a=n.start;else var u=n.start,a=n.end;this.addRange(i.fromPoints(a,a)),this.addRange(i.fromPoints(u,u));return}var f=[],l=this.getLineRange(s,!0);l.start.column=n.start.column,f.push(l);for(var c=s+1;c<o;c++)f.push(this.getLineRange(c,!0));l=this.getLineRange(o,!0),l.end.column=n.end.column,f.push(l),f.forEach(this.addRange,this)}},this.toggleBlockSelection=function(){if(this.rangeCount>1){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var r=this.session.documentToScreenPosition(this.selectionLead),s=this.session.documentToScreenPosition(this.selectionAnchor),o=this.rectangularRangeBlock(r,s);o.forEach(this.addRange,this)}},this.rectangularRangeBlock=function(e,t,n){var r=[],s=e.column<t.column;if(s)var o=e.column,u=t.column;else var o=t.column,u=e.column;var a=e.row<t.row;if(a)var f=e.row,l=t.row;else var f=t.row,l=e.row;o<0&&(o=0),f<0&&(f=0),f==l&&(n=!0);for(var c=f;c<=l;c++){var h=i.fromPoints(this.session.screenToDocumentPosition(c,o),this.session.screenToDocumentPosition(c,u));if(h.isEmpty()){if(p&&v(h.end,p))break;var p=h.end}h.cursor=s?h.start:h.end,r.push(h)}a&&r.reverse();if(!n){var d=r.length-1;while(r[d].isEmpty()&&d>0)d--;if(d>0){var m=0;while(r[m].isEmpty())m++}for(var g=d;g>=m;g--)r[g].isEmpty()&&r.splice(g,1)}return r}}.call(s.prototype);var d=e("./editor").Editor;(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(e){e.cursor||(e.cursor=e.end);var t=this.getSelectionStyle();return e.marker=this.session.addMarker(e,"ace_selection",t),this.session.$selectionMarkers.push(e),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,e},this.removeSelectionMarker=function(e){if(!e.marker)return;this.session.removeMarker(e.marker);var t=this.session.$selectionMarkers.indexOf(e);t!=-1&&this.session.$selectionMarkers.splice(t,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length},this.removeSelectionMarkers=function(e){var t=this.session.$selectionMarkers;for(var n=e.length;n--;){var r=e[n];if(!r.marker)continue;this.session.removeMarker(r.marker);var i=t.indexOf(r);i!=-1&&t.splice(i,1)}this.session.selectionMarkerCount=t.length},this.$onAddRange=function(e){this.addSelectionMarker(e.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(e){this.removeSelectionMarkers(e.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(e){if(this.inMultiSelectMode)return;this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(f.keyboardHandler),this.commands.on("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onSingleSelect=function(e){if(this.session.multiSelect.inVirtualMode)return;this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(f.keyboardHandler),this.commands.removeEventListener("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelectExec=function(e){var t=e.command,n=e.editor;if(!n.multiSelect)return;t.multiSelectAction?t.multiSelectAction=="forEach"?n.forEachSelection(t,e.args):t.multiSelectAction=="single"?(n.exitMultiSelectMode(),t.exec(n,e.args||{})):t.multiSelectAction(n,e.args||{}):(t.exec(n,e.args||{}),n.multiSelect.addRange(n.multiSelect.toOrientedRange()),n.multiSelect.mergeOverlappingRanges()),e.preventDefault()},this.forEachSelection=function(e,t){if(this.inVirtualSelectionMode)return;var n=this.session,r=this.selection,i=r.rangeList,o=r._eventRegistry;r._eventRegistry={};var u=new s(n);this.inVirtualSelectionMode=!0;for(var a=i.ranges.length;a--;)u.fromOrientedRange(i.ranges[a]),this.selection=n.selection=u,e.exec(this,t||{}),u.toOrientedRange(i.ranges[a]);u.detach(),this.selection=n.selection=r,this.inVirtualSelectionMode=!1,r._eventRegistry=o,r.mergeOverlappingRanges(),this.onCursorChange(),this.onSelectionChange()},this.exitMultiSelectMode=function(){if(this.inVirtualSelectionMode)return;this.multiSelect.toSingleRange()},this.getCopyText=function(){var e="";if(this.inMultiSelectMode){var t=this.multiSelect.rangeList.ranges;e=[];for(var n=0;n<t.length;n++)e.push(this.session.getTextRange(t[n]));e=e.join(this.session.getDocument().getNewLineCharacter())}else this.selection.isEmpty()||(e=this.session.getTextRange(this.getSelectionRange()));return e},this.onPaste=function(e){if(this.$readOnly)return;this._emit("paste",e);if(!this.inMultiSelectMode)return this.insert(e);var t=e.split(/\r\n|\r|\n/),n=this.selection.rangeList.ranges;if(t.length>n.length||t.length<=2||!t[1])return this.commands.exec("insertstring",this,e);for(var r=n.length;r--;){var i=n[r];i.isEmpty()||this.session.remove(i),this.session.insert(i.start,t[r])}},this.findAll=function(e,t,n){t=t||{},t.needle=e||t.needle,this.$search.set(t);var r=this.$search.findAll(this.session);if(!r.length)return 0;this.$blockScrolling+=1;var i=this.multiSelect;n||i.toSingleRange(r[0]);for(var s=r.length;s--;)i.addRange(r[s],!0);return this.$blockScrolling-=1,r.length},this.selectMoreLines=function(e,t){var n=this.selection.toOrientedRange(),r=n.cursor==n.end,s=this.session.documentToScreenPosition(n.cursor);this.selection.$desiredColumn&&(s.column=this.selection.$desiredColumn);var o=this.session.screenToDocumentPosition(s.row+e,s.column);if(!n.isEmpty())var u=this.session.documentToScreenPosition(r?n.end:n.start),a=this.session.screenToDocumentPosition(u.row+e,u.column);else var a=o;if(r){var f=i.fromPoints(o,a);f.cursor=f.start}else{var f=i.fromPoints(a,o);f.cursor=f.end}f.desiredColumn=s.column;if(!this.selection.inMultiSelectMode)this.selection.addRange(n);else if(t)var l=n.cursor;this.selection.addRange(f),l&&this.selection.substractPoint(l)},this.transposeSelections=function(e){var t=this.session,n=t.multiSelect,r=n.ranges;for(var i=r.length;i--;){var s=r[i];if(s.isEmpty()){var o=t.getWordRange(s.start.row,s.start.column);s.start.row=o.start.row,s.start.column=o.start.column,s.end.row=o.end.row,s.end.column=o.end.column}}n.mergeOverlappingRanges();var u=[];for(var i=r.length;i--;){var s=r[i];u.unshift(t.getTextRange(s))}e<0?u.unshift(u.pop()):u.push(u.shift());for(var i=r.length;i--;){var s=r[i],o=s.clone();t.replace(s,u[i]),s.start.row=o.start.row,s.start.column=o.start.column}},this.selectMore=function(e,t){var n=this.session,r=n.multiSelect,i=r.toOrientedRange();if(i.isEmpty()){var i=n.getWordRange(i.start.row,i.start.column);i.cursor=i.end,this.multiSelect.addRange(i)}var s=n.getTextRange(i),o=h(n,s,e);o&&(o.cursor=e==-1?o.start:o.end,this.multiSelect.addRange(o)),t&&this.multiSelect.substractPoint(i.cursor)},this.alignCursors=function(){var e=this.session,t=e.multiSelect,n=t.ranges;if(!n.length){var r=this.selection.getRange(),s=r.start.row,o=r.end.row,u=this.session.doc.removeLines(s,o);u=this.$reAlignText(u),this.session.doc.insertLines(s,u),r.start.column=0,r.end.column=u[u.length-1].length,this.selection.setRange(r)}else{var f=-1,l=n.filter(function(e){if(e.cursor.row==f)return!0;f=e.cursor.row});t.$onRemoveRange(l);var c=0,h=Infinity,p=n.map(function(t){var n=t.cursor,r=e.getLine(n.row),i=r.substr(n.column).search(/\S/g);return i==-1&&(i=0),n.column>c&&(c=n.column),i<h&&(h=i),i});n.forEach(function(t,n){var r=t.cursor,s=c-r.column,o=p[n]-h;s>o?e.insert(r,a.stringRepeat(" ",s-o)):e.remove(new i(r.row,r.column,r.row,r.column-s+o)),t.start.column=t.end.column=c,t.start.row=t.end.row=r.row,t.cursor=t.end}),t.fromOrientedRange(n[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}},this.$reAlignText=function(e){function o(e,t){return Array(e+1).join(t)}function u(e){return e[2]?o(r," ")+e[2]+o(i-e[2].length+s," ")+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}function a(e){return e[2]?o(r+i-e[2].length," ")+e[2]+o(s," ")+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}function f(e){return e[2]?o(r," ")+e[2]+o(s," ")+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}var t=!0,n=!0,r,i,s;return e.map(function(e){var o=e.match(/(\s*)(.*?)(\s*)([=:].*)/);return o?r==null?(r=o[1].length,i=o[2].length,s=o[3].length,o):(r+i+s!=o[1].length+o[2].length+o[3].length&&(n=!1),r!=o[1].length&&(t=!1),r>o[1].length&&(r=o[1].length),i<o[2].length&&(i=o[2].length),s>o[3].length&&(s=o[3].length),o):[e]}).map(t?n?a:u:f)}}).call(d.prototype),t.onSessionChange=function(e){var t=e.session;t.multiSelect||(t.$selectionMarkers=[],t.selection.$initRangeList(),t.multiSelect=t.selection),this.multiSelect=t.multiSelect;var n=e.oldSession;n&&(n.multiSelect&&n.multiSelect.editor==this&&(n.multiSelect.editor=null),t.multiSelect.removeEventListener("addRange",this.$onAddRange),t.multiSelect.removeEventListener("removeRange",this.$onRemoveRange),t.multiSelect.removeEventListener("multiSelect",this.$onMultiSelect),t.multiSelect.removeEventListener("singleSelect",this.$onSingleSelect)),t.multiSelect.on("addRange",this.$onAddRange),t.multiSelect.on("removeRange",this.$onRemoveRange),t.multiSelect.on("multiSelect",this.$onMultiSelect),t.multiSelect.on("singleSelect",this.$onSingleSelect),this.inMultiSelectMode!=t.selection.inMultiSelectMode&&(t.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())},t.MultiSelect=m}),define("ace/range_list",["require","exports","module"],function(e,t,n){var r=function(){this.ranges=[]};(function(){this.comparePoints=function(e,t){return e.row-t.row||e.column-t.column},this.pointIndex=function(e,t){var n=this.ranges;for(var r=t||0;r<n.length;r++){var i=n[r],s=this.comparePoints(e,i.end);if(s>0)continue;return s==0?r:(s=this.comparePoints(e,i.start),s>=0?r:-r-1)}return-r-1},this.add=function(e){var t=this.pointIndex(e.start);t<0&&(t=-t-1);var n=this.pointIndex(e.end,t);return n<0?n=-n-1:n++,this.ranges.splice(t,n-t,e)},this.addList=function(e){var t=[];for(var n=e.length;n--;)t.push.call(t,this.add(e[n]));return t},this.substractPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges.splice(t,1)},this.merge=function(){var e=[],t=this.ranges,n=t[0],r;for(var i=1;i<t.length;i++){r=n,n=t[i];var s=this.comparePoints(r.end,n.start);if(s<0)continue;if(s==0&&!r.isEmpty()&&!n.isEmpty())continue;this.comparePoints(r.end,n.end)<0&&(r.end.row=n.end.row,r.end.column=n.end.column),t.splice(i,1),e.push(n),n=r,i--}return e},this.contains=function(e,t){return this.pointIndex({row:e,column:t})>=0},this.containsPoint=function(e){return this.pointIndex(e)>=0},this.rangeAtPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges[t]},this.clipRows=function(e,t){var n=this.ranges;if(n[0].start.row>t||n[n.length-1].start.row<e)return[];var r=this.pointIndex({row:e,column:0});r<0&&(r=-r-1);var i=this.pointIndex({row:t,column:0},r);i<0&&(i=-i-1);var s=[];for(var o=r;o<i;o++)s.push(n[o]);return s},this.removeAll=function(){return this.ranges.splice(0,this.ranges.length)},this.attach=function(e){this.session&&this.detach(),this.session=e,this.onChange=this.$onChange.bind(this),this.session.on("change",this.onChange)},this.detach=function(){if(!this.session)return;this.session.removeListener("change",this.onChange),this.session=null},this.$onChange=function(e){var t=e.data.range;if(e.data.action[0]=="i")var n=t.start,r=t.end;else var r=t.start,n=t.end;var i=n.row,s=r.row,o=s-i,u=-n.column+r.column,a=this.ranges;for(var f=0,l=a.length;f<l;f++){var c=a[f];if(c.end.row<i)continue;if(c.start.row>i)break;c.start.row==i&&c.start.column>=n.column&&(c.start.column+=u,c.start.row+=o),c.end.row==i&&c.end.column>=n.column&&(c.end.column+=u,c.end.row+=o)}if(o!=0&&f<l)for(;f<l;f++){var c=a[f];c.start.row+=o,c.end.row+=o}}}).call(r.prototype),t.RangeList=r}),define("ace/mouse/multi_select_handler",["require","exports","module","ace/lib/event"],function(e,t,n){function i(e,t){return e.row==t.row&&e.column==t.column}function s(e){var t=e.domEvent,n=t.altKey,s=t.shiftKey,o=e.getAccelKey(),u=e.getButton();if(e.editor.inMultiSelectMode&&u==2){e.editor.textInput.onContextMenu(e.domEvent);return}if(!o&&!n){u==0&&e.editor.inMultiSelectMode&&e.editor.exitMultiSelectMode();return}var a=e.editor,f=a.selection,l=a.inMultiSelectMode,c=e.getDocumentPosition(),h=f.getCursor(),p=e.inSelection()||f.isEmpty()&&i(c,h),d=e.x,v=e.y,m=function(e){d=e.clientX,v=e.clientY},g=function(){var e=a.renderer.pixelToScreenCoordinates(d,v),t=y.screenToDocumentPosition(e.row,e.column);if(i(w,e)&&i(t,f.selectionLead))return;w=e,a.selection.moveCursorToPosition(t),a.selection.clearSelection(),a.renderer.scrollCursorIntoView(),a.removeSelectionMarkers(x),x=f.rectangularRangeBlock(w,b),x.forEach(a.addSelectionMarker,a),a.updateSelectionMarkers()},y=a.session,b=a.renderer.pixelToScreenCoordinates(d,v),w=b;if(o&&!s&&!n&&u==0){if(!l&&p)return;if(!l){var E=f.toOrientedRange();a.addSelectionMarker(E)}var S=f.rangeList.rangeAtPoint(c);r.capture(a.container,function(){},function(){var e=f.toOrientedRange();S&&e.isEmpty()&&i(S.cursor,e.cursor)?f.substractPoint(e.cursor):(E&&(a.removeSelectionMarker(E),f.addRange(E)),f.addRange(e))})}else if(!s&&n&&u==0){e.stop(),l&&!o?f.toSingleRange():!l&&o&&f.addRange(),f.moveCursorToPosition(c),f.clearSelection();var x=[],T=function(e){clearInterval(C),a.removeSelectionMarkers(x);for(var t=0;t<x.length;t++)f.addRange(x[t])},N=g;r.capture(a.container,m,T);var C=setInterval(function(){N()},20);return e.preventDefault()}}var r=e("../lib/event");t.onMouseDown=s}),define("ace/commands/multi_select_commands",["require","exports","module","ace/keyboard/hash_handler"],function(e,t,n){t.defaultCommands=[{name:"addCursorAbove",exec:function(e){e.selectMoreLines(-1)},bindKey:{win:"Ctrl-Alt-Up",mac:"Ctrl-Alt-Up"},readonly:!0},{name:"addCursorBelow",exec:function(e){e.selectMoreLines(1)},bindKey:{win:"Ctrl-Alt-Down",mac:"Ctrl-Alt-Down"},readonly:!0},{name:"addCursorAboveSkipCurrent",exec:function(e){e.selectMoreLines(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Up",mac:"Ctrl-Alt-Shift-Up"},readonly:!0},{name:"addCursorBelowSkipCurrent",exec:function(e){e.selectMoreLines(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Down",mac:"Ctrl-Alt-Shift-Down"},readonly:!0},{name:"selectMoreBefore",exec:function(e){e.selectMore(-1)},bindKey:{win:"Ctrl-Alt-Left",mac:"Ctrl-Alt-Left"},readonly:!0},{name:"selectMoreAfter",exec:function(e){e.selectMore(1)},bindKey:{win:"Ctrl-Alt-Right",mac:"Ctrl-Alt-Right"},readonly:!0},{name:"selectNextBefore",exec:function(e){e.selectMore(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Left",mac:"Ctrl-Alt-Shift-Left"},readonly:!0},{name:"selectNextAfter",exec:function(e){e.selectMore(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Right",mac:"Ctrl-Alt-Shift-Right"},readonly:!0},{name:"splitIntoLines",exec:function(e){e.multiSelect.splitIntoLines()},bindKey:{win:"Ctrl-Alt-L",mac:"Ctrl-Alt-L"},readonly:!0},{name:"alignCursors",exec:function(e){e.alignCursors()},bindKey:{win:"Ctrl-Alt-A",mac:"Ctrl-Alt-A"}}],t.multiSelectCommands=[{name:"singleSelection",bindKey:"esc",exec:function(e){e.exitMultiSelectMode()},readonly:!0,isAvailable:function(e){return e&&e.inMultiSelectMode}}];var r=e("../keyboard/hash_handler").HashHandler;t.keyboardHandler=new r(t.multiSelectCommands)}),define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/config"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/event_emitter").EventEmitter,s=e("../config"),o=function(t,n,r){this.changeListener=this.changeListener.bind(this),this.onMessage=this.onMessage.bind(this),this.onError=this.onError.bind(this);var i;if(s.get("packaged"))i=s.moduleUrl(n,"worker");else{var o=this.$normalizePath;typeof e.supports!="undefined"&&e.supports.indexOf("ucjs2-pinf-0")>=0?i=e.nameToUrl("ace/worker/worker_sourcemint"):(e.nameToUrl&&!e.toUrl&&(e.toUrl=e.nameToUrl),i=o(e.toUrl("ace/worker/worker",null,"_")));var u={};t.forEach(function(t){u[t]=o(e.toUrl(t,null,"_").replace(/.js(\?.*)?$/,""))})}this.$worker=new Worker(i),this.$worker.postMessage({init:!0,tlns:u,module:n,classname:r}),this.callbackId=1,this.callbacks={},this.$worker.onerror=this.onError,this.$worker.onmessage=this.onMessage};(function(){r.implement(this,i),this.onError=function(e){throw window.console&&console.log&&console.log(e),e},this.onMessage=function(e){var t=e.data;switch(t.type){case"log":window.console&&console.log&&console.log.apply(console,t.data);break;case"event":this._emit(t.name,{data:t.data});break;case"call":var n=this.callbacks[t.id];n&&(n(t.data),delete this.callbacks[t.id])}},this.$normalizePath=function(e){return location.host?(e=e.replace(/^[a-z]+:\/\/[^\/]+/,""),e=location.protocol+"//"+location.host+(e.charAt(0)=="/"?"":location.pathname.replace(/\/[^\/]*$/,""))+"/"+e.replace(/^[\/]+/,""),e):e},this.terminate=function(){this._emit("terminate",{}),this.$worker.terminate(),this.$worker=null,this.$doc.removeEventListener("change",this.changeListener),this.$doc=null},this.send=function(e,t){this.$worker.postMessage({command:e,args:t})},this.call=function(e,t,n){if(n){var r=this.callbackId++;this.callbacks[r]=n,t.push(r)}this.send(e,t)},this.emit=function(e,t){try{this.$worker.postMessage({event:e,data:{data:t.data}})}catch(n){}},this.attachToDocument=function(e){this.$doc&&this.terminate(),this.$doc=e,this.call("setValue",[e.getValue()]),e.on("change",this.changeListener)},this.changeListener=function(e){e.range={start:e.data.range.start,end:e.data.range.end},this.emit("change",e)}}).call(o.prototype);var u=function(t,n,r){this.changeListener=this.changeListener.bind(this),this.callbackId=1,this.callbacks={},this.messageBuffer=[];var s=null,o=Object.create(i),u=this;this.$worker={},this.$worker.postMessage=function(e){u.messageBuffer.push(e),s&&setTimeout(a)};var a=function(){var e=u.messageBuffer.shift();e.command?s[e.command].apply(s,e.args):e.event&&o._emit(e.event,e.data)};o.postMessage=function(e){u.onMessage({data:e})},o.callback=function(e,t){this.postMessage({type:"call",id:t,data:e})},o.emit=function(e,t){this.postMessage({type:"event",name:e,data:t})},e([n],function(e){s=new e[r](o);while(u.messageBuffer.length)a()})};u.prototype=o.prototype,t.UIWorkerClient=u,t.WorkerClient=o}),define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(e,t,n){var r=e("./range").Range,i=e("./lib/event_emitter").EventEmitter,s=e("./lib/oop"),o=function(e,t,n,r,i,s){var o=this;this.length=t,this.session=e,this.doc=e.getDocument(),this.mainClass=i,this.othersClass=s,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate),this.$others=r,this.$onCursorChange=function(){setTimeout(function(){o.onCursorChange()})},this.$pos=n;var u=e.getUndoManager().$undoStack||e.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=u.length,this.setup(),e.selection.on("changeCursor",this.$onCursorChange)};(function(){s.implement(this,i),this.setup=function(){var e=this,t=this.doc,n=this.session,i=this.$pos;this.pos=t.createAnchor(i.row,i.column),this.markerId=n.addMarker(new r(i.row,i.column,i.row,i.column+this.length),this.mainClass,null,!1),this.pos.on("change",function(t){n.removeMarker(e.markerId),e.markerId=n.addMarker(new r(t.value.row,t.value.column,t.value.row,t.value.column+e.length),e.mainClass,null,!1)}),this.others=[],this.$others.forEach(function(n){var r=t.createAnchor(n.row,n.column);e.others.push(r)}),n.setUndoSelect(!1)},this.showOtherMarkers=function(){if(this.othersActive)return;var e=this.session,t=this;this.othersActive=!0,this.others.forEach(function(n){n.markerId=e.addMarker(new r(n.row,n.column,n.row,n.column+t.length),t.othersClass,null,!1),n.on("change",function(i){e.removeMarker(n.markerId),n.markerId=e.addMarker(new r(i.value.row,i.value.column,i.value.row,i.value.column+t.length),t.othersClass,null,!1)})})},this.hideOtherMarkers=function(){if(!this.othersActive)return;this.othersActive=!1;for(var e=0;e<this.others.length;e++)this.session.removeMarker(this.others[e].markerId)},this.onUpdate=function(e){var t=e.data,n=t.range;if(n.start.row!==n.end.row)return;if(n.start.row!==this.pos.row)return;if(this.$updating)return;this.$updating=!0;var i=t.action==="insertText"?n.end.column-n.start.column:n.start.column-n.end.column;if(n.start.column>=this.pos.column&&n.start.column<=this.pos.column+this.length+1){var s=n.start.column-this.pos.column;this.length+=i;if(!this.session.$fromUndo){if(t.action==="insertText")for(var o=this.others.length-1;o>=0;o--){var u=this.others[o],a={row:u.row,column:u.column+s};u.row===n.start.row&&n.start.column<u.column&&(a.column+=i),this.doc.insert(a,t.text)}else if(t.action==="removeText")for(var o=this.others.length-1;o>=0;o--){var u=this.others[o],a={row:u.row,column:u.column+s};u.row===n.start.row&&n.start.column<u.column&&(a.column+=i),this.doc.remove(new r(a.row,a.column,a.row,a.column-i))}n.start.column===this.pos.column&&t.action==="insertText"?setTimeout(function(){this.pos.setPosition(this.pos.row,this.pos.column-i);for(var e=0;e<this.others.length;e++){var t=this.others[e],r={row:t.row,column:t.column-i};t.row===n.start.row&&n.start.column<t.column&&(r.column+=i),t.setPosition(r.row,r.column)}}.bind(this),0):n.start.column===this.pos.column&&t.action==="removeText"&&setTimeout(function(){for(var e=0;e<this.others.length;e++){var t=this.others[e];t.row===n.start.row&&n.start.column<t.column&&t.setPosition(t.row,t.column-i)}}.bind(this),0)}this.pos._emit("change",{value:this.pos});for(var o=0;o<this.others.length;o++)this.others[o]._emit("change",{value:this.others[o]})}this.$updating=!1},this.onCursorChange=function(e){if(this.$updating)return;var t=this.session.selection.getCursor();t.row===this.pos.row&&t.column>=this.pos.column&&t.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",e)):(this.hideOtherMarkers(),this._emit("cursorLeave",e))},this.detach=function(){this.session.removeMarker(this.markerId),this.hideOtherMarkers(),this.doc.removeEventListener("change",this.$onUpdate),this.session.selection.removeEventListener("changeCursor",this.$onCursorChange),this.pos.detach();for(var e=0;e<this.others.length;e++)this.others[e].detach();this.session.setUndoSelect(!0)},this.cancel=function(){if(this.$undoStackDepth===-1)throw Error("Canceling placeholders only supported with undo manager attached to session.");var e=this.session.getUndoManager(),t=(e.$undoStack||e.$undostack).length-this.$undoStackDepth;for(var n=0;n<t;n++)e.undo(!0)}}).call(o.prototype),t.PlaceHolder=o}),define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(e,t,n){var r=e("../../range").Range,i=t.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);return this.foldingStartMarker.test(r)?"start":t=="markbeginend"&&this.foldingStopMarker&&this.foldingStopMarker.test(r)?"end":""},this.getFoldWidgetRange=function(e,t,n){return null},this.indentationBlock=function(e,t,n){var i=/\S/,s=e.getLine(t),o=s.search(i);if(o==-1)return;var u=n||s.length,a=e.getLength(),f=t,l=t;while(++t<a){var c=e.getLine(t).search(i);if(c==-1)continue;if(c<=o)break;l=t}if(l>f){var h=e.getLine(l).length;return new r(f,u,l,h)}},this.openingBracketBlock=function(e,t,n,i,s){var o={row:n,column:i+1},u=e.$findClosingBracket(t,o,s);if(!u)return;var a=e.foldWidgets[u.row];return a==null&&(a=this.getFoldWidget(e,u.row)),a=="start"&&u.row>o.row&&(u.row--,u.column=e.getLine(u.row).length),r.fromPoints(o,u)},this.closingBracketBlock=function(e,t,n,i,s){var o={row:n,column:i},u=e.$findOpeningBracket(t,o);if(!u)return;return u.column++,o.column--,r.fromPoints(u,o)}}).call(i.prototype)});
(function() {
window.require(["ace/ace"], function(a) {
a && a.config.init();
if (!window.ace)
window.ace = {};
for (var key in a) if (a.hasOwnProperty(key))
ace[key] = a[key];
});
})();
vendor/assets/javascripts/ace/cockpit.js
define("cockpit/index",["require","exports","module","pilot/index","cockpit/cli","cockpit/ui/settings","cockpit/ui/cli_view","cockpit/commands/basic"],function(a,b,c){b.startup=function(b,c){a("pilot/index"),a("cockpit/cli").startup(b,c),a("cockpit/ui/settings").startup(b,c),a("cockpit/ui/cli_view").startup(b,c),a("cockpit/commands/basic").startup(b,c)}}),define("cockpit/cli",["require","exports","module","pilot/console","pilot/lang","pilot/oop","pilot/event_emitter","pilot/types","pilot/canon"],function(a,b,c){function r(a,b){q.call(this,a),b&&b.flags&&(this.flags=b.flags)}function q(a){this.env=a,this.commandAssignment=new o(p,this)}function o(a,b){this.param=a,this.requisition=b,this.setValue(a.defaultValue)}function n(a,b,c,d,e,f){this.emitter=a,this.setText(b),this.start=c,this.end=d,this.prefix=e,this.suffix=f}function m(a,b){this.status=a.status,this.message=a.message,b?(this.start=b.start,this.end=b.end):(this.start=0,this.end=0),this.predictions=a.predictions}function l(a,b,c,d,e){this.status=a,this.message=b;if(typeof c=="number")this.start=c,this.end=d,this.predictions=e;else{var f=c;this.start=f.start,this.end=f.end,this.predictions=f.predictions}}var d=a("pilot/console"),e=a("pilot/lang"),f=a("pilot/oop"),g=a("pilot/event_emitter").EventEmitter,h=a("pilot/types"),i=a("pilot/types").Status,j=a("pilot/types").Conversion,k=a("pilot/canon");b.startup=function(a,b){k.upgradeType("command",p)},l.prototype={},l.sort=function(a,b){b!==undefined&&a.forEach(function(a){a.start===n.AT_CURSOR?a.distance=0:b<a.start?a.distance=a.start-b:b>a.end?a.distance=b-a.end:a.distance=0},this),a.sort(function(a,c){if(b!==undefined){var d=a.distance-c.distance;if(d!=0)return d}return c.status-a.status}),b!==undefined&&a.forEach(function(a){delete a.distance},this);return a},b.Hint=l,f.inherits(m,l),n.prototype={merge:function(a){if(a.emitter!=this.emitter)throw new Error("Can't merge Arguments from different EventEmitters");return new n(this.emitter,this.text+this.suffix+a.prefix+a.text,this.start,a.end,this.prefix,a.suffix)},setText:function(a){if(a==null)throw new Error("Illegal text for Argument: "+a);var b={argument:this,oldText:this.text,text:a};this.text=a,this.emitter._dispatchEvent("argumentChange",b)},toString:function(){return this.prefix+this.text+this.suffix}},n.merge=function(a,b,c){b=b===undefined?0:b,c=c===undefined?a.length:c;var d;for(var e=b;e<c;e++){var f=a[e];d?d=d.merge(f):d=f}return d},n.AT_CURSOR=-1,o.prototype={param:undefined,conversion:undefined,value:undefined,arg:undefined,value:undefined,setValue:function(a){if(this.value!==a){if(a===undefined)this.value=this.param.defaultValue,this.conversion=this.param.getDefault?this.param.getDefault():this.param.type.getDefault(),this.arg=undefined;else{this.value=a,this.conversion=undefined;var b=a==null?"":this.param.type.stringify(a);this.arg&&this.arg.setText(b)}this.requisition._assignmentChanged(this)}},arg:undefined,setArgument:function(a){this.arg!==a&&(this.arg=a,this.conversion=this.param.type.parse(a.text),this.conversion.arg=a,this.value=this.conversion.value,this.requisition._assignmentChanged(this))},getHint:function(){if(this.param.getCustomHint&&this.value&&this.arg){var a=this.param.getCustomHint(this.value,this.arg);if(a)return a}var b="<strong>"+this.param.name+"</strong>: ";this.param.description&&(b+=this.param.description.trim(),b.charAt(b.length-1)!=="."&&(b+="."),b.charAt(b.length-1)!==" "&&(b+=" "));var c=i.VALID,d=this.arg?this.arg.start:n.AT_CURSOR,e=this.arg?this.arg.end:n.AT_CURSOR,f;this.conversion&&(c=this.conversion.status,this.conversion.message&&(b+=this.conversion.message),f=this.conversion.predictions);var g=this.arg&&this.arg.text!=="",h=this.value!==undefined||g;this.param.defaultValue===undefined&&!h&&(c=i.INVALID,b+="<strong>Required<strong>");return new l(c,b,d,e,f)},complete:function(){this.conversion&&this.conversion.predictions&&this.conversion.predictions.length>0&&this.setValue(this.conversion.predictions[0])},isPositionCaptured:function(a){return this.arg?this.arg.start===-1?!1:a>this.arg.end?!1:a===this.arg.end?this.conversion.status!==i.VALID||this.conversion.predictions.length!==0:!0:!1},decrement:function(){var a=this.param.type.decrement(this.value);a!=null&&this.setValue(a)},increment:function(){var a=this.param.type.increment(this.value);a!=null&&this.setValue(a)},toString:function(){return this.arg?this.arg.toString():""}},b.Assignment=o;var p={name:"__command",type:"command",description:"The command to execute",getCustomHint:function(a,b){var c=[];c.push("<strong><tt> &gt; "),c.push(a.name),a.params&&a.params.length>0&&a.params.forEach(function(a){a.defaultValue===undefined?c.push(" ["+a.name+"]"):c.push(" <em>["+a.name+"]</em>")},this),c.push("</tt></strong><br/>"),c.push(a.description?a.description:"(No description)"),c.push("<br/>"),a.params&&a.params.length>0&&(c.push("<ul>"),a.params.forEach(function(a){c.push("<li>"),c.push("<strong><tt>"+a.name+"</tt></strong>: "),c.push(a.description?a.description:"(No description)"),a.defaultValue===undefined?c.push(" <em>[Required]</em>"):a.defaultValue===null?c.push(" <em>[Optional]</em>"):c.push(" <em>[Default: "+a.defaultValue+"]</em>"),c.push("</li>")},this),c.push("</ul>"));return new l(i.VALID,c.join(""),b)}};q.prototype={commandAssignment:undefined,assignmentCount:undefined,_assignments:undefined,_hints:undefined,_assignmentChanged:function(a){a.param.name==="__command"&&(this._assignments={},a.value&&a.value.params.forEach(function(a){this._assignments[a.name]=new o(a,this)},this),this.assignmentCount=Object.keys(this._assignments).length,this._dispatchEvent("commandChange",{command:a.value}))},getAssignment:function(a){var b=typeof a=="string"?a:Object.keys(this._assignments)[a];return this._assignments[b]},getParameterNames:function(){return Object.keys(this._assignments)},cloneAssignments:function(){return Object.keys(this._assignments).map(function(a){return this._assignments[a]},this)},_updateHints:function(){this.getAssignments(!0).forEach(function(a){this._hints.push(a.getHint())},this),l.sort(this._hints)},getWorstHint:function(){return this._hints[0]},getArgsObject:function(){var a={};this.getAssignments().forEach(function(b){a[b.param.name]=b.value},this);return a},getAssignments:function(a){var b=[];a===!0&&b.push(this.commandAssignment),Object.keys(this._assignments).forEach(function(a){b.push(this.getAssignment(a))},this);return b},setDefaultValues:function(){this.getAssignments().forEach(function(a){a.setValue(undefined)},this)},exec:function(){k.exec(this.commandAssignment.value,this.env,"cli",this.getArgsObject(),this.toCanonicalString())},toCanonicalString:function(){var a=[];a.push(this.commandAssignment.value.name),Object.keys(this._assignments).forEach(function(b){var c=this._assignments[b],d=c.param.type;c.value!==c.param.defaultValue&&(a.push(" "),a.push(d.stringify(c.value)))},this);return a.join("")}},f.implement(q.prototype,g),b.Requisition=q,f.inherits(r,q),function(){r.prototype.update=function(a){this.input=a,this._hints=[];var b=this._tokenize(a.typed);this._split(b),this.commandAssignment.value&&this._assign(b),this._updateHints()},r.prototype.getInputStatusMarkup=function(){var a=this.toString().split("").map(function(a){return i.VALID});this._hints.forEach(function(b){for(var c=b.start;c<=b.end;c++)b.status>a[c]&&(a[c]=b.status)},this);return a},r.prototype.toString=function(){return this.getAssignments(!0).map(function(a){return a.toString()},this).join("")};var a=r.prototype._updateHints;r.prototype._updateHints=function(){a.call(this);var b=this.input.cursor;this._hints.forEach(function(a){var c=b.start>=a.start&&b.start<=a.end,d=b.end>=a.start&&b.end<=a.end,e=c||d;!e&&a.status===i.INCOMPLETE&&(a.status=i.INVALID)},this),l.sort(this._hints)},r.prototype.getHints=function(){return this._hints},r.prototype.getAssignmentAt=function(a){var b=this.getAssignments(!0);for(var c=0;c<b.length;c++){var d=b[c];if(!d.arg)return d;if(d.isPositionCaptured(a))return d}return d},r.prototype._tokenize=function(a){function g(a){return a.replace(/\uF000/g," ").replace(/\uF001/g,"'").replace(/\uF002/g,'"')}if(a==null||a.length===0)return[new n(this,"",0,0,"","")];var b=1,c=2,d=3,e=4,f=b;a=a.replace(/\\\\/g,"\\").replace(/\\b/g,"\b").replace(/\\f/g,"\f").replace(/\\n/g,"\n").replace(/\\r/g,"\r").replace(/\\t/g,"\t").replace(/\\v/g," ").replace(/\\n/g,"\n").replace(/\\r/g,"\r").replace(/\\ /g,"").replace(/\\'/g,"").replace(/\\"/g,"");var h=0,i=0,j="",k=[];for(;;){if(h>=a.length){if(f!==b){var l=g(a.substring(i,h));k.push(new n(this,l,i,h,j,""))}else if(h!==i){var m=a.substring(i,h),o=k[k.length-1];o?o.suffix+=m:(o=new n(this,"",h,h,m,""),k.push(o))}break}var p=a[h];switch(f){case b:p==="'"?(j=a.substring(i,h+1),f=d,i=h+1):p==='"'?(j=a.substring(i,h+1),f=e,i=h+1):/ /.test(p)||(j=a.substring(i,h),f=c,i=h);break;case c:if(p===" "){var l=g(a.substring(i,h));k.push(new n(this,l,i,h,j,"")),f=b,i=h,j=""}break;case d:if(p==="'"){var l=g(a.substring(i,h));k.push(new n(this,l,i-1,h+1,j,p)),f=b,i=h+1,j=""}break;case e:if(p==='"'){var l=g(a.substring(i,h));k.push(new n(this,l,i-1,h+1,j,p)),f=b,i=h+1,j=""}}h++}return k},r.prototype._split=function(a){var b=1,c;while(b<=a.length){var c=n.merge(a,0,b);this.commandAssignment.setArgument(c);if(!this.commandAssignment.value)break;if(this.commandAssignment.value.exec){for(var d=0;d<b;d++)a.shift();break}b++}},r.prototype._assign=function(a){if(a.length===0)this.setDefaultValues();else{if(this.assignmentCount===0){this._hints.push(new l(i.INVALID,this.commandAssignment.value.name+" does not take any parameters",n.merge(a)));return}if(this.assignmentCount===1){var b=this.getAssignment(0);if(b.param.type.name==="text"){b.setArgument(n.merge(a));return}}var c=this.cloneAssignments(),d=this.getParameterNames(),f=[];c.forEach(function(b){var c="--"+b.name,f=0;for(;;){var g=a[f];if(c!==g.text){f++;if(f>=a.length)break;continue}b.param.type.name==="boolean"?b.setValue(!0):f+1<a.length?this._hints.push(new l(i.INCOMPLETE,"Missing value for: "+c,a[f])):(a.splice(f+1,1),b.setArgument(a[f+1])),e.arrayRemove(d,b.name),a.splice(f,1)}},this),d.forEach(function(b){var c=this.getAssignment(b);if(a.length===0)c.setValue(undefined);else{var d=a[0];a.splice(0,1),c.setArgument(d)}},this);if(a.length>0){var g=n.merge(a);this._hints.push(new l(i.INVALID,"Input '"+g.text+"' makes no sense.",g))}}}}(),b.CliRequisition=r}),define("cockpit/ui/settings",["require","exports","module","pilot/types","pilot/types/basic"],function(a,b,c){var d=a("pilot/types"),e=a("pilot/types/basic").SelectionType,f=new e({name:"direction",data:["above","below"]}),g={name:"hintDirection",description:"Are hints shown above or below the command line?",type:"direction",defaultValue:"above"},h={name:"outputDirection",description:"Is the output window shown above or below the command line?",type:"direction",defaultValue:"above"},i={name:"outputHeight",description:"What height should the output panel be?",type:"number",defaultValue:300};b.startup=function(a,b){d.registerType(f),a.env.settings.addSetting(g),a.env.settings.addSetting(h),a.env.settings.addSetting(i)},b.shutdown=function(a,b){d.unregisterType(f),a.env.settings.removeSetting(g),a.env.settings.removeSetting(h),a.env.settings.removeSetting(i)}}),define("cockpit/ui/cli_view",["require","exports","module","text!cockpit/ui/cli_view.css","pilot/event","pilot/dom","pilot/keys","pilot/canon","pilot/types","cockpit/cli","cockpit/ui/request_view"],function(a,b,c){function n(a,b){a.cliView=this,this.cli=a,this.doc=document,this.win=f.getParentWindow(this.doc),this.env=b,this.element=this.doc.getElementById("cockpitInput");!this.element||(this.settings=b.settings,this.hintDirection=this.settings.getSetting("hintDirection"),this.outputDirection=this.settings.getSetting("outputDirection"),this.outputHeight=this.settings.getSetting("outputHeight"),this.isUpdating=!1,this.createElements(),this.update())}var d=a("text!cockpit/ui/cli_view.css"),e=a("pilot/event"),f=a("pilot/dom");f.importCssString(d);var e=a("pilot/event"),g=a("pilot/keys"),h=a("pilot/canon"),i=a("pilot/types").Status,j=a("cockpit/cli").CliRequisition,k=a("cockpit/cli").Hint,l=a("cockpit/ui/request_view").RequestView,m=new k(i.VALID,"",0,0);b.startup=function(a,b){var c=new j(a.env),d=new n(c,a.env);a.env.cli=c},n.prototype={createElements:function(){function d(){f.removeCssClass(this.output,"cptFocusPopup"),f.removeCssClass(this.hinter,"cptFocusPopup")}var a=this.element;this.element.spellcheck=!1,this.output=this.doc.getElementById("cockpitOutput"),this.popupOutput=this.output==null;if(!this.output){this.output=this.doc.createElement("div"),this.output.id="cockpitOutput",this.output.className="cptOutput",a.parentNode.insertBefore(this.output,a.nextSibling);var b=function(){this.output.style.maxHeight=this.outputHeight.get()+"px"}.bind(this);this.outputHeight.addEventListener("change",b),b()}this.completer=this.doc.createElement("div"),this.completer.className="cptCompletion VALID",this.completer.style.color=f.computedStyle(a,"color"),this.completer.style.fontSize=f.computedStyle(a,"fontSize"),this.completer.style.fontFamily=f.computedStyle(a,"fontFamily"),this.completer.style.fontWeight=f.computedStyle(a,"fontWeight"),this.completer.style.fontStyle=f.computedStyle(a,"fontStyle"),a.parentNode.insertBefore(this.completer,a.nextSibling),this.completer.style.backgroundColor=a.style.backgroundColor,a.style.backgroundColor="transparent",this.hinter=this.doc.createElement("div"),this.hinter.className="cptHints",a.parentNode.insertBefore(this.hinter,a.nextSibling);var c=this.resizer.bind(this);e.addListener(this.win,"resize",c),this.hintDirection.addEventListener("change",c),this.outputDirection.addEventListener("change",c),c(),h.addEventListener("output",function(a){new l(a.request,this)}.bind(this)),e.addCommandKeyListener(a,this.onCommandKey.bind(this)),e.addListener(a,"keyup",this.onKeyUp.bind(this)),e.addListener(a,"mouseup",function(a){this.isUpdating=!0,this.update(),this.isUpdating=!1}.bind(this)),this.cli.addEventListener("argumentChange",this.onArgChange.bind(this)),e.addListener(a,"focus",function(){f.addCssClass(this.output,"cptFocusPopup"),f.addCssClass(this.hinter,"cptFocusPopup")}.bind(this)),e.addListener(a,"blur",d.bind(this)),d.call(this)},scrollOutputToBottom:function(){var a=Math.max(this.output.scrollHeight,this.output.clientHeight);this.output.scrollTop=a-this.output.clientHeight},resizer:function(){var a=this.element.getClientRects()[0];this.completer.style.top=a.top+"px";var b=a.bottom-a.top;this.completer.style.height=b+"px",this.completer.style.lineHeight=b+"px",this.completer.style.left=a.left+"px";var c=a.right-a.left;this.completer.style.width=c+"px",this.hintDirection.get()==="below"?(this.hinter.style.top=a.bottom+"px",this.hinter.style.bottom="auto"):(this.hinter.style.top="auto",this.hinter.style.bottom=this.doc.documentElement.clientHeight-a.top+"px"),this.hinter.style.left=a.left+30+"px",this.hinter.style.maxWidth=c-110+"px",this.popupOutput&&(this.outputDirection.get()==="below"?(this.output.style.top=a.bottom+"px",this.output.style.bottom="auto"):(this.output.style.top="auto",this.output.style.bottom=this.doc.documentElement.clientHeight-a.top+"px"),this.output.style.left=a.left+"px",this.output.style.width=c-80+"px")},onCommandKey:function(a,b,c){var d;if(c===g.TAB||c===g.UP||c===g.DOWN)d=!0;else if(b!=0||c!=0)d=h.execKeyCommand(this.env,"cli",b,c);d&&e.stopEvent(a)},onKeyUp:function(a){var b;if(a.keyCode===g.RETURN){var c=this.cli.getWorstHint();c.status===i.VALID?(this.cli.exec(),this.element.value=""):(f.setSelectionStart(this.element,c.start),f.setSelectionEnd(this.element,c.end))}this.update();var d=this.cli.getAssignmentAt(f.getSelectionStart(this.element));d&&(a.keyCode===g.TAB&&(d.complete(),this.update()),a.keyCode===g.UP&&(d.increment(),this.update()),a.keyCode===g.DOWN&&(d.decrement(),this.update()));return b},update:function(){this.isUpdating=!0;var a={typed:this.element.value,cursor:{start:f.getSelectionStart(this.element),end:f.getSelectionEnd(this.element.selectionEnd)}};this.cli.update(a);var b=this.cli.getAssignmentAt(a.cursor.start).getHint();f.removeCssClass(this.completer,i.VALID.toString()),f.removeCssClass(this.completer,i.INCOMPLETE.toString()),f.removeCssClass(this.completer,i.INVALID.toString());var c='<span class="cptPrompt">&gt;</span> ';if(this.element.value.length>0){var d=this.cli.getInputStatusMarkup();c+=this.markupStatusScore(d)}if(this.element.value.length>0&&b.predictions&&b.predictions.length>0){var e=b.predictions[0];c+=" &nbsp;&#x21E5; "+(e.name?e.name:e)}this.completer.innerHTML=c,f.addCssClass(this.completer,this.cli.getWorstHint().status.toString());var g="";this.element.value.length!==0&&(g+=b.message,b.predictions&&b.predictions.length>0&&(g+=": [ ",b.predictions.forEach(function(a){g+=a.name?a.name:a,g+=" | "},this),g=g.replace(/\| $/,"]"))),this.hinter.innerHTML=g,g.length===0?f.addCssClass(this.hinter,"cptNoPopup"):f.removeCssClass(this.hinter,"cptNoPopup"),this.isUpdating=!1},markupStatusScore:function(a){var b="",c=0,d=-1;for(;;){d!==a[c]&&(b+="<span class="+a[c].toString()+">",d=a[c]),b+=this.element.value[c],c++;if(c===this.element.value.length){b+="</span>";break}d!==a[c]&&(b+="</span>")}return b},onArgChange:function(a){if(!this.isUpdating){var b=this.element.value.substring(0,a.argument.start),c=this.element.value.substring(a.argument.end),d=typeof a.text=="string"?a.text:a.text.name;this.element.value=b+d+c;var e=(b+d).length;this.element.selectionStart=e,this.element.selectionEnd=e}}},b.CliView=n}),define("cockpit/ui/request_view",["require","exports","module","pilot/dom","pilot/event","text!cockpit/ui/request_view.html","pilot/domtemplate","text!cockpit/ui/request_view.css"],function(a,b,c){function l(a,b){this.request=a,this.cliView=b,this.imageUrl=k,this.rowin=null,this.rowout=null,this.output=null,this.hide=null,this.show=null,this.duration=null,this.throb=null,(new g).processNode(j.cloneNode(!0),this),this.cliView.output.appendChild(this.rowin),this.cliView.output.appendChild(this.rowout),this.request.addEventListener("output",this.onRequestChange.bind(this))}function k(b){var d;try{d=a("text!cockpit/ui/"+b)}catch(e){}if(d)return d;var f=c.id.split("/").pop()+".js",g;if(c.uri.substr(-f.length)!==f){console.error("Can't work out path from module.uri/module.id");return b}if(c.uri){var h=c.uri.length-f.length-1;return c.uri.substr(0,h)+"/"+b}return f+b}var d=a("pilot/dom"),e=a("pilot/event"),f=a("text!cockpit/ui/request_view.html"),g=a("pilot/domtemplate").Templater,h=a("text!cockpit/ui/request_view.css");d.importCssString(h);var i=document.createElement("div");i.innerHTML=f;var j=i.querySelector(".cptRow");l.prototype={copyToInput:function(){this.cliView.element.value=this.request.typed},executeRequest:function(a){this.cliView.cli.update({typed:this.request.typed,cursor:{start:0,end:0}}),this.cliView.cli.exec()},hideOutput:function(a){this.output.style.display="none",d.addCssClass(this.hide,"cmd_hidden"),d.removeCssClass(this.show,"cmd_hidden"),e.stopPropagation(a)},showOutput:function(a){this.output.style.display="block",d.removeCssClass(this.hide,"cmd_hidden"),d.addCssClass(this.show,"cmd_hidden"),e.stopPropagation(a)},remove:function(a){this.cliView.output.removeChild(this.rowin),this.cliView.output.removeChild(this.rowout),e.stopPropagation(a)},onRequestChange:function(a){this.duration.innerHTML=this.request.duration?"completed in "+this.request.duration/1e3+" sec ":"",this.output.innerHTML="",this.request.outputs.forEach(function(a){var b;typeof a=="string"?(b=document.createElement("p"),b.innerHTML=a):b=a,this.output.appendChild(b)},this),this.cliView.scrollOutputToBottom(),d.setCssClass(this.output,"cmd_error",this.request.error),this.throb.style.display=this.request.completed?"none":"block"}},b.RequestView=l}),define("pilot/domtemplate",["require","exports","module"],function(require,exports,module){function Templater(){this.scope=[]}Templater.prototype.processNode=function(a,b){typeof a=="string"&&(a=document.getElementById(a));if(b===null||b===undefined)b={};this.scope.push(a.nodeName+(a.id?"#"+a.id:""));try{if(a.attributes&&a.attributes.length){if(a.hasAttribute("foreach")){this.processForEach(a,b);return}if(a.hasAttribute("if")&&!this.processIf(a,b))return;b.__element=a;var c=Array.prototype.slice.call(a.attributes);for(var d=0;d<c.length;d++){var e=c[d].value,f=c[d].name;this.scope.push(f);try{if(f==="save")e=this.stripBraces(e),this.property(e,b,a),a.removeAttribute("save");else if(f.substring(0,2)==="on"){e=this.stripBraces(e);var g=this.property(e,b);typeof g!="function"&&this.handleError("Expected "+e+" to resolve to a function, but got "+typeof g),a.removeAttribute(f);var h=a.hasAttribute("capture"+f.substring(2));a.addEventListener(f.substring(2),g,h),h&&a.removeAttribute("capture"+f.substring(2))}else{var i=this,j=e.replace(/\$\{[^}]*\}/g,function(a){return i.envEval(a.slice(2,-1),b,e)});f.charAt(0)==="_"?(a.removeAttribute(f),a.setAttribute(f.substring(1),j)):e!==j&&(c[d].value=j)}}finally{this.scope.pop()}}}var k=Array.prototype.slice.call(a.childNodes);for(var l=0;l<k.length;l++)this.processNode(k[l],b);a.nodeType===Node.TEXT_NODE&&this.processTextNode(a,b)}finally{this.scope.pop()}},Templater.prototype.processIf=function(a,b){this.scope.push("if");try{var c=a.getAttribute("if"),d=this.stripBraces(c),e=!0;try{var f=this.envEval(d,b,c);e=!!f}catch(g){this.handleError("Error with '"+d+"'",g),e=!1}e||a.parentNode.removeChild(a),a.removeAttribute("if");return e}finally{this.scope.pop()}},Templater.prototype.processForEach=function(a,b){this.scope.push("foreach");try{var c=a.getAttribute("foreach"),d=c,e="param";if(d.charAt(0)==="$")d=this.stripBraces(d);else{var f=d.split(" in ");e=f[0].trim(),d=this.stripBraces(f[1].trim())}a.removeAttribute("foreach");try{var g=this,h=function(a,c,d){d.parentNode.insertBefore(c,d),b[e]=a,g.processNode(c,b),delete b[e]},i=function(b,c){g.scope.push(b);try{if(a.nodeName==="LOOP")for(var d=0;d<a.childNodes.length;d++){var e=a.childNodes[d].cloneNode(!0);h(c,e,a)}else{var e=a.cloneNode(!0);e.removeAttribute("foreach"),h(c,e,a)}}finally{g.scope.pop()}},j=this.envEval(d,b,c);if(Array.isArray(j))j.forEach(function(a,b){i(""+b,a)},this);else for(var k in j)j.hasOwnProperty(k)&&i(k,k);a.parentNode.removeChild(a)}catch(l){this.handleError("Error with '"+d+"'",l)}}finally{this.scope.pop()}},Templater.prototype.processTextNode=function(a,b){var c=a.data;c=c.replace(/\$\{([^}]*)\}/g,"$$$1");var d=c.split(/\uF001|\uF002/);d.length>1&&(d.forEach(function(c){c!==null&&c!==undefined&&c!==""&&(c.charAt(0)==="$"&&(c=this.envEval(c.slice(1),b,a.data)),c===null&&(c="null"),c===undefined&&(c="undefined"),typeof c.cloneNode!="function"&&(c=a.ownerDocument.createTextNode(c.toString())),a.parentNode.insertBefore(c,a))},this),a.parentNode.removeChild(a))},Templater.prototype.stripBraces=function(a){if(!a.match(/\$\{.*\}/g)){this.handleError("Expected "+a+" to match ${...}");return a}return a.slice(2,-1)},Templater.prototype.property=function(a,b,c){this.scope.push(a);try{typeof a=="string"&&(a=a.split("."));var d=b[a[0]];if(a.length===1){c!==undefined&&(b[a[0]]=c);return typeof d=="function"?function(){return d.apply(b,arguments)}:d}if(!d){this.handleError("Can't find path="+a);return null}return this.property(a.slice(1),d,c)}finally{this.scope.pop()}},Templater.prototype.envEval=function(script,env,context){with(env)try{this.scope.push(context);return eval(script)}catch(ex){this.handleError("Template error evaluating '"+script+"'",ex);return script}finally{this.scope.pop()}},Templater.prototype.handleError=function(a,b){this.logError(a),this.logError("In: "+this.scope.join(" > ")),b&&this.logError(b)},Templater.prototype.logError=function(a){window.console&&window.console.log&&console.log(a)},exports.Templater=Templater}),define("cockpit/commands/basic",["require","exports","module","pilot/canon"],function(a,b,c){var d=a("pilot/canon"),e={name:"sh",description:"Execute a system command (requires server support)",params:[{name:"command",type:"text",description:"The string to send to the os shell."}],exec:function(a,b,c){var d=new XMLHttpRequest;d.open("GET","/exec?args="+b.command,!0),d.onreadystatechange=function(a){d.readyState==4&&d.status==200&&c.done("<pre>"+d.responseText+"</pre>")},d.send(null)}},d=a("pilot/canon");b.startup=function(a,b){d.addCommand(e)},b.shutdown=function(a,b){d.removeCommand(e)}}),define("text!cockpit/ui/cli_view.css",[],"#cockpitInput { padding-left: 16px; }.cptOutput { overflow: auto; position: absolute; z-index: 999; display: none; }.cptCompletion { padding: 0; position: absolute; z-index: -1000; }.cptCompletion.VALID { background: #FFF; }.cptCompletion.INCOMPLETE { background: #DDD; }.cptCompletion.INVALID { background: #DDD; }.cptCompletion span { color: #FFF; }.cptCompletion span.INCOMPLETE { color: #DDD; border-bottom: 2px dotted #F80; }.cptCompletion span.INVALID { color: #DDD; border-bottom: 2px dotted #F00; }span.cptPrompt { color: #66F; font-weight: bold; }.cptHints { color: #000; position: absolute; border: 1px solid rgba(230, 230, 230, 0.8); background: rgba(250, 250, 250, 0.8); -moz-border-radius-topleft: 10px; -moz-border-radius-topright: 10px; border-top-left-radius: 10px; border-top-right-radius: 10px; z-index: 1000; padding: 8px; display: none;}.cptFocusPopup { display: block; }.cptFocusPopup.cptNoPopup { display: none; }.cptHints ul { margin: 0; padding: 0 15px; }.cptGt { font-weight: bold; font-size: 120%; }"),define("text!cockpit/ui/request_view.css",[],".cptRowIn { display: box; display: -moz-box; display: -webkit-box; box-orient: horizontal; -moz-box-orient: horizontal; -webkit-box-orient: horizontal; box-align: center; -moz-box-align: center; -webkit-box-align: center; color: #333; background-color: #EEE; width: 100%; font-family: consolas, courier, monospace;}.cptRowIn > * { padding-left: 2px; padding-right: 2px; }.cptRowIn > img { cursor: pointer; }.cptHover { display: none; }.cptRowIn:hover > .cptHover { display: block; }.cptRowIn:hover > .cptHover.cptHidden { display: none; }.cptOutTyped { box-flex: 1; -moz-box-flex: 1; -webkit-box-flex: 1; font-weight: bold; color: #000; font-size: 120%;}.cptRowOutput { padding-left: 10px; line-height: 1.2em; }.cptRowOutput strong,.cptRowOutput b,.cptRowOutput th,.cptRowOutput h1,.cptRowOutput h2,.cptRowOutput h3 { color: #000; }.cptRowOutput a { font-weight: bold; color: #666; text-decoration: none; }.cptRowOutput a: hover { text-decoration: underline; cursor: pointer; }.cptRowOutput input[type=password],.cptRowOutput input[type=text],.cptRowOutput textarea { color: #000; font-size: 120%; background: transparent; padding: 3px; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px;}.cptRowOutput table,.cptRowOutput td,.cptRowOutput th { border: 0; padding: 0 2px; }.cptRowOutput .right { text-align: right; }"),define("text!cockpit/ui/request_view.html",[],'<div class=cptRow> <!-- The div for the input (i.e. what was typed) --> <div class="cptRowIn" save="${rowin}" onclick="${copyToInput}" ondblclick="${executeRequest}"> <!-- What the user actually typed --> <div class="cptGt">&gt; </div> <div class="cptOutTyped">${request.typed}</div> <!-- The extra details that appear on hover --> <div class=cptHover save="${duration}"></div> <img class=cptHover onclick="${hideOutput}" save="${hide}" alt="Hide command output" _src="${imageUrl(\'images/minus.png\')}"/> <img class="cptHover cptHidden" onclick="${showOutput}" save="${show}" alt="Show command output" _src="${imageUrl(\'images/plus.png\')}"/> <img class=cptHover onclick="${remove}" alt="Remove this command from the history" _src="${imageUrl(\'images/closer.png\')}"/> </div> <!-- The div for the command output --> <div class="cptRowOut" save="${rowout}"> <div class="cptRowOutput" save="${output}"></div> <img _src="${imageUrl(\'images/throbber.gif\')}" save="${throb}"/> </div></div>'),define("text!cockpit/ui/images/closer.png",[],"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAj9JREFUeNp0ks+LUlEUx7/vV1o8Z8wUx3IEHcQmiBiQlomjRNCiZpEuEqF/oEUwq/6EhvoHggmRcJUQBM1CRJAW0aLIaGQimZJxJsWxyV/P9/R1zzWlFl04vPvOPZ9z7rnnK5imidmKRCIq+zxgdoPZ1T/ut8xeM3tcKpW6s1hhBkaj0Qj7bDebTX+324WmadxvsVigqipcLleN/d4rFoulORiLxTZY8ItOp8MBCpYkiYPj8Xjus9vtlORWoVB4KcTjcQc732dLpSRXvCZaAws6Q4WDdqsO52kNH+oCRFGEz+f7ydwBKRgMPmTXi49GI1x2D/DsznesB06ws2eDbI7w9HYN6bVjvGss4KAjwDAMq81mM2SW5Wa/3weBbz42UL9uYnVpiO2Nr9ANHSGXib2Wgm9tCYIggGKJEVkvlwgi5/FQRmTLxO6hgJVzI1x0T/fJrBtHJxPeL6tI/fsZLA6ot8lkQi8HRVbw94gkWYI5MaHrOjcCGSNRxZosy9y5cErDzn0Dqx7gcwO8WtBp4PndI35GMYqiUMUvBL5yOBz8yRfFNpbPmqgcCFh/IuHa1nR/YXGM8+oUpFhihEQiwcdRLpfVRqOBtWXWq34Gra6AXq8Hp2piZcmKT4cKnE4nwuHwdByVSmWQz+d32WCTlHG/qaHHREN9kgi0sYQfv0R4PB4EAgESQDKXy72fSy6VSnHJVatVf71eR7vd5n66mtfrRSgU4pLLZrOlf7RKK51Ok8g3/yPyR5lMZi7y3wIMAME4EigHWgKnAAAAAElFTkSuQmCC"),define("text!cockpit/ui/images/dot_clear.gif",[],"data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAEBMgA7"),define("text!cockpit/ui/images/minus.png",[],"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAAXNSR0IArs4c6QAAAAZiS0dEANIA0gDS7KbF4AAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9kFGw4xMrIJw5EAAAHcSURBVCjPhZIxSxtxGMZ/976XhJA/RA5EAyJcFksnp64hjUPBoXRyCYLQTyD0UxScu0nFwalCQSgFCVk7dXAwUAiBDA2RO4W7yN1x9+9gcyhU+pteHt4H3pfncay1LOl0OgY4BN4Ar/7KP4BvwNFwOIyWu87S2O12O8DxfD73oygiSRIAarUaxhhWV1fHwMFgMBiWxl6v9y6Koi+3t7ckSUKtVkNVAcjzvNRWVlYwxry9vLz86uzs7HjAZDKZGGstjUaDfxHHMSLC5ubmHdB2VfVwNpuZ5clxHPMcRVFwc3PTXFtbO3RFZHexWJCmabnweAaoVqvlv4vFAhHZdVX1ZZqmOI5DURR8fz/lxbp9Yrz+7bD72SfPcwBU1XdF5N5aWy2KgqIoeBzPEnWVLMseYnAcRERdVR27rrsdxzGqyutP6898+GBsNBqo6i9XVS88z9sOggAR4X94noeqXoiIHPm+H9XrdYIgIAxDwjAkTVPCMESzBy3LMprNJr7v34nIkV5dXd2fn59fG2P2siwjSRIqlQrWWlSVJFcqlQqtVot2u40xZu/s7OxnWbl+v98BjkejkT+dTgmCoDxtY2ODra2tMXBweno6fNJVgP39fQN8eKbkH09OTsqS/wHFRdHPfTSfjwAAAABJRU5ErkJggg=="),define("text!cockpit/ui/images/pinaction.png",[],"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC7mlDQ1BJQ0MgUHJvZmlsZQAAeAGFVM9rE0EU/jZuqdAiCFprDrJ4kCJJWatoRdQ2/RFiawzbH7ZFkGQzSdZuNuvuJrWliOTi0SreRe2hB/+AHnrwZC9KhVpFKN6rKGKhFy3xzW5MtqXqwM5+8943731vdt8ADXLSNPWABOQNx1KiEWlsfEJq/IgAjqIJQTQlVdvsTiQGQYNz+Xvn2HoPgVtWw3v7d7J3rZrStpoHhP1A4Eea2Sqw7xdxClkSAog836Epx3QI3+PY8uyPOU55eMG1Dys9xFkifEA1Lc5/TbhTzSXTQINIOJT1cVI+nNeLlNcdB2luZsbIEL1PkKa7zO6rYqGcTvYOkL2d9H5Os94+wiHCCxmtP0a4jZ71jNU/4mHhpObEhj0cGDX0+GAVtxqp+DXCFF8QTSeiVHHZLg3xmK79VvJKgnCQOMpkYYBzWkhP10xu+LqHBX0m1xOv4ndWUeF5jxNn3tTd70XaAq8wDh0MGgyaDUhQEEUEYZiwUECGPBoxNLJyPyOrBhuTezJ1JGq7dGJEsUF7Ntw9t1Gk3Tz+KCJxlEO1CJL8Qf4qr8lP5Xn5y1yw2Fb3lK2bmrry4DvF5Zm5Gh7X08jjc01efJXUdpNXR5aseXq8muwaP+xXlzHmgjWPxHOw+/EtX5XMlymMFMXjVfPqS4R1WjE3359sfzs94i7PLrXWc62JizdWm5dn/WpI++6qvJPmVflPXvXx/GfNxGPiKTEmdornIYmXxS7xkthLqwviYG3HCJ2VhinSbZH6JNVgYJq89S9dP1t4vUZ/DPVRlBnM0lSJ93/CKmQ0nbkOb/qP28f8F+T3iuefKAIvbODImbptU3HvEKFlpW5zrgIXv9F98LZua6N+OPwEWDyrFq1SNZ8gvAEcdod6HugpmNOWls05Uocsn5O66cpiUsxQ20NSUtcl12VLFrOZVWLpdtiZ0x1uHKE5QvfEp0plk/qv8RGw/bBS+fmsUtl+ThrWgZf6b8C8/UXAeIuJAAAACXBIWXMAAAsTAAALEwEAmpwYAAAClklEQVQ4EX1TXUhUQRQ+Z3Zmd+9uN1q2P3UpZaEwcikKekkqLKggKHJ96MHe9DmLkCDa9U198Id8kErICmIlRAN96UdE6QdBW/tBA5Uic7E0zN297L17p5mb1zYjD3eYc+d83zlnON8g5xzWNUSEdUBkHTJasRWySPP7fw3hfwkk2GoNsc0vOaJRHo1GV/GiMctkTIJRFlpZli8opK+htmf83gXeG63oteOtra0u25e7TYJIJELb26vYCACTgUe1lXV86BTn745l+MsyHqs53S/Aq4VEUa9Y6ko14eYY4u3AyM3HYwdKU35DZyblGR2+qq6W0X2Nnh07xynnVYpHORx/E1/GvvqaAZUayjMjdM2f/Lgr5E+fV93zR4u3zKCLughsZqKwAzAxaz6dPY6JgjLUF+eSP5OpjmAw2E8DvldHSvJMKPg08aRor1tc4BuALu6mOwGWdQC3mKIqRsC8mKd8wYfD78/earzSYzdMDW9QgKb0Is8CBY1mQXOiaXAHEpMDE5XTJqIq4EiyxUqKlpfkF0pyV1OTAoFAhmTmyCCoDsZNZvIkUjELQpipo0sQqYZAswZHwsEEE10M0pq2SSZY9HqNcDicJcNTpBvQJz40UbSOTh1B8bDpuY0w9Hb3kkn9lPAlBLfhfD39XTtX/blFJqiqrjbkTi63Hbofj2uL4GMsmzFgbDJ/vmMgv/lB4syJ0oXO7d3j++vio6GFsYmD6cHJreWc3/jRVVHhsOYvM8iZ36mtjPDBk/xDZE8CoHlbrlAssbTxDdDJvdb536L7I6S7Vy++6Gi4Xi9BsUthJRaLOYSPz4XALKI4j4iObd/e5UtDKUjZzYyYRyGAJv01Zj8kC5cbs5WY83hQnv0DzCXl+r8APElkq0RU6oMAAAAASUVORK5CYII="),define("text!cockpit/ui/images/pinin.png",[],"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC7mlDQ1BJQ0MgUHJvZmlsZQAAeAGFVM9rE0EU/jZuqdAiCFprDrJ4kCJJWatoRdQ2/RFiawzbH7ZFkGQzSdZuNuvuJrWliOTi0SreRe2hB/+AHnrwZC9KhVpFKN6rKGKhFy3xzW5MtqXqwM5+8943731vdt8ADXLSNPWABOQNx1KiEWlsfEJq/IgAjqIJQTQlVdvsTiQGQYNz+Xvn2HoPgVtWw3v7d7J3rZrStpoHhP1A4Eea2Sqw7xdxClkSAog836Epx3QI3+PY8uyPOU55eMG1Dys9xFkifEA1Lc5/TbhTzSXTQINIOJT1cVI+nNeLlNcdB2luZsbIEL1PkKa7zO6rYqGcTvYOkL2d9H5Os94+wiHCCxmtP0a4jZ71jNU/4mHhpObEhj0cGDX0+GAVtxqp+DXCFF8QTSeiVHHZLg3xmK79VvJKgnCQOMpkYYBzWkhP10xu+LqHBX0m1xOv4ndWUeF5jxNn3tTd70XaAq8wDh0MGgyaDUhQEEUEYZiwUECGPBoxNLJyPyOrBhuTezJ1JGq7dGJEsUF7Ntw9t1Gk3Tz+KCJxlEO1CJL8Qf4qr8lP5Xn5y1yw2Fb3lK2bmrry4DvF5Zm5Gh7X08jjc01efJXUdpNXR5aseXq8muwaP+xXlzHmgjWPxHOw+/EtX5XMlymMFMXjVfPqS4R1WjE3359sfzs94i7PLrXWc62JizdWm5dn/WpI++6qvJPmVflPXvXx/GfNxGPiKTEmdornIYmXxS7xkthLqwviYG3HCJ2VhinSbZH6JNVgYJq89S9dP1t4vUZ/DPVRlBnM0lSJ93/CKmQ0nbkOb/qP28f8F+T3iuefKAIvbODImbptU3HvEKFlpW5zrgIXv9F98LZua6N+OPwEWDyrFq1SNZ8gvAEcdod6HugpmNOWls05Uocsn5O66cpiUsxQ20NSUtcl12VLFrOZVWLpdtiZ0x1uHKE5QvfEp0plk/qv8RGw/bBS+fmsUtl+ThrWgZf6b8C8/UXAeIuJAAAACXBIWXMAAAsTAAALEwEAmpwYAAABZ0lEQVQ4Ea2TPUsDQRCGZ89Eo4FACkULEQs1CH4Uamfjn7GxEYJFIFXgChFsbPwzNnZioREkaiHBQtEiEEiMRm/dZ8OEGAxR4sBxx877Pju7M2estTJIxLrNuVwuMxQEx0ZkzcFHyRtjXt02559RtB2GYanTYzoryOfz+6l4Nbszf2niwffKmpGRo9sVW22mDgqFwp5C2gDMm+P32a3JB1N+n5JifUGeP9JeNxGryPLYjcwMP8rJ07Q9fZltQzyAstOJ2vVu5sKc1ZZkRBrOcKeb+HexPidvkpCN5JUcllZtpZFc5DgBWc5M2eysZuMuofMBSA4NWjx4PUCsXefMlI0QY3ewRg4NWi4ZTQsgrjYXema+e4VqtEMK6KXvu+4B9Bklt90vVKMeD2BI6DOt4rZ/Gk7WyKFBi4fNPIAJY0joM61SCCZ9tI1o0OIB8D+DBIkYaJRbCBH9mZgNt+bb++ufSSF/eX8BYcDeAzuQJVUAAAAASUVORK5CYII="),define("text!cockpit/ui/images/pinout.png",[],"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC7mlDQ1BJQ0MgUHJvZmlsZQAAeAGFVM9rE0EU/jZuqdAiCFprDrJ4kCJJWatoRdQ2/RFiawzbH7ZFkGQzSdZuNuvuJrWliOTi0SreRe2hB/+AHnrwZC9KhVpFKN6rKGKhFy3xzW5MtqXqwM5+8943731vdt8ADXLSNPWABOQNx1KiEWlsfEJq/IgAjqIJQTQlVdvsTiQGQYNz+Xvn2HoPgVtWw3v7d7J3rZrStpoHhP1A4Eea2Sqw7xdxClkSAog836Epx3QI3+PY8uyPOU55eMG1Dys9xFkifEA1Lc5/TbhTzSXTQINIOJT1cVI+nNeLlNcdB2luZsbIEL1PkKa7zO6rYqGcTvYOkL2d9H5Os94+wiHCCxmtP0a4jZ71jNU/4mHhpObEhj0cGDX0+GAVtxqp+DXCFF8QTSeiVHHZLg3xmK79VvJKgnCQOMpkYYBzWkhP10xu+LqHBX0m1xOv4ndWUeF5jxNn3tTd70XaAq8wDh0MGgyaDUhQEEUEYZiwUECGPBoxNLJyPyOrBhuTezJ1JGq7dGJEsUF7Ntw9t1Gk3Tz+KCJxlEO1CJL8Qf4qr8lP5Xn5y1yw2Fb3lK2bmrry4DvF5Zm5Gh7X08jjc01efJXUdpNXR5aseXq8muwaP+xXlzHmgjWPxHOw+/EtX5XMlymMFMXjVfPqS4R1WjE3359sfzs94i7PLrXWc62JizdWm5dn/WpI++6qvJPmVflPXvXx/GfNxGPiKTEmdornIYmXxS7xkthLqwviYG3HCJ2VhinSbZH6JNVgYJq89S9dP1t4vUZ/DPVRlBnM0lSJ93/CKmQ0nbkOb/qP28f8F+T3iuefKAIvbODImbptU3HvEKFlpW5zrgIXv9F98LZua6N+OPwEWDyrFq1SNZ8gvAEcdod6HugpmNOWls05Uocsn5O66cpiUsxQ20NSUtcl12VLFrOZVWLpdtiZ0x1uHKE5QvfEp0plk/qv8RGw/bBS+fmsUtl+ThrWgZf6b8C8/UXAeIuJAAAACXBIWXMAAAsTAAALEwEAmpwYAAACyUlEQVQ4EW1TXUgUURQ+Z3ZmnVV3QV2xJbVSEIowQbAfLQx8McLoYX2qjB58MRSkP3vZppceYhGxgrZaIughlYpE7CHFWiiKyj9II0qxWmwlNh1Xtp2f27mz7GDlZX7uuXO+73zfuXeQMQYIgAyALppgyBtse32stsw86txkHhATn+FbfPfzxnPB+vR3RMJYuTwW6bbB4a6WS5O3Yu2VlXIesDiAamiQNKVlVXfx5I0GJ7DY7p0/+erU4dgeMJIA31WNxZmAgibOreXDqF55sY4SFUURqbi+nkjgwTyAbHhLX8yOLsSM2QRA3JRAAgd4RGPbVhkKEp8qeJ7PFyW3fw++YHtC7CkaD0amqyqihSwlMQQ0wa07IjPVI/vbexreIUrVaQV2D4RMQ/o7m12Mdfx4H3PfB9FNzTR1U2cO0Bi45aV6xNvFBNaoIAfbSiwLlqi9/hR/R3Nrhua+Oqi9TEKiB02C7YXz+Pba4MTDrpbLiMAxNgmXb+HpwVkZdoIrkn9isW7nRw/TZYaagZArAWyhfqsSDL/c9aTx7JUjGZCtYExRqCzAwGblwr6aFQ84nTo6qZ7XCeCVQNckE/KSWolvoQnxeoFFgIh8G/nA+kBAxxuQO5m9eFrwLIGJHgcyM63VFMhRSgNVyJr7og8y1vbTQpH8DIEVgxuYuexw0QECIalq5FYgEmpkgoFYltU/lnrqDz5osirSFpF7lrHAFKSWHYfEs+mY/82UnAStyMlW8sUPsVIciTZgz3jV1ebg0CEOpgPF22s1z1YQYKSXPJ1hbAhR8T26WdLhkuVfAzPR+YO1Ox5n58SmCcF6e3uzAoHA77RkevJdWH/3+f2O9TGf3w3fWQ2Hw5F/13mcsWAT+vv6DK4kFApJ/d3d1k+kJtbCrmxXHS3n8ER6b3CQbAqaEHVra6sGxcXW4SovLx+empxapS//FfwD9kpMJjMMBBAAAAAASUVORK5CYII="),define("text!cockpit/ui/images/pins.png",[],"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAQCAYAAABQrvyxAAAACXBIWXMAAAsTAAALEwEAmpwYAAAGYklEQVRIDbVWe0yURxCf/R735o6DO0FBe0RFsaL4iLXGIKa2SY3P6JGa2GpjlJjUV9NosbU++tYUbEnaQIrVaKJBG7WiNFQFUWO1UUEsVg2CAgoeHHLewcH32O58cBdQsX9Y5+7LfrszOzO/2ZnZj1BKgTBiIwVGVvKd49OVVYunDlXn6wdBKh+ogXrv+DOz1melIb+3LM5fNv2XPYE5EHY+L3PJljN5zavHpJjsQNsA/JJEgyC2+WTjy3b0GfoJW8O4aoHtDwiHQrj5lw1LLyyb1bp5zAjJTus9klrVpdD6TqH2ngVO+0dsRJnp06cLIYU4fx7NnRI3bu7UIYOeJ/McnuY88q3k62gc0S4Dgf5qhICQtIXS2lqD7BhSduPk3YfyzXaANhBBJDxYdUqCywB2qS4RdyUuSkTF/VJxcbH5j8N7/75RuFrN3Zh8OS8zqf5m4UpPeenOyP42dbtBeuvVnCdkK1e4PfPouX03mo9se+c33M8wqDk5Ofqed8REUTicQhbySUxp9u3KlMSHTtrFU6Kyn03lz15PPpW25vsZeYSIKyiVURcqeZJOH9lTNZLfnxRjU/uwrjbEUBWsapcSO2Hq4k0VfZg9EzxdDNCEjDxgNqRDme9umz/btwlsHRIEePHgAf73RdnHZ6LTuIUBN7OBQ+c1Fdnp6cZ1BQUdeRuWZi97o3ktDQQkVeFFzqJARd1A5a0Vr7ta6Kp6TZjtZ+NTIOoKF6qDrL7e0QQIUCiqMMKk8Z1Q/SCSKvzocf2B6NEN0SQn/kTO6fKJ0zqjZUlQBSpJ0GjR77w0aoc1Pr6S5/kVJrNpakV5hR+LWKN4t7sLX+p0rx2vqSta64olIulUKUgCSXLWE1R4KPPSj+5vhm2hdDOG+CkQBmhhyyKq6SaFYWTn5bB3QJRNz54AuXKn8TJjhu0Wbv+wNEKQjVhnmKopjo4FxXmetCRnC4F7BhCiCUepqAepRh0TM/gjjzOOSK2NgWZPc05qampRWJHb7dbOffep2ednzLzgczlbrQA6gHYF9BYDh9GY+FjddMweHMscmMuep07gXlMQoqw9ALoYu5MJsak9QmJA2IvAgVmoCRciooyPujJtNCv1uHt3TmK9gegFKrG9kh6oXwZiIEAtBIjORGKNTWR/WeW8XVkbjuJepLAyloM8LmTN//njKZPbraATZaLjCHEww9Ei4FFiPg6Ja5gT6gxYgLgnRDHRQwJXbz2GOw0d4A3K4GXlUtMahJjYVxiYbrwOmxIS10bFnIBOSi6Tl9Jgs0zbOEX18wyEwgLPMrxD1Y4aCK8kmTpgYcpAF27Mzs42Hjx4kA8BICUlJfKArR7LcEvTB1xEC9AoEw9OPagWkVU/D1oesmK6U911zEczMVe01oZjiMggg6ux2Qk379qh4rYKet4GjrhhwEteBgBrH8BssoXEtbHzPpSBRRSpqlNpgAiUoxzHKxLRszoVuggIisxaDQWZqkQvQjAoax3NbDbLLGuUEABNGedXqSyLRupXgDT5JfAGZNLio9B0X8Uiwk4w77MDc1D4yejjWtykPS3DX01UDCY/GPQcVDe0QYT0CIxGFvUorfvBxZsRfVrUuWruMBAb/lXCUofoFNZfzGJtowXOX0vwUSFK4BgyMKm6P6s9wQUZld+jrYyMDC0iIQDaJdG4IyZQfL3RfbFcCBIlRgc+u3CjaTApuZ9KsANgG8PNzHlWWD3tCxd6kafNNiFp5HAalAkkJ0SCV2H3CgOD9Nc/FqrXuyb0Eocvfhq171p5eyuJ1omKJEP5rQGe/FOOnXtq335z8YmvYo9cHb2t8spIb3lVSseZW46FlGY/Sk9P50P2w20UlWJUkUHIushfc5PXGAzCo0PlD2pnpCYfCXga3lu+fPlevEhWrVrFyrN/Orfv87FOW9tlqb2Kc9pV8DzioMk3UNUbXM+8B/ATBr8C8CKdvGXWGD/9sqm3dkxtzA4McMjHMB8D2ftheYXo+qzt3pXvz8/PP/vk+v8537V+yYW87Zu+RZ1ZbrexoKAA/SBpaWn4+aL5w5zGk+/jW59JiMkESW5urpiVlWXENRb1H/Yf2I9txIxz5IdkX3TsraukpsbQjz6090yb4XsAvQoRE0YvJdamtIIbOnRoUVlZ2ftsLVQzIdEXHntsaZdimssVfCpFui109+BnWPsXaWLI/zactygAAAAASUVORK5CYII="),define("text!cockpit/ui/images/plus.png",[],"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAAXNSR0IArs4c6QAAAAZiS0dEANIA0gDS7KbF4AAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9kFGw4yFTwuJTkAAAH7SURBVCjPdZKxa1NRFMZ/956XZMgFyyMlCZRA4hBx6lBcQ00GoYi4tEstFPwLAs7iLDi7FWuHThaUggihBDI5OWRoQAmBQFISQgvvpbwX3rsOaR4K+o2H8zvfOZxPWWtZqVarGaAJPAEe3ZW/A1+Bd+1221v1qhW4vb1dA44mk0nZ8zyCIAAgk8lgjGF9fb0PHF5cXLQTsF6vP/c879P19TVBEJDJZBARAKIoSmpra2sYY561Wq3PqtFouMBgMBgYay3ZbJZ/yfd9tNaUSqUboOKISPPq6sqsVvZ9H4AvL34B8PTj/QSO45jpdHovn883Ha31znw+JwzDpCEMQx4UloM8zyOdTif3zudztNY7jog8DMMQpRRxHPPt5TCBAEZvxlyOFTsfykRRBICIlB2t9a21Nh3HMXEc8+d7VhJHWCwWyzcohdZaHBHpO46z6fs+IsLj94XECaD4unCHL8FsNouI/HRE5Nx13c3ZbIbWOnG5HKtl+53TSq7rIiLnand31wUGnU7HjEYjlFLJZN/3yRnL1FMYY8jlcmxtbd0AFel2u7dnZ2eXxpi9xWJBEASkUimstYgIQSSkUimKxSKVSgVjzN7p6emPJHL7+/s14KjX65WHwyGz2SxZbWNjg2q12gcOT05O2n9lFeDg4MAAr/4T8rfHx8dJyH8DvvbYGzKvWukAAAAASUVORK5CYII="),define("text!cockpit/ui/images/throbber.gif",[],"data:image/gif;base64,R0lGODlh3AATAPQAAP///wAAAL6+vqamppycnLi4uLKyssjIyNjY2MTExNTU1Nzc3ODg4OTk5LCwsLy8vOjo6Ozs7MrKyvLy8vT09M7Ozvb29sbGxtDQ0O7u7tbW1sLCwqqqqvj4+KCgoJaWliH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCgAAACwAAAAA3AATAAAF/yAgjmRpnmiqrmzrvnAsz3Rt33iu73zv/8CgcEgECAaEpHLJbDqf0Kh0Sq1ar9isdjoQtAQFg8PwKIMHnLF63N2438f0mv1I2O8buXjvaOPtaHx7fn96goR4hmuId4qDdX95c4+RG4GCBoyAjpmQhZN0YGYFXitdZBIVGAoKoq4CG6Qaswi1CBtkcG6ytrYJubq8vbfAcMK9v7q7D8O1ycrHvsW6zcTKsczNz8HZw9vG3cjTsMIYqQgDLAQGCQoLDA0QCwUHqfYSFw/xEPz88/X38Onr14+Bp4ADCco7eC8hQYMAEe57yNCew4IVBU7EGNDiRn8Z831cGLHhSIgdE/9chIeBgDoB7gjaWUWTlYAFE3LqzDCTlc9WOHfm7PkTqNCh54rePDqB6M+lR536hCpUqs2gVZM+xbrTqtGoWqdy1emValeXKwgcWABB5y1acFNZmEvXwoJ2cGfJrTv3bl69Ffj2xZt3L1+/fw3XRVw4sGDGcR0fJhxZsF3KtBTThZxZ8mLMgC3fRatCLYMIFCzwLEprg84OsDus/tvqdezZf13Hvr2B9Szdu2X3pg18N+68xXn7rh1c+PLksI/Dhe6cuO3ow3NfV92bdArTqC2Ebc3A8vjf5QWf15Bg7Nz17c2fj69+fnq+8N2Lty+fuP78/eV2X13neIcCeBRwxorbZrAxAJoCDHbgoG8RTshahQ9iSKEEzUmYIYfNWViUhheCGJyIP5E4oom7WWjgCeBBAJNv1DVV01MZdJhhjdkplWNzO/5oXI846njjVEIqR2OS2B1pE5PVscajkxhMycqLJgxQCwT40PjfAV4GqNSXYdZXJn5gSkmmmmJu1aZYb14V51do+pTOCmA00AqVB4hG5IJ9PvYnhIFOxmdqhpaI6GeHCtpooisuutmg+Eg62KOMKuqoTaXgicQWoIYq6qiklmoqFV0UoeqqrLbq6quwxirrrLTWauutJ4QAACH5BAkKAAAALAAAAADcABMAAAX/ICCOZGmeaKqubOu+cCzPdG3feK7vfO//wKBwSAQIBoSkcslsOp/QqHRKrVqv2Kx2OhC0BAXHx/EoCzboAcdhcLDdgwJ6nua03YZ8PMFPoBMca215eg98G36IgYNvDgOGh4lqjHd7fXOTjYV9nItvhJaIfYF4jXuIf4CCbHmOBZySdoOtj5eja59wBmYFXitdHhwSFRgKxhobBgUPAmdoyxoI0tPJaM5+u9PaCQZzZ9gP2tPcdM7L4tLVznPn6OQb18nh6NV0fu3i5OvP8/nd1qjwaasHcIPAcf/gBSyAAMMwBANYEAhWYQGDBhAyLihwYJiEjx8fYMxIcsGDAxVA/yYIOZIkBAaGPIK8INJlRpgrPeasaRPmx5QgJfB0abLjz50tSeIM+pFmUo0nQQIV+vRlTJUSnNq0KlXCSq09ozIFexEBAYkeNiwgOaEtn2LFpGEQsKCtXbcSjOmVlqDuhAx3+eg1Jo3u37sZBA9GoMAw4MB5FyMwfLht4sh7G/utPGHlYAV8Nz9OnOBz4c2VFWem/Pivar0aKCP2LFn2XwhnVxBwsPbuBAQbEGiIFg1BggoWkidva5z4cL7IlStfkED48OIYoiufYIH68+cKPkqfnsB58ePjmZd3Dj199/XE20tv6/27XO3S6z9nPCz9BP3FISDefL/Bt192/uWmAv8BFzAQAQUWWFaaBgqA11hbHWTIXWIVXifNhRlq6FqF1sm1QQYhdiAhbNEYc2KKK1pXnAIvhrjhBh0KxxiINlqQAY4UXjdcjSJyeAx2G2BYJJD7NZQkjCPKuCORKnbAIXsuKhlhBxEomAIBBzgIYXIfHfmhAAyMR2ZkHk62gJoWlNlhi33ZJZ2cQiKTJoG05Wjcm3xith9dcOK5X51tLRenoHTuud2iMnaolp3KGXrdBo7eKYF5p/mXgJcogClmcgzAR5gCKymXYqlCgmacdhp2UCqL96mq4nuDBTmgBasaCFp4sHaQHHUsGvNRiiGyep1exyIra2mS7dprrtA5++z/Z8ZKYGuGsy6GqgTIDvupRGE+6CO0x3xI5Y2mOTkBjD4ySeGU79o44mcaSEClhglgsKyJ9S5ZTGY0Bnzrj+3SiKK9Rh5zjAALCywZBk/ayCWO3hYM5Y8Dn6qxxRFsgAGoJwwgDQRtYXAAragyQOmaLKNZKGaEuUlpyiub+ad/KtPqpntypvvnzR30DBtjMhNodK6Eqrl0zU0/GjTUgG43wdN6Ra2pAhGtAAZGE5Ta8TH6wknd2IytNKaiZ+Or79oR/tcvthIcAPe7DGAs9Edwk6r3qWoTaNzY2fb9HuHh2S343Hs1VIHhYtOt+Hh551rh24vP5YvXSGzh+eeghy76GuikU9FFEainrvrqrLfu+uuwxy777LTXfkIIACH5BAkKAAAALAAAAADcABMAAAX/ICCOZGmeaKqubOu+cCzPdG3feK7vfO//wKBwSAQIBoSkcslsOp/QqHRKrVqv2Kx2OhC0BAWHB2l4CDZo9IDjcBja7UEhTV+3DXi3PJFA8xMcbHiDBgMPG31pgHBvg4Z9iYiBjYx7kWocb26OD398mI2EhoiegJlud4UFiZ5sm6Kdn2mBr5t7pJ9rlG0cHg5gXitdaxwFGArIGgoaGwYCZ3QFDwjU1AoIzdCQzdPV1c0bZ9vS3tUJBmjQaGXl1OB0feze1+faiBvk8wjnimn55e/o4OtWjp+4NPIKogsXjaA3g/fiGZBQAcEAFgQGOChgYEEDCCBBLihwQILJkxIe/3wMKfJBSQkJYJpUyRIkgwcVUJq8QLPmTYoyY6ZcyfJmTp08iYZc8MBkhZgxk9aEcPOlzp5FmwI9KdWn1qASurJkClRoWKwhq6IUqpJBAwQEMBYroAHkhLt3+RyzhgCDgAV48Wbgg+waAnoLMgTOm6DwQ8CLBzdGdvjw38V5JTg2lzhyTMeUEwBWHPgzZc4TSOM1bZia6LuqJxCmnOxv7NSsl1mGHHiw5tOuIWeAEHcFATwJME/ApgFBc3MVLEgPvE+Ddb4JokufPmFBAuvPXWu3MIF89wTOmxvOvp179evQtwf2nr6aApPyzVd3jn089e/8xdfeXe/xdZ9/d1ngHf98lbHH3V0LMrgPgsWpcFwBEFBgHmyNXWeYAgLc1UF5sG2wTHjIhNjBiIKZCN81GGyQwYq9uajeMiBOQGOLJ1KjTI40kmfBYNfc2NcGIpI4pI0vyrhjiT1WFqOOLEIZnjVOVpmajYfBiCSNLGbA5YdOkjdihSkQwIEEEWg4nQUmvYhYe+bFKaFodN5lp3rKvJYfnBKAJ+gGDMi3mmbwWYfng7IheuWihu5p32XcSWdSj+stkF95dp64jJ+RBipocHkCCp6PCiRQ6INookCAAwy0yd2CtNET3Yo7RvihBjFZAOaKDHT43DL4BQnsZMo8xx6uI1oQrHXXhHZrB28G62n/YSYxi+uzP2IrgbbHbiaer7hCiOxDFWhrbmGnLVuus5NFexhFuHLX6gkEECorlLpZo0CWJG4pLjIACykmBsp0eSSVeC15TDJeUhlkowlL+SWLNJpW2WEF87urXzNWSZ6JOEb7b8g1brZMjCg3ezBtWKKc4MvyEtwybPeaMAA1ECRoAQYHYLpbeYYCLfQ+mtL5c9CnfQpYpUtHOSejEgT9ogZ/GSqd0f2m+LR5WzOtHqlQX1pYwpC+WbXKqSYtpJ5Mt4a01lGzS3akF60AxkcTaLgAyRBPWCoDgHfJqwRuBuzdw/1ml3iCwTIeLUWJN0v4McMe7uasCTxseNWPSxc5RbvIgD7geZLbGrqCG3jepUmbbze63Y6fvjiOylbwOITPfIHEFsAHL/zwxBdvPBVdFKH88sw37/zz0Ecv/fTUV2/99SeEAAAh+QQJCgAAACwAAAAA3AATAAAF/yAgjmRpnmiqrmzrvnAsz3Rt33iu73zv/8CgcEgECAaEpHLJbDqf0Kh0Sq1ar9isdjoQtAQFh2cw8BQEm3T6yHEYHHD4oKCuD9qGvNsxT6QTgAkcHHmFeX11fm17hXwPG35qgnhxbwMPkXaLhgZ9gWp3bpyegX4DcG+inY+Qn6eclpiZkHh6epetgLSUcBxlD2csXXdvBQrHGgoaGhsGaIkFDwjTCArTzX+QadHU3c1ofpHc3dcGG89/4+TYktvS1NYI7OHu3fEJ5tpqBu/k+HX7+nXDB06SuoHm0KXhR65cQT8P3FRAMIAFgVMPwDCAwLHjggIHJIgceeFBg44eC/+ITCCBZYKSJ1FCWPBgpE2YMmc+qNCypwScMmnaXAkUJYOaFVyKLOqx5tCXJnMelcBzJNSYKIX2ZPkzqsyjPLku9Zr1QciVErYxaICAgEUOBRJIgzChbt0MLOPFwyBggV27eCUcmxZvg9+/dfPGo5bg8N/Ag61ZM4w4seDF1fpWhizZmoa+GSortgcaMWd/fkP/HY0MgWbTipVV++wY8GhvqSG4XUEgoYTKE+Qh0OCvggULiBckWEZ4Ggbjx5HXVc58IPQJ0idQJ66XanTpFraTe348+XLizRNcz658eHMN3rNPT+C+G/nodqk3t6a+fN3j+u0Xn3nVTQPfdRPspkL/b+dEIN8EeMm2GAYbTNABdrbJ1hyFFv5lQYTodSZABhc+loCEyhxTYYkZopdMMiNeiBxyIFajV4wYHpfBBspUl8yKHu6ooV5APsZjQxyyeNeJ3N1IYod38cgdPBUid6GCKfRWgAYU4IccSyHew8B3doGJHmMLkGkZcynKk2Z50Ym0zJzLbDCmfBbI6eIyCdyJmJmoqZmnBAXy9+Z/yOlZDZpwYihnj7IZpuYEevrYJ5mJEuqiof4l+NYDEXQpXQcMnNjZNDx1oGqJ4S2nF3EsqWrhqqVWl6JIslpAK5MaIqDeqjJq56qN1aTaQaPbHTPYr8Be6Gsyyh6Da7OkmmqP/7GyztdrNVQBm5+pgw3X7aoYKhfZosb6hyUKBHCgQKij1rghkOAJuZg1SeYIIY+nIpDvf/sqm4yNG5CY64f87qdAwSXKGqFkhPH1ZHb2EgYtw3bpKGVkPz5pJAav+gukjB1UHE/HLNJobWcSX8jiuicMMBFd2OmKwQFs2tjXpDfnPE1j30V3c7iRHlrzBD2HONzODyZtsQJMI4r0AUNaE3XNHQw95c9GC001MpIxDacFQ+ulTNTZlU3O1eWVHa6vb/pnQUUrgHHSBKIuwG+bCPyEqbAg25gMVV1iOB/IGh5YOKLKIQ6xBAcUHmzjIcIqgajZ+Ro42DcvXl7j0U4WOUd+2IGu7DWjI1pt4DYq8BPm0entuGSQY/4tBi9Ss0HqfwngBQtHbCH88MQXb/zxyFfRRRHMN+/889BHL/301Fdv/fXYZ39CCAAh+QQJCgAAACwAAAAA3AATAAAF/yAgjmRpnmiqrmzrvnAsz3Rt33iu73zv/8CgcEgECAaEpHLJbDqf0Kh0Sq1ar9isdjoQtAQFh2fAKXsKm7R6Q+Y43vABep0mGwwOPH7w2CT+gHZ3d3lyagl+CQNvg4yGh36LcHoGfHR/ZYOElQ9/a4ocmoRygIiRk5p8pYmZjXePaYBujHoOqp5qZHBlHAUFXitddg8PBg8KGsgayxvGkAkFDwgICtPTzX2mftHW3QnOpojG3dbYkNjk1waxsdDS1N7ga9zw1t/aifTk35fu6Qj3numL14fOuHTNECHqU4DDgQEsCCwidiHBAwYQMmpcUOCAhI8gJVzUuLGThAQnP/9abEAyI4MCIVOKZNnyJUqUJxNcGNlywYOQgHZirGkSJ8gHNEky+AkS58qWEJYC/bMzacmbQHkqNdlUJ1KoSz2i9COhmQYCEXtVrCBgwYS3cCf8qTcNQ9u4cFFOq2bPLV65Cf7dxZthbjW+CgbjnWtNgWPFcAsHdoxgWWK/iyV045sAc2S96SDn1exYw17REwpLQEYt2eW/qtPZRQAB7QoC61RW+GsBwYZ/CXb/XRCYLsAKFizEtUAc+G7lcZsjroscOvTmsoUvx15PwccJ0N8yL17N9PG/E7jv9S4hOV7pdIPDdZ+ePDzv2qMXn2b5+wTbKuAWnF3oZbABZY0lVmD/ApQd9thybxno2GGuCVDggaUpoyBsB1bGGgIYbJCBcuFJiOAyGohIInQSmmdeiBnMF2GHfNUlIoc1rncjYRjW6NgGf3VQGILWwNjBfxEZcAFbC7gHXQcfUYOYdwzQNxo5yUhQZXhvRYlMeVSuSOJHKJa5AQMQThBlZWZ6Bp4Fa1qzTAJbijcBlJrtxeaZ4lnnpZwpukWieGQmYx5ATXIplwTL8DdNZ07CtWYybNIJF4Ap4NZHe0920AEDk035kafieQrqXofK5ympn5JHKYjPrfoWcR8WWQGp4Ul32KPVgXdnqxM6OKqspjIYrGPDrlrsZtRIcOuR86nHFwbPvmes/6PH4frrqbvySh+mKGhaAARPzjjdhCramdoGGOhp44i+zogBkSDuWC5KlE4r4pHJkarXrj++Raq5iLmWLlxHBteavjG+6amJrUkJJI4Ro5sBv9AaOK+jAau77sbH7nspCwNIYIACffL7J4JtWQnen421nNzMcB6AqpRa9klonmBSiR4GNi+cJZpvwgX0ejj71W9yR+eIgaVvQgf0l/A8nWjUFhwtZYWC4hVnkZ3p/PJqNQ5NnwUQrQCGBBBMQIGTtL7abK+5JjAv1fi9bS0GLlJHgdjEgYzzARTwC1fgEWdJuKKBZzj331Y23qB3i9v5aY/rSUC4w7PaLeWXmr9NszMFoN79eeiM232o33EJAIzaSGwh++y012777bhT0UURvPfu++/ABy/88MQXb/zxyCd/QggAIfkECQoAAAAsAAAAANwAEwAABf8gII5kaZ5oqq5s675wLM90bd94ru987//AoHBIBAgGhKRyyWw6n9CodEqtWq/YrHY6ELQEBY5nwCk7xIWNer0hO95wziC9Ttg5b4ND/+Y87IBqZAaEe29zGwmJigmDfHoGiImTjXiQhJEPdYyWhXwDmpuVmHwOoHZqjI6kZ3+MqhyemJKAdo6Ge3OKbEd4ZRwFBV4rc4MPrgYPChrMzAgbyZSJBcoI1tfQoYsJydfe2amT3d7W0OGp1OTl0YtqyQrq0Lt11PDk3KGoG+nxBpvTD9QhwCctm0BzbOyMIwdOUwEDEgawIOCB2oMLgB4wgMCx44IHBySIHClBY0ePfyT/JCB5weRJCAwejFw58kGDlzBTqqTZcuPLmCIBiWx58+VHmiRLFj0JVCVLl0xl7qSZwCbOo0lFWv0pdefQrVFDJtr5gMBEYBgxqBWwYILbtxPsqMPAFu7blfa81bUbN4HAvXAzyLWnoDBguHIRFF6m4LBbwQngMYPXuC3fldbyPrMcGLM3w5wRS1iWWUNlvnElKDZtz/EEwaqvYahQoexEfyILi4RrYYKFZwJ3810QWZ2ECrx9Ew+O3K6F5Yq9zXbb+y30a7olJJ+wnLC16W97Py+uwdtx1NcLWzs/3G9e07stVPc9kHJ0BcLtQp+c3ewKAgYkUAFpCaAmmHqKLSYA/18WHEiZPRhsQF1nlLFWmIR8ZbDBYs0YZuCGpGXWmG92aWiPMwhEOOEEHXRwIALlwXjhio+BeE15IzpnInaLbZBBhhti9x2GbnVQo2Y9ZuCfCgBeMCB+DJDIolt4iVhOaNSJdCOBUfIlkmkyMpPAAvKJ59aXzTQzJo0WoJnmQF36Jp6W1qC4gWW9GZladCiyJd+KnsHImgRRVjfnaDEKuiZvbcYWo5htzefbl5LFWNeSKQAo1QXasdhiiwwUl2B21H3aQaghXnPcp1NagCqYslXAqnV+zYWcpNwVp9l5eepJnHqL4SdBi56CGlmw2Zn6aaiZjZqfb8Y2m+Cz1O0n3f+tnvrGbF6kToApCgAWoNWPeh754JA0vmajiAr4iOuOW7abQXVGNriBWoRdOK8FxNqLwX3oluubhv8yluRbegqGb536ykesuoXhyJqPQJIGbLvQhkcwjKs1zBvBwSZIsbcsDCCBAAf4ya+UEhyQoIiEJtfoZ7oxUOafE2BwgMWMqUydfC1LVtiArk0QtGkWEopzlqM9aJrKHfw5c6wKjFkmXDrbhwFockodtMGFLWpXy9JdiXN1ZDNszV4WSLQCGBKoQYHUyonqrHa4ErewAgMmcAAF7f2baIoVzC2p3gUvJtLcvIWqloy6/R04mIpLwDhciI8qLOB5yud44pHPLbA83hFDWPjNbuk9KnySN57Av+TMBvgEAgzzNhJb5K777rz37vvvVHRRxPDEF2/88cgnr/zyzDfv/PPQnxACACH5BAkKAAAALAAAAADcABMAAAX/ICCOZGmeaKqubOu+cCzPdG3feK7vfO//wKBwSAQIBoSkcslsOp/QqHRKrVqv2Kx2OhC0BIUCwcMpO84OT2HDbm8GHLQjnn6wE3g83SA3DB55G3llfHxnfnZ4gglvew6Gf4ySgmYGlpCJknochWiId3kJcZZyDn93i6KPl4eniopwq6SIoZKxhpenbhtHZRxhXisDopwPgHkGDxrLGgjLG8mC0gkFDwjX2AgJ0bXJ2djbgNJsAtbfCNB2oOnn6MmKbeXt226K1fMGi6j359D69ua+QZskjd+3cOvY9XNgp4ABCQNYEDBl7EIeCQkeMIDAseOCBwckiBSZ4ILGjh4B/40kaXIjSggMHmBcifHky5gYE6zM2OAlzGM6Z5rs+fIjTZ0tfcYMSlLCUJ8fL47kCVXmTjwPiKJkUCDnyqc3CxzQmYeAxAEGLGJYiwCDgAUT4sqdgOebArdw507IUNfuW71xdZ7DC5iuhGsKErf9CxhPYgUaEhPWyzfBMgUIJDPW6zhb5M1y+R5GjFkBaLmCM0dOfHqvztXYJnMejaFCBQlmVxAYsEGkYnQV4lqYMNyCtnYSggNekAC58uJxmTufW5w55mwKkg+nLp105uTC53a/nhg88fMTmDfDVl65Xum/IZt/3/zaag3a5W63nll1dvfiWbaaZLmpQIABCVQA2f9lAhTG112PQWYadXE9+FtmEwKWwQYQJrZagxomsOCAGVImInsSbpCBhhwug6KKcXXQQYUcYuDMggrASFmNzjjzzIrh7cUhhhHqONeGpSEW2QYxHsmjhxpgUGAKB16g4IIbMNCkXMlhaJ8GWVJo2I3NyKclYF1GxgyYDEAnXHJrMpNAm/rFBSczPiYAlwXF8ZnmesvoOdyMbx7m4o0S5LWdn4bex2Z4xYmEzaEb5EUcnxbA+WWglqIn6aHPTInCgVbdlZyMqMrIQHMRSiaBBakS1903p04w434n0loBoQFOt1yu2YAnY68RXiNsqh2s2qqxuyKb7Imtmgcrqsp6h8D/fMSpapldx55nwayK/SfqCQd2hcFdAgDp5GMvqhvakF4mZuS710WGIYy30khekRkMu92GNu6bo7r/ttjqwLaua5+HOdrKq5Cl3dcwi+xKiLBwwwom4b0E6xvuYyqOa8IAEghwQAV45VvovpkxBl2mo0W7AKbCZXoAhgMmWnOkEqx2JX5nUufbgJHpXCfMOGu2QAd8eitpW1eaNrNeMGN27mNz0swziYnpSbXN19gYtstzfXrdYjNHtAIYGFVwwAEvR1dfxdjKxVzAP0twAAW/ir2w3nzTd3W4yQWO3t0DfleB4XYnEHCEhffdKgaA29p0eo4fHLng9qoG+OVyXz0gMeWGY7qq3xhiRIEAwayNxBawxy777LTXbjsVXRSh++689+7778AHL/zwxBdv/PEnhAAAIfkECQoAAAAsAAAAANwAEwAABf8gII5kaZ5oqq5s675wLM90bd94ru987//AoHBIBAgGhKRyyWw6n9CodEqtWq/YrHY6ELQEhYLD4BlwHGg0ubBpuzdm9Dk9eCTu+MTZkDb4PXYbeIIcHHxqf4F3gnqGY2kOdQmCjHCGfpCSjHhmh2N+knmEkJmKg3uHfgaaeY2qn6t2i4t7sKAPbwIJD2VhXisDCQZgDrKDBQ8aGgjKyhvDlJMJyAjV1gjCunkP1NfVwpRtk93e2ZVt5NfCk27jD97f0LPP7/Dr4pTp1veLgvrx7AL+Q/BM25uBegoYkDCABYFhEobhkUBRwoMGEDJqXPDgQMUEFC9c1LjxQUUJICX/iMRIEgIDkycrjmzJMSXFlDNJvkwJsmdOjQwKfDz5M+PLoSGLQqgZU6XSoB/voHxawGbFlS2XGktAwKEADB0xiEWAodqGBRPSqp1wx5qCamDRrp2Qoa3bagLkzrULF4GCvHPTglRAmKxZvWsHayBcliDitHUlvGWM97FgCdYWVw4c2e/kw4HZJlCwmDBhwHPrjraGYTHqtaoxVKggoesKAgd2SX5rbUMFCxOAC8cGDwHFwBYWJCgu4XfwtcqZV0grPHj0u2SnqwU+IXph3rK5b1fOu7Bx5+K7L6/2/Xhg8uyXnQ8dvfRiDe7TwyfNuzlybKYpgIFtKhAgwEKkKcOf/wChZbBBgMucRh1so5XH3wbI1WXafRJy9iCErmX4IWHNaIAhZ6uxBxeGHXQA24P3yYfBBhmgSBozESpwongWOBhggn/N1aKG8a1YY2oVAklgCgQUUwGJ8iXAgItrWUARbwpqIOWEal0ZoYJbzmWlZCWSlsAC6VkwZonNbMAAl5cpg+NiZwpnJ0Xylegmlc+tWY1mjnGnZnB4QukMA9UJRxGOf5r4ppqDjjmnfKilh2ejGiyJAgF1XNmYbC2GmhZ5AcJVgajcXecNqM9Rx8B6bingnlotviqdkB3YCg+rtOaapFsUhSrsq6axJ6sEwoZK7I/HWpCsr57FBxJ1w8LqV/81zbkoXK3LfVeNpic0KRQG4NHoIW/XEmZuaiN6tti62/moWbk18uhjqerWS6GFpe2YVotskVssWfBOAHACrZHoWcGQwQhlvmsdXBZ/F9YLMF2jzUuYBP4a7CLCnoEHrgkDSCDAARUILAGaVVqAwQHR8pZXomm9/ONhgjrbgc2lyYxmpIRK9uSNjrXs8gEbTrYyl2ryTJmsLCdKkWzFQl1lWlOXGmifal6p9VnbQfpyY2SZyXKVV7JmZkMrgIFSyrIeUJ2r7YKnXdivUg1kAgdQ8B7IzJjGsd9zKSdwyBL03WpwDGxwuOASEP5vriO2F3nLjQdIrpaRDxqcBdgIHGA74pKrZXiR2ZWuZt49m+o3pKMC3p4Av7SNxBa456777rz37jsVXRQh/PDEF2/88cgnr/zyzDfv/PMnhAAAIfkECQoAAAAsAAAAANwAEwAABf8gII5kaZ5oqq5s675wLM90bd94ru987//AoHBIBAgGhKRyyWw6n9CodEqtWq/YrHY6ELQEhYLDUPAMHGi0weEpbN7wI8cxTzsGj4R+n+DUxwaBeBt7hH1/gYIPhox+Y3Z3iwmGk36BkIN8egOIl3h8hBuOkAaZhQlna4BrpnyWa4mleZOFjrGKcXoFA2ReKwMJBgISDw6abwUPGggazc0bBqG0G8kI1tcIwZp51djW2nC03d7BjG8J49jl4cgP3t/RetLp1+vT6O7v5fKhAvnk0UKFogeP3zmCCIoZkDCABQFhChQYuKBHgkUJkxpA2MhxQYEDFhNcvPBAI8eNCx7/gMQYckPJkxsZPLhIM8FLmDJrYiRp8mTKkCwT8IQJwSPQkENhpgQpEunNkzlpWkwKdSbGihKocowqVSvKWQkIOBSgQOYFDBgQpI0oYMGEt3AzTLKm4BqGtnDjirxW95vbvG/nWlub8G9euRsiqqWLF/AEkRoiprX2wLDeDQgkW9PQGLDgyNc665WguK8C0XAnRY6oGPUEuRLsgk5g+a3cCxUqSBC7gsCBBXcVq6swwULx4hayvctGPK8FCwsSLE9A3Hje6NOrHzeOnW695sffRi/9HfDz7sIVSNB+XXrmugo0rHcM3X388o6jr44ceb51uNjF1xcC8zk3wXiS8aYC/wESaLABBs7ch0ECjr2WAGvLsLZBeHqVFl9kGxooV0T81TVhBo6NiOEyJ4p4IYnNRBQiYCN6x4wCG3ZAY2If8jXjYRcyk2FmG/5nXAY8wqhWAii+1YGOSGLoY4VRfqiAgikwmIeS1gjAgHkWYLQZf9m49V9gDWYWY5nmTYCRM2TS5pxxb8IZGV5nhplmhJyZadxzbrpnZ2d/6rnZgHIid5xIMDaDgJfbLdrgMkKW+Rygz1kEZz1mehabkBpgiQIByVikwGTqVfDkk2/Vxxqiqur4X3fksHccre8xlxerDLiHjQIVUAgXr77yFeyuOvYqXGbMrbrqBMqaFpFFzhL7qv9i1FX7ZLR0LUNdcc4e6Cus263KbV+inkAAHhJg0BeITR6WmHcaxhvXg/AJiKO9R77ILF1FwmVdAu6WBu+ZFua72mkZWMfqBElKu0G8rFZ5n4ATp5jkmvsOq+Nj7u63ZMMPv4bveyYy6fDH+C6brgnACHBABQUrkGirz2FwAHnM4Mmhzq9yijOrOi/MKabH6VwBiYwZdukEQAvILKTWXVq0ZvH5/CfUM7M29Zetthp1eht0eqkFYw8IKXKA6mzXfTeH7fZg9zW0AhgY0TwthUa6Ch9dBeIsbsFrYkRBfgTfiG0FhwMWnbsoq3cABUYOnu/ejU/A6uNeT8u4wMb1WnBCyJJTLjjnr8o3OeJrUcpc5oCiPqAEkz8tXuLkPeDL3Uhs4fvvwAcv/PDEU9FFEcgnr/zyzDfv/PPQRy/99NRXf0IIACH5BAkKAAAALAAAAADcABMAAAX/ICCOZGmeaKqubOu+cCzPdG3feK7vfO//wKBwSAQIBoSkcslsOp/QqHRKrVqv2Kx2OhC0BIWCw/AoDziOtCHt8BQ28PjmzK57Hom8fo42+P8DeAkbeYQcfX9+gYOFg4d1bIGEjQmPbICClI9/YwaLjHAJdJeKmZOViGtpn3qOqZineoeJgG8CeWUbBV4rAwkGAhIVGL97hGACGsrKCAgbBoTRhLvN1c3PepnU1s2/oZO6AtzdBoPf4eMI3tIJyOnF0YwFD+nY8e3z7+Xfefnj9uz8cVsXCh89axgk7BrAggAwBQsYIChwQILFixIeNIDAseOCBwcSXMy2sSPHjxJE/6a0eEGjSY4MQGK86PIlypUJEmYsaTKmyJ8JW/Ls6HMkzaEn8YwMWtPkx4pGd76E4DMPRqFTY860OGhogwYagBFoKEABA46DEGBAoEBB0AUT4sqdIFKBNbcC4M6dkEEk22oYFOTdG9fvWrtsBxM23MytYL17666t9phwXwlum2lIDHmuSA2IGyuOLOHv38qLMbdFjHruZbWgRXeOe1nC2BUEDiyAMMHZuwoTLAQX3nvDOAUW5Vogru434d4JnAsnPmFB9NBshQXfa9104+Rxl8e13rZxN+CEydtVsFkd+vDjE7C/q52wOvb4s7+faz025frbxefWbSoQIAEDEUCwgf9j7bUlwHN9ZVaegxDK1xYzFMJH24L5saXABhlYxiEzHoKoIV8LYqAMaw9aZqFmJUK4YHuNfRjiXhmk+NcyJgaIolvM8BhiBx3IleN8lH1IWAcRgkZgCgYiaBGJojGgHHFTgtagAFYSZhF7/qnTpY+faVlNAnqJN0EHWa6ozAZjBtgmmBokwMB01LW5jAZwbqfmlNips4B4eOqJgDJ2+imXRZpthuigeC6XZTWIxilXmRo8iYKBCwiWmWkJVEAkfB0w8KI1IvlIpKnOkVpqdB5+h96o8d3lFnijrgprjbfGRSt0lH0nAZG5vsprWxYRW6Suq4UWqrLEsspWg8Io6yv/q6EhK0Fw0GLbjKYn5CZYBYht1laPrnEY67kyrhYbuyceiR28Pso7bYwiXjihjWsWuWF5p/H765HmNoiur3RJsGKNG/jq748XMrwmjhwCfO6QD9v7LQsDxPTAMKsFpthyJCdkmgYiw0VdXF/Om9dyv7YMWGXTLYpZg5wNR11C78oW3p8HSGgul4qyrJppgllJHJZHn0Y0yUwDXCXUNquFZNLKyYXBAVZvxtAKYIQEsmPgDacr0tltO1y/DMwYpkgUpJfTasLGzd3cdCN3gN3UWRcY3epIEPevfq+3njBxq/kqBoGBduvea8f393zICS63ivRBTqgFpgaWZEIUULdcK+frIfAAL2AjscXqrLfu+uuwx05FF0XUbvvtuOeu++689+7778AHL/wJIQAAOwAAAAAAAAAAAA==")
vendor/assets/javascripts/ace/ext-static_highlight.js
define("ace/ext/static_highlight",["require","exports","module","ace/edit_session","ace/layer/text"],function(e,t,n){var r=e("../edit_session").EditSession,i=e("../layer/text").Text,s=".ace_editor {font-family: 'Monaco', 'Menlo', 'Droid Sans Mono', 'Courier New', monospace;font-size: 12px;}.ace_editor .ace_gutter { width: 25px !important;display: block;float: left;text-align: right; padding: 0 3px 0 0; margin-right: 3px;}.ace_line { clear: both; }*.ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;}";t.render=function(e,t,n,o,u){o=parseInt(o||1,10);var a=new r("");a.setMode(t),a.setUseWorker(!1);var f=new i(document.createElement("div"));f.setSession(a),f.config={characterWidth:10,lineHeight:20},a.setValue(e);var l=[],c=a.getLength();for(var h=0;h<c;h++)l.push("<div class='ace_line'>"),u||l.push("<span class='ace_gutter ace_gutter-cell' unselectable='on'>"+(h+o)+"</span>"),f.$renderLine(l,h,!0,!1),l.push("</div>");var p="<div class=':cssClass'> <div class='ace_editor ace_scroller ace_text-layer'> :code </div> </div>".replace(/:cssClass/,n.cssClass).replace(/:code/,l.join(""));return f.destroy(),{css:s+n.cssText,html:p}}})
vendor/assets/javascripts/ace/ext-textarea.js
define("ace/ext/textarea",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/lib/net","ace/ace","ace/theme/textmate","ace/mode/text"],function(e,t,n){function a(e,t){for(var n in t)e.style[n]=t[n]}function f(e,t){if(e.type!="textarea")throw"Textarea required!";var n=e.parentNode,i=document.createElement("div"),s=function(){var t="position:relative;";["margin-top","margin-left","margin-right","margin-bottom"].forEach(function(n){t+=n+":"+u(e,i,n)+";"});var n=u(e,i,"width")||e.clientWidth+"px",r=u(e,i,"height")||e.clientHeight+"px";t+="height:"+r+";width:"+n+";",t+="display:inline-block;",i.setAttribute("style",t)};r.addListener(window,"resize",s),s(),e.nextSibling?n.insertBefore(i,e.nextSibling):n.appendChild(i);while(n!==document){if(n.tagName.toUpperCase()==="FORM"){var o=n.onsubmit;n.onsubmit=function(n){e.innerHTML=t(),e.value=t(),o&&o.call(this,n)};break}n=n.parentNode}return i}function l(t,n,r){s.loadScript(t,function(){e([n],r)})}function c(n,r,i,s,o,u){function c(e){return e=="true"}var a=n.getSession(),f=n.renderer;u=u||l,n.setDisplaySettings=function(e){e==null&&(e=i.style.display=="none"),i.style.display=e?"block":"none"},n.setOption=function(t,i){if(o[t]==i)return;switch(t){case"gutter":f.setShowGutter(c(i));break;case"mode":i!="text"?u("mode-"+i+".js","ace/mode/"+i,function(){var t=e("../mode/"+i).Mode;a.setMode(new t)}):a.setMode(new(e("../mode/text").Mode));break;case"theme":i!="textmate"?u("theme-"+i+".js","ace/theme/"+i,function(){n.setTheme("ace/theme/"+i)}):n.setTheme("ace/theme/textmate");break;case"fontSize":r.style.fontSize=i;break;case"softWrap":switch(i){case"off":a.setUseWrapMode(!1),f.setPrintMarginColumn(80);break;case"40":a.setUseWrapMode(!0),a.setWrapLimitRange(40,40),f.setPrintMarginColumn(40);break;case"80":a.setUseWrapMode(!0),a.setWrapLimitRange(80,80),f.setPrintMarginColumn(80);break;case"free":a.setUseWrapMode(!0),a.setWrapLimitRange(null,null),f.setPrintMarginColumn(80)}break;case"useSoftTabs":a.setUseSoftTabs(c(i));break;case"showPrintMargin":f.setShowPrintMargin(c(i));break;case"showInvisibles":n.setShowInvisibles(c(i))}o[t]=i},n.getOption=function(e){return o[e]},n.getOptions=function(){return o};for(var h in t.options)n.setOption(h,t.options[h]);return n}function h(e,t,n,i){function f(e,t,n,r){e.push("<select title='"+t+"'>");for(var i in n)e.push("<option value='"+i+"' "),r==i&&e.push(" selected "),e.push(">",n[i],"</option>");e.push("</select>")}var s={"true":!0,"false":!1},o={mode:"Mode:",gutter:"Display Gutter:",theme:"Theme:",fontSize:"Font Size:",softWrap:"Soft Wrap:",showPrintMargin:"Show Print Margin:",useSoftTabs:"Use Soft Tabs:",showInvisibles:"Show Invisibles"},u={mode:{text:"Plain",javascript:"JavaScript",xml:"XML",html:"HTML",css:"CSS",scss:"SCSS",python:"Python",php:"PHP",java:"Java",ruby:"Ruby",c_cpp:"C/C++",coffee:"CoffeeScript",json:"json",perl:"Perl",clojure:"Clojure",ocaml:"OCaml",csharp:"C#",haxe:"haXe",svg:"SVG",textile:"Textile",groovy:"Groovy",liquid:"Liquid",Scala:"Scala"},theme:{clouds:"Clouds",clouds_midnight:"Clouds Midnight",cobalt:"Cobalt",crimson_editor:"Crimson Editor",dawn:"Dawn",eclipse:"Eclipse",idle_fingers:"Idle Fingers",kr_theme:"Kr Theme",merbivore:"Merbivore",merbivore_soft:"Merbivore Soft",mono_industrial:"Mono Industrial",monokai:"Monokai",pastel_on_dark:"Pastel On Dark",solarized_dark:"Solarized Dark",solarized_light:"Solarized Light",textmate:"Textmate",twilight:"Twilight",vibrant_ink:"Vibrant Ink"},gutter:s,fontSize:{"10px":"10px","11px":"11px","12px":"12px","14px":"14px","16px":"16px"},softWrap:{off:"Off",40:"40",80:"80",free:"Free"},showPrintMargin:s,useSoftTabs:s,showInvisibles:s},a=[];a.push("<table><tr><th>Setting</th><th>Value</th></tr>");for(var l in i)a.push("<tr><td>",o[l],"</td>"),a.push("<td>"),f(a,l,u[l],i[l]),a.push("</td></tr>");a.push("</table>"),e.innerHTML=a.join("");var c=e.getElementsByTagName("select");for(var h=0;h<c.length;h++){var p=function(){var e=c[h];return function(){var t=e.title,r=e.value;n.setOption(t,r)}}();c[h].onchange=p}var d=document.createElement("input");d.type="button",d.value="Hide",r.addListener(d,"click",function(){n.setDisplaySettings(!1)}),e.appendChild(d)}var r=e("../lib/event"),i=e("../lib/useragent"),s=e("../lib/net"),o=e("../ace");e("../theme/textmate"),n.exports=t=o;var u=function(e,t,n){var r=e.style[n];r||(window.getComputedStyle?r=window.getComputedStyle(e,"").getPropertyValue(n):r=e.currentStyle[n]);if(!r||r=="auto"||r=="intrinsic")r=t.style[n];return r};t.transformTextarea=function(e,t){var n,s=f(e,function(){return n.getValue()});e.style.display="none",s.style.background="white";var u=document.createElement("div");a(u,{top:"0px",left:"0px",right:"0px",bottom:"0px",border:"1px solid gray"}),s.appendChild(u);var l=document.createElement("div");a(l,{position:"absolute",right:"0px",bottom:"0px",background:"red",cursor:"nw-resize",borderStyle:"solid",borderWidth:"9px 8px 10px 9px",width:"2px",borderColor:"lightblue gray gray lightblue",zIndex:101});var p=document.createElement("div"),d={top:"0px",left:"0px",right:"0px",bottom:"0px",position:"absolute",padding:"5px",zIndex:100,color:"white",display:"none",overflow:"auto",fontSize:"14px"};i.isOldIE?d.backgroundColor="#333":d.backgroundColor="rgba(0, 0, 0, 0.6)",a(p,d),s.appendChild(p);var v={},m=o.edit(u);n=m.getSession(),n.setValue(e.value||e.innerHTML),m.focus(),u.appendChild(l),c(m,u,p,o,v,t),h(p,l,m,v);var g="";return r.addListener(l,"mousemove",function(e){var t=this.getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top;n+r<(t.width+t.height)/2?(this.style.cursor="pointer",g="toggle"):(g="resize",this.style.cursor="nw-resize")}),r.addListener(l,"mousedown",function(e){if(g=="toggle"){m.setDisplaySettings();return}s.style.zIndex=1e5;var t=s.getBoundingClientRect(),n=t.width+t.left-e.clientX,i=t.height+t.top-e.clientY;r.capture(l,function(e){s.style.width=e.clientX-t.left+n+"px",s.style.height=e.clientY-t.top+i+"px",m.resize()},function(){})}),m},t.options={mode:"text",theme:"textmate",gutter:"false",fontSize:"12px",softWrap:"off",showPrintMargin:"false",useSoftTabs:"true",showInvisibles:"true"}}),define("ace/theme/textmate",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-tm",t.cssText='.ace-tm .ace_gutter {background: #f0f0f0;color: #333;}.ace-tm .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-tm .ace_fold {background-color: #6B72E6;}.ace-tm .ace_scroller {background-color: #FFFFFF;}.ace-tm .ace_cursor {border-left: 2px solid black;}.ace-tm .ace_overwrite-cursors .ace_cursor {border-left: 0px;border-bottom: 1px solid black;}.ace-tm .ace_invisible {color: rgb(191, 191, 191);}.ace-tm .ace_storage,.ace-tm .ace_keyword {color: blue;}.ace-tm .ace_constant {color: rgb(197, 6, 11);}.ace-tm .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-tm .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-tm .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-tm .ace_invalid {background-color: rgba(255, 0, 0, 0.1);color: red;}.ace-tm .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-tm .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-tm .ace_support.ace_type,.ace-tm .ace_support.ace_class {color: rgb(109, 121, 222);}.ace-tm .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-tm .ace_string {color: rgb(3, 106, 7);}.ace-tm .ace_comment {color: rgb(76, 136, 107);}.ace-tm .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-tm .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-tm .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-tm .ace_variable {color: rgb(49, 132, 149);}.ace-tm .ace_xml-pe {color: rgb(104, 104, 91);}.ace-tm .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-tm .ace_markup.ace_heading {color: rgb(12, 7, 255);}.ace-tm .ace_markup.ace_list {color:rgb(185, 6, 144);}.ace-tm .ace_meta.ace_tag {color:rgb(0, 22, 142);}.ace-tm .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-tm .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-tm.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px white;border-radius: 2px;}.ace-tm .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-tm .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-tm .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-tm .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-tm .ace_gutter-active-line {background-color : #dcdcdc;}.ace-tm .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-tm .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}';var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)})
vendor/assets/javascripts/ace/keybinding-emacs.js
define("ace/keyboard/emacs",["require","exports","module","ace/lib/dom","ace/keyboard/hash_handler","ace/lib/keys"],function(e,t,n){var r=e("../lib/dom"),i=function(e,t){var n=this.scroller.getBoundingClientRect(),i=Math.floor((e+this.scrollLeft-n.left-this.$padding-r.getPageScrollLeft())/this.characterWidth),s=Math.floor((t+this.scrollTop-n.top-r.getPageScrollTop())/this.lineHeight);return this.session.screenToDocumentPosition(s,i)},s=e("./hash_handler").HashHandler;t.handler=new s;var o=!1;t.handler.attach=function(e){o||(o=!0,r.importCssString(" .emacs-mode .ace_cursor{ border: 2px rgba(50,250,50,0.8) solid!important; -moz-box-sizing: border-box!important; -webkit-box-sizing: border-box!important; box-sizing: border-box!important; background-color: rgba(0,250,0,0.9); opacity: 0.5; } .emacs-mode .ace_cursor.ace_hidden{ opacity: 1; background-color: transparent; } .emacs-mode .ace_overwrite-cursors .ace_cursor { opacity: 1; background-color: transparent; border-width: 0 0 2px 2px !important; } .emacs-mode .ace_text-layer { z-index: 4 } .emacs-mode .ace_cursor-layer { z-index: 2 }","emacsMode")),e.renderer.screenToTextCoordinates=i,e.setStyle("emacs-mode")},t.handler.detach=function(e){delete e.renderer.screenToTextCoordinates,e.unsetStyle("emacs-mode")};var u=e("../lib/keys").KEY_MODS,a={C:"ctrl",S:"shift",M:"alt"};["S-C-M","S-C","S-M","C-M","S","C","M"].forEach(function(e){var t=0;e.split("-").forEach(function(e){t|=u[a[e]]}),a[t]=e.toLowerCase()+"-"}),t.handler.bindKey=function(e,t){if(!e)return;var n=this.commmandKeyBinding;e.split("|").forEach(function(e){e=e.toLowerCase(),n[e]=t,e=e.split(" ")[0],n[e]||(n[e]="null")},this)},t.handler.handleKeyboard=function(e,t,n,r){if(t==-1&&e.count){var i=Array(e.count+1).join(n);return e.count=null,{command:"insertstring",args:i}}if(n=="\0")return;var s=a[t];if(s=="c-"||e.universalArgument){var o=parseInt(n[n.length-1]);if(o)return e.count=o,{command:"null"}}e.universalArgument=!1,s&&(n=s+n),e.keyChain&&(n=e.keyChain+=" "+n);var u=this.commmandKeyBinding[n];e.keyChain=u=="null"?n:"";if(!u)return;if(u=="null")return{command:"null"};if(u=="universalArgument")return e.universalArgument=!0,{command:"null"};if(typeof u!="string"){var f=u.args;u=u.command}typeof u=="string"&&(u=this.commands[u]||e.editor.commands.commands[u]),!u.readonly&&!u.isYank&&(e.lastCommand=null);if(e.count){var o=e.count;return e.count=0,{args:f,command:{exec:function(e,t){for(var n=0;n<o;n++)u.exec(e,t)}}}}return{command:u,args:f}},t.emacsKeys={"Up|C-p":"golineup","Down|C-n":"golinedown","Left|C-b":"gotoleft","Right|C-f":"gotoright","C-Left|M-b":"gotowordleft","C-Right|M-f":"gotowordright","Home|C-a":"gotolinestart","End|C-e":"gotolineend","C-Home|S-M-,":"gotostart","C-End|S-M-.":"gotoend","S-Up|S-C-p":"selectup","S-Down|S-C-n":"selectdown","S-Left|S-C-b":"selectleft","S-Right|S-C-f":"selectright","S-C-Left|S-M-b":"selectwordleft","S-C-Right|S-M-f":"selectwordright","S-Home|S-C-a":"selecttolinestart","S-End|S-C-e":"selecttolineend","S-C-Home":"selecttostart","S-C-End":"selecttoend","C-l":"recenterTopBottom","M-s":"centerselection","M-g":"gotoline","C-x C-p":"selectall","C-Down":"gotopagedown","C-Up":"gotopageup","PageDown|C-v":"gotopagedown","PageUp|M-v":"gotopageup","S-C-Down":"selectpagedown","S-C-Up":"selectpageup","C-s":"findnext","C-r":"findprevious","M-C-s":"findnext","M-C-r":"findprevious","S-M-5":"replace",Backspace:"backspace","Delete|C-d":"del","Return|C-m":{command:"insertstring",args:"\n"},"C-o":"splitline","M-d|C-Delete":{command:"killWord",args:"right"},"C-Backspace|M-Backspace|M-Delete":{command:"killWord",args:"left"},"C-k":"killLine","C-y|S-Delete":"yank","M-y":"yankRotate","C-g":"keyboardQuit","C-w":"killRegion","M-w":"killRingSave","C-Space":"setMark","C-x C-x":"exchangePointAndMark","C-t":"transposeletters","M-u":"touppercase","M-l":"tolowercase","M-/":"autocomplete","C-u":"universalArgument","M-;":"togglecomment","C-/|C-x u|S-C--|C-z":"undo","S-C-/|S-C-x u|C--|S-C-z":"redo","C-x r":"selectRectangularRegion"},t.handler.bindKeys(t.emacsKeys),t.handler.addCommands({recenterTopBottom:function(e){var t=e.renderer,n=t.$cursorLayer.getPixelPosition(),r=t.$size.scrollerHeight-t.lineHeight,i=t.scrollTop;Math.abs(n.top-i)<2?i=n.top-r:Math.abs(n.top-i-r*.5)<2?i=n.top:i=n.top-r*.5,e.session.setScrollTop(i)},selectRectangularRegion:function(e){e.multiSelect.toggleBlockSelection()},setMark:function(){},exchangePointAndMark:{exec:function(e){var t=e.selection.getRange();e.selection.setSelectionRange(t,!e.selection.isBackwards())},readonly:!0,multiselectAction:"forEach"},killWord:{exec:function(e,n){e.clearSelection(),n=="left"?e.selection.selectWordLeft():e.selection.selectWordRight();var r=e.getSelectionRange(),i=e.session.getTextRange(r);t.killRing.add(i),e.session.remove(r),e.clearSelection()},multiselectAction:"forEach"},killLine:function(e){e.selection.selectLine();var n=e.getSelectionRange(),r=e.session.getTextRange(n);t.killRing.add(r),e.session.remove(n),e.clearSelection()},yank:function(e){e.onPaste(t.killRing.get()),e.keyBinding.$data.lastCommand="yank"},yankRotate:function(e){if(e.keyBinding.$data.lastCommand!="yank")return;e.undo(),e.onPaste(t.killRing.rotate()),e.keyBinding.$data.lastCommand="yank"},killRegion:function(e){t.killRing.add(e.getCopyText()),e.commands.byName.cut.exec(e)},killRingSave:function(e){t.killRing.add(e.getCopyText())}});var f=t.handler.commands;f.yank.isYank=!0,f.yankRotate.isYank=!0,t.killRing={$data:[],add:function(e){e&&this.$data.push(e),this.$data.length>30&&this.$data.shift()},get:function(){return this.$data[this.$data.length-1]||""},pop:function(){return this.$data.length>1&&this.$data.pop(),this.get()},rotate:function(){return this.$data.unshift(this.$data.pop()),this.get()}}})
vendor/assets/javascripts/ace/keybinding-vim.js
define("ace/keyboard/vim",["require","exports","module","ace/keyboard/vim/commands","ace/keyboard/vim/maps/util","ace/lib/useragent"],function(e,t,n){var r=e("./vim/commands"),i=r.coreCommands,s=e("./vim/maps/util"),o=e("../lib/useragent"),u={i:{command:i.start},I:{command:i.startBeginning},a:{command:i.append},A:{command:i.appendEnd},"ctrl-f":{command:"gotopagedown"},"ctrl-b":{command:"gotopageup"}};t.handler={handleMacRepeat:function(e,t,n){if(t==-1)e.inputChar=n,e.lastEvent="input";else if(e.inputChar&&e.$lastHash==t&&e.$lastKey==n){if(e.lastEvent=="input")e.lastEvent="input1";else if(e.lastEvent=="input1")return!0}else e.$lastHash=t,e.$lastKey=n,e.lastEvent="keypress"},handleKeyboard:function(e,t,n,s,a){if(t!=0&&(n==""||n=="\0"))return null;t==1&&(n="ctrl-"+n);if(n=="esc"&&t==0||n=="ctrl-[")return{command:i.stop};if(e.state=="start"){o.isMac&&this.handleMacRepeat(e,t,n)&&(t=-1,n=e.inputChar);if(t==-1||t==1)return r.inputBuffer.idle&&u[n]?u[n]:{command:{exec:function(e){r.inputBuffer.push(e,n)}}};if(n.length==1&&(t==0||t==4))return{command:"null",passEvent:!0};if(n=="esc"&&t==0)return{command:i.stop}}else if(n=="ctrl-w")return{command:"removewordleft"}},attach:function(e){e.on("click",t.onCursorMove),s.currentMode!=="insert"&&r.coreCommands.stop.exec(e),e.$vimModeHandler=this},detach:function(e){e.removeListener("click",t.onCursorMove),s.noMode(e),s.currentMode="normal"},actions:r.actions,getStatusText:function(){return s.currentMode=="insert"?"INSERT":s.onVisualMode?(s.onVisualLineMode?"VISUAL LINE ":"VISUAL ")+r.inputBuffer.status:r.inputBuffer.status}},t.onCursorMove=function(e){r.onCursorMove(e.editor,e),t.onCursorMove.scheduled=!1}}),define("ace/keyboard/vim/commands",["require","exports","module","ace/keyboard/vim/maps/util","ace/keyboard/vim/maps/motions","ace/keyboard/vim/maps/operators","ace/keyboard/vim/maps/aliases","ace/keyboard/vim/registers"],function(e,t,n){"never use strict";function g(e){m.previous={action:{action:{fn:e}}}}var r=e("./maps/util"),i=e("./maps/motions"),s=e("./maps/operators"),o=e("./maps/aliases"),u=e("./registers"),a=1,f=2,l=3,c=4,h=8,p=function(t,n,r){while(0<n--)t.apply(this,r)},d=function(e){var t=e.renderer,n=t.$cursorLayer.getPixelPosition(),r=n.top,i=h*t.layerConfig.lineHeight;2*i>t.$size.scrollerHeight&&(i=t.$size.scrollerHeight/2),t.scrollTop>r-i&&t.session.setScrollTop(r-i),t.scrollTop+t.$size.scrollerHeight<r+i+t.lineHeight&&t.session.setScrollTop(r+i+t.lineHeight-t.$size.scrollerHeight)},v=t.actions={z:{param:!0,fn:function(e,t,n,r){switch(r){case"z":e.renderer.alignCursor(null,.5);break;case"t":e.renderer.alignCursor(null,0);break;case"b":e.renderer.alignCursor(null,1)}}},r:{param:!0,fn:function(e,t,n,r){r&&r.length&&(p(function(){e.insert(r)},n||1),e.navigateLeft())}},R:{fn:function(e,t,n,i){r.insertMode(e),e.setOverwrite(!0)}},"~":{fn:function(e,t,n){p(function(){var t=e.selection.getRange();t.isEmpty()&&t.end.column++;var n=e.session.getTextRange(t),r=n.toUpperCase();r==n?e.navigateRight():e.session.replace(t,r)},n||1)}},"*":{fn:function(e,t,n,r){e.selection.selectWord(),e.findNext(),d(e);var i=e.selection.getRange();e.selection.setSelectionRange(i,!0)}},"#":{fn:function(e,t,n,r){e.selection.selectWord(),e.findPrevious(),d(e);var i=e.selection.getRange();e.selection.setSelectionRange(i,!0)}},n:{fn:function(e,t,n,r){var i=e.getLastSearchOptions();i.backwards=!1,e.selection.moveCursorRight(),e.selection.clearSelection(),e.findNext(i),d(e);var s=e.selection.getRange();s.end.row=s.start.row,s.end.column=s.start.column,e.selection.setSelectionRange(s,!0)}},N:{fn:function(e,t,n,r){var i=e.getLastSearchOptions();i.backwards=!0,e.findPrevious(i),d(e);var s=e.selection.getRange();s.end.row=s.start.row,s.end.column=s.start.column,e.selection.setSelectionRange(s,!0)}},v:{fn:function(e,t,n,i){e.selection.selectRight(),r.visualMode(e,!1)},acceptsMotion:!0},V:{fn:function(e,t,n,i){var s=e.getCursorPosition().row;e.selection.clearSelection(),e.selection.moveCursorTo(s,0),e.selection.selectLineEnd(),e.selection.visualLineStart=s,r.visualMode(e,!0)},acceptsMotion:!0},Y:{fn:function(e,t,n,i){r.copyLine(e)}},p:{fn:function(e,t,n,r){var i=u._default;e.setOverwrite(!1);if(i.isLine){var s=e.getCursorPosition(),o=i.text.split("\n");e.session.getDocument().insertLines(s.row+1,o),e.moveCursorTo(s.row+1,0)}else e.navigateRight(),e.insert(i.text),e.navigateLeft();e.setOverwrite(!0),e.selection.clearSelection()}},P:{fn:function(e,t,n,r){var i=u._default;e.setOverwrite(!1);if(i.isLine){var s=e.getCursorPosition(),o=i.text.split("\n");e.session.getDocument().insertLines(s.row,o),e.moveCursorTo(s.row,0)}else e.insert(i.text);e.setOverwrite(!0),e.selection.clearSelection()}},J:{fn:function(e,t,n,r){var i=e.session;t=e.getSelectionRange();var s={row:t.start.row,column:t.start.column};n=n||t.end.row-t.start.row;var o=Math.min(s.row+(n||1),i.getLength()-1);t.start.column=i.getLine(s.row).length,t.end.column=i.getLine(o).length,t.end.row=o;var u="";for(var a=s.row;a<o;a++){var f=i.getLine(a+1);u+=" "+/^\s*(.*)$/.exec(f)[1]||""}i.replace(t,u),e.moveCursorTo(s.row,s.column)}},u:{fn:function(e,t,n,r){n=parseInt(n||1,10);for(var i=0;i<n;i++)e.undo();e.selection.clearSelection()}},"ctrl-r":{fn:function(e,t,n,r){n=parseInt(n||1,10);for(var i=0;i<n;i++)e.redo();e.selection.clearSelection()}},":":{fn:function(e,t,n,r){}},"/":{fn:function(e,t,n,r){}},"?":{fn:function(e,t,n,r){}},".":{fn:function(e,t,n,i){r.onInsertReplaySequence=m.lastInsertCommands;var s=m.previous;s&&m.exec(e,s.action,s.param)}}},m=t.inputBuffer={accepting:[a,f,l,c],currentCmd:null,currentCount:"",status:"",operator:null,motion:null,lastInsertCommands:[],push:function(e,t,n){this.idle=!1;var r=this.waitingForParam;if(r)this.exec(e,r,t);else if(t==="0"&&!this.currentCount.length||!t.match(/^\d+$/)||!this.isAccepting(a))if(!this.operator&&this.isAccepting(f)&&s[t])this.operator={ch:t,count:this.getCount()},this.currentCmd=f,this.accepting=[a,l,c],this.exec(e,{operator:this.operator});else if(i[t]&&this.isAccepting(l)){this.currentCmd=l;var u={operator:this.operator,motion:{ch:t,count:this.getCount()}};i[t].param?this.waitForParam(u):this.exec(e,u)}else if(o[t]&&this.isAccepting(l))o[t].operator.count=this.getCount(),this.exec(e,o[t]);else if(v[t]&&this.isAccepting(c)){var h={action:{fn:v[t].fn,count:this.getCount()}};v[t].param?this.waitForParam(h):this.exec(e,h),v[t].acceptsMotion&&(this.idle=!1)}else this.operator?this.exec(e,{operator:this.operator},t):this.reset();else this.currentCount+=t,this.currentCmd=a,this.accepting=[a,f,l,c];if(this.waitingForParam||this.motion||this.operator)this.status+=t;else if(this.currentCount)this.status=this.currentCount;else{if(!this.status)return;this.status=""}e._emit("changeStatus")},waitForParam:function(e){this.waitingForParam=e},getCount:function(){var e=this.currentCount;return this.currentCount="",e&&parseInt(e,10)},exec:function(e,t,n){var o=t.motion,u=t.operator,a=t.action;n||(n=t.param),u&&(this.previous={action:t,param:n});if(u&&!e.selection.isEmpty()){s[u.ch].selFn&&(s[u.ch].selFn(e,e.getSelectionRange(),u.count,n),this.reset());return}if(!o&&!a&&u&&n)s[u.ch].fn(e,null,u.count,n),this.reset();else if(o){var f=function(t){t&&typeof t=="function"&&(o.count&&!l.handlesCount?p(t,o.count,[e,null,o.count,n]):t(e,null,o.count,n))},l=i[o.ch],c=l.sel;u?c&&p(function(){f(l.sel),s[u.ch].fn(e,e.getSelectionRange(),u.count,n)},u.count||1):(r.onVisualMode||r.onVisualLineMode)&&c?f(l.sel):f(l.nav),this.reset()}else a&&(a.fn(e,e.getSelectionRange(),a.count,n),this.reset());y(e)},isAccepting:function(e){return this.accepting.indexOf(e)!==-1},reset:function(){this.operator=null,this.motion=null,this.currentCount="",this.status="",this.accepting=[a,f,l,c],this.idle=!0,this.waitingForParam=null}};t.coreCommands={start:{exec:function b(e){r.insertMode(e),g(b)}},startBeginning:{exec:function w(e){e.navigateLineStart(),r.insertMode(e),g(w)}},stop:{exec:function(t){m.reset(),r.onVisualMode=!1,r.onVisualLineMode=!1,m.lastInsertCommands=r.normalMode(t)}},append:{exec:function E(e){var t=e.getCursorPosition(),n=e.session.getLine(t.row).length;n&&e.navigateRight(),r.insertMode(e),g(E)}},appendEnd:{exec:function S(e){e.navigateLineEnd(),r.insertMode(e),g(S)}}};var y=t.onCursorMove=function(e,t){if(r.currentMode==="insert"||y.running)return;if(!e.selection.isEmpty()){y.running=!0;if(r.onVisualLineMode){var n=e.selection.visualLineStart,i=e.getCursorPosition().row;if(n<=i){var s=e.session.getLine(i);e.selection.clearSelection(),e.selection.moveCursorTo(n,0),e.selection.selectTo(i,s.length)}else{var s=e.session.getLine(n);e.selection.clearSelection(),e.selection.moveCursorTo(n,s.length),e.selection.selectTo(i,0)}}y.running=!1;return}t&&(r.onVisualLineMode||r.onVisualMode)&&(e.selection.clearSelection(),r.normalMode(e)),y.running=!0;var o=e.getCursorPosition(),u=e.session.getLine(o.row).length;u&&o.column===u&&e.navigateLeft(),y.running=!1}}),define("ace/keyboard/vim/maps/util",["require","exports","module","ace/keyboard/vim/registers","ace/lib/dom"],function(e,t,n){var r=e("../registers"),i=e("../../../lib/dom");i.importCssString(".insert-mode .ace_cursor{ border-left: 2px solid #333333;}.ace_dark.insert-mode .ace_cursor{ border-left: 2px solid #eeeeee;}.normal-mode .ace_cursor{ border: 0!important; background-color: red; opacity: 0.5;}","vimMode"),n.exports={onVisualMode:!1,onVisualLineMode:!1,currentMode:"normal",noMode:function(e){e.unsetStyle("insert-mode"),e.unsetStyle("normal-mode"),e.commands.recording&&e.commands.toggleRecording(e),e.setOverwrite(!1)},insertMode:function(e){this.currentMode="insert",e.setStyle("insert-mode"),e.unsetStyle("normal-mode"),e.setOverwrite(!1),e.keyBinding.$data.buffer="",e.keyBinding.$data.state="insertMode",this.onVisualMode=!1,this.onVisualLineMode=!1,this.onInsertReplaySequence?(e.commands.macro=this.onInsertReplaySequence,e.commands.replay(e),this.onInsertReplaySequence=null,this.normalMode(e)):(e._emit("changeStatus"),e.commands.recording||e.commands.toggleRecording(e))},normalMode:function(e){this.currentMode="normal",e.unsetStyle("insert-mode"),e.setStyle("normal-mode"),e.clearSelection();var t;return e.getOverwrite()||(t=e.getCursorPosition(),t.column>0&&e.navigateLeft()),e.setOverwrite(!0),e.keyBinding.$data.buffer="",e.keyBinding.$data.state="start",this.onVisualMode=!1,this.onVisualLineMode=!1,e._emit("changeStatus"),e.commands.recording?(e.commands.toggleRecording(e),e.commands.macro):[]},visualMode:function(e,t){if(this.onVisualLineMode&&t||this.onVisualMode&&!t){this.normalMode(e);return}e.setStyle("insert-mode"),e.unsetStyle("normal-mode"),e._emit("changeStatus"),t?this.onVisualLineMode=!0:(this.onVisualMode=!0,this.onVisualLineMode=!1)},getRightNthChar:function(e,t,n,r){var i=e.getSession().getLine(t.row),s=i.substr(t.column+1).split(n);return r<s.length?s.slice(0,r).join(n).length:null},getLeftNthChar:function(e,t,n,r){var i=e.getSession().getLine(t.row),s=i.substr(0,t.column).split(n);return r<s.length?s.slice(-1*r).join(n).length:null},toRealChar:function(e){return e.length===1?e:/^shift-./.test(e)?e[e.length-1].toUpperCase():""},copyLine:function(e){var t=e.getCursorPosition();e.selection.clearSelection(),e.moveCursorTo(t.row,t.column),e.selection.selectLine(),r._default.isLine=!0,r._default.text=e.getCopyText().replace(/\n$/,""),e.selection.clearSelection(),e.moveCursorTo(t.row,t.column)}}}),define("ace/keyboard/vim/registers",["require","exports","module"],function(e,t,n){"never use strict";n.exports={_default:{text:"",isLine:!1}}}),define("ace/keyboard/vim/maps/motions",["require","exports","module","ace/keyboard/vim/maps/util","ace/search","ace/range"],function(e,t,n){function s(e){if(typeof e=="function"){var t=e;e=this}else var t=e.getPos;return e.nav=function(e,n,r,i){var s=t(e,n,r,i,!1);if(!s)return;e.clearSelection(),e.moveCursorTo(s.row,s.column)},e.sel=function(e,n,r,i){var s=t(e,n,r,i,!0);if(!s)return;e.selection.selectTo(s.row,s.column)},e}function h(e,t,n){return c.$options.needle=t,c.$options.backwards=n==-1,c.find(e.session)}var r=e("./util"),i=function(e,t){var n=e.renderer.getScrollTopRow(),r=e.getCursorPosition().row,i=r-n;t&&t.call(e),e.renderer.scrollToRow(e.getCursorPosition().row-i)},o=/[\s.\/\\()\"'-:,.;<>~!@#$%^&*|+=\[\]{}`~?]/,u=/[.\/\\()\"'-:,.;<>~!@#$%^&*|+=\[\]{}`~?]/,a=/\s/,f=function(e,t){var n=e.selection;this.range=n.getRange(),t=t||n.selectionLead,this.row=t.row,this.col=t.column;var r=e.session.getLine(this.row),i=e.session.getLength();this.ch=r[this.col]||"\n",this.skippedLines=0,this.next=function(){return this.ch=r[++this.col]||this.handleNewLine(1),this.ch},this.prev=function(){return this.ch=r[--this.col]||this.handleNewLine(-1),this.ch},this.peek=function(t){var n=r[this.col+t];return n?n:t==-1?"\n":this.col==r.length-1?"\n":e.session.getLine(this.row+1)[0]||"\n"},this.handleNewLine=function(t){if(t==1)return this.col==r.length?"\n":this.row==i-1?"":(this.col=0,this.row++,r=e.session.getLine(this.row),this.skippedLines++,r[0]||"\n");if(t==-1)return this.row===0?"":(this.row--,r=e.session.getLine(this.row),this.col=r.length,this.skippedLines--,"\n")},this.debug=function(){console.log(r.substring(0,this.col)+"|"+this.ch+"'"+this.col+"'"+r.substr(this.col+1))}},l=e("../../../search").Search,c=new l,p=e("../../../range").Range;n.exports={w:new s(function(e){var t=new f(e);if(t.ch&&u.test(t.ch))while(t.ch&&u.test(t.ch))t.next();else while(t.ch&&!o.test(t.ch))t.next();while(t.ch&&a.test(t.ch)&&t.skippedLines<2)t.next();return t.skippedLines==2&&t.prev(),{column:t.col,row:t.row}}),W:new s(function(e){var t=new f(e);while(t.ch&&(!a.test(t.ch)||!!a.test(t.peek(1)))&&t.skippedLines<2)t.next();return t.skippedLines==2?t.prev():t.next(),{column:t.col,row:t.row}}),b:new s(function(e){var t=new f(e);t.prev();while(t.ch&&a.test(t.ch)&&t.skippedLines>-2)t.prev();if(t.ch&&u.test(t.ch))while(t.ch&&u.test(t.ch))t.prev();else while(t.ch&&!o.test(t.ch))t.prev();return t.ch&&t.next(),{column:t.col,row:t.row}}),B:new s(function(e){var t=new f(e);t.prev();while(t.ch&&(!!a.test(t.ch)||!a.test(t.peek(-1)))&&t.skippedLines>-2)t.prev();return t.skippedLines==-2&&t.next(),{column:t.col,row:t.row}}),e:new s(function(e){var t=new f(e);t.next();while(t.ch&&a.test(t.ch))t.next();if(t.ch&&u.test(t.ch))while(t.ch&&u.test(t.ch))t.next();else while(t.ch&&!o.test(t.ch))t.next();return t.ch&&t.prev(),{column:t.col,row:t.row}}),E:new s(function(e){var t=new f(e);t.next();while(t.ch&&(!!a.test(t.ch)||!a.test(t.peek(1))))t.next();return{column:t.col,row:t.row}}),l:{nav:function(e){e.navigateRight()},sel:function(e){var t=e.getCursorPosition(),n=t.column,r=e.session.getLine(t.row).length;r&&n!==r&&e.selection.selectRight()}},h:{nav:function(e){var t=e.getCursorPosition();t.column>0&&e.navigateLeft()},sel:function(e){var t=e.getCursorPosition();t.column>0&&e.selection.selectLeft()}},H:{nav:function(e){var t=e.renderer.getScrollTopRow();e.moveCursorTo(t)},sel:function(e){var t=e.renderer.getScrollTopRow();e.selection.selectTo(t)}},M:{nav:function(e){var t=e.renderer.getScrollTopRow(),n=e.renderer.getScrollBottomRow(),r=t+(n-t)/2;e.moveCursorTo(r)},sel:function(e){var t=e.renderer.getScrollTopRow(),n=e.renderer.getScrollBottomRow(),r=t+(n-t)/2;e.selection.selectTo(r)}},L:{nav:function(e){var t=e.renderer.getScrollBottomRow();e.moveCursorTo(t)},sel:function(e){var t=e.renderer.getScrollBottomRow();e.selection.selectTo(t)}},k:{nav:function(e){e.navigateUp()},sel:function(e){e.selection.selectUp()}},j:{nav:function(e){e.navigateDown()},sel:function(e){e.selection.selectDown()}},i:{param:!0,sel:function(e,t,n,r){switch(r){case"w":e.selection.selectWord();break;case"W":e.selection.selectAWord();break;case"(":case"{":case"[":var i=e.getCursorPosition(),s=e.session.$findClosingBracket(r,i,/paren/);if(!s)return;var o=e.session.$findOpeningBracket(e.session.$brackets[r],i,/paren/);if(!o)return;o.column++,e.selection.setSelectionRange(p.fromPoints(o,s));break;case"'":case'"':case"/":var s=h(e,r,1);if(!s)return;var o=h(e,r,-1);if(!o)return;e.selection.setSelectionRange(p.fromPoints(o.end,s.start))}}},a:{param:!0,sel:function(e,t,n,r){switch(r){case"w":e.selection.selectAWord();break;case"W":e.selection.selectAWord();break;case"(":case"{":case"[":var i=e.getCursorPosition(),s=e.session.$findClosingBracket(r,i,/paren/);if(!s)return;var o=e.session.$findOpeningBracket(e.session.$brackets[r],i,/paren/);if(!o)return;s.column++,e.selection.setSelectionRange(p.fromPoints(o,s));break;case"'":case'"':case"/":var s=h(e,r,1);if(!s)return;var o=h(e,r,-1);if(!o)return;s.column++,e.selection.setSelectionRange(p.fromPoints(o.start,s.end))}}},f:new s({param:!0,handlesCount:!0,getPos:function(e,t,n,i,s){var o=e.getCursorPosition(),u=r.getRightNthChar(e,o,i,n||1);if(typeof u=="number")return o.column+=u+(s?2:1),o}}),F:new s({param:!0,handlesCount:!0,getPos:function(e,t,n,i,s){var o=e.getCursorPosition(),u=r.getLeftNthChar(e,o,i,n||1);if(typeof u=="number")return o.column-=u+1,o}}),t:new s({param:!0,handlesCount:!0,getPos:function(e,t,n,i,s){var o=e.getCursorPosition(),u=r.getRightNthChar(e,o,i,n||1);if(typeof u=="number")return o.column+=u+(s?1:0),o}}),T:new s({param:!0,handlesCount:!0,getPos:function(e,t,n,i,s){var o=e.getCursorPosition(),u=r.getLeftNthChar(e,o,i,n||1);if(typeof u=="number")return o.column-=u,o}}),"^":{nav:function(e){e.navigateLineStart()},sel:function(e){e.selection.selectLineStart()}},$:{nav:function(e){e.navigateLineEnd()},sel:function(e){e.selection.selectLineEnd()}},0:new s(function(e){return{row:e.selection.lead.row,column:0}}),G:{nav:function(e,t,n,r){!n&&n!==0&&(n=e.session.getLength()),e.gotoLine(n)},sel:function(e,t,n,r){!n&&n!==0&&(n=e.session.getLength()),e.selection.selectTo(n,0)}},g:{param:!0,nav:function(e,t,n,r){switch(r){case"m":console.log("Middle line");break;case"e":console.log("End of prev word");break;case"g":e.gotoLine(n||0);case"u":e.gotoLine(n||0);case"U":e.gotoLine(n||0)}},sel:function(e,t,n,r){switch(r){case"m":console.log("Middle line");break;case"e":console.log("End of prev word");break;case"g":e.selection.selectTo(n||0,0)}}},o:{nav:function(e,t,n,i){n=n||1;var s="";while(0<n--)s+="\n";s.length&&(e.navigateLineEnd(),e.insert(s),r.insertMode(e))}},O:{nav:function(e,t,n,i){var s=e.getCursorPosition().row;n=n||1;var o="";while(0<n--)o+="\n";o.length&&(s>0?(e.navigateUp(),e.navigateLineEnd(),e.insert(o)):(e.session.insert({row:0,column:0},o),e.navigateUp()),r.insertMode(e))}},"%":new s(function(e){var t=/[\[\]{}()]/g,n=e.getCursorPosition(),r=e.session.getLine(n.row)[n.column];if(!t.test(r)){var i=h(e,t);if(!i)return;n=i.start}var s=e.session.findMatchingBracket({row:n.row,column:n.column+1});return s}),"{":new s(function(e){var t=e.session,n=t.selection.lead.row;while(n>0&&!/\S/.test(t.getLine(n)))n--;while(/\S/.test(t.getLine(n)))n--;return{column:0,row:n}}),"}":new s(function(e){var t=e.session,n=t.getLength(),r=t.selection.lead.row;while(r<n&&!/\S/.test(t.getLine(r)))r++;while(/\S/.test(t.getLine(r)))r++;return{column:0,row:r}}),"ctrl-d":{nav:function(e,t,n,r){e.selection.clearSelection(),i(e,e.gotoPageDown)},sel:function(e,t,n,r){i(e,e.selectPageDown)}},"ctrl-u":{nav:function(e,t,n,r){e.selection.clearSelection(),i(e,e.gotoPageUp)},sel:function(e,t,n,r){i(e,e.selectPageUp)}}},n.exports.backspace=n.exports.left=n.exports.h,n.exports.right=n.exports.l,n.exports.up=n.exports.k,n.exports.down=n.exports.j,n.exports.pagedown=n.exports["ctrl-d"],n.exports.pageup=n.exports["ctrl-u"]}),define("ace/keyboard/vim/maps/operators",["require","exports","module","ace/keyboard/vim/maps/util","ace/keyboard/vim/registers"],function(e,t,n){"never use strict";var r=e("./util"),i=e("../registers");n.exports={d:{selFn:function(e,t,n,s){i._default.text=e.getCopyText(),i._default.isLine=r.onVisualLineMode,r.onVisualLineMode?e.removeLines():e.session.remove(t),r.normalMode(e)},fn:function(e,t,n,r){n=n||1;switch(r){case"d":i._default.text="",i._default.isLine=!0;for(var s=0;s<n;s++){e.selection.selectLine(),i._default.text+=e.getCopyText();var o=e.getSelectionRange();if(!o.isMultiLine()){lastLineReached=!0;var u=o.start.row-1,a=e.session.getLine(u).length;o.setStart(u,a),e.session.remove(o),e.selection.clearSelection();break}e.session.remove(o),e.selection.clearSelection()}i._default.text=i._default.text.replace(/\n$/,"");break;default:t&&(e.selection.setSelectionRange(t),i._default.text=e.getCopyText(),i._default.isLine=!1,e.session.remove(t),e.selection.clearSelection())}}},c:{selFn:function(e,t,n,i){e.session.remove(t),r.insertMode(e)},fn:function(e,t,n,i){n=n||1;switch(i){case"c":for(var s=0;s<n;s++)e.removeLines(),r.insertMode(e);break;default:t&&(e.session.remove(t),r.insertMode(e))}}},y:{selFn:function(e,t,n,s){i._default.text=e.getCopyText(),i._default.isLine=r.onVisualLineMode,e.selection.clearSelection(),r.normalMode(e)},fn:function(e,t,n,r){n=n||1;switch(r){case"y":var s=e.getCursorPosition();e.selection.selectLine();for(var o=0;o<n-1;o++)e.selection.moveCursorDown();i._default.text=e.getCopyText().replace(/\n$/,""),e.selection.clearSelection(),i._default.isLine=!0,e.moveCursorToPosition(s);break;default:if(t){var s=e.getCursorPosition();e.selection.setSelectionRange(t),i._default.text=e.getCopyText(),i._default.isLine=!1,e.selection.clearSelection(),e.moveCursorTo(s.row,s.column)}}}},">":{selFn:function(e,t,n,i){n=n||1;for(var s=0;s<n;s++)e.indent();r.normalMode(e)},fn:function(e,t,n,r){n=parseInt(n||1,10);switch(r){case">":var i=e.getCursorPosition();e.selection.selectLine();for(var s=0;s<n-1;s++)e.selection.moveCursorDown();e.indent(),e.selection.clearSelection(),e.moveCursorToPosition(i),e.navigateLineEnd(),e.navigateLineStart()}}},"<":{selFn:function(e,t,n,i){n=n||1;for(var s=0;s<n;s++)e.blockOutdent();r.normalMode(e)},fn:function(e,t,n,r){n=n||1;switch(r){case"<":var i=e.getCursorPosition();e.selection.selectLine();for(var s=0;s<n-1;s++)e.selection.moveCursorDown();e.blockOutdent(),e.selection.clearSelection(),e.moveCursorToPosition(i),e.navigateLineEnd(),e.navigateLineStart()}}}}}),"use strict",define("ace/keyboard/vim/maps/aliases",["require","exports","module"],function(e,t,n){n.exports={x:{operator:{ch:"d",count:1},motion:{ch:"l",count:1}},X:{operator:{ch:"d",count:1},motion:{ch:"h",count:1}},D:{operator:{ch:"d",count:1},motion:{ch:"$",count:1}},C:{operator:{ch:"c",count:1},motion:{ch:"$",count:1}},s:{operator:{ch:"c",count:1},motion:{ch:"l",count:1}},S:{operator:{ch:"c",count:1},param:"c"}}})
vendor/assets/javascripts/ace/mode-diff.js
/* ***** BEGIN LICENSE BLOCK *****
* Distributed under the BSD license:
*
* Copyright (c) 2010, Ajax.org B.V.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of Ajax.org B.V. nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* ***** END LICENSE BLOCK ***** */
define('ace/mode/diff', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text', 'ace/tokenizer', 'ace/mode/diff_highlight_rules', 'ace/mode/folding/diff'], function(require, exports, module) {
var oop = require("../lib/oop");
var TextMode = require("./text").Mode;
var Tokenizer = require("../tokenizer").Tokenizer;
var HighlightRules = require("./diff_highlight_rules").DiffHighlightRules;
var FoldMode = require("./folding/diff").FoldMode;
var Mode = function() {
this.$tokenizer = new Tokenizer(new HighlightRules().getRules(), "i");
this.foldingRules = new FoldMode(["diff", "index", "\\+{3}", "@@|\\*{5}"], "i");
};
oop.inherits(Mode, TextMode);
(function() {
}).call(Mode.prototype);
exports.Mode = Mode;
});
define('ace/mode/diff_highlight_rules', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text_highlight_rules'], function(require, exports, module) {
var oop = require("../lib/oop");
var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
var DiffHighlightRules = function() {
this.$rules = {
"start" : [{
"regex": "^(?:\\*{15}|={67}|-{3}|\\+{3})$",
"token": "punctuation.definition.separator.diff",
"name": "keyword"
}, { //diff.range.unified
"regex": "^(@@)(\\s*.+?\\s*)(@@)(.*)$",
"token": [
"constant",
"constant.numeric",
"constant",
"comment.doc.tag"
]
}, { //diff.range.normal
"regex": "^(\\d+)([,\\d]+)(a|d|c)(\\d+)([,\\d]+)(.*)$",
"token": [
"constant.numeric",
"punctuation.definition.range.diff",
"constant.function",
"constant.numeric",
"punctuation.definition.range.diff",
"invalid"
],
"name": "meta."
}, {
"regex": "^(?:(\\-{3}|\\+{3}|\\*{3})( .+))$",
"token": [
"constant.numeric",
"meta.tag"
]
}, { // added
"regex": "^([!+>])(.*?)(\\s*)$",
"token": [
"constant.numeric",
"constant.numeric",
"invalid"
]
}, { // removed
"regex": "^([<\\-])(.*?)(\\s*)$",
"token": [
"support.function",
"support.function",
"invalid"
]
}, {
"regex": "^(diff)(\\s+--\\w+)?(.+?)( .+)?$",
"token": ["variable", "variable", "keyword", "variable"]
}, {
"regex": "^Index.+$",
"token": "variable"
}, {
"regex": "^(.*?)(\\s*)$",
"token": ["invisible", "invalid"]
}
]
};
};
oop.inherits(DiffHighlightRules, TextHighlightRules);
exports.DiffHighlightRules = DiffHighlightRules;
});
define('ace/mode/folding/diff', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/folding/fold_mode', 'ace/range'], function(require, exports, module) {
var oop = require("../../lib/oop");
var BaseFoldMode = require("./fold_mode").FoldMode;
var Range = require("../../range").Range;
var FoldMode = exports.FoldMode = function(levels, flag) {
this.regExpList = levels;
this.flag = flag;
this.foldingStartMarker = RegExp("^(" + levels.join("|") + ")", this.flag);
};
oop.inherits(FoldMode, BaseFoldMode);
(function() {
this.getFoldWidgetRange = function(session, foldStyle, row) {
var line = session.getLine(row);
var start = {row: row, column: line.length};
var regList = this.regExpList;
for (var i = 1; i <= regList.length; i++) {
var re = RegExp("^(" + regList.slice(0, i).join("|") + ")", this.flag);
if (re.test(line))
break;
}
for (var l = session.getLength(); ++row < l; ) {
line = session.getLine(row);
if (re.test(line))
break;
}
if (row == start.row + 1)
return;
return Range.fromPoints(start, {row: row - 1, column: line.length});
};
}).call(FoldMode.prototype);
});
vendor/assets/javascripts/ace/mode-ruby.js
define("ace/mode/ruby",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/ruby_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/mode/folding/coffee"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./ruby_highlight_rules").RubyHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("../range").Range,f=e("./folding/coffee").FoldMode,l=function(){this.$tokenizer=new s((new o).getRules()),this.$outdent=new u,this.foldingRules=new f};r.inherits(l,i),function(){this.toggleCommentLines=function(e,t,n,r){var i=!0,s=/^(\s*)#/;for(var o=n;o<=r;o++)if(!s.test(t.getLine(o))){i=!1;break}if(i){var u=new a(0,0,0,0);for(var o=n;o<=r;o++){var f=t.getLine(o),l=f.match(s);u.start.row=o,u.end.row=o,u.end.column=l[0].length,t.replace(u,l[1])}}else t.indentRows(n,r,"#")},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.$tokenizer.getLineTokens(t,e),s=i.tokens;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var o=t.match(/^.*[\{\(\[]\s*$/);o&&(r+=n)}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)}}.call(l.prototype),t.Mode=l}),define("ace/mode/ruby_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=t.constantOtherSymbol={token:"constant.other.symbol.ruby",regex:"[:](?:[A-Za-z_]|[@$](?=[a-zA-Z0-9_]))[a-zA-Z0-9_]*[!=?]?"},o=t.qString={token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},u=t.qqString={token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},a=t.tString={token:"string",regex:"[`](?:(?:\\\\.)|(?:[^'\\\\]))*?[`]"},f=t.constantNumericHex={token:"constant.numeric",regex:"0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_(?=[0-9a-fA-F]))*\\b"},l=t.constantNumericFloat={token:"constant.numeric",regex:"[+-]?\\d(?:\\d|_(?=\\d))*(?:(?:\\.\\d(?:\\d|_(?=\\d))*)?(?:[eE][+-]?\\d+)?)?\\b"},c=function(){var e="abort|Array|assert|assert_equal|assert_not_equal|assert_same|assert_not_same|assert_nil|assert_not_nil|assert_match|assert_no_match|assert_in_delta|assert_throws|assert_raise|assert_nothing_raised|assert_instance_of|assert_kind_of|assert_respond_to|assert_operator|assert_send|assert_difference|assert_no_difference|assert_recognizes|assert_generates|assert_response|assert_redirected_to|assert_template|assert_select|assert_select_email|assert_select_rjs|assert_select_encoded|css_select|at_exit|attr|attr_writer|attr_reader|attr_accessor|attr_accessible|autoload|binding|block_given?|callcc|caller|catch|chomp|chomp!|chop|chop!|defined?|delete_via_redirect|eval|exec|exit|exit!|fail|Float|flunk|follow_redirect!|fork|form_for|form_tag|format|gets|global_variables|gsub|gsub!|get_via_redirect|h|host!|https?|https!|include|Integer|lambda|link_to|link_to_unless_current|link_to_function|link_to_remote|load|local_variables|loop|open|open_session|p|print|printf|proc|putc|puts|post_via_redirect|put_via_redirect|raise|rand|raw|readline|readlines|redirect?|request_via_redirect|require|scan|select|set_trace_func|sleep|split|sprintf|srand|String|stylesheet_link_tag|syscall|system|sub|sub!|test|throw|trace_var|trap|untrace_var|atan2|cos|exp|frexp|ldexp|log|log10|sin|sqrt|tan|render|javascript_include_tag|csrf_meta_tag|label_tag|text_field_tag|submit_tag|check_box_tag|content_tag|radio_button_tag|text_area_tag|password_field_tag|hidden_field_tag|fields_for|select_tag|options_for_select|options_from_collection_for_select|collection_select|time_zone_select|select_date|select_time|select_datetime|date_select|time_select|datetime_select|select_year|select_month|select_day|select_hour|select_minute|select_second|file_field_tag|file_field|respond_to|skip_before_filter|around_filter|after_filter|verify|protect_from_forgery|rescue_from|helper_method|redirect_to|before_filter|send_data|send_file|validates_presence_of|validates_uniqueness_of|validates_length_of|validates_format_of|validates_acceptance_of|validates_associated|validates_exclusion_of|validates_inclusion_of|validates_numericality_of|validates_with|validates_each|authenticate_or_request_with_http_basic|authenticate_or_request_with_http_digest|filter_parameter_logging|match|get|post|resources|redirect|scope|assert_routing|translate|localize|extract_locale_from_tld|t|l|caches_page|expire_page|caches_action|expire_action|cache|expire_fragment|expire_cache_for|observe|cache_sweeper|has_many|has_one|belongs_to|has_and_belongs_to_many",t="alias|and|BEGIN|begin|break|case|class|def|defined|do|else|elsif|END|end|ensure|__FILE__|finally|for|gem|if|in|__LINE__|module|next|not|or|private|protected|public|redo|rescue|retry|return|super|then|undef|unless|until|when|while|yield",n="true|TRUE|false|FALSE|nil|NIL|ARGF|ARGV|DATA|ENV|RUBY_PLATFORM|RUBY_RELEASE_DATE|RUBY_VERSION|STDERR|STDIN|STDOUT|TOPLEVEL_BINDING",r="$DEBUG|$defout|$FILENAME|$LOAD_PATH|$SAFE|$stdin|$stdout|$stderr|$VERBOSE|$!|root_url|flash|session|cookies|params|request|response|logger|self",i=this.$keywords=this.createKeywordMapper({keyword:t,"constant.language":n,"variable.language":r,"support.function":e,"invalid.deprecated":"debugger"},"identifier");this.$rules={start:[{token:"comment",regex:"#.*$"},{token:"comment",merge:!0,regex:"^=begin\\s",next:"comment"},{token:"string.regexp",regex:"[/](?:(?:\\[(?:\\\\]|[^\\]])+\\])|(?:\\\\/|[^\\]/]))*[/]\\w*\\s*(?=[).,;]|$)"},o,u,a,{token:"text",regex:"::"},{token:"variable.instance",regex:"@{1,2}[a-zA-Z_\\d]+"},{token:"support.class",regex:"[A-Z][a-zA-Z_\\d]+"},s,f,l,{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:i,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"punctuation.separator.key-value",regex:"=>"},{token:"keyword.operator",regex:"!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:"^=end\\s.*$",next:"start"},{token:"comment",merge:!0,regex:".+"}]}};r.inherits(c,i),t.RubyHighlightRules=c}),define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){var t=e.match(/^(\s+)/);return t?t[1]:""}}).call(i.prototype),t.MatchingBraceOutdent=i}),define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=t.FoldMode=function(){};r.inherits(o,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=this.indentationBlock(e,n);if(r)return r;var i=/\S/,o=e.getLine(n),u=o.search(i);if(u==-1||o[u]!="#")return;var a=o.length,f=e.getLength(),l=n,c=n;while(++n<f){o=e.getLine(n);var h=o.search(i);if(h==-1)continue;if(o[h]!="#")break;c=n}if(c>l){var p=e.getLine(c).length;return new s(l,a,c,p)}},this.getFoldWidget=function(e,t,n){var r=e.getLine(n),i=r.search(/\S/),s=e.getLine(n+1),o=e.getLine(n-1),u=o.search(/\S/),a=s.search(/\S/);if(i==-1)return e.foldWidgets[n-1]=u!=-1&&u<a?"start":"","";if(u==-1){if(i==a&&r[i]=="#"&&s[i]=="#")return e.foldWidgets[n-1]="",e.foldWidgets[n+1]="","start"}else if(u==i&&r[i]=="#"&&o[i]=="#"&&e.getLine(n-2).search(/\S/)==-1)return e.foldWidgets[n-1]="start",e.foldWidgets[n+1]="","";return u!=-1&&u<i?e.foldWidgets[n-1]="start":e.foldWidgets[n-1]="",i<a?"start":""}}.call(o.prototype)})
vendor/assets/javascripts/ace/mode-sh.js
define("ace/mode/sh",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/sh_highlight_rules","ace/range"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./sh_highlight_rules").ShHighlightRules,u=e("../range").Range,a=function(){this.$tokenizer=new s((new o).getRules())};r.inherits(a,i),function(){this.toggleCommentLines=function(e,t,n,r){var i=!0,s=/^(\s*)#/;for(var o=n;o<=r;o++)if(!s.test(t.getLine(o))){i=!1;break}if(i){var a=new u(0,0,0,0);for(var o=n;o<=r;o++){var f=t.getLine(o),l=f.match(s);a.start.row=o,a.end.row=o,a.end.column=l[0].length,t.replace(a,l[1])}}else t.indentRows(n,r,"#")},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.$tokenizer.getLineTokens(t,e),s=i.tokens;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var o=t.match(/^.*[\{\(\[\:]\s*$/);o&&(r+=n)}return r};var e={pass:1,"return":1,raise:1,"break":1,"continue":1};this.checkOutdent=function(t,n,r){if(r!=="\r\n"&&r!=="\r"&&r!=="\n")return!1;var i=this.$tokenizer.getLineTokens(n.trim(),t).tokens;if(!i)return!1;do var s=i.pop();while(s&&(s.type=="comment"||s.type=="text"&&s.value.match(/^\s+$/)));return s?s.type=="keyword"&&e[s.value]:!1},this.autoOutdent=function(e,t,n){n+=1;var r=this.$getIndent(t.getLine(n)),i=t.getTabString();r.slice(-i.length)==i&&t.remove(new u(n,r.length-i.length,n,r.length))}}.call(a.prototype),t.Mode=a}),define("ace/mode/sh_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=t.reservedKeywords="!|{|}|case|do|done|elif|else|esac|fi|for|if|in|then|until|while|&|;|export|local|read|typeset|unset|elif|select|set",o=t.languageConstructs="[|]|alias|bg|bind|break|builtin|cd|command|compgen|complete|continue|dirs|disown|echo|enable|eval|exec|exit|fc|fg|getopts|hash|help|history|jobs|kill|let|logout|popd|printf|pushd|pwd|return|set|shift|shopt|source|suspend|test|times|trap|type|ulimit|umask|unalias|wait",u=function(){var e=this.createKeywordMapper({keyword:s,"support.function.builtin":o,"invalid.deprecated":"debugger"},"identifier"),t="(?:(?:[1-9]\\d*)|(?:0))",n="(?:\\.\\d+)",r="(?:\\d+)",i="(?:(?:"+r+"?"+n+")|(?:"+r+"\\.))",u="(?:(?:"+i+"|"+r+")"+")",a="(?:"+u+"|"+i+")",f="(?:&"+r+")",l="[a-zA-Z][a-zA-Z0-9_]*",c="(?:(?:\\$"+l+")|(?:"+l+"=))",h="(?:\\$(?:SHLVL|\\$|\\!|\\?))",p="(?:"+l+"\\s*\\(\\))";this.$rules={start:[{token:"comment",regex:"#.*$"},{token:"string",regex:'"(?:[^\\\\]|\\\\.)*?"'},{token:"variable.language",regex:h},{token:"variable",regex:c},{token:"support.function",regex:p},{token:"support.function",regex:f},{token:"string",regex:"'(?:[^\\\\]|\\\\.)*?'"},{token:"constant.numeric",regex:a},{token:"constant.numeric",regex:t+"\\b"},{token:e,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"\\+|\\-|\\*|\\*\\*|\\/|\\/\\/|~|<|>|<=|=>|=|!="},{token:"paren.lparen",regex:"[\\[\\(\\{]"},{token:"paren.rparen",regex:"[\\]\\)\\}]"},{token:"text",regex:"\\s+"}]}};r.inherits(u,i),t.ShHighlightRules=u})
vendor/assets/javascripts/ace/theme-clouds.js
/* ***** BEGIN LICENSE BLOCK *****
* Distributed under the BSD license:
*
* Copyright (c) 2010, Ajax.org B.V.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of Ajax.org B.V. nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* ***** END LICENSE BLOCK ***** */
define('ace/theme/clouds', ['require', 'exports', 'module' , 'ace/lib/dom'], function(require, exports, module) {
exports.isDark = false;
exports.cssClass = "ace-clouds";
exports.cssText = ".ace-clouds .ace_gutter {\
background: #ebebeb;\
color: #333\
}\
.ace-clouds .ace_print-margin {\
width: 1px;\
background: #e8e8e8\
}\
.ace-clouds .ace_scroller {\
background-color: #FFFFFF\
}\
.ace-clouds .ace_text-layer {\
color: #000000\
}\
.ace-clouds .ace_cursor {\
border-left: 2px solid #000000\
}\
.ace-clouds .ace_overwrite-cursors .ace_cursor {\
border-left: 0px;\
border-bottom: 1px solid #000000\
}\
.ace-clouds .ace_marker-layer .ace_selection {\
background: #BDD5FC\
}\
.ace-clouds.ace_multiselect .ace_selection.ace_start {\
box-shadow: 0 0 3px 0px #FFFFFF;\
border-radius: 2px\
}\
.ace-clouds .ace_marker-layer .ace_step {\
background: rgb(255, 255, 0)\
}\
.ace-clouds .ace_marker-layer .ace_bracket {\
margin: -1px 0 0 -1px;\
border: 1px solid #BFBFBF\
}\
.ace-clouds .ace_marker-layer .ace_active-line {\
background: #FFFBD1\
}\
.ace-clouds .ace_gutter-active-line {\
background-color : #dcdcdc\
}\
.ace-clouds .ace_marker-layer .ace_selected-word {\
border: 1px solid #BDD5FC\
}\
.ace-clouds .ace_invisible {\
color: #BFBFBF\
}\
.ace-clouds .ace_keyword,\
.ace-clouds .ace_meta,\
.ace-clouds .ace_support.ace_constant.ace_property-value {\
color: #AF956F\
}\
.ace-clouds .ace_keyword.ace_operator {\
color: #484848\
}\
.ace-clouds .ace_keyword.ace_other.ace_unit {\
color: #96DC5F\
}\
.ace-clouds .ace_constant.ace_language {\
color: #39946A\
}\
.ace-clouds .ace_constant.ace_numeric {\
color: #46A609;\
background-color: #DDFFDD\
}\
.ace-clouds .ace_constant.ace_character.ace_entity {\
color: #BF78CC\
}\
.ace-clouds .ace_invalid {\
background-color: #FF002A\
}\
.ace-clouds .ace_fold {\
background-color: #AF956F;\
border-color: #000000\
}\
.ace-clouds .ace_storage,\
.ace-clouds .ace_support.ace_class,\
.ace-clouds .ace_support.ace_function,\
.ace-clouds .ace_support.ace_other,\
.ace-clouds .ace_support.ace_type {\
background-color: #FFDDDD;\
color: #C52727\
}\
.ace-clouds .ace_string {\
color: #5D90CD\
}\
.ace-clouds .ace_comment {\
color: #BCC8BA\
}\
.ace-clouds .ace_entity.ace_name.ace_tag,\
.ace-clouds .ace_entity.ace_other.ace_attribute-name {\
color: #606060\
}\
.ace-clouds .ace_markup.ace_underline {\
text-decoration: underline\
}\
.ace-clouds .ace_indent-guide {\
background: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==\") right repeat-y\
}";
var dom = require("../lib/dom");
dom.importCssString(exports.cssText, exports.cssClass);
});
vendor/assets/javascripts/ace/theme-dawn.js
define("ace/theme/dawn",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-dawn",t.cssText=".ace-dawn .ace_gutter {background: #ebebeb;color: #333}.ace-dawn .ace_print-margin {width: 1px;background: #e8e8e8}.ace-dawn .ace_scroller {background-color: #F9F9F9}.ace-dawn .ace_text-layer {color: #080808}.ace-dawn .ace_cursor {border-left: 2px solid #000000}.ace-dawn .ace_overwrite-cursors .ace_cursor {border-left: 0px;border-bottom: 1px solid #000000}.ace-dawn .ace_marker-layer .ace_selection {background: rgba(39, 95, 255, 0.30)}.ace-dawn.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #F9F9F9;border-radius: 2px}.ace-dawn .ace_marker-layer .ace_step {background: rgb(255, 255, 0)}.ace-dawn .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgba(75, 75, 126, 0.50)}.ace-dawn .ace_marker-layer .ace_active-line {background: rgba(36, 99, 180, 0.12)}.ace-dawn .ace_gutter-active-line {background-color : #dcdcdc}.ace-dawn .ace_marker-layer .ace_selected-word {border: 1px solid rgba(39, 95, 255, 0.30)}.ace-dawn .ace_invisible {color: rgba(75, 75, 126, 0.50)}.ace-dawn .ace_keyword,.ace-dawn .ace_meta {color: #794938}.ace-dawn .ace_constant,.ace-dawn .ace_constant.ace_character,.ace-dawn .ace_constant.ace_character.ace_escape,.ace-dawn .ace_constant.ace_other {color: #811F24}.ace-dawn .ace_invalid.ace_illegal {text-decoration: underline;font-style: italic;color: #F8F8F8;background-color: #B52A1D}.ace-dawn .ace_invalid.ace_deprecated {text-decoration: underline;font-style: italic;color: #B52A1D}.ace-dawn .ace_support {color: #691C97}.ace-dawn .ace_support.ace_constant {color: #B4371F}.ace-dawn .ace_fold {background-color: #794938;border-color: #080808}.ace-dawn .ace_markup.ace_list,.ace-dawn .ace_support.ace_function {color: #693A17}.ace-dawn .ace_storage {font-style: italic;color: #A71D5D}.ace-dawn .ace_string {color: #0B6125}.ace-dawn .ace_string.ace_regexp {color: #CF5628}.ace-dawn .ace_comment {font-style: italic;color: #5A525F}.ace-dawn .ace_variable {color: #234A97}.ace-dawn .ace_markup.ace_underline {text-decoration: underline}.ace-dawn .ace_markup.ace_heading {color: #19356D}.ace-dawn .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4+fPnf4ZVq1b9BwAkVQboFQv98gAAAABJRU5ErkJggg==) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)})
vendor/assets/javascripts/ace/theme-textmate.js
define("ace/theme/textmate",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-tm",t.cssText='.ace-tm .ace_gutter {background: #f0f0f0;color: #333;}.ace-tm .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-tm .ace_fold {background-color: #6B72E6;}.ace-tm .ace_scroller {background-color: #FFFFFF;}.ace-tm .ace_cursor {border-left: 2px solid black;}.ace-tm .ace_overwrite-cursors .ace_cursor {border-left: 0px;border-bottom: 1px solid black;}.ace-tm .ace_invisible {color: rgb(191, 191, 191);}.ace-tm .ace_storage,.ace-tm .ace_keyword {color: blue;}.ace-tm .ace_constant {color: rgb(197, 6, 11);}.ace-tm .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-tm .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-tm .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-tm .ace_invalid {background-color: rgba(255, 0, 0, 0.1);color: red;}.ace-tm .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-tm .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-tm .ace_support.ace_type,.ace-tm .ace_support.ace_class {color: rgb(109, 121, 222);}.ace-tm .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-tm .ace_string {color: rgb(3, 106, 7);}.ace-tm .ace_comment {color: rgb(76, 136, 107);}.ace-tm .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-tm .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-tm .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-tm .ace_variable {color: rgb(49, 132, 149);}.ace-tm .ace_xml-pe {color: rgb(104, 104, 91);}.ace-tm .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-tm .ace_markup.ace_heading {color: rgb(12, 7, 255);}.ace-tm .ace_markup.ace_list {color:rgb(185, 6, 144);}.ace-tm .ace_meta.ace_tag {color:rgb(0, 22, 142);}.ace-tm .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-tm .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-tm.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px white;border-radius: 2px;}.ace-tm .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-tm .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-tm .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-tm .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-tm .ace_gutter-active-line {background-color : #dcdcdc;}.ace-tm .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-tm .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}';var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)})
vendor/assets/javascripts/ace/theme-twilight.js
define("ace/theme/twilight",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-twilight",t.cssText=".ace-twilight .ace_gutter {background: #232323;color: #E2E2E2}.ace-twilight .ace_print-margin {width: 1px;background: #232323}.ace-twilight .ace_scroller {background-color: #141414}.ace-twilight .ace_text-layer {color: #F8F8F8}.ace-twilight .ace_cursor {border-left: 2px solid #A7A7A7}.ace-twilight .ace_overwrite-cursors .ace_cursor {border-left: 0px;border-bottom: 1px solid #A7A7A7}.ace-twilight .ace_marker-layer .ace_selection {background: rgba(221, 240, 255, 0.20)}.ace-twilight.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #141414;border-radius: 2px}.ace-twilight .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-twilight .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgba(255, 255, 255, 0.25)}.ace-twilight .ace_marker-layer .ace_active-line {background: rgba(255, 255, 255, 0.031)}.ace-twilight .ace_gutter-active-line {background-color: rgba(255, 255, 255, 0.031)}.ace-twilight .ace_marker-layer .ace_selected-word {border: 1px solid rgba(221, 240, 255, 0.20)}.ace-twilight .ace_invisible {color: rgba(255, 255, 255, 0.25)}.ace-twilight .ace_keyword,.ace-twilight .ace_meta {color: #CDA869}.ace-twilight .ace_constant,.ace-twilight .ace_constant.ace_character,.ace-twilight .ace_constant.ace_character.ace_escape,.ace-twilight .ace_constant.ace_other,.ace-twilight .ace_markup.ace_heading,.ace-twilight .ace_support.ace_constant {color: #CF6A4C}.ace-twilight .ace_invalid.ace_illegal {color: #F8F8F8;background-color: rgba(86, 45, 86, 0.75)}.ace-twilight .ace_invalid.ace_deprecated {text-decoration: underline;font-style: italic;color: #D2A8A1}.ace-twilight .ace_support {color: #9B859D}.ace-twilight .ace_fold {background-color: #AC885B;border-color: #F8F8F8}.ace-twilight .ace_support.ace_function {color: #DAD085}.ace-twilight .ace_markup.ace_list,.ace-twilight .ace_storage {color: #F9EE98}.ace-twilight .ace_entity.ace_name.ace_function,.ace-twilight .ace_meta.ace_tag,.ace-twilight .ace_variable {color: #AC885B}.ace-twilight .ace_string {color: #8F9D6A}.ace-twilight .ace_string.ace_regexp {color: #E9C062}.ace-twilight .ace_comment {font-style: italic;color: #5F5A60}.ace-twilight .ace_variable {color: #7587A6}.ace-twilight .ace_xml-pe {color: #494949}.ace-twilight .ace_markup.ace_underline {text-decoration: underline}.ace-twilight .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMQERH5zzBz5sz/AA5EBAYqeZXWAAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)})
vendor/assets/javascripts/ace/worker-coffee.js
"no use strict";function initBaseUrls(e){require.tlns=e}function initSender(){var e=require(null,"ace/lib/event_emitter").EventEmitter,t=require(null,"ace/lib/oop"),n=function(){};return function(){t.implement(this,e),this.callback=function(e,t){postMessage({type:"call",id:t,data:e})},this.emit=function(e,t){postMessage({type:"event",name:e,data:t})}}.call(n.prototype),new n}if(typeof window!="undefined"&&window.document)throw"atempt to load ace worker into main window instead of webWorker";var console={log:function(){var e=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:e})},error:function(){var e=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:e})}},window={console:console},normalizeModule=function(e,t){if(t.indexOf("!")!==-1){var n=t.split("!");return normalizeModule(e,n[0])+"!"+normalizeModule(e,n[1])}if(t.charAt(0)=="."){var r=e.split("/").slice(0,-1).join("/"),t=r+"/"+t;while(t.indexOf(".")!==-1&&i!=t)var i=t,t=t.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}return t},require=function(e,t){if(!t.charAt)throw new Error("worker.js require() accepts only (parentId, id) as arguments");var t=normalizeModule(e,t),n=require.modules[t];if(n)return n.initialized||(n.initialized=!0,n.exports=n.factory().exports),n.exports;var r=t.split("/");r[0]=require.tlns[r[0]]||r[0];var i=r.join("/")+".js";return require.id=t,importScripts(i),require(e,t)};require.modules={},require.tlns={};var define=function(e,t,n){arguments.length==2?(n=t,typeof e!="string"&&(t=e,e=require.id)):arguments.length==1&&(n=e,e=require.id);if(e.indexOf("text!")===0)return;var r=function(t,n){return require(e,t,n)};require.modules[e]={factory:function(){var e={exports:{}},t=n(r,e.exports,e);return t&&(e.exports=t),e}}},main,sender;onmessage=function(e){var t=e.data;if(t.command){if(!main[t.command])throw new Error("Unknown command:"+t.command);main[t.command].apply(main,t.args)}else if(t.init){initBaseUrls(t.tlns),require(null,"ace/lib/fixoldbrowsers"),sender=initSender();var n=require(null,t.module)[t.classname];main=new n(sender)}else t.event&&sender&&sender._emit(t.event,t.data)},define("ace/lib/fixoldbrowsers",["require","exports","module","ace/lib/regexp","ace/lib/es5-shim"],function(e,t,n){e("./regexp"),e("./es5-shim")}),define("ace/lib/regexp",["require","exports","module"],function(e,t,n){function o(e){return(e.global?"g":"")+(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.extended?"x":"")+(e.sticky?"y":"")}function u(e,t,n){if(Array.prototype.indexOf)return e.indexOf(t,n);for(var r=n||0;r<e.length;r++)if(e[r]===t)return r;return-1}var r={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split},i=r.exec.call(/()??/,"")[1]===undefined,s=function(){var e=/^/g;return r.test.call(e,""),!e.lastIndex}();if(s&&i)return;RegExp.prototype.exec=function(e){var t=r.exec.apply(this,arguments),n,a;if(typeof e=="string"&&t){!i&&t.length>1&&u(t,"")>-1&&(a=RegExp(this.source,r.replace.call(o(this),"g","")),r.replace.call(e.slice(t.index),a,function(){for(var e=1;e<arguments.length-2;e++)arguments[e]===undefined&&(t[e]=undefined)}));if(this._xregexp&&this._xregexp.captureNames)for(var f=1;f<t.length;f++)n=this._xregexp.captureNames[f-1],n&&(t[n]=t[f]);!s&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--}return t},s||(RegExp.prototype.test=function(e){var t=r.exec.call(this,e);return t&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--,!!t})}),define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function m(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}Function.prototype.bind||(Function.prototype.bind=function(t){var n=this;if(typeof n!="function")throw new TypeError;var r=o.call(arguments,1),i=function(){if(this instanceof i){var e=function(){};e.prototype=n.prototype;var s=new e,u=n.apply(s,r.concat(o.call(arguments)));return u!==null&&Object(u)===u?u:s}return n.apply(t,r.concat(o.call(arguments)))};return i});var r=Function.prototype.call,i=Array.prototype,s=Object.prototype,o=i.slice,u=r.bind(s.toString),a=r.bind(s.hasOwnProperty),f,l,c,h,p;if(p=a(s,"__defineGetter__"))f=r.bind(s.__defineGetter__),l=r.bind(s.__defineSetter__),c=r.bind(s.__lookupGetter__),h=r.bind(s.__lookupSetter__);Array.isArray||(Array.isArray=function(t){return u(t)=="[object Array]"}),Array.prototype.forEach||(Array.prototype.forEach=function(t){var n=D(this),r=arguments[1],i=0,s=n.length>>>0;if(u(t)!="[object Function]")throw new TypeError;while(i<s)i in n&&t.call(r,n[i],i,n),i++}),Array.prototype.map||(Array.prototype.map=function(t){var n=D(this),r=n.length>>>0,i=Array(r),s=arguments[1];if(u(t)!="[object Function]")throw new TypeError;for(var o=0;o<r;o++)o in n&&(i[o]=t.call(s,n[o],o,n));return i}),Array.prototype.filter||(Array.prototype.filter=function(t){var n=D(this),r=n.length>>>0,i=[],s=arguments[1];if(u(t)!="[object Function]")throw new TypeError;for(var o=0;o<r;o++)o in n&&t.call(s,n[o],o,n)&&i.push(n[o]);return i}),Array.prototype.every||(Array.prototype.every=function(t){var n=D(this),r=n.length>>>0,i=arguments[1];if(u(t)!="[object Function]")throw new TypeError;for(var s=0;s<r;s++)if(s in n&&!t.call(i,n[s],s,n))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(t){var n=D(this),r=n.length>>>0,i=arguments[1];if(u(t)!="[object Function]")throw new TypeError;for(var s=0;s<r;s++)if(s in n&&t.call(i,n[s],s,n))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(t){var n=D(this),r=n.length>>>0;if(u(t)!="[object Function]")throw new TypeError;if(!r&&arguments.length==1)throw new TypeError;var i=0,s;if(arguments.length>=2)s=arguments[1];else do{if(i in n){s=n[i++];break}if(++i>=r)throw new TypeError}while(!0);for(;i<r;i++)i in n&&(s=t.call(void 0,s,n[i],i,n));return s}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(t){var n=D(this),r=n.length>>>0;if(u(t)!="[object Function]")throw new TypeError;if(!r&&arguments.length==1)throw new TypeError;var i,s=r-1;if(arguments.length>=2)i=arguments[1];else do{if(s in n){i=n[s--];break}if(--s<0)throw new TypeError}while(!0);do s in this&&(i=t.call(void 0,i,n[s],s,n));while(s--);return i}),Array.prototype.indexOf||(Array.prototype.indexOf=function(t){var n=D(this),r=n.length>>>0;if(!r)return-1;var i=0;arguments.length>1&&(i=M(arguments[1])),i=i>=0?i:Math.max(0,r+i);for(;i<r;i++)if(i in n&&n[i]===t)return i;return-1}),Array.prototype.lastIndexOf||(Array.prototype.lastIndexOf=function(t){var n=D(this),r=n.length>>>0;if(!r)return-1;var i=r-1;arguments.length>1&&(i=Math.min(i,M(arguments[1]))),i=i>=0?i:r-Math.abs(i);for(;i>=0;i--)if(i in n&&t===n[i])return i;return-1}),Object.getPrototypeOf||(Object.getPrototypeOf=function(t){return t.__proto__||(t.constructor?t.constructor.prototype:s)});if(!Object.getOwnPropertyDescriptor){var d="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(t,n){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(d+t);if(!a(t,n))return;var r,i,o;r={enumerable:!0,configurable:!0};if(p){var u=t.__proto__;t.__proto__=s;var i=c(t,n),o=h(t,n);t.__proto__=u;if(i||o)return i&&(r.get=i),o&&(r.set=o),r}return r.value=t[n],r}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(t){return Object.keys(t)});if(!Object.create){var v;Object.prototype.__proto__===null?v=function(){return{__proto__:null}}:v=function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(t,n){var r;if(t===null)r=v();else{if(typeof t!="object")throw new TypeError("typeof prototype["+typeof t+"] != 'object'");var i=function(){};i.prototype=t,r=new i,r.__proto__=t}return n!==void 0&&Object.defineProperties(r,n),r}}if(Object.defineProperty){var g=m({}),y=typeof document=="undefined"||m(document.createElement("div"));if(!g||!y)var b=Object.defineProperty}if(!Object.defineProperty||b){var w="Property description must be an object: ",E="Object.defineProperty called on non-object: ",S="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(t,n,r){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(E+t);if(typeof r!="object"&&typeof r!="function"||r===null)throw new TypeError(w+r);if(b)try{return b.call(Object,t,n,r)}catch(i){}if(a(r,"value"))if(p&&(c(t,n)||h(t,n))){var o=t.__proto__;t.__proto__=s,delete t[n],t[n]=r.value,t.__proto__=o}else t[n]=r.value;else{if(!p)throw new TypeError(S);a(r,"get")&&f(t,n,r.get),a(r,"set")&&l(t,n,r.set)}return t}}Object.defineProperties||(Object.defineProperties=function(t,n){for(var r in n)a(n,r)&&Object.defineProperty(t,r,n[r]);return t}),Object.seal||(Object.seal=function(t){return t}),Object.freeze||(Object.freeze=function(t){return t});try{Object.freeze(function(){})}catch(x){Object.freeze=function(t){return function(n){return typeof n=="function"?n:t(n)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(t){return t}),Object.isSealed||(Object.isSealed=function(t){return!1}),Object.isFrozen||(Object.isFrozen=function(t){return!1}),Object.isExtensible||(Object.isExtensible=function(t){if(Object(t)===t)throw new TypeError;var n="";while(a(t,n))n+="?";t[n]=!0;var r=a(t,n);return delete t[n],r});if(!Object.keys){var T=!0,N=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],C=N.length;for(var k in{toString:null})T=!1;Object.keys=function P(e){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError("Object.keys called on a non-object");var P=[];for(var t in e)a(e,t)&&P.push(t);if(T)for(var n=0,r=C;n<r;n++){var i=N[n];a(e,i)&&P.push(i)}return P}}if(!Date.prototype.toISOString||(new Date(-621987552e5)).toISOString().indexOf("-000001")===-1)Date.prototype.toISOString=function(){var t,n,r,i;if(!isFinite(this))throw new RangeError;t=[this.getUTCMonth()+1,this.getUTCDate(),this.getUTCHours(),this.getUTCMinutes(),this.getUTCSeconds()],i=this.getUTCFullYear(),i=(i<0?"-":i>9999?"+":"")+("00000"+Math.abs(i)).slice(0<=i&&i<=9999?-4:-6),n=t.length;while(n--)r=t[n],r<10&&(t[n]="0"+r);return i+"-"+t.slice(0,2).join("-")+"T"+t.slice(2).join(":")+"."+("000"+this.getUTCMilliseconds()).slice(-3)+"Z"};Date.now||(Date.now=function(){return(new Date).getTime()}),Date.prototype.toJSON||(Date.prototype.toJSON=function(t){if(typeof this.toISOString!="function")throw new TypeError;return this.toISOString()}),Date.parse("+275760-09-13T00:00:00.000Z")!==864e13&&(Date=function(e){var t=function i(t,n,r,s,o,u,a){var f=arguments.length;if(this instanceof e){var l=f==1&&String(t)===t?new e(i.parse(t)):f>=7?new e(t,n,r,s,o,u,a):f>=6?new e(t,n,r,s,o,u):f>=5?new e(t,n,r,s,o):f>=4?new e(t,n,r,s):f>=3?new e(t,n,r):f>=2?new e(t,n):f>=1?new e(t):new e;return l.constructor=i,l}return e.apply(this,arguments)},n=new RegExp("^(\\d{4}|[+-]\\d{6})(?:-(\\d{2})(?:-(\\d{2})(?:T(\\d{2}):(\\d{2})(?::(\\d{2})(?:\\.(\\d{3}))?)?(?:Z|(?:([-+])(\\d{2}):(\\d{2})))?)?)?)?$");for(var r in e)t[r]=e[r];return t.now=e.now,t.UTC=e.UTC,t.prototype=e.prototype,t.prototype.constructor=t,t.parse=function(r){var i=n.exec(r);if(i){i.shift();for(var s=1;s<7;s++)i[s]=+(i[s]||(s<3?1:0)),s==1&&i[s]--;var o=+i.pop(),u=+i.pop(),a=i.pop(),f=0;if(a){if(u>23||o>59)return NaN;f=(u*60+o)*6e4*(a=="+"?-1:1)}var l=+i[0];return 0<=l&&l<=99?(i[0]=l+400,e.UTC.apply(this,i)+f-126227808e5):e.UTC.apply(this,i)+f}return e.parse.apply(this,arguments)},t}(Date));var L=" \n \f\r   ᠎              \u2028\u2029";if(!String.prototype.trim||L.trim()){L="["+L+"]";var A=new RegExp("^"+L+L+"*"),O=new RegExp(L+L+"*$");String.prototype.trim=function(){return String(this).replace(A,"").replace(O,"")}}var M=function(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e},_="a"[0]!="a",D=function(e){if(e==null)throw new TypeError;return _&&typeof e=="string"&&e?e.split(""):Object(e)}}),define("ace/lib/event_emitter",["require","exports","module"],function(e,t,n){var r={};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry=this._eventRegistry||{},this._defaultHandlers=this._defaultHandlers||{};var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(!n.length&&!r)return;if(typeof t!="object"||!t)t={};t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=function(){this.propagationStopped=!0}),t.preventDefault||(t.preventDefault=function(){this.defaultPrevented=!0});for(var i=0;i<n.length;i++){n[i](t);if(t.propagationStopped)break}if(r&&!t.defaultPrevented)return r(t)},r.setDefaultHandler=function(e,t){this._defaultHandlers=this._defaultHandlers||{};if(this._defaultHandlers[e])throw new Error("The default handler for '"+e+"' is already set");this._defaultHandlers[e]=t},r.on=r.addEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[e];n||(n=this._eventRegistry[e]=[]),n.indexOf(t)==-1&&n.push(t)},r.removeListener=r.removeEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[e];if(!n)return;var r=n.indexOf(t);r!==-1&&n.splice(r,1)},r.removeAllListeners=function(e){this._eventRegistry&&(this._eventRegistry[e]=[])},t.EventEmitter=r}),define("ace/lib/oop",["require","exports","module"],function(e,t,n){t.inherits=function(){var e=function(){};return function(t,n){e.prototype=n.prototype,t.super_=n.prototype,t.prototype=new e,t.prototype.constructor=t}}(),t.mixin=function(e,t){for(var n in t)e[n]=t[n]},t.implement=function(e,n){t.mixin(e,n)}}),define("ace/mode/coffee_worker",["require","exports","module","ace/lib/oop","ace/worker/mirror","ace/mode/coffee/coffee-script"],function(e,t,n){var r=e("../lib/oop"),i=e("../worker/mirror").Mirror,s=e("../mode/coffee/coffee-script");window.addEventListener=function(){};var o=t.Worker=function(e){i.call(this,e),this.setTimeout(200)};r.inherits(o,i),function(){this.onUpdate=function(){var e=this.doc.getValue();try{s.parse(e)}catch(t){var n=t.message.match(/Parse error on line (\d+): (.*)/);if(n){this.sender.emit("error",{row:parseInt(n[1],10)-1,column:null,text:n[2],type:"error"});return}if(t instanceof SyntaxError){var n=t.message.match(/ on line (\d+)/);n&&this.sender.emit("error",{row:parseInt(n[1],10)-1,column:null,text:t.message.replace(n[0],""),type:"error"})}return}this.sender.emit("ok")}}.call(o.prototype)}),define("ace/worker/mirror",["require","exports","module","ace/document","ace/lib/lang"],function(e,t,n){var r=e("../document").Document,i=e("../lib/lang"),s=t.Mirror=function(e){this.sender=e;var t=this.doc=new r(""),n=this.deferredUpdate=i.deferredCall(this.onUpdate.bind(this)),s=this;e.on("change",function(e){t.applyDeltas([e.data]),n.schedule(s.$timeout)})};(function(){this.$timeout=500,this.setTimeout=function(e){this.$timeout=e},this.setValue=function(e){this.doc.setValue(e),this.deferredUpdate.schedule(this.$timeout)},this.getValue=function(e){this.sender.callback(this.doc.getValue(),e)},this.onUpdate=function(){}}).call(s.prototype)}),define("ace/document",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=e("./range").Range,o=e("./anchor").Anchor,u=function(e){this.$lines=[],e.length==0?this.$lines=[""]:Array.isArray(e)?this.insertLines(0,e):this.insert({row:0,column:0},e)};(function(){r.implement(this,i),this.setValue=function(e){var t=this.getLength();this.remove(new s(0,0,t,this.getLine(t-1).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new o(this,e,t)},"aaa".split(/a/).length==0?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);t?this.$autoNewLine=t[1]:this.$autoNewLine="\n"},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";case"auto":return this.$autoNewLine}},this.$autoNewLine="\n",this.$newLineMode="auto",this.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){if(e.start.row==e.end.row)return this.$lines[e.start.row].substring(e.start.column,e.end.column);var t=this.getLines(e.start.row+1,e.end.row-1);return t.unshift((this.$lines[e.start.row]||"").substring(e.start.column)),t.push((this.$lines[e.end.row]||"").substring(0,e.end.column)),t.join(this.getNewLineCharacter())},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t&&(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length),e},this.insert=function(e,t){if(!t||t.length===0)return e;e=this.$clipPosition(e),this.getLength()<=1&&this.$detectNewLine(t);var n=this.$split(t),r=n.splice(0,1)[0],i=n.length==0?null:n.splice(n.length-1,1)[0];return e=this.insertInLine(e,r),i!==null&&(e=this.insertNewLine(e),e=this.insertLines(e.row,n),e=this.insertInLine(e,i||"")),e},this.insertLines=function(e,t){if(t.length==0)return{row:e,column:0};if(t.length>65535){var n=this.insertLines(e,t.slice(65535));t=t.slice(0,65535)}var r=[e,0];r.push.apply(r,t),this.$lines.splice.apply(this.$lines,r);var i=new s(e,0,e+t.length,0),o={action:"insertLines",range:i,lines:t};return this._emit("change",{data:o}),n||i.end},this.insertNewLine=function(e){e=this.$clipPosition(e);var t=this.$lines[e.row]||"";this.$lines[e.row]=t.substring(0,e.column),this.$lines.splice(e.row+1,0,t.substring(e.column,t.length));var n={row:e.row+1,column:0},r={action:"insertText",range:s.fromPoints(e,n),text:this.getNewLineCharacter()};return this._emit("change",{data:r}),n},this.insertInLine=function(e,t){if(t.length==0)return e;var n=this.$lines[e.row]||"";this.$lines[e.row]=n.substring(0,e.column)+t+n.substring(e.column);var r={row:e.row,column:e.column+t.length},i={action:"insertText",range:s.fromPoints(e,r),text:t};return this._emit("change",{data:i}),r},this.remove=function(e){e.start=this.$clipPosition(e.start),e.end=this.$clipPosition(e.end);if(e.isEmpty())return e.start;var t=e.start.row,n=e.end.row;if(e.isMultiLine()){var r=e.start.column==0?t:t+1,i=n-1;e.end.column>0&&this.removeInLine(n,0,e.end.column),i>=r&&this.removeLines(r,i),r!=t&&(this.removeInLine(t,e.start.column,this.getLine(t).length),this.removeNewLine(e.start.row))}else this.removeInLine(t,e.start.column,e.end.column);return e.start},this.removeInLine=function(e,t,n){if(t==n)return;var r=new s(e,t,e,n),i=this.getLine(e),o=i.substring(t,n),u=i.substring(0,t)+i.substring(n,i.length);this.$lines.splice(e,1,u);var a={action:"removeText",range:r,text:o};return this._emit("change",{data:a}),r.start},this.removeLines=function(e,t){var n=new s(e,0,t+1,0),r=this.$lines.splice(e,t-e+1),i={action:"removeLines",range:n,nl:this.getNewLineCharacter(),lines:r};return this._emit("change",{data:i}),r},this.removeNewLine=function(e){var t=this.getLine(e),n=this.getLine(e+1),r=new s(e,t.length,e+1,0),i=t+n;this.$lines.splice(e,2,i);var o={action:"removeText",range:r,text:this.getNewLineCharacter()};this._emit("change",{data:o})},this.replace=function(e,t){if(t.length==0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);if(t)var n=this.insert(e.start,t);else n=e.start;return n},this.applyDeltas=function(e){for(var t=0;t<e.length;t++){var n=e[t],r=s.fromPoints(n.range.start,n.range.end);n.action=="insertLines"?this.insertLines(r.start.row,n.lines):n.action=="insertText"?this.insert(r.start,n.text):n.action=="removeLines"?this.removeLines(r.start.row,r.end.row-1):n.action=="removeText"&&this.remove(r)}},this.revertDeltas=function(e){for(var t=e.length-1;t>=0;t--){var n=e[t],r=s.fromPoints(n.range.start,n.range.end);n.action=="insertLines"?this.removeLines(r.start.row,r.end.row-1):n.action=="insertText"?this.remove(r):n.action=="removeLines"?this.insertLines(r.start.row,n.lines):n.action=="removeText"&&this.insert(r.start,n.text)}}}).call(u.prototype),t.Document=u}),define("ace/range",["require","exports","module"],function(e,t,n){var r=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row==e.start.row&&this.end.row==e.end.row&&this.start.column==e.start.column&&this.end.column==e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?t<this.start.column?-1:t>this.end.column?1:0:e<this.start.row?-1:e>this.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};if(this.start.row>t)var i={row:t+1,column:0};if(this.start.row<e)var i={row:e,column:0};if(this.end.row<e)var n={row:e,column:0};return r.fromPoints(i||this.start,n||this.end)},this.extend=function(e,t){var n=this.compare(e,t);if(n==0)return this;if(n==-1)var i={row:e,column:t};else var s={row:e,column:t};return r.fromPoints(i||this.start,s||this.end)},this.isEmpty=function(){return this.start.row==this.end.row&&this.start.column==this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return r.fromPoints(this.start,this.end)},this.collapseRows=function(){return this.end.column==0?new r(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new r(this.start.row,0,this.end.row,0)},this.toScreenRange=function(e){var t=e.documentToScreenPosition(this.start),n=e.documentToScreenPosition(this.end);return new r(t.row,t.column,n.row,n.column)}}).call(r.prototype),r.fromPoints=function(e,t){return new r(e.row,e.column,t.row,t.column)},t.Range=r}),define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=t.Anchor=function(e,t,n){this.document=e,typeof n=="undefined"?this.setPosition(t.row,t.column):this.setPosition(t,n),this.$onChange=this.onChange.bind(this),e.on("change",this.$onChange)};(function(){r.implement(this,i),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.onChange=function(e){var t=e.data,n=t.range;if(n.start.row==n.end.row&&n.start.row!=this.row)return;if(n.start.row>this.row)return;if(n.start.row==this.row&&n.start.column>this.column)return;var r=this.row,i=this.column;t.action==="insertText"?n.start.row===r&&n.start.column<=i?n.start.row===n.end.row?i+=n.end.column-n.start.column:(i-=n.start.column,r+=n.end.row-n.start.row):n.start.row!==n.end.row&&n.start.row<r&&(r+=n.end.row-n.start.row):t.action==="insertLines"?n.start.row<=r&&(r+=n.end.row-n.start.row):t.action=="removeText"?n.start.row==r&&n.start.column<i?n.end.column>=i?i=n.start.column:i=Math.max(0,i-(n.end.column-n.start.column)):n.start.row!==n.end.row&&n.start.row<r?(n.end.row==r&&(i=Math.max(0,i-n.end.column)+n.start.column),r-=n.end.row-n.start.row):n.end.row==r&&(r-=n.end.row-n.start.row,i=Math.max(0,i-n.end.column)+n.start.column):t.action=="removeLines"&&n.start.row<=r&&(n.end.row<=r?r-=n.end.row-n.start.row:(r=n.start.row,i=0)),this.setPosition(r,i,!0)},this.setPosition=function(e,t,n){var r;n?r={row:e,column:t}:r=this.$clipPositionToDocument(e,t);if(this.row==r.row&&this.column==r.column)return;var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._emit("change",{old:i,value:r})},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),define("ace/lib/lang",["require","exports","module"],function(e,t,n){t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){return(new Array(t+1)).join(e)};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n<r;n++)e[n]&&typeof e[n]=="object"?t[n]=this.copyObject(e[n]):t[n]=e[n];return t},t.deepCopy=function(e){if(typeof e!="object")return e;var t=e.constructor();for(var n in e)typeof e[n]=="object"?t[n]=this.deepCopy(e[n]):t[n]=e[n];return t},t.arrayToMap=function(e){var t={};for(var n=0;n<e.length;n++)t[e[n]]=1;return t},t.createMap=function(e){var t=Object.create(null);for(var n in e)t[n]=e[n];return t},t.arrayRemove=function(e,t){for(var n=0;n<=e.length;n++)t===e[n]&&e.splice(n,1)},t.escapeRegExp=function(e){return e.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},t.escapeHTML=function(e){return e.replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},t.getMatchOffsets=function(e,t){var n=[];return e.replace(t,function(e){n.push({offset:arguments[arguments.length-2],length:e.length})}),n},t.deferredCall=function(e){var t=null,n=function(){t=null,e()},r=function(e){return r.cancel(),t=setTimeout(n,e||0),r};return r.schedule=r,r.call=function(){return this.cancel(),e(),r},r.cancel=function(){return clearTimeout(t),t=null,r},r},t.delayedCall=function(e,t){var n=null,r=function(){n=null,e()},i=function(e){n&&clearTimeout(n),n=setTimeout(r,e||t)};return i.delay=i,i.schedule=function(e){n==null&&(n=setTimeout(r,e||0))},i.call=function(){this.cancel(),e()},i.cancel=function(){n&&clearTimeout(n),n=null},i.isPending=function(){return n},i}}),define("ace/mode/coffee/coffee-script",["require","exports","module","ace/mode/coffee/lexer","ace/mode/coffee/parser","ace/mode/coffee/nodes"],function(e,t,n){var r=e("./lexer").Lexer,i=e("./parser"),s=new r;i.lexer={lex:function(){var e,t;return t=this.tokens[this.pos++]||[""],e=t[0],this.yytext=t[1],this.yylineno=t[2],e},setInput:function(e){return this.tokens=e,this.pos=0},upcomingInput:function(){return""}},i.yy=e("./nodes"),t.parse=function(e){return i.parse(s.tokenize(e))}}),define("ace/mode/coffee/lexer",["require","exports","module","ace/mode/coffee/rewriter","ace/mode/coffee/helpers"],function(e,t,n){var r,i,s,o,u,a,f,l,c,h,p,d,v,m,g,y,b,w,E,S,x,T,N,C,k,L,A,O,M,_,D,P,H,B,j,F,I,q,R,U,z,W,X,V,$,J,K,Q,G=[].indexOf||function(e){for(var t=0,n=this.length;t<n;t++)if(t in this&&this[t]===e)return t;return-1};K=e("./rewriter"),j=K.Rewriter,b=K.INVERSES,Q=e("./helpers"),X=Q.count,J=Q.starts,W=Q.compact,$=Q.last,t.Lexer=C=function(){function e(){}return e.prototype.tokenize=function(e,t){var n,r;t==null&&(t={}),z.test(e)&&(e="\n"+e),e=e.replace(/\r/g,"").replace(R,""),this.code=e,this.line=t.line||0,this.indent=0,this.indebt=0,this.outdebt=0,this.indents=[],this.ends=[],this.tokens=[],n=0;while(this.chunk=e.slice(n))n+=this.identifierToken()||this.commentToken()||this.whitespaceToken()||this.lineToken()||this.heredocToken()||this.stringToken()||this.numberToken()||this.regexToken()||this.jsToken()||this.literalToken();return this.closeIndentation(),(r=this.ends.pop())&&this.error("missing "+r),t.rewrite===!1?this.tokens:(new j).rewrite(this.tokens)},e.prototype.identifierToken=function(){var e,t,n,r,i,s,f,l,c;return(i=g.exec(this.chunk))?(r=i[0],n=i[1],e=i[2],n==="own"&&this.tag()==="FOR"?(this.token("OWN",n),n.length):(t=e||(s=$(this.tokens))&&((l=s[0])==="."||l==="?."||l==="::"||!s.spaced&&s[0]==="@"),f="IDENTIFIER",!t&&(G.call(S,n)>=0||G.call(a,n)>=0)&&(f=n.toUpperCase(),f==="WHEN"&&(c=this.tag(),G.call(x,c)>=0)?f="LEADING_WHEN":f==="FOR"?this.seenFor=!0:f==="UNLESS"?f="IF":G.call(U,f)>=0?f="UNARY":G.call(H,f)>=0&&(f!=="INSTANCEOF"&&this.seenFor?(f="FOR"+f,this.seenFor=!1):(f="RELATION",this.value()==="!"&&(this.tokens.pop(),n="!"+n)))),G.call(E,n)>=0&&(t?(f="IDENTIFIER",n=new String(n),n.reserved=!0):G.call(B,n)>=0&&this.error('reserved word "'+n+'"')),t||(G.call(o,n)>=0&&(n=u[n]),f=function(){switch(n){case"!":return"UNARY";case"==":case"!=":return"COMPARE";case"&&":case"||":return"LOGIC";case"true":case"false":return"BOOL";case"break":case"continue":return"STATEMENT";default:return f}}()),this.token(f,n),e&&this.token(":",":"),r.length)):0},e.prototype.numberToken=function(){var e,t,n,r,i;if(!(n=_.exec(this.chunk)))return 0;r=n[0],/^0[BOX]/.test(r)?this.error("radix prefix '"+r+"' must be lowercase"):/E/.test(r)&&!/^0x/.test(r)?this.error("exponential notation '"+r+"' must be indicated with a lowercase 'e'"):/^0\d*[89]/.test(r)?this.error("decimal literal '"+r+"' must not be prefixed with '0'"):/^0\d+/.test(r)&&this.error("octal literal '"+r+"' must be prefixed with '0o'"),t=r.length;if(i=/^0o([0-7]+)/.exec(r))r="0x"+parseInt(i[1],8).toString(16);if(e=/^0b([01]+)/.exec(r))r="0x"+parseInt(e[1],2).toString(16);return this.token("NUMBER",r),t},e.prototype.stringToken=function(){var e,t,n;switch(this.chunk.charAt(0)){case"'":if(!(e=I.exec(this.chunk)))return 0;this.token("STRING",(n=e[0]).replace(L,"\\\n"));break;case'"':if(!(n=this.balancedString(this.chunk,'"')))return 0;0<n.indexOf("#{",1)?this.interpolateString(n.slice(1,-1)):this.token("STRING",this.escapeLines(n));break;default:return 0}return(t=/^(?:\\.|[^\\])*\\(?:0[0-7]|[1-7])/.test(n))&&this.error("octal escape sequences "+n+" are not allowed"),this.line+=X(n,"\n"),n.length},e.prototype.heredocToken=function(){var e,t,n,r;return(n=h.exec(this.chunk))?(t=n[0],r=t.charAt(0),e=this.sanitizeHeredoc(n[2],{quote:r,indent:null}),r==='"'&&0<=e.indexOf("#{")?this.interpolateString(e,{heredoc:!0}):this.token("STRING",this.makeString(e,r,!0)),this.line+=X(t,"\n"),t.length):0},e.prototype.commentToken=function(){var e,t,n;return(n=this.chunk.match(f))?(e=n[0],t=n[1],t&&this.token("HERECOMMENT",this.sanitizeHeredoc(t,{herecomment:!0,indent:Array(this.indent+1).join(" ")})),this.line+=X(e,"\n"),e.length):0},e.prototype.jsToken=function(){var e,t;return this.chunk.charAt(0)!=="`"||!(e=w.exec(this.chunk))?0:(this.token("JS",(t=e[0]).slice(1,-1)),this.line+=X(t,"\n"),t.length)},e.prototype.regexToken=function(){var e,t,n,r,i,s,o;return this.chunk.charAt(0)!=="/"?0:(n=v.exec(this.chunk))?(t=this.heregexToken(n),this.line+=X(n[0],"\n"),t):(r=$(this.tokens),r&&(s=r[0],G.call(r.spaced?O:M,s)>=0)?0:(n=P.exec(this.chunk))?(o=n,n=o[0],i=o[1],e=o[2],i.slice(0,2)==="/*"&&this.error("regular expressions cannot begin with `*`"),i==="//"&&(i="/(?:)/"),this.token("REGEX",""+i+e),n.length):0)},e.prototype.heregexToken=function(e){var t,n,r,i,s,o,u,a,f,l,c,h,p;r=e[0],t=e[1],n=e[2];if(0>t.indexOf("#{"))return i=t.replace(m,"").replace(/\//g,"\\/"),i.match(/^\*/)&&this.error("regular expressions cannot begin with `*`"),this.token("REGEX","/"+(i||"(?:)")+"/"+n),r.length;this.token("IDENTIFIER","RegExp"),this.tokens.push(["CALL_START","("]),o=[],l=this.interpolateString(t,{regex:!0});for(a=0,f=l.length;a<f;a++){c=l[a],s=c[0],u=c[1];if(s==="TOKENS")o.push.apply(o,u);else{if(!(u=u.replace(m,"")))continue;u=u.replace(/\\/g,"\\\\"),o.push(["STRING",this.makeString(u,'"',!0)])}o.push(["+","+"])}return o.pop(),((h=o[0])!=null?h[0]:void 0)!=="STRING"&&this.tokens.push(["STRING",'""'],["+","+"]),(p=this.tokens).push.apply(p,o),n&&this.tokens.push([",",","],["STRING",'"'+n+'"']),this.token(")",")"),r.length},e.prototype.lineToken=function(){var e,t,n,r,i;if(!(n=A.exec(this.chunk)))return 0;t=n[0],this.line+=X(t,"\n"),this.seenFor=!1,i=t.length-1-t.lastIndexOf("\n"),r=this.unfinished();if(i-this.indebt===this.indent)return r?this.suppressNewlines():this.newlineToken(),t.length;if(i>this.indent){if(r)return this.indebt=i-this.indent,this.suppressNewlines(),t.length;e=i-this.indent+this.outdebt,this.token("INDENT",e),this.indents.push(e),this.ends.push("OUTDENT"),this.outdebt=this.indebt=0}else this.indebt=0,this.outdentToken(this.indent-i,r);return this.indent=i,t.length},e.prototype.outdentToken=function(e,t){var n,r;while(e>0)r=this.indents.length-1,this.indents[r]===void 0?e=0:this.indents[r]===this.outdebt?(e-=this.outdebt,this.outdebt=0):this.indents[r]<this.outdebt?(this.outdebt-=this.indents[r],e-=this.indents[r]):(n=this.indents.pop()-this.outdebt,e-=n,this.outdebt=0,this.pair("OUTDENT"),this.token("OUTDENT",n));n&&(this.outdebt-=e);while(this.value()===";")this.tokens.pop();return this.tag()!=="TERMINATOR"&&!t&&this.token("TERMINATOR","\n"),this},e.prototype.whitespaceToken=function(){var e,t,n;return!(e=z.exec(this.chunk))&&!(t=this.chunk.charAt(0)==="\n")?0:(n=$(this.tokens),n&&(n[e?"spaced":"newLine"]=!0),e?e[0].length:0)},e.prototype.newlineToken=function(){while(this.value()===";")this.tokens.pop();return this.tag()!=="TERMINATOR"&&this.token("TERMINATOR","\n"),this},e.prototype.suppressNewlines=function(){return this.value()==="\\"&&this.tokens.pop(),this},e.prototype.literalToken=function(){var e,t,n,r,o,u,a,f;(e=D.exec(this.chunk))?(r=e[0],s.test(r)&&this.tagParameters()):r=this.chunk.charAt(0),n=r,t=$(this.tokens);if(r==="="&&t){!t[1].reserved&&(o=t[1],G.call(E,o)>=0)&&this.error('reserved word "'+this.value()+"\" can't be assigned");if((u=t[1])==="||"||u==="&&")return t[0]="COMPOUND_ASSIGN",t[1]+="=",r.length}if(r===";")this.seenFor=!1,n="TERMINATOR";else if(G.call(k,r)>=0)n="MATH";else if(G.call(l,r)>=0)n="COMPARE";else if(G.call(c,r)>=0)n="COMPOUND_ASSIGN";else if(G.call(U,r)>=0)n="UNARY";else if(G.call(F,r)>=0)n="SHIFT";else if(G.call(N,r)>=0||r==="?"&&(t!=null?t.spaced:void 0))n="LOGIC";else if(t&&!t.spaced)if(r==="("&&(a=t[0],G.call(i,a)>=0))t[0]==="?"&&(t[0]="FUNC_EXIST"),n="CALL_START";else if(r==="["&&(f=t[0],G.call(y,f)>=0)){n="INDEX_START";switch(t[0]){case"?":t[0]="INDEX_SOAK"}}switch(r){case"(":case"{":case"[":this.ends.push(b[r]);break;case")":case"}":case"]":this.pair(r)}return this.token(n,r),r.length},e.prototype.sanitizeHeredoc=function(e,t){var n,r,i,s,o;i=t.indent,r=t.herecomment;if(r){p.test(e)&&this.error('block comment cannot contain "*/", starting');if(e.indexOf("\n")<=0)return e}else while(s=d.exec(e)){n=s[1];if(i===null||0<(o=n.length)&&o<i.length)i=n}return i&&(e=e.replace(RegExp("\\n"+i,"g"),"\n")),r||(e=e.replace(/^\n/,"")),e},e.prototype.tagParameters=function(){var e,t,n,r;if(this.tag()!==")")return this;t=[],r=this.tokens,e=r.length,r[--e][0]="PARAM_END";while(n=r[--e])switch(n[0]){case")":t.push(n);break;case"(":case"CALL_START":if(!t.length)return n[0]==="("?(n[0]="PARAM_START",this):this;t.pop()}return this},e.prototype.closeIndentation=function(){return this.outdentToken(this.indent)},e.prototype.balancedString=function(e,t){var n,r,i,s,o,u,a,f;n=0,u=[t];for(r=a=1,f=e.length;1<=f?a<f:a>f;r=1<=f?++a:--a){if(n){--n;continue}switch(i=e.charAt(r)){case"\\":++n;continue;case t:u.pop();if(!u.length)return e.slice(0,+r+1||9e9);t=u[u.length-1];continue}t!=="}"||i!=='"'&&i!=="'"?t==="}"&&i==="/"&&(s=v.exec(e.slice(r))||P.exec(e.slice(r)))?n+=s[0].length-1:t==="}"&&i==="{"?u.push(t="}"):t==='"'&&o==="#"&&i==="{"&&u.push(t="}"):u.push(t=i),o=i}return this.error("missing "+u.pop()+", starting")},e.prototype.interpolateString=function(t,n){var r,i,s,o,u,a,f,l,c,h,p,d,v,m,g,y,b,w;n==null&&(n={}),i=n.heredoc,h=n.regex,d=[],c=0,s=-1;while(f=t.charAt(s+=1)){if(f==="\\"){s+=1;continue}if(f!=="#"||t.charAt(s+1)!=="{"||!(r=this.balancedString(t.slice(s+1),"}")))continue;c<s&&d.push(["NEOSTRING",t.slice(c,s)]),o=r.slice(1,-1);if(o.length){l=(new e).tokenize(o,{line:this.line,rewrite:!1}),l.pop(),((y=l[0])!=null?y[0]:void 0)==="TERMINATOR"&&l.shift();if(a=l.length)a>1&&(l.unshift(["(","(",this.line]),l.push([")",")",this.line])),d.push(["TOKENS",l])}s+=r.length,c=s+1}s>c&&c<t.length&&d.push(["NEOSTRING",t.slice(c)]);if(h)return d;if(!d.length)return this.token("STRING",'""');d[0][0]!=="NEOSTRING"&&d.unshift(["",""]),(u=d.length>1)&&this.token("(","(");for(s=m=0,g=d.length;m<g;s=++m)b=d[s],p=b[0],v=b[1],s&&this.token("+","+"),p==="TOKENS"?(w=this.tokens).push.apply(w,v):this.token("STRING",this.makeString(v,'"',i));return u&&this.token(")",")"),d},e.prototype.pair=function(e){var t,n;return e!==(n=$(this.ends))?("OUTDENT"!==n&&this.error("unmatched "+e),this.indent-=t=$(this.indents),this.outdentToken(t,!0),this.pair(e)):this.ends.pop()},e.prototype.token=function(e,t){return this.tokens.push([e,t,this.line])},e.prototype.tag=function(e,t){var n;return(n=$(this.tokens,e))&&(t?n[0]=t:n[0])},e.prototype.value=function(e,t){var n;return(n=$(this.tokens,e))&&(t?n[1]=t:n[1])},e.prototype.unfinished=function(){var e;return T.test(this.chunk)||(e=this.tag())==="\\"||e==="."||e==="?."||e==="UNARY"||e==="MATH"||e==="+"||e==="-"||e==="SHIFT"||e==="RELATION"||e==="COMPARE"||e==="LOGIC"||e==="THROW"||e==="EXTENDS"},e.prototype.escapeLines=function(e,t){return e.replace(L,t?"\\n":"")},e.prototype.makeString=function(e,t,n){return e?(e=e.replace(/\\([\s\S])/g,function(e,n){return n==="\n"||n===t?n:e}),e=e.replace(RegExp(""+t,"g"),"\\$&"),t+this.escapeLines(e,n)+t):t+t},e.prototype.error=function(e){throw SyntaxError(""+e+" on line "+(this.line+1))},e}(),S=["true","false","null","this","new","delete","typeof","in","instanceof","return","throw","break","continue","debugger","if","else","switch","for","while","do","try","catch","finally","class","extends","super"],a=["undefined","then","unless","until","loop","of","by","when"],u={and:"&&",or:"||",is:"==",isnt:"!=",not:"!",yes:"true",no:"false",on:"true",off:"false"},o=function(){var e;e=[];for(V in u)e.push(V);return e}(),a=a.concat(o),B=["case","default","function","var","void","with","const","let","enum","export","import","native","__hasProp","__extends","__slice","__bind","__indexOf","implements","interface","package","private","protected","public","static","yield"],q=["arguments","eval"],E=S.concat(B).concat(q),t.RESERVED=B.concat(S).concat(a).concat(q),t.STRICT_PROSCRIBED=q,g=/^([$A-Za-z_\x7f-\uffff][$\w\x7f-\uffff]*)([^\n\S]*:(?!:))?/,_=/^0b[01]+|^0o[0-7]+|^0x[\da-f]+|^\d*\.?\d+(?:e[+-]?\d+)?/i,h=/^("""|''')([\s\S]*?)(?:\n[^\n\S]*)?\1/,D=/^(?:[-=]>|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>])\2=?|\?\.|\.{2,3})/,z=/^[^\n\S]+/,f=/^###([^#][\s\S]*?)(?:###[^\n\S]*|(?:###)?$)|^(?:\s*#(?!##[^#]).*)+/,s=/^[-=]>/,A=/^(?:\n[^\n\S]*)+/,I=/^'[^\\']*(?:\\.[^\\']*)*'/,w=/^`[^\\`]*(?:\\.[^\\`]*)*`/,P=/^(\/(?![\s=])[^[\/\n\\]*(?:(?:\\[\s\S]|\[[^\]\n\\]*(?:\\[\s\S][^\]\n\\]*)*])[^[\/\n\\]*)*\/)([imgy]{0,4})(?!\w)/,v=/^\/{3}([\s\S]+?)\/{3}([imgy]{0,4})(?!\w)/,m=/\s+(?:#.*)?/g,L=/\n/g,d=/\n+([^\n\S]*)/g,p=/\*\//,T=/^\s*(?:,|\??\.(?![.\d])|::)/,R=/\s+$/,c=["-=","+=","/=","*=","%=","||=","&&=","?=","<<=",">>=",">>>=","&=","^=","|="],U=["!","~","NEW","TYPEOF","DELETE","DO"],N=["&&","||","&","|","^"],F=["<<",">>",">>>"],l=["==","!=","<",">","<=",">="],k=["*","/","%"],H=["IN","OF","INSTANCEOF"],r=["TRUE","FALSE"],O=["NUMBER","REGEX","BOOL","NULL","UNDEFINED","++","--","]"],M=O.concat(")","}","THIS","IDENTIFIER","STRING"),i=["IDENTIFIER","STRING","REGEX",")","]","}","?","::","@","THIS","SUPER"],y=i.concat("NUMBER","BOOL","NULL","UNDEFINED"),x=["INDENT","OUTDENT","TERMINATOR"]}),define("ace/mode/coffee/rewriter",["require","exports","module"],function(e,t,n){var r,i,s,o,u,a,f,l,c,h,p,d,v,m,g,y,b,w,E=[].indexOf||function(e){for(var t=0,n=this.length;t<n;t++)if(t in this&&this[t]===e)return t;return-1},S=[].slice;t.Rewriter=function(){function e(){}return e.prototype.rewrite=function(e){return this.tokens=e,this.removeLeadingNewlines(),this.removeMidExpressionNewlines(),this.closeOpenCalls(),this.closeOpenIndexes(),this.addImplicitIndentation(),this.tagPostfixConditionals(),this.addImplicitBraces(),this.addImplicitParentheses(),this.tokens},e.prototype.scanTokens=function(e){var t,n,r;r=this.tokens,t=0;while(n=r[t])t+=e.call(this,n,t,r);return!0},e.prototype.detectEnd=function(e,t,n){var r,i,u,a,f;u=this.tokens,r=0;while(i=u[e]){if(r===0&&t.call(this,i,e))return n.call(this,i,e);if(!i||r<0)return n.call(this,i,e-1);if(a=i[0],E.call(o,a)>=0)r+=1;else if(f=i[0],E.call(s,f)>=0)r-=1;e+=1}return e-1},e.prototype.removeLeadingNewlines=function(){var e,t,n,r,i;i=this.tokens;for(e=n=0,r=i.length;n<r;e=++n){t=i[e][0];if(t!=="TERMINATOR")break}if(e)return this.tokens.splice(0,e)},e.prototype.removeMidExpressionNewlines=function(){return this.scanTokens(function(e,t,n){var r;return e[0]==="TERMINATOR"&&(r=this.tag(t+1),E.call(i,r)>=0)?(n.splice(t,1),0):1})},e.prototype.closeOpenCalls=function(){var e,t;return t=function(e,t){var n;return(n=e[0])===")"||n==="CALL_END"||e[0]==="OUTDENT"&&this.tag(t-1)===")"},e=function(e,t){return this.tokens[e[0]==="OUTDENT"?t-1:t][0]="CALL_END"},this.scanTokens(function(n,r){return n[0]==="CALL_START"&&this.detectEnd(r+1,t,e),1})},e.prototype.closeOpenIndexes=function(){var e,t;return t=function(e,t){var n;return(n=e[0])==="]"||n==="INDEX_END"},e=function(e,t){return e[0]="INDEX_END"},this.scanTokens(function(n,r){return n[0]==="INDEX_START"&&this.detectEnd(r+1,t,e),1})},e.prototype.addImplicitBraces=function(){var e,t,n,r,i,u,a,l;return r=[],i=null,l=null,n=!0,u=0,a=0,t=function(e,t){var r,i,s,o,u,c;return u=this.tokens.slice(t+1,+(t+3)+1||9e9),r=u[0],o=u[1],s=u[2],"HERECOMMENT"===(r!=null?r[0]:void 0)?!1:(i=e[0],E.call(p,i)>=0&&(n=!1),(i==="TERMINATOR"||i==="OUTDENT"||E.call(f,i)>=0&&n&&t-a!==1)&&(!l&&this.tag(t-1)!==","||(o!=null?o[0]:void 0)!==":"&&((r!=null?r[0]:void 0)!=="@"||(s!=null?s[0]:void 0)!==":"))||i===","&&r&&(c=r[0])!=="IDENTIFIER"&&c!=="NUMBER"&&c!=="STRING"&&c!=="@"&&c!=="TERMINATOR"&&c!=="OUTDENT")},e=function(e,t){var n;return n=this.generate("}","}",e[2]),this.tokens.splice(t,0,n)},this.scanTokens(function(u,f,c){var h,d,v,m,g,y,b,w;if(b=m=u[0],E.call(o,b)>=0)return r.push([m==="INDENT"&&this.tag(f-1)==="{"?"{":m,f]),1;if(E.call(s,m)>=0)return i=r.pop(),1;if(m!==":"||(h=this.tag(f-2))!==":"&&((w=r[r.length-1])!=null?w[0]:void 0)==="{")return 1;n=!0,a=f+1,r.push(["{"]),d=h==="@"?f-2:f-1;while(this.tag(d-2)==="HERECOMMENT")d-=2;return v=this.tag(d-1),l=!v||E.call(p,v)>=0,y=new String("{"),y.generated=!0,g=this.generate("{",y,u[2]),c.splice(d,0,g),this.detectEnd(f+2,t,e),2})},e.prototype.addImplicitParentheses=function(){var e,t,n,r,i;return n=i=r=!1,t=function(e,t){var n,s,o,a;s=e[0];if(!i&&e.fromThen)return!0;if(s==="IF"||s==="ELSE"||s==="CATCH"||s==="->"||s==="=>"||s==="CLASS")i=!0;if(s==="IF"||s==="ELSE"||s==="SWITCH"||s==="TRY"||s==="=")r=!0;return s!=="."&&s!=="?."&&s!=="::"||this.tag(t-1)!=="OUTDENT"?!e.generated&&this.tag(t-1)!==","&&(E.call(f,s)>=0||s==="INDENT"&&!r)&&(s!=="INDENT"||(o=this.tag(t-2))!=="CLASS"&&o!=="EXTENDS"&&(a=this.tag(t-1),E.call(u,a)<0)&&(!(n=this.tokens[t+1])||!n.generated||n[0]!=="{")):!0},e=function(e,t){return this.tokens.splice(t,0,this.generate("CALL_END",")",e[2]))},this.scanTokens(function(s,o,u){var f,h,d,v,m,g,y,b;m=s[0];if(m==="CLASS"||m==="IF"||m==="FOR"||m==="WHILE")n=!0;return g=u.slice(o-1,+(o+1)+1||9e9),v=g[0],h=g[1],d=g[2],f=!n&&m==="INDENT"&&d&&d.generated&&d[0]==="{"&&v&&(y=v[0],E.call(l,y)>=0),i=!1,r=!1,E.call(p,m)>=0&&(n=!1),v&&!v.spaced&&m==="?"&&(s.call=!0),s.fromThen?1:f||(v!=null?v.spaced:void 0)&&(v.call||(b=v[0],E.call(l,b)>=0))&&(E.call(a,m)>=0||!s.spaced&&!s.newLine&&E.call(c,m)>=0)?(u.splice(o,0,this.generate("CALL_START","(",s[2])),this.detectEnd(o+1,t,e),v[0]==="?"&&(v[0]="FUNC_EXIST"),2):1})},e.prototype.addImplicitIndentation=function(){var e,t,n,r,i;return i=n=r=null,t=function(e,t){var n;return e[1]!==";"&&(n=e[0],E.call(d,n)>=0)&&(e[0]!=="ELSE"||i==="IF"||i==="THEN")},e=function(e,t){return this.tokens.splice(this.tag(t-1)===","?t-1:t,0,r)},this.scanTokens(function(s,o,u){var a,f,l;return a=s[0],a==="TERMINATOR"&&this.tag(o+1)==="THEN"?(u.splice(o,1),0):a==="ELSE"&&this.tag(o-1)!=="OUTDENT"?(u.splice.apply(u,[o,0].concat(S.call(this.indentation(s)))),2):a!=="CATCH"||(f=this.tag(o+2))!=="OUTDENT"&&f!=="TERMINATOR"&&f!=="FINALLY"?E.call(v,a)>=0&&this.tag(o+1)!=="INDENT"&&(a!=="ELSE"||this.tag(o+1)!=="IF")?(i=a,l=this.indentation(s,!0),n=l[0],r=l[1],i==="THEN"&&(n.fromThen=!0),u.splice(o+1,0,n),this.detectEnd(o+2,t,e),a==="THEN"&&u.splice(o,1),1):1:(u.splice.apply(u,[o+2,0].concat(S.call(this.indentation(s)))),4)})},e.prototype.tagPostfixConditionals=function(){var e,t,n;return n=null,t=function(e,t){var n;return(n=e[0])==="TERMINATOR"||n==="INDENT"},e=function(e,t){if(e[0]!=="INDENT"||e.generated&&!e.fromThen)return n[0]="POST_"+n[0]},this.scanTokens(function(r,i){return r[0]!=="IF"?1:(n=r,this.detectEnd(i+1,t,e),1)})},e.prototype.indentation=function(e,t){var n,r;return t==null&&(t=!1),n=["INDENT",2,e[2]],r=["OUTDENT",2,e[2]],t&&(n.generated=r.generated=!0),[n,r]},e.prototype.generate=function(e,t,n){var r;return r=[e,t,n],r.generated=!0,r},e.prototype.tag=function(e){var t;return(t=this.tokens[e])!=null?t[0]:void 0},e}(),r=[["(",")"],["[","]"],["{","}"],["INDENT","OUTDENT"],["CALL_START","CALL_END"],["PARAM_START","PARAM_END"],["INDEX_START","INDEX_END"]],t.INVERSES=h={},o=[],s=[];for(y=0,b=r.length;y<b;y++)w=r[y],m=w[0],g=w[1],o.push(h[g]=m),s.push(h[m]=g);i=["CATCH","WHEN","ELSE","FINALLY"].concat(s),l=["IDENTIFIER","SUPER",")","CALL_END","]","INDEX_END","@","THIS"],a=["IDENTIFIER","NUMBER","STRING","JS","REGEX","NEW","PARAM_START","CLASS","IF","TRY","SWITCH","THIS","BOOL","NULL","UNDEFINED","UNARY","SUPER","@","->","=>","[","(","{","--","++"],c=["+","-"],u=["->","=>","{","[",","],f=["POST_IF","FOR","WHILE","UNTIL","WHEN","BY","LOOP","TERMINATOR"],v=["ELSE","->","=>","TRY","FINALLY","THEN"],d=["TERMINATOR","CATCH","FINALLY","ELSE","OUTDENT","LEADING_WHEN"],p=["TERMINATOR","INDENT","OUTDENT"]}),define("ace/mode/coffee/helpers",["require","exports","module"],function(e,t,n){var r,i,s;t.starts=function(e,t,n){return t===e.substr(n,t.length)},t.ends=function(e,t,n){var r;return r=t.length,t===e.substr(e.length-r-(n||0),r)},t.compact=function(e){var t,n,r,i;i=[];for(n=0,r=e.length;n<r;n++)t=e[n],t&&i.push(t);return i},t.count=function(e,t){var n,r;n=r=0;if(!t.length)return 1/0;while(r=1+e.indexOf(t,r))n++;return n},t.merge=function(e,t){return r(r({},e),t)},r=t.extend=function(e,t){var n,r;for(n in t)r=t[n],e[n]=r;return e},t.flatten=i=function(e){var t,n,r,s;n=[];for(r=0,s=e.length;r<s;r++)t=e[r],t instanceof Array?n=n.concat(i(t)):n.push(t);return n},t.del=function(e,t){var n;return n=e[t],delete e[t],n},t.last=function(e,t){return e[e.length-(t||0)-1]},t.some=(s=Array.prototype.some)!=null?s:function(e){var t,n,r;for(n=0,r=this.length;n<r;n++){t=this[n];if(e(t))return!0}return!1}}),define("ace/mode/coffee/parser",["require","exports","module"],function(e,t,n){var r={trace:function(){},yy:{},symbols_:{error:2,Root:3,Body:4,Block:5,TERMINATOR:6,Line:7,Expression:8,Statement:9,Return:10,Comment:11,STATEMENT:12,Value:13,Invocation:14,Code:15,Operation:16,Assign:17,If:18,Try:19,While:20,For:21,Switch:22,Class:23,Throw:24,INDENT:25,OUTDENT:26,Identifier:27,IDENTIFIER:28,AlphaNumeric:29,NUMBER:30,STRING:31,Literal:32,JS:33,REGEX:34,DEBUGGER:35,UNDEFINED:36,NULL:37,BOOL:38,Assignable:39,"=":40,AssignObj:41,ObjAssignable:42,":":43,ThisProperty:44,RETURN:45,HERECOMMENT:46,PARAM_START:47,ParamList:48,PARAM_END:49,FuncGlyph:50,"->":51,"=>":52,OptComma:53,",":54,Param:55,ParamVar:56,"...":57,Array:58,Object:59,Splat:60,SimpleAssignable:61,Accessor:62,Parenthetical:63,Range:64,This:65,".":66,"?.":67,"::":68,Index:69,INDEX_START:70,IndexValue:71,INDEX_END:72,INDEX_SOAK:73,Slice:74,"{":75,AssignList:76,"}":77,CLASS:78,EXTENDS:79,OptFuncExist:80,Arguments:81,SUPER:82,FUNC_EXIST:83,CALL_START:84,CALL_END:85,ArgList:86,THIS:87,"@":88,"[":89,"]":90,RangeDots:91,"..":92,Arg:93,SimpleArgs:94,TRY:95,Catch:96,FINALLY:97,CATCH:98,THROW:99,"(":100,")":101,WhileSource:102,WHILE:103,WHEN:104,UNTIL:105,Loop:106,LOOP:107,ForBody:108,FOR:109,ForStart:110,ForSource:111,ForVariables:112,OWN:113,ForValue:114,FORIN:115,FOROF:116,BY:117,SWITCH:118,Whens:119,ELSE:120,When:121,LEADING_WHEN:122,IfBlock:123,IF:124,POST_IF:125,UNARY:126,"-":127,"+":128,"--":129,"++":130,"?":131,MATH:132,SHIFT:133,COMPARE:134,LOGIC:135,RELATION:136,COMPOUND_ASSIGN:137,$accept:0,$end:1},terminals_:{2:"error",6:"TERMINATOR",12:"STATEMENT",25:"INDENT",26:"OUTDENT",28:"IDENTIFIER",30:"NUMBER",31:"STRING",33:"JS",34:"REGEX",35:"DEBUGGER",36:"UNDEFINED",37:"NULL",38:"BOOL",40:"=",43:":",45:"RETURN",46:"HERECOMMENT",47:"PARAM_START",49:"PARAM_END",51:"->",52:"=>",54:",",57:"...",66:".",67:"?.",68:"::",70:"INDEX_START",72:"INDEX_END",73:"INDEX_SOAK",75:"{",77:"}",78:"CLASS",79:"EXTENDS",82:"SUPER",83:"FUNC_EXIST",84:"CALL_START",85:"CALL_END",87:"THIS",88:"@",89:"[",90:"]",92:"..",95:"TRY",97:"FINALLY",98:"CATCH",99:"THROW",100:"(",101:")",103:"WHILE",104:"WHEN",105:"UNTIL",107:"LOOP",109:"FOR",113:"OWN",115:"FORIN",116:"FOROF",117:"BY",118:"SWITCH",120:"ELSE",122:"LEADING_WHEN",124:"IF",125:"POST_IF",126:"UNARY",127:"-",128:"+",129:"--",130:"++",131:"?",132:"MATH",133:"SHIFT",134:"COMPARE",135:"LOGIC",136:"RELATION",137:"COMPOUND_ASSIGN"},productions_:[0,[3,0],[3,1],[3,2],[4,1],[4,3],[4,2],[7,1],[7,1],[9,1],[9,1],[9,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[5,2],[5,3],[27,1],[29,1],[29,1],[32,1],[32,1],[32,1],[32,1],[32,1],[32,1],[32,1],[17,3],[17,4],[17,5],[41,1],[41,3],[41,5],[41,1],[42,1],[42,1],[42,1],[10,2],[10,1],[11,1],[15,5],[15,2],[50,1],[50,1],[53,0],[53,1],[48,0],[48,1],[48,3],[48,4],[48,6],[55,1],[55,2],[55,3],[56,1],[56,1],[56,1],[56,1],[60,2],[61,1],[61,2],[61,2],[61,1],[39,1],[39,1],[39,1],[13,1],[13,1],[13,1],[13,1],[13,1],[62,2],[62,2],[62,2],[62,1],[62,1],[69,3],[69,2],[71,1],[71,1],[59,4],[76,0],[76,1],[76,3],[76,4],[76,6],[23,1],[23,2],[23,3],[23,4],[23,2],[23,3],[23,4],[23,5],[14,3],[14,3],[14,1],[14,2],[80,0],[80,1],[81,2],[81,4],[65,1],[65,1],[44,2],[58,2],[58,4],[91,1],[91,1],[64,5],[74,3],[74,2],[74,2],[74,1],[86,1],[86,3],[86,4],[86,4],[86,6],[93,1],[93,1],[94,1],[94,3],[19,2],[19,3],[19,4],[19,5],[96,3],[24,2],[63,3],[63,5],[102,2],[102,4],[102,2],[102,4],[20,2],[20,2],[20,2],[20,1],[106,2],[106,2],[21,2],[21,2],[21,2],[108,2],[108,2],[110,2],[110,3],[114,1],[114,1],[114,1],[114,1],[112,1],[112,3],[111,2],[111,2],[111,4],[111,4],[111,4],[111,6],[111,6],[22,5],[22,7],[22,4],[22,6],[119,1],[119,2],[121,3],[121,4],[123,3],[123,5],[18,1],[18,3],[18,3],[18,3],[16,2],[16,2],[16,2],[16,2],[16,2],[16,2],[16,2],[16,2],[16,3],[16,3],[16,3],[16,3],[16,3],[16,3],[16,3],[16,3],[16,5],[16,3]],performAction:function(t,n,r,i,s,o,u){var a=o.length-1;switch(s){case 1:return this.$=new i.Block;case 2:return this.$=o[a];case 3:return this.$=o[a-1];case 4:this.$=i.Block.wrap([o[a]]);break;case 5:this.$=o[a-2].push(o[a]);break;case 6:this.$=o[a-1];break;case 7:this.$=o[a];break;case 8:this.$=o[a];break;case 9:this.$=o[a];break;case 10:this.$=o[a];break;case 11:this.$=new i.Literal(o[a]);break;case 12:this.$=o[a];break;case 13:this.$=o[a];break;case 14:this.$=o[a];break;case 15:this.$=o[a];break;case 16:this.$=o[a];break;case 17:this.$=o[a];break;case 18:this.$=o[a];break;case 19:this.$=o[a];break;case 20:this.$=o[a];break;case 21:this.$=o[a];break;case 22:this.$=o[a];break;case 23:this.$=o[a];break;case 24:this.$=new i.Block;break;case 25:this.$=o[a-1];break;case 26:this.$=new i.Literal(o[a]);break;case 27:this.$=new i.Literal(o[a]);break;case 28:this.$=new i.Literal(o[a]);break;case 29:this.$=o[a];break;case 30:this.$=new i.Literal(o[a]);break;case 31:this.$=new i.Literal(o[a]);break;case 32:this.$=new i.Literal(o[a]);break;case 33:this.$=new i.Undefined;break;case 34:this.$=new i.Null;break;case 35:this.$=new i.Bool(o[a]);break;case 36:this.$=new i.Assign(o[a-2],o[a]);break;case 37:this.$=new i.Assign(o[a-3],o[a]);break;case 38:this.$=new i.Assign(o[a-4],o[a-1]);break;case 39:this.$=new i.Value(o[a]);break;case 40:this.$=new i.Assign(new i.Value(o[a-2]),o[a],"object");break;case 41:this.$=new i.Assign(new i.Value(o[a-4]),o[a-1],"object");break;case 42:this.$=o[a];break;case 43:this.$=o[a];break;case 44:this.$=o[a];break;case 45:this.$=o[a];break;case 46:this.$=new i.Return(o[a]);break;case 47:this.$=new i.Return;break;case 48:this.$=new i.Comment(o[a]);break;case 49:this.$=new i.Code(o[a-3],o[a],o[a-1]);break;case 50:this.$=new i.Code([],o[a],o[a-1]);break;case 51:this.$="func";break;case 52:this.$="boundfunc";break;case 53:this.$=o[a];break;case 54:this.$=o[a];break;case 55:this.$=[];break;case 56:this.$=[o[a]];break;case 57:this.$=o[a-2].concat(o[a]);break;case 58:this.$=o[a-3].concat(o[a]);break;case 59:this.$=o[a-5].concat(o[a-2]);break;case 60:this.$=new i.Param(o[a]);break;case 61:this.$=new i.Param(o[a-1],null,!0);break;case 62:this.$=new i.Param(o[a-2],o[a]);break;case 63:this.$=o[a];break;case 64:this.$=o[a];break;case 65:this.$=o[a];break;case 66:this.$=o[a];break;case 67:this.$=new i.Splat(o[a-1]);break;case 68:this.$=new i.Value(o[a]);break;case 69:this.$=o[a-1].add(o[a]);break;case 70:this.$=new i.Value(o[a-1],[].concat(o[a]));break;case 71:this.$=o[a];break;case 72:this.$=o[a];break;case 73:this.$=new i.Value(o[a]);break;case 74:this.$=new i.Value(o[a]);break;case 75:this.$=o[a];break;case 76:this.$=new i.Value(o[a]);break;case 77:this.$=new i.Value(o[a]);break;case 78:this.$=new i.Value(o[a]);break;case 79:this.$=o[a];break;case 80:this.$=new i.Access(o[a]);break;case 81:this.$=new i.Access(o[a],"soak");break;case 82:this.$=[new i.Access(new i.Literal("prototype")),new i.Access(o[a])];break;case 83:this.$=new i.Access(new i.Literal("prototype"));break;case 84:this.$=o[a];break;case 85:this.$=o[a-1];break;case 86:this.$=i.extend(o[a],{soak:!0});break;case 87:this.$=new i.Index(o[a]);break;case 88:this.$=new i.Slice(o[a]);break;case 89:this.$=new i.Obj(o[a-2],o[a-3].generated);break;case 90:this.$=[];break;case 91:this.$=[o[a]];break;case 92:this.$=o[a-2].concat(o[a]);break;case 93:this.$=o[a-3].concat(o[a]);break;case 94:this.$=o[a-5].concat(o[a-2]);break;case 95:this.$=new i.Class;break;case 96:this.$=new i.Class(null,null,o[a]);break;case 97:this.$=new i.Class(null,o[a]);break;case 98:this.$=new i.Class(null,o[a-1],o[a]);break;case 99:this.$=new i.Class(o[a]);break;case 100:this.$=new i.Class(o[a-1],null,o[a]);break;case 101:this.$=new i.Class(o[a-2],o[a]);break;case 102:this.$=new i.Class(o[a-3],o[a-1],o[a]);break;case 103:this.$=new i.Call(o[a-2],o[a],o[a-1]);break;case 104:this.$=new i.Call(o[a-2],o[a],o[a-1]);break;case 105:this.$=new i.Call("super",[new i.Splat(new i.Literal("arguments"))]);break;case 106:this.$=new i.Call("super",o[a]);break;case 107:this.$=!1;break;case 108:this.$=!0;break;case 109:this.$=[];break;case 110:this.$=o[a-2];break;case 111:this.$=new i.Value(new i.Literal("this"));break;case 112:this.$=new i.Value(new i.Literal("this"));break;case 113:this.$=new i.Value(new i.Literal("this"),[new i.Access(o[a])],"this");break;case 114:this.$=new i.Arr([]);break;case 115:this.$=new i.Arr(o[a-2]);break;case 116:this.$="inclusive";break;case 117:this.$="exclusive";break;case 118:this.$=new i.Range(o[a-3],o[a-1],o[a-2]);break;case 119:this.$=new i.Range(o[a-2],o[a],o[a-1]);break;case 120:this.$=new i.Range(o[a-1],null,o[a]);break;case 121:this.$=new i.Range(null,o[a],o[a-1]);break;case 122:this.$=new i.Range(null,null,o[a]);break;case 123:this.$=[o[a]];break;case 124:this.$=o[a-2].concat(o[a]);break;case 125:this.$=o[a-3].concat(o[a]);break;case 126:this.$=o[a-2];break;case 127:this.$=o[a-5].concat(o[a-2]);break;case 128:this.$=o[a];break;case 129:this.$=o[a];break;case 130:this.$=o[a];break;case 131:this.$=[].concat(o[a-2],o[a]);break;case 132:this.$=new i.Try(o[a]);break;case 133:this.$=new i.Try(o[a-1],o[a][0],o[a][1]);break;case 134:this.$=new i.Try(o[a-2],null,null,o[a]);break;case 135:this.$=new i.Try(o[a-3],o[a-2][0],o[a-2][1],o[a]);break;case 136:this.$=[o[a-1],o[a]];break;case 137:this.$=new i.Throw(o[a]);break;case 138:this.$=new i.Parens(o[a-1]);break;case 139:this.$=new i.Parens(o[a-2]);break;case 140:this.$=new i.While(o[a]);break;case 141:this.$=new i.While(o[a-2],{guard:o[a]});break;case 142:this.$=new i.While(o[a],{invert:!0});break;case 143:this.$=new i.While(o[a-2],{invert:!0,guard:o[a]});break;case 144:this.$=o[a-1].addBody(o[a]);break;case 145:this.$=o[a].addBody(i.Block.wrap([o[a-1]]));break;case 146:this.$=o[a].addBody(i.Block.wrap([o[a-1]]));break;case 147:this.$=o[a];break;case 148:this.$=(new i.While(new i.Literal("true"))).addBody(o[a]);break;case 149:this.$=(new i.While(new i.Literal("true"))).addBody(i.Block.wrap([o[a]]));break;case 150:this.$=new i.For(o[a-1],o[a]);break;case 151:this.$=new i.For(o[a-1],o[a]);break;case 152:this.$=new i.For(o[a],o[a-1]);break;case 153:this.$={source:new i.Value(o[a])};break;case 154:this.$=function(){return o[a].own=o[a-1].own,o[a].name=o[a-1][0],o[a].index=o[a-1][1],o[a]}();break;case 155:this.$=o[a];break;case 156:this.$=function(){return o[a].own=!0,o[a]}();break;case 157:this.$=o[a];break;case 158:this.$=o[a];break;case 159:this.$=new i.Value(o[a]);break;case 160:this.$=new i.Value(o[a]);break;case 161:this.$=[o[a]];break;case 162:this.$=[o[a-2],o[a]];break;case 163:this.$={source:o[a]};break;case 164:this.$={source:o[a],object:!0};break;case 165:this.$={source:o[a-2],guard:o[a]};break;case 166:this.$={source:o[a-2],guard:o[a],object:!0};break;case 167:this.$={source:o[a-2],step:o[a]};break;case 168:this.$={source:o[a-4],guard:o[a-2],step:o[a]};break;case 169:this.$={source:o[a-4],step:o[a-2],guard:o[a]};break;case 170:this.$=new i.Switch(o[a-3],o[a-1]);break;case 171:this.$=new i.Switch(o[a-5],o[a-3],o[a-1]);break;case 172:this.$=new i.Switch(null,o[a-1]);break;case 173:this.$=new i.Switch(null,o[a-3],o[a-1]);break;case 174:this.$=o[a];break;case 175:this.$=o[a-1].concat(o[a]);break;case 176:this.$=[[o[a-1],o[a]]];break;case 177:this.$=[[o[a-2],o[a-1]]];break;case 178:this.$=new i.If(o[a-1],o[a],{type:o[a-2]});break;case 179:this.$=o[a-4].addElse(new i.If(o[a-1],o[a],{type:o[a-2]}));break;case 180:this.$=o[a];break;case 181:this.$=o[a-2].addElse(o[a]);break;case 182:this.$=new i.If(o[a],i.Block.wrap([o[a-2]]),{type:o[a-1],statement:!0});break;case 183:this.$=new i.If(o[a],i.Block.wrap([o[a-2]]),{type:o[a-1],statement:!0});break;case 184:this.$=new i.Op(o[a-1],o[a]);break;case 185:this.$=new i.Op("-",o[a]);break;case 186:this.$=new i.Op("+",o[a]);break;case 187:this.$=new i.Op("--",o[a]);break;case 188:this.$=new i.Op("++",o[a]);break;case 189:this.$=new i.Op("--",o[a-1],null,!0);break;case 190:this.$=new i.Op("++",o[a-1],null,!0);break;case 191:this.$=new i.Existence(o[a-1]);break;case 192:this.$=new i.Op("+",o[a-2],o[a]);break;case 193:this.$=new i.Op("-",o[a-2],o[a]);break;case 194:this.$=new i.Op(o[a-1],o[a-2],o[a]);break;case 195:this.$=new i.Op(o[a-1],o[a-2],o[a]);break;case 196:this.$=new i.Op(o[a-1],o[a-2],o[a]);break;case 197:this.$=new i.Op(o[a-1],o[a-2],o[a]);break;case 198:this.$=function(){return o[a-1].charAt(0)==="!"?(new i.Op(o[a-1].slice(1),o[a-2],o[a])).invert():new i.Op(o[a-1],o[a-2],o[a])}();break;case 199:this.$=new i.Assign(o[a-2],o[a],o[a-1]);break;case 200:this.$=new i.Assign(o[a-4],o[a-1],o[a-3]);break;case 201:this.$=new i.Extends(o[a-2],o[a])}},table:[{1:[2,1],3:1,4:2,5:3,7:4,8:6,9:7,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,25:[1,5],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{1:[3]},{1:[2,2],6:[1,74]},{6:[1,75]},{1:[2,4],6:[2,4],26:[2,4],101:[2,4]},{4:77,7:4,8:6,9:7,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,26:[1,76],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{1:[2,7],6:[2,7],26:[2,7],101:[2,7],102:87,103:[1,65],105:[1,66],108:88,109:[1,68],110:69,125:[1,86],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{1:[2,8],6:[2,8],26:[2,8],101:[2,8],102:90,103:[1,65],105:[1,66],108:91,109:[1,68],110:69,125:[1,89]},{1:[2,12],6:[2,12],25:[2,12],26:[2,12],49:[2,12],54:[2,12],57:[2,12],62:93,66:[1,95],67:[1,96],68:[1,97],69:98,70:[1,99],72:[2,12],73:[1,100],77:[2,12],80:92,83:[1,94],84:[2,107],85:[2,12],90:[2,12],92:[2,12],101:[2,12],103:[2,12],104:[2,12],105:[2,12],109:[2,12],117:[2,12],125:[2,12],127:[2,12],128:[2,12],131:[2,12],132:[2,12],133:[2,12],134:[2,12],135:[2,12],136:[2,12]},{1:[2,13],6:[2,13],25:[2,13],26:[2,13],49:[2,13],54:[2,13],57:[2,13],62:102,66:[1,95],67:[1,96],68:[1,97],69:98,70:[1,99],72:[2,13],73:[1,100],77:[2,13],80:101,83:[1,94],84:[2,107],85:[2,13],90:[2,13],92:[2,13],101:[2,13],103:[2,13],104:[2,13],105:[2,13],109:[2,13],117:[2,13],125:[2,13],127:[2,13],128:[2,13],131:[2,13],132:[2,13],133:[2,13],134:[2,13],135:[2,13],136:[2,13]},{1:[2,14],6:[2,14],25:[2,14],26:[2,14],49:[2,14],54:[2,14],57:[2,14],72:[2,14],77:[2,14],85:[2,14],90:[2,14],92:[2,14],101:[2,14],103:[2,14],104:[2,14],105:[2,14],109:[2,14],117:[2,14],125:[2,14],127:[2,14],128:[2,14],131:[2,14],132:[2,14],133:[2,14],134:[2,14],135:[2,14],136:[2,14]},{1:[2,15],6:[2,15],25:[2,15],26:[2,15],49:[2,15],54:[2,15],57:[2,15],72:[2,15],77:[2,15],85:[2,15],90:[2,15],92:[2,15],101:[2,15],103:[2,15],104:[2,15],105:[2,15],109:[2,15],117:[2,15],125:[2,15],127:[2,15],128:[2,15],131:[2,15],132:[2,15],133:[2,15],134:[2,15],135:[2,15],136:[2,15]},{1:[2,16],6:[2,16],25:[2,16],26:[2,16],49:[2,16],54:[2,16],57:[2,16],72:[2,16],77:[2,16],85:[2,16],90:[2,16],92:[2,16],101:[2,16],103:[2,16],104:[2,16],105:[2,16],109:[2,16],117:[2,16],125:[2,16],127:[2,16],128:[2,16],131:[2,16],132:[2,16],133:[2,16],134:[2,16],135:[2,16],136:[2,16]},{1:[2,17],6:[2,17],25:[2,17],26:[2,17],49:[2,17],54:[2,17],57:[2,17],72:[2,17],77:[2,17],85:[2,17],90:[2,17],92:[2,17],101:[2,17],103:[2,17],104:[2,17],105:[2,17],109:[2,17],117:[2,17],125:[2,17],127:[2,17],128:[2,17],131:[2,17],132:[2,17],133:[2,17],134:[2,17],135:[2,17],136:[2,17]},{1:[2,18],6:[2,18],25:[2,18],26:[2,18],49:[2,18],54:[2,18],57:[2,18],72:[2,18],77:[2,18],85:[2,18],90:[2,18],92:[2,18],101:[2,18],103:[2,18],104:[2,18],105:[2,18],109:[2,18],117:[2,18],125:[2,18],127:[2,18],128:[2,18],131:[2,18],132:[2,18],133:[2,18],134:[2,18],135:[2,18],136:[2,18]},{1:[2,19],6:[2,19],25:[2,19],26:[2,19],49:[2,19],54:[2,19],57:[2,19],72:[2,19],77:[2,19],85:[2,19],90:[2,19],92:[2,19],101:[2,19],103:[2,19],104:[2,19],105:[2,19],109:[2,19],117:[2,19],125:[2,19],127:[2,19],128:[2,19],131:[2,19],132:[2,19],133:[2,19],134:[2,19],135:[2,19],136:[2,19]},{1:[2,20],6:[2,20],25:[2,20],26:[2,20],49:[2,20],54:[2,20],57:[2,20],72:[2,20],77:[2,20],85:[2,20],90:[2,20],92:[2,20],101:[2,20],103:[2,20],104:[2,20],105:[2,20],109:[2,20],117:[2,20],125:[2,20],127:[2,20],128:[2,20],131:[2,20],132:[2,20],133:[2,20],134:[2,20],135:[2,20],136:[2,20]},{1:[2,21],6:[2,21],25:[2,21],26:[2,21],49:[2,21],54:[2,21],57:[2,21],72:[2,21],77:[2,21],85:[2,21],90:[2,21],92:[2,21],101:[2,21],103:[2,21],104:[2,21],105:[2,21],109:[2,21],117:[2,21],125:[2,21],127:[2,21],128:[2,21],131:[2,21],132:[2,21],133:[2,21],134:[2,21],135:[2,21],136:[2,21]},{1:[2,22],6:[2,22],25:[2,22],26:[2,22],49:[2,22],54:[2,22],57:[2,22],72:[2,22],77:[2,22],85:[2,22],90:[2,22],92:[2,22],101:[2,22],103:[2,22],104:[2,22],105:[2,22],109:[2,22],117:[2,22],125:[2,22],127:[2,22],128:[2,22],131:[2,22],132:[2,22],133:[2,22],134:[2,22],135:[2,22],136:[2,22]},{1:[2,23],6:[2,23],25:[2,23],26:[2,23],49:[2,23],54:[2,23],57:[2,23],72:[2,23],77:[2,23],85:[2,23],90:[2,23],92:[2,23],101:[2,23],103:[2,23],104:[2,23],105:[2,23],109:[2,23],117:[2,23],125:[2,23],127:[2,23],128:[2,23],131:[2,23],132:[2,23],133:[2,23],134:[2,23],135:[2,23],136:[2,23]},{1:[2,9],6:[2,9],26:[2,9],101:[2,9],103:[2,9],105:[2,9],109:[2,9],125:[2,9]},{1:[2,10],6:[2,10],26:[2,10],101:[2,10],103:[2,10],105:[2,10],109:[2,10],125:[2,10]},{1:[2,11],6:[2,11],26:[2,11],101:[2,11],103:[2,11],105:[2,11],109:[2,11],125:[2,11]},{1:[2,75],6:[2,75],25:[2,75],26:[2,75],40:[1,103],49:[2,75],54:[2,75],57:[2,75],66:[2,75],67:[2,75],68:[2,75],70:[2,75],72:[2,75],73:[2,75],77:[2,75],83:[2,75],84:[2,75],85:[2,75],90:[2,75],92:[2,75],101:[2,75],103:[2,75],104:[2,75],105:[2,75],109:[2,75],117:[2,75],125:[2,75],127:[2,75],128:[2,75],131:[2,75],132:[2,75],133:[2,75],134:[2,75],135:[2,75],136:[2,75]},{1:[2,76],6:[2,76],25:[2,76],26:[2,76],49:[2,76],54:[2,76],57:[2,76],66:[2,76],67:[2,76],68:[2,76],70:[2,76],72:[2,76],73:[2,76],77:[2,76],83:[2,76],84:[2,76],85:[2,76],90:[2,76],92:[2,76],101:[2,76],103:[2,76],104:[2,76],105:[2,76],109:[2,76],117:[2,76],125:[2,76],127:[2,76],128:[2,76],131:[2,76],132:[2,76],133:[2,76],134:[2,76],135:[2,76],136:[2,76]},{1:[2,77],6:[2,77],25:[2,77],26:[2,77],49:[2,77],54:[2,77],57:[2,77],66:[2,77],67:[2,77],68:[2,77],70:[2,77],72:[2,77],73:[2,77],77:[2,77],83:[2,77],84:[2,77],85:[2,77],90:[2,77],92:[2,77],101:[2,77],103:[2,77],104:[2,77],105:[2,77],109:[2,77],117:[2,77],125:[2,77],127:[2,77],128:[2,77],131:[2,77],132:[2,77],133:[2,77],134:[2,77],135:[2,77],136:[2,77]},{1:[2,78],6:[2,78],25:[2,78],26:[2,78],49:[2,78],54:[2,78],57:[2,78],66:[2,78],67:[2,78],68:[2,78],70:[2,78],72:[2,78],73:[2,78],77:[2,78],83:[2,78],84:[2,78],85:[2,78],90:[2,78],92:[2,78],101:[2,78],103:[2,78],104:[2,78],105:[2,78],109:[2,78],117:[2,78],125:[2,78],127:[2,78],128:[2,78],131:[2,78],132:[2,78],133:[2,78],134:[2,78],135:[2,78],136:[2,78]},{1:[2,79],6:[2,79],25:[2,79],26:[2,79],49:[2,79],54:[2,79],57:[2,79],66:[2,79],67:[2,79],68:[2,79],70:[2,79],72:[2,79],73:[2,79],77:[2,79],83:[2,79],84:[2,79],85:[2,79],90:[2,79],92:[2,79],101:[2,79],103:[2,79],104:[2,79],105:[2,79],109:[2,79],117:[2,79],125:[2,79],127:[2,79],128:[2,79],131:[2,79],132:[2,79],133:[2,79],134:[2,79],135:[2,79],136:[2,79]},{1:[2,105],6:[2,105],25:[2,105],26:[2,105],49:[2,105],54:[2,105],57:[2,105],66:[2,105],67:[2,105],68:[2,105],70:[2,105],72:[2,105],73:[2,105],77:[2,105],81:104,83:[2,105],84:[1,105],85:[2,105],90:[2,105],92:[2,105],101:[2,105],103:[2,105],104:[2,105],105:[2,105],109:[2,105],117:[2,105],125:[2,105],127:[2,105],128:[2,105],131:[2,105],132:[2,105],133:[2,105],134:[2,105],135:[2,105],136:[2,105]},{6:[2,55],25:[2,55],27:109,28:[1,73],44:110,48:106,49:[2,55],54:[2,55],55:107,56:108,58:111,59:112,75:[1,70],88:[1,113],89:[1,114]},{5:115,25:[1,5]},{8:116,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{8:118,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{8:119,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{13:121,14:122,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:123,44:63,58:47,59:48,61:120,63:25,64:26,65:27,75:[1,70],82:[1,28],87:[1,58],88:[1,59],89:[1,57],100:[1,56]},{13:121,14:122,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:123,44:63,58:47,59:48,61:124,63:25,64:26,65:27,75:[1,70],82:[1,28],87:[1,58],88:[1,59],89:[1,57],100:[1,56]},{1:[2,72],6:[2,72],25:[2,72],26:[2,72],40:[2,72],49:[2,72],54:[2,72],57:[2,72],66:[2,72],67:[2,72],68:[2,72],70:[2,72],72:[2,72],73:[2,72],77:[2,72],79:[1,128],83:[2,72],84:[2,72],85:[2,72],90:[2,72],92:[2,72],101:[2,72],103:[2,72],104:[2,72],105:[2,72],109:[2,72],117:[2,72],125:[2,72],127:[2,72],128:[2,72],129:[1,125],130:[1,126],131:[2,72],132:[2,72],133:[2,72],134:[2,72],135:[2,72],136:[2,72],137:[1,127]},{1:[2,180],6:[2,180],25:[2,180],26:[2,180],49:[2,180],54:[2,180],57:[2,180],72:[2,180],77:[2,180],85:[2,180],90:[2,180],92:[2,180],101:[2,180],103:[2,180],104:[2,180],105:[2,180],109:[2,180],117:[2,180],120:[1,129],125:[2,180],127:[2,180],128:[2,180],131:[2,180],132:[2,180],133:[2,180],134:[2,180],135:[2,180],136:[2,180]},{5:130,25:[1,5]},{5:131,25:[1,5]},{1:[2,147],6:[2,147],25:[2,147],26:[2,147],49:[2,147],54:[2,147],57:[2,147],72:[2,147],77:[2,147],85:[2,147],90:[2,147],92:[2,147],101:[2,147],103:[2,147],104:[2,147],105:[2,147],109:[2,147],117:[2,147],125:[2,147],127:[2,147],128:[2,147],131:[2,147],132:[2,147],133:[2,147],134:[2,147],135:[2,147],136:[2,147]},{5:132,25:[1,5]},{8:133,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,25:[1,134],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{1:[2,95],5:135,6:[2,95],13:121,14:122,25:[1,5],26:[2,95],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:123,44:63,49:[2,95],54:[2,95],57:[2,95],58:47,59:48,61:137,63:25,64:26,65:27,72:[2,95],75:[1,70],77:[2,95],79:[1,136],82:[1,28],85:[2,95],87:[1,58],88:[1,59],89:[1,57],90:[2,95],92:[2,95],100:[1,56],101:[2,95],103:[2,95],104:[2,95],105:[2,95],109:[2,95],117:[2,95],125:[2,95],127:[2,95],128:[2,95],131:[2,95],132:[2,95],133:[2,95],134:[2,95],135:[2,95],136:[2,95]},{8:138,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{1:[2,47],6:[2,47],8:139,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,26:[2,47],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],101:[2,47],102:39,103:[2,47],105:[2,47],106:40,107:[1,67],108:41,109:[2,47],110:69,118:[1,42],123:37,124:[1,64],125:[2,47],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{1:[2,48],6:[2,48],25:[2,48],26:[2,48],54:[2,48],77:[2,48],101:[2,48],103:[2,48],105:[2,48],109:[2,48],125:[2,48]},{1:[2,73],6:[2,73],25:[2,73],26:[2,73],40:[2,73],49:[2,73],54:[2,73],57:[2,73],66:[2,73],67:[2,73],68:[2,73],70:[2,73],72:[2,73],73:[2,73],77:[2,73],83:[2,73],84:[2,73],85:[2,73],90:[2,73],92:[2,73],101:[2,73],103:[2,73],104:[2,73],105:[2,73],109:[2,73],117:[2,73],125:[2,73],127:[2,73],128:[2,73],131:[2,73],132:[2,73],133:[2,73],134:[2,73],135:[2,73],136:[2,73]},{1:[2,74],6:[2,74],25:[2,74],26:[2,74],40:[2,74],49:[2,74],54:[2,74],57:[2,74],66:[2,74],67:[2,74],68:[2,74],70:[2,74],72:[2,74],73:[2,74],77:[2,74],83:[2,74],84:[2,74],85:[2,74],90:[2,74],92:[2,74],101:[2,74],103:[2,74],104:[2,74],105:[2,74],109:[2,74],117:[2,74],125:[2,74],127:[2,74],128:[2,74],131:[2,74],132:[2,74],133:[2,74],134:[2,74],135:[2,74],136:[2,74]},{1:[2,29],6:[2,29],25:[2,29],26:[2,29],49:[2,29],54:[2,29],57:[2,29],66:[2,29],67:[2,29],68:[2,29],70:[2,29],72:[2,29],73:[2,29],77:[2,29],83:[2,29],84:[2,29],85:[2,29],90:[2,29],92:[2,29],101:[2,29],103:[2,29],104:[2,29],105:[2,29],109:[2,29],117:[2,29],125:[2,29],127:[2,29],128:[2,29],131:[2,29],132:[2,29],133:[2,29],134:[2,29],135:[2,29],136:[2,29]},{1:[2,30],6:[2,30],25:[2,30],26:[2,30],49:[2,30],54:[2,30],57:[2,30],66:[2,30],67:[2,30],68:[2,30],70:[2,30],72:[2,30],73:[2,30],77:[2,30],83:[2,30],84:[2,30],85:[2,30],90:[2,30],92:[2,30],101:[2,30],103:[2,30],104:[2,30],105:[2,30],109:[2,30],117:[2,30],125:[2,30],127:[2,30],128:[2,30],131:[2,30],132:[2,30],133:[2,30],134:[2,30],135:[2,30],136:[2,30]},{1:[2,31],6:[2,31],25:[2,31],26:[2,31],49:[2,31],54:[2,31],57:[2,31],66:[2,31],67:[2,31],68:[2,31],70:[2,31],72:[2,31],73:[2,31],77:[2,31],83:[2,31],84:[2,31],85:[2,31],90:[2,31],92:[2,31],101:[2,31],103:[2,31],104:[2,31],105:[2,31],109:[2,31],117:[2,31],125:[2,31],127:[2,31],128:[2,31],131:[2,31],132:[2,31],133:[2,31],134:[2,31],135:[2,31],136:[2,31]},{1:[2,32],6:[2,32],25:[2,32],26:[2,32],49:[2,32],54:[2,32],57:[2,32],66:[2,32],67:[2,32],68:[2,32],70:[2,32],72:[2,32],73:[2,32],77:[2,32],83:[2,32],84:[2,32],85:[2,32],90:[2,32],92:[2,32],101:[2,32],103:[2,32],104:[2,32],105:[2,32],109:[2,32],117:[2,32],125:[2,32],127:[2,32],128:[2,32],131:[2,32],132:[2,32],133:[2,32],134:[2,32],135:[2,32],136:[2,32]},{1:[2,33],6:[2,33],25:[2,33],26:[2,33],49:[2,33],54:[2,33],57:[2,33],66:[2,33],67:[2,33],68:[2,33],70:[2,33],72:[2,33],73:[2,33],77:[2,33],83:[2,33],84:[2,33],85:[2,33],90:[2,33],92:[2,33],101:[2,33],103:[2,33],104:[2,33],105:[2,33],109:[2,33],117:[2,33],125:[2,33],127:[2,33],128:[2,33],131:[2,33],132:[2,33],133:[2,33],134:[2,33],135:[2,33],136:[2,33]},{1:[2,34],6:[2,34],25:[2,34],26:[2,34],49:[2,34],54:[2,34],57:[2,34],66:[2,34],67:[2,34],68:[2,34],70:[2,34],72:[2,34],73:[2,34],77:[2,34],83:[2,34],84:[2,34],85:[2,34],90:[2,34],92:[2,34],101:[2,34],103:[2,34],104:[2,34],105:[2,34],109:[2,34],117:[2,34],125:[2,34],127:[2,34],128:[2,34],131:[2,34],132:[2,34],133:[2,34],134:[2,34],135:[2,34],136:[2,34]},{1:[2,35],6:[2,35],25:[2,35],26:[2,35],49:[2,35],54:[2,35],57:[2,35],66:[2,35],67:[2,35],68:[2,35],70:[2,35],72:[2,35],73:[2,35],77:[2,35],83:[2,35],84:[2,35],85:[2,35],90:[2,35],92:[2,35],101:[2,35],103:[2,35],104:[2,35],105:[2,35],109:[2,35],117:[2,35],125:[2,35],127:[2,35],128:[2,35],131:[2,35],132:[2,35],133:[2,35],134:[2,35],135:[2,35],136:[2,35]},{4:140,7:4,8:6,9:7,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,25:[1,141],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{8:142,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,25:[1,146],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,60:147,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],86:144,87:[1,58],88:[1,59],89:[1,57],90:[1,143],93:145,95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{1:[2,111],6:[2,111],25:[2,111],26:[2,111],49:[2,111],54:[2,111],57:[2,111],66:[2,111],67:[2,111],68:[2,111],70:[2,111],72:[2,111],73:[2,111],77:[2,111],83:[2,111],84:[2,111],85:[2,111],90:[2,111],92:[2,111],101:[2,111],103:[2,111],104:[2,111],105:[2,111],109:[2,111],117:[2,111],125:[2,111],127:[2,111],128:[2,111],131:[2,111],132:[2,111],133:[2,111],134:[2,111],135:[2,111],136:[2,111]},{1:[2,112],6:[2,112],25:[2,112],26:[2,112],27:148,28:[1,73],49:[2,112],54:[2,112],57:[2,112],66:[2,112],67:[2,112],68:[2,112],70:[2,112],72:[2,112],73:[2,112],77:[2,112],83:[2,112],84:[2,112],85:[2,112],90:[2,112],92:[2,112],101:[2,112],103:[2,112],104:[2,112],105:[2,112],109:[2,112],117:[2,112],125:[2,112],127:[2,112],128:[2,112],131:[2,112],132:[2,112],133:[2,112],134:[2,112],135:[2,112],136:[2,112]},{25:[2,51]},{25:[2,52]},{1:[2,68],6:[2,68],25:[2,68],26:[2,68],40:[2,68],49:[2,68],54:[2,68],57:[2,68],66:[2,68],67:[2,68],68:[2,68],70:[2,68],72:[2,68],73:[2,68],77:[2,68],79:[2,68],83:[2,68],84:[2,68],85:[2,68],90:[2,68],92:[2,68],101:[2,68],103:[2,68],104:[2,68],105:[2,68],109:[2,68],117:[2,68],125:[2,68],127:[2,68],128:[2,68],129:[2,68],130:[2,68],131:[2,68],132:[2,68],133:[2,68],134:[2,68],135:[2,68],136:[2,68],137:[2,68]},{1:[2,71],6:[2,71],25:[2,71],26:[2,71],40:[2,71],49:[2,71],54:[2,71],57:[2,71],66:[2,71],67:[2,71],68:[2,71],70:[2,71],72:[2,71],73:[2,71],77:[2,71],79:[2,71],83:[2,71],84:[2,71],85:[2,71],90:[2,71],92:[2,71],101:[2,71],103:[2,71],104:[2,71],105:[2,71],109:[2,71],117:[2,71],125:[2,71],127:[2,71],128:[2,71],129:[2,71],130:[2,71],131:[2,71],132:[2,71],133:[2,71],134:[2,71],135:[2,71],136:[2,71],137:[2,71]},{8:149,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{8:150,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{8:151,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{5:152,8:153,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,25:[1,5],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{27:158,28:[1,73],44:159,58:160,59:161,64:154,75:[1,70],88:[1,113],89:[1,57],112:155,113:[1,156],114:157},{111:162,115:[1,163],116:[1,164]},{6:[2,90],11:168,25:[2,90],27:169,28:[1,73],29:170,30:[1,71],31:[1,72],41:166,42:167,44:171,46:[1,46],54:[2,90],76:165,77:[2,90],88:[1,113]},{1:[2,27],6:[2,27],25:[2,27],26:[2,27],43:[2,27],49:[2,27],54:[2,27],57:[2,27],66:[2,27],67:[2,27],68:[2,27],70:[2,27],72:[2,27],73:[2,27],77:[2,27],83:[2,27],84:[2,27],85:[2,27],90:[2,27],92:[2,27],101:[2,27],103:[2,27],104:[2,27],105:[2,27],109:[2,27],117:[2,27],125:[2,27],127:[2,27],128:[2,27],131:[2,27],132:[2,27],133:[2,27],134:[2,27],135:[2,27],136:[2,27]},{1:[2,28],6:[2,28],25:[2,28],26:[2,28],43:[2,28],49:[2,28],54:[2,28],57:[2,28],66:[2,28],67:[2,28],68:[2,28],70:[2,28],72:[2,28],73:[2,28],77:[2,28],83:[2,28],84:[2,28],85:[2,28],90:[2,28],92:[2,28],101:[2,28],103:[2,28],104:[2,28],105:[2,28],109:[2,28],117:[2,28],125:[2,28],127:[2,28],128:[2,28],131:[2,28],132:[2,28],133:[2,28],134:[2,28],135:[2,28],136:[2,28]},{1:[2,26],6:[2,26],25:[2,26],26:[2,26],40:[2,26],43:[2,26],49:[2,26],54:[2,26],57:[2,26],66:[2,26],67:[2,26],68:[2,26],70:[2,26],72:[2,26],73:[2,26],77:[2,26],79:[2,26],83:[2,26],84:[2,26],85:[2,26],90:[2,26],92:[2,26],101:[2,26],103:[2,26],104:[2,26],105:[2,26],109:[2,26],115:[2,26],116:[2,26],117:[2,26],125:[2,26],127:[2,26],128:[2,26],129:[2,26],130:[2,26],131:[2,26],132:[2,26],133:[2,26],134:[2,26],135:[2,26],136:[2,26],137:[2,26]},{1:[2,6],6:[2,6],7:172,8:6,9:7,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,26:[2,6],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],101:[2,6],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{1:[2,3]},{1:[2,24],6:[2,24],25:[2,24],26:[2,24],49:[2,24],54:[2,24],57:[2,24],72:[2,24],77:[2,24],85:[2,24],90:[2,24],92:[2,24],97:[2,24],98:[2,24],101:[2,24],103:[2,24],104:[2,24],105:[2,24],109:[2,24],117:[2,24],120:[2,24],122:[2,24],125:[2,24],127:[2,24],128:[2,24],131:[2,24],132:[2,24],133:[2,24],134:[2,24],135:[2,24],136:[2,24]},{6:[1,74],26:[1,173]},{1:[2,191],6:[2,191],25:[2,191],26:[2,191],49:[2,191],54:[2,191],57:[2,191],72:[2,191],77:[2,191],85:[2,191],90:[2,191],92:[2,191],101:[2,191],103:[2,191],104:[2,191],105:[2,191],109:[2,191],117:[2,191],125:[2,191],127:[2,191],128:[2,191],131:[2,191],132:[2,191],133:[2,191],134:[2,191],135:[2,191],136:[2,191]},{8:174,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{8:175,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{8:176,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{8:177,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{8:178,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{8:179,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{8:180,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{8:181,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{1:[2,146],6:[2,146],25:[2,146],26:[2,146],49:[2,146],54:[2,146],57:[2,146],72:[2,146],77:[2,146],85:[2,146],90:[2,146],92:[2,146],101:[2,146],103:[2,146],104:[2,146],105:[2,146],109:[2,146],117:[2,146],125:[2,146],127:[2,146],128:[2,146],131:[2,146],132:[2,146],133:[2,146],134:[2,146],135:[2,146],136:[2,146]},{1:[2,151],6:[2,151],25:[2,151],26:[2,151],49:[2,151],54:[2,151],57:[2,151],72:[2,151],77:[2,151],85:[2,151],90:[2,151],92:[2,151],101:[2,151],103:[2,151],104:[2,151],105:[2,151],109:[2,151],117:[2,151],125:[2,151],127:[2,151],128:[2,151],131:[2,151],132:[2,151],133:[2,151],134:[2,151],135:[2,151],136:[2,151]},{8:182,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{1:[2,145],6:[2,145],25:[2,145],26:[2,145],49:[2,145],54:[2,145],57:[2,145],72:[2,145],77:[2,145],85:[2,145],90:[2,145],92:[2,145],101:[2,145],103:[2,145],104:[2,145],105:[2,145],109:[2,145],117:[2,145],125:[2,145],127:[2,145],128:[2,145],131:[2,145],132:[2,145],133:[2,145],134:[2,145],135:[2,145],136:[2,145]},{1:[2,150],6:[2,150],25:[2,150],26:[2,150],49:[2,150],54:[2,150],57:[2,150],72:[2,150],77:[2,150],85:[2,150],90:[2,150],92:[2,150],101:[2,150],103:[2,150],104:[2,150],105:[2,150],109:[2,150],117:[2,150],125:[2,150],127:[2,150],128:[2,150],131:[2,150],132:[2,150],133:[2,150],134:[2,150],135:[2,150],136:[2,150]},{81:183,84:[1,105]},{1:[2,69],6:[2,69],25:[2,69],26:[2,69],40:[2,69],49:[2,69],54:[2,69],57:[2,69],66:[2,69],67:[2,69],68:[2,69],70:[2,69],72:[2,69],73:[2,69],77:[2,69],79:[2,69],83:[2,69],84:[2,69],85:[2,69],90:[2,69],92:[2,69],101:[2,69],103:[2,69],104:[2,69],105:[2,69],109:[2,69],117:[2,69],125:[2,69],127:[2,69],128:[2,69],129:[2,69],130:[2,69],131:[2,69],132:[2,69],133:[2,69],134:[2,69],135:[2,69],136:[2,69],137:[2,69]},{84:[2,108]},{27:184,28:[1,73]},{27:185,28:[1,73]},{1:[2,83],6:[2,83],25:[2,83],26:[2,83],27:186,28:[1,73],40:[2,83],49:[2,83],54:[2,83],57:[2,83],66:[2,83],67:[2,83],68:[2,83],70:[2,83],72:[2,83],73:[2,83],77:[2,83],79:[2,83],83:[2,83],84:[2,83],85:[2,83],90:[2,83],92:[2,83],101:[2,83],103:[2,83],104:[2,83],105:[2,83],109:[2,83],117:[2,83],125:[2,83],127:[2,83],128:[2,83],129:[2,83],130:[2,83],131:[2,83],132:[2,83],133:[2,83],134:[2,83],135:[2,83],136:[2,83],137:[2,83]},{1:[2,84],6:[2,84],25:[2,84],26:[2,84],40:[2,84],49:[2,84],54:[2,84],57:[2,84],66:[2,84],67:[2,84],68:[2,84],70:[2,84],72:[2,84],73:[2,84],77:[2,84],79:[2,84],83:[2,84],84:[2,84],85:[2,84],90:[2,84],92:[2,84],101:[2,84],103:[2,84],104:[2,84],105:[2,84],109:[2,84],117:[2,84],125:[2,84],127:[2,84],128:[2,84],129:[2,84],130:[2,84],131:[2,84],132:[2,84],133:[2,84],134:[2,84],135:[2,84],136:[2,84],137:[2,84]},{8:188,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],57:[1,192],58:47,59:48,61:36,63:25,64:26,65:27,71:187,74:189,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],91:190,92:[1,191],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{69:193,70:[1,99],73:[1,100]},{81:194,84:[1,105]},{1:[2,70],6:[2,70],25:[2,70],26:[2,70],40:[2,70],49:[2,70],54:[2,70],57:[2,70],66:[2,70],67:[2,70],68:[2,70],70:[2,70],72:[2,70],73:[2,70],77:[2,70],79:[2,70],83:[2,70],84:[2,70],85:[2,70],90:[2,70],92:[2,70],101:[2,70],103:[2,70],104:[2,70],105:[2,70],109:[2,70],117:[2,70],125:[2,70],127:[2,70],128:[2,70],129:[2,70],130:[2,70],131:[2,70],132:[2,70],133:[2,70],134:[2,70],135:[2,70],136:[2,70],137:[2,70]},{6:[1,196],8:195,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,25:[1,197],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{1:[2,106],6:[2,106],25:[2,106],26:[2,106],49:[2,106],54:[2,106],57:[2,106],66:[2,106],67:[2,106],68:[2,106],70:[2,106],72:[2,106],73:[2,106],77:[2,106],83:[2,106],84:[2,106],85:[2,106],90:[2,106],92:[2,106],101:[2,106],103:[2,106],104:[2,106],105:[2,106],109:[2,106],117:[2,106],125:[2,106],127:[2,106],128:[2,106],131:[2,106],132:[2,106],133:[2,106],134:[2,106],135:[2,106],136:[2,106]},{8:200,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,25:[1,146],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,60:147,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],85:[1,198],86:199,87:[1,58],88:[1,59],89:[1,57],93:145,95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{6:[2,53],25:[2,53],49:[1,201],53:203,54:[1,202]},{6:[2,56],25:[2,56],26:[2,56],49:[2,56],54:[2,56]},{6:[2,60],25:[2,60],26:[2,60],40:[1,205],49:[2,60],54:[2,60],57:[1,204]},{6:[2,63],25:[2,63],26:[2,63],40:[2,63],49:[2,63],54:[2,63],57:[2,63]},{6:[2,64],25:[2,64],26:[2,64],40:[2,64],49:[2,64],54:[2,64],57:[2,64]},{6:[2,65],25:[2,65],26:[2,65],40:[2,65],49:[2,65],54:[2,65],57:[2,65]},{6:[2,66],25:[2,66],26:[2,66],40:[2,66],49:[2,66],54:[2,66],57:[2,66]},{27:148,28:[1,73]},{8:200,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,25:[1,146],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,60:147,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],86:144,87:[1,58],88:[1,59],89:[1,57],90:[1,143],93:145,95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{1:[2,50],6:[2,50],25:[2,50],26:[2,50],49:[2,50],54:[2,50],57:[2,50],72:[2,50],77:[2,50],85:[2,50],90:[2,50],92:[2,50],101:[2,50],103:[2,50],104:[2,50],105:[2,50],109:[2,50],117:[2,50],125:[2,50],127:[2,50],128:[2,50],131:[2,50],132:[2,50],133:[2,50],134:[2,50],135:[2,50],136:[2,50]},{1:[2,184],6:[2,184],25:[2,184],26:[2,184],49:[2,184],54:[2,184],57:[2,184],72:[2,184],77:[2,184],85:[2,184],90:[2,184],92:[2,184],101:[2,184],102:87,103:[2,184],104:[2,184],105:[2,184],108:88,109:[2,184],110:69,117:[2,184],125:[2,184],127:[2,184],128:[2,184],131:[1,78],132:[2,184],133:[2,184],134:[2,184],135:[2,184],136:[2,184]},{102:90,103:[1,65],105:[1,66],108:91,109:[1,68],110:69,125:[1,89]},{1:[2,185],6:[2,185],25:[2,185],26:[2,185],49:[2,185],54:[2,185],57:[2,185],72:[2,185],77:[2,185],85:[2,185],90:[2,185],92:[2,185],101:[2,185],102:87,103:[2,185],104:[2,185],105:[2,185],108:88,109:[2,185],110:69,117:[2,185],125:[2,185],127:[2,185],128:[2,185],131:[1,78],132:[2,185],133:[2,185],134:[2,185],135:[2,185],136:[2,185]},{1:[2,186],6:[2,186],25:[2,186],26:[2,186],49:[2,186],54:[2,186],57:[2,186],72:[2,186],77:[2,186],85:[2,186],90:[2,186],92:[2,186],101:[2,186],102:87,103:[2,186],104:[2,186],105:[2,186],108:88,109:[2,186],110:69,117:[2,186],125:[2,186],127:[2,186],128:[2,186],131:[1,78],132:[2,186],133:[2,186],134:[2,186],135:[2,186],136:[2,186]},{1:[2,187],6:[2,187],25:[2,187],26:[2,187],49:[2,187],54:[2,187],57:[2,187],66:[2,72],67:[2,72],68:[2,72],70:[2,72],72:[2,187],73:[2,72],77:[2,187],83:[2,72],84:[2,72],85:[2,187],90:[2,187],92:[2,187],101:[2,187],103:[2,187],104:[2,187],105:[2,187],109:[2,187],117:[2,187],125:[2,187],127:[2,187],128:[2,187],131:[2,187],132:[2,187],133:[2,187],134:[2,187],135:[2,187],136:[2,187]},{62:93,66:[1,95],67:[1,96],68:[1,97],69:98,70:[1,99],73:[1,100],80:92,83:[1,94],84:[2,107]},{62:102,66:[1,95],67:[1,96],68:[1,97],69:98,70:[1,99],73:[1,100],80:101,83:[1,94],84:[2,107]},{66:[2,75],67:[2,75],68:[2,75],70:[2,75],73:[2,75],83:[2,75],84:[2,75]},{1:[2,188],6:[2,188],25:[2,188],26:[2,188],49:[2,188],54:[2,188],57:[2,188],66:[2,72],67:[2,72],68:[2,72],70:[2,72],72:[2,188],73:[2,72],77:[2,188],83:[2,72],84:[2,72],85:[2,188],90:[2,188],92:[2,188],101:[2,188],103:[2,188],104:[2,188],105:[2,188],109:[2,188],117:[2,188],125:[2,188],127:[2,188],128:[2,188],131:[2,188],132:[2,188],133:[2,188],134:[2,188],135:[2,188],136:[2,188]},{1:[2,189],6:[2,189],25:[2,189],26:[2,189],49:[2,189],54:[2,189],57:[2,189],72:[2,189],77:[2,189],85:[2,189],90:[2,189],92:[2,189],101:[2,189],103:[2,189],104:[2,189],105:[2,189],109:[2,189],117:[2,189],125:[2,189],127:[2,189],128:[2,189],131:[2,189],132:[2,189],133:[2,189],134:[2,189],135:[2,189],136:[2,189]},{1:[2,190],6:[2,190],25:[2,190],26:[2,190],49:[2,190],54:[2,190],57:[2,190],72:[2,190],77:[2,190],85:[2,190],90:[2,190],92:[2,190],101:[2,190],103:[2,190],104:[2,190],105:[2,190],109:[2,190],117:[2,190],125:[2,190],127:[2,190],128:[2,190],131:[2,190],132:[2,190],133:[2,190],134:[2,190],135:[2,190],136:[2,190]},{8:206,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,25:[1,207],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{8:208,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{5:209,25:[1,5],124:[1,210]},{1:[2,132],6:[2,132],25:[2,132],26:[2,132],49:[2,132],54:[2,132],57:[2,132],72:[2,132],77:[2,132],85:[2,132],90:[2,132],92:[2,132],96:211,97:[1,212],98:[1,213],101:[2,132],103:[2,132],104:[2,132],105:[2,132],109:[2,132],117:[2,132],125:[2,132],127:[2,132],128:[2,132],131:[2,132],132:[2,132],133:[2,132],134:[2,132],135:[2,132],136:[2,132]},{1:[2,144],6:[2,144],25:[2,144],26:[2,144],49:[2,144],54:[2,144],57:[2,144],72:[2,144],77:[2,144],85:[2,144],90:[2,144],92:[2,144],101:[2,144],103:[2,144],104:[2,144],105:[2,144],109:[2,144],117:[2,144],125:[2,144],127:[2,144],128:[2,144],131:[2,144],132:[2,144],133:[2,144],134:[2,144],135:[2,144],136:[2,144]},{1:[2,152],6:[2,152],25:[2,152],26:[2,152],49:[2,152],54:[2,152],57:[2,152],72:[2,152],77:[2,152],85:[2,152],90:[2,152],92:[2,152],101:[2,152],103:[2,152],104:[2,152],105:[2,152],109:[2,152],117:[2,152],125:[2,152],127:[2,152],128:[2,152],131:[2,152],132:[2,152],133:[2,152],134:[2,152],135:[2,152],136:[2,152]},{25:[1,214],102:87,103:[1,65],105:[1,66],108:88,109:[1,68],110:69,125:[1,86],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{119:215,121:216,122:[1,217]},{1:[2,96],6:[2,96],25:[2,96],26:[2,96],49:[2,96],54:[2,96],57:[2,96],72:[2,96],77:[2,96],85:[2,96],90:[2,96],92:[2,96],101:[2,96],103:[2,96],104:[2,96],105:[2,96],109:[2,96],117:[2,96],125:[2,96],127:[2,96],128:[2,96],131:[2,96],132:[2,96],133:[2,96],134:[2,96],135:[2,96],136:[2,96]},{8:218,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{1:[2,99],5:219,6:[2,99],25:[1,5],26:[2,99],49:[2,99],54:[2,99],57:[2,99],66:[2,72],67:[2,72],68:[2,72],70:[2,72],72:[2,99],73:[2,72],77:[2,99],79:[1,220],83:[2,72],84:[2,72],85:[2,99],90:[2,99],92:[2,99],101:[2,99],103:[2,99],104:[2,99],105:[2,99],109:[2,99],117:[2,99],125:[2,99],127:[2,99],128:[2,99],131:[2,99],132:[2,99],133:[2,99],134:[2,99],135:[2,99],136:[2,99]},{1:[2,137],6:[2,137],25:[2,137],26:[2,137],49:[2,137],54:[2,137],57:[2,137],72:[2,137],77:[2,137],85:[2,137],90:[2,137],92:[2,137],101:[2,137],102:87,103:[2,137],104:[2,137],105:[2,137],108:88,109:[2,137],110:69,117:[2,137],125:[2,137],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{1:[2,46],6:[2,46],26:[2,46],101:[2,46],102:87,103:[2,46],105:[2,46],108:88,109:[2,46],110:69,125:[2,46],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{6:[1,74],101:[1,221]},{4:222,7:4,8:6,9:7,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{6:[2,128],25:[2,128],54:[2,128],57:[1,224],90:[2,128],91:223,92:[1,191],102:87,103:[1,65],105:[1,66],108:88,109:[1,68],110:69,125:[1,86],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{1:[2,114],6:[2,114],25:[2,114],26:[2,114],40:[2,114],49:[2,114],54:[2,114],57:[2,114],66:[2,114],67:[2,114],68:[2,114],70:[2,114],72:[2,114],73:[2,114],77:[2,114],83:[2,114],84:[2,114],85:[2,114],90:[2,114],92:[2,114],101:[2,114],103:[2,114],104:[2,114],105:[2,114],109:[2,114],115:[2,114],116:[2,114],117:[2,114],125:[2,114],127:[2,114],128:[2,114],131:[2,114],132:[2,114],133:[2,114],134:[2,114],135:[2,114],136:[2,114]},{6:[2,53],25:[2,53],53:225,54:[1,226],90:[2,53]},{6:[2,123],25:[2,123],26:[2,123],54:[2,123],85:[2,123],90:[2,123]},{8:200,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,25:[1,146],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,60:147,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],86:227,87:[1,58],88:[1,59],89:[1,57],93:145,95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{6:[2,129],25:[2,129],26:[2,129],54:[2,129],85:[2,129],90:[2,129]},{1:[2,113],6:[2,113],25:[2,113],26:[2,113],40:[2,113],43:[2,113],49:[2,113],54:[2,113],57:[2,113],66:[2,113],67:[2,113],68:[2,113],70:[2,113],72:[2,113],73:[2,113],77:[2,113],79:[2,113],83:[2,113],84:[2,113],85:[2,113],90:[2,113],92:[2,113],101:[2,113],103:[2,113],104:[2,113],105:[2,113],109:[2,113],115:[2,113],116:[2,113],117:[2,113],125:[2,113],127:[2,113],128:[2,113],129:[2,113],130:[2,113],131:[2,113],132:[2,113],133:[2,113],134:[2,113],135:[2,113],136:[2,113],137:[2,113]},{5:228,25:[1,5],102:87,103:[1,65],105:[1,66],108:88,109:[1,68],110:69,125:[1,86],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{1:[2,140],6:[2,140],25:[2,140],26:[2,140],49:[2,140],54:[2,140],57:[2,140],72:[2,140],77:[2,140],85:[2,140],90:[2,140],92:[2,140],101:[2,140],102:87,103:[1,65],104:[1,229],105:[1,66],108:88,109:[1,68],110:69,117:[2,140],125:[2,140],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{1:[2,142],6:[2,142],25:[2,142],26:[2,142],49:[2,142],54:[2,142],57:[2,142],72:[2,142],77:[2,142],85:[2,142],90:[2,142],92:[2,142],101:[2,142],102:87,103:[1,65],104:[1,230],105:[1,66],108:88,109:[1,68],110:69,117:[2,142],125:[2,142],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{1:[2,148],6:[2,148],25:[2,148],26:[2,148],49:[2,148],54:[2,148],57:[2,148],72:[2,148],77:[2,148],85:[2,148],90:[2,148],92:[2,148],101:[2,148],103:[2,148],104:[2,148],105:[2,148],109:[2,148],117:[2,148],125:[2,148],127:[2,148],128:[2,148],131:[2,148],132:[2,148],133:[2,148],134:[2,148],135:[2,148],136:[2,148]},{1:[2,149],6:[2,149],25:[2,149],26:[2,149],49:[2,149],54:[2,149],57:[2,149],72:[2,149],77:[2,149],85:[2,149],90:[2,149],92:[2,149],101:[2,149],102:87,103:[1,65],104:[2,149],105:[1,66],108:88,109:[1,68],110:69,117:[2,149],125:[2,149],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{1:[2,153],6:[2,153],25:[2,153],26:[2,153],49:[2,153],54:[2,153],57:[2,153],72:[2,153],77:[2,153],85:[2,153],90:[2,153],92:[2,153],101:[2,153],103:[2,153],104:[2,153],105:[2,153],109:[2,153],117:[2,153],125:[2,153],127:[2,153],128:[2,153],131:[2,153],132:[2,153],133:[2,153],134:[2,153],135:[2,153],136:[2,153]},{115:[2,155],116:[2,155]},{27:158,28:[1,73],44:159,58:160,59:161,75:[1,70],88:[1,113],89:[1,114],112:231,114:157},{54:[1,232],115:[2,161],116:[2,161]},{54:[2,157],115:[2,157],116:[2,157]},{54:[2,158],115:[2,158],116:[2,158]},{54:[2,159],115:[2,159],116:[2,159]},{54:[2,160],115:[2,160],116:[2,160]},{1:[2,154],6:[2,154],25:[2,154],26:[2,154],49:[2,154],54:[2,154],57:[2,154],72:[2,154],77:[2,154],85:[2,154],90:[2,154],92:[2,154],101:[2,154],103:[2,154],104:[2,154],105:[2,154],109:[2,154],117:[2,154],125:[2,154],127:[2,154],128:[2,154],131:[2,154],132:[2,154],133:[2,154],134:[2,154],135:[2,154],136:[2,154]},{8:233,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{8:234,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{6:[2,53],25:[2,53],53:235,54:[1,236],77:[2,53]},{6:[2,91],25:[2,91],26:[2,91],54:[2,91],77:[2,91]},{6:[2,39],25:[2,39],26:[2,39],43:[1,237],54:[2,39],77:[2,39]},{6:[2,42],25:[2,42],26:[2,42],54:[2,42],77:[2,42]},{6:[2,43],25:[2,43],26:[2,43],43:[2,43],54:[2,43],77:[2,43]},{6:[2,44],25:[2,44],26:[2,44],43:[2,44],54:[2,44],77:[2,44]},{6:[2,45],25:[2,45],26:[2,45],43:[2,45],54:[2,45],77:[2,45]},{1:[2,5],6:[2,5],26:[2,5],101:[2,5]},{1:[2,25],6:[2,25],25:[2,25],26:[2,25],49:[2,25],54:[2,25],57:[2,25],72:[2,25],77:[2,25],85:[2,25],90:[2,25],92:[2,25],97:[2,25],98:[2,25],101:[2,25],103:[2,25],104:[2,25],105:[2,25],109:[2,25],117:[2,25],120:[2,25],122:[2,25],125:[2,25],127:[2,25],128:[2,25],131:[2,25],132:[2,25],133:[2,25],134:[2,25],135:[2,25],136:[2,25]},{1:[2,192],6:[2,192],25:[2,192],26:[2,192],49:[2,192],54:[2,192],57:[2,192],72:[2,192],77:[2,192],85:[2,192],90:[2,192],92:[2,192],101:[2,192],102:87,103:[2,192],104:[2,192],105:[2,192],108:88,109:[2,192],110:69,117:[2,192],125:[2,192],127:[2,192],128:[2,192],131:[1,78],132:[1,81],133:[2,192],134:[2,192],135:[2,192],136:[2,192]},{1:[2,193],6:[2,193],25:[2,193],26:[2,193],49:[2,193],54:[2,193],57:[2,193],72:[2,193],77:[2,193],85:[2,193],90:[2,193],92:[2,193],101:[2,193],102:87,103:[2,193],104:[2,193],105:[2,193],108:88,109:[2,193],110:69,117:[2,193],125:[2,193],127:[2,193],128:[2,193],131:[1,78],132:[1,81],133:[2,193],134:[2,193],135:[2,193],136:[2,193]},{1:[2,194],6:[2,194],25:[2,194],26:[2,194],49:[2,194],54:[2,194],57:[2,194],72:[2,194],77:[2,194],85:[2,194],90:[2,194],92:[2,194],101:[2,194],102:87,103:[2,194],104:[2,194],105:[2,194],108:88,109:[2,194],110:69,117:[2,194],125:[2,194],127:[2,194],128:[2,194],131:[1,78],132:[2,194],133:[2,194],134:[2,194],135:[2,194],136:[2,194]},{1:[2,195],6:[2,195],25:[2,195],26:[2,195],49:[2,195],54:[2,195],57:[2,195],72:[2,195],77:[2,195],85:[2,195],90:[2,195],92:[2,195],101:[2,195],102:87,103:[2,195],104:[2,195],105:[2,195],108:88,109:[2,195],110:69,117:[2,195],125:[2,195],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[2,195],134:[2,195],135:[2,195],136:[2,195]},{1:[2,196],6:[2,196],25:[2,196],26:[2,196],49:[2,196],54:[2,196],57:[2,196],72:[2,196],77:[2,196],85:[2,196],90:[2,196],92:[2,196],101:[2,196],102:87,103:[2,196],104:[2,196],105:[2,196],108:88,109:[2,196],110:69,117:[2,196],125:[2,196],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[2,196],135:[2,196],136:[1,85]},{1:[2,197],6:[2,197],25:[2,197],26:[2,197],49:[2,197],54:[2,197],57:[2,197],72:[2,197],77:[2,197],85:[2,197],90:[2,197],92:[2,197],101:[2,197],102:87,103:[2,197],104:[2,197],105:[2,197],108:88,109:[2,197],110:69,117:[2,197],125:[2,197],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[2,197],136:[1,85]},{1:[2,198],6:[2,198],25:[2,198],26:[2,198],49:[2,198],54:[2,198],57:[2,198],72:[2,198],77:[2,198],85:[2,198],90:[2,198],92:[2,198],101:[2,198],102:87,103:[2,198],104:[2,198],105:[2,198],108:88,109:[2,198],110:69,117:[2,198],125:[2,198],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[2,198],135:[2,198],136:[2,198]},{1:[2,183],6:[2,183],25:[2,183],26:[2,183],49:[2,183],54:[2,183],57:[2,183],72:[2,183],77:[2,183],85:[2,183],90:[2,183],92:[2,183],101:[2,183],102:87,103:[1,65],104:[2,183],105:[1,66],108:88,109:[1,68],110:69,117:[2,183],125:[1,86],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{1:[2,182],6:[2,182],25:[2,182],26:[2,182],49:[2,182],54:[2,182],57:[2,182],72:[2,182],77:[2,182],85:[2,182],90:[2,182],92:[2,182],101:[2,182],102:87,103:[1,65],104:[2,182],105:[1,66],108:88,109:[1,68],110:69,117:[2,182],125:[1,86],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{1:[2,103],6:[2,103],25:[2,103],26:[2,103],49:[2,103],54:[2,103],57:[2,103],66:[2,103],67:[2,103],68:[2,103],70:[2,103],72:[2,103],73:[2,103],77:[2,103],83:[2,103],84:[2,103],85:[2,103],90:[2,103],92:[2,103],101:[2,103],103:[2,103],104:[2,103],105:[2,103],109:[2,103],117:[2,103],125:[2,103],127:[2,103],128:[2,103],131:[2,103],132:[2,103],133:[2,103],134:[2,103],135:[2,103],136:[2,103]},{1:[2,80],6:[2,80],25:[2,80],26:[2,80],40:[2,80],49:[2,80],54:[2,80],57:[2,80],66:[2,80],67:[2,80],68:[2,80],70:[2,80],72:[2,80],73:[2,80],77:[2,80],79:[2,80],83:[2,80],84:[2,80],85:[2,80],90:[2,80],92:[2,80],101:[2,80],103:[2,80],104:[2,80],105:[2,80],109:[2,80],117:[2,80],125:[2,80],127:[2,80],128:[2,80],129:[2,80],130:[2,80],131:[2,80],132:[2,80],133:[2,80],134:[2,80],135:[2,80],136:[2,80],137:[2,80]},{1:[2,81],6:[2,81],25:[2,81],26:[2,81],40:[2,81],49:[2,81],54:[2,81],57:[2,81],66:[2,81],67:[2,81],68:[2,81],70:[2,81],72:[2,81],73:[2,81],77:[2,81],79:[2,81],83:[2,81],84:[2,81],85:[2,81],90:[2,81],92:[2,81],101:[2,81],103:[2,81],104:[2,81],105:[2,81],109:[2,81],117:[2,81],125:[2,81],127:[2,81],128:[2,81],129:[2,81],130:[2,81],131:[2,81],132:[2,81],133:[2,81],134:[2,81],135:[2,81],136:[2,81],137:[2,81]},{1:[2,82],6:[2,82],25:[2,82],26:[2,82],40:[2,82],49:[2,82],54:[2,82],57:[2,82],66:[2,82],67:[2,82],68:[2,82],70:[2,82],72:[2,82],73:[2,82],77:[2,82],79:[2,82],83:[2,82],84:[2,82],85:[2,82],90:[2,82],92:[2,82],101:[2,82],103:[2,82],104:[2,82],105:[2,82],109:[2,82],117:[2,82],125:[2,82],127:[2,82],128:[2,82],129:[2,82],130:[2,82],131:[2,82],132:[2,82],133:[2,82],134:[2,82],135:[2,82],136:[2,82],137:[2,82]},{72:[1,238]},{57:[1,192],72:[2,87],91:239,92:[1,191],102:87,103:[1,65],105:[1,66],108:88,109:[1,68],110:69,125:[1,86],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{72:[2,88]},{8:240,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,72:[2,122],75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{12:[2,116],28:[2,116],30:[2,116],31:[2,116],33:[2,116],34:[2,116],35:[2,116],36:[2,116],37:[2,116],38:[2,116],45:[2,116],46:[2,116],47:[2,116],51:[2,116],52:[2,116],72:[2,116],75:[2,116],78:[2,116],82:[2,116],87:[2,116],88:[2,116],89:[2,116],95:[2,116],99:[2,116],100:[2,116],103:[2,116],105:[2,116],107:[2,116],109:[2,116],118:[2,116],124:[2,116],126:[2,116],127:[2,116],128:[2,116],129:[2,116],130:[2,116]},{12:[2,117],28:[2,117],30:[2,117],31:[2,117],33:[2,117],34:[2,117],35:[2,117],36:[2,117],37:[2,117],38:[2,117],45:[2,117],46:[2,117],47:[2,117],51:[2,117],52:[2,117],72:[2,117],75:[2,117],78:[2,117],82:[2,117],87:[2,117],88:[2,117],89:[2,117],95:[2,117],99:[2,117],100:[2,117],103:[2,117],105:[2,117],107:[2,117],109:[2,117],118:[2,117],124:[2,117],126:[2,117],127:[2,117],128:[2,117],129:[2,117],130:[2,117]},{1:[2,86],6:[2,86],25:[2,86],26:[2,86],40:[2,86],49:[2,86],54:[2,86],57:[2,86],66:[2,86],67:[2,86],68:[2,86],70:[2,86],72:[2,86],73:[2,86],77:[2,86],79:[2,86],83:[2,86],84:[2,86],85:[2,86],90:[2,86],92:[2,86],101:[2,86],103:[2,86],104:[2,86],105:[2,86],109:[2,86],117:[2,86],125:[2,86],127:[2,86],128:[2,86],129:[2,86],130:[2,86],131:[2,86],132:[2,86],133:[2,86],134:[2,86],135:[2,86],136:[2,86],137:[2,86]},{1:[2,104],6:[2,104],25:[2,104],26:[2,104],49:[2,104],54:[2,104],57:[2,104],66:[2,104],67:[2,104],68:[2,104],70:[2,104],72:[2,104],73:[2,104],77:[2,104],83:[2,104],84:[2,104],85:[2,104],90:[2,104],92:[2,104],101:[2,104],103:[2,104],104:[2,104],105:[2,104],109:[2,104],117:[2,104],125:[2,104],127:[2,104],128:[2,104],131:[2,104],132:[2,104],133:[2,104],134:[2,104],135:[2,104],136:[2,104]},{1:[2,36],6:[2,36],25:[2,36],26:[2,36],49:[2,36],54:[2,36],57:[2,36],72:[2,36],77:[2,36],85:[2,36],90:[2,36],92:[2,36],101:[2,36],102:87,103:[2,36],104:[2,36],105:[2,36],108:88,109:[2,36],110:69,117:[2,36],125:[2,36],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{8:241,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{8:242,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{1:[2,109],6:[2,109],25:[2,109],26:[2,109],49:[2,109],54:[2,109],57:[2,109],66:[2,109],67:[2,109],68:[2,109],70:[2,109],72:[2,109],73:[2,109],77:[2,109],83:[2,109],84:[2,109],85:[2,109],90:[2,109],92:[2,109],101:[2,109],103:[2,109],104:[2,109],105:[2,109],109:[2,109],117:[2,109],125:[2,109],127:[2,109],128:[2,109],131:[2,109],132:[2,109],133:[2,109],134:[2,109],135:[2,109],136:[2,109]},{6:[2,53],25:[2,53],53:243,54:[1,226],85:[2,53]},{6:[2,128],25:[2,128],26:[2,128],54:[2,128],57:[1,244],85:[2,128],90:[2,128],102:87,103:[1,65],105:[1,66],108:88,109:[1,68],110:69,125:[1,86],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{50:245,51:[1,60],52:[1,61]},{6:[2,54],25:[2,54],26:[2,54],27:109,28:[1,73],44:110,55:246,56:108,58:111,59:112,75:[1,70],88:[1,113],89:[1,114]},{6:[1,247],25:[1,248]},{6:[2,61],25:[2,61],26:[2,61],49:[2,61],54:[2,61]},{8:249,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{1:[2,199],6:[2,199],25:[2,199],26:[2,199],49:[2,199],54:[2,199],57:[2,199],72:[2,199],77:[2,199],85:[2,199],90:[2,199],92:[2,199],101:[2,199],102:87,103:[2,199],104:[2,199],105:[2,199],108:88,109:[2,199],110:69,117:[2,199],125:[2,199],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{8:250,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{1:[2,201],6:[2,201],25:[2,201],26:[2,201],49:[2,201],54:[2,201],57:[2,201],72:[2,201],77:[2,201],85:[2,201],90:[2,201],92:[2,201],101:[2,201],102:87,103:[2,201],104:[2,201],105:[2,201],108:88,109:[2,201],110:69,117:[2,201],125:[2,201],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{1:[2,181],6:[2,181],25:[2,181],26:[2,181],49:[2,181],54:[2,181],57:[2,181],72:[2,181],77:[2,181],85:[2,181],90:[2,181],92:[2,181],101:[2,181],103:[2,181],104:[2,181],105:[2,181],109:[2,181],117:[2,181],125:[2,181],127:[2,181],128:[2,181],131:[2,181],132:[2,181],133:[2,181],134:[2,181],135:[2,181],136:[2,181]},{8:251,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{1:[2,133],6:[2,133],25:[2,133],26:[2,133],49:[2,133],54:[2,133],57:[2,133],72:[2,133],77:[2,133],85:[2,133],90:[2,133],92:[2,133],97:[1,252],101:[2,133],103:[2,133],104:[2,133],105:[2,133],109:[2,133],117:[2,133],125:[2,133],127:[2,133],128:[2,133],131:[2,133],132:[2,133],133:[2,133],134:[2,133],135:[2,133],136:[2,133]},{5:253,25:[1,5]},{27:254,28:[1,73]},{119:255,121:216,122:[1,217]},{26:[1,256],120:[1,257],121:258,122:[1,217]},{26:[2,174],120:[2,174],122:[2,174]},{8:260,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],94:259,95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{1:[2,97],5:261,6:[2,97],25:[1,5],26:[2,97],49:[2,97],54:[2,97],57:[2,97],72:[2,97],77:[2,97],85:[2,97],90:[2,97],92:[2,97],101:[2,97],102:87,103:[1,65],104:[2,97],105:[1,66],108:88,109:[1,68],110:69,117:[2,97],125:[2,97],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{1:[2,100],6:[2,100],25:[2,100],26:[2,100],49:[2,100],54:[2,100],57:[2,100],72:[2,100],77:[2,100],85:[2,100],90:[2,100],92:[2,100],101:[2,100],103:[2,100],104:[2,100],105:[2,100],109:[2,100],117:[2,100],125:[2,100],127:[2,100],128:[2,100],131:[2,100],132:[2,100],133:[2,100],134:[2,100],135:[2,100],136:[2,100]},{8:262,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{1:[2,138],6:[2,138],25:[2,138],26:[2,138],49:[2,138],54:[2,138],57:[2,138],66:[2,138],67:[2,138],68:[2,138],70:[2,138],72:[2,138],73:[2,138],77:[2,138],83:[2,138],84:[2,138],85:[2,138],90:[2,138],92:[2,138],101:[2,138],103:[2,138],104:[2,138],105:[2,138],109:[2,138],117:[2,138],125:[2,138],127:[2,138],128:[2,138],131:[2,138],132:[2,138],133:[2,138],134:[2,138],135:[2,138],136:[2,138]},{6:[1,74],26:[1,263]},{8:264,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{6:[2,67],12:[2,117],25:[2,67],28:[2,117],30:[2,117],31:[2,117],33:[2,117],34:[2,117],35:[2,117],36:[2,117],37:[2,117],38:[2,117],45:[2,117],46:[2,117],47:[2,117],51:[2,117],52:[2,117],54:[2,67],75:[2,117],78:[2,117],82:[2,117],87:[2,117],88:[2,117],89:[2,117],90:[2,67],95:[2,117],99:[2,117],100:[2,117],103:[2,117],105:[2,117],107:[2,117],109:[2,117],118:[2,117],124:[2,117],126:[2,117],127:[2,117],128:[2,117],129:[2,117],130:[2,117]},{6:[1,266],25:[1,267],90:[1,265]},{6:[2,54],8:200,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,25:[2,54],26:[2,54],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,60:147,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],85:[2,54],87:[1,58],88:[1,59],89:[1,57],90:[2,54],93:268,95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{6:[2,53],25:[2,53],26:[2,53],53:269,54:[1,226]},{1:[2,178],6:[2,178],25:[2,178],26:[2,178],49:[2,178],54:[2,178],57:[2,178],72:[2,178],77:[2,178],85:[2,178],90:[2,178],92:[2,178],101:[2,178],103:[2,178],104:[2,178],105:[2,178],109:[2,178],117:[2,178],120:[2,178],125:[2,178],127:[2,178],128:[2,178],131:[2,178],132:[2,178],133:[2,178],134:[2,178],135:[2,178],136:[2,178]},{8:270,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{8:271,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{115:[2,156],116:[2,156]},{27:158,28:[1,73],44:159,58:160,59:161,75:[1,70],88:[1,113],89:[1,114],114:272},{1:[2,163],6:[2,163],25:[2,163],26:[2,163],49:[2,163],54:[2,163],57:[2,163],72:[2,163],77:[2,163],85:[2,163],90:[2,163],92:[2,163],101:[2,163],102:87,103:[2,163],104:[1,273],105:[2,163],108:88,109:[2,163],110:69,117:[1,274],125:[2,163],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{1:[2,164],6:[2,164],25:[2,164],26:[2,164],49:[2,164],54:[2,164],57:[2,164],72:[2,164],77:[2,164],85:[2,164],90:[2,164],92:[2,164],101:[2,164],102:87,103:[2,164],104:[1,275],105:[2,164],108:88,109:[2,164],110:69,117:[2,164],125:[2,164],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{6:[1,277],25:[1,278],77:[1,276]},{6:[2,54],11:168,25:[2,54],26:[2,54],27:169,28:[1,73],29:170,30:[1,71],31:[1,72],41:279,42:167,44:171,46:[1,46],77:[2,54],88:[1,113]},{8:280,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,25:[1,281],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{1:[2,85],6:[2,85],25:[2,85],26:[2,85],40:[2,85],49:[2,85],54:[2,85],57:[2,85],66:[2,85],67:[2,85],68:[2,85],70:[2,85],72:[2,85],73:[2,85],77:[2,85],79:[2,85],83:[2,85],84:[2,85],85:[2,85],90:[2,85],92:[2,85],101:[2,85],103:[2,85],104:[2,85],105:[2,85],109:[2,85],117:[2,85],125:[2,85],127:[2,85],128:[2,85],129:[2,85],130:[2,85],131:[2,85],132:[2,85],133:[2,85],134:[2,85],135:[2,85],136:[2,85],137:[2,85]},{8:282,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,72:[2,120],75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{72:[2,121],102:87,103:[1,65],105:[1,66],108:88,109:[1,68],110:69,125:[1,86],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{1:[2,37],6:[2,37],25:[2,37],26:[2,37],49:[2,37],54:[2,37],57:[2,37],72:[2,37],77:[2,37],85:[2,37],90:[2,37],92:[2,37],101:[2,37],102:87,103:[2,37],104:[2,37],105:[2,37],108:88,109:[2,37],110:69,117:[2,37],125:[2,37],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{26:[1,283],102:87,103:[1,65],105:[1,66],108:88,109:[1,68],110:69,125:[1,86],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{6:[1,266],25:[1,267],85:[1,284]},{6:[2,67],25:[2,67],26:[2,67],54:[2,67],85:[2,67],90:[2,67]},{5:285,25:[1,5]},{6:[2,57],25:[2,57],26:[2,57],49:[2,57],54:[2,57]},{27:109,28:[1,73],44:110,55:286,56:108,58:111,59:112,75:[1,70],88:[1,113],89:[1,114]},{6:[2,55],25:[2,55],26:[2,55],27:109,28:[1,73],44:110,48:287,54:[2,55],55:107,56:108,58:111,59:112,75:[1,70],88:[1,113],89:[1,114]},{6:[2,62],25:[2,62],26:[2,62],49:[2,62],54:[2,62],102:87,103:[1,65],105:[1,66],108:88,109:[1,68],110:69,125:[1,86],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{26:[1,288],102:87,103:[1,65],105:[1,66],108:88,109:[1,68],110:69,125:[1,86],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{5:289,25:[1,5],102:87,103:[1,65],105:[1,66],108:88,109:[1,68],110:69,125:[1,86],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{5:290,25:[1,5]},{1:[2,134],6:[2,134],25:[2,134],26:[2,134],49:[2,134],54:[2,134],57:[2,134],72:[2,134],77:[2,134],85:[2,134],90:[2,134],92:[2,134],101:[2,134],103:[2,134],104:[2,134],105:[2,134],109:[2,134],117:[2,134],125:[2,134],127:[2,134],128:[2,134],131:[2,134],132:[2,134],133:[2,134],134:[2,134],135:[2,134],136:[2,134]},{5:291,25:[1,5]},{26:[1,292],120:[1,293],121:258,122:[1,217]},{1:[2,172],6:[2,172],25:[2,172],26:[2,172],49:[2,172],54:[2,172],57:[2,172],72:[2,172],77:[2,172],85:[2,172],90:[2,172],92:[2,172],101:[2,172],103:[2,172],104:[2,172],105:[2,172],109:[2,172],117:[2,172],125:[2,172],127:[2,172],128:[2,172],131:[2,172],132:[2,172],133:[2,172],134:[2,172],135:[2,172],136:[2,172]},{5:294,25:[1,5]},{26:[2,175],120:[2,175],122:[2,175]},{5:295,25:[1,5],54:[1,296]},{25:[2,130],54:[2,130],102:87,103:[1,65],105:[1,66],108:88,109:[1,68],110:69,125:[1,86],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{1:[2,98],6:[2,98],25:[2,98],26:[2,98],49:[2,98],54:[2,98],57:[2,98],72:[2,98],77:[2,98],85:[2,98],90:[2,98],92:[2,98],101:[2,98],103:[2,98],104:[2,98],105:[2,98],109:[2,98],117:[2,98],125:[2,98],127:[2,98],128:[2,98],131:[2,98],132:[2,98],133:[2,98],134:[2,98],135:[2,98],136:[2,98]},{1:[2,101],5:297,6:[2,101],25:[1,5],26:[2,101],49:[2,101],54:[2,101],57:[2,101],72:[2,101],77:[2,101],85:[2,101],90:[2,101],92:[2,101],101:[2,101],102:87,103:[1,65],104:[2,101],105:[1,66],108:88,109:[1,68],110:69,117:[2,101],125:[2,101],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{101:[1,298]},{90:[1,299],102:87,103:[1,65],105:[1,66],108:88,109:[1,68],110:69,125:[1,86],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{1:[2,115],6:[2,115],25:[2,115],26:[2,115],40:[2,115],49:[2,115],54:[2,115],57:[2,115],66:[2,115],67:[2,115],68:[2,115],70:[2,115],72:[2,115],73:[2,115],77:[2,115],83:[2,115],84:[2,115],85:[2,115],90:[2,115],92:[2,115],101:[2,115],103:[2,115],104:[2,115],105:[2,115],109:[2,115],115:[2,115],116:[2,115],117:[2,115],125:[2,115],127:[2,115],128:[2,115],131:[2,115],132:[2,115],133:[2,115],134:[2,115],135:[2,115],136:[2,115]},{8:200,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,60:147,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],93:300,95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{8:200,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,25:[1,146],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,60:147,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],86:301,87:[1,58],88:[1,59],89:[1,57],93:145,95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{6:[2,124],25:[2,124],26:[2,124],54:[2,124],85:[2,124],90:[2,124]},{6:[1,266],25:[1,267],26:[1,302]},{1:[2,141],6:[2,141],25:[2,141],26:[2,141],49:[2,141],54:[2,141],57:[2,141],72:[2,141],77:[2,141],85:[2,141],90:[2,141],92:[2,141],101:[2,141],102:87,103:[1,65],104:[2,141],105:[1,66],108:88,109:[1,68],110:69,117:[2,141],125:[2,141],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{1:[2,143],6:[2,143],25:[2,143],26:[2,143],49:[2,143],54:[2,143],57:[2,143],72:[2,143],77:[2,143],85:[2,143],90:[2,143],92:[2,143],101:[2,143],102:87,103:[1,65],104:[2,143],105:[1,66],108:88,109:[1,68],110:69,117:[2,143],125:[2,143],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{115:[2,162],116:[2,162]},{8:303,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{8:304,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{8:305,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{1:[2,89],6:[2,89],25:[2,89],26:[2,89],40:[2,89],49:[2,89],54:[2,89],57:[2,89],66:[2,89],67:[2,89],68:[2,89],70:[2,89],72:[2,89],73:[2,89],77:[2,89],83:[2,89],84:[2,89],85:[2,89],90:[2,89],92:[2,89],101:[2,89],103:[2,89],104:[2,89],105:[2,89],109:[2,89],115:[2,89],116:[2,89],117:[2,89],125:[2,89],127:[2,89],128:[2,89],131:[2,89],132:[2,89],133:[2,89],134:[2,89],135:[2,89],136:[2,89]},{11:168,27:169,28:[1,73],29:170,30:[1,71],31:[1,72],41:306,42:167,44:171,46:[1,46],88:[1,113]},{6:[2,90],11:168,25:[2,90],26:[2,90],27:169,28:[1,73],29:170,30:[1,71],31:[1,72],41:166,42:167,44:171,46:[1,46],54:[2,90],76:307,88:[1,113]},{6:[2,92],25:[2,92],26:[2,92],54:[2,92],77:[2,92]},{6:[2,40],25:[2,40],26:[2,40],54:[2,40],77:[2,40],102:87,103:[1,65],105:[1,66],108:88,109:[1,68],110:69,125:[1,86],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{8:308,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{72:[2,119],102:87,103:[1,65],105:[1,66],108:88,109:[1,68],110:69,125:[1,86],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{1:[2,38],6:[2,38],25:[2,38],26:[2,38],49:[2,38],54:[2,38],57:[2,38],72:[2,38],77:[2,38],85:[2,38],90:[2,38],92:[2,38],101:[2,38],103:[2,38],104:[2,38],105:[2,38],109:[2,38],117:[2,38],125:[2,38],127:[2,38],128:[2,38],131:[2,38],132:[2,38],133:[2,38],134:[2,38],135:[2,38],136:[2,38]},{1:[2,110],6:[2,110],25:[2,110],26:[2,110],49:[2,110],54:[2,110],57:[2,110],66:[2,110],67:[2,110],68:[2,110],70:[2,110],72:[2,110],73:[2,110],77:[2,110],83:[2,110],84:[2,110],85:[2,110],90:[2,110],92:[2,110],101:[2,110],103:[2,110],104:[2,110],105:[2,110],109:[2,110],117:[2,110],125:[2,110],127:[2,110],128:[2,110],131:[2,110],132:[2,110],133:[2,110],134:[2,110],135:[2,110],136:[2,110]},{1:[2,49],6:[2,49],25:[2,49],26:[2,49],49:[2,49],54:[2,49],57:[2,49],72:[2,49],77:[2,49],85:[2,49],90:[2,49],92:[2,49],101:[2,49],103:[2,49],104:[2,49],105:[2,49],109:[2,49],117:[2,49],125:[2,49],127:[2,49],128:[2,49],131:[2,49],132:[2,49],133:[2,49],134:[2,49],135:[2,49],136:[2,49]},{6:[2,58],25:[2,58],26:[2,58],49:[2,58],54:[2,58]},{6:[2,53],25:[2,53],26:[2,53],53:309,54:[1,202]},{1:[2,200],6:[2,200],25:[2,200],26:[2,200],49:[2,200],54:[2,200],57:[2,200],72:[2,200],77:[2,200],85:[2,200],90:[2,200],92:[2,200],101:[2,200],103:[2,200],104:[2,200],105:[2,200],109:[2,200],117:[2,200],125:[2,200],127:[2,200],128:[2,200],131:[2,200],132:[2,200],133:[2,200],134:[2,200],135:[2,200],136:[2,200]},{1:[2,179],6:[2,179],25:[2,179],26:[2,179],49:[2,179],54:[2,179],57:[2,179],72:[2,179],77:[2,179],85:[2,179],90:[2,179],92:[2,179],101:[2,179],103:[2,179],104:[2,179],105:[2,179],109:[2,179],117:[2,179],120:[2,179],125:[2,179],127:[2,179],128:[2,179],131:[2,179],132:[2,179],133:[2,179],134:[2,179],135:[2,179],136:[2,179]},{1:[2,135],6:[2,135],25:[2,135],26:[2,135],49:[2,135],54:[2,135],57:[2,135],72:[2,135],77:[2,135],85:[2,135],90:[2,135],92:[2,135],101:[2,135],103:[2,135],104:[2,135],105:[2,135],109:[2,135],117:[2,135],125:[2,135],127:[2,135],128:[2,135],131:[2,135],132:[2,135],133:[2,135],134:[2,135],135:[2,135],136:[2,135]},{1:[2,136],6:[2,136],25:[2,136],26:[2,136],49:[2,136],54:[2,136],57:[2,136],72:[2,136],77:[2,136],85:[2,136],90:[2,136],92:[2,136],97:[2,136],101:[2,136],103:[2,136],104:[2,136],105:[2,136],109:[2,136],117:[2,136],125:[2,136],127:[2,136],128:[2,136],131:[2,136],132:[2,136],133:[2,136],134:[2,136],135:[2,136],136:[2,136]},{1:[2,170],6:[2,170],25:[2,170],26:[2,170],49:[2,170],54:[2,170],57:[2,170],72:[2,170],77:[2,170],85:[2,170],90:[2,170],92:[2,170],101:[2,170],103:[2,170],104:[2,170],105:[2,170],109:[2,170],117:[2,170],125:[2,170],127:[2,170],128:[2,170],131:[2,170],132:[2,170],133:[2,170],134:[2,170],135:[2,170],136:[2,170]},{5:310,25:[1,5]},{26:[1,311]},{6:[1,312],26:[2,176],120:[2,176],122:[2,176]},{8:313,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{1:[2,102],6:[2,102],25:[2,102],26:[2,102],49:[2,102],54:[2,102],57:[2,102],72:[2,102],77:[2,102],85:[2,102],90:[2,102],92:[2,102],101:[2,102],103:[2,102],104:[2,102],105:[2,102],109:[2,102],117:[2,102],125:[2,102],127:[2,102],128:[2,102],131:[2,102],132:[2,102],133:[2,102],134:[2,102],135:[2,102],136:[2,102]},{1:[2,139],6:[2,139],25:[2,139],26:[2,139],49:[2,139],54:[2,139],57:[2,139],66:[2,139],67:[2,139],68:[2,139],70:[2,139],72:[2,139],73:[2,139],77:[2,139],83:[2,139],84:[2,139],85:[2,139],90:[2,139],92:[2,139],101:[2,139],103:[2,139],104:[2,139],105:[2,139],109:[2,139],117:[2,139],125:[2,139],127:[2,139],128:[2,139],131:[2,139],132:[2,139],133:[2,139],134:[2,139],135:[2,139],136:[2,139]},{1:[2,118],6:[2,118],25:[2,118],26:[2,118],49:[2,118],54:[2,118],57:[2,118],66:[2,118],67:[2,118],68:[2,118],70:[2,118],72:[2,118],73:[2,118],77:[2,118],83:[2,118],84:[2,118],85:[2,118],90:[2,118],92:[2,118],101:[2,118],103:[2,118],104:[2,118],105:[2,118],109:[2,118],117:[2,118],125:[2,118],127:[2,118],128:[2,118],131:[2,118],132:[2,118],133:[2,118],134:[2,118],135:[2,118],136:[2,118]},{6:[2,125],25:[2,125],26:[2,125],54:[2,125],85:[2,125],90:[2,125]},{6:[2,53],25:[2,53],26:[2,53],53:314,54:[1,226]},{6:[2,126],25:[2,126],26:[2,126],54:[2,126],85:[2,126],90:[2,126]},{1:[2,165],6:[2,165],25:[2,165],26:[2,165],49:[2,165],54:[2,165],57:[2,165],72:[2,165],77:[2,165],85:[2,165],90:[2,165],92:[2,165],101:[2,165],102:87,103:[2,165],104:[2,165],105:[2,165],108:88,109:[2,165],110:69,117:[1,315],125:[2,165],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{1:[2,167],6:[2,167],25:[2,167],26:[2,167],49:[2,167],54:[2,167],57:[2,167],72:[2,167],77:[2,167],85:[2,167],90:[2,167],92:[2,167],101:[2,167],102:87,103:[2,167],104:[1,316],105:[2,167],108:88,109:[2,167],110:69,117:[2,167],125:[2,167],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{1:[2,166],6:[2,166],25:[2,166],26:[2,166],49:[2,166],54:[2,166],57:[2,166],72:[2,166],77:[2,166],85:[2,166],90:[2,166],92:[2,166],101:[2,166],102:87,103:[2,166],104:[2,166],105:[2,166],108:88,109:[2,166],110:69,117:[2,166],125:[2,166],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{6:[2,93],25:[2,93],26:[2,93],54:[2,93],77:[2,93]},{6:[2,53],25:[2,53],26:[2,53],53:317,54:[1,236]},{26:[1,318],102:87,103:[1,65],105:[1,66],108:88,109:[1,68],110:69,125:[1,86],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{6:[1,247],25:[1,248],26:[1,319]},{26:[1,320]},{1:[2,173],6:[2,173],25:[2,173],26:[2,173],49:[2,173],54:[2,173],57:[2,173],72:[2,173],77:[2,173],85:[2,173],90:[2,173],92:[2,173],101:[2,173],103:[2,173],104:[2,173],105:[2,173],109:[2,173],117:[2,173],125:[2,173],127:[2,173],128:[2,173],131:[2,173],132:[2,173],133:[2,173],134:[2,173],135:[2,173],136:[2,173]},{26:[2,177],120:[2,177],122:[2,177]},{25:[2,131],54:[2,131],102:87,103:[1,65],105:[1,66],108:88,109:[1,68],110:69,125:[1,86],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{6:[1,266],25:[1,267],26:[1,321]},{8:322,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{8:323,9:117,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,75:[1,70],78:[1,43],82:[1,28],87:[1,58],88:[1,59],89:[1,57],95:[1,38],99:[1,44],100:[1,56],102:39,103:[1,65],105:[1,66],106:40,107:[1,67],108:41,109:[1,68],110:69,118:[1,42],123:37,124:[1,64],126:[1,31],127:[1,32],128:[1,33],129:[1,34],130:[1,35]},{6:[1,277],25:[1,278],26:[1,324]},{6:[2,41],25:[2,41],26:[2,41],54:[2,41],77:[2,41]},{6:[2,59],25:[2,59],26:[2,59],49:[2,59],54:[2,59]},{1:[2,171],6:[2,171],25:[2,171],26:[2,171],49:[2,171],54:[2,171],57:[2,171],72:[2,171],77:[2,171],85:[2,171],90:[2,171],92:[2,171],101:[2,171],103:[2,171],104:[2,171],105:[2,171],109:[2,171],117:[2,171],125:[2,171],127:[2,171],128:[2,171],131:[2,171],132:[2,171],133:[2,171],134:[2,171],135:[2,171],136:[2,171]},{6:[2,127],25:[2,127],26:[2,127],54:[2,127],85:[2,127],90:[2,127]},{1:[2,168],6:[2,168],25:[2,168],26:[2,168],49:[2,168],54:[2,168],57:[2,168],72:[2,168],77:[2,168],85:[2,168],90:[2,168],92:[2,168],101:[2,168],102:87,103:[2,168],104:[2,168],105:[2,168],108:88,109:[2,168],110:69,117:[2,168],125:[2,168],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{1:[2,169],6:[2,169],25:[2,169],26:[2,169],49:[2,169],54:[2,169],57:[2,169],72:[2,169],77:[2,169],85:[2,169],90:[2,169],92:[2,169],101:[2,169],102:87,103:[2,169],104:[2,169],105:[2,169],108:88,109:[2,169],110:69,117:[2,169],125:[2,169],127:[1,80],128:[1,79],131:[1,78],132:[1,81],133:[1,82],134:[1,83],135:[1,84],136:[1,85]},{6:[2,94],25:[2,94],26:[2,94],54:[2,94],77:[2,94]}],defaultActions:{60:[2,51],61:[2,52],75:[2,3],94:[2,108],189:[2,88]},parseError:function(t,n){throw new Error(t)},parse:function(t){function d(e){r.length=r.length-2*e,i.length=i.length-e,s.length=s.length-e}function v(){var e;return e=n.lexer.lex()||1,typeof e!="number"&&(e=n.symbols_[e]||e),e}var n=this,r=[0],i=[null],s=[],o=this.table,u="",a=0,f=0,l=0,c=2,h=1;this.lexer.setInput(t),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,typeof this.lexer.yylloc=="undefined"&&(this.lexer.yylloc={});var p=this.lexer.yylloc;s.push(p),typeof this.yy.parseError=="function"&&(this.parseError=this.yy.parseError);var m,g,y,b,w,E,S={},x,T,N,C;for(;;){y=r[r.length-1],this.defaultActions[y]?b=this.defaultActions[y]:(m==null&&(m=v()),b=o[y]&&o[y][m]);if(typeof b=="undefined"||!b.length||!b[0]){if(!l){C=[];for(x in o[y])this.terminals_[x]&&x>2&&C.push("'"+this.terminals_[x]+"'");var k="";this.lexer.showPosition?k="Parse error on line "+(a+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+C.join(", ")+", got '"+this.terminals_[m]+"'":k="Parse error on line "+(a+1)+": Unexpected "+(m==1?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(k,{text:this.lexer.match,token:this.terminals_[m]||m,line:this.lexer.yylineno,loc:p,expected:C})}if(l==3){if(m==h)throw new Error(k||"Parsing halted.");f=this.lexer.yyleng,u=this.lexer.yytext,a=this.lexer.yylineno,p=this.lexer.yylloc,m=v()}for(;;){if(c.toString()in o[y])break;if(y==0)throw new Error(k||"Parsing halted.");d(1),y=r[r.length-1]}g=m,m=c,y=r[r.length-1],b=o[y]&&o[y][c],l=3}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+y+", token: "+m);switch(b[0]){case 1:r.push(m),i.push(this.lexer.yytext),s.push(this.lexer.yylloc),r.push(b[1]),m=null,g?(m=g,g=null):(f=this.lexer.yyleng,u=this.lexer.yytext,a=this.lexer.yylineno,p=this.lexer.yylloc,l>0&&l--);break;case 2:T=this.productions_[b[1]][1],S.$=i[i.length-T],S._$={first_line:s[s.length-(T||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(T||1)].first_column,last_column:s[s.length-1].last_column},E=this.performAction.call(S,u,f,a,this.yy,b[1],i,s);if(typeof E!="undefined")return E;T&&(r=r.slice(0,-1*T*2),i=i.slice(0,-1*T),s=s.slice(0,-1*T)),r.push(this.productions_[b[1]][0]),i.push(S.$),s.push(S._$),N=o[r[r.length-2]][r[r.length-1]],r.push(N);break;case 3:return!0}}return!0}};undefined,n.exports=r}),define("ace/mode/coffee/nodes",["require","exports","module","ace/mode/coffee/scope","ace/mode/coffee/lexer","ace/mode/coffee/helpers"],function(e,t,n){var r,i,s,o,u,a,f,l,c,h,p,d,v,m,g,y,b,w,E,S,x,T,N,C,k,L,A,O,M,_,D,P,H,B,j,F,I,q,R,U,z,W,X,V,$,J,K,Q,G,Y,Z,et,tt,nt,rt,it,st,ot,ut,at,ft,lt,ct,ht,pt={}.hasOwnProperty,dt=function(e,t){function r(){this.constructor=e}for(var n in t)pt.call(t,n)&&(e[n]=t[n]);return r.prototype=t.prototype,e.prototype=new r,e.__super__=t.prototype,e},vt=[].indexOf||function(e){for(var t=0,n=this.length;t<n;t++)if(t in this&&this[t]===e)return t;return-1};R=e("./scope").Scope,ct=e("./lexer"),B=ct.RESERVED,q=ct.STRICT_PROSCRIBED,ht=e("./helpers"),Z=ht.compact,rt=ht.flatten,nt=ht.extend,st=ht.merge,et=ht.del,at=ht.starts,tt=ht.ends,it=ht.last,ut=ht.some,t.extend=nt,Y=function(){return!0},M=function(){return!1},V=function(){return this},O=function(){return this.negated=!this.negated,this},t.Base=o=function(){function e(){}return e.prototype.compile=function(e,t){var n;return e=nt({},e),t&&(e.level=t),n=this.unfoldSoak(e)||this,n.tab=e.indent,e.level===k||!n.isStatement(e)?n.compileNode(e):n.compileClosure(e)},e.prototype.compileClosure=function(e){if(this.jumps())throw SyntaxError("cannot use a pure statement in an expression.");return e.sharedScope=!0,l.wrap(this).compileNode(e)},e.prototype.cache=function(e,t,n){var r,i;return this.isComplex()?(r=new L(n||e.scope.freeVariable("ref")),i=new s(r,this),t?[i.compile(e,t),r.value]:[i,r]):(r=t?this.compile(e,t):this,[r,r])},e.prototype.compileLoopReference=function(e,t){var n,r;return n=r=this.compile(e,T),-Infinity<+n&&+n<Infinity||m.test(n)&&e.scope.check(n,!0)||(n=""+(r=e.scope.freeVariable(t))+" = "+n),[n,r]},e.prototype.makeReturn=function(e){var t;return t=this.unwrapAll(),e?new a(new L(""+e+".push"),[t]):new F(t)},e.prototype.contains=function(e){var t;return t=!1,this.traverseChildren(!1,function(n){if(e(n))return t=!0,!1}),t},e.prototype.containsType=function(e){return this instanceof e||this.contains(function(t){return t instanceof e})},e.prototype.lastNonComment=function(e){var t;t=e.length;while(t--)if(!(e[t]instanceof h))return e[t];return null},e.prototype.toString=function(e,t){var n;return e==null&&(e=""),t==null&&(t=this.constructor.name),n="\n"+e+t,this.soak&&(n+="?"),this.eachChild(function(t){return n+=t.toString(e+X)}),n},e.prototype.eachChild=function(e){var t,n,r,i,s,o,u,a;if(!this.children)return this;u=this.children;for(r=0,s=u.length;r<s;r++){t=u[r];if(this[t]){a=rt([this[t]]);for(i=0,o=a.length;i<o;i++){n=a[i];if(e(n)===!1)return this}}}return this},e.prototype.traverseChildren=function(e,t){return this.eachChild(function(n){return t(n)===!1?!1:n.traverseChildren(e,t)})},e.prototype.invert=function(){return new D("!",this)},e.prototype.unwrapAll=function(){var e;e=this;while(e!==(e=e.unwrap()))continue;return e},e.prototype.children=[],e.prototype.isStatement=M,e.prototype.jumps=M,e.prototype.isComplex=Y,e.prototype.isChainable=M,e.prototype.isAssignable=M,e.prototype.unwrap=V,e.prototype.unfoldSoak=M,e.prototype.assigns=M,e}(),t.Block=u=function(e){function t(e){this.expressions=Z(rt(e||[]))}return dt(t,e),t.prototype.children=["expressions"],t.prototype.push=function(e){return this.expressions.push(e),this},t.prototype.pop=function(){return this.expressions.pop()},t.prototype.unshift=function(e){return this.expressions.unshift(e),this},t.prototype.unwrap=function(){return this.expressions.length===1?this.expressions[0]:this},t.prototype.isEmpty=function(){return!this.expressions.length},t.prototype.isStatement=function(e){var t,n,r,i;i=this.expressions;for(n=0,r=i.length;n<r;n++){t=i[n];if(t.isStatement(e))return!0}return!1},t.prototype.jumps=function(e){var t,n,r,i;i=this.expressions;for(n=0,r=i.length;n<r;n++){t=i[n];if(t.jumps(e))return t}},t.prototype.makeReturn=function(e){var t,n;n=this.expressions.length;while(n--){t=this.expressions[n];if(!(t instanceof h)){this.expressions[n]=t.makeReturn(e),t instanceof F&&!t.expression&&this.expressions.splice(n,1);break}}return this},t.prototype.compile=function(e,n){return e==null&&(e={}),e.scope?t.__super__.compile.call(this,e,n):this.compileRoot(e)},t.prototype.compileNode=function(e){var n,r,i,s,o,u,a;this.tab=e.indent,s=e.level===k,r=[],a=this.expressions;for(o=0,u=a.length;o<u;o++)i=a[o],i=i.unwrapAll(),i=i.unfoldSoak(e)||i,i instanceof t?r.push(i.compileNode(e)):s?(i.front=!0,n=i.compile(e),i.isStatement(e)||(n=""+this.tab+n+";",i instanceof L&&(n=""+n+"\n")),r.push(n)):r.push(i.compile(e,T));return s?this.spaced?"\n"+r.join("\n\n")+"\n":r.join("\n"):(n=r.join(", ")||"void 0",r.length>1&&e.level>=T?"("+n+")":n)},t.prototype.compileRoot=function(e){var t,n,r,i,s,o;return e.indent=e.bare?"":X,e.scope=new R(null,this,null),e.level=k,this.spaced=!0,i="",e.bare||(s=function(){var e,t,i,s;i=this.expressions,s=[];for(r=e=0,t=i.length;e<t;r=++e){n=i[r];if(!(n.unwrap()instanceof h))break;s.push(n)}return s}.call(this),o=this.expressions.slice(s.length),this.expressions=s,s.length&&(i=""+this.compileNode(st(e,{indent:""}))+"\n"),this.expressions=o),t=this.compileWithDeclarations(e),e.bare?t:""+i+"(function() {\n"+t+"\n}).call(this);\n"},t.prototype.compileWithDeclarations=function(e){var t,n,r,i,s,o,u,a,f,l,c,p,d,v;n=o="",p=this.expressions;for(s=l=0,c=p.length;l<c;s=++l){i=p[s],i=i.unwrap();if(!(i instanceof h||i instanceof L))break}e=st(e,{level:k}),s&&(u=this.expressions.splice(s,9e9),d=[this.spaced,!1],f=d[0],this.spaced=d[1],v=[this.compileNode(e),f],n=v[0],this.spaced=v[1],this.expressions=u),o=this.compileNode(e),a=e.scope;if(a.expressions===this){r=e.scope.hasDeclarations(),t=a.hasAssignments;if(r||t)s&&(n+="\n"),n+=""+this.tab+"var ",r&&(n+=a.declaredVariables().join(", ")),t&&(r&&(n+=",\n"+(this.tab+X)),n+=a.assignedVariables().join(",\n"+(this.tab+X))),n+=";\n"}return n+o},t.wrap=function(e){return e.length===1&&e[0]instanceof t?e[0]:new t(e)},t}(o),t.Literal=L=function(e){function t(e){this.value=e}return dt(t,e),t.prototype.makeReturn=function(){return this.isStatement()?this:t.__super__.makeReturn.apply(this,arguments)},t.prototype.isAssignable=function(){return m.test(this.value)},t.prototype.isStatement=function(){var e;return(e=this.value)==="break"||e==="continue"||e==="debugger"},t.prototype.isComplex=M,t.prototype.assigns=function(e){return e===this.value},t.prototype.jumps=function(e){if(this.value==="break"&&!((e!=null?e.loop:void 0)||(e!=null?e.block:void 0)))return this;if(this.value==="continue"&&(e!=null?!e.loop:!void 0))return this},t.prototype.compileNode=function(e){var t,n;return t=this.value==="this"?((n=e.scope.method)!=null?n.bound:void 0)?e.scope.method.context:this.value:this.value.reserved?'"'+this.value+'"':this.value,this.isStatement()?""+this.tab+t+";":t},t.prototype.toString=function(){return' "'+this.value+'"'},t}(o),t.Undefined=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return dt(t,e),t.prototype.isAssignable=M,t.prototype.isComplex=M,t.prototype.compileNode=function(e){return e.level>=S?"(void 0)":"void 0"},t}(o),t.Null=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return dt(t,e),t.prototype.isAssignable=M,t.prototype.isComplex=M,t.prototype.compileNode=function(){return"null"},t}(o),t.Bool=function(e){function t(e){this.val=e}return dt(t,e),t.prototype.isAssignable=M,t.prototype.isComplex=M,t.prototype.compileNode=function(){return this.val},t}(o),t.Return=F=function(e){function t(e){e&&!e.unwrap().isUndefined&&(this.expression=e)}return dt(t,e),t.prototype.children=["expression"],t.prototype.isStatement=Y,t.prototype.makeReturn=V,t.prototype.jumps=V,t.prototype.compile=function(e,n){var r,i;return r=(i=this.expression)!=null?i.makeReturn():void 0,!r||r instanceof t?t.__super__.compile.call(this,e,n):r.compile(e,n)},t.prototype.compileNode=function(e){return this.tab+("return"+[this.expression?" "+this.expression.compile(e,C):void 0]+";")},t}(o),t.Value=Q=function(e){function t(e,n,r){return!n&&e instanceof t?e:(this.base=e,this.properties=n||[],r&&(this[r]=!0),this)}return dt(t,e),t.prototype.children=["base","properties"],t.prototype.add=function(e){return this.properties=this.properties.concat(e),this},t.prototype.hasProperties=function(){return!!this.properties.length},t.prototype.isArray=function(){return!this.properties.length&&this.base instanceof i},t.prototype.isComplex=function(){return this.hasProperties()||this.base.isComplex()},t.prototype.isAssignable=function(){return this.hasProperties()||this.base.isAssignable()},t.prototype.isSimpleNumber=function(){return this.base instanceof L&&I.test(this.base.value)},t.prototype.isString=function(){return this.base instanceof L&&y.test(this.base.value)},t.prototype.isAtomic=function(){var e,t,n,r;r=this.properties.concat(this.base);for(t=0,n=r.length;t<n;t++){e=r[t];if(e.soak||e instanceof a)return!1}return!0},t.prototype.isStatement=function(e){return!this.properties.length&&this.base.isStatement(e)},t.prototype.assigns=function(e){return!this.properties.length&&this.base.assigns(e)},t.prototype.jumps=function(e){return!this.properties.length&&this.base.jumps(e)},t.prototype.isObject=function(e){return this.properties.length?!1:this.base instanceof _&&(!e||this.base.generated)},t.prototype.isSplice=function(){return it(this.properties)instanceof U},t.prototype.unwrap=function(){return this.properties.length?this:this.base},t.prototype.cacheReference=function(e){var n,r,i,o;return i=it(this.properties),this.properties.length<2&&!this.base.isComplex()&&(i!=null?!i.isComplex():!void 0)?[this,this]:(n=new t(this.base,this.properties.slice(0,-1)),n.isComplex()&&(r=new L(e.scope.freeVariable("base")),n=new t(new H(new s(r,n)))),i?(i.isComplex()&&(o=new L(e.scope.freeVariable("name")),i=new E(new s(o,i.index)),o=new E(o)),[n.add(i),new t(r||n.base,[o||i])]):[n,r])},t.prototype.compileNode=function(e){var t,n,r,i,s;this.base.front=this.front,r=this.properties,t=this.base.compile(e,r.length?S:null),(this.base instanceof H||r.length)&&I.test(t)&&(t=""+t+".");for(i=0,s=r.length;i<s;i++)n=r[i],t+=n.compile(e);return t},t.prototype.unfoldSoak=function(e){var n,r=this;return this.unfoldedSoak!=null?this.unfoldedSoak:(n=function(){var n,i,o,u,a,f,l,c,h;if(o=r.base.unfoldSoak(e))return Array.prototype.push.apply(o.body.properties,r.properties),o;h=r.properties;for(i=l=0,c=h.length;l<c;i=++l){u=h[i];if(!u.soak)continue;return u.soak=!1,n=new t(r.base,r.properties.slice(0,i)),f=new t(r.base,r.properties.slice(i)),n.isComplex()&&(a=new L(e.scope.freeVariable("ref")),n=new H(new s(a,n)),f.base=a),new b(new p(n),f,{soak:!0})}return null}(),this.unfoldedSoak=n||!1)},t}(o),t.Comment=h=function(e){function t(e){this.comment=e}return dt(t,e),t.prototype.isStatement=Y,t.prototype.makeReturn=V,t.prototype.compileNode=function(e,t){var n;return n="/*"+ot(this.comment,this.tab)+("\n"+this.tab+"*/\n"),(t||e.level)===k&&(n=e.indent+n),n},t}(o),t.Call=a=function(e){function t(e,t,n){this.args=t!=null?t:[],this.soak=n,this.isNew=!1,this.isSuper=e==="super",this.variable=this.isSuper?null:e}return dt(t,e),t.prototype.children=["variable","args"],t.prototype.newInstance=function(){var e,n;return e=((n=this.variable)!=null?n.base:void 0)||this.variable,e instanceof t&&!e.isNew?e.newInstance():this.isNew=!0,this},t.prototype.superReference=function(e){var t,n,i;n=e.scope.namedMethod();if(!n)throw SyntaxError("cannot call super outside of a function.");i=n.name;if(i==null)throw SyntaxError("cannot call super on an anonymous function.");return n.klass?(t=[new r(new L("__super__"))],n["static"]&&t.push(new r(new L("constructor"))),t.push(new r(new L(i))),(new Q(new L(n.klass),t)).compile(e)):""+i+".__super__.constructor"},t.prototype.superThis=function(e){var t;return t=e.scope.method,t&&!t.klass&&t.context||"this"},t.prototype.unfoldSoak=function(e){var n,r,i,s,o,u,a,f,l;if(this.soak){if(this.variable){if(r=ft(e,this,"variable"))return r;f=(new Q(this.variable)).cacheReference(e),i=f[0],o=f[1]}else i=new L(this.superReference(e)),o=new Q(i);return o=new t(o,this.args),o.isNew=this.isNew,i=new L("typeof "+i.compile(e)+' === "function"'),new b(i,new Q(o),{soak:!0})}n=this,s=[];for(;;){if(n.variable instanceof t){s.push(n),n=n.variable;continue}if(!(n.variable instanceof Q))break;s.push(n);if(!((n=n.variable.base)instanceof t))break}l=s.reverse();for(u=0,a=l.length;u<a;u++)n=l[u],r&&(n.variable instanceof t?n.variable=r:n.variable.base=r),r=ft(e,n,"variable");return r},t.prototype.filterImplicitObjects=function(e){var t,n,r,i,o,u,a,f,l,c;n=[];for(u=0,f=e.length;u<f;u++){t=e[u];if(!((typeof t.isObject=="function"?t.isObject():void 0)&&t.base.generated)){n.push(t);continue}r=null,c=t.base.properties;for(a=0,l=c.length;a<l;a++)i=c[a],i instanceof s||i instanceof h?(r||n.push(r=new _(o=[],!0)),o.push(i)):(n.push(i),r=null)}return n},t.prototype.compileNode=function(e){var t,n,r,i;return(i=this.variable)!=null&&(i.front=this.front),(r=z.compileSplattedArray(e,this.args,!0))?this.compileSplat(e,r):(n=this.filterImplicitObjects(this.args),n=function(){var r,i,s;s=[];for(r=0,i=n.length;r<i;r++)t=n[r],s.push(t.compile(e,T));return s}().join(", "),this.isSuper?this.superReference(e)+(".call("+this.superThis(e)+(n&&", "+n)+")"):(this.isNew?"new ":"")+this.variable.compile(e,S)+("("+n+")"))},t.prototype.compileSuper=function(e,t){return""+this.superReference(t)+".call("+this.superThis(t)+(e.length?", ":"")+e+")"},t.prototype.compileSplat=function(e,t){var n,r,i,s,o;return this.isSuper?""+this.superReference(e)+".apply("+this.superThis(e)+", "+t+")":this.isNew?(i=this.tab+X,"(function(func, args, ctor) {\n"+i+"ctor.prototype = func.prototype;\n"+i+"var child = new ctor, result = func.apply(child, args), t = typeof result;\n"+i+'return t == "object" || t == "function" ? result || child : child;\n'+this.tab+"})("+this.variable.compile(e,T)+", "+t+", function(){})"):(n=new Q(this.variable),(s=n.properties.pop())&&n.isComplex()?(o=e.scope.freeVariable("ref"),r="("+o+" = "+n.compile(e,T)+")"+s.compile(e)):(r=n.compile(e,S),I.test(r)&&(r="("+r+")"),s?(o=r,r+=s.compile(e)):o="null"),""+r+".apply("+o+", "+t+")")},t}(o),t.Extends=d=function(e){function t(e,t){this.child=e,this.parent=t}return dt(t,e),t.prototype.children=["child","parent"],t.prototype.compile=function(e){return(new a(new Q(new L(lt("extends"))),[this.child,this.parent])).compile(e)},t}(o),t.Access=r=function(e){function t(e,t){this.name=e,this.name.asKey=!0,this.soak=t==="soak"}return dt(t,e),t.prototype.children=["name"],t.prototype.compile=function(e){var t;return t=this.name.compile(e),m.test(t)?"."+t:"["+t+"]"},t.prototype.isComplex=M,t}(o),t.Index=E=function(e){function t(e){this.index=e}return dt(t,e),t.prototype.children=["index"],t.prototype.compile=function(e){return"["+this.index.compile(e,C)+"]"},t.prototype.isComplex=function(){return this.index.isComplex()},t}(o),t.Range=j=function(e){function t(e,t,n){this.from=e,this.to=t,this.exclusive=n==="exclusive",this.equals=this.exclusive?"":"="}return dt(t,e),t.prototype.children=["from","to"],t.prototype.compileVariables=function(e){var t,n,r,i,s;e=st(e,{top:!0}),n=this.from.cache(e,T),this.fromC=n[0],this.fromVar=n[1],r=this.to.cache(e,T),this.toC=r[0],this.toVar=r[1];if(t=et(e,"step"))i=t.cache(e,T),this.step=i[0],this.stepVar=i[1];s=[this.fromVar.match(I),this.toVar.match(I)],this.fromNum=s[0],this.toNum=s[1];if(this.stepVar)return this.stepNum=this.stepVar.match(I)},t.prototype.compileNode=function(e){var t,n,r,i,s,o,u,a,f,l,c,h,p,d;return this.fromVar||this.compileVariables(e),e.index?(u=this.fromNum&&this.toNum,s=et(e,"index"),o=et(e,"name"),f=o&&o!==s,h=""+s+" = "+this.fromC,this.toC!==this.toVar&&(h+=", "+this.toC),this.step!==this.stepVar&&(h+=", "+this.step),p=[""+s+" <"+this.equals,""+s+" >"+this.equals],a=p[0],i=p[1],n=this.stepNum?+this.stepNum>0?""+a+" "+this.toVar:""+i+" "+this.toVar:u?(d=[+this.fromNum,+this.toNum],r=d[0],c=d[1],d,r<=c?""+a+" "+c:""+i+" "+c):(t=""+this.fromVar+" <= "+this.toVar,""+t+" ? "+a+" "+this.toVar+" : "+i+" "+this.toVar),l=this.stepVar?""+s+" += "+this.stepVar:u?f?r<=c?"++"+s:"--"+s:r<=c?""+s+"++":""+s+"--":f?""+t+" ? ++"+s+" : --"+s:""+t+" ? "+s+"++ : "+s+"--",f&&(h=""+o+" = "+h),f&&(l=""+o+" = "+l),""+h+"; "+n+"; "+l):this.compileArray(e)},t.prototype.compileArray=function(e){var t,n,r,i,s,o,u,a,f,l,c,h,p,d,v;if(this.fromNum&&this.toNum&&Math.abs(this.fromNum-this.toNum)<=20)return f=function(){v=[];for(var e=p=+this.fromNum,t=+this.toNum;p<=t?e<=t:e>=t;p<=t?e++:e--)v.push(e);return v}.apply(this),this.exclusive&&f.pop(),"["+f.join(", ")+"]";o=this.tab+X,s=e.scope.freeVariable("i"),l=e.scope.freeVariable("results"),a="\n"+o+l+" = [];",this.fromNum&&this.toNum?(e.index=s,n=this.compileNode(e)):(c=""+s+" = "+this.fromC+(this.toC!==this.toVar?", "+this.toC:""),r=""+this.fromVar+" <= "+this.toVar,n="var "+c+"; "+r+" ? "+s+" <"+this.equals+" "+this.toVar+" : "+s+" >"+this.equals+" "+this.toVar+"; "+r+" ? "+s+"++ : "+s+"--"),u="{ "+l+".push("+s+"); }\n"+o+"return "+l+";\n"+e.indent,i=function(e){return e!=null?e.contains(function(e){return e instanceof L&&e.value==="arguments"&&!e.asKey}):void 0};if(i(this.from)||i(this.to))t=", arguments";return"(function() {"+a+"\n"+o+"for ("+n+")"+u+"}).apply(this"+(t!=null?t:"")+")"},t}(o),t.Slice=U=function(e){function t(e){this.range=e,t.__super__.constructor.call(this)}return dt(t,e),t.prototype.children=["range"],t.prototype.compileNode=function(e){var t,n,r,i,s,o;return o=this.range,i=o.to,n=o.from,r=n&&n.compile(e,C)||"0",t=i&&i.compile(e,C),i&&(!!this.range.exclusive||+t!==-1)&&(s=", "+(this.range.exclusive?t:I.test(t)?""+(+t+1):(t=i.compile(e,S),"+"+t+" + 1 || 9e9"))),".slice("+r+(s||"")+")"},t}(o),t.Obj=_=function(e){function t(e,t){this.generated=t!=null?t:!1,this.objects=this.properties=e||[]}return dt(t,e),t.prototype.children=["properties"],t.prototype.compileNode=function(e){var t,n,r,i,o,u,a,f,l,c,p;l=this.properties;if(!l.length)return this.front?"({})":"{}";if(this.generated)for(c=0,p=l.length;c<p;c++){u=l[c];if(u instanceof Q)throw new Error("cannot have an implicit value in an implicit object")}return n=e.indent+=X,o=this.lastNonComment(this.properties),l=function(){var u,a,c;c=[];for(t=u=0,a=l.length;u<a;t=++u)f=l[t],i=t===l.length-1?"":f===o||f instanceof h?"\n":",\n",r=f instanceof h?"":n,f instanceof Q&&f["this"]&&(f=new s(f.properties[0].name,f,"object")),f instanceof h||(f instanceof s||(f=new s(f,f,"object")),(f.variable.base||f.variable).asKey=!0),c.push(r+f.compile(e,k)+i);return c}(),l=l.join(""),a="{"+(l&&"\n"+l+"\n"+this.tab)+"}",this.front?"("+a+")":a},t.prototype.assigns=function(e){var t,n,r,i;i=this.properties;for(n=0,r=i.length;n<r;n++){t=i[n];if(t.assigns(e))return!0}return!1},t}(o),t.Arr=i=function(e){function t(e){this.objects=e||[]}return dt(t,e),t.prototype.children=["objects"],t.prototype.filterImplicitObjects=a.prototype.filterImplicitObjects,t.prototype.compileNode=function(e){var t,n,r;return this.objects.length?(e.indent+=X,r=this.filterImplicitObjects(this.objects),(t=z.compileSplattedArray(e,r))?t:(t=function(){var t,i,s;s=[];for(t=0,i=r.length;t<i;t++)n=r[t],s.push(n.compile(e,T));return s}().join(", "),t.indexOf("\n")>=0?"[\n"+e.indent+t+"\n"+this.tab+"]":"["+t+"]")):"[]"},t.prototype.assigns=function(e){var t,n,r,i;i=this.objects;for(n=0,r=i.length;n<r;n++){t=i[n];if(t.assigns(e))return!0}return!1},t}(o),t.Class=f=function(e){function t(e,t,n){this.variable=e,this.parent=t,this.body=n!=null?n:new u,this.boundFuncs=[],this.body.classBody=!0}return dt(t,e),t.prototype.children=["variable","parent","body"],t.prototype.determineName=function(){var e,t;if(!this.variable)return null;e=(t=it(this.variable.properties))?t instanceof r&&t.name.value:this.variable.base.value;if(vt.call(q,e)>=0)throw SyntaxError("variable name may not be "+e);return e&&(e=m.test(e)&&e)},t.prototype.setContext=function(e){return this.body.traverseChildren(!1,function(t){if(t.classBody)return!1;if(t instanceof L&&t.value==="this")return t.value=e;if(t instanceof c){t.klass=e;if(t.bound)return t.context=e}})},t.prototype.addBoundFunctions=function(e){var t,n,i,s,o,u;if(this.boundFuncs.length){o=this.boundFuncs,u=[];for(i=0,s=o.length;i<s;i++)t=o[i],n=(new Q(new L("this"),[new r(t)])).compile(e),u.push(this.ctor.body.unshift(new L(""+n+" = "+lt("bind")+"("+n+", this)")));return u}},t.prototype.addProperties=function(e,t,n){var i,o,u,a,f;return f=e.base.properties.slice(0),u=function(){var e;e=[];while(i=f.shift()){if(i instanceof s){o=i.variable.base,delete i.context,a=i.value;if(o.value==="constructor"){if(this.ctor)throw new Error("cannot define more than one constructor in a class");if(a.bound)throw new Error("cannot define a constructor as a bound function");a instanceof c?i=this.ctor=a:(this.externalCtor=n.scope.freeVariable("class"),i=new s(new L(this.externalCtor),a))}else i.variable["this"]?(a["static"]=!0,a.bound&&(a.context=t)):(i.variable=new Q(new L(t),[new r(new L("prototype")),new r(o)]),a instanceof c&&a.bound&&(this.boundFuncs.push(o),a.bound=!1))}e.push(i)}return e}.call(this),Z(u)},t.prototype.walkBody=function(e,n){var r=this;return this.traverseChildren(!1,function(i){var s,o,a,f,l,c;if(i instanceof t)return!1;if(i instanceof u){c=s=i.expressions;for(o=f=0,l=c.length;f<l;o=++f)a=c[o],a instanceof Q&&a.isObject(!0)&&(s[o]=r.addProperties(a,e,n));return i.expressions=s=rt(s)}})},t.prototype.hoistDirectivePrologue=function(){var e,t,n;t=0,e=this.body.expressions;while((n=e[t])&&n instanceof h||n instanceof Q&&n.isString())++t;return this.directives=e.splice(0,t)},t.prototype.ensureConstructor=function(e){return this.ctor||(this.ctor=new c,this.parent&&this.ctor.body.push(new L(""+e+".__super__.constructor.apply(this, arguments)")),this.externalCtor&&this.ctor.body.push(new L(""+this.externalCtor+".apply(this, arguments)")),this.ctor.body.makeReturn(),this.body.expressions.unshift(this.ctor)),this.ctor.ctor=this.ctor.name=e,this.ctor.klass=null,this.ctor.noReturn=!0},t.prototype.compileNode=function(e){var t,n,r,i,o,u,a;return n=this.determineName(),o=n||"_Class",o.reserved&&(o="_"+o),i=new L(o),this.hoistDirectivePrologue(),this.setContext(o),this.walkBody(o,e),this.ensureConstructor(o),this.body.spaced=!0,this.ctor instanceof c||this.body.expressions.unshift(this.ctor),this.body.expressions.push(i),(a=this.body.expressions).unshift.apply(a,this.directives),this.addBoundFunctions(e),t=l.wrap(this.body),this.parent&&(this.superClass=new L(e.scope.freeVariable("super",!1)),this.body.expressions.unshift(new d(i,this.superClass)),t.args.push(this.parent),u=t.variable.params||t.variable.base.params,u.push(new P(this.superClass))),r=new H(t,!0),this.variable&&(r=new s(this.variable,r)),r.compile(e)},t}(o),t.Assign=s=function(e){function t(e,t,n,r){var i,s,o;this.variable=e,this.value=t,this.context=n,this.param=r&&r.param,this.subpattern=r&&r.subpattern,i=(o=s=this.variable.unwrapAll().value,vt.call(q,o)>=0);if(i&&this.context!=="object")throw SyntaxError('variable name may not be "'+s+'"')}return dt(t,e),t.prototype.children=["variable","value"],t.prototype.isStatement=function(e){return(e!=null?e.level:void 0)===k&&this.context!=null&&vt.call(this.context,"?")>=0},t.prototype.assigns=function(e){return this[this.context==="object"?"value":"variable"].assigns(e)},t.prototype.unfoldSoak=function(e){return ft(e,this,"variable")},t.prototype.compileNode=function(e){var t,n,r,i,s,o,u,a,f;if(t=this.variable instanceof Q){if(this.variable.isArray()||this.variable.isObject())return this.compilePatternMatch(e);if(this.variable.isSplice())return this.compileSplice(e);if((o=this.context)==="||="||o==="&&="||o==="?=")return this.compileConditional(e)}r=this.variable.compile(e,T);if(!this.context){if(!(s=this.variable.unwrapAll()).isAssignable())throw SyntaxError('"'+this.variable.compile(e)+'" cannot be assigned.');if(typeof s.hasProperties=="function"?!s.hasProperties():!void 0)this.param?e.scope.add(r,"var"):e.scope.find(r)}return this.value instanceof c&&(n=A.exec(r))&&(n[1]&&(this.value.klass=n[1]),this.value.name=(u=(a=(f=n[2])!=null?f:n[3])!=null?a:n[4])!=null?u:n[5]),i=this.value.compile(e,T),this.context==="object"?""+r+": "+i:(i=r+(" "+(this.context||"=")+" ")+i,e.level<=T?i:"("+i+")")},t.prototype.compilePatternMatch=function(e){var n,i,s,o,u,a,f,l,c,h,p,d,v,g,y,b,w,S,x,C,A,O,M,_,D,P,j;y=e.level===k,w=this.value,h=this.variable.base.objects;if(!(p=h.length))return s=w.compile(e),e.level>=N?"("+s+")":s;a=this.variable.isObject();if(y&&p===1&&!((c=h[0])instanceof z)){c instanceof t?(A=c,O=A.variable,u=O.base,c=A.value):c.base instanceof H?(M=(new Q(c.unwrapAll())).cacheReference(e),c=M[0],u=M[1]):u=a?c["this"]?c.properties[0].name:c:new L(0),n=m.test(u.unwrap().value||0),w=new Q(w),w.properties.push(new(n?r:E)(u));if(_=c.unwrap().value,vt.call(B,_)>=0)throw new SyntaxError("assignment to a reserved word: "+c.compile(e)+" = "+w.compile(e));return(new t(c,w,null,{param:this.param})).compile(e,k)}S=w.compile(e,T),i=[],g=!1;if(!m.test(S)||this.variable.assigns(S))i.push(""+(d=e.scope.freeVariable("ref"))+" = "+S),S=d;for(o=x=0,C=h.length;x<C;o=++x){c=h[o],u=o,a&&(c instanceof t?(D=c,P=D.variable,u=P.base,c=D.value):c.base instanceof H?(j=(new Q(c.unwrapAll())).cacheReference(e),c=j[0],u=j[1]):u=c["this"]?c.properties[0].name:c);if(!g&&c instanceof z)l=c.name.unwrap().value,c=c.unwrap(),b=""+p+" <= "+S+".length ? "+lt("slice")+".call("+S+", "+o,(v=p-o-1)?(f=e.scope.freeVariable("i"),b+=", "+f+" = "+S+".length - "+v+") : ("+f+" = "+o+", [])"):b+=") : []",b=new L(b),g=""+f+"++";else{l=c.unwrap().value;if(c instanceof z)throw c=c.name.compile(e),new SyntaxError("multiple splats are disallowed in an assignment: "+c+"...");typeof u=="number"?(u=new L(g||u),n=!1):n=a&&m.test(u.unwrap().value||0),b=new Q(new L(S),[new(n?r:E)(u)])}if(l!=null&&vt.call(B,l)>=0)throw new SyntaxError("assignment to a reserved word: "+c.compile(e)+" = "+b.compile(e));i.push((new t(c,b,null,{param:this.param,subpattern:!0})).compile(e,T))}return!y&&!this.subpattern&&i.push(S),s=i.join(", "),e.level<T?s:"("+s+")"},t.prototype.compileConditional=function(e){var n,r,i;i=this.variable.cacheReference(e),n=i[0],r=i[1];if(!n.properties.length&&n.base instanceof L&&n.base.value!=="this"&&!e.scope.check(n.base.value))throw new Error('the variable "'+n.base.value+"\" can't be assigned with "+this.context+" because it has not been defined.");return vt.call(this.context,"?")>=0&&(e.isExistentialEquals=!0),(new D(this.context.slice(0,-1),n,new t(r,this.value,"="))).compile(e)},t.prototype.compileSplice=function(e){var t,n,r,i,s,o,u,a,f,l,c,h;return l=this.variable.properties.pop().range,r=l.from,u=l.to,n=l.exclusive,o=this.variable.compile(e),c=(r!=null?r.cache(e,N):void 0)||["0","0"],i=c[0],s=c[1],u?(r!=null?r.isSimpleNumber():void 0)&&u.isSimpleNumber()?(u=+u.compile(e)- +s,n||(u+=1)):(u=u.compile(e,S)+" - "+s,n||(u+=" + 1")):u="9e9",h=this.value.cache(e,T),a=h[0],f=h[1],t="[].splice.apply("+o+", ["+i+", "+u+"].concat("+a+")), "+f,e.level>k?"("+t+")":t},t}(o),t.Code=c=function(e){function t(e,t,n){this.params=e||[],this.body=t||new u,this.bound=n==="boundfunc",this.bound&&(this.context="_this")}return dt(t,e),t.prototype.children=["params","body"],t.prototype.isStatement=function(){return!!this.ctor},t.prototype.jumps=M,t.prototype.compileNode=function(e){var t,n,r,o,u,a,f,l,c,h,p,d,v,m,g,y,w,E,x,T,N,C,k,A,O,M,_,P,H,B,j,F,I;e.scope=new R(e.scope,this.body,this),e.scope.shared=et(e,"sharedScope"),e.indent+=X,delete e.bare,delete e.isExistentialEquals,c=[],n=[],_=this.paramNames();for(g=0,x=_.length;g<x;g++)a=_[g],e.scope.check(a)||e.scope.parameter(a);P=this.params;for(y=0,T=P.length;y<T;y++){l=P[y];if(!l.splat)continue;H=this.params;for(w=0,N=H.length;w<N;w++)f=H[w].name,f["this"]&&(f=f.properties[0].name),f.value&&e.scope.add(f.value,"var",!0);p=new s(new Q(new i(function(){var t,n,r,i;r=this.params,i=[];for(t=0,n=r.length;t<n;t++)f=r[t],i.push(f.asReference(e));return i}.call(this))),new Q(new L("arguments")));break}B=this.params;for(E=0,C=B.length;E<C;E++)l=B[E],l.isComplex()?(v=h=l.asReference(e),l.value&&(v=new D("?",h,l.value)),n.push(new s(new Q(l.name),v,"=",{param:!0}))):(h=l,l.value&&(u=new L(h.name.value+" == null"),v=new s(new Q(l.name),l.value,"="),n.push(new b(u,v)))),p||c.push(h);m=this.body.isEmpty(),p&&n.unshift(p),n.length&&(j=this.body.expressions).unshift.apply(j,n);for(r=O=0,k=c.length;O<k;r=++O)f=c[r],e.scope.parameter(c[r]=f.compile(e));d=[],F=this.paramNames();for(M=0,A=F.length;M<A;M++){a=F[M];if(vt.call(d,a)>=0)throw SyntaxError("multiple parameters named '"+a+"'");d.push(a)}return!m&&!this.noReturn&&this.body.makeReturn(),this.bound&&(((I=e.scope.parent.method)!=null?I.bound:void 0)?this.bound=this.context=e.scope.parent.method.context:this["static"]||e.scope.parent.assign("_this","this")),o=e.indent,t="function",this.ctor&&(t+=" "+this.name),t+="("+c.join(", ")+") {",this.body.isEmpty()||(t+="\n"+this.body.compileWithDeclarations(e)+"\n"+this.tab),t+="}",this.ctor?this.tab+t:this.front||e.level>=S?"("+t+")":t},t.prototype.paramNames=function(){var e,t,n,r,i;e=[],i=this.params;for(n=0,r=i.length;n<r;n++)t=i[n],e.push.apply(e,t.names());return e},t.prototype.traverseChildren=function(e,n){if(e)return t.__super__.traverseChildren.call(this,e,n)},t}(o),t.Param=P=function(e){function t(e,t,n){var r;this.name=e,this.value=t,this.splat=n;if(r=e=this.name.unwrapAll().value,vt.call(q,r)>=0)throw SyntaxError('parameter name "'+e+'" is not allowed')}return dt(t,e),t.prototype.children=["name","value"],t.prototype.compile=function(e){return this.name.compile(e,T)},t.prototype.asReference=function(e){var t;return this.reference?this.reference:(t=this.name,t["this"]?(t=t.properties[0].name,t.value.reserved&&(t=new L(e.scope.freeVariable(t.value)))):t.isComplex()&&(t=new L(e.scope.freeVariable("arg"))),t=new Q(t),this.splat&&(t=new z(t)),this.reference=t)},t.prototype.isComplex=function(){return this.name.isComplex()},t.prototype.names=function(e){var t,n,r,i,o,u;e==null&&(e=this.name),t=function(e){var t;return t=e.properties[0].name.value,t.reserved?[]:[t]};if(e instanceof L)return[e.value];if(e instanceof Q)return t(e);n=[],u=e.objects;for(i=0,o=u.length;i<o;i++){r=u[i];if(r instanceof s)n.push(r.value.unwrap().value);else if(r instanceof z)n.push(r.name.unwrap().value);else{if(!(r instanceof Q))throw SyntaxError("illegal parameter "+r.compile());r.isArray()||r.isObject()?n.push.apply(n,this.names(r.base)):r["this"]?n.push.apply(n,t(r)):n.push(r.base.value)}}return n},t}(o),t.Splat=z=function(e){function t(e){this.name=e.compile?e:new L(e)}return dt(t,e),t.prototype.children=["name"],t.prototype.isAssignable=Y,t.prototype.assigns=function(e){return this.name.assigns(e)},t.prototype.compile=function(e){return this.index!=null?this.compileParam(e):this.name.compile(e)},t.prototype.unwrap=function(){return this.name},t.compileSplattedArray=function(e,n,r){var i,s,o,u,a,f,l,c;a=-1;while((f=n[++a])&&!(f instanceof t))continue;if(a>=n.length)return"";if(n.length===1)return o=n[0].compile(e,T),r?o:""+lt("slice")+".call("+o+")";i=n.slice(a);for(u=l=0,c=i.length;l<c;u=++l)f=i[u],o=f.compile(e,T),i[u]=f instanceof t?""+lt("slice")+".call("+o+")":"["+o+"]";return a===0?i[0]+(".concat("+i.slice(1).join(", ")+")"):(s=function(){var t,r,i,s;i=n.slice(0,a),s=[];for(t=0,r=i.length;t<r;t++)f=i[t],s.push(f.compile(e,T));return s}(),"["+s.join(", ")+"].concat("+i.join(", ")+")")},t}(o),t.While=G=function(e){function t(e,t){this.condition=(t!=null?t.invert:void 0)?e.invert():e,this.guard=t!=null?t.guard:void 0}return dt(t,e),t.prototype.children=["condition","guard","body"],t.prototype.isStatement=Y,t.prototype.makeReturn=function(e){return e?t.__super__.makeReturn.apply(this,arguments):(this.returns=!this.jumps({loop:!0}),this)},t.prototype.addBody=function(e){return this.body=e,this},t.prototype.jumps=function(){var e,t,n,r;e=this.body.expressions;if(!e.length)return!1;for(n=0,r=e.length;n<r;n++){t=e[n];if(t.jumps({loop:!0}))return t}return!1},t.prototype.compileNode=function(e){var t,n,r,i;return e.indent+=X,i="",t=this.body,t.isEmpty()?t="":(this.returns&&(t.makeReturn(r=e.scope.freeVariable("results")),i=""+this.tab+r+" = [];\n"),this.guard&&(t.expressions.length>1?t.expressions.unshift(new b((new H(this.guard)).invert(),new L("continue"))):this.guard&&(t=u.wrap([new b(this.guard,t)]))),t="\n"+t.compile(e,k)+"\n"+this.tab),n=i+this.tab+("while ("+this.condition.compile(e,C)+") {"+t+"}"),this.returns&&(n+="\n"+this.tab+"return "+r+";"),n},t}(o),t.Op=D=function(e){function r(e,n,r,i){if(e==="in")return new w(n,r);if(e==="do")return this.generateDo(n);if(e==="new"){if(n instanceof a&&!n["do"]&&!n.isNew)return n.newInstance();if(n instanceof c&&n.bound||n["do"])n=new H(n)}return this.operator=t[e]||e,this.first=n,this.second=r,this.flip=!!i,this}var t,n;return dt(r,e),t={"==":"===","!=":"!==",of:"in"},n={"!==":"===","===":"!=="},r.prototype.children=["first","second"],r.prototype.isSimpleNumber=M,r.prototype.isUnary=function(){return!this.second},r.prototype.isComplex=function(){var e;return!this.isUnary()||(e=this.operator)!=="+"&&e!=="-"||this.first.isComplex()},r.prototype.isChainable=function(){var e;return(e=this.operator)==="<"||e===">"||e===">="||e==="<="||e==="==="||e==="!=="},r.prototype.invert=function(){var e,t,i,s,o;if(this.isChainable()&&this.first.isChainable()){e=!0,t=this;while(t&&t.operator)e&&(e=t.operator in n),t=t.first;if(!e)return(new H(this)).invert();t=this;while(t&&t.operator)t.invert=!t.invert,t.operator=n[t.operator],t=t.first;return this}return(s=n[this.operator])?(this.operator=s,this.first.unwrap()instanceof r&&this.first.invert(),this):this.second?(new H(this)).invert():this.operator==="!"&&(i=this.first.unwrap())instanceof r&&((o=i.operator)==="!"||o==="in"||o==="instanceof")?i:new r("!",this)},r.prototype.unfoldSoak=function(e){var t;return((t=this.operator)==="++"||t==="--"||t==="delete")&&ft(e,this,"first")},r.prototype.generateDo=function(e){var t,n,r,i,o,u,f,l;i=[],n=e instanceof s&&(o=e.value.unwrap())instanceof c?o:e,l=n.params||[];for(u=0,f=l.length;u<f;u++)r=l[u],r.value?(i.push(r.value),delete r.value):i.push(r);return t=new a(e,i),t["do"]=!0,t},r.prototype.compileNode=function(e){var t,n,r,i;n=this.isChainable()&&this.first.isChainable(),n||(this.first.front=this.front);if(this.operator==="delete"&&e.scope.check(this.first.unwrapAll().value))throw SyntaxError("delete operand may not be argument or var");if(((r=this.operator)==="--"||r==="++")&&(i=this.first.unwrapAll().value,vt.call(q,i)>=0))throw SyntaxError("prefix increment/decrement may not have eval or arguments operand");return this.isUnary()?this.compileUnary(e):n?this.compileChain(e):this.operator==="?"?this.compileExistence(e):(t=this.first.compile(e,N)+" "+this.operator+" "+this.second.compile(e,N),e.level<=N?t:"("+t+")")},r.prototype.compileChain=function(e){var t,n,r,i;return i=this.first.second.cache(e),this.first.second=i[0],r=i[1],n=this.first.compile(e,N),t=""+n+" "+(this.invert?"&&":"||")+" "+r.compile(e)+" "+this.operator+" "+this.second.compile(e,N),"("+t+")"},r.prototype.compileExistence=function(e){var t,n;return this.first.isComplex()?(n=new L(e.scope.freeVariable("ref")),t=new H(new s(n,this.first))):(t=this.first,n=t),(new b(new p(t),n,{type:"if"})).addElse(this.second).compile(e)},r.prototype.compileUnary=function(e){var t,n,i;if(e.level>=S)return(new H(this)).compile(e);n=[t=this.operator],i=t==="+"||t==="-",(t==="new"||t==="typeof"||t==="delete"||i&&this.first instanceof r&&this.first.operator===t)&&n.push(" ");if(i&&this.first instanceof r||t==="new"&&this.first.isStatement(e))this.first=new H(this.first);return n.push(this.first.compile(e,N)),this.flip&&n.reverse(),n.join("")},r.prototype.toString=function(e){return r.__super__.toString.call(this,e,this.constructor.name+" "+this.operator)},r}(o),t.In=w=function(e){function t(e,t){this.object=e,this.array=t}return dt(t,e),t.prototype.children=["object","array"],t.prototype.invert=O,t.prototype.compileNode=function(e){var t,n,r,i,s;if(this.array instanceof Q&&this.array.isArray()){s=this.array.base.objects;for(r=0,i=s.length;r<i;r++){n=s[r];if(n instanceof z){t=!0;break}continue}if(!t)return this.compileOrTest(e)}return this.compileLoopTest(e)},t.prototype.compileOrTest=function(e){var t,n,r,i,s,o,u,a,f;return this.array.base.objects.length===0?""+!!this.negated:(a=this.object.cache(e,N),o=a[0],s=a[1],f=this.negated?[" !== "," && "]:[" === "," || "],t=f[0],n=f[1],u=function(){var n,u,a,f;a=this.array.base.objects,f=[];for(r=n=0,u=a.length;n<u;r=++n)i=a[r],f.push((r?s:o)+t+i.compile(e,S));return f}.call(this),u=u.join(n),e.level<N?u:"("+u+")")},t.prototype.compileLoopTest=function(e){var t,n,r,i;return i=this.object.cache(e,T),r=i[0],n=i[1],t=lt("indexOf")+(".call("+this.array.compile(e,T)+", "+n+") ")+(this.negated?"< 0":">= 0"),r===n?t:(t=r+", "+t,e.level<T?t:"("+t+")")},t.prototype.toString=function(e){return t.__super__.toString.call(this,e,this.constructor.name+(this.negated?"!":""))},t}(o),t.Try=J=function(e){function t(e,t,n,r){this.attempt=e,this.error=t,this.recovery=n,this.ensure=r}return dt(t,e),t.prototype.children=["attempt","recovery","ensure"],t.prototype.isStatement=Y,t.prototype.jumps=function(e){var t;return this.attempt.jumps(e)||((t=this.recovery)!=null?t.jumps(e):void 0)},t.prototype.makeReturn=function(e){return this.attempt&&(this.attempt=this.attempt.makeReturn(e)),this.recovery&&(this.recovery=this.recovery.makeReturn(e)),this},t.prototype.compileNode=function(e){var t,n,r,i;return e.indent+=X,r=this.error?" ("+this.error.compile(e)+") ":" ",i=this.attempt.compile(e,k),t=function(){var t;if(this.recovery){if(t=this.error.value,vt.call(q,t)>=0)throw SyntaxError('catch variable may not be "'+this.error.value+'"');return e.scope.check(this.error.value)||e.scope.add(this.error.value,"param")," catch"+r+"{\n"+this.recovery.compile(e,k)+"\n"+this.tab+"}"}if(!this.ensure&&!this.recovery)return" catch (_error) {}"}.call(this),n=this.ensure?" finally {\n"+this.ensure.compile(e,k)+"\n"+this.tab+"}":"",""+this.tab+"try {\n"+i+"\n"+this.tab+"}"+(t||"")+n},t}(o),t.Throw=$=function(e){function t(e){this.expression=e}return dt(t,e),t.prototype.children=["expression"],t.prototype.isStatement=Y,t.prototype.jumps=M,t.prototype.makeReturn=V,t.prototype.compileNode=function(e){return this.tab+("throw "+this.expression.compile(e)+";")},t}(o),t.Existence=p=function(e){function t(e){this.expression=e}return dt(t,e),t.prototype.children=["expression"],t.prototype.invert=O,t.prototype.compileNode=function(e){var t,n,r,i;return this.expression.front=this.front,r=this.expression.compile(e,N),m.test(r)&&!e.scope.check(r)?(i=this.negated?["===","||"]:["!==","&&"],t=i[0],n=i[1],r="typeof "+r+" "+t+' "undefined" '+n+" "+r+" "+t+" null"):r=""+r+" "+(this.negated?"==":"!=")+" null",e.level<=x?r:"("+r+")"},t}(o),t.Parens=H=function(e){function t(e){this.body=e}return dt(t,e),t.prototype.children=["body"],t.prototype.unwrap=function(){return this.body},t.prototype.isComplex=function(){return this.body.isComplex()},t.prototype.compileNode=function(e){var t,n,r;return r=this.body.unwrap(),r instanceof Q&&r.isAtomic()?(r.front=this.front,r.compile(e)):(n=r.compile(e,C),t=e.level<N&&(r instanceof D||r instanceof a||r instanceof v&&r.returns),t?n:"("+n+")")},t}(o),t.For=v=function(e){function t(e,t){var n;this.source=t.source,this.guard=t.guard,this.step=t.step,this.name=t.name,this.index=t.index,this.body=u.wrap([e]),this.own=!!t.own,this.object=!!t.object,this.object&&(n=[this.index,this.name],this.name=n[0],this.index=n[1]);if(this.index instanceof Q)throw SyntaxError("index cannot be a pattern matching expression");this.range=this.source instanceof Q&&this.source.base instanceof j&&!this.source.properties.length,this.pattern=this.name instanceof Q;if(this.range&&this.index)throw SyntaxError("indexes do not apply to range loops");if(this.range&&this.pattern)throw SyntaxError("cannot pattern match over range loops");this.returns=!1}return dt(t,e),t.prototype.children=["body","source","guard","step"],t.prototype.compileNode=function(e){var t,n,r,i,o,a,f,l,c,h,p,d,v,g,y,w,E,S,x,C,A,O,M,_,D;return t=u.wrap([this.body]),p=(D=it(t.expressions))!=null?D.jumps():void 0,p&&p instanceof F&&(this.returns=!1),C=this.range?this.source.base:this.source,x=e.scope,v=this.name&&this.name.compile(e,T),f=this.index&&this.index.compile(e,T),v&&!this.pattern&&x.find(v),f&&x.find(f),this.returns&&(S=x.freeVariable("results")),l=this.object&&f||x.freeVariable("i"),c=this.range&&v||f||l,h=c!==l?""+c+" = ":"",this.step&&!this.range&&(O=x.freeVariable("step")),this.pattern&&(v=l),_="",o="",n="",a=this.tab+X,this.range?r=C.compile(st(e,{index:l,name:v,step:this.step})):(M=this.source.compile(e,T),(v||this.own)&&!m.test(M)&&(n=""+this.tab+(y=x.freeVariable("ref"))+" = "+M+";\n",M=y),v&&!this.pattern&&(g=""+v+" = "+M+"["+c+"]"),this.object||(d=x.freeVariable("len"),i=""+h+l+" = 0, "+d+" = "+M+".length",this.step&&(i+=", "+O+" = "+this.step.compile(e,N)),A=""+h+(this.step?""+l+" += "+O:c!==l?"++"+l:""+l+"++"),r=""+i+"; "+l+" < "+d+"; "+A)),this.returns&&(w=""+this.tab+S+" = [];\n",E="\n"+this.tab+"return "+S+";",t.makeReturn(S)),this.guard&&(t.expressions.length>1?t.expressions.unshift(new b((new H(this.guard)).invert(),new L("continue"))):this.guard&&(t=u.wrap([new b(this.guard,t)]))),this.pattern&&t.expressions.unshift(new s(this.name,new L(""+M+"["+c+"]"))),n+=this.pluckDirectCall(e,t),g&&(_="\n"+a+g+";"),this.object&&(r=""+c+" in "+M,this.own&&(o="\n"+a+"if (!"+lt("hasProp")+".call("+M+", "+c+")) continue;")),t=t.compile(st(e,{indent:a}),k),t&&(t="\n"+t+"\n"),""+n+(w||"")+this.tab+"for ("+r+") {"+o+_+t+this.tab+"}"+(E||"")},t.prototype.pluckDirectCall=function(e,t){var n,r,i,o,u,f,l,h,p,d,v,m,g,y,b;r="",d=t.expressions;for(u=h=0,p=d.length;h<p;u=++h){i=d[u],i=i.unwrapAll();if(!(i instanceof a))continue;l=i.variable.unwrapAll();if(!(l instanceof c||l instanceof Q&&((v=l.base)!=null?v.unwrapAll():void 0)instanceof c&&l.properties.length===1&&((m=(g=l.properties[0].name)!=null?g.value:void 0)==="call"||m==="apply")))continue;o=((y=l.base)!=null?y.unwrapAll():void 0)||l,f=new L(e.scope.freeVariable("fn")),n=new Q(f),l.base&&(b=[n,l],l.base=b[0],n=b[1]),t.expressions[u]=new a(n,i.args),r+=this.tab+(new s(f,o)).compile(e,k)+";\n"}return r},t}(G),t.Switch=W=function(e){function t(e,t,n){this.subject=e,this.cases=t,this.otherwise=n}return dt(t,e),t.prototype.children=["subject","cases","otherwise"],t.prototype.isStatement=Y,t.prototype.jumps=function(e){var t,n,r,i,s,o,u;e==null&&(e={block:!0}),s=this.cases;for(r=0,i=s.length;r<i;r++){o=s[r],n=o[0],t=o[1];if(t.jumps(e))return t}return(u=this.otherwise)!=null?u.jumps(e):void 0},t.prototype.makeReturn=function(e){var t,n,r,i,s;i=this.cases;for(n=0,r=i.length;n<r;n++)t=i[n],t[1].makeReturn(e);return e&&(this.otherwise||(this.otherwise=new u([new L("void 0")]))),(s=this.otherwise)!=null&&s.makeReturn(e),this},t.prototype.compileNode=function(e){var t,n,r,i,s,o,u,a,f,l,c,h,p,d,v,m,g;a=e.indent+X,f=e.indent=a+X,r=this.tab+("switch ("+(((d=this.subject)!=null?d.compile(e,C):void 0)||!1)+") {\n"),v=this.cases;for(u=l=0,h=v.length;l<h;u=++l){m=v[u],s=m[0],t=m[1],g=rt([s]);for(c=0,p=g.length;c<p;c++)i=g[c],this.subject||(i=i.invert()),r+=a+("case "+i.compile(e,C)+":\n");if(n=t.compile(e,k))r+=n+"\n";if(u===this.cases.length-1&&!this.otherwise)break;o=this.lastNonComment(t.expressions);if(o instanceof F||o instanceof L&&o.jumps()&&o.value!=="debugger")continue;r+=f+"break;\n"}return this.otherwise&&this.otherwise.expressions.length&&(r+=a+("default:\n"+this.otherwise.compile(e,k)+"\n")),r+this.tab+"}"},t}(o),t.If=b=function(e){function t(e,t,n){this.body=t,n==null&&(n={}),this.condition=n.type==="unless"?e.invert():e,this.elseBody=null,this.isChain=!1,this.soak=n.soak}return dt(t,e),t.prototype.children=["condition","body","elseBody"],t.prototype.bodyNode=function(){var e;return(e=this.body)!=null?e.unwrap():void 0},t.prototype.elseBodyNode=function(){var e;return(e=this.elseBody)!=null?e.unwrap():void 0},t.prototype.addElse=function(e){return this.isChain?this.elseBodyNode().addElse(e):(this.isChain=e instanceof t,this.elseBody=this.ensureBlock(e)),this},t.prototype.isStatement=function(e){var t;return(e!=null?e.level:void 0)===k||this.bodyNode().isStatement(e)||((t=this.elseBodyNode())!=null?t.isStatement(e):void 0)},t.prototype.jumps=function(e){var t;return this.body.jumps(e)||((t=this.elseBody)!=null?t.jumps(e):void 0)},t.prototype.compileNode=function(e){return this.isStatement(e)?this.compileStatement(e):this.compileExpression(e)},t.prototype.makeReturn=function(e){return e&&(this.elseBody||(this.elseBody=new u([new L("void 0")]))),this.body&&(this.body=new u([this.body.makeReturn(e)])),this.elseBody&&(this.elseBody=new u([this.elseBody.makeReturn(e)])),this},t.prototype.ensureBlock=function(e){return e instanceof u?e:new u([e])},t.prototype.compileStatement=function(e){var n,r,i,s,o;return r=et(e,"chainChild"),s=et(e,"isExistentialEquals"),s?(new t(this.condition.invert(),this.elseBodyNode(),{type:"if"})).compile(e):(i=this.condition.compile(e,C),e.indent+=X,n=this.ensureBlock(this.body),o="if ("+i+") {\n"+n.compile(e)+"\n"+this.tab+"}",r||(o=this.tab+o),this.elseBody?o+" else "+(this.isChain?(e.indent=this.tab,e.chainChild=!0,this.elseBody.unwrap().compile(e,k)):"{\n"+this.elseBody.compile(e,k)+"\n"+this.tab+"}"):o)},t.prototype.compileExpression=function(e){var t,n,r,i;return i=this.condition.compile(e,x),n=this.bodyNode().compile(e,T),t=this.elseBodyNode()?this.elseBodyNode().compile(e,T):"void 0",r=""+i+" ? "+n+" : "+t,e.level>=x?"("+r+")":r},t.prototype.unfoldSoak=function(){return this.soak&&this},t}(o),l={wrap:function(e,t,n){var i,s,o,f,l;if(e.jumps())return e;o=new c([],u.wrap([e])),i=[];if((f=e.contains(this.literalArgs))||e.contains(this.literalThis))l=new L(f?"apply":"call"),i=[new L("this")],f&&i.push(new L("arguments")),o=new Q(o,[new r(l)]);return o.noReturn=n,s=new a(o,i),t?u.wrap([s]):s},literalArgs:function(e){return e instanceof L&&e.value==="arguments"&&!e.asKey},literalThis:function(e){return e instanceof L&&e.value==="this"&&!e.asKey||e instanceof c&&e.bound||e instanceof a&&e.isSuper}},ft=function(e,t,n){var r;if(!(r=t[n].unfoldSoak(e)))return;return t[n]=r.body,r.body=new Q(t),r},K={"extends":function(){return"function(child, parent) { for (var key in parent) { if ("+lt("hasProp")+".call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }"},bind:function(){return"function(fn, me){ return function(){ return fn.apply(me, arguments); }; }"},indexOf:function(){return"[].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }"},hasProp:function(){return"{}.hasOwnProperty"},slice:function(){return"[].slice"}},k=1,C=2,T=3,x=4,N=5,S=6,X=" ",g="[$A-Za-z_\\x7f-\\uffff][$\\w\\x7f-\\uffff]*",m=RegExp("^"+g+"$"),I=/^[+-]?\d+$/,A=RegExp("^(?:("+g+")\\.prototype(?:\\.("+g+")|\\[(\"(?:[^\\\\\"\\r\\n]|\\\\.)*\"|'(?:[^\\\\'\\r\\n]|\\\\.)*')\\]|\\[(0x[\\da-fA-F]+|\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\]))|("+g+")$"),y=/^['"]/,lt=function(e){var t;return t="__"+e,R.root.assign(t,K[e]()),t},ot=function(e,t){return e=e.replace(/\n/g,"$&"+t),e.replace(/\s+$/,"")}}),define("ace/mode/coffee/scope",["require","exports","module","ace/mode/coffee/helpers"],function(e,t,n){var r,i,s,o;o=e("./helpers"),i=o.extend,s=o.last,t.Scope=r=function(){function e(t,n,r){this.parent=t,this.expressions=n,this.method=r,this.variables=[{name:"arguments",type:"arguments"}],this.positions={},this.parent||(e.root=this)}return e.root=null,e.prototype.add=function(e,t,n){return this.shared&&!n?this.parent.add(e,t,n):Object.prototype.hasOwnProperty.call(this.positions,e)?this.variables[this.positions[e]].type=t:this.positions[e]=this.variables.push({name:e,type:t})-1},e.prototype.namedMethod=function(){return this.method.name||!this.parent?this.method:this.parent.namedMethod()},e.prototype.find=function(e){return this.check(e)?!0:(this.add(e,"var"),!1)},e.prototype.parameter=function(e){if(this.shared&&this.parent.check(e,!0))return;return this.add(e,"param")},e.prototype.check=function(e){var t;return!!(this.type(e)||((t=this.parent)!=null?t.check(e):void 0))},e.prototype.temporary=function(e,t){return e.length>1?"_"+e+(t>1?t-1:""):"_"+(t+parseInt(e,36)).toString(36).replace(/\d/g,"a")},e.prototype.type=function(e){var t,n,r,i;i=this.variables;for(n=0,r=i.length;n<r;n++){t=i[n];if(t.name===e)return t.type}return null},e.prototype.freeVariable=function(e,t){var n,r;t==null&&(t=!0),n=0;while(this.check(r=this.temporary(e,n)))n++;return t&&this.add(r,"var",!0),r},e.prototype.assign=function(e,t){return this.add(e,{value:t,assigned:!0},!0),this.hasAssignments=!0},e.prototype.hasDeclarations=function(){return!!this.declaredVariables().length},e.prototype.declaredVariables=function(){var e,t,n,r,i,s;e=[],t=[],s=this.variables;for(r=0,i=s.length;r<i;r++)n=s[r],n.type==="var"&&(n.name.charAt(0)==="_"?t:e).push(n.name);return e.sort().concat(t.sort())},e.prototype.assignedVariables=function(){var e,t,n,r,i;r=this.variables,i=[];for(t=0,n=r.length;t<n;t++)e=r[t],e.type.assigned&&i.push(""+e.name+" = "+e.type.value);return i},e}()})
vendor/assets/javascripts/ace/worker-css.js
"no use strict";function initBaseUrls(e){require.tlns=e}function initSender(){var e=require(null,"ace/lib/event_emitter").EventEmitter,t=require(null,"ace/lib/oop"),n=function(){};return function(){t.implement(this,e),this.callback=function(e,t){postMessage({type:"call",id:t,data:e})},this.emit=function(e,t){postMessage({type:"event",name:e,data:t})}}.call(n.prototype),new n}if(typeof window!="undefined"&&window.document)throw"atempt to load ace worker into main window instead of webWorker";var console={log:function(){var e=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:e})},error:function(){var e=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:e})}},window={console:console},normalizeModule=function(e,t){if(t.indexOf("!")!==-1){var n=t.split("!");return normalizeModule(e,n[0])+"!"+normalizeModule(e,n[1])}if(t.charAt(0)=="."){var r=e.split("/").slice(0,-1).join("/"),t=r+"/"+t;while(t.indexOf(".")!==-1&&i!=t)var i=t,t=t.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}return t},require=function(e,t){if(!t.charAt)throw new Error("worker.js require() accepts only (parentId, id) as arguments");var t=normalizeModule(e,t),n=require.modules[t];if(n)return n.initialized||(n.initialized=!0,n.exports=n.factory().exports),n.exports;var r=t.split("/");r[0]=require.tlns[r[0]]||r[0];var i=r.join("/")+".js";return require.id=t,importScripts(i),require(e,t)};require.modules={},require.tlns={};var define=function(e,t,n){arguments.length==2?(n=t,typeof e!="string"&&(t=e,e=require.id)):arguments.length==1&&(n=e,e=require.id);if(e.indexOf("text!")===0)return;var r=function(t,n){return require(e,t,n)};require.modules[e]={factory:function(){var e={exports:{}},t=n(r,e.exports,e);return t&&(e.exports=t),e}}},main,sender;onmessage=function(e){var t=e.data;if(t.command){if(!main[t.command])throw new Error("Unknown command:"+t.command);main[t.command].apply(main,t.args)}else if(t.init){initBaseUrls(t.tlns),require(null,"ace/lib/fixoldbrowsers"),sender=initSender();var n=require(null,t.module)[t.classname];main=new n(sender)}else t.event&&sender&&sender._emit(t.event,t.data)},define("ace/lib/fixoldbrowsers",["require","exports","module","ace/lib/regexp","ace/lib/es5-shim"],function(e,t,n){e("./regexp"),e("./es5-shim")}),define("ace/lib/regexp",["require","exports","module"],function(e,t,n){function o(e){return(e.global?"g":"")+(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.extended?"x":"")+(e.sticky?"y":"")}function u(e,t,n){if(Array.prototype.indexOf)return e.indexOf(t,n);for(var r=n||0;r<e.length;r++)if(e[r]===t)return r;return-1}var r={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split},i=r.exec.call(/()??/,"")[1]===undefined,s=function(){var e=/^/g;return r.test.call(e,""),!e.lastIndex}();if(s&&i)return;RegExp.prototype.exec=function(e){var t=r.exec.apply(this,arguments),n,a;if(typeof e=="string"&&t){!i&&t.length>1&&u(t,"")>-1&&(a=RegExp(this.source,r.replace.call(o(this),"g","")),r.replace.call(e.slice(t.index),a,function(){for(var e=1;e<arguments.length-2;e++)arguments[e]===undefined&&(t[e]=undefined)}));if(this._xregexp&&this._xregexp.captureNames)for(var f=1;f<t.length;f++)n=this._xregexp.captureNames[f-1],n&&(t[n]=t[f]);!s&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--}return t},s||(RegExp.prototype.test=function(e){var t=r.exec.call(this,e);return t&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--,!!t})}),define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function m(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}Function.prototype.bind||(Function.prototype.bind=function(t){var n=this;if(typeof n!="function")throw new TypeError;var r=o.call(arguments,1),i=function(){if(this instanceof i){var e=function(){};e.prototype=n.prototype;var s=new e,u=n.apply(s,r.concat(o.call(arguments)));return u!==null&&Object(u)===u?u:s}return n.apply(t,r.concat(o.call(arguments)))};return i});var r=Function.prototype.call,i=Array.prototype,s=Object.prototype,o=i.slice,u=r.bind(s.toString),a=r.bind(s.hasOwnProperty),f,l,c,h,p;if(p=a(s,"__defineGetter__"))f=r.bind(s.__defineGetter__),l=r.bind(s.__defineSetter__),c=r.bind(s.__lookupGetter__),h=r.bind(s.__lookupSetter__);Array.isArray||(Array.isArray=function(t){return u(t)=="[object Array]"}),Array.prototype.forEach||(Array.prototype.forEach=function(t){var n=D(this),r=arguments[1],i=0,s=n.length>>>0;if(u(t)!="[object Function]")throw new TypeError;while(i<s)i in n&&t.call(r,n[i],i,n),i++}),Array.prototype.map||(Array.prototype.map=function(t){var n=D(this),r=n.length>>>0,i=Array(r),s=arguments[1];if(u(t)!="[object Function]")throw new TypeError;for(var o=0;o<r;o++)o in n&&(i[o]=t.call(s,n[o],o,n));return i}),Array.prototype.filter||(Array.prototype.filter=function(t){var n=D(this),r=n.length>>>0,i=[],s=arguments[1];if(u(t)!="[object Function]")throw new TypeError;for(var o=0;o<r;o++)o in n&&t.call(s,n[o],o,n)&&i.push(n[o]);return i}),Array.prototype.every||(Array.prototype.every=function(t){var n=D(this),r=n.length>>>0,i=arguments[1];if(u(t)!="[object Function]")throw new TypeError;for(var s=0;s<r;s++)if(s in n&&!t.call(i,n[s],s,n))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(t){var n=D(this),r=n.length>>>0,i=arguments[1];if(u(t)!="[object Function]")throw new TypeError;for(var s=0;s<r;s++)if(s in n&&t.call(i,n[s],s,n))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(t){var n=D(this),r=n.length>>>0;if(u(t)!="[object Function]")throw new TypeError;if(!r&&arguments.length==1)throw new TypeError;var i=0,s;if(arguments.length>=2)s=arguments[1];else do{if(i in n){s=n[i++];break}if(++i>=r)throw new TypeError}while(!0);for(;i<r;i++)i in n&&(s=t.call(void 0,s,n[i],i,n));return s}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(t){var n=D(this),r=n.length>>>0;if(u(t)!="[object Function]")throw new TypeError;if(!r&&arguments.length==1)throw new TypeError;var i,s=r-1;if(arguments.length>=2)i=arguments[1];else do{if(s in n){i=n[s--];break}if(--s<0)throw new TypeError}while(!0);do s in this&&(i=t.call(void 0,i,n[s],s,n));while(s--);return i}),Array.prototype.indexOf||(Array.prototype.indexOf=function(t){var n=D(this),r=n.length>>>0;if(!r)return-1;var i=0;arguments.length>1&&(i=M(arguments[1])),i=i>=0?i:Math.max(0,r+i);for(;i<r;i++)if(i in n&&n[i]===t)return i;return-1}),Array.prototype.lastIndexOf||(Array.prototype.lastIndexOf=function(t){var n=D(this),r=n.length>>>0;if(!r)return-1;var i=r-1;arguments.length>1&&(i=Math.min(i,M(arguments[1]))),i=i>=0?i:r-Math.abs(i);for(;i>=0;i--)if(i in n&&t===n[i])return i;return-1}),Object.getPrototypeOf||(Object.getPrototypeOf=function(t){return t.__proto__||(t.constructor?t.constructor.prototype:s)});if(!Object.getOwnPropertyDescriptor){var d="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(t,n){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(d+t);if(!a(t,n))return;var r,i,o;r={enumerable:!0,configurable:!0};if(p){var u=t.__proto__;t.__proto__=s;var i=c(t,n),o=h(t,n);t.__proto__=u;if(i||o)return i&&(r.get=i),o&&(r.set=o),r}return r.value=t[n],r}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(t){return Object.keys(t)});if(!Object.create){var v;Object.prototype.__proto__===null?v=function(){return{__proto__:null}}:v=function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(t,n){var r;if(t===null)r=v();else{if(typeof t!="object")throw new TypeError("typeof prototype["+typeof t+"] != 'object'");var i=function(){};i.prototype=t,r=new i,r.__proto__=t}return n!==void 0&&Object.defineProperties(r,n),r}}if(Object.defineProperty){var g=m({}),y=typeof document=="undefined"||m(document.createElement("div"));if(!g||!y)var b=Object.defineProperty}if(!Object.defineProperty||b){var w="Property description must be an object: ",E="Object.defineProperty called on non-object: ",S="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(t,n,r){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(E+t);if(typeof r!="object"&&typeof r!="function"||r===null)throw new TypeError(w+r);if(b)try{return b.call(Object,t,n,r)}catch(i){}if(a(r,"value"))if(p&&(c(t,n)||h(t,n))){var o=t.__proto__;t.__proto__=s,delete t[n],t[n]=r.value,t.__proto__=o}else t[n]=r.value;else{if(!p)throw new TypeError(S);a(r,"get")&&f(t,n,r.get),a(r,"set")&&l(t,n,r.set)}return t}}Object.defineProperties||(Object.defineProperties=function(t,n){for(var r in n)a(n,r)&&Object.defineProperty(t,r,n[r]);return t}),Object.seal||(Object.seal=function(t){return t}),Object.freeze||(Object.freeze=function(t){return t});try{Object.freeze(function(){})}catch(x){Object.freeze=function(t){return function(n){return typeof n=="function"?n:t(n)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(t){return t}),Object.isSealed||(Object.isSealed=function(t){return!1}),Object.isFrozen||(Object.isFrozen=function(t){return!1}),Object.isExtensible||(Object.isExtensible=function(t){if(Object(t)===t)throw new TypeError;var n="";while(a(t,n))n+="?";t[n]=!0;var r=a(t,n);return delete t[n],r});if(!Object.keys){var T=!0,N=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],C=N.length;for(var k in{toString:null})T=!1;Object.keys=function P(e){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError("Object.keys called on a non-object");var P=[];for(var t in e)a(e,t)&&P.push(t);if(T)for(var n=0,r=C;n<r;n++){var i=N[n];a(e,i)&&P.push(i)}return P}}if(!Date.prototype.toISOString||(new Date(-621987552e5)).toISOString().indexOf("-000001")===-1)Date.prototype.toISOString=function(){var t,n,r,i;if(!isFinite(this))throw new RangeError;t=[this.getUTCMonth()+1,this.getUTCDate(),this.getUTCHours(),this.getUTCMinutes(),this.getUTCSeconds()],i=this.getUTCFullYear(),i=(i<0?"-":i>9999?"+":"")+("00000"+Math.abs(i)).slice(0<=i&&i<=9999?-4:-6),n=t.length;while(n--)r=t[n],r<10&&(t[n]="0"+r);return i+"-"+t.slice(0,2).join("-")+"T"+t.slice(2).join(":")+"."+("000"+this.getUTCMilliseconds()).slice(-3)+"Z"};Date.now||(Date.now=function(){return(new Date).getTime()}),Date.prototype.toJSON||(Date.prototype.toJSON=function(t){if(typeof this.toISOString!="function")throw new TypeError;return this.toISOString()}),Date.parse("+275760-09-13T00:00:00.000Z")!==864e13&&(Date=function(e){var t=function i(t,n,r,s,o,u,a){var f=arguments.length;if(this instanceof e){var l=f==1&&String(t)===t?new e(i.parse(t)):f>=7?new e(t,n,r,s,o,u,a):f>=6?new e(t,n,r,s,o,u):f>=5?new e(t,n,r,s,o):f>=4?new e(t,n,r,s):f>=3?new e(t,n,r):f>=2?new e(t,n):f>=1?new e(t):new e;return l.constructor=i,l}return e.apply(this,arguments)},n=new RegExp("^(\\d{4}|[+-]\\d{6})(?:-(\\d{2})(?:-(\\d{2})(?:T(\\d{2}):(\\d{2})(?::(\\d{2})(?:\\.(\\d{3}))?)?(?:Z|(?:([-+])(\\d{2}):(\\d{2})))?)?)?)?$");for(var r in e)t[r]=e[r];return t.now=e.now,t.UTC=e.UTC,t.prototype=e.prototype,t.prototype.constructor=t,t.parse=function(r){var i=n.exec(r);if(i){i.shift();for(var s=1;s<7;s++)i[s]=+(i[s]||(s<3?1:0)),s==1&&i[s]--;var o=+i.pop(),u=+i.pop(),a=i.pop(),f=0;if(a){if(u>23||o>59)return NaN;f=(u*60+o)*6e4*(a=="+"?-1:1)}var l=+i[0];return 0<=l&&l<=99?(i[0]=l+400,e.UTC.apply(this,i)+f-126227808e5):e.UTC.apply(this,i)+f}return e.parse.apply(this,arguments)},t}(Date));var L=" \n \f\r   ᠎              \u2028\u2029";if(!String.prototype.trim||L.trim()){L="["+L+"]";var A=new RegExp("^"+L+L+"*"),O=new RegExp(L+L+"*$");String.prototype.trim=function(){return String(this).replace(A,"").replace(O,"")}}var M=function(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e},_="a"[0]!="a",D=function(e){if(e==null)throw new TypeError;return _&&typeof e=="string"&&e?e.split(""):Object(e)}}),define("ace/lib/event_emitter",["require","exports","module"],function(e,t,n){var r={};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry=this._eventRegistry||{},this._defaultHandlers=this._defaultHandlers||{};var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(!n.length&&!r)return;if(typeof t!="object"||!t)t={};t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=function(){this.propagationStopped=!0}),t.preventDefault||(t.preventDefault=function(){this.defaultPrevented=!0});for(var i=0;i<n.length;i++){n[i](t);if(t.propagationStopped)break}if(r&&!t.defaultPrevented)return r(t)},r.setDefaultHandler=function(e,t){this._defaultHandlers=this._defaultHandlers||{};if(this._defaultHandlers[e])throw new Error("The default handler for '"+e+"' is already set");this._defaultHandlers[e]=t},r.on=r.addEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[e];n||(n=this._eventRegistry[e]=[]),n.indexOf(t)==-1&&n.push(t)},r.removeListener=r.removeEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[e];if(!n)return;var r=n.indexOf(t);r!==-1&&n.splice(r,1)},r.removeAllListeners=function(e){this._eventRegistry&&(this._eventRegistry[e]=[])},t.EventEmitter=r}),define("ace/lib/oop",["require","exports","module"],function(e,t,n){t.inherits=function(){var e=function(){};return function(t,n){e.prototype=n.prototype,t.super_=n.prototype,t.prototype=new e,t.prototype.constructor=t}}(),t.mixin=function(e,t){for(var n in t)e[n]=t[n]},t.implement=function(e,n){t.mixin(e,n)}}),define("ace/mode/css_worker",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/worker/mirror","ace/mode/css/csslint"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("../worker/mirror").Mirror,o=e("./css/csslint").CSSLint,u=t.Worker=function(e){s.call(this,e),this.setTimeout(400),this.ruleset=null,this.setDisabledRules("ids"),this.setInfoRules("adjoining-classes|qualified-headings|zero-units|gradients|import|outline-none")};r.inherits(u,s),function(){this.setInfoRules=function(e){typeof e=="string"&&(e=e.split("|")),this.infoRules=i.arrayToMap(e),this.doc.getValue()&&this.deferredUpdate.schedule(100)},this.setDisabledRules=function(e){if(!e)this.ruleset=null;else{typeof e=="string"&&(e=e.split("|"));var t={};o.getRules().forEach(function(e){t[e.id]=!0}),e.forEach(function(e){delete t[e]}),console.log(t),this.ruleset=t}this.doc.getValue()&&this.deferredUpdate.schedule(100)},this.onUpdate=function(){var e=this.doc.getValue(),t=this.infoRules,n=o.verify(e,this.ruleset);this.sender.emit("csslint",n.messages.map(function(e){return{row:e.line-1,column:e.col-1,text:e.message,type:t[e.rule.id]?"info":e.type}}))}}.call(u.prototype)}),define("ace/lib/lang",["require","exports","module"],function(e,t,n){t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){return(new Array(t+1)).join(e)};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n<r;n++)e[n]&&typeof e[n]=="object"?t[n]=this.copyObject(e[n]):t[n]=e[n];return t},t.deepCopy=function(e){if(typeof e!="object")return e;var t=e.constructor();for(var n in e)typeof e[n]=="object"?t[n]=this.deepCopy(e[n]):t[n]=e[n];return t},t.arrayToMap=function(e){var t={};for(var n=0;n<e.length;n++)t[e[n]]=1;return t},t.createMap=function(e){var t=Object.create(null);for(var n in e)t[n]=e[n];return t},t.arrayRemove=function(e,t){for(var n=0;n<=e.length;n++)t===e[n]&&e.splice(n,1)},t.escapeRegExp=function(e){return e.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},t.escapeHTML=function(e){return e.replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},t.getMatchOffsets=function(e,t){var n=[];return e.replace(t,function(e){n.push({offset:arguments[arguments.length-2],length:e.length})}),n},t.deferredCall=function(e){var t=null,n=function(){t=null,e()},r=function(e){return r.cancel(),t=setTimeout(n,e||0),r};return r.schedule=r,r.call=function(){return this.cancel(),e(),r},r.cancel=function(){return clearTimeout(t),t=null,r},r},t.delayedCall=function(e,t){var n=null,r=function(){n=null,e()},i=function(e){n&&clearTimeout(n),n=setTimeout(r,e||t)};return i.delay=i,i.schedule=function(e){n==null&&(n=setTimeout(r,e||0))},i.call=function(){this.cancel(),e()},i.cancel=function(){n&&clearTimeout(n),n=null},i.isPending=function(){return n},i}}),define("ace/worker/mirror",["require","exports","module","ace/document","ace/lib/lang"],function(e,t,n){var r=e("../document").Document,i=e("../lib/lang"),s=t.Mirror=function(e){this.sender=e;var t=this.doc=new r(""),n=this.deferredUpdate=i.deferredCall(this.onUpdate.bind(this)),s=this;e.on("change",function(e){t.applyDeltas([e.data]),n.schedule(s.$timeout)})};(function(){this.$timeout=500,this.setTimeout=function(e){this.$timeout=e},this.setValue=function(e){this.doc.setValue(e),this.deferredUpdate.schedule(this.$timeout)},this.getValue=function(e){this.sender.callback(this.doc.getValue(),e)},this.onUpdate=function(){}}).call(s.prototype)}),define("ace/document",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=e("./range").Range,o=e("./anchor").Anchor,u=function(e){this.$lines=[],e.length==0?this.$lines=[""]:Array.isArray(e)?this.insertLines(0,e):this.insert({row:0,column:0},e)};(function(){r.implement(this,i),this.setValue=function(e){var t=this.getLength();this.remove(new s(0,0,t,this.getLine(t-1).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new o(this,e,t)},"aaa".split(/a/).length==0?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);t?this.$autoNewLine=t[1]:this.$autoNewLine="\n"},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";case"auto":return this.$autoNewLine}},this.$autoNewLine="\n",this.$newLineMode="auto",this.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){if(e.start.row==e.end.row)return this.$lines[e.start.row].substring(e.start.column,e.end.column);var t=this.getLines(e.start.row+1,e.end.row-1);return t.unshift((this.$lines[e.start.row]||"").substring(e.start.column)),t.push((this.$lines[e.end.row]||"").substring(0,e.end.column)),t.join(this.getNewLineCharacter())},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t&&(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length),e},this.insert=function(e,t){if(!t||t.length===0)return e;e=this.$clipPosition(e),this.getLength()<=1&&this.$detectNewLine(t);var n=this.$split(t),r=n.splice(0,1)[0],i=n.length==0?null:n.splice(n.length-1,1)[0];return e=this.insertInLine(e,r),i!==null&&(e=this.insertNewLine(e),e=this.insertLines(e.row,n),e=this.insertInLine(e,i||"")),e},this.insertLines=function(e,t){if(t.length==0)return{row:e,column:0};if(t.length>65535){var n=this.insertLines(e,t.slice(65535));t=t.slice(0,65535)}var r=[e,0];r.push.apply(r,t),this.$lines.splice.apply(this.$lines,r);var i=new s(e,0,e+t.length,0),o={action:"insertLines",range:i,lines:t};return this._emit("change",{data:o}),n||i.end},this.insertNewLine=function(e){e=this.$clipPosition(e);var t=this.$lines[e.row]||"";this.$lines[e.row]=t.substring(0,e.column),this.$lines.splice(e.row+1,0,t.substring(e.column,t.length));var n={row:e.row+1,column:0},r={action:"insertText",range:s.fromPoints(e,n),text:this.getNewLineCharacter()};return this._emit("change",{data:r}),n},this.insertInLine=function(e,t){if(t.length==0)return e;var n=this.$lines[e.row]||"";this.$lines[e.row]=n.substring(0,e.column)+t+n.substring(e.column);var r={row:e.row,column:e.column+t.length},i={action:"insertText",range:s.fromPoints(e,r),text:t};return this._emit("change",{data:i}),r},this.remove=function(e){e.start=this.$clipPosition(e.start),e.end=this.$clipPosition(e.end);if(e.isEmpty())return e.start;var t=e.start.row,n=e.end.row;if(e.isMultiLine()){var r=e.start.column==0?t:t+1,i=n-1;e.end.column>0&&this.removeInLine(n,0,e.end.column),i>=r&&this.removeLines(r,i),r!=t&&(this.removeInLine(t,e.start.column,this.getLine(t).length),this.removeNewLine(e.start.row))}else this.removeInLine(t,e.start.column,e.end.column);return e.start},this.removeInLine=function(e,t,n){if(t==n)return;var r=new s(e,t,e,n),i=this.getLine(e),o=i.substring(t,n),u=i.substring(0,t)+i.substring(n,i.length);this.$lines.splice(e,1,u);var a={action:"removeText",range:r,text:o};return this._emit("change",{data:a}),r.start},this.removeLines=function(e,t){var n=new s(e,0,t+1,0),r=this.$lines.splice(e,t-e+1),i={action:"removeLines",range:n,nl:this.getNewLineCharacter(),lines:r};return this._emit("change",{data:i}),r},this.removeNewLine=function(e){var t=this.getLine(e),n=this.getLine(e+1),r=new s(e,t.length,e+1,0),i=t+n;this.$lines.splice(e,2,i);var o={action:"removeText",range:r,text:this.getNewLineCharacter()};this._emit("change",{data:o})},this.replace=function(e,t){if(t.length==0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);if(t)var n=this.insert(e.start,t);else n=e.start;return n},this.applyDeltas=function(e){for(var t=0;t<e.length;t++){var n=e[t],r=s.fromPoints(n.range.start,n.range.end);n.action=="insertLines"?this.insertLines(r.start.row,n.lines):n.action=="insertText"?this.insert(r.start,n.text):n.action=="removeLines"?this.removeLines(r.start.row,r.end.row-1):n.action=="removeText"&&this.remove(r)}},this.revertDeltas=function(e){for(var t=e.length-1;t>=0;t--){var n=e[t],r=s.fromPoints(n.range.start,n.range.end);n.action=="insertLines"?this.removeLines(r.start.row,r.end.row-1):n.action=="insertText"?this.remove(r):n.action=="removeLines"?this.insertLines(r.start.row,n.lines):n.action=="removeText"&&this.insert(r.start,n.text)}}}).call(u.prototype),t.Document=u}),define("ace/range",["require","exports","module"],function(e,t,n){var r=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row==e.start.row&&this.end.row==e.end.row&&this.start.column==e.start.column&&this.end.column==e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?t<this.start.column?-1:t>this.end.column?1:0:e<this.start.row?-1:e>this.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};if(this.start.row>t)var i={row:t+1,column:0};if(this.start.row<e)var i={row:e,column:0};if(this.end.row<e)var n={row:e,column:0};return r.fromPoints(i||this.start,n||this.end)},this.extend=function(e,t){var n=this.compare(e,t);if(n==0)return this;if(n==-1)var i={row:e,column:t};else var s={row:e,column:t};return r.fromPoints(i||this.start,s||this.end)},this.isEmpty=function(){return this.start.row==this.end.row&&this.start.column==this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return r.fromPoints(this.start,this.end)},this.collapseRows=function(){return this.end.column==0?new r(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new r(this.start.row,0,this.end.row,0)},this.toScreenRange=function(e){var t=e.documentToScreenPosition(this.start),n=e.documentToScreenPosition(this.end);return new r(t.row,t.column,n.row,n.column)}}).call(r.prototype),r.fromPoints=function(e,t){return new r(e.row,e.column,t.row,t.column)},t.Range=r}),define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=t.Anchor=function(e,t,n){this.document=e,typeof n=="undefined"?this.setPosition(t.row,t.column):this.setPosition(t,n),this.$onChange=this.onChange.bind(this),e.on("change",this.$onChange)};(function(){r.implement(this,i),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.onChange=function(e){var t=e.data,n=t.range;if(n.start.row==n.end.row&&n.start.row!=this.row)return;if(n.start.row>this.row)return;if(n.start.row==this.row&&n.start.column>this.column)return;var r=this.row,i=this.column;t.action==="insertText"?n.start.row===r&&n.start.column<=i?n.start.row===n.end.row?i+=n.end.column-n.start.column:(i-=n.start.column,r+=n.end.row-n.start.row):n.start.row!==n.end.row&&n.start.row<r&&(r+=n.end.row-n.start.row):t.action==="insertLines"?n.start.row<=r&&(r+=n.end.row-n.start.row):t.action=="removeText"?n.start.row==r&&n.start.column<i?n.end.column>=i?i=n.start.column:i=Math.max(0,i-(n.end.column-n.start.column)):n.start.row!==n.end.row&&n.start.row<r?(n.end.row==r&&(i=Math.max(0,i-n.end.column)+n.start.column),r-=n.end.row-n.start.row):n.end.row==r&&(r-=n.end.row-n.start.row,i=Math.max(0,i-n.end.column)+n.start.column):t.action=="removeLines"&&n.start.row<=r&&(n.end.row<=r?r-=n.end.row-n.start.row:(r=n.start.row,i=0)),this.setPosition(r,i,!0)},this.setPosition=function(e,t,n){var r;n?r={row:e,column:t}:r=this.$clipPositionToDocument(e,t);if(this.row==r.row&&this.column==r.column)return;var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._emit("change",{old:i,value:r})},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),define("ace/mode/css/csslint",["require","exports","module"],function(require,exports,module){function Reporter(e,t){this.messages=[],this.stats=[],this.lines=e,this.ruleset=t}var parserlib={};(function(){function e(){this._listeners={}}function t(e){this._input=e.replace(/\n\r?/g,"\n"),this._line=1,this._col=1,this._cursor=0}function n(e,t,n){this.col=n,this.line=t,this.message=e}function r(e,t,n,r){this.col=n,this.line=t,this.text=e,this.type=r}function i(e,n){this._reader=e?new t(e.toString()):null,this._token=null,this._tokenData=n,this._lt=[],this._ltIndex=0,this._ltIndexCache=[]}e.prototype={constructor:e,addListener:function(e,t){this._listeners[e]||(this._listeners[e]=[]),this._listeners[e].push(t)},fire:function(e){typeof e=="string"&&(e={type:e}),typeof e.target!="undefined"&&(e.target=this);if(typeof e.type=="undefined")throw new Error("Event object missing 'type' property.");if(this._listeners[e.type]){var t=this._listeners[e.type].concat();for(var n=0,r=t.length;n<r;n++)t[n].call(this,e)}},removeListener:function(e,t){if(this._listeners[e]){var n=this._listeners[e];for(var r=0,i=n.length;r<i;r++)if(n[r]===t){n.splice(r,1);break}}}},t.prototype={constructor:t,getCol:function(){return this._col},getLine:function(){return this._line},eof:function(){return this._cursor==this._input.length},peek:function(e){var t=null;return e=typeof e=="undefined"?1:e,this._cursor<this._input.length&&(t=this._input.charAt(this._cursor+e-1)),t},read:function(){var e=null;return this._cursor<this._input.length&&(this._input.charAt(this._cursor)=="\n"?(this._line++,this._col=1):this._col++,e=this._input.charAt(this._cursor++)),e},mark:function(){this._bookmark={cursor:this._cursor,line:this._line,col:this._col}},reset:function(){this._bookmark&&(this._cursor=this._bookmark.cursor,this._line=this._bookmark.line,this._col=this._bookmark.col,delete this._bookmark)},readTo:function(e){var t="",n;while(t.length<e.length||t.lastIndexOf(e)!=t.length-e.length){n=this.read();if(!n)throw new Error('Expected "'+e+'" at line '+this._line+", col "+this._col+".");t+=n}return t},readWhile:function(e){var t="",n=this.read();while(n!==null&&e(n))t+=n,n=this.read();return t},readMatch:function(e){var t=this._input.substring(this._cursor),n=null;return typeof e=="string"?t.indexOf(e)===0&&(n=this.readCount(e.length)):e instanceof RegExp&&e.test(t)&&(n=this.readCount(RegExp.lastMatch.length)),n},readCount:function(e){var t="";while(e--)t+=this.read();return t}},n.prototype=new Error,r.fromToken=function(e){return new r(e.value,e.startLine,e.startCol)},r.prototype={constructor:r,valueOf:function(){return this.toString()},toString:function(){return this.text}},i.createTokenData=function(e){var t=[],n={},r=e.concat([]),i=0,s=r.length+1;r.UNKNOWN=-1,r.unshift({name:"EOF"});for(;i<s;i++)t.push(r[i].name),r[r[i].name]=i,r[i].text&&(n[r[i].text]=i);return r.name=function(e){return t[e]},r.type=function(e){return n[e]},r},i.prototype={constructor:i,match:function(e,t){e instanceof Array||(e=[e]);var n=this.get(t),r=0,i=e.length;while(r<i)if(n==e[r++])return!0;return this.unget(),!1},mustMatch:function(e,t){var r;e instanceof Array||(e=[e]);if(!this.match.apply(this,arguments))throw r=this.LT(1),new n("Expected "+this._tokenData[e[0]].name+" at line "+r.startLine+", col "+r.startCol+".",r.startLine,r.startCol)},advance:function(e,t){while(this.LA(0)!==0&&!this.match(e,t))this.get();return this.LA(0)},get:function(e){var t=this._tokenData,n=this._reader,r,i=0,s=t.length,o=!1,u,a;if(this._lt.length&&this._ltIndex>=0&&this._ltIndex<this._lt.length){i++,this._token=this._lt[this._ltIndex++],a=t[this._token.type];while(a.channel!==undefined&&e!==a.channel&&this._ltIndex<this._lt.length)this._token=this._lt[this._ltIndex++],a=t[this._token.type],i++;if((a.channel===undefined||e===a.channel)&&this._ltIndex<=this._lt.length)return this._ltIndexCache.push(i),this._token.type}return u=this._getToken(),u.type>-1&&!t[u.type].hide&&(u.channel=t[u.type].channel,this._token=u,this._lt.push(u),this._ltIndexCache.push(this._lt.length-this._ltIndex+i),this._lt.length>5&&this._lt.shift(),this._ltIndexCache.length>5&&this._ltIndexCache.shift(),this._ltIndex=this._lt.length),a=t[u.type],a&&(a.hide||a.channel!==undefined&&e!==a.channel)?this.get(e):u.type},LA:function(e){var t=e,n;if(e>0){if(e>5)throw new Error("Too much lookahead.");while(t)n=this.get(),t--;while(t<e)this.unget(),t++}else if(e<0){if(!this._lt[this._ltIndex+e])throw new Error("Too much lookbehind.");n=this._lt[this._ltIndex+e].type}else n=this._token.type;return n},LT:function(e){return this.LA(e),this._lt[this._ltIndex+e-1]},peek:function(){return this.LA(1)},token:function(){return this._token},tokenName:function(e){return e<0||e>this._tokenData.length?"UNKNOWN_TOKEN":this._tokenData[e].name},tokenType:function(e){return this._tokenData[e]||-1},unget:function(){if(!this._ltIndexCache.length)throw new Error("Too much lookahead.");this._ltIndex-=this._ltIndexCache.pop(),this._token=this._lt[this._ltIndex-1]}},parserlib.util={StringReader:t,SyntaxError:n,SyntaxUnit:r,EventTarget:e,TokenStreamBase:i}})(),function(){function Combinator(e,t,n){SyntaxUnit.call(this,e,t,n,Parser.COMBINATOR_TYPE),this.type="unknown",/^\s+$/.test(e)?this.type="descendant":e==">"?this.type="child":e=="+"?this.type="adjacent-sibling":e=="~"&&(this.type="sibling")}function MediaFeature(e,t){SyntaxUnit.call(this,"("+e+(t!==null?":"+t:"")+")",e.startLine,e.startCol,Parser.MEDIA_FEATURE_TYPE),this.name=e,this.value=t}function MediaQuery(e,t,n,r,i){SyntaxUnit.call(this,(e?e+" ":"")+(t?t+" ":"")+n.join(" and "),r,i,Parser.MEDIA_QUERY_TYPE),this.modifier=e,this.mediaType=t,this.features=n}function Parser(e){EventTarget.call(this),this.options=e||{},this._tokenStream=null}function PropertyName(e,t,n,r){SyntaxUnit.call(this,e,n,r,Parser.PROPERTY_NAME_TYPE),this.hack=t}function PropertyValue(e,t,n){SyntaxUnit.call(this,e.join(" "),t,n,Parser.PROPERTY_VALUE_TYPE),this.parts=e}function PropertyValueIterator(e){this._i=0,this._parts=e.parts,this._marks=[],this.value=e}function PropertyValuePart(text,line,col){SyntaxUnit.call(this,text,line,col,Parser.PROPERTY_VALUE_PART_TYPE),this.type="unknown";var temp;if(/^([+\-]?[\d\.]+)([a-z]+)$/i.test(text)){this.type="dimension",this.value=+RegExp.$1,this.units=RegExp.$2;switch(this.units.toLowerCase()){case"em":case"rem":case"ex":case"px":case"cm":case"mm":case"in":case"pt":case"pc":case"ch":this.type="length";break;case"deg":case"rad":case"grad":this.type="angle";break;case"ms":case"s":this.type="time";break;case"hz":case"khz":this.type="frequency";break;case"dpi":case"dpcm":this.type="resolution"}}else/^([+\-]?[\d\.]+)%$/i.test(text)?(this.type="percentage",this.value=+RegExp.$1):/^([+\-]?[\d\.]+)%$/i.test(text)?(this.type="percentage",this.value=+RegExp.$1):/^([+\-]?\d+)$/i.test(text)?(this.type="integer",this.value=+RegExp.$1):/^([+\-]?[\d\.]+)$/i.test(text)?(this.type="number",this.value=+RegExp.$1):/^#([a-f0-9]{3,6})/i.test(text)?(this.type="color",temp=RegExp.$1,temp.length==3?(this.red=parseInt(temp.charAt(0)+temp.charAt(0),16),this.green=parseInt(temp.charAt(1)+temp.charAt(1),16),this.blue=parseInt(temp.charAt(2)+temp.charAt(2),16)):(this.red=parseInt(temp.substring(0,2),16),this.green=parseInt(temp.substring(2,4),16),this.blue=parseInt(temp.substring(4,6),16))):/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/i.test(text)?(this.type="color",this.red=+RegExp.$1,this.green=+RegExp.$2,this.blue=+RegExp.$3):/^rgb\(\s*(\d+)%\s*,\s*(\d+)%\s*,\s*(\d+)%\s*\)/i.test(text)?(this.type="color",this.red=+RegExp.$1*255/100,this.green=+RegExp.$2*255/100,this.blue=+RegExp.$3*255/100):/^rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([\d\.]+)\s*\)/i.test(text)?(this.type="color",this.red=+RegExp.$1,this.green=+RegExp.$2,this.blue=+RegExp.$3,this.alpha=+RegExp.$4):/^rgba\(\s*(\d+)%\s*,\s*(\d+)%\s*,\s*(\d+)%\s*,\s*([\d\.]+)\s*\)/i.test(text)?(this.type="color",this.red=+RegExp.$1*255/100,this.green=+RegExp.$2*255/100,this.blue=+RegExp.$3*255/100,this.alpha=+RegExp.$4):/^hsl\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*\)/i.test(text)?(this.type="color",this.hue=+RegExp.$1,this.saturation=+RegExp.$2/100,this.lightness=+RegExp.$3/100):/^hsla\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*,\s*([\d\.]+)\s*\)/i.test(text)?(this.type="color",this.hue=+RegExp.$1,this.saturation=+RegExp.$2/100,this.lightness=+RegExp.$3/100,this.alpha=+RegExp.$4):/^url\(["']?([^\)"']+)["']?\)/i.test(text)?(this.type="uri",this.uri=RegExp.$1):/^([^\(]+)\(/i.test(text)?(this.type="function",this.name=RegExp.$1,this.value=text):/^["'][^"']*["']/.test(text)?(this.type="string",this.value=eval(text)):Colors[text.toLowerCase()]?(this.type="color",temp=Colors[text.toLowerCase()].substring(1),this.red=parseInt(temp.substring(0,2),16),this.green=parseInt(temp.substring(2,4),16),this.blue=parseInt(temp.substring(4,6),16)):/^[\,\/]$/.test(text)?(this.type="operator",this.value=text):/^[a-z\-\u0080-\uFFFF][a-z0-9\-\u0080-\uFFFF]*$/i.test(text)&&(this.type="identifier",this.value=text)}function Selector(e,t,n){SyntaxUnit.call(this,e.join(" "),t,n,Parser.SELECTOR_TYPE),this.parts=e,this.specificity=Specificity.calculate(this)}function SelectorPart(e,t,n,r,i){SyntaxUnit.call(this,n,r,i,Parser.SELECTOR_PART_TYPE),this.elementName=e,this.modifiers=t}function SelectorSubPart(e,t,n,r){SyntaxUnit.call(this,e,n,r,Parser.SELECTOR_SUB_PART_TYPE),this.type=t,this.args=[]}function Specificity(e,t,n,r){this.a=e,this.b=t,this.c=n,this.d=r}function isHexDigit(e){return e!==null&&h.test(e)}function isDigit(e){return e!==null&&/\d/.test(e)}function isWhitespace(e){return e!==null&&/\s/.test(e)}function isNewLine(e){return e!==null&&nl.test(e)}function isNameStart(e){return e!==null&&/[a-z_\u0080-\uFFFF\\]/i.test(e)}function isNameChar(e){return e!==null&&(isNameStart(e)||/[0-9\-\\]/.test(e))}function isIdentStart(e){return e!==null&&(isNameStart(e)||/\-\\/.test(e))}function mix(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e}function TokenStream(e){TokenStreamBase.call(this,e,Tokens)}function ValidationError(e,t,n){this.col=n,this.line=t,this.message=e}var EventTarget=parserlib.util.EventTarget,TokenStreamBase=parserlib.util.TokenStreamBase,StringReader=parserlib.util.StringReader,SyntaxError=parserlib.util.SyntaxError,SyntaxUnit=parserlib.util.SyntaxUnit,Colors={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};Combinator.prototype=new SyntaxUnit,Combinator.prototype.constructor=Combinator,MediaFeature.prototype=new SyntaxUnit,MediaFeature.prototype.constructor=MediaFeature,MediaQuery.prototype=new SyntaxUnit,MediaQuery.prototype.constructor=MediaQuery,Parser.DEFAULT_TYPE=0,Parser.COMBINATOR_TYPE=1,Parser.MEDIA_FEATURE_TYPE=2,Parser.MEDIA_QUERY_TYPE=3,Parser.PROPERTY_NAME_TYPE=4,Parser.PROPERTY_VALUE_TYPE=5,Parser.PROPERTY_VALUE_PART_TYPE=6,Parser.SELECTOR_TYPE=7,Parser.SELECTOR_PART_TYPE=8,Parser.SELECTOR_SUB_PART_TYPE=9,Parser.prototype=function(){var e=new EventTarget,t,n={constructor:Parser,DEFAULT_TYPE:0,COMBINATOR_TYPE:1,MEDIA_FEATURE_TYPE:2,MEDIA_QUERY_TYPE:3,PROPERTY_NAME_TYPE:4,PROPERTY_VALUE_TYPE:5,PROPERTY_VALUE_PART_TYPE:6,SELECTOR_TYPE:7,SELECTOR_PART_TYPE:8,SELECTOR_SUB_PART_TYPE:9,_stylesheet:function(){var e=this._tokenStream,t=null,n,r,i;this.fire("startstylesheet"),this._charset(),this._skipCruft();while(e.peek()==Tokens.IMPORT_SYM)this._import(),this._skipCruft();while(e.peek()==Tokens.NAMESPACE_SYM)this._namespace(),this._skipCruft();i=e.peek();while(i>Tokens.EOF){try{switch(i){case Tokens.MEDIA_SYM:this._media(),this._skipCruft();break;case Tokens.PAGE_SYM:this._page(),this._skipCruft();break;case Tokens.FONT_FACE_SYM:this._font_face(),this._skipCruft();break;case Tokens.KEYFRAMES_SYM:this._keyframes(),this._skipCruft();break;case Tokens.UNKNOWN_SYM:e.get();if(!!this.options.strict)throw new SyntaxError("Unknown @ rule.",e.LT(0).startLine,e.LT(0).startCol);this.fire({type:"error",error:null,message:"Unknown @ rule: "+e.LT(0).value+".",line:e.LT(0).startLine,col:e.LT(0).startCol}),n=0;while(e.advance([Tokens.LBRACE,Tokens.RBRACE])==Tokens.LBRACE)n++;while(n)e.advance([Tokens.RBRACE]),n--;break;case Tokens.S:this._readWhitespace();break;default:if(!this._ruleset())switch(i){case Tokens.CHARSET_SYM:throw r=e.LT(1),this._charset(!1),new SyntaxError("@charset not allowed here.",r.startLine,r.startCol);case Tokens.IMPORT_SYM:throw r=e.LT(1),this._import(!1),new SyntaxError("@import not allowed here.",r.startLine,r.startCol);case Tokens.NAMESPACE_SYM:throw r=e.LT(1),this._namespace(!1),new SyntaxError("@namespace not allowed here.",r.startLine,r.startCol);default:e.get(),this._unexpectedToken(e.token())}}}catch(s){if(!(s instanceof SyntaxError&&!this.options.strict))throw s;this.fire({type:"error",error:s,message:s.message,line:s.line,col:s.col})}i=e.peek()}i!=Tokens.EOF&&this._unexpectedToken(e.token()),this.fire("endstylesheet")},_charset:function(e){var t=this._tokenStream,n,r,i,s;t.match(Tokens.CHARSET_SYM)&&(i=t.token().startLine,s=t.token().startCol,this._readWhitespace(),t.mustMatch(Tokens.STRING),r=t.token(),n=r.value,this._readWhitespace(),t.mustMatch(Tokens.SEMICOLON),e!==!1&&this.fire({type:"charset",charset:n,line:i,col:s}))},_import:function(e){var t=this._tokenStream,n,r,i,s=[];t.mustMatch(Tokens.IMPORT_SYM),i=t.token(),this._readWhitespace(),t.mustMatch([Tokens.STRING,Tokens.URI]),r=t.token().value.replace(/(?:url\()?["']([^"']+)["']\)?/,"$1"),this._readWhitespace(),s=this._media_query_list(),t.mustMatch(Tokens.SEMICOLON),this._readWhitespace(),e!==!1&&this.fire({type:"import",uri:r,media:s,line:i.startLine,col:i.startCol})},_namespace:function(e){var t=this._tokenStream,n,r,i,s;t.mustMatch(Tokens.NAMESPACE_SYM),n=t.token().startLine,r=t.token().startCol,this._readWhitespace(),t.match(Tokens.IDENT)&&(i=t.token().value,this._readWhitespace()),t.mustMatch([Tokens.STRING,Tokens.URI]),s=t.token().value.replace(/(?:url\()?["']([^"']+)["']\)?/,"$1"),this._readWhitespace(),t.mustMatch(Tokens.SEMICOLON),this._readWhitespace(),e!==!1&&this.fire({type:"namespace",prefix:i,uri:s,line:n,col:r})},_media:function(){var e=this._tokenStream,t,n,r;e.mustMatch(Tokens.MEDIA_SYM),t=e.token().startLine,n=e.token().startCol,this._readWhitespace(),r=this._media_query_list(),e.mustMatch(Tokens.LBRACE),this._readWhitespace(),this.fire({type:"startmedia",media:r,line:t,col:n});for(;;)if(e.peek()==Tokens.PAGE_SYM)this._page();else if(!this._ruleset())break;e.mustMatch(Tokens.RBRACE),this._readWhitespace(),this.fire({type:"endmedia",media:r,line:t,col:n})},_media_query_list:function(){var e=this._tokenStream,t=[];this._readWhitespace(),(e.peek()==Tokens.IDENT||e.peek()==Tokens.LPAREN)&&t.push(this._media_query());while(e.match(Tokens.COMMA))this._readWhitespace(),t.push(this._media_query());return t},_media_query:function(){var e=this._tokenStream,t=null,n=null,r=null,i=[];e.match(Tokens.IDENT)&&(n=e.token().value.toLowerCase(),n!="only"&&n!="not"?(e.unget(),n=null):r=e.token()),this._readWhitespace(),e.peek()==Tokens.IDENT?(t=this._media_type(),r===null&&(r=e.token())):e.peek()==Tokens.LPAREN&&(r===null&&(r=e.LT(1)),i.push(this._media_expression()));if(t===null&&i.length===0)return null;this._readWhitespace();while(e.match(Tokens.IDENT))e.token().value.toLowerCase()!="and"&&this._unexpectedToken(e.token()),this._readWhitespace(),i.push(this._media_expression());return new MediaQuery(n,t,i,r.startLine,r.startCol)},_media_type:function(){return this._media_feature()},_media_expression:function(){var e=this._tokenStream,t=null,n,r=null;return e.mustMatch(Tokens.LPAREN),t=this._media_feature(),this._readWhitespace(),e.match(Tokens.COLON)&&(this._readWhitespace(),n=e.LT(1),r=this._expression()),e.mustMatch(Tokens.RPAREN),this._readWhitespace(),new MediaFeature(t,r?new SyntaxUnit(r,n.startLine,n.startCol):null)},_media_feature:function(){var e=this._tokenStream;return e.mustMatch(Tokens.IDENT),SyntaxUnit.fromToken(e.token())},_page:function(){var e=this._tokenStream,t,n,r=null,i=null;e.mustMatch(Tokens.PAGE_SYM),t=e.token().startLine,n=e.token().startCol,this._readWhitespace(),e.match(Tokens.IDENT)&&(r=e.token().value,r.toLowerCase()==="auto"&&this._unexpectedToken(e.token())),e.peek()==Tokens.COLON&&(i=this._pseudo_page()),this._readWhitespace(),this.fire({type:"startpage",id:r,pseudo:i,line:t,col:n}),this._readDeclarations(!0,!0),this.fire({type:"endpage",id:r,pseudo:i,line:t,col:n})},_margin:function(){var e=this._tokenStream,t,n,r=this._margin_sym();return r?(t=e.token().startLine,n=e.token().startCol,this.fire({type:"startpagemargin",margin:r,line:t,col:n}),this._readDeclarations(!0),this.fire({type:"endpagemargin",margin:r,line:t,col:n}),!0):!1},_margin_sym:function(){var e=this._tokenStream;return e.match([Tokens.TOPLEFTCORNER_SYM,Tokens.TOPLEFT_SYM,Tokens.TOPCENTER_SYM,Tokens.TOPRIGHT_SYM,Tokens.TOPRIGHTCORNER_SYM,Tokens.BOTTOMLEFTCORNER_SYM,Tokens.BOTTOMLEFT_SYM,Tokens.BOTTOMCENTER_SYM,Tokens.BOTTOMRIGHT_SYM,Tokens.BOTTOMRIGHTCORNER_SYM,Tokens.LEFTTOP_SYM,Tokens.LEFTMIDDLE_SYM,Tokens.LEFTBOTTOM_SYM,Tokens.RIGHTTOP_SYM,Tokens.RIGHTMIDDLE_SYM,Tokens.RIGHTBOTTOM_SYM])?SyntaxUnit.fromToken(e.token()):null},_pseudo_page:function(){var e=this._tokenStream;return e.mustMatch(Tokens.COLON),e.mustMatch(Tokens.IDENT),e.token().value},_font_face:function(){var e=this._tokenStream,t,n;e.mustMatch(Tokens.FONT_FACE_SYM),t=e.token().startLine,n=e.token().startCol,this._readWhitespace(),this.fire({type:"startfontface",line:t,col:n}),this._readDeclarations(!0),this.fire({type:"endfontface",line:t,col:n})},_operator:function(){var e=this._tokenStream,t=null;return e.match([Tokens.SLASH,Tokens.COMMA])&&(t=e.token(),this._readWhitespace()),t?PropertyValuePart.fromToken(t):null},_combinator:function(){var e=this._tokenStream,t=null,n;return e.match([Tokens.PLUS,Tokens.GREATER,Tokens.TILDE])&&(n=e.token(),t=new Combinator(n.value,n.startLine,n.startCol),this._readWhitespace()),t},_unary_operator:function(){var e=this._tokenStream;return e.match([Tokens.MINUS,Tokens.PLUS])?e.token().value:null},_property:function(){var e=this._tokenStream,t=null,n=null,r,i,s,o;return e.peek()==Tokens.STAR&&this.options.starHack&&(e.get(),i=e.token(),n=i.value,s=i.startLine,o=i.startCol),e.match(Tokens.IDENT)&&(i=e.token(),r=i.value,r.charAt(0)=="_"&&this.options.underscoreHack&&(n="_",r=r.substring(1)),t=new PropertyName(r,n,s||i.startLine,o||i.startCol),this._readWhitespace()),t},_ruleset:function(){var e=this._tokenStream,t,n;try{n=this._selectors_group()}catch(r){if(r instanceof SyntaxError&&!this.options.strict){this.fire({type:"error",error:r,message:r.message,line:r.line,col:r.col}),t=e.advance([Tokens.RBRACE]);if(t!=Tokens.RBRACE)throw r;return!0}throw r}return n&&(this.fire({type:"startrule",selectors:n,line:n[0].line,col:n[0].col}),this._readDeclarations(!0),this.fire({type:"endrule",selectors:n,line:n[0].line,col:n[0].col})),n},_selectors_group:function(){var e=this._tokenStream,t=[],n;n=this._selector();if(n!==null){t.push(n);while(e.match(Tokens.COMMA))this._readWhitespace(),n=this._selector(),n!==null?t.push(n):this._unexpectedToken(e.LT(1))}return t.length?t:null},_selector:function(){var e=this._tokenStream,t=[],n=null,r=null,i=null;n=this._simple_selector_sequence();if(n===null)return null;t.push(n);do{r=this._combinator();if(r!==null)t.push(r),n=this._simple_selector_sequence(),n===null?this._unexpectedToken(e.LT(1)):t.push(n);else{if(!this._readWhitespace())break;i=new Combinator(e.token().value,e.token().startLine,e.token().startCol),r=this._combinator(),n=this._simple_selector_sequence(),n===null?r!==null&&this._unexpectedToken(e.LT(1)):(r!==null?t.push(r):t.push(i),t.push(n))}}while(!0);return new Selector(t,t[0].line,t[0].col)},_simple_selector_sequence:function(){var e=this._tokenStream,t=null,n=[],r="",i=[function(){return e.match(Tokens.HASH)?new SelectorSubPart(e.token().value,"id",e.token().startLine,e.token().startCol):null},this._class,this._attrib,this._pseudo,this._negation],s=0,o=i.length,u=null,a=!1,f,l;f=e.LT(1).startLine,l=e.LT(1).startCol,t=this._type_selector(),t||(t=this._universal()),t!==null&&(r+=t);for(;;){if(e.peek()===Tokens.S)break;while(s<o&&u===null)u=i[s++].call(this);if(u===null){if(r==="")return null;break}s=0,n.push(u),r+=u.toString(),u=null}return r!==""?new SelectorPart(t,n,r,f,l):null},_type_selector:function(){var e=this._tokenStream,t=this._namespace_prefix(),n=this._element_name();return n?(t&&(n.text=t+n.text,n.col-=t.length),n):(t&&(e.unget(),t.length>1&&e.unget()),null)},_class:function(){var e=this._tokenStream,t;return e.match(Tokens.DOT)?(e.mustMatch(Tokens.IDENT),t=e.token(),new SelectorSubPart("."+t.value,"class",t.startLine,t.startCol-1)):null},_element_name:function(){var e=this._tokenStream,t;return e.match(Tokens.IDENT)?(t=e.token(),new SelectorSubPart(t.value,"elementName",t.startLine,t.startCol)):null},_namespace_prefix:function(){var e=this._tokenStream,t="";if(e.LA(1)===Tokens.PIPE||e.LA(2)===Tokens.PIPE)e.match([Tokens.IDENT,Tokens.STAR])&&(t+=e.token().value),e.mustMatch(Tokens.PIPE),t+="|";return t.length?t:null},_universal:function(){var e=this._tokenStream,t="",n;return n=this._namespace_prefix(),n&&(t+=n),e.match(Tokens.STAR)&&(t+="*"),t.length?t:null},_attrib:function(){var e=this._tokenStream,t=null,n,r;return e.match(Tokens.LBRACKET)?(r=e.token(),t=r.value,t+=this._readWhitespace(),n=this._namespace_prefix(),n&&(t+=n),e.mustMatch(Tokens.IDENT),t+=e.token().value,t+=this._readWhitespace(),e.match([Tokens.PREFIXMATCH,Tokens.SUFFIXMATCH,Tokens.SUBSTRINGMATCH,Tokens.EQUALS,Tokens.INCLUDES,Tokens.DASHMATCH])&&(t+=e.token().value,t+=this._readWhitespace(),e.mustMatch([Tokens.IDENT,Tokens.STRING]),t+=e.token().value,t+=this._readWhitespace()),e.mustMatch(Tokens.RBRACKET),new SelectorSubPart(t+"]","attribute",r.startLine,r.startCol)):null},_pseudo:function(){var e=this._tokenStream,t=null,n=":",r,i;return e.match(Tokens.COLON)&&(e.match(Tokens.COLON)&&(n+=":"),e.match(Tokens.IDENT)?(t=e.token().value,r=e.token().startLine,i=e.token().startCol-n.length):e.peek()==Tokens.FUNCTION&&(r=e.LT(1).startLine,i=e.LT(1).startCol-n.length,t=this._functional_pseudo()),t&&(t=new SelectorSubPart(n+t,"pseudo",r,i))),t},_functional_pseudo:function(){var e=this._tokenStream,t=null;return e.match(Tokens.FUNCTION)&&(t=e.token().value,t+=this._readWhitespace(),t+=this._expression(),e.mustMatch(Tokens.RPAREN),t+=")"),t},_expression:function(){var e=this._tokenStream,t="";while(e.match([Tokens.PLUS,Tokens.MINUS,Tokens.DIMENSION,Tokens.NUMBER,Tokens.STRING,Tokens.IDENT,Tokens.LENGTH,Tokens.FREQ,Tokens.ANGLE,Tokens.TIME,Tokens.RESOLUTION]))t+=e.token().value,t+=this._readWhitespace();return t.length?t:null},_negation:function(){var e=this._tokenStream,t,n,r="",i,s=null;return e.match(Tokens.NOT)&&(r=e.token().value,t=e.token().startLine,n=e.token().startCol,r+=this._readWhitespace(),i=this._negation_arg(),r+=i,r+=this._readWhitespace(),e.match(Tokens.RPAREN),r+=e.token().value,s=new SelectorSubPart(r,"not",t,n),s.args.push(i)),s},_negation_arg:function(){var e=this._tokenStream,t=[this._type_selector,this._universal,function(){return e.match(Tokens.HASH)?new SelectorSubPart(e.token().value,"id",e.token().startLine,e.token().startCol):null},this._class,this._attrib,this._pseudo],n=null,r=0,i=t.length,s,o,u,a;o=e.LT(1).startLine,u=e.LT(1).startCol;while(r<i&&n===null)n=t[r].call(this),r++;return n===null&&this._unexpectedToken(e.LT(1)),n.type=="elementName"?a=new SelectorPart(n,[],n.toString(),o,u):a=new SelectorPart(null,[n],n.toString(),o,u),a},_declaration:function(){var e=this._tokenStream,t=null,n=null,r=null,i=null,s=null,o="";t=this._property();if(t!==null){e.mustMatch(Tokens.COLON),this._readWhitespace(),n=this._expr(),(!n||n.length===0)&&this._unexpectedToken(e.LT(1)),r=this._prio(),o=t.toString();if(this.options.starHack&&t.hack=="*"||this.options.underscoreHack&&t.hack=="_")o=t.text;try{this._validateProperty(o,n)}catch(u){s=u}return this.fire({type:"property",property:t,value:n,important:r,line:t.line,col:t.col,invalid:s}),!0}return!1},_prio:function(){var e=this._tokenStream,t=e.match(Tokens.IMPORTANT_SYM);return this._readWhitespace(),t},_expr:function(){var e=this._tokenStream,t=[],n=null,r=null;n=this._term();if(n!==null){t.push(n);do{r=this._operator(),r&&t.push(r),n=this._term();if(n===null)break;t.push(n)}while(!0)}return t.length>0?new PropertyValue(t,t[0].line,t[0].col):null},_term:function(){var e=this._tokenStream,t=null,n=null,r,i,s;return t=this._unary_operator(),t!==null&&(i=e.token().startLine,s=e.token().startCol),e.peek()==Tokens.IE_FUNCTION&&this.options.ieFilters?(n=this._ie_function(),t===null&&(i=e.token().startLine,s=e.token().startCol)):e.match([Tokens.NUMBER,Tokens.PERCENTAGE,Tokens.LENGTH,Tokens.ANGLE,Tokens.TIME,Tokens.FREQ,Tokens.STRING,Tokens.IDENT,Tokens.URI,Tokens.UNICODE_RANGE])?(n=e.token().value,t===null&&(i=e.token().startLine,s=e.token().startCol),this._readWhitespace()):(r=this._hexcolor(),r===null?(t===null&&(i=e.LT(1).startLine,s=e.LT(1).startCol),n===null&&(e.LA(3)==Tokens.EQUALS&&this.options.ieFilters?n=this._ie_function():n=this._function())):(n=r.value,t===null&&(i=r.startLine,s=r.startCol))),n!==null?new PropertyValuePart(t!==null?t+n:n,i,s):null},_function:function(){var e=this._tokenStream,t=null,n=null,r;if(e.match(Tokens.FUNCTION)){t=e.token().value,this._readWhitespace(),n=this._expr(),t+=n;if(this.options.ieFilters&&e.peek()==Tokens.EQUALS)do{this._readWhitespace()&&(t+=e.token().value),e.LA(0)==Tokens.COMMA&&(t+=e.token().value),e.match(Tokens.IDENT),t+=e.token().value,e.match(Tokens.EQUALS),t+=e.token().value,r=e.peek();while(r!=Tokens.COMMA&&r!=Tokens.S&&r!=Tokens.RPAREN)e.get(),t+=e.token().value,r=e.peek()}while(e.match([Tokens.COMMA,Tokens.S]));e.match(Tokens.RPAREN),t+=")",this._readWhitespace()}return t},_ie_function:function(){var e=this._tokenStream,t=null,n=null,r;if(e.match([Tokens.IE_FUNCTION,Tokens.FUNCTION])){t=e.token().value;do{this._readWhitespace()&&(t+=e.token().value),e.LA(0)==Tokens.COMMA&&(t+=e.token().value),e.match(Tokens.IDENT),t+=e.token().value,e.match(Tokens.EQUALS),t+=e.token().value,r=e.peek();while(r!=Tokens.COMMA&&r!=Tokens.S&&r!=Tokens.RPAREN)e.get(),t+=e.token().value,r=e.peek()}while(e.match([Tokens.COMMA,Tokens.S]));e.match(Tokens.RPAREN),t+=")",this._readWhitespace()}return t},_hexcolor:function(){var e=this._tokenStream,t=null,n;if(e.match(Tokens.HASH)){t=e.token(),n=t.value;if(!/#[a-f0-9]{3,6}/i.test(n))throw new SyntaxError("Expected a hex color but found '"+n+"' at line "+t.startLine+", col "+t.startCol+".",t.startLine,t.startCol);this._readWhitespace()}return t},_keyframes:function(){var e=this._tokenStream,t,n,r,i="";e.mustMatch(Tokens.KEYFRAMES_SYM),t=e.token(),/^@\-([^\-]+)\-/.test(t.value)&&(i=RegExp.$1),this._readWhitespace(),r=this._keyframe_name(),this._readWhitespace(),e.mustMatch(Tokens.LBRACE),this.fire({type:"startkeyframes",name:r,prefix:i,line:t.startLine,col:t.startCol}),this._readWhitespace(),n=e.peek();while(n==Tokens.IDENT||n==Tokens.PERCENTAGE)this._keyframe_rule(),this._readWhitespace(),n=e.peek();this.fire({type:"endkeyframes",name:r,prefix:i,line:t.startLine,col:t.startCol}),this._readWhitespace(),e.mustMatch(Tokens.RBRACE)},_keyframe_name:function(){var e=this._tokenStream,t;return e.mustMatch([Tokens.IDENT,Tokens.STRING]),SyntaxUnit.fromToken(e.token())},_keyframe_rule:function(){var e=this._tokenStream,t,n=this._key_list();this.fire({type:"startkeyframerule",keys:n,line:n[0].line,col:n[0].col}),this._readDeclarations(!0),this.fire({type:"endkeyframerule",keys:n,line:n[0].line,col:n[0].col})},_key_list:function(){var e=this._tokenStream,t,n,r=[];r.push(this._key()),this._readWhitespace();while(e.match(Tokens.COMMA))this._readWhitespace(),r.push(this._key()),this._readWhitespace();return r},_key:function(){var e=this._tokenStream,t;if(e.match(Tokens.PERCENTAGE))return SyntaxUnit.fromToken(e.token());if(e.match(Tokens.IDENT)){t=e.token();if(/from|to/i.test(t.value))return SyntaxUnit.fromToken(t);e.unget()}this._unexpectedToken(e.LT(1))},_skipCruft:function(){while(this._tokenStream.match([Tokens.S,Tokens.CDO,Tokens.CDC]));},_readDeclarations:function(e,t){var n=this._tokenStream,r;this._readWhitespace(),e&&n.mustMatch(Tokens.LBRACE),this._readWhitespace();try{for(;;){if(!(n.match(Tokens.SEMICOLON)||t&&this._margin())){if(!this._declaration())break;if(!n.match(Tokens.SEMICOLON))break}this._readWhitespace()}n.mustMatch(Tokens.RBRACE),this._readWhitespace()}catch(i){if(!(i instanceof SyntaxError&&!this.options.strict))throw i;this.fire({type:"error",error:i,message:i.message,line:i.line,col:i.col}),r=n.advance([Tokens.SEMICOLON,Tokens.RBRACE]);if(r==Tokens.SEMICOLON)this._readDeclarations(!1,t);else if(r!=Tokens.RBRACE)throw i}},_readWhitespace:function(){var e=this._tokenStream,t="";while(e.match(Tokens.S))t+=e.token().value;return t},_unexpectedToken:function(e){throw new SyntaxError("Unexpected token '"+e.value+"' at line "+e.startLine+", col "+e.startCol+".",e.startLine,e.startCol)},_verifyEnd:function(){this._tokenStream.LA(1)!=Tokens.EOF&&this._unexpectedToken(this._tokenStream.LT(1))},_validateProperty:function(e,t){Validation.validate(e,t)},parse:function(e){this._tokenStream=new TokenStream(e,Tokens),this._stylesheet()},parseStyleSheet:function(e){return this.parse(e)},parseMediaQuery:function(e){this._tokenStream=new TokenStream(e,Tokens);var t=this._media_query();return this._verifyEnd(),t},parsePropertyValue:function(e){this._tokenStream=new TokenStream(e,Tokens),this._readWhitespace();var t=this._expr();return this._readWhitespace(),this._verifyEnd(),t},parseRule:function(e){this._tokenStream=new TokenStream(e,Tokens),this._readWhitespace();var t=this._ruleset();return this._readWhitespace(),this._verifyEnd(),t},parseSelector:function(e){this._tokenStream=new TokenStream(e,Tokens),this._readWhitespace();var t=this._selector();return this._readWhitespace(),this._verifyEnd(),t},parseStyleAttribute:function(e){e+="}",this._tokenStream=new TokenStream(e,Tokens),this._readDeclarations()}};for(t in n)n.hasOwnProperty(t)&&(e[t]=n[t]);return e}();var Properties={"alignment-adjust":"auto | baseline | before-edge | text-before-edge | middle | central | after-edge | text-after-edge | ideographic | alphabetic | hanging | mathematical | <percentage> | <length>","alignment-baseline":"baseline | use-script | before-edge | text-before-edge | after-edge | text-after-edge | central | middle | ideographic | alphabetic | hanging | mathematical",animation:1,"animation-delay":{multi:"<time>",comma:!0},"animation-direction":{multi:"normal | alternate",comma:!0},"animation-duration":{multi:"<time>",comma:!0},"animation-iteration-count":{multi:"<number> | infinite",comma:!0},"animation-name":{multi:"none | <ident>",comma:!0},"animation-play-state":{multi:"running | paused",comma:!0},"animation-timing-function":1,"-moz-animation-delay":{multi:"<time>",comma:!0},"-moz-animation-direction":{multi:"normal | alternate",comma:!0},"-moz-animation-duration":{multi:"<time>",comma:!0},"-moz-animation-iteration-count":{multi:"<number> | infinite",comma:!0},"-moz-animation-name":{multi:"none | <ident>",comma:!0},"-moz-animation-play-state":{multi:"running | paused",comma:!0},"-ms-animation-delay":{multi:"<time>",comma:!0},"-ms-animation-direction":{multi:"normal | alternate",comma:!0},"-ms-animation-duration":{multi:"<time>",comma:!0},"-ms-animation-iteration-count":{multi:"<number> | infinite",comma:!0},"-ms-animation-name":{multi:"none | <ident>",comma:!0},"-ms-animation-play-state":{multi:"running | paused",comma:!0},"-webkit-animation-delay":{multi:"<time>",comma:!0},"-webkit-animation-direction":{multi:"normal | alternate",comma:!0},"-webkit-animation-duration":{multi:"<time>",comma:!0},"-webkit-animation-iteration-count":{multi:"<number> | infinite",comma:!0},"-webkit-animation-name":{multi:"none | <ident>",comma:!0},"-webkit-animation-play-state":{multi:"running | paused",comma:!0},"-o-animation-delay":{multi:"<time>",comma:!0},"-o-animation-direction":{multi:"normal | alternate",comma:!0},"-o-animation-duration":{multi:"<time>",comma:!0},"-o-animation-iteration-count":{multi:"<number> | infinite",comma:!0},"-o-animation-name":{multi:"none | <ident>",comma:!0},"-o-animation-play-state":{multi:"running | paused",comma:!0},appearance:"icon | window | desktop | workspace | document | tooltip | dialog | button | push-button | hyperlink | radio-button | checkbox | menu-item | tab | menu | menubar | pull-down-menu | pop-up-menu | list-menu | radio-group | checkbox-group | outline-tree | range | field | combo-box | signature | password | normal | inherit",azimuth:function(e){var t="<angle> | leftwards | rightwards | inherit",n="left-side | far-left | left | center-left | center | center-right | right | far-right | right-side",r=!1,i=!1,s;ValidationTypes.isAny(e,t)||(ValidationTypes.isAny(e,"behind")&&(r=!0,i=!0),ValidationTypes.isAny(e,n)&&(i=!0,r||ValidationTypes.isAny(e,"behind")));if(e.hasNext())throw s=e.next(),i?new ValidationError("Expected end of value but found '"+s+"'.",s.line,s.col):new ValidationError("Expected (<'azimuth'>) but found '"+s+"'.",s.line,s.col)},"backface-visibility":"visible | hidden",background:1,"background-attachment":{multi:"<attachment>",comma:!0},"background-clip":{multi:"<box>",comma:!0},"background-color":"<color> | inherit","background-image":{multi:"<bg-image>",comma:!0},"background-origin":{multi:"<box>",comma:!0},"background-position":{multi:"<bg-position>",comma:!0},"background-repeat":{multi:"<repeat-style>"},"background-size":{multi:"<bg-size>",comma:!0},"baseline-shift":"baseline | sub | super | <percentage> | <length>",behavior:1,binding:1,bleed:"<length>","bookmark-label":"<content> | <attr> | <string>","bookmark-level":"none | <integer>","bookmark-state":"open | closed","bookmark-target":"none | <uri> | <attr>",border:"<border-width> || <border-style> || <color>","border-bottom":"<border-width> || <border-style> || <color>","border-bottom-color":"<color>","border-bottom-left-radius":"<x-one-radius>","border-bottom-right-radius":"<x-one-radius>","border-bottom-style":"<border-style>","border-bottom-width":"<border-width>","border-collapse":"collapse | separate | inherit","border-color":{multi:"<color> | inherit",max:4},"border-image":1,"border-image-outset":{multi:"<length> | <number>",max:4},"border-image-repeat":{multi:"stretch | repeat | round",max:2},"border-image-slice":function(e){var t=!1,n="<number> | <percentage>",r=!1,i=0,s=4,o;ValidationTypes.isAny(e,"fill")&&(r=!0,t=!0);while(e.hasNext()&&i<s){t=ValidationTypes.isAny(e,n);if(!t)break;i++}r?t=!0:ValidationTypes.isAny(e,"fill");if(e.hasNext())throw o=e.next(),t?new ValidationError("Expected end of value but found '"+o+"'.",o.line,o.col):new ValidationError("Expected ([<number> | <percentage>]{1,4} && fill?) but found '"+o+"'.",o.line,o.col)},"border-image-source":"<image> | none","border-image-width":{multi:"<length> | <percentage> | <number> | auto",max:4},"border-left":"<border-width> || <border-style> || <color>","border-left-color":"<color> | inherit","border-left-style":"<border-style>","border-left-width":"<border-width>","border-radius":function(e){var t=!1,n="<length> | <percentage>",r=!1,i=!1,s=0,o=8,u;while(e.hasNext()&&s<o){t=ValidationTypes.isAny(e,n);if(!t){if(!(e.peek()=="/"&&s>1&&!r))break;r=!0,o=s+5,e.next()}s++}if(e.hasNext())throw u=e.next(),t?new ValidationError("Expected end of value but found '"+u+"'.",u.line,u.col):new ValidationError("Expected (<'border-radius'>) but found '"+u+"'.",u.line,u.col)},"border-right":"<border-width> || <border-style> || <color>","border-right-color":"<color> | inherit","border-right-style":"<border-style>","border-right-width":"<border-width>","border-spacing":{multi:"<length> | inherit",max:2},"border-style":{multi:"<border-style>",max:4},"border-top":"<border-width> || <border-style> || <color>","border-top-color":"<color> | inherit","border-top-left-radius":"<x-one-radius>","border-top-right-radius":"<x-one-radius>","border-top-style":"<border-style>","border-top-width":"<border-width>","border-width":{multi:"<border-width>",max:4},bottom:"<margin-width> | inherit","box-align":"start | end | center | baseline | stretch","box-decoration-break":"slice |clone","box-direction":"normal | reverse | inherit","box-flex":"<number>","box-flex-group":"<integer>","box-lines":"single | multiple","box-ordinal-group":"<integer>","box-orient":"horizontal | vertical | inline-axis | block-axis | inherit","box-pack":"start | end | center | justify","box-shadow":function(e){var t=!1,n;if(!ValidationTypes.isAny(e,"none"))Validation.multiProperty("<shadow>",e,!0,Infinity);else if(e.hasNext())throw n=e.next(),new ValidationError("Expected end of value but found '"+n+"'.",n.line,n.col)},"box-sizing":"content-box | border-box | inherit","break-after":"auto | always | avoid | left | right | page | column | avoid-page | avoid-column","break-before":"auto | always | avoid | left | right | page | column | avoid-page | avoid-column","break-inside":"auto | avoid | avoid-page | avoid-column","caption-side":"top | bottom | inherit",clear:"none | right | left | both | inherit",clip:1,color:"<color> | inherit","color-profile":1,"column-count":"<integer> | auto","column-fill":"auto | balance","column-gap":"<length> | normal","column-rule":"<border-width> || <border-style> || <color>","column-rule-color":"<color>","column-rule-style":"<border-style>","column-rule-width":"<border-width>","column-span":"none | all","column-width":"<length> | auto",columns:1,content:1,"counter-increment":1,"counter-reset":1,crop:"<shape> | auto",cue:"cue-after | cue-before | inherit","cue-after":1,"cue-before":1,cursor:1,direction:"ltr | rtl | inherit",display:"inline | block | list-item | inline-block | table | inline-table | table-row-group | table-header-group | table-footer-group | table-row | table-column-group | table-column | table-cell | table-caption | box | inline-box | grid | inline-grid | none | inherit","dominant-baseline":1,"drop-initial-after-adjust":"central | middle | after-edge | text-after-edge | ideographic | alphabetic | mathematical | <percentage> | <length>","drop-initial-after-align":"baseline | use-script | before-edge | text-before-edge | after-edge | text-after-edge | central | middle | ideographic | alphabetic | hanging | mathematical","drop-initial-before-adjust":"before-edge | text-before-edge | central | middle | hanging | mathematical | <percentage> | <length>","drop-initial-before-align":"caps-height | baseline | use-script | before-edge | text-before-edge | after-edge | text-after-edge | central | middle | ideographic | alphabetic | hanging | mathematical","drop-initial-size":"auto | line | <length> | <percentage>","drop-initial-value":"initial | <integer>",elevation:"<angle> | below | level | above | higher | lower | inherit","empty-cells":"show | hide | inherit",filter:1,fit:"fill | hidden | meet | slice","fit-position":1,"float":"left | right | none | inherit","float-offset":1,font:1,"font-family":1,"font-size":"<absolute-size> | <relative-size> | <length> | <percentage> | inherit","font-size-adjust":"<number> | none | inherit","font-stretch":"normal | ultra-condensed | extra-condensed | condensed | semi-condensed | semi-expanded | expanded | extra-expanded | ultra-expanded | inherit","font-style":"normal | italic | oblique | inherit","font-variant":"normal | small-caps | inherit","font-weight":"normal | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | inherit","grid-cell-stacking":"columns | rows | layer","grid-column":1,"grid-columns":1,"grid-column-align":"start | end | center | stretch","grid-column-sizing":1,"grid-column-span":"<integer>","grid-flow":"none | rows | columns","grid-layer":"<integer>","grid-row":1,"grid-rows":1,"grid-row-align":"start | end | center | stretch","grid-row-span":"<integer>","grid-row-sizing":1,"hanging-punctuation":1,height:"<margin-width> | inherit","hyphenate-after":"<integer> | auto","hyphenate-before":"<integer> | auto","hyphenate-character":"<string> | auto","hyphenate-lines":"no-limit | <integer>","hyphenate-resource":1,hyphens:"none | manual | auto",icon:1,"image-orientation":"angle | auto","image-rendering":1,"image-resolution":1,"inline-box-align":"initial | last | <integer>",left:"<margin-width> | inherit","letter-spacing":"<length> | normal | inherit","line-height":"<number> | <length> | <percentage> | normal | inherit","line-break":"auto | loose | normal | strict","line-stacking":1,"line-stacking-ruby":"exclude-ruby | include-ruby","line-stacking-shift":"consider-shifts | disregard-shifts","line-stacking-strategy":"inline-line-height | block-line-height | max-height | grid-height","list-style":1,"list-style-image":"<uri> | none | inherit","list-style-position":"inside | outside | inherit","list-style-type":"disc | circle | square | decimal | decimal-leading-zero | lower-roman | upper-roman | lower-greek | lower-latin | upper-latin | armenian | georgian | lower-alpha | upper-alpha | none | inherit",margin:{multi:"<margin-width> | inherit",max:4},"margin-bottom":"<margin-width> | inherit","margin-left":"<margin-width> | inherit","margin-right":"<margin-width> | inherit","margin-top":"<margin-width> | inherit",mark:1,"mark-after":1,"mark-before":1,marks:1,"marquee-direction":1,"marquee-play-count":1,"marquee-speed":1,"marquee-style":1,"max-height":"<length> | <percentage> | none | inherit","max-width":"<length> | <percentage> | none | inherit","min-height":"<length> | <percentage> | inherit","min-width":"<length> | <percentage> | inherit","move-to":1,"nav-down":1,"nav-index":1,"nav-left":1,"nav-right":1,"nav-up":1,opacity:"<number> | inherit",orphans:"<integer> | inherit",outline:1,"outline-color":"<color> | invert | inherit","outline-offset":1,"outline-style":"<border-style> | inherit","outline-width":"<border-width> | inherit",overflow:"visible | hidden | scroll | auto | inherit","overflow-style":1,"overflow-x":1,"overflow-y":1,padding:{multi:"<padding-width> | inherit",max:4},"padding-bottom":"<padding-width> | inherit","padding-left":"<padding-width> | inherit","padding-right":"<padding-width> | inherit","padding-top":"<padding-width> | inherit",page:1,"page-break-after":"auto | always | avoid | left | right | inherit","page-break-before":"auto | always | avoid | left | right | inherit","page-break-inside":"auto | avoid | inherit","page-policy":1,pause:1,"pause-after":1,"pause-before":1,perspective:1,"perspective-origin":1,phonemes:1,pitch:1,"pitch-range":1,"play-during":1,"pointer-events":"auto | none | visiblePainted | visibleFill | visibleStroke | visible | painted | fill | stroke | all | inherit",position:"static | relative | absolute | fixed | inherit","presentation-level":1,"punctuation-trim":1,quotes:1,"rendering-intent":1,resize:1,rest:1,"rest-after":1,"rest-before":1,richness:1,right:"<margin-width> | inherit",rotation:1,"rotation-point":1,"ruby-align":1,"ruby-overhang":1,"ruby-position":1,"ruby-span":1,size:1,speak:"normal | none | spell-out | inherit","speak-header":"once | always | inherit","speak-numeral":"digits | continuous | inherit","speak-punctuation":"code | none | inherit","speech-rate":1,src:1,stress:1,"string-set":1,"table-layout":"auto | fixed | inherit","tab-size":"<integer> | <length>",target:1,"target-name":1,"target-new":1,"target-position":1,"text-align":"left | right | center | justify | inherit","text-align-last":1,"text-decoration":1,"text-emphasis":1,"text-height":1,"text-indent":"<length> | <percentage> | inherit","text-justify":"auto | none | inter-word | inter-ideograph | inter-cluster | distribute | kashida","text-outline":1,"text-overflow":1,"text-rendering":"auto | optimizeSpeed | optimizeLegibility | geometricPrecision | inherit","text-shadow":1,"text-transform":"capitalize | uppercase | lowercase | none | inherit","text-wrap":"normal | none | avoid",top:"<margin-width> | inherit",transform:1,"transform-origin":1,"transform-style":1,transition:1,"transition-delay":1,"transition-duration":1,"transition-property":1,"transition-timing-function":1,"unicode-bidi":"normal | embed | bidi-override | inherit","user-modify":"read-only | read-write | write-only | inherit","user-select":"none | text | toggle | element | elements | all | inherit","vertical-align":"<percentage> | <length> | baseline | sub | super | top | text-top | middle | bottom | text-bottom | inherit",visibility:"visible | hidden | collapse | inherit","voice-balance":1,"voice-duration":1,"voice-family":1,"voice-pitch":1,"voice-pitch-range":1,"voice-rate":1,"voice-stress":1,"voice-volume":1,volume:1,"white-space":"normal | pre | nowrap | pre-wrap | pre-line | inherit","white-space-collapse":1,widows:"<integer> | inherit",width:"<length> | <percentage> | auto | inherit","word-break":"normal | keep-all | break-all","word-spacing":"<length> | normal | inherit","word-wrap":1,"z-index":"<integer> | auto | inherit",zoom:"<number> | <percentage> | normal"};PropertyName.prototype=new SyntaxUnit,PropertyName.prototype.constructor=PropertyName,PropertyName.prototype.toString=function(){return(this.hack?this.hack:"")+this.text},PropertyValue.prototype=new SyntaxUnit,PropertyValue.prototype.constructor=PropertyValue,PropertyValueIterator.prototype.count=function(){return this._parts.length},PropertyValueIterator.prototype.isFirst=function(){return this._i===0},PropertyValueIterator.prototype.hasNext=function(){return this._i<this._parts.length},PropertyValueIterator.prototype.mark=function(){this._marks.push(this._i)},PropertyValueIterator.prototype.peek=function(e){return this.hasNext()?this._parts[this._i+(e||0)]:null},PropertyValueIterator.prototype.next=function(){return this.hasNext()?this._parts[this._i++]:null},PropertyValueIterator.prototype.previous=function(){return this._i>0?this._parts[--this._i]:null},PropertyValueIterator.prototype.restore=function(){this._marks.length&&(this._i=this._marks.pop())},PropertyValuePart.prototype=new SyntaxUnit,PropertyValuePart.prototype.constructor=PropertyValuePart,PropertyValuePart.fromToken=function(e){return new PropertyValuePart(e.value,e.startLine,e.startCol)};var Pseudos={":first-letter":1,":first-line":1,":before":1,":after":1};Pseudos.ELEMENT=1,Pseudos.CLASS=2,Pseudos.isElement=function(e){return e.indexOf("::")===0||Pseudos[e.toLowerCase()]==Pseudos.ELEMENT},Selector.prototype=new SyntaxUnit,Selector.prototype.constructor=Selector,SelectorPart.prototype=new SyntaxUnit,SelectorPart.prototype.constructor=SelectorPart,SelectorSubPart.prototype=new SyntaxUnit,SelectorSubPart.prototype.constructor=SelectorSubPart,Specificity.prototype={constructor:Specificity,compare:function(e){var t=["a","b","c","d"],n,r;for(n=0,r=t.length;n<r;n++){if(this[t[n]]<e[t[n]])return-1;if(this[t[n]]>e[t[n]])return 1}return 0},valueOf:function(){return this.a*1e3+this.b*100+this.c*10+this.d},toString:function(){return this.a+","+this.b+","+this.c+","+this.d}},Specificity.calculate=function(e){function u(e){var t,n,r,a,f=e.elementName?e.elementName.text:"",l;f&&f.charAt(f.length-1)!="*"&&o++;for(t=0,r=e.modifiers.length;t<r;t++){l=e.modifiers[t];switch(l.type){case"class":case"attribute":s++;break;case"id":i++;break;case"pseudo":Pseudos.isElement(l.text)?o++:s++;break;case"not":for(n=0,a=l.args.length;n<a;n++)u(l.args[n])}}}var t,n,r,i=0,s=0,o=0;for(t=0,n=e.parts.length;t<n;t++)r=e.parts[t],r instanceof SelectorPart&&u(r);return new Specificity(0,i,s,o)};var h=/^[0-9a-fA-F]$/,nonascii=/^[\u0080-\uFFFF]$/,nl=/\n|\r\n|\r|\f/;TokenStream.prototype=mix(new TokenStreamBase,{_getToken:function(e){var t,n=this._reader,r=null,i=n.getLine(),s=n.getCol();t=n.read();while(t){switch(t){case"/":n.peek()=="*"?r=this.commentToken(t,i,s):r=this.charToken(t,i,s);break;case"|":case"~":case"^":case"$":case"*":n.peek()=="="?r=this.comparisonToken(t,i,s):r=this.charToken(t,i,s);break;case'"':case"'":r=this.stringToken(t,i,s);break;case"#":isNameChar(n.peek())?r=this.hashToken(t,i,s):r=this.charToken(t,i,s);break;case".":isDigit(n.peek())?r=this.numberToken(t,i,s):r=this.charToken(t,i,s);break;case"-":n.peek()=="-"?r=this.htmlCommentEndToken(t,i,s):isNameStart(n.peek())?r=this.identOrFunctionToken(t,i,s):r=this.charToken(t,i,s);break;case"!":r=this.importantToken(t,i,s);break;case"@":r=this.atRuleToken(t,i,s);break;case":":r=this.notToken(t,i,s);break;case"<":r=this.htmlCommentStartToken(t,i,s);break;case"U":case"u":if(n.peek()=="+"){r=this.unicodeRangeToken(t,i,s);break};default:isDigit(t)?r=this.numberToken(t,i,s):isWhitespace(t)?r=this.whitespaceToken(t,i,s):isIdentStart(t)?r=this.identOrFunctionToken(t,i,s):r=this.charToken(t,i,s)}break}return!r&&t===null&&(r=this.createToken(Tokens.EOF,null,i,s)),r},createToken:function(e,t,n,r,i){var s=this._reader;return i=i||{},{value:t,type:e,channel:i.channel,hide:i.hide||!1,startLine:n,startCol:r,endLine:s.getLine(),endCol:s.getCol()}},atRuleToken:function(e,t,n){var r=e,i=this._reader,s=Tokens.CHAR,o=!1,u,a;i.mark(),u=this.readName(),r=e+u,s=Tokens.type(r.toLowerCase());if(s==Tokens.CHAR||s==Tokens.UNKNOWN)r.length>1?s=Tokens.UNKNOWN_SYM:(s=Tokens.CHAR,r=e,i.reset());return this.createToken(s,r,t,n)},charToken:function(e,t,n){var r=Tokens.type(e);return r==-1&&(r=Tokens.CHAR),this.createToken(r,e,t,n)},commentToken:function(e,t,n){var r=this._reader,i=this.readComment(e);return this.createToken(Tokens.COMMENT,i,t,n)},comparisonToken:function(e,t,n){var r=this._reader,i=e+r.read(),s=Tokens.type(i)||Tokens.CHAR;return this.createToken(s,i,t,n)},hashToken:function(e,t,n){var r=this._reader,i=this.readName(e);return this.createToken(Tokens.HASH,i,t,n)},htmlCommentStartToken:function(e,t,n){var r=this._reader,i=e;return r.mark(),i+=r.readCount(3),i=="<!--"?this.createToken(Tokens.CDO,i,t,n):(r.reset(),this.charToken(e,t,n))},htmlCommentEndToken:function(e,t,n){var r=this._reader,i=e;return r.mark(),i+=r.readCount(2),i=="-->"?this.createToken(Tokens.CDC,i,t,n):(r.reset(),this.charToken(e,t,n))},identOrFunctionToken:function(e,t,n){var r=this._reader,i=this.readName(e),s=Tokens.IDENT;return r.peek()=="("?(i+=r.read(),i.toLowerCase()=="url("?(s=Tokens.URI,i=this.readURI(i),i.toLowerCase()=="url("&&(s=Tokens.FUNCTION)):s=Tokens.FUNCTION):r.peek()==":"&&i.toLowerCase()=="progid"&&(i+=r.readTo("("),s=Tokens.IE_FUNCTION),this.createToken(s,i,t,n)},importantToken:function(e,t,n){var r=this._reader,i=e,s=Tokens.CHAR,o,u;r.mark(),u=r.read();while(u){if(u=="/"){if(r.peek()!="*")break;o=this.readComment(u);if(o==="")break}else{if(!isWhitespace(u)){if(/i/i.test(u)){o=r.readCount(8),/mportant/i.test(o)&&(i+=u+o,s=Tokens.IMPORTANT_SYM);break}break}i+=u+this.readWhitespace()}u=r.read()}return s==Tokens.CHAR?(r.reset(),this.charToken(e,t,n)):this.createToken(s,i,t,n)},notToken:function(e,t,n){var r=this._reader,i=e;return r.mark(),i+=r.readCount(4),i.toLowerCase()==":not("?this.createToken(Tokens.NOT,i,t,n):(r.reset(),this.charToken(e,t,n))},numberToken:function(e,t,n){var r=this._reader,i=this.readNumber(e),s,o=Tokens.NUMBER,u=r.peek();return isIdentStart(u)?(s=this.readName(r.read()),i+=s,/^em$|^ex$|^px$|^gd$|^rem$|^vw$|^vh$|^vm$|^ch$|^cm$|^mm$|^in$|^pt$|^pc$/i.test(s)?o=Tokens.LENGTH:/^deg|^rad$|^grad$/i.test(s)?o=Tokens.ANGLE:/^ms$|^s$/i.test(s)?o=Tokens.TIME:/^hz$|^khz$/i.test(s)?o=Tokens.FREQ:/^dpi$|^dpcm$/i.test(s)?o=Tokens.RESOLUTION:o=Tokens.DIMENSION):u=="%"&&(i+=r.read(),o=Tokens.PERCENTAGE),this.createToken(o,i,t,n)},stringToken:function(e,t,n){var r=e,i=e,s=this._reader,o=e,u=Tokens.STRING,a=s.read();while(a){i+=a;if(a==r&&o!="\\")break;if(isNewLine(s.peek())&&a!="\\"){u=Tokens.INVALID;break}o=a,a=s.read()}return a===null&&(u=Tokens.INVALID),this.createToken(u,i,t,n)},unicodeRangeToken:function(e,t,n){var r=this._reader,i=e,s,o=Tokens.CHAR;return r.peek()=="+"&&(r.mark(),i+=r.read(),i+=this.readUnicodeRangePart(!0),i.length==2?r.reset():(o=Tokens.UNICODE_RANGE,i.indexOf("?")==-1&&r.peek()=="-"&&(r.mark(),s=r.read(),s+=this.readUnicodeRangePart(!1),s.length==1?r.reset():i+=s))),this.createToken(o,i,t,n)},whitespaceToken:function(e,t,n){var r=this._reader,i=e+this.readWhitespace();return this.createToken(Tokens.S,i,t,n)},readUnicodeRangePart:function(e){var t=this._reader,n="",r=t.peek();while(isHexDigit(r)&&n.length<6)t.read(),n+=r,r=t.peek();if(e)while(r=="?"&&n.length<6)t.read(),n+=r,r=t.peek();return n},readWhitespace:function(){var e=this._reader,t="",n=e.peek();while(isWhitespace(n))e.read(),t+=n,n=e.peek();return t},readNumber:function(e){var t=this._reader,n=e,r=e==".",i=t.peek();while(i){if(isDigit(i))n+=t.read();else{if(i!=".")break;if(r)break;r=!0,n+=t.read()}i=t.peek()}return n},readString:function(){var e=this._reader,t=e.read(),n=t,r=t,i=e.peek();while(i){i=e.read(),n+=i;if(i==t&&r!="\\")break;if(isNewLine(e.peek())&&i!="\\"){n="";break}r=i,i=e.peek()}return i===null&&(n=""),n},readURI:function(e){var t=this._reader,n=e,r="",i=t.peek();t.mark();while(i&&isWhitespace(i))t.read(),i=t.peek();i=="'"||i=='"'?r=this.readString():r=this.readURL(),i=t.peek();while(i&&isWhitespace(i))t.read(),i=t.peek();return r===""||i!=")"?(n=e,t.reset()):n+=r+t.read(),n},readURL:function(){var e=this._reader,t="",n=e.peek();while(/^[!#$%&\\*-~]$/.test(n))t+=e.read(),n=e.peek();return t},readName:function(e){var t=this._reader,n=e||"",r=t.peek();for(;;)if(r=="\\")n+=this.readEscape(t.read()),r=t.peek();else{if(!r||!isNameChar(r))break;n+=t.read(),r=t.peek()}return n},readEscape:function(e){var t=this._reader,n=e||"",r=0,i=t.peek();if(isHexDigit(i))do n+=t.read(),i=t.peek();while(i&&isHexDigit(i)&&++r<6);return n.length==3&&/\s/.test(i)||n.length==7||n.length==1?t.read():i="",n+i},readComment:function(e){var t=this._reader,n=e||"",r=t.read();if(r=="*"){while(r){n+=r;if(n.length>2&&r=="*"&&t.peek()=="/"){n+=t.read();break}r=t.read()}return n}return""}});var Tokens=[{name:"CDO"},{name:"CDC"},{name:"S",whitespace:!0},{name:"COMMENT",comment:!0,hide:!0,channel:"comment"},{name:"INCLUDES",text:"~="},{name:"DASHMATCH",text:"|="},{name:"PREFIXMATCH",text:"^="},{name:"SUFFIXMATCH",text:"$="},{name:"SUBSTRINGMATCH",text:"*="},{name:"STRING"},{name:"IDENT"},{name:"HASH"},{name:"IMPORT_SYM",text:"@import"},{name:"PAGE_SYM",text:"@page"},{name:"MEDIA_SYM",text:"@media"},{name:"FONT_FACE_SYM",text:"@font-face"},{name:"CHARSET_SYM",text:"@charset"},{name:"NAMESPACE_SYM",text:"@namespace"},{name:"UNKNOWN_SYM"},{name:"KEYFRAMES_SYM",text:["@keyframes","@-webkit-keyframes","@-moz-keyframes","@-o-keyframes"]},{name:"IMPORTANT_SYM"},{name:"LENGTH"},{name:"ANGLE"},{name:"TIME"},{name:"FREQ"},{name:"DIMENSION"},{name:"PERCENTAGE"},{name:"NUMBER"},{name:"URI"},{name:"FUNCTION"},{name:"UNICODE_RANGE"},{name:"INVALID"},{name:"PLUS",text:"+"},{name:"GREATER",text:">"},{name:"COMMA",text:","},{name:"TILDE",text:"~"},{name:"NOT"},{name:"TOPLEFTCORNER_SYM",text:"@top-left-corner"},{name:"TOPLEFT_SYM",text:"@top-left"},{name:"TOPCENTER_SYM",text:"@top-center"},{name:"TOPRIGHT_SYM",text:"@top-right"},{name:"TOPRIGHTCORNER_SYM",text:"@top-right-corner"},{name:"BOTTOMLEFTCORNER_SYM",text:"@bottom-left-corner"},{name:"BOTTOMLEFT_SYM",text:"@bottom-left"},{name:"BOTTOMCENTER_SYM",text:"@bottom-center"},{name:"BOTTOMRIGHT_SYM",text:"@bottom-right"},{name:"BOTTOMRIGHTCORNER_SYM",text:"@bottom-right-corner"},{name:"LEFTTOP_SYM",text:"@left-top"},{name:"LEFTMIDDLE_SYM",text:"@left-middle"},{name:"LEFTBOTTOM_SYM",text:"@left-bottom"},{name:"RIGHTTOP_SYM",text:"@right-top"},{name:"RIGHTMIDDLE_SYM",text:"@right-middle"},{name:"RIGHTBOTTOM_SYM",text:"@right-bottom"},{name:"RESOLUTION",state:"media"},{name:"IE_FUNCTION"},{name:"CHAR"},{name:"PIPE",text:"|"},{name:"SLASH",text:"/"},{name:"MINUS",text:"-"},{name:"STAR",text:"*"},{name:"LBRACE",text:"{"},{name:"RBRACE",text:"}"},{name:"LBRACKET",text:"["},{name:"RBRACKET",text:"]"},{name:"EQUALS",text:"="},{name:"COLON",text:":"},{name:"SEMICOLON",text:";"},{name:"LPAREN",text:"("},{name:"RPAREN",text:")"},{name:"DOT",text:"."}];(function(){var e=[],t={};Tokens.UNKNOWN=-1,Tokens.unshift({name:"EOF"});for(var n=0,r=Tokens.length;n<r;n++){e.push(Tokens[n].name),Tokens[Tokens[n].name]=n;if(Tokens[n].text)if(Tokens[n].text instanceof Array)for(var i=0;i<Tokens[n].text.length;i++)t[Tokens[n].text[i]]=n;else t[Tokens[n].text]=n}Tokens.name=function(t){return e[t]},Tokens.type=function(e){return t[e]||-1}})();var Validation={validate:function(e,t){var n=e.toString().toLowerCase(),r=t.parts,i=new PropertyValueIterator(t),s=Properties[n],o,u,a,f,l,c,h,p,d,v,m;if(!s){if(n.indexOf("-")!==0)throw new ValidationError("Unknown property '"+e+"'.",e.line,e.col)}else typeof s!="number"&&(typeof s=="string"?s.indexOf("||")>-1?this.groupProperty(s,i):this.singleProperty(s,i,1):s.multi?this.multiProperty(s.multi,i,s.comma,s.max||Infinity):typeof s=="function"&&s(i))},singleProperty:function(e,t,n,r){var i=!1,s=t.value,o=0,u;while(t.hasNext()&&o<n){i=ValidationTypes.isAny(t,e);if(!i)break;o++}if(!i)throw t.hasNext()&&!t.isFirst()?(u=t.peek(),new ValidationError("Expected end of value but found '"+u+"'.",u.line,u.col)):new ValidationError("Expected ("+e+") but found '"+s+"'.",s.line,s.col);if(t.hasNext())throw u=t.next(),new ValidationError("Expected end of value but found '"+u+"'.",u.line,u.col)},multiProperty:function(e,t,n,r){var i=!1,s=t.value,o=0,u=!1,a;while(t.hasNext()&&!i&&o<r){if(!ValidationTypes.isAny(t,e))break;o++;if(!t.hasNext())i=!0;else if(n){if(t.peek()!=",")break;a=t.next()}}if(!i)throw t.hasNext()&&!t.isFirst()?(a=t.peek(),new ValidationError("Expected end of value but found '"+a+"'.",a.line,a.col)):(a=t.previous(),n&&a==","?new ValidationError("Expected end of value but found '"+a+"'.",a.line,a.col):new ValidationError("Expected ("+e+") but found '"+s+"'.",s.line,s.col));if(t.hasNext())throw a=t.next(),new ValidationError("Expected end of value but found '"+a+"'.",a.line,a.col)},groupProperty:function(e,t,n){var r=!1,i=t.value,s=e.split("||").length,o={count:0},u=!1,a,f;while(t.hasNext()&&!r){a=ValidationTypes.isAnyOfGroup(t,e);if(!a)break;if(o[a])break;o[a]=1,o.count++,u=!0;if(o.count==s||!t.hasNext())r=!0}if(!r)throw u&&t.hasNext()?(f=t.peek(),new ValidationError("Expected end of value but found '"+f+"'.",f.line,f.col)):new ValidationError("Expected ("+e+") but found '"+i+"'.",i.line,i.col);if(t.hasNext())throw f=t.next(),new ValidationError("Expected end of value but found '"+f+"'.",f.line,f.col)}};ValidationError.prototype=new Error;var ValidationTypes={isLiteral:function(e,t){var n=e.text.toString().toLowerCase(),r=t.split(" | "),i,s,o=!1;for(i=0,s=r.length;i<s&&!o;i++)n==r[i].toLowerCase()&&(o=!0);return o},isSimple:function(e){return!!this.simple[e]},isComplex:function(e){return!!this.complex[e]},isAny:function(e,t){var n=t.split(" | "),r,i,s=!1;for(r=0,i=n.length;r<i&&!s&&e.hasNext();r++)s=this.isType(e,n[r]);return s},isAnyOfGroup:function(e,t){var n=t.split(" || "),r,i,s=!1;for(r=0,i=n.length;r<i&&!s;r++)s=this.isType(e,n[r]);return s?n[r-1]:!1},isType:function(e,t){var n=e.peek(),r=!1;return t.charAt(0)!="<"?(r=this.isLiteral(n,t),r&&e.next()):this.simple[t]?(r=this.simple[t](n),r&&e.next()):r=this.complex[t](e),r},simple:{"<absolute-size>":function(e){return ValidationTypes.isLiteral(e,"xx-small | x-small | small | medium | large | x-large | xx-large")},"<attachment>":function(e){return ValidationTypes.isLiteral(e,"scroll | fixed | local")},"<attr>":function(e){return e.type=="function"&&e.name=="attr"},"<bg-image>":function(e){return this["<image>"](e)||this["<gradient>"](e)||e=="none"},"<gradient>":function(e){return e.type=="function"&&/^(?:\-(?:ms|moz|o|webkit)\-)?(?:repeating\-)?(?:radial\-|linear\-)?gradient/i.test(e)},"<box>":function(e){return ValidationTypes.isLiteral(e,"padding-box | border-box | content-box")},"<content>":function(e){return e.type=="function"&&e.name=="content"},"<relative-size>":function(e){return ValidationTypes.isLiteral(e,"smaller | larger")},"<ident>":function(e){return e.type=="identifier"},"<length>":function(e){return e.type=="length"||e.type=="number"||e.type=="integer"||e=="0"},"<color>":function(e){return e.type=="color"||e=="transparent"},"<number>":function(e){return e.type=="number"||this["<integer>"](e)},"<integer>":function(e){return e.type=="integer"},"<line>":function(e){return e.type=="integer"},"<angle>":function(e){return e.type=="angle"},"<uri>":function(e){return e.type=="uri"},"<image>":function(e){return this["<uri>"](e)},"<percentage>":function(e){return e.type=="percentage"||e=="0"},"<border-width>":function(e){return this["<length>"](e)||ValidationTypes.isLiteral(e,"thin | medium | thick")},"<border-style>":function(e){return ValidationTypes.isLiteral(e,"none | hidden | dotted | dashed | solid | double | groove | ridge | inset | outset")},"<margin-width>":function(e){return this["<length>"](e)||this["<percentage>"](e)||ValidationTypes.isLiteral(e,"auto")},"<padding-width>":function(e){return this["<length>"](e)||this["<percentage>"](e)},"<shape>":function(e){return e.type=="function"&&(e.name=="rect"||e.name=="inset-rect")},"<time>":function(e){return e.type=="time"}},complex:{"<bg-position>":function(e){var t=this,n=!1,r="<percentage> | <length>",i="left | center | right",s="top | center | bottom",o,u,a;return ValidationTypes.isAny(e,"top | bottom")?n=!0:ValidationTypes.isAny(e,r)?e.hasNext()&&(n=ValidationTypes.isAny(e,r+" | "+s)):ValidationTypes.isAny(e,i)&&e.hasNext()&&(ValidationTypes.isAny(e,s)?(n=!0,ValidationTypes.isAny(e,r)):ValidationTypes.isAny(e,r)&&(ValidationTypes.isAny(e,s)&&ValidationTypes.isAny(e,r),n=!0)),n},"<bg-size>":function(e){var t=this,n=!1,r="<percentage> | <length> | auto",i,s,o;return ValidationTypes.isAny(e,"cover | contain")?n=!0:ValidationTypes.isAny(e,r)&&(n=!0,ValidationTypes.isAny(e,r)),n},"<repeat-style>":function(e){var t=!1,n="repeat | space | round | no-repeat",r;return e.hasNext()&&(r=e.next(),ValidationTypes.isLiteral(r,"repeat-x | repeat-y")?t=!0:ValidationTypes.isLiteral(r,n)&&(t=!0,e.hasNext()&&ValidationTypes.isLiteral(e.peek(),n)&&e.next())),t},"<shadow>":function(e){var t=!1,n=0,r=!1,i=!1,s;if(e.hasNext()){ValidationTypes.isAny(e,"inset")&&(r=!0),ValidationTypes.isAny(e,"<color>")&&(i=!0);while(ValidationTypes.isAny(e,"<length>")&&n<4)n++;e.hasNext()&&(i||ValidationTypes.isAny(e,"<color>"),r||ValidationTypes.isAny(e,"inset")),t=n>=2&&n<=4}return t},"<x-one-radius>":function(e){var t=!1,n=0,r="<length> | <percentage>",i;return ValidationTypes.isAny(e,r)&&(t=!0,ValidationTypes.isAny(e,r)),t}}};parserlib.css={Colors:Colors,Combinator:Combinator,Parser:Parser,PropertyName:PropertyName,PropertyValue:PropertyValue,PropertyValuePart:PropertyValuePart,MediaFeature:MediaFeature,MediaQuery:MediaQuery,Selector:Selector,SelectorPart:SelectorPart,SelectorSubPart:SelectorSubPart,Specificity:Specificity,TokenStream:TokenStream,Tokens:Tokens,ValidationError:ValidationError}}();var CSSLint=function(){var e=[],t=[],n=new parserlib.util.EventTarget;return n.version="0.9.9",n.addRule=function(t){e.push(t),e[t.id]=t},n.clearRules=function(){e=[]},n.getRules=function(){return[].concat(e).sort(function(e,t){return e.id>t.id?1:0})},n.getRuleset=function(){var t={},n=0,r=e.length;while(n<r)t[e[n++].id]=1;return t},n.addFormatter=function(e){t[e.id]=e},n.getFormatter=function(e){return t[e]},n.format=function(e,t,n,r){var i=this.getFormatter(n),s=null;return i&&(s=i.startFormat(),s+=i.formatResults(e,t,r||{}),s+=i.endFormat()),s},n.hasFormat=function(e){return t.hasOwnProperty(e)},n.verify=function(t,n){var r=0,i=e.length,s,o,u,a=new parserlib.css.Parser({starHack:!0,ieFilters:!0,underscoreHack:!0,strict:!1});o=t.replace(/\n\r?/g,"$split$").split("$split$"),n||(n=this.getRuleset()),s=new Reporter(o,n),n.errors=2;for(r in n)n.hasOwnProperty(r)&&e[r]&&e[r].init(a,s);try{a.parse(t)}catch(f){s.error("Fatal error, cannot continue: "+f.message,f.line,f.col,{})}return u={messages:s.messages,stats:s.stats},u.messages.sort(function(e,t){return e.rollup&&!t.rollup?1:!e.rollup&&t.rollup?-1:e.line-t.line}),u},n}();Reporter.prototype={constructor:Reporter,error:function(e,t,n,r){this.messages.push({type:"error",line:t,col:n,message:e,evidence:this.lines[t-1],rule:r||{}})},warn:function(e,t,n,r){this.report(e,t,n,r)},report:function(e,t,n,r){this.messages.push({type:this.ruleset[r.id]==2?"error":"warning",line:t,col:n,message:e,evidence:this.lines[t-1],rule:r})},info:function(e,t,n,r){this.messages.push({type:"info",line:t,col:n,message:e,evidence:this.lines[t-1],rule:r})},rollupError:function(e,t){this.messages.push({type:"error",rollup:!0,message:e,rule:t})},rollupWarn:function(e,t){this.messages.push({type:"warning",rollup:!0,message:e,rule:t})},stat:function(e,t){this.stats[e]=t}},CSSLint._Reporter=Reporter,CSSLint.Util={mix:function(e,t){var n;for(n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return n},indexOf:function(e,t){if(e.indexOf)return e.indexOf(t);for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},forEach:function(e,t){if(e.forEach)return e.forEach(t);for(var n=0,r=e.length;n<r;n++)t(e[n],n,e)}},CSSLint.addRule({id:"adjoining-classes",name:"Disallow adjoining classes",desc:"Don't use adjoining classes.",browsers:"IE6",init:function(e,t){var n=this;e.addListener("startrule",function(r){var i=r.selectors,s,o,u,a,f,l,c;for(f=0;f<i.length;f++){s=i[f];for(l=0;l<s.parts.length;l++){o=s.parts[l];if(o.type==e.SELECTOR_PART_TYPE){a=0;for(c=0;c<o.modifiers.length;c++)u=o.modifiers[c],u.type=="class"&&a++,a>1&&t.report("Don't use adjoining classes.",o.line,o.col,n)}}}})}}),CSSLint.addRule({id:"box-model",name:"Beware of broken box size",desc:"Don't use width or height when using padding or border.",browsers:"All",init:function(e,t){function u(){s={},o=!1}function a(){var e,u;if(!o){if(s.height)for(e in i)i.hasOwnProperty(e)&&s[e]&&(u=s[e].value,(e!="padding"||u.parts.length!==2||u.parts[0].value!==0)&&t.report("Using height with "+e+" can sometimes make elements larger than you expect.",s[e].line,s[e].col,n));if(s.width)for(e in r)r.hasOwnProperty(e)&&s[e]&&(u=s[e].value,(e!="padding"||u.parts.length!==2||u.parts[1].value!==0)&&t.report("Using width with "+e+" can sometimes make elements larger than you expect.",s[e].line,s[e].col,n))}}var n=this,r={border:1,"border-left":1,"border-right":1,padding:1,"padding-left":1,"padding-right":1},i={border:1,"border-bottom":1,"border-top":1,padding:1,"padding-bottom":1,"padding-top":1},s,o=!1;e.addListener("startrule",u),e.addListener("startfontface",u),e.addListener("startpage",u),e.addListener("startpagemargin",u),e.addListener("startkeyframerule",u),e.addListener("property",function(e){var t=e.property.text.toLowerCase();i[t]||r[t]?!/^0\S*$/.test(e.value)&&(t!="border"||e.value!="none")&&(s[t]={line:e.property.line,col:e.property.col,value:e.value}):/^(width|height)/i.test(t)&&/^(length|percentage)/.test(e.value.parts[0].type)?s[t]=1:t=="box-sizing"&&(o=!0)}),e.addListener("endrule",a),e.addListener("endfontface",a),e.addListener("endpage",a),e.addListener("endpagemargin",a),e.addListener("endkeyframerule",a)}}),CSSLint.addRule({id:"box-sizing",name:"Disallow use of box-sizing",desc:"The box-sizing properties isn't supported in IE6 and IE7.",browsers:"IE6, IE7",tags:["Compatibility"],init:function(e,t){var n=this;e.addListener("property",function(e){var r=e.property.text.toLowerCase();r=="box-sizing"&&t.report("The box-sizing property isn't supported in IE6 and IE7.",e.line,e.col,n)})}}),CSSLint.addRule({id:"compatible-vendor-prefixes",name:"Require compatible vendor prefixes",desc:"Include all compatible vendor prefixes to reach a wider range of users.",browsers:"All",init:function(e,t){var n=this,r,i,s,o,u,a,f,l=!1,c=Array.prototype.push,h=[];r={animation:"webkit moz","animation-delay":"webkit moz","animation-direction":"webkit moz","animation-duration":"webkit moz","animation-fill-mode":"webkit moz","animation-iteration-count":"webkit moz","animation-name":"webkit moz","animation-play-state":"webkit moz","animation-timing-function":"webkit moz",appearance:"webkit moz","border-end":"webkit moz","border-end-color":"webkit moz","border-end-style":"webkit moz","border-end-width":"webkit moz","border-image":"webkit moz o","border-radius":"webkit moz","border-start":"webkit moz","border-start-color":"webkit moz","border-start-style":"webkit moz","border-start-width":"webkit moz","box-align":"webkit moz ms","box-direction":"webkit moz ms","box-flex":"webkit moz ms","box-lines":"webkit ms","box-ordinal-group":"webkit moz ms","box-orient":"webkit moz ms","box-pack":"webkit moz ms","box-sizing":"webkit moz","box-shadow":"webkit moz","column-count":"webkit moz ms","column-gap":"webkit moz ms","column-rule":"webkit moz ms","column-rule-color":"webkit moz ms","column-rule-style":"webkit moz ms","column-rule-width":"webkit moz ms","column-width":"webkit moz ms",hyphens:"epub moz","line-break":"webkit ms","margin-end":"webkit moz","margin-start":"webkit moz","marquee-speed":"webkit wap","marquee-style":"webkit wap","padding-end":"webkit moz","padding-start":"webkit moz","tab-size":"moz o","text-size-adjust":"webkit ms",transform:"webkit moz ms o","transform-origin":"webkit moz ms o",transition:"webkit moz o","transition-delay":"webkit moz o","transition-duration":"webkit moz o","transition-property":"webkit moz o","transition-timing-function":"webkit moz o","user-modify":"webkit moz","user-select":"webkit moz ms","word-break":"epub ms","writing-mode":"epub ms"};for(s in r)if(r.hasOwnProperty(s)){o=[],u=r[s].split(" ");for(a=0,f=u.length;a<f;a++)o.push("-"+u[a]+"-"+s);r[s]=o,c.apply(h,o)}e.addListener("startrule",function(){i=[]}),e.addListener("startkeyframes",function(e){l=e.prefix||!0}),e.addListener("endkeyframes",function(e){l=!1}),e.addListener("property",function(e){var t=e.property;CSSLint.Util.indexOf(h,t.text)>-1&&(!l||typeof l!="string"||t.text.indexOf("-"+l+"-")!==0)&&i.push(t)}),e.addListener("endrule",function(e){if(!i.length)return;var s={},o,u,a,f,l,c,h,p,d,v;for(o=0,u=i.length;o<u;o++){a=i[o];for(f in r)r.hasOwnProperty(f)&&(l=r[f],CSSLint.Util.indexOf(l,a.text)>-1&&(s[f]||(s[f]={full:l.slice(0),actual:[],actualNodes:[]}),CSSLint.Util.indexOf(s[f].actual,a.text)===-1&&(s[f].actual.push(a.text),s[f].actualNodes.push(a))))}for(f in s)if(s.hasOwnProperty(f)){c=s[f],h=c.full,p=c.actual;if(h.length>p.length)for(o=0,u=h.length;o<u;o++)d=h[o],CSSLint.Util.indexOf(p,d)===-1&&(v=p.length===1?p[0]:p.length==2?p.join(" and "):p.join(", "),t.report("The property "+d+" is compatible with "+v+" and should be included as well.",c.actualNodes[0].line,c.actualNodes[0].col,n))}})}}),CSSLint.addRule({id:"display-property-grouping",name:"Require properties appropriate for display",desc:"Certain properties shouldn't be used with certain display property values.",browsers:"All",init:function(e,t){function s(e,s,o){i[e]&&(typeof r[e]!="string"||i[e].value.toLowerCase()!=r[e])&&t.report(o||e+" can't be used with display: "+s+".",i[e].line,i[e].col,n)}function o(){i={}}function u(){var e=i.display?i.display.value:null;if(e)switch(e){case"inline":s("height",e),s("width",e),s("margin",e),s("margin-top",e),s("margin-bottom",e),s("float",e,"display:inline has no effect on floated elements (but may be used to fix the IE6 double-margin bug).");break;case"block":s("vertical-align",e);break;case"inline-block":s("float",e);break;default:e.indexOf("table-")===0&&(s("margin",e),s("margin-left",e),s("margin-right",e),s("margin-top",e),s("margin-bottom",e),s("float",e))}}var n=this,r={display:1,"float":"none",height:1,width:1,margin:1,"margin-left":1,"margin-right":1,"margin-bottom":1,"margin-top":1,padding:1,"padding-left":1,"padding-right":1,"padding-bottom":1,"padding-top":1,"vertical-align":1},i;e.addListener("startrule",o),e.addListener("startfontface",o),e.addListener("startkeyframerule",o),e.addListener("startpagemargin",o),e.addListener("startpage",o),e.addListener("property",function(e){var t=e.property.text.toLowerCase();r[t]&&(i[t]={value:e.value.text,line:e.property.line,col:e.property.col})}),e.addListener("endrule",u),e.addListener("endfontface",u),e.addListener("endkeyframerule",u),e.addListener("endpagemargin",u),e.addListener("endpage",u)}}),CSSLint.addRule({id:"duplicate-background-images",name:"Disallow duplicate background images",desc:"Every background-image should be unique. Use a common class for e.g. sprites.",browsers:"All",init:function(e,t){var n=this,r={};e.addListener("property",function(e){var i=e.property.text,s=e.value,o,u;if(i.match(/background/i))for(o=0,u=s.parts.length;o<u;o++)s.parts[o].type=="uri"&&(typeof r[s.parts[o].uri]=="undefined"?r[s.parts[o].uri]=e:t.report("Background image '"+s.parts[o].uri+"' was used multiple times, first declared at line "+r[s.parts[o].uri].line+", col "+r[s.parts[o].uri].col+".",e.line,e.col,n))})}}),CSSLint.addRule({id:"duplicate-properties",name:"Disallow duplicate properties",desc:"Duplicate properties must appear one after the other.",browsers:"All",init:function(e,t){function s(e){r={}}var n=this,r,i;e.addListener("startrule",s),e.addListener("startfontface",s),e.addListener("startpage",s),e.addListener("startpagemargin",s),e.addListener("startkeyframerule",s),e.addListener("property",function(e){var s=e.property,o=s.text.toLowerCase();r[o]&&(i!=o||r[o]==e.value.text)&&t.report("Duplicate property '"+e.property+"' found.",e.line,e.col,n),r[o]=e.value.text,i=o})}}),CSSLint.addRule({id:"empty-rules",name:"Disallow empty rules",desc:"Rules without any properties specified should be removed.",browsers:"All",init:function(e,t){var n=this,r=0;e.addListener("startrule",function(){r=0}),e.addListener("property",function(){r++}),e.addListener("endrule",function(e){var i=e.selectors;r===0&&t.report("Rule is empty.",i[0].line,i[0].col,n)})}}),CSSLint.addRule({id:"errors",name:"Parsing Errors",desc:"This rule looks for recoverable syntax errors.",browsers:"All",init:function(e,t){var n=this;e.addListener("error",function(e){t.error(e.message,e.line,e.col,n)})}}),CSSLint.addRule({id:"fallback-colors",name:"Require fallback colors",desc:"For older browsers that don't support RGBA, HSL, or HSLA, provide a fallback color.",browsers:"IE6,IE7,IE8",init:function(e,t){function o(e){s={},r=null}var n=this,r,i={color:1,background:1,"background-color":1},s;e.addListener("startrule",o),e.addListener("startfontface",o),e.addListener("startpage",o),e.addListener("startpagemargin",o),e.addListener("startkeyframerule",o),e.addListener("property",function(e){var s=e.property,o=s.text.toLowerCase(),u=e.value.parts,a=0,f="",l=u.length;if(i[o])while(a<l)u[a].type=="color"&&("alpha"in u[a]||"hue"in u[a]?(/([^\)]+)\(/.test(u[a])&&(f=RegExp.$1.toUpperCase()),(!r||r.property.text.toLowerCase()!=o||r.colorType!="compat")&&t.report("Fallback "+o+" (hex or RGB) should precede "+f+" "+o+".",e.line,e.col,n)):e.colorType="compat"),a++;r=e})}}),CSSLint.addRule({id:"floats",name:"Disallow too many floats",desc:"This rule tests if the float property is used too many times",browsers:"All",init:function(e,t){var n=this,r=0;e.addListener("property",function(e){e.property.text.toLowerCase()=="float"&&e.value.text.toLowerCase()!="none"&&r++}),e.addListener("endstylesheet",function(){t.stat("floats",r),r>=10&&t.rollupWarn("Too many floats ("+r+"), you're probably using them for layout. Consider using a grid system instead.",n)})}}),CSSLint.addRule({id:"font-faces",name:"Don't use too many web fonts",desc:"Too many different web fonts in the same stylesheet.",browsers:"All",init:function(e,t){var n=this,r=0;e.addListener("startfontface",function(){r++}),e.addListener("endstylesheet",function(){r>5&&t.rollupWarn("Too many @font-face declarations ("+r+").",n)})}}),CSSLint.addRule({id:"font-sizes",name:"Disallow too many font sizes",desc:"Checks the number of font-size declarations.",browsers:"All",init:function(e,t){var n=this,r=0;e.addListener("property",function(e){e.property=="font-size"&&r++}),e.addListener("endstylesheet",function(){t.stat("font-sizes",r),r>=10&&t.rollupWarn("Too many font-size declarations ("+r+"), abstraction needed.",n)})}}),CSSLint.addRule({id:"gradients",name:"Require all gradient definitions",desc:"When using a vendor-prefixed gradient, make sure to use them all.",browsers:"All",init:function(e,t){var n=this,r;e.addListener("startrule",function(){r={moz:0,webkit:0,oldWebkit:0,ms:0,o:0}}),e.addListener("property",function(e){/\-(moz|ms|o|webkit)(?:\-(?:linear|radial))\-gradient/i.test(e.value)?r[RegExp.$1]=1:/\-webkit\-gradient/i.test(e.value)&&(r.oldWebkit=1)}),e.addListener("endrule",function(e){var i=[];r.moz||i.push("Firefox 3.6+"),r.webkit||i.push("Webkit (Safari 5+, Chrome)"),r.oldWebkit||i.push("Old Webkit (Safari 4+, Chrome)"),r.ms||i.push("Internet Explorer 10+"),r.o||i.push("Opera 11.1+"),i.length&&i.length<5&&t.report("Missing vendor-prefixed CSS gradients for "+i.join(", ")+".",e.selectors[0].line,e.selectors[0].col,n)})}}),CSSLint.addRule({id:"ids",name:"Disallow IDs in selectors",desc:"Selectors should not contain IDs.",browsers:"All",init:function(e,t){var n=this;e.addListener("startrule",function(r){var i=r.selectors,s,o,u,a,f,l,c;for(f=0;f<i.length;f++){s=i[f],a=0;for(l=0;l<s.parts.length;l++){o=s.parts[l];if(o.type==e.SELECTOR_PART_TYPE)for(c=0;c<o.modifiers.length;c++)u=o.modifiers[c],u.type=="id"&&a++}a==1?t.report("Don't use IDs in selectors.",s.line,s.col,n):a>1&&t.report(a+" IDs in the selector, really?",s.line,s.col,n)}})}}),CSSLint.addRule({id:"import",name:"Disallow @import",desc:"Don't use @import, use <link> instead.",browsers:"All",init:function(e,t){var n=this;e.addListener("import",function(e){t.report("@import prevents parallel downloads, use <link> instead.",e.line,e.col,n)})}}),CSSLint.addRule({id:"important",name:"Disallow !important",desc:"Be careful when using !important declaration",browsers:"All",init:function(e,t){var n=this,r=0;e.addListener("property",function(e){e.important===!0&&(r++,t.report("Use of !important",e.line,e.col,n))}),e.addListener("endstylesheet",function(){t.stat("important",r),r>=10&&t.rollupWarn("Too many !important declarations ("+r+"), try to use less than 10 to avoid specificity issues.",n)})}}),CSSLint.addRule({id:"known-properties",name:"Require use of known properties",desc:"Properties should be known (listed in CSS3 specification) or be a vendor-prefixed property.",browsers:"All",init:function(e,t){var n=this;e.addListener("property",function(e){var r=e.property.text.toLowerCase();e.invalid&&t.report(e.invalid.message,e.line,e.col,n)})}}),CSSLint.addRule({id:"outline-none",name:"Disallow outline: none",desc:"Use of outline: none or outline: 0 should be limited to :focus rules.",browsers:"All",tags:["Accessibility"],init:function(e,t){function i(e){e.selectors?r={line:e.line,col:e.col,selectors:e.selectors,propCount:0,outline:!1}:r=null}function s(e){r&&r.outline&&(r.selectors.toString().toLowerCase().indexOf(":focus")==-1?t.report("Outlines should only be modified using :focus.",r.line,r.col,n):r.propCount==1&&t.report("Outlines shouldn't be hidden unless other visual changes are made.",r.line,r.col,n))}var n=this,r;e.addListener("startrule",i),e.addListener("startfontface",i),e.addListener("startpage",i),e.addListener("startpagemargin",i),e.addListener("startkeyframerule",i),e.addListener("property",function(e){var t=e.property.text.toLowerCase(),n=e.value;r&&(r.propCount++,t=="outline"&&(n=="none"||n=="0")&&(r.outline=!0))}),e.addListener("endrule",s),e.addListener("endfontface",s),e.addListener("endpage",s),e.addListener("endpagemargin",s),e.addListener("endkeyframerule",s)}}),CSSLint.addRule({id:"overqualified-elements",name:"Disallow overqualified elements",desc:"Don't use classes or IDs with elements (a.foo or a#foo).",browsers:"All",init:function(e,t){var n=this,r={};e.addListener("startrule",function(i){var s=i.selectors,o,u,a,f,l,c;for(f=0;f<s.length;f++){o=s[f];for(l=0;l<o.parts.length;l++){u=o.parts[l];if(u.type==e.SELECTOR_PART_TYPE)for(c=0;c<u.modifiers.length;c++)a=u.modifiers[c],u.elementName&&a.type=="id"?t.report("Element ("+u+") is overqualified, just use "+a+" without element name.",u.line,u.col,n):a.type=="class"&&(r[a]||(r[a]=[]),r[a].push({modifier:a,part:u}))}}}),e.addListener("endstylesheet",function(){var e;for(e in r)r.hasOwnProperty(e)&&r[e].length==1&&r[e][0].part.elementName&&t.report("Element ("+r[e][0].part+") is overqualified, just use "+r[e][0].modifier+" without element name.",r[e][0].part.line,r[e][0].part.col,n)})}}),CSSLint.addRule({id:"qualified-headings",name:"Disallow qualified headings",desc:"Headings should not be qualified (namespaced).",browsers:"All",init:function(e,t){var n=this;e.addListener("startrule",function(r){var i=r.selectors,s,o,u,a;for(u=0;u<i.length;u++){s=i[u];for(a=0;a<s.parts.length;a++)o=s.parts[a],o.type==e.SELECTOR_PART_TYPE&&o.elementName&&/h[1-6]/.test(o.elementName.toString())&&a>0&&t.report("Heading ("+o.elementName+") should not be qualified.",o.line,o.col,n)}})}}),CSSLint.addRule({id:"regex-selectors",name:"Disallow selectors that look like regexs",desc:"Selectors that look like regular expressions are slow and should be avoided.",browsers:"All",init:function(e,t){var n=this;e.addListener("startrule",function(r){var i=r.selectors,s,o,u,a,f,l;for(a=0;a<i.length;a++){s=i[a];for(f=0;f<s.parts.length;f++){o=s.parts[f];if(o.type==e.SELECTOR_PART_TYPE)for(l=0;l<o.modifiers.length;l++)u=o.modifiers[l],u.type=="attribute"&&/([\~\|\^\$\*]=)/.test(u)&&t.report("Attribute selectors with "+RegExp.$1+" are slow!",u.line,u.col,n)}}})}}),CSSLint.addRule({id:"rules-count",name:"Rules Count",desc:"Track how many rules there are.",browsers:"All",init:function(e,t){var n=this,r=0;e.addListener("startrule",function(){r++}),e.addListener("endstylesheet",function(){t.stat("rule-count",r)})}}),CSSLint.addRule({id:"shorthand",name:"Require shorthand properties",desc:"Use shorthand properties where possible.",browsers:"All",init:function(e,t){function f(e){u={}}function l(e){var r,i,s,o;for(r in a)if(a.hasOwnProperty(r)){o=0;for(i=0,s=a[r].length;i<s;i++)o+=u[a[r][i]]?1:0;o==a[r].length&&t.report("The properties "+a[r].join(", ")+" can be replaced by "+r+".",e.line,e.col,n)}}var n=this,r,i,s,o={},u,a={margin:["margin-top","margin-bottom","margin-left","margin-right"],padding:["padding-top","padding-bottom","padding-left","padding-right"]};for(r in a)if(a.hasOwnProperty(r))for(i=0,s=a[r].length;i<s;i++)o[a[r][i]]=r;e.addListener("startrule",f),e.addListener("startfontface",f),e.addListener("property",function(e){var t=e.property.toString().toLowerCase(),n=e.value.parts[0].value;o[t]&&(u[t]=1)}),e.addListener("endrule",l),e.addListener("endfontface",l)}}),CSSLint.addRule({id:"star-property-hack",name:"Disallow properties with a star prefix",desc:"Checks for the star property hack (targets IE6/7)",browsers:"All",init:function(e,t){var n=this;e.addListener("property",function(e){var r=e.property;r.hack=="*"&&t.report("Property with star prefix found.",e.property.line,e.property.col,n)})}}),CSSLint.addRule({id:"text-indent",name:"Disallow negative text-indent",desc:"Checks for text indent less than -99px",browsers:"All",init:function(e,t){function s(e){r=!1,i="inherit"}function o(e){r&&i!="ltr"&&t.report("Negative text-indent doesn't work well with RTL. If you use text-indent for image replacement explicitly set direction for that item to ltr.",r.line,r.col,n)}var n=this,r,i;e.addListener("startrule",s),e.addListener("startfontface",s),e.addListener("property",function(e){var t=e.property.toString().toLowerCase(),n=e.value;t=="text-indent"&&n.parts[0].value<-99?r=e.property:t=="direction"&&n=="ltr"&&(i="ltr")}),e.addListener("endrule",o),e.addListener("endfontface",o)}}),CSSLint.addRule({id:"underscore-property-hack",name:"Disallow properties with an underscore prefix",desc:"Checks for the underscore property hack (targets IE6)",browsers:"All",init:function(e,t){var n=this;e.addListener("property",function(e){var r=e.property;r.hack=="_"&&t.report("Property with underscore prefix found.",e.property.line,e.property.col,n)})}}),CSSLint.addRule({id:"unique-headings",name:"Headings should only be defined once",desc:"Headings should be defined only once.",browsers:"All",init:function(e,t){var n=this,r={h1:0,h2:0,h3:0,h4:0,h5:0,h6:0};e.addListener("startrule",function(e){var i=e.selectors,s,o,u,a,f;for(a=0;a<i.length;a++){s=i[a],o=s.parts[s.parts.length-1];if(o.elementName&&/(h[1-6])/i.test(o.elementName.toString())){for(f=0;f<o.modifiers.length;f++)if(o.modifiers[f].type=="pseudo"){u=!0;break}u||(r[RegExp.$1]++,r[RegExp.$1]>1&&t.report("Heading ("+o.elementName+") has already been defined.",o.line,o.col,n))}}}),e.addListener("endstylesheet",function(e){var i,s=[];for(i in r)r.hasOwnProperty(i)&&r[i]>1&&s.push(r[i]+" "+i+"s");s.length&&t.rollupWarn("You have "+s.join(", ")+" defined in this stylesheet.",n)})}}),CSSLint.addRule({id:"universal-selector",name:"Disallow universal selector",desc:"The universal selector (*) is known to be slow.",browsers:"All",init:function(e,t){var n=this;e.addListener("startrule",function(e){var r=e.selectors,i,s,o,u,a,f;for(u=0;u<r.length;u++)i=r[u],s=i.parts[i.parts.length-1],s.elementName=="*"&&t.report(n.desc,s.line,s.col,n)})}}),CSSLint.addRule({id:"unqualified-attributes",name:"Disallow unqualified attribute selectors",desc:"Unqualified attribute selectors are known to be slow.",browsers:"All",init:function(e,t){var n=this;e.addListener("startrule",function(r){var i=r.selectors,s,o,u,a,f,l;for(a=0;a<i.length;a++){s=i[a],o=s.parts[s.parts.length-1];if(o.type==e.SELECTOR_PART_TYPE)for(l=0;l<o.modifiers.length;l++)u=o.modifiers[l],u.type=="attribute"&&(!o.elementName||o.elementName=="*")&&t.report(n.desc,o.line,o.col,n)}})}}),CSSLint.addRule({id:"vendor-prefix",name:"Require standard property with vendor prefix",desc:"When using a vendor-prefixed property, make sure to include the standard one.",browsers:"All",init:function(e,t){function o(){r={},i=1}function u(e){var i,o,u,a,f,l,c=[];for(i in r)s[i]&&c.push({actual:i,needed:s[i]});for(o=0,u=c.length;o<u;o++)f=c[o].needed,l=c[o].actual,r[f]?r[f][0].pos<r[l][0].pos&&t.report("Standard property '"+f+"' should come after vendor-prefixed property '"+l+"'.",r[l][0].name.line,r[l][0].name.col,n):t.report("Missing standard property '"+f+"' to go along with '"+l+"'.",r[l][0].name.line,r[l][0].name.col,n)}var n=this,r,i,s={"-webkit-border-radius":"border-radius","-webkit-border-top-left-radius":"border-top-left-radius","-webkit-border-top-right-radius":"border-top-right-radius","-webkit-border-bottom-left-radius":"border-bottom-left-radius","-webkit-border-bottom-right-radius":"border-bottom-right-radius","-o-border-radius":"border-radius","-o-border-top-left-radius":"border-top-left-radius","-o-border-top-right-radius":"border-top-right-radius","-o-border-bottom-left-radius":"border-bottom-left-radius","-o-border-bottom-right-radius":"border-bottom-right-radius","-moz-border-radius":"border-radius","-moz-border-radius-topleft":"border-top-left-radius","-moz-border-radius-topright":"border-top-right-radius","-moz-border-radius-bottomleft":"border-bottom-left-radius","-moz-border-radius-bottomright":"border-bottom-right-radius","-moz-column-count":"column-count","-webkit-column-count":"column-count","-moz-column-gap":"column-gap","-webkit-column-gap":"column-gap","-moz-column-rule":"column-rule","-webkit-column-rule":"column-rule","-moz-column-rule-style":"column-rule-style","-webkit-column-rule-style":"column-rule-style","-moz-column-rule-color":"column-rule-color","-webkit-column-rule-color":"column-rule-color","-moz-column-rule-width":"column-rule-width","-webkit-column-rule-width":"column-rule-width","-moz-column-width":"column-width","-webkit-column-width":"column-width","-webkit-column-span":"column-span","-webkit-columns":"columns","-moz-box-shadow":"box-shadow","-webkit-box-shadow":"box-shadow","-moz-transform":"transform","-webkit-transform":"transform","-o-transform":"transform","-ms-transform":"transform","-moz-transform-origin":"transform-origin","-webkit-transform-origin":"transform-origin","-o-transform-origin":"transform-origin","-ms-transform-origin":"transform-origin","-moz-box-sizing":"box-sizing","-webkit-box-sizing":"box-sizing","-moz-user-select":"user-select","-khtml-user-select":"user-select","-webkit-user-select":"user-select"};e.addListener("startrule",o),e.addListener("startfontface",o),e.addListener("startpage",o),e.addListener("startpagemargin",o),e.addListener("startkeyframerule",o),e.addListener("property",function(e){var t=e.property.text.toLowerCase();r[t]||(r[t]=[]),r[t].push({name:e.property,value:e.value,pos:i++})}),e.addListener("endrule",u),e.addListener("endfontface",u),e.addListener("endpage",u),e.addListener("endpagemargin",u),e.addListener("endkeyframerule",u)}}),CSSLint.addRule({id:"zero-units",name:"Disallow units for 0 values",desc:"You don't need to specify units when a value is 0.",browsers:"All",init:function(e,t){var n=this;e.addListener("property",function(e){var r=e.value.parts,i=0,s=r.length;while(i<s)(r[i].units||r[i].type=="percentage")&&r[i].value===0&&r[i].type!="time"&&t.report("Values of 0 shouldn't have units specified.",r[i].line,r[i].col,n),i++})}}),exports.CSSLint=CSSLint})
vendor/assets/javascripts/ace/worker-javascript.js
"no use strict";function initBaseUrls(e){require.tlns=e}function initSender(){var e=require(null,"ace/lib/event_emitter").EventEmitter,t=require(null,"ace/lib/oop"),n=function(){};return function(){t.implement(this,e),this.callback=function(e,t){postMessage({type:"call",id:t,data:e})},this.emit=function(e,t){postMessage({type:"event",name:e,data:t})}}.call(n.prototype),new n}if(typeof window!="undefined"&&window.document)throw"atempt to load ace worker into main window instead of webWorker";var console={log:function(){var e=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:e})},error:function(){var e=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:e})}},window={console:console},normalizeModule=function(e,t){if(t.indexOf("!")!==-1){var n=t.split("!");return normalizeModule(e,n[0])+"!"+normalizeModule(e,n[1])}if(t.charAt(0)=="."){var r=e.split("/").slice(0,-1).join("/"),t=r+"/"+t;while(t.indexOf(".")!==-1&&i!=t)var i=t,t=t.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}return t},require=function(e,t){if(!t.charAt)throw new Error("worker.js require() accepts only (parentId, id) as arguments");var t=normalizeModule(e,t),n=require.modules[t];if(n)return n.initialized||(n.initialized=!0,n.exports=n.factory().exports),n.exports;var r=t.split("/");r[0]=require.tlns[r[0]]||r[0];var i=r.join("/")+".js";return require.id=t,importScripts(i),require(e,t)};require.modules={},require.tlns={};var define=function(e,t,n){arguments.length==2?(n=t,typeof e!="string"&&(t=e,e=require.id)):arguments.length==1&&(n=e,e=require.id);if(e.indexOf("text!")===0)return;var r=function(t,n){return require(e,t,n)};require.modules[e]={factory:function(){var e={exports:{}},t=n(r,e.exports,e);return t&&(e.exports=t),e}}},main,sender;onmessage=function(e){var t=e.data;if(t.command){if(!main[t.command])throw new Error("Unknown command:"+t.command);main[t.command].apply(main,t.args)}else if(t.init){initBaseUrls(t.tlns),require(null,"ace/lib/fixoldbrowsers"),sender=initSender();var n=require(null,t.module)[t.classname];main=new n(sender)}else t.event&&sender&&sender._emit(t.event,t.data)},define("ace/lib/fixoldbrowsers",["require","exports","module","ace/lib/regexp","ace/lib/es5-shim"],function(e,t,n){e("./regexp"),e("./es5-shim")}),define("ace/lib/regexp",["require","exports","module"],function(e,t,n){function o(e){return(e.global?"g":"")+(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.extended?"x":"")+(e.sticky?"y":"")}function u(e,t,n){if(Array.prototype.indexOf)return e.indexOf(t,n);for(var r=n||0;r<e.length;r++)if(e[r]===t)return r;return-1}var r={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split},i=r.exec.call(/()??/,"")[1]===undefined,s=function(){var e=/^/g;return r.test.call(e,""),!e.lastIndex}();if(s&&i)return;RegExp.prototype.exec=function(e){var t=r.exec.apply(this,arguments),n,a;if(typeof e=="string"&&t){!i&&t.length>1&&u(t,"")>-1&&(a=RegExp(this.source,r.replace.call(o(this),"g","")),r.replace.call(e.slice(t.index),a,function(){for(var e=1;e<arguments.length-2;e++)arguments[e]===undefined&&(t[e]=undefined)}));if(this._xregexp&&this._xregexp.captureNames)for(var f=1;f<t.length;f++)n=this._xregexp.captureNames[f-1],n&&(t[n]=t[f]);!s&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--}return t},s||(RegExp.prototype.test=function(e){var t=r.exec.call(this,e);return t&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--,!!t})}),define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function m(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}Function.prototype.bind||(Function.prototype.bind=function(t){var n=this;if(typeof n!="function")throw new TypeError;var r=o.call(arguments,1),i=function(){if(this instanceof i){var e=function(){};e.prototype=n.prototype;var s=new e,u=n.apply(s,r.concat(o.call(arguments)));return u!==null&&Object(u)===u?u:s}return n.apply(t,r.concat(o.call(arguments)))};return i});var r=Function.prototype.call,i=Array.prototype,s=Object.prototype,o=i.slice,u=r.bind(s.toString),a=r.bind(s.hasOwnProperty),f,l,c,h,p;if(p=a(s,"__defineGetter__"))f=r.bind(s.__defineGetter__),l=r.bind(s.__defineSetter__),c=r.bind(s.__lookupGetter__),h=r.bind(s.__lookupSetter__);Array.isArray||(Array.isArray=function(t){return u(t)=="[object Array]"}),Array.prototype.forEach||(Array.prototype.forEach=function(t){var n=D(this),r=arguments[1],i=0,s=n.length>>>0;if(u(t)!="[object Function]")throw new TypeError;while(i<s)i in n&&t.call(r,n[i],i,n),i++}),Array.prototype.map||(Array.prototype.map=function(t){var n=D(this),r=n.length>>>0,i=Array(r),s=arguments[1];if(u(t)!="[object Function]")throw new TypeError;for(var o=0;o<r;o++)o in n&&(i[o]=t.call(s,n[o],o,n));return i}),Array.prototype.filter||(Array.prototype.filter=function(t){var n=D(this),r=n.length>>>0,i=[],s=arguments[1];if(u(t)!="[object Function]")throw new TypeError;for(var o=0;o<r;o++)o in n&&t.call(s,n[o],o,n)&&i.push(n[o]);return i}),Array.prototype.every||(Array.prototype.every=function(t){var n=D(this),r=n.length>>>0,i=arguments[1];if(u(t)!="[object Function]")throw new TypeError;for(var s=0;s<r;s++)if(s in n&&!t.call(i,n[s],s,n))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(t){var n=D(this),r=n.length>>>0,i=arguments[1];if(u(t)!="[object Function]")throw new TypeError;for(var s=0;s<r;s++)if(s in n&&t.call(i,n[s],s,n))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(t){var n=D(this),r=n.length>>>0;if(u(t)!="[object Function]")throw new TypeError;if(!r&&arguments.length==1)throw new TypeError;var i=0,s;if(arguments.length>=2)s=arguments[1];else do{if(i in n){s=n[i++];break}if(++i>=r)throw new TypeError}while(!0);for(;i<r;i++)i in n&&(s=t.call(void 0,s,n[i],i,n));return s}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(t){var n=D(this),r=n.length>>>0;if(u(t)!="[object Function]")throw new TypeError;if(!r&&arguments.length==1)throw new TypeError;var i,s=r-1;if(arguments.length>=2)i=arguments[1];else do{if(s in n){i=n[s--];break}if(--s<0)throw new TypeError}while(!0);do s in this&&(i=t.call(void 0,i,n[s],s,n));while(s--);return i}),Array.prototype.indexOf||(Array.prototype.indexOf=function(t){var n=D(this),r=n.length>>>0;if(!r)return-1;var i=0;arguments.length>1&&(i=M(arguments[1])),i=i>=0?i:Math.max(0,r+i);for(;i<r;i++)if(i in n&&n[i]===t)return i;return-1}),Array.prototype.lastIndexOf||(Array.prototype.lastIndexOf=function(t){var n=D(this),r=n.length>>>0;if(!r)return-1;var i=r-1;arguments.length>1&&(i=Math.min(i,M(arguments[1]))),i=i>=0?i:r-Math.abs(i);for(;i>=0;i--)if(i in n&&t===n[i])return i;return-1}),Object.getPrototypeOf||(Object.getPrototypeOf=function(t){return t.__proto__||(t.constructor?t.constructor.prototype:s)});if(!Object.getOwnPropertyDescriptor){var d="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(t,n){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(d+t);if(!a(t,n))return;var r,i,o;r={enumerable:!0,configurable:!0};if(p){var u=t.__proto__;t.__proto__=s;var i=c(t,n),o=h(t,n);t.__proto__=u;if(i||o)return i&&(r.get=i),o&&(r.set=o),r}return r.value=t[n],r}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(t){return Object.keys(t)});if(!Object.create){var v;Object.prototype.__proto__===null?v=function(){return{__proto__:null}}:v=function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(t,n){var r;if(t===null)r=v();else{if(typeof t!="object")throw new TypeError("typeof prototype["+typeof t+"] != 'object'");var i=function(){};i.prototype=t,r=new i,r.__proto__=t}return n!==void 0&&Object.defineProperties(r,n),r}}if(Object.defineProperty){var g=m({}),y=typeof document=="undefined"||m(document.createElement("div"));if(!g||!y)var b=Object.defineProperty}if(!Object.defineProperty||b){var w="Property description must be an object: ",E="Object.defineProperty called on non-object: ",S="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(t,n,r){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(E+t);if(typeof r!="object"&&typeof r!="function"||r===null)throw new TypeError(w+r);if(b)try{return b.call(Object,t,n,r)}catch(i){}if(a(r,"value"))if(p&&(c(t,n)||h(t,n))){var o=t.__proto__;t.__proto__=s,delete t[n],t[n]=r.value,t.__proto__=o}else t[n]=r.value;else{if(!p)throw new TypeError(S);a(r,"get")&&f(t,n,r.get),a(r,"set")&&l(t,n,r.set)}return t}}Object.defineProperties||(Object.defineProperties=function(t,n){for(var r in n)a(n,r)&&Object.defineProperty(t,r,n[r]);return t}),Object.seal||(Object.seal=function(t){return t}),Object.freeze||(Object.freeze=function(t){return t});try{Object.freeze(function(){})}catch(x){Object.freeze=function(t){return function(n){return typeof n=="function"?n:t(n)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(t){return t}),Object.isSealed||(Object.isSealed=function(t){return!1}),Object.isFrozen||(Object.isFrozen=function(t){return!1}),Object.isExtensible||(Object.isExtensible=function(t){if(Object(t)===t)throw new TypeError;var n="";while(a(t,n))n+="?";t[n]=!0;var r=a(t,n);return delete t[n],r});if(!Object.keys){var T=!0,N=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],C=N.length;for(var k in{toString:null})T=!1;Object.keys=function P(e){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError("Object.keys called on a non-object");var P=[];for(var t in e)a(e,t)&&P.push(t);if(T)for(var n=0,r=C;n<r;n++){var i=N[n];a(e,i)&&P.push(i)}return P}}if(!Date.prototype.toISOString||(new Date(-621987552e5)).toISOString().indexOf("-000001")===-1)Date.prototype.toISOString=function(){var t,n,r,i;if(!isFinite(this))throw new RangeError;t=[this.getUTCMonth()+1,this.getUTCDate(),this.getUTCHours(),this.getUTCMinutes(),this.getUTCSeconds()],i=this.getUTCFullYear(),i=(i<0?"-":i>9999?"+":"")+("00000"+Math.abs(i)).slice(0<=i&&i<=9999?-4:-6),n=t.length;while(n--)r=t[n],r<10&&(t[n]="0"+r);return i+"-"+t.slice(0,2).join("-")+"T"+t.slice(2).join(":")+"."+("000"+this.getUTCMilliseconds()).slice(-3)+"Z"};Date.now||(Date.now=function(){return(new Date).getTime()}),Date.prototype.toJSON||(Date.prototype.toJSON=function(t){if(typeof this.toISOString!="function")throw new TypeError;return this.toISOString()}),Date.parse("+275760-09-13T00:00:00.000Z")!==864e13&&(Date=function(e){var t=function i(t,n,r,s,o,u,a){var f=arguments.length;if(this instanceof e){var l=f==1&&String(t)===t?new e(i.parse(t)):f>=7?new e(t,n,r,s,o,u,a):f>=6?new e(t,n,r,s,o,u):f>=5?new e(t,n,r,s,o):f>=4?new e(t,n,r,s):f>=3?new e(t,n,r):f>=2?new e(t,n):f>=1?new e(t):new e;return l.constructor=i,l}return e.apply(this,arguments)},n=new RegExp("^(\\d{4}|[+-]\\d{6})(?:-(\\d{2})(?:-(\\d{2})(?:T(\\d{2}):(\\d{2})(?::(\\d{2})(?:\\.(\\d{3}))?)?(?:Z|(?:([-+])(\\d{2}):(\\d{2})))?)?)?)?$");for(var r in e)t[r]=e[r];return t.now=e.now,t.UTC=e.UTC,t.prototype=e.prototype,t.prototype.constructor=t,t.parse=function(r){var i=n.exec(r);if(i){i.shift();for(var s=1;s<7;s++)i[s]=+(i[s]||(s<3?1:0)),s==1&&i[s]--;var o=+i.pop(),u=+i.pop(),a=i.pop(),f=0;if(a){if(u>23||o>59)return NaN;f=(u*60+o)*6e4*(a=="+"?-1:1)}var l=+i[0];return 0<=l&&l<=99?(i[0]=l+400,e.UTC.apply(this,i)+f-126227808e5):e.UTC.apply(this,i)+f}return e.parse.apply(this,arguments)},t}(Date));var L=" \n \f\r   ᠎              \u2028\u2029";if(!String.prototype.trim||L.trim()){L="["+L+"]";var A=new RegExp("^"+L+L+"*"),O=new RegExp(L+L+"*$");String.prototype.trim=function(){return String(this).replace(A,"").replace(O,"")}}var M=function(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e},_="a"[0]!="a",D=function(e){if(e==null)throw new TypeError;return _&&typeof e=="string"&&e?e.split(""):Object(e)}}),define("ace/lib/event_emitter",["require","exports","module"],function(e,t,n){var r={};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry=this._eventRegistry||{},this._defaultHandlers=this._defaultHandlers||{};var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(!n.length&&!r)return;if(typeof t!="object"||!t)t={};t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=function(){this.propagationStopped=!0}),t.preventDefault||(t.preventDefault=function(){this.defaultPrevented=!0});for(var i=0;i<n.length;i++){n[i](t);if(t.propagationStopped)break}if(r&&!t.defaultPrevented)return r(t)},r.setDefaultHandler=function(e,t){this._defaultHandlers=this._defaultHandlers||{};if(this._defaultHandlers[e])throw new Error("The default handler for '"+e+"' is already set");this._defaultHandlers[e]=t},r.on=r.addEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[e];n||(n=this._eventRegistry[e]=[]),n.indexOf(t)==-1&&n.push(t)},r.removeListener=r.removeEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[e];if(!n)return;var r=n.indexOf(t);r!==-1&&n.splice(r,1)},r.removeAllListeners=function(e){this._eventRegistry&&(this._eventRegistry[e]=[])},t.EventEmitter=r}),define("ace/lib/oop",["require","exports","module"],function(e,t,n){t.inherits=function(){var e=function(){};return function(t,n){e.prototype=n.prototype,t.super_=n.prototype,t.prototype=new e,t.prototype.constructor=t}}(),t.mixin=function(e,t){for(var n in t)e[n]=t[n]},t.implement=function(e,n){t.mixin(e,n)}}),define("ace/mode/javascript_worker",["require","exports","module","ace/lib/oop","ace/worker/mirror","ace/mode/javascript/jshint"],function(require,exports,module){function startRegex(e){return RegExp("^("+e.join("|")+")")}var oop=require("../lib/oop"),Mirror=require("../worker/mirror").Mirror,lint=require("./javascript/jshint").JSHINT,disabledWarningsRe=startRegex(["Bad for in variable '(.+)'.",'Missing "use strict"']),errorsRe=startRegex(["Unexpected","Expected ","Confusing (plus|minus)","\\{a\\} unterminated regular expression","Unclosed ","Unmatched ","Unbegun comment","Bad invocation","Missing space after","Missing operator at"]),infoRe=startRegex(["Expected an assignment","Bad escapement of EOL","Unexpected comma","Unexpected space","Missing radix parameter.","A leading decimal point can","\\['{a}'\\] is better written in dot notation.","'{a}' used out of scope"]),JavaScriptWorker=exports.JavaScriptWorker=function(e){Mirror.call(this,e),this.setTimeout(500),this.setOptions()};oop.inherits(JavaScriptWorker,Mirror),function(){this.setOptions=function(e){this.options=e||{es5:!0,esnext:!0,devel:!0,browser:!0,node:!0,laxcomma:!0,laxbreak:!0,lastsemic:!0,onevar:!1,passfail:!1,maxerr:100,expr:!0,multistr:!0,globalstrict:!0},this.doc.getValue()&&this.deferredUpdate.schedule(100)},this.changeOptions=function(e){oop.mixin(this.options,e),this.doc.getValue()&&this.deferredUpdate.schedule(100)},this.isValidJS=function(str){try{eval("throw 0;"+str)}catch(e){if(e===0)return!0}return!1},this.onUpdate=function(){var e=this.doc.getValue();e=e.replace(/^#!.*\n/,"\n");if(!e){this.sender.emit("jslint",[]);return}var t=[],n=this.isValidJS(e)?"warning":"error";lint(e,this.options);var r=lint.errors,i=!1;for(var s=0;s<r.length;s++){var o=r[s];if(!o)continue;var u=o.raw,a="warning";if(u=="Missing semicolon."){var f=o.evidence.substr(o.character);f=f.charAt(f.search(/\S/)),n=="error"&&f&&/[\w\d{(['"]/.test(f)?(o.reason='Missing ";" before statement',a="error"):a="info"}else{if(disabledWarningsRe.test(u))continue;infoRe.test(u)?a="info":errorsRe.test(u)?(i=!0,a=n):u=="'{a}' is not defined."?a="warning":u=="'{a}' is defined but never used."&&(a="info")}t.push({row:o.line-1,column:o.character-1,text:o.reason,type:a,raw:u}),i}this.sender.emit("jslint",t)}}.call(JavaScriptWorker.prototype)}),define("ace/worker/mirror",["require","exports","module","ace/document","ace/lib/lang"],function(e,t,n){var r=e("../document").Document,i=e("../lib/lang"),s=t.Mirror=function(e){this.sender=e;var t=this.doc=new r(""),n=this.deferredUpdate=i.deferredCall(this.onUpdate.bind(this)),s=this;e.on("change",function(e){t.applyDeltas([e.data]),n.schedule(s.$timeout)})};(function(){this.$timeout=500,this.setTimeout=function(e){this.$timeout=e},this.setValue=function(e){this.doc.setValue(e),this.deferredUpdate.schedule(this.$timeout)},this.getValue=function(e){this.sender.callback(this.doc.getValue(),e)},this.onUpdate=function(){}}).call(s.prototype)}),define("ace/document",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=e("./range").Range,o=e("./anchor").Anchor,u=function(e){this.$lines=[],e.length==0?this.$lines=[""]:Array.isArray(e)?this.insertLines(0,e):this.insert({row:0,column:0},e)};(function(){r.implement(this,i),this.setValue=function(e){var t=this.getLength();this.remove(new s(0,0,t,this.getLine(t-1).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new o(this,e,t)},"aaa".split(/a/).length==0?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);t?this.$autoNewLine=t[1]:this.$autoNewLine="\n"},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";case"auto":return this.$autoNewLine}},this.$autoNewLine="\n",this.$newLineMode="auto",this.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){if(e.start.row==e.end.row)return this.$lines[e.start.row].substring(e.start.column,e.end.column);var t=this.getLines(e.start.row+1,e.end.row-1);return t.unshift((this.$lines[e.start.row]||"").substring(e.start.column)),t.push((this.$lines[e.end.row]||"").substring(0,e.end.column)),t.join(this.getNewLineCharacter())},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t&&(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length),e},this.insert=function(e,t){if(!t||t.length===0)return e;e=this.$clipPosition(e),this.getLength()<=1&&this.$detectNewLine(t);var n=this.$split(t),r=n.splice(0,1)[0],i=n.length==0?null:n.splice(n.length-1,1)[0];return e=this.insertInLine(e,r),i!==null&&(e=this.insertNewLine(e),e=this.insertLines(e.row,n),e=this.insertInLine(e,i||"")),e},this.insertLines=function(e,t){if(t.length==0)return{row:e,column:0};if(t.length>65535){var n=this.insertLines(e,t.slice(65535));t=t.slice(0,65535)}var r=[e,0];r.push.apply(r,t),this.$lines.splice.apply(this.$lines,r);var i=new s(e,0,e+t.length,0),o={action:"insertLines",range:i,lines:t};return this._emit("change",{data:o}),n||i.end},this.insertNewLine=function(e){e=this.$clipPosition(e);var t=this.$lines[e.row]||"";this.$lines[e.row]=t.substring(0,e.column),this.$lines.splice(e.row+1,0,t.substring(e.column,t.length));var n={row:e.row+1,column:0},r={action:"insertText",range:s.fromPoints(e,n),text:this.getNewLineCharacter()};return this._emit("change",{data:r}),n},this.insertInLine=function(e,t){if(t.length==0)return e;var n=this.$lines[e.row]||"";this.$lines[e.row]=n.substring(0,e.column)+t+n.substring(e.column);var r={row:e.row,column:e.column+t.length},i={action:"insertText",range:s.fromPoints(e,r),text:t};return this._emit("change",{data:i}),r},this.remove=function(e){e.start=this.$clipPosition(e.start),e.end=this.$clipPosition(e.end);if(e.isEmpty())return e.start;var t=e.start.row,n=e.end.row;if(e.isMultiLine()){var r=e.start.column==0?t:t+1,i=n-1;e.end.column>0&&this.removeInLine(n,0,e.end.column),i>=r&&this.removeLines(r,i),r!=t&&(this.removeInLine(t,e.start.column,this.getLine(t).length),this.removeNewLine(e.start.row))}else this.removeInLine(t,e.start.column,e.end.column);return e.start},this.removeInLine=function(e,t,n){if(t==n)return;var r=new s(e,t,e,n),i=this.getLine(e),o=i.substring(t,n),u=i.substring(0,t)+i.substring(n,i.length);this.$lines.splice(e,1,u);var a={action:"removeText",range:r,text:o};return this._emit("change",{data:a}),r.start},this.removeLines=function(e,t){var n=new s(e,0,t+1,0),r=this.$lines.splice(e,t-e+1),i={action:"removeLines",range:n,nl:this.getNewLineCharacter(),lines:r};return this._emit("change",{data:i}),r},this.removeNewLine=function(e){var t=this.getLine(e),n=this.getLine(e+1),r=new s(e,t.length,e+1,0),i=t+n;this.$lines.splice(e,2,i);var o={action:"removeText",range:r,text:this.getNewLineCharacter()};this._emit("change",{data:o})},this.replace=function(e,t){if(t.length==0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);if(t)var n=this.insert(e.start,t);else n=e.start;return n},this.applyDeltas=function(e){for(var t=0;t<e.length;t++){var n=e[t],r=s.fromPoints(n.range.start,n.range.end);n.action=="insertLines"?this.insertLines(r.start.row,n.lines):n.action=="insertText"?this.insert(r.start,n.text):n.action=="removeLines"?this.removeLines(r.start.row,r.end.row-1):n.action=="removeText"&&this.remove(r)}},this.revertDeltas=function(e){for(var t=e.length-1;t>=0;t--){var n=e[t],r=s.fromPoints(n.range.start,n.range.end);n.action=="insertLines"?this.removeLines(r.start.row,r.end.row-1):n.action=="insertText"?this.remove(r):n.action=="removeLines"?this.insertLines(r.start.row,n.lines):n.action=="removeText"&&this.insert(r.start,n.text)}}}).call(u.prototype),t.Document=u}),define("ace/range",["require","exports","module"],function(e,t,n){var r=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row==e.start.row&&this.end.row==e.end.row&&this.start.column==e.start.column&&this.end.column==e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?t<this.start.column?-1:t>this.end.column?1:0:e<this.start.row?-1:e>this.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};if(this.start.row>t)var i={row:t+1,column:0};if(this.start.row<e)var i={row:e,column:0};if(this.end.row<e)var n={row:e,column:0};return r.fromPoints(i||this.start,n||this.end)},this.extend=function(e,t){var n=this.compare(e,t);if(n==0)return this;if(n==-1)var i={row:e,column:t};else var s={row:e,column:t};return r.fromPoints(i||this.start,s||this.end)},this.isEmpty=function(){return this.start.row==this.end.row&&this.start.column==this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return r.fromPoints(this.start,this.end)},this.collapseRows=function(){return this.end.column==0?new r(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new r(this.start.row,0,this.end.row,0)},this.toScreenRange=function(e){var t=e.documentToScreenPosition(this.start),n=e.documentToScreenPosition(this.end);return new r(t.row,t.column,n.row,n.column)}}).call(r.prototype),r.fromPoints=function(e,t){return new r(e.row,e.column,t.row,t.column)},t.Range=r}),define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=t.Anchor=function(e,t,n){this.document=e,typeof n=="undefined"?this.setPosition(t.row,t.column):this.setPosition(t,n),this.$onChange=this.onChange.bind(this),e.on("change",this.$onChange)};(function(){r.implement(this,i),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.onChange=function(e){var t=e.data,n=t.range;if(n.start.row==n.end.row&&n.start.row!=this.row)return;if(n.start.row>this.row)return;if(n.start.row==this.row&&n.start.column>this.column)return;var r=this.row,i=this.column;t.action==="insertText"?n.start.row===r&&n.start.column<=i?n.start.row===n.end.row?i+=n.end.column-n.start.column:(i-=n.start.column,r+=n.end.row-n.start.row):n.start.row!==n.end.row&&n.start.row<r&&(r+=n.end.row-n.start.row):t.action==="insertLines"?n.start.row<=r&&(r+=n.end.row-n.start.row):t.action=="removeText"?n.start.row==r&&n.start.column<i?n.end.column>=i?i=n.start.column:i=Math.max(0,i-(n.end.column-n.start.column)):n.start.row!==n.end.row&&n.start.row<r?(n.end.row==r&&(i=Math.max(0,i-n.end.column)+n.start.column),r-=n.end.row-n.start.row):n.end.row==r&&(r-=n.end.row-n.start.row,i=Math.max(0,i-n.end.column)+n.start.column):t.action=="removeLines"&&n.start.row<=r&&(n.end.row<=r?r-=n.end.row-n.start.row:(r=n.start.row,i=0)),this.setPosition(r,i,!0)},this.setPosition=function(e,t,n){var r;n?r={row:e,column:t}:r=this.$clipPositionToDocument(e,t);if(this.row==r.row&&this.column==r.column)return;var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._emit("change",{old:i,value:r})},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),define("ace/lib/lang",["require","exports","module"],function(e,t,n){t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){return(new Array(t+1)).join(e)};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n<r;n++)e[n]&&typeof e[n]=="object"?t[n]=this.copyObject(e[n]):t[n]=e[n];return t},t.deepCopy=function(e){if(typeof e!="object")return e;var t=e.constructor();for(var n in e)typeof e[n]=="object"?t[n]=this.deepCopy(e[n]):t[n]=e[n];return t},t.arrayToMap=function(e){var t={};for(var n=0;n<e.length;n++)t[e[n]]=1;return t},t.createMap=function(e){var t=Object.create(null);for(var n in e)t[n]=e[n];return t},t.arrayRemove=function(e,t){for(var n=0;n<=e.length;n++)t===e[n]&&e.splice(n,1)},t.escapeRegExp=function(e){return e.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},t.escapeHTML=function(e){return e.replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},t.getMatchOffsets=function(e,t){var n=[];return e.replace(t,function(e){n.push({offset:arguments[arguments.length-2],length:e.length})}),n},t.deferredCall=function(e){var t=null,n=function(){t=null,e()},r=function(e){return r.cancel(),t=setTimeout(n,e||0),r};return r.schedule=r,r.call=function(){return this.cancel(),e(),r},r.cancel=function(){return clearTimeout(t),t=null,r},r},t.delayedCall=function(e,t){var n=null,r=function(){n=null,e()},i=function(e){n&&clearTimeout(n),n=setTimeout(r,e||t)};return i.delay=i,i.schedule=function(e){n==null&&(n=setTimeout(r,e||0))},i.call=function(){this.cancel(),e()},i.cancel=function(){n&&clearTimeout(n),n=null},i.isPending=function(){return n},i}}),define("ace/mode/javascript/jshint",["require","exports","module"],function(e,t,n){var r=function(){function ot(){}function ut(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function at(e,t){i[e]===undefined&&n[e]===undefined&&bt("Bad option: '"+e+"'.",t)}function ft(e){return Object.prototype.toString.call(e)==="[object String]"}function lt(e){return e>="a"&&e<="z￿"||e>="A"&&e<="Z￿"}function ct(e){return e>="0"&&e<="9"}function ht(e,t){return e?!e.identifier||e.value!==t?!1:!0:!1}function pt(e,t){return e.replace(/\{([^{}]*)\}/g,function(e,n){var r=t[n];return typeof r=="string"||typeof r=="number"?r:e})}function dt(e,t){var n;for(n in t)ut(t,n)&&!ut(r.blacklist,n)&&(e[n]=t[n])}function vt(){Object.keys(r.blacklist).forEach(function(e){delete O[e]})}function mt(){A.couch&&dt(O,a),A.rhino&&dt(O,H),A.prototypejs&&dt(O,D),A.node&&(dt(O,k),A.globalstrict=!0),A.devel&&dt(O,l),A.dojo&&dt(O,c),A.browser&&dt(O,u),A.nonstandard&&dt(O,I),A.jquery&&dt(O,w),A.mootools&&dt(O,N),A.worker&&dt(O,J),A.wsh&&dt(O,K),A.esnext&&V(),A.globalstrict&&A.strict!==!1&&(A.strict=!0),A.yui&&dt(O,Q)}function gt(e,t,n){var r=Math.floor(t/E.length*100);throw{name:"JSHintError",line:t,character:n,message:e+" ("+r+"% scanned).",raw:e}}function yt(e,t,n,i){return r.undefs.push([e,t,n,i])}function bt(e,t,n,i,s,o){var u,a,f;return t=t||C,t.id==="(end)"&&(t=z),a=t.line||0,u=t.from||0,f={id:"(error)",raw:e,evidence:E[a-1]||"",line:a,character:u,scope:r.scope,a:n,b:i,c:s,d:o},f.reason=pt(e,f),r.errors.push(f),A.passfail&&gt("Stopping. ",a,u),$+=1,$>=A.maxerr&&gt("Too many errors.",a,u),f}function wt(e,t,n,r,i,s,o){return bt(e,{line:t,from:n},r,i,s,o)}function Et(e,t,n,r,i,s){bt(e,t,n,r,i,s)}function St(e,t,n,r,i,s,o){return Et(e,{line:t,from:n},r,i,s,o)}function xt(e,t){var n;return n={id:"(internal)",elem:e,value:t},r.internals.push(n),n}function Nt(e,t,n){e==="hasOwnProperty"&&bt("'hasOwnProperty' is a really bad name."),t==="exception"&&ut(h["(context)"],e)&&h[e]!==!0&&!A.node&&bt("Value of '{a}' may be overwritten in IE.",C,e),ut(h,e)&&!h["(global)"]&&(h[e]===!0?A.latedef&&bt("'{a}' was used before it was defined.",C,e):!A.shadow&&t!=="exception"&&bt("'{a}' is already defined.",C,e)),h[e]=t,n&&(h["(tokens)"][e]=n),h["(global)"]?(v[e]=h,ut(m,e)&&(A.latedef&&bt("'{a}' was used before it was defined.",C,e),delete m[e])):B[e]=h}function Ct(){var e=C,t=e.value,i=A.quotmark,u={},a,l,c,p,d,v,m;switch(t){case"*/":Et("Unbegun comment.");break;case"/*members":case"/*member":t="/*members",T||(T={}),l=T,A.quotmark=!1;break;case"/*jshint":case"/*jslint":l=A,c=n;break;case"/*global":l=u;break;default:Et("What?")}p=Tt.token();e:for(;;){m=!1;for(;;){if(p.type==="special"&&p.value==="*/")break e;if(p.id!=="(endline)"&&p.id!==",")break;p=Tt.token()}t==="/*global"&&p.value==="-"&&(m=!0,p=Tt.token()),p.type!=="(string)"&&p.type!=="(identifier)"&&t!=="/*members"&&Et("Bad option.",p),v=Tt.token();if(v.id===":"){v=Tt.token(),l===T&&Et("Expected '{a}' and instead saw '{b}'.",p,"*/",":"),t==="/*jshint"&&at(p.value,p);var g=["maxstatements","maxparams","maxdepth","maxcomplexity","maxerr","maxlen","indent"];if(g.indexOf(p.value)>-1&&(t==="/*jshint"||t==="/*jslint"))a=+v.value,(typeof a!="number"||!isFinite(a)||a<=0||Math.floor(a)!==a)&&Et("Expected a small integer and instead saw '{a}'.",v,v.value),p.value==="indent"&&(l.white=!0),l[p.value]=a;else if(p.value==="validthis")h["(global)"]?Et("Option 'validthis' can't be used in a global scope."):v.value==="true"||v.value==="false"?l[p.value]=v.value==="true":Et("Bad option value.",v);else if(p.value==="quotmark"&&t==="/*jshint")switch(v.value){case"true":l.quotmark=!0;break;case"false":l.quotmark=!1;break;case"double":case"single":l.quotmark=v.value;break;default:Et("Bad option value.",v)}else v.value==="true"||v.value==="false"?(t==="/*jslint"?(d=o[p.value]||p.value,l[d]=v.value==="true",s[d]!==undefined&&(l[d]=!l[d])):l[p.value]=v.value==="true",p.value==="newcap"&&(l["(explicitNewcap)"]=!0)):Et("Bad option value.",v);p=Tt.token()}else(t==="/*jshint"||t==="/*jslint")&&Et("Missing option value.",p),l[p.value]=!1,t==="/*global"&&m===!0&&(r.blacklist[p.value]=p.value,vt()),p=v}t==="/*members"&&(A.quotmark=i),dt(O,u);for(var y in u)ut(u,y)&&(f[y]=e);c&&mt()}function kt(e){var t=e||0,n=0,r;while(n<=t)r=S[n],r||(r=S[n]=Tt.token()),n+=1;return r}function Lt(t,n){switch(z.id){case"(number)":C.id==="."&&bt("A dot following a number can be confused with a decimal point.",z);break;case"-":(C.id==="-"||C.id==="--")&&bt("Confusing minusses.");break;case"+":(C.id==="+"||C.id==="++")&&bt("Confusing plusses.")}if(z.type==="(string)"||z.identifier)e=z.value;t&&C.id!==t&&(n?C.id==="(end)"?bt("Unmatched '{a}'.",n,n.id):bt("Expected '{a}' to match '{b}' from line {c} and instead saw '{d}'.",C,t,n.id,n.line,C.value):(C.type!=="(identifier)"||C.value!==t)&&bt("Expected '{a}' and instead saw '{b}'.",C,t,C.value)),_=z,z=C;for(;;){C=S.shift()||Tt.token();if(C.id==="(end)"||C.id==="(error)")return;if(C.type==="special")Ct();else if(C.id!=="(endline)")break}}function At(t,n){var r,i=!1,s=!1;C.id==="(end)"&&Et("Unexpected early end of program.",z),Lt(),n&&(e="anonymous",h["(verb)"]=z.value);if(n===!0&&z.fud)r=z.fud();else{if(z.nud)r=z.nud();else{if(C.type==="(number)"&&z.id===".")return bt("A leading decimal point can be confused with a dot: '.{a}'.",z,C.value),Lt(),z;Et("Expected an identifier and instead saw '{a}'.",z,z.id)}while(t<C.lbp)i=z.value==="Array",s=z.value==="Object",r&&(r.value||r.first&&r.first.value)&&(r.value!=="new"||r.first&&r.first.value&&r.first.value===".")&&(i=!1,r.value!==z.value&&(s=!1)),Lt(),i&&z.id==="("&&C.id===")"&&bt("Use the array literal notation [].",z),s&&z.id==="("&&C.id===")"&&bt("Use the object literal notation {}.",z),z.led?r=z.led(r):Et("Expected an operator and instead saw '{a}'.",z,z.id)}return r}function Ot(e,t){e=e||z,t=t||C,A.white&&e.character!==t.from&&e.line===t.line&&(e.from+=e.character-e.from,bt("Unexpected space after '{a}'.",e,e.value))}function Mt(e,t){e=e||z,t=t||C,A.white&&(e.character!==t.from||e.line!==t.line)&&bt("Unexpected space before '{a}'.",t,t.value)}function _t(e,t){e=e||z,t=t||C,A.white&&!e.comment&&e.line===t.line&&Ot(e,t)}function Dt(e,t){if(A.white){e=e||z,t=t||C;if(e.value===";"&&t.value===";")return;e.line===t.line&&e.character===t.from&&(e.from+=e.character-e.from,bt("Missing space after '{a}'.",e,e.value))}}function Pt(e,t){e=e||z,t=t||C,!A.laxbreak&&e.line!==t.line?bt("Bad line breaking before '{a}'.",t,t.id):A.white&&(e=e||z,t=t||C,e.character===t.from&&(e.from+=e.character-e.from,bt("Missing space after '{a}'.",e,e.value)))}function Ht(e){var t;A.white&&C.id!=="(end)"&&(t=y+(e||0),C.from!==t&&bt("Expected '{a}' to have an indentation at {b} instead at {c}.",C,C.value,t,C.from))}function Bt(e){e=e||z,e.line!==C.line&&bt("Line breaking error '{a}'.",e,e.value)}function jt(){z.line!==C.line?A.laxcomma||(jt.first&&(bt("Comma warnings can be turned off with 'laxcomma'"),jt.first=!1),bt("Bad line breaking before '{a}'.",z,C.id)):!z.comment&&z.character!==C.from&&A.white&&(z.from+=z.character-z.from,bt("Unexpected space after '{a}'.",z,z.value)),Lt(","),Dt(z,C)}function Ft(e,t){var n=R[e];if(!n||typeof n!="object")R[e]=n={id:e,lbp:t,value:e};return n}function It(e){return Ft(e,0)}function qt(e,t){var n=It(e);return n.identifier=n.reserved=!0,n.fud=t,n}function Rt(e,t){var n=qt(e,t);return n.block=!0,n}function Ut(e){var t=e.id.charAt(0);if(t>="a"&&t<="z"||t>="A"&&t<="Z")e.identifier=e.reserved=!0;return e}function zt(e,t){var n=Ft(e,150);return Ut(n),n.nud=typeof t=="function"?t:function(){this.right=At(150),this.arity="unary";if(this.id==="++"||this.id==="--")A.plusplus?bt("Unexpected use of '{a}'.",this,this.id):(!this.right.identifier||this.right.reserved)&&this.right.id!=="."&&this.right.id!=="["&&bt("Bad operand.",this);return this},n}function Wt(e,t){var n=It(e);return n.type=e,n.nud=t,n}function Xt(e,t){var n=Wt(e,t);return n.identifier=n.reserved=!0,n}function Vt(e,t){return Xt(e,function(){return typeof t=="function"&&t(this),this})}function $t(e,t,n,r){var i=Ft(e,n);return Ut(i),i.led=function(i){return r||(Pt(_,z),Dt(z,C)),e==="in"&&i.id==="!"&&bt("Confusing use of '{a}'.",i,"!"),typeof t=="function"?t(i,this):(this.left=i,this.right=At(n),this)},i}function Jt(e,t){var n=Ft(e,100);return n.led=function(e){Pt(_,z),Dt(z,C);var n=At(100);return ht(e,"NaN")||ht(n,"NaN")?bt("Use the isNaN function to compare with NaN.",this):t&&t.apply(this,[e,n]),e.id==="!"&&bt("Confusing use of '{a}'.",e,"!"),n.id==="!"&&bt("Confusing use of '{a}'.",n,"!"),this.left=e,this.right=n,this},n}function Kt(e){return e&&(e.type==="(number)"&&+e.value===0||e.type==="(string)"&&e.value===""||e.type==="null"&&!A.eqnull||e.type==="true"||e.type==="false"||e.type==="undefined")}function Qt(e){return Ft(e,20).exps=!0,$t(e,function(e,t){t.left=e,O[e.value]===!1&&B[e.value]["(global)"]===!0?bt("Read only.",e):e["function"]&&bt("'{a}' is a function.",e,e.value);if(e){A.esnext&&h[e.value]==="const"&&bt("Attempting to override '{a}' which is a constant",e,e.value);if(e.id==="."||e.id==="[")return(!e.left||e.left.value==="arguments")&&bt("Bad assignment.",t),t.right=At(19),t;if(e.identifier&&!e.reserved)return h[e.value]==="exception"&&bt("Do not assign to the exception parameter.",e),t.right=At(19),t;e===R["function"]&&bt("Expected an identifier in an assignment and instead saw a function invocation.",z)}Et("Bad assignment.",t)},20)}function Gt(e,t,n){var r=Ft(e,n);return Ut(r),r.led=typeof t=="function"?t:function(e){return A.bitwise&&bt("Unexpected use of '{a}'.",this,this.id),this.left=e,this.right=At(n),this},r}function Yt(e){return Ft(e,20).exps=!0,$t(e,function(e,t){A.bitwise&&bt("Unexpected use of '{a}'.",t,t.id),Dt(_,z),Dt(z,C);if(e)return e.id==="."||e.id==="["||e.identifier&&!e.reserved?(At(19),t):(e===R["function"]&&bt("Expected an identifier in an assignment, and instead saw a function invocation.",z),t);Et("Bad assignment.",t)},20)}function Zt(e){var t=Ft(e,150);return t.led=function(e){return A.plusplus?bt("Unexpected use of '{a}'.",this,this.id):(!e.identifier||e.reserved)&&e.id!=="."&&e.id!=="["&&bt("Bad operand.",this),this.left=e,this},t}function en(e){if(C.identifier)return Lt(),z.reserved&&!A.es5&&(!e||z.value!=="undefined")&&bt("Expected an identifier and instead saw '{a}' (a reserved word).",z,z.id),z.value}function tn(e){var t=en(e);if(t)return t;z.id==="function"&&C.id==="("?bt("Missing name in function declaration."):Et("Expected an identifier and instead saw '{a}'.",C,C.value)}function nn(e){var t=0,n;if(C.id!==";"||L)return;for(;;){n=kt(t);if(n.reach)return;if(n.id!=="(endline)"){if(n.id==="function"){if(!A.latedef)break;bt("Inner functions should be listed at the top of the outer function.",n);break}bt("Unreachable '{a}' after '{b}'.",n,n.value,e);break}t+=1}}function rn(e){var t=y,n,r=B,i=C;if(i.id===";"){Lt(";");return}i.identifier&&!i.reserved&&kt().id===":"&&(Lt(),Lt(":"),B=Object.create(r),Nt(i.value,"label"),!C.labelled&&C.value!=="{"&&bt("Label '{a}' on {b} statement.",C,i.value,C.value),it.test(i.value+":")&&bt("Label '{a}' looks like a javascript url.",i,i.value),C.label=i.value,i=C);if(i.id==="{"){un(!0,!0);return}e||Ht(),n=At(0,!0);if(!i.block){!A.expr&&(!n||!n.exps)?bt("Expected an assignment or function call and instead saw an expression.",z):A.nonew&&n.id==="("&&n.left.id==="new"&&bt("Do not use 'new' for side effects.",i);if(C.id===",")return jt();C.id!==";"?A.asi||(!A.lastsemic||C.id!=="}"||C.line!==z.line)&&wt("Missing semicolon.",z.line,z.character):(Ot(z,C),Lt(";"),Dt(z,C))}return y=t,B=r,n}function sn(e){var t=[],n;while(!C.reach&&C.id!=="(end)")C.id===";"?(n=kt(),(!n||n.id!=="(")&&bt("Unnecessary semicolon."),Lt(";")):t.push(rn(e===C.line));return t}function on(){var e,t,n;for(;;){if(C.id==="(string)"){t=kt(0);if(t.id==="(endline)"){e=1;do n=kt(e),e+=1;while(n.id==="(endline)");if(n.id!==";"){if(n.id!=="(string)"&&n.id!=="(number)"&&n.id!=="(regexp)"&&n.identifier!==!0&&n.id!=="}")break;bt("Missing semicolon.",C)}else t=n}else if(t.id==="}")bt("Missing semicolon.",t);else if(t.id!==";")break;Ht(),Lt(),q[z.value]&&bt('Unnecessary directive "{a}".',z,z.value),z.value==="use strict"&&(A["(explicitNewcap)"]||(A.newcap=!0),A.undef=!0),q[z.value]=!0,t.id===";"&&Lt(";");continue}break}}function un(e,t,n){var r,i=g,s=y,o,u=B,a,f,l;g=e;if(!e||!A.funcscope)B=Object.create(B);Dt(z,C),a=C;var c=h["(metrics)"];c.nestedBlockDepth+=1,c.verifyMaxNestedBlockDepthPerFunction();if(C.id==="{"){Lt("{"),f=z.line;if(C.id!=="}"){y+=A.indent;while(!e&&C.from>y)y+=A.indent;if(n){o={};for(l in q)ut(q,l)&&(o[l]=q[l]);on(),A.strict&&h["(context)"]["(global)"]&&!o["use strict"]&&!q["use strict"]&&bt('Missing "use strict" statement.')}r=sn(f),c.statementCount+=r.length,n&&(q=o),y-=A.indent,f!==C.line&&Ht()}else f!==C.line&&Ht();Lt("}",a),y=s}else e?((!t||A.curly)&&bt("Expected '{a}' and instead saw '{b}'.",C,"{",C.value),L=!0,y+=A.indent,r=[rn(C.line===z.line)],y-=A.indent,L=!1):Et("Expected '{a}' and instead saw '{b}'.",C,"{",C.value);h["(verb)"]=null;if(!e||!A.funcscope)B=u;return g=i,e&&A.noempty&&(!r||r.length===0)&&bt("Empty block."),c.nestedBlockDepth-=1,r}function an(e){T&&typeof T[e]!="boolean"&&bt("Unexpected /*member '{a}'.",z,e),typeof x[e]=="number"?x[e]+=1:x[e]=1}function fn(e){var t=e.value,n=e.line,r=m[t];typeof r=="function"&&(r=!1),r?r[r.length-1]!==n&&r.push(n):(r=[n],m[t]=r)}function ln(){var e=en(!0);return e||(C.id==="(string)"?(e=C.value,Lt()):C.id==="(number)"&&(e=C.value.toString(),Lt())),e}function cn(){var e=C,t=[],n;Lt("("),_t();if(C.id===")"){Lt(")");return}for(;;){n=tn(!0),t.push(n),Nt(n,"unused",z);if(C.id!==",")return Lt(")",e),_t(_,z),t;jt()}}function hn(t,n){var r,i=A,s=B;return A=Object.create(A),B=Object.create(B),h={"(name)":t||'"'+e+'"',"(line)":C.line,"(character)":C.character,"(context)":h,"(breakage)":0,"(loopage)":0,"(metrics)":pn(C),"(scope)":B,"(statement)":n,"(tokens)":{}},r=h,z.funct=h,d.push(h),t&&Nt(t,"function"),h["(params)"]=cn(),h["(metrics)"].verifyMaxParametersPerFunction(h["(params)"]),un(!1,!1,!0),h["(metrics)"].verifyMaxStatementsPerFunction(),h["(metrics)"].verifyMaxComplexityPerFunction(),B=s,A=i,h["(last)"]=z.line,h["(lastcharacter)"]=z.character,h=h["(context)"],r}function pn(e){return{statementCount:0,nestedBlockDepth:-1,ComplexityCount:1,verifyMaxStatementsPerFunction:function(){if(A.maxstatements&&this.statementCount>A.maxstatements){var t="Too many statements per function ("+this.statementCount+").";bt(t,e)}},verifyMaxParametersPerFunction:function(t){t=t||[];if(A.maxparams&&t.length>A.maxparams){var n="Too many parameters per function ("+t.length+").";bt(n,e)}},verifyMaxNestedBlockDepthPerFunction:function(){if(A.maxdepth&&this.nestedBlockDepth>0&&this.nestedBlockDepth===A.maxdepth+1){var e="Blocks are nested too deeply ("+this.nestedBlockDepth+").";bt(e)}},verifyMaxComplexityPerFunction:function(){var t=A.maxcomplexity,n=this.ComplexityCount;if(t&&n>t){var r="Cyclomatic complexity is too high per function ("+n+").";bt(r,e)}}}}function dn(){h["(metrics)"].ComplexityCount+=1}function mn(){function e(){var e={},t=C;Lt("{");if(C.id!=="}")for(;;){if(C.id==="(end)")Et("Missing '}' to match '{' from line {a}.",C,t.line);else{if(C.id==="}"){bt("Unexpected comma.",z);break}C.id===","?Et("Unexpected comma.",C):C.id!=="(string)"&&bt("Expected a string and instead saw {a}.",C,C.value)}e[C.value]===!0?bt("Duplicate key '{a}'.",C,C.value):C.value==="__proto__"&&!A.proto||C.value==="__iterator__"&&!A.iterator?bt("The '{a}' key may produce unexpected results.",C,C.value):e[C.value]=!0,Lt(),Lt(":"),mn();if(C.id!==",")break;Lt(",")}Lt("}")}function t(){var e=C;Lt("[");if(C.id!=="]")for(;;){if(C.id==="(end)")Et("Missing ']' to match '[' from line {a}.",C,e.line);else{if(C.id==="]"){bt("Unexpected comma.",z);break}C.id===","&&Et("Unexpected comma.",C)}mn();if(C.id!==",")break;Lt(",")}Lt("]")}switch(C.id){case"{":e();break;case"[":t();break;case"true":case"false":case"null":case"(number)":case"(string)":Lt();break;case"-":Lt("-"),z.character!==C.from&&bt("Unexpected space after '-'.",z),Ot(z,C),Lt("(number)");break;default:Et("Expected a JSON value.",C)}}var e,t={"<":!0,"<=":!0,"==":!0,"===":!0,"!==":!0,"!=":!0,">":!0,">=":!0,"+":!0,"-":!0,"*":!0,"/":!0,"%":!0},n={asi:!0,bitwise:!0,boss:!0,browser:!0,camelcase:!0,couch:!0,curly:!0,debug:!0,devel:!0,dojo:!0,eqeqeq:!0,eqnull:!0,es5:!0,esnext:!0,evil:!0,expr:!0,forin:!0,funcscope:!0,globalstrict:!0,immed:!0,iterator:!0,jquery:!0,lastsemic:!0,latedef:!0,laxbreak:!0,laxcomma:!0,loopfunc:!0,mootools:!0,multistr:!0,newcap:!0,noarg:!0,node:!0,noempty:!0,nonew:!0,nonstandard:!0,nomen:!0,onevar:!0,onecase:!0,passfail:!0,plusplus:!0,proto:!0,prototypejs:!0,regexdash:!0,regexp:!0,rhino:!0,undef:!0,unused:!0,scripturl:!0,shadow:!0,smarttabs:!0,strict:!0,sub:!0,supernew:!0,trailing:!0,validthis:!0,withstmt:!0,white:!0,worker:!0,wsh:!0,yui:!0},i={maxlen:!1,indent:!1,maxerr:!1,predef:!1,quotmark:!1,scope:!1,maxstatements:!1,maxdepth:!1,maxparams:!1,maxcomplexity:!1},s={bitwise:!0,forin:!0,newcap:!0,nomen:!0,plusplus:!0,regexp:!0,undef:!0,white:!0,eqeqeq:!0,onevar:!0},o={eqeq:"eqeqeq",vars:"onevar",windows:"wsh"},u={ArrayBuffer:!1,ArrayBufferView:!1,Audio:!1,Blob:!1,addEventListener:!1,applicationCache:!1,atob:!1,blur:!1,btoa:!1,clearInterval:!1,clearTimeout:!1,close:!1,closed:!1,DataView:!1,DOMParser:!1,defaultStatus:!1,document:!1,event:!1,FileReader:!1,Float32Array:!1,Float64Array:!1,FormData:!1,focus:!1,frames:!1,getComputedStyle:!1,HTMLElement:!1,HTMLAnchorElement:!1,HTMLBaseElement:!1,HTMLBlockquoteElement:!1,HTMLBodyElement:!1,HTMLBRElement:!1,HTMLButtonElement:!1,HTMLCanvasElement:!1,HTMLDirectoryElement:!1,HTMLDivElement:!1,HTMLDListElement:!1,HTMLFieldSetElement:!1,HTMLFontElement:!1,HTMLFormElement:!1,HTMLFrameElement:!1,HTMLFrameSetElement:!1,HTMLHeadElement:!1,HTMLHeadingElement:!1,HTMLHRElement:!1,HTMLHtmlElement:!1,HTMLIFrameElement:!1,HTMLImageElement:!1,HTMLInputElement:!1,HTMLIsIndexElement:!1,HTMLLabelElement:!1,HTMLLayerElement:!1,HTMLLegendElement:!1,HTMLLIElement:!1,HTMLLinkElement:!1,HTMLMapElement:!1,HTMLMenuElement:!1,HTMLMetaElement:!1,HTMLModElement:!1,HTMLObjectElement:!1,HTMLOListElement:!1,HTMLOptGroupElement:!1,HTMLOptionElement:!1,HTMLParagraphElement:!1,HTMLParamElement:!1,HTMLPreElement:!1,HTMLQuoteElement:!1,HTMLScriptElement:!1,HTMLSelectElement:!1,HTMLStyleElement:!1,HTMLTableCaptionElement:!1,HTMLTableCellElement:!1,HTMLTableColElement:!1,HTMLTableElement:!1,HTMLTableRowElement:!1,HTMLTableSectionElement:!1,HTMLTextAreaElement:!1,HTMLTitleElement:!1,HTMLUListElement:!1,HTMLVideoElement:!1,history:!1,Int16Array:!1,Int32Array:!1,Int8Array:!1,Image:!1,length:!1,localStorage:!1,location:!1,MessageChannel:!1,MessageEvent:!1,MessagePort:!1,moveBy:!1,moveTo:!1,MutationObserver:!1,name:!1,Node:!1,NodeFilter:!1,navigator:!1,onbeforeunload:!0,onblur:!0,onerror:!0,onfocus:!0,onload:!0,onresize:!0,onunload:!0,open:!1,openDatabase:!1,opener:!1,Option:!1,parent:!1,print:!1,removeEventListener:!1,resizeBy:!1,resizeTo:!1,screen:!1,scroll:!1,scrollBy:!1,scrollTo:!1,sessionStorage:!1,setInterval:!1,setTimeout:!1,SharedWorker:!1,status:!1,top:!1,Uint16Array:!1,Uint32Array:!1,Uint8Array:!1,WebSocket:!1,window:!1,Worker:!1,XMLHttpRequest:!1,XMLSerializer:!1,XPathEvaluator:!1,XPathException:!1,XPathExpression:!1,XPathNamespace:!1,XPathNSResolver:!1,XPathResult:!1},a={require:!1,respond:!1,getRow:!1,emit:!1,send:!1,start:!1,sum:!1,log:!1,exports:!1,module:!1,provides:!1},f,l={alert:!1,confirm:!1,console:!1,Debug:!1,opera:!1,prompt:!1},c={dojo:!1,dijit:!1,dojox:!1,define:!1,require:!1},h,p=["closure","exception","global","label","outer","unused","var"],d,v,m,g,y,b,w={$:!1,jQuery:!1},E,S,x,T,N={$:!1,$$:!1,Asset:!1,Browser:!1,Chain:!1,Class:!1,Color:!1,Cookie:!1,Core:!1,Document:!1,DomReady:!1,DOMEvent:!1,DOMReady:!1,Drag:!1,Element:!1,Elements:!1,Event:!1,Events:!1,Fx:!1,Group:!1,Hash:!1,HtmlTable:!1,Iframe:!1,IframeShim:!1,InputValidator:!1,instanceOf:!1,Keyboard:!1,Locale:!1,Mask:!1,MooTools:!1,Native:!1,Options:!1,OverText:!1,Request:!1,Scroller:!1,Slick:!1,Slider:!1,Sortables:!1,Spinner:!1,Swiff:!1,Tips:!1,Type:!1,typeOf:!1,URI:!1,Window:!1},C,k={__filename:!1,__dirname:!1,Buffer:!1,console:!1,exports:!0,GLOBAL:!1,global:!1,module:!1,process:!1,require:!1,setTimeout:!1,clearTimeout:!1,setInterval:!1,clearInterval:!1},L,A,O,M,_,D={$:!1,$$:!1,$A:!1,$F:!1,$H:!1,$R:!1,$break:!1,$continue:!1,$w:!1,Abstract:!1,Ajax:!1,Class:!1,Enumerable:!1,Element:!1,Event:!1,Field:!1,Form:!1,Hash:!1,Insertion:!1,ObjectRange:!1,PeriodicalExecuter:!1,Position:!1,Prototype:!1,Selector:!1,Template:!1,Toggle:!1,Try:!1,Autocompleter:!1,Builder:!1,Control:!1,Draggable:!1,Draggables:!1,Droppables:!1,Effect:!1,Sortable:!1,SortableObserver:!1,Sound:!1,Scriptaculous:!1},P,H={defineClass:!1,deserialize:!1,gc:!1,help:!1,importPackage:!1,java:!1,load:!1,loadClass:!1,print:!1,quit:!1,readFile:!1,readUrl:!1,runCommand:!1,seal:!1,serialize:!1,spawn:!1,sync:!1,toint32:!1,version:!1},B,j,F={Array:!1,Boolean:!1,Date:!1,decodeURI:!1,decodeURIComponent:!1,encodeURI:!1,encodeURIComponent:!1,Error:!1,eval:!1,EvalError:!1,Function:!1,hasOwnProperty:!1,isFinite:!1,isNaN:!1,JSON:!1,Map:!1,Math:!1,NaN:!1,Number:!1,Object:!1,parseInt:!1,parseFloat:!1,RangeError:!1,ReferenceError:!1,RegExp:!1,Set:!1,String:!1,SyntaxError:!1,TypeError:!1,URIError:!1,WeakMap:!1},I={escape:!1,unescape:!1},q,R={},U,z,W,X,V,$,J={importScripts:!0,postMessage:!0,self:!0},K={ActiveXObject:!0,Enumerator:!0,GetObject:!0,ScriptEngine:!0,ScriptEngineBuildVersion:!0,ScriptEngineMajorVersion:!0,ScriptEngineMinorVersion:!0,VBArray:!0,WSH:!0,WScript:!0,XDomainRequest:!0},Q={YUI:!1,Y:!1,YUI_config:!1},G,Y,Z,et,tt,nt,rt,it,st;(function(){G=/@cc|<\/?|script|\]\s*\]|<\s*!|&lt/i,Y=/[\u0000-\u001f\u007f-\u009f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/,Z=/^\s*([(){}\[.,:;'"~\?\]#@]|==?=?|\/=(?!(\S*\/[gim]?))|\/(\*(jshint|jslint|members?|global)?|\/)?|\*[\/=]?|\+(?:=|\++)?|-(?:=|-+)?|%=?|&[&=]?|\|[|=]?|>>?>?=?|<([\/=!]|\!(\[|--)?|<=?)?|\^=?|\!=?=?|[a-zA-Z_$][a-zA-Z0-9_$]*|[0-9]+([xX][0-9a-fA-F]+|\.[0-9]*)?([eE][+\-]?[0-9]+)?)/,et=/[\u0000-\u001f&<"\/\\\u007f-\u009f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/,tt=/[\u0000-\u001f&<"\/\\\u007f-\u009f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,nt=/\*\//,rt=/^([a-zA-Z_$][a-zA-Z0-9_$]*)$/,it=/^(?:javascript|jscript|ecmascript|vbscript|mocha|livescript)\s*:/i,st=/^\s*\/\*\s*falls\sthrough\s*\*\/\s*$/})(),typeof Array.isArray!="function"&&(Array.isArray=function(e){return Object.prototype.toString.apply(e)==="[object Array]"}),Array.prototype.forEach||(Array.prototype.forEach=function(e,t){var n=this.length;for(var r=0;r<n;r++)e.call(t||this,this[r],r,this)}),Array.prototype.indexOf||(Array.prototype.indexOf=function(e){if(this===null||this===undefined)throw new TypeError;var t=new Object(this),n=t.length>>>0;if(n===0)return-1;var r=0;arguments.length>0&&(r=Number(arguments[1]),r!=r?r=0:r!==0&&r!=Infinity&&r!=-Infinity&&(r=(r>0||-1)*Math.floor(Math.abs(r))));if(r>=n)return-1;var i=r>=0?r:Math.max(n-Math.abs(r),0);for(;i<n;i++)if(i in t&&t[i]===e)return i;return-1}),typeof Object.create!="function"&&(Object.create=function(e){return ot.prototype=e,new ot}),typeof Object.keys!="function"&&(Object.keys=function(e){var t=[],n;for(n in e)ut(e,n)&&t.push(n);return t});var Tt=function(){function s(){var e,n,s;return r>=E.length?!1:(t=1,i=E[r],r+=1,A.smarttabs?(n=i.match(/(\/\/)? \t/),e=n&&!n[1]?0:-1):e=i.search(/ \t|\t [^\*]/),e>=0&&wt("Mixed spaces and tabs.",r,e+1),i=i.replace(/\t/g,U),e=i.search(Y),e>=0&&wt("Unsafe character.",r,e),A.maxlen&&A.maxlen<i.length&&wt("Line too long.",r,i.length),s=A.trailing&&i.match(/^(.*?)\s+$/),s&&!/^\s+$/.test(i)&&wt("Trailing whitespace.",r,s[1].length+1),!0)}function o(e,i){function u(e){if(!A.proto&&e==="__proto__"){wt("The '{a}' property is deprecated.",r,n,e);return}if(!A.iterator&&e==="__iterator__"){wt("'{a}' is only available in JavaScript 1.7.",r,n,e);return}var t=/^(_+.*|.*_+)$/.test(e);if(A.nomen&&t&&e!=="_"){if(A.node&&z.id!=="."&&/^(__dirname|__filename)$/.test(e))return;wt("Unexpected {a} in '{b}'.",r,n,"dangling '_'",e);return}A.camelcase&&e.replace(/^_+/,"").indexOf("_")>-1&&!e.match(/^[A-Z0-9_]*$/)&&wt("Identifier '{a}' is not in camel case.",r,n,i)}var s,o;return e==="(color)"||e==="(range)"?o={type:e}:e==="(punctuator)"||e==="(identifier)"&&ut(R,i)?o=R[i]||R["(error)"]:o=R[e],o=Object.create(o),(e==="(string)"||e==="(range)")&&!A.scripturl&&it.test(i)&&wt("Script URL.",r,n),e==="(identifier)"&&(o.identifier=!0,u(i)),o.value=i,o.line=r,o.character=t,o.from=n,s=o.id,s!=="(endline)"&&(M=s&&("(,=:[!&|?{};".indexOf(s.charAt(s.length-1))>=0||s==="return"||s==="case")),o}var t,n,r,i;return{init:function(e){typeof e=="string"?E=e.replace(/\r\n/g,"\n").replace(/\r/g,"\n").split("\n"):E=e,E[0]&&E[0].substr(0,2)==="#!"&&(E[0]=""),r=0,s(),n=1},range:function(e,s){var u,a="";n=t,i.charAt(0)!==e&&St("Expected '{a}' and instead saw '{b}'.",r,t,e,i.charAt(0));for(;;){i=i.slice(1),t+=1,u=i.charAt(0);switch(u){case"":St("Missing '{a}'.",r,t,u);break;case s:return i=i.slice(1),t+=1,o("(range)",a);case"\\":wt("Unexpected '{a}'.",r,t,u)}a+=u}},token:function(){function E(e){var r=e.exec(i),s;if(r)return p=r[0].length,s=r[1],u=s.charAt(0),i=i.substr(p),n=t+p-s.length,t+=p,s}function S(e){function c(e){var n=parseInt(i.substr(a+1,e),16);a+=e,n>=32&&n<=126&&n!==34&&n!==92&&n!==39&&wt("Unnecessary escapement.",r,t),t+=e,u=String.fromCharCode(n)}var u,a,f="",l=!1;b&&e!=='"'&&wt("Strings must use doublequote.",r,t),A.quotmark&&(A.quotmark==="single"&&e!=="'"?wt("Strings must use singlequote.",r,t):A.quotmark==="double"&&e!=='"'?wt("Strings must use doublequote.",r,t):A.quotmark===!0&&(P=P||e,P!==e&&wt("Mixed double and single quotes.",r,t))),a=0;e:for(;;){while(a>=i.length){a=0;var h=r,p=n;if(!s()){St("Unclosed string.",h,p);break e}l?l=!1:wt("Unclosed string.",h,p)}u=i.charAt(a);if(u===e)return t+=1,i=i.substr(a+1),o("(string)",f,e);if(u<" "){if(u==="\n"||u==="\r")break;wt("Control character in string: {a}.",r,t+a,i.slice(0,a))}else if(u==="\\"){a+=1,t+=1,u=i.charAt(a),w=i.charAt(a+1);switch(u){case"\\":case'"':case"/":break;case"'":b&&wt("Avoid \\'.",r,t);break;case"b":u="\b";break;case"f":u="\f";break;case"n":u="\n";break;case"r":u="\r";break;case"t":u=" ";break;case"0":u="\0",w>=0&&w<=7&&q["use strict"]&&wt("Octal literals are not allowed in strict mode.",r,t);break;case"u":c(4);break;case"v":b&&wt("Avoid \\v.",r,t),u=" ";break;case"x":b&&wt("Avoid \\x-.",r,t),c(2);break;case"":l=!0;if(A.multistr){b&&wt("Avoid EOL escapement.",r,t),u="",t-=1;break}wt("Bad escapement of EOL. Use option multistr if needed.",r,t);break;case"!":if(i.charAt(a-2)==="<")break;default:wt("Bad escapement.",r,t)}}f+=u,t+=1,a+=1}}var e,u,a,f,l,c,h,p,d,v,m,g,y,w;for(;;){if(!i)return o(s()?"(endline)":"(end)","");m=E(Z);if(!m){m="",u="";while(i&&i<"!")i=i.substr(1);i&&(St("Unexpected '{a}'.",r,t,i.substr(0,1)),i="")}else{if(lt(u)||u==="_"||u==="$")return o("(identifier)",m);if(ct(u))return isFinite(Number(m))||wt("Bad number '{a}'.",r,t,m),lt(i.substr(0,1))&&wt("Missing space after '{a}'.",r,t,m),u==="0"&&(f=m.substr(1,1),ct(f)?z.id!=="."&&wt("Don't use extra leading zeros '{a}'.",r,t,m):b&&(f==="x"||f==="X")&&wt("Avoid 0x-. '{a}'.",r,t,m)),m.substr(m.length-1)==="."&&wt("A trailing decimal point can be confused with a dot '{a}'.",r,t,m),o("(number)",m);switch(m){case'"':case"'":return S(m);case"//":i="",z.comment=!0;break;case"/*":for(;;){h=i.search(nt);if(h>=0)break;s()||St("Unclosed comment.",r,t)}i=i.substr(h+2),z.comment=!0;break;case"/*members":case"/*member":case"/*jshint":case"/*jslint":case"/*global":case"*/":return{value:m,type:"special",line:r,character:t,from:n};case"":break;case"/":i.charAt(0)==="="&&St("A regular expression literal can be confused with '/='.",r,n);if(M){l=0,a=0,p=0;for(;;){e=!0,u=i.charAt(p),p+=1;switch(u){case"":return St("Unclosed regular expression.",r,n),gt("Stopping.",r,n);case"/":l>0&&wt("{a} unterminated regular expression group(s).",r,n+p,l),u=i.substr(0,p-1),v={g:!0,i:!0,m:!0};while(v[i.charAt(p)]===!0)v[i.charAt(p)]=!1,p+=1;return t+=p,i=i.substr(p),v=i.charAt(0),(v==="/"||v==="*")&&St("Confusing regular expression.",r,n),o("(regexp)",u);case"\\":u=i.charAt(p),u<" "?wt("Unexpected control character in regular expression.",r,n+p):u==="<"&&wt("Unexpected escaped character '{a}' in regular expression.",r,n+p,u),p+=1;break;case"(":l+=1,e=!1;if(i.charAt(p)==="?"){p+=1;switch(i.charAt(p)){case":":case"=":case"!":p+=1;break;default:wt("Expected '{a}' and instead saw '{b}'.",r,n+p,":",i.charAt(p))}}else a+=1;break;case"|":e=!1;break;case")":l===0?wt("Unescaped '{a}'.",r,n+p,")"):l-=1;break;case" ":v=1;while(i.charAt(p)===" ")p+=1,v+=1;v>1&&wt("Spaces are hard to count. Use {{a}}.",r,n+p,v);break;case"[":u=i.charAt(p),u==="^"&&(p+=1,i.charAt(p)==="]"&&St("Unescaped '{a}'.",r,n+p,"^")),u==="]"&&wt("Empty class.",r,n+p-1),g=!1,y=!1;e:do{u=i.charAt(p),p+=1;switch(u){case"[":case"^":wt("Unescaped '{a}'.",r,n+p,u),y?y=!1:g=!0;break;case"-":g&&!y?(g=!1,y=!0):y?y=!1:i.charAt(p)==="]"?y=!0:(A.regexdash!==(p===2||p===3&&i.charAt(1)==="^")&&wt("Unescaped '{a}'.",r,n+p-1,"-"),g=!0);break;case"]":y&&!A.regexdash&&wt("Unescaped '{a}'.",r,n+p-1,"-");break e;case"\\":u=i.charAt(p),u<" "?wt("Unexpected control character in regular expression.",r,n+p):u==="<"&&wt("Unexpected escaped character '{a}' in regular expression.",r,n+p,u),p+=1,/[wsd]/i.test(u)?(y&&(wt("Unescaped '{a}'.",r,n+p,"-"),y=!1),g=!1):y?y=!1:g=!0;break;case"/":wt("Unescaped '{a}'.",r,n+p-1,"/"),y?y=!1:g=!0;break;case"<":y?y=!1:g=!0;break;default:y?y=!1:g=!0}}while(u);break;case".":A.regexp&&wt("Insecure '{a}'.",r,n+p,u);break;case"]":case"?":case"{":case"}":case"+":case"*":wt("Unescaped '{a}'.",r,n+p,u)}if(e)switch(i.charAt(p)){case"?":case"+":case"*":p+=1,i.charAt(p)==="?"&&(p+=1);break;case"{":p+=1,u=i.charAt(p);if(u<"0"||u>"9"){wt("Expected a number and instead saw '{a}'.",r,n+p,u);break}p+=1,d=+u;for(;;){u=i.charAt(p);if(u<"0"||u>"9")break;p+=1,d=+u+d*10}c=d;if(u===","){p+=1,c=Infinity,u=i.charAt(p);if(u>="0"&&u<="9"){p+=1,c=+u;for(;;){u=i.charAt(p);if(u<"0"||u>"9")break;p+=1,c=+u+c*10}}}i.charAt(p)!=="}"?wt("Expected '{a}' and instead saw '{b}'.",r,n+p,"}",u):p+=1,i.charAt(p)==="?"&&(p+=1),d>c&&wt("'{a}' should not be greater than '{b}'.",r,n+p,d,c)}}return u=i.substr(0,p-1),t+=p,i=i.substr(p),o("(regexp)",u)}return o("(punctuator)",m);case"#":return o("(punctuator)",m);default:return o("(punctuator)",m)}}}}}}();Wt("(number)",function(){return this}),Wt("(string)",function(){return this}),R["(identifier)"]={type:"(identifier)",lbp:0,identifier:!0,nud:function(){var t=this.value,n=B[t],r;typeof n=="function"?n=undefined:typeof n=="boolean"&&(r=h,h=d[0],Nt(t,"var"),n=h,h=r);if(h===n)switch(h[t]){case"unused":h[t]="var";break;case"unction":h[t]="function",this["function"]=!0;break;case"function":this["function"]=!0;break;case"label":bt("'{a}' is a statement label.",z,t)}else if(h["(global)"])A.undef&&typeof O[t]!="boolean"&&(e!=="typeof"&&e!=="delete"||C&&(C.value==="."||C.value==="["))&&yt(h,"'{a}' is not defined.",z,t),fn(z);else switch(h[t]){case"closure":case"function":case"var":case"unused":bt("'{a}' used out of scope.",z,t);break;case"label":bt("'{a}' is a statement label.",z,t);break;case"outer":case"global":break;default:if(n===!0)h[t]=!0;else if(n===null)bt("'{a}' is not allowed.",z,t),fn(z);else if(typeof n!="object")A.undef&&(e!=="typeof"&&e!=="delete"||C&&(C.value==="."||C.value==="["))&&yt(h,"'{a}' is not defined.",z,t),h[t]=!0,fn(z);else switch(n[t]){case"function":case"unction":this["function"]=!0,n[t]="closure",h[t]=n["(global)"]?"global":"outer";break;case"var":case"unused":n[t]="closure",h[t]=n["(global)"]?"global":"outer";break;case"closure":h[t]=n["(global)"]?"global":"outer";break;case"label":bt("'{a}' is a statement label.",z,t)}}return this},led:function(){Et("Expected an operator and instead saw '{a}'.",C,C.value)}},Wt("(regexp)",function(){return this}),It("(endline)"),It("(begin)"),It("(end)").reach=!0,It("</").reach=!0,It("<!"),It("<!--"),It("-->"),It("(error)").reach=!0,It("}").reach=!0,It(")"),It("]"),It('"').reach=!0,It("'").reach=!0,It(";"),It(":").reach=!0,It(","),It("#"),It("@"),Xt("else"),Xt("case").reach=!0,Xt("catch"),Xt("default").reach=!0,Xt("finally"),Vt("arguments",function(e){q["use strict"]&&h["(global)"]&&bt("Strict violation.",e)}),Vt("eval"),Vt("false"),Vt("Infinity"),Vt("null"),Vt("this",function(e){q["use strict"]&&!A.validthis&&(h["(statement)"]&&h["(name)"].charAt(0)>"Z"||h["(global)"])&&bt("Possible strict violation.",e)}),Vt("true"),Vt("undefined"),Qt("=","assign",20),Qt("+=","assignadd",20),Qt("-=","assignsub",20),Qt("*=","assignmult",20),Qt("/=","assigndiv",20).nud=function(){Et("A regular expression literal can be confused with '/='.")},Qt("%=","assignmod",20),Yt("&=","assignbitand",20),Yt("|=","assignbitor",20),Yt("^=","assignbitxor",20),Yt("<<=","assignshiftleft",20),Yt(">>=","assignshiftright",20),Yt(">>>=","assignshiftrightunsigned",20),$t("?",function(e,t){return t.left=e,t.right=At(10),Lt(":"),t["else"]=At(10),t},30),$t("||","or",40),$t("&&","and",50),Gt("|","bitor",70),Gt("^","bitxor",80),Gt("&","bitand",90),Jt("==",function(e,t){var n=A.eqnull&&(e.value==="null"||t.value==="null");return!n&&A.eqeqeq?bt("Expected '{a}' and instead saw '{b}'.",this,"===","=="):Kt(e)?bt("Use '{a}' to compare with '{b}'.",this,"===",e.value):Kt(t)&&bt("Use '{a}' to compare with '{b}'.",this,"===",t.value),this}),Jt("==="),Jt("!=",function(e,t){var n=A.eqnull&&(e.value==="null"||t.value==="null");return!n&&A.eqeqeq?bt("Expected '{a}' and instead saw '{b}'.",this,"!==","!="):Kt(e)?bt("Use '{a}' to compare with '{b}'.",this,"!==",e.value):Kt(t)&&bt("Use '{a}' to compare with '{b}'.",this,"!==",t.value),this}),Jt("!=="),Jt("<"),Jt(">"),Jt("<="),Jt(">="),Gt("<<","shiftleft",120),Gt(">>","shiftright",120),Gt(">>>","shiftrightunsigned",120),$t("in","in",120),$t("instanceof","instanceof",120),$t("+",function(e,t){var n=At(130);return e&&n&&e.id==="(string)"&&n.id==="(string)"?(e.value+=n.value,e.character=n.character,!A.scripturl&&it.test(e.value)&&bt("JavaScript URL.",e),e):(t.left=e,t.right=n,t)},130),zt("+","num"),zt("+++",function(){return bt("Confusing pluses."),this.right=At(150),this.arity="unary",this}),$t("+++",function(e){return bt("Confusing pluses."),this.left=e,this.right=At(130),this},130),$t("-","sub",130),zt("-","neg"),zt("---",function(){return bt("Confusing minuses."),this.right=At(150),this.arity="unary",this}),$t("---",function(e){return bt("Confusing minuses."),this.left=e,this.right=At(130),this},130),$t("*","mult",140),$t("/","div",140),$t("%","mod",140),Zt("++","postinc"),zt("++","preinc"),R["++"].exps=!0,Zt("--","postdec"),zt("--","predec"),R["--"].exps=!0,zt("delete",function(){var e=At(0);return(!e||e.id!=="."&&e.id!=="[")&&bt("Variables should not be deleted."),this.first=e,this}).exps=!0,zt("~",function(){return A.bitwise&&bt("Unexpected '{a}'.",this,"~"),At(150),this}),zt("!",function(){return this.right=At(150),this.arity="unary",t[this.right.id]===!0&&bt("Confusing use of '{a}'.",this,"!"),this}),zt("typeof","typeof"),zt("new",function(){var e=At(155),t;if(e&&e.id!=="function")if(e.identifier){e["new"]=!0;switch(e.value){case"Number":case"String":case"Boolean":case"Math":case"JSON":bt("Do not use {a} as a constructor.",_,e.value);break;case"Function":A.evil||bt("The Function constructor is eval.");break;case"Date":case"RegExp":break;default:e.id!=="function"&&(t=e.value.substr(0,1),A.newcap&&(t<"A"||t>"Z")&&!ut(v,e.value)&&bt("A constructor name should start with an uppercase letter.",z))}}else e.id!=="."&&e.id!=="["&&e.id!=="("&&bt("Bad constructor.",z);else A.supernew||bt("Weird construction. Delete 'new'.",this);return Ot(z,C),C.id!=="("&&!A.supernew&&bt("Missing '()' invoking a constructor.",z,z.value),this.first=e,this}),R["new"].exps=!0,zt("void").exps=!0,$t(".",function(e,t){Ot(_,z),Mt();var n=tn();return typeof n=="string"&&an(n),t.left=e,t.right=n,!e||e.value!=="arguments"||n!=="callee"&&n!=="caller"?!A.evil&&e&&e.value==="document"&&(n==="write"||n==="writeln")&&bt("document.write can be a form of eval.",e):A.noarg?bt("Avoid arguments.{a}.",e,n):q["use strict"]&&Et("Strict violation."),!A.evil&&(n==="eval"||n==="execScript")&&bt("eval is evil."),t},160,!0),$t("(",function(e,t){_.id!=="}"&&_.id!==")"&&Mt(_,z),_t(),A.immed&&!e.immed&&e.id==="function"&&bt("Wrap an immediate function invocation in parentheses to assist the reader in understanding that the expression is the result of a function, and not the function itself.");var n=0,r=[];e&&e.type==="(identifier)"&&e.value.match(/^[A-Z]([A-Z0-9_$]*[a-z][A-Za-z0-9_$]*)?$/)&&"Number String Boolean Date Object".indexOf(e.value)===-1&&(e.value==="Math"?bt("Math is not a function.",e):A.newcap&&bt("Missing 'new' prefix when invoking a constructor.",e));if(C.id!==")")for(;;){r[r.length]=At(10),n+=1;if(C.id!==",")break;jt()}return Lt(")"),_t(_,z),typeof e=="object"&&(e.value==="parseInt"&&n===1&&bt("Missing radix parameter.",z),A.evil||(e.value==="eval"||e.value==="Function"||e.value==="execScript"?(bt("eval is evil.",e),r[0]&&[0].id==="(string)"&&xt(e,r[0].value)):!r[0]||r[0].id!=="(string)"||e.value!=="setTimeout"&&e.value!=="setInterval"?r[0]&&r[0].id==="(string)"&&e.value==="."&&e.left.value==="window"&&(e.right==="setTimeout"||e.right==="setInterval")&&(bt("Implied eval is evil. Pass a function instead of a string.",e),xt(e,r[0].value)):(bt("Implied eval is evil. Pass a function instead of a string.",e),xt(e,r[0].value))),!e.identifier&&e.id!=="."&&e.id!=="["&&e.id!=="("&&e.id!=="&&"&&e.id!=="||"&&e.id!=="?"&&bt("Bad invocation.",e)),t.left=e,t},155,!0).exps=!0,zt("(",function(){_t(),C.id==="function"&&(C.immed=!0);var e=At(0);return Lt(")",this),_t(_,z),A.immed&&e.id==="function"&&C.id!=="("&&(C.id!=="."||kt().value!=="call"&&kt().value!=="apply")&&bt("Do not wrap function literals in parens unless they are to be immediately invoked.",this),e}),$t("[",function(e,t){Mt(_,z),_t();var n=At(0),r;return n&&n.type==="(string)"&&(!A.evil&&(n.value==="eval"||n.value==="execScript")&&bt("eval is evil.",t),an(n.value),!A.sub&&rt.test(n.value)&&(r=R[n.value],(!r||!r.reserved)&&bt("['{a}'] is better written in dot notation.",_,n.value))),Lt("]",t),_t(_,z),t.left=e,t.right=n,t},160,!0),zt("[",function(){var e=z.line!==C.line;this.first=[],e&&(y+=A.indent,C.from===y+A.indent&&(y+=A.indent));while(C.id!=="(end)"){while(C.id===",")A.es5||bt("Extra comma."),Lt(",");if(C.id==="]")break;e&&z.line!==C.line&&Ht(),this.first.push(At(10));if(C.id!==",")break;jt();if(C.id==="]"&&!A.es5){bt("Extra comma.",z);break}}return e&&(y-=A.indent,Ht()),Lt("]",this),this},160),function(e){e.nud=function(){function o(e,t){s[e]&&ut(s,e)?bt("Duplicate member '{a}'.",C,n):s[e]={},s[e].basic=!0,s[e].basicToken=t}function u(e,t){s[e]&&ut(s,e)?(s[e].basic||s[e].setter)&&bt("Duplicate member '{a}'.",C,n):s[e]={},s[e].setter=!0,s[e].setterToken=t}function a(e){s[e]&&ut(s,e)?(s[e].basic||s[e].getter)&&bt("Duplicate member '{a}'.",C,n):s[e]={},s[e].getter=!0,s[e].getterToken=z}var e,t,n,r,i,s={};e=z.line!==C.line,e&&(y+=A.indent,C.from===y+A.indent&&(y+=A.indent));for(;;){if(C.id==="}")break;e&&Ht();if(C.value==="get"&&kt().id!==":")Lt("get"),A.es5||Et("get/set are ES5 features."),n=ln(),n||Et("Missing property name."),a(n),i=C,Ot(z,C),t=hn(),r=t["(params)"],r&&bt("Unexpected parameter '{a}' in get {b} function.",i,r[0],n),Ot(z,C);else if(C.value==="set"&&kt().id!==":")Lt("set"),A.es5||Et("get/set are ES5 features."),n=ln(),n||Et("Missing property name."),u(n,C),i=C,Ot(z,C),t=hn(),r=t["(params)"],(!r||r.length!==1)&&bt("Expected a single parameter in set {a} function.",i,n);else{n=ln(),o(n,C);if(typeof n!="string")break;Lt(":"),Dt(z,C),At(10)}an(n);if(C.id!==",")break;jt(),C.id===","?bt("Extra comma.",z):C.id==="}"&&!A.es5&&bt("Extra comma.",z)}e&&(y-=A.indent,Ht()),Lt("}",this);if(A.es5)for(var f in s)ut(s,f)&&s[f].setter&&!s[f].getter&&bt("Setter is defined without getter.",s[f].setterToken);return this},e.fud=function(){Et("Expected to see a statement and instead saw a block.",z)}}(It("{")),V=function(){var e=qt("const",function(e){var t,n,r;this.first=[];for(;;){Dt(z,C),t=tn(),h[t]==="const"&&bt("const '"+t+"' has already been declared"),h["(global)"]&&O[t]===!1&&bt("Redefinition of '{a}'.",z,t),Nt(t,"const");if(e)break;n=z,this.first.push(z),C.id!=="="&&bt("const '{a}' is initialized to 'undefined'.",z,t),C.id==="="&&(Dt(z,C),Lt("="),Dt(z,C),C.id==="undefined"&&bt("It is not necessary to initialize '{a}' to 'undefined'.",z,t),kt(0).id==="="&&C.identifier&&Et("Constant {a} was not declared correctly.",C,C.value),r=At(0),n.first=r);if(C.id!==",")break;jt()}return this});e.exps=!0};var vn=qt("var",function(e){var t,n,r;h["(onevar)"]&&A.onevar?bt("Too many var statements."):h["(global)"]||(h["(onevar)"]=!0),this.first=[];for(;;){Dt(z,C),t=tn(),A.esnext&&h[t]==="const"&&bt("const '"+t+"' has already been declared"),h["(global)"]&&O[t]===!1&&bt("Redefinition of '{a}'.",z,t),Nt(t,"unused",z);if(e)break;n=z,this.first.push(z),C.id==="="&&(Dt(z,C),Lt("="),Dt(z,C),C.id==="undefined"&&bt("It is not necessary to initialize '{a}' to 'undefined'.",z,t),kt(0).id==="="&&C.identifier&&Et("Variable {a} was not declared correctly.",C,C.value),r=At(0),n.first=r);if(C.id!==",")break;jt()}return this});vn.exps=!0,Rt("function",function(){g&&bt("Function declarations should not be placed in blocks. Use a function expression or move the statement to the top of the outer function.",z);var e=tn();return A.esnext&&h[e]==="const"&&bt("const '"+e+"' has already been declared"),Ot(z,C),Nt(e,"unction",z),hn(e,{statement:!0}),C.id==="("&&C.line===z.line&&Et("Function declarations are not invocable. Wrap the whole function invocation in parens."),this}),zt("function",function(){var e=en();return e?Ot(z,C):Dt(z,C),hn(e),!A.loopfunc&&h["(loopage)"]&&bt("Don't make functions within a loop."),this}),Rt("if",function(){var e=C;return dn(),Lt("("),Dt(this,e),_t(),At(20),C.id==="="&&(A.boss||bt("Assignment in conditional expression"),Lt("="),At(20)),Lt(")",e),_t(_,z),un(!0,!0),C.id==="else"&&(Dt(z,C),Lt("else"),C.id==="if"||C.id==="switch"?rn(!0):un(!0,!0)),this}),Rt("try",function(){function t(){var e=B,t;Lt("catch"),Dt(z,C),Lt("("),B=Object.create(e),t=C.value,C.type!=="(identifier)"&&(t=null,bt("Expected an identifier and instead saw '{a}'.",C,t)),Lt(),Lt(")"),h={"(name)":"(catch)","(line)":C.line,"(character)":C.character,"(context)":h,"(breakage)":h["(breakage)"],"(loopage)":h["(loopage)"],"(scope)":B,"(statement)":!1,"(metrics)":pn(C),"(catch)":!0,"(tokens)":{}},t&&Nt(t,"exception"),z.funct=h,d.push(h),un(!1),B=e,h["(last)"]=z.line,h["(lastcharacter)"]=z.character,h=h["(context)"]}var e;un(!1),C.id==="catch"&&(dn(),t(),e=!0);if(C.id==="finally"){Lt("finally"),un(!1);return}return e||Et("Expected '{a}' and instead saw '{b}'.",C,"catch",C.value),this}),Rt("while",function(){var e=C;return h["(breakage)"]+=1,h["(loopage)"]+=1,dn(),Lt("("),Dt(this,e),_t(),At(20),C.id==="="&&(A.boss||bt("Assignment in conditional expression"),Lt("="),At(20)),Lt(")",e),_t(_,z),un(!0,!0),h["(breakage)"]-=1,h["(loopage)"]-=1,this}).labelled=!0,Rt("with",function(){var e=C;return q["use strict"]?Et("'with' is not allowed in strict mode.",z):A.withstmt||bt("Don't use 'with'.",z),Lt("("),Dt(this,e),_t(),At(0),Lt(")",e),_t(_,z),un(!0,!0),this}),Rt("switch",function(){var e=C,t=!1;h["(breakage)"]+=1,Lt("("),Dt(this,e),_t(),this.condition=At(20),Lt(")",e),_t(_,z),Dt(z,C),e=C,Lt("{"),Dt(z,C),y+=A.indent,this.cases=[];for(;;)switch(C.id){case"case":switch(h["(verb)"]){case"break":case"case":case"continue":case"return":case"switch":case"throw":break;default:st.test(E[C.line-2])||bt("Expected a 'break' statement before 'case'.",z)}Ht(-A.indent),Lt("case"),this.cases.push(At(20)),dn(),t=!0,Lt(":"),h["(verb)"]="case";break;case"default":switch(h["(verb)"]){case"break":case"continue":case"return":case"throw":break;default:st.test(E[C.line-2])||bt("Expected a 'break' statement before 'default'.",z)}Ht(-A.indent),Lt("default"),t=!0,Lt(":");break;case"}":y-=A.indent,Ht(),Lt("}",e);if(this.cases.length===1||this.condition.id==="true"||this.condition.id==="false")A.onecase||bt("This 'switch' should be an 'if'.",this);h["(breakage)"]-=1,h["(verb)"]=undefined;return;case"(end)":Et("Missing '{a}'.",C,"}");return;default:if(t)switch(z.id){case",":Et("Each value should have its own case label.");return;case":":t=!1,sn();break;default:Et("Missing ':' on a case clause.",z);return}else{if(z.id!==":"){Et("Expected '{a}' and instead saw '{b}'.",C,"case",C.value);return}Lt(":"),Et("Unexpected '{a}'.",z,":"),sn()}}}).labelled=!0,qt("debugger",function(){return A.debug||bt("All 'debugger' statements should be removed."),this}).exps=!0,function(){var e=qt("do",function(){h["(breakage)"]+=1,h["(loopage)"]+=1,dn(),this.first=un(!0),Lt("while");var e=C;return Dt(z,e),Lt("("),_t(),At(20),C.id==="="&&(A.boss||bt("Assignment in conditional expression"),Lt("="),At(20)),Lt(")",e),_t(_,z),h["(breakage)"]-=1,h["(loopage)"]-=1,this});e.labelled=!0,e.exps=!0}(),Rt("for",function(){var e,t=C;h["(breakage)"]+=1,h["(loopage)"]+=1,dn(),Lt("("),Dt(this,t),_t();if(kt(C.id==="var"?1:0).id==="in"){if(C.id==="var")Lt("var"),vn.fud.call(vn,!0);else{switch(h[C.value]){case"unused":h[C.value]="var";break;case"var":break;default:bt("Bad for in variable '{a}'.",C,C.value)}Lt()}return Lt("in"),At(20),Lt(")",t),e=un(!0,!0),A.forin&&e&&(e.length>1||typeof e[0]!="object"||e[0].value!=="if")&&bt("The body of a for in should be wrapped in an if statement to filter unwanted properties from the prototype.",this),h["(breakage)"]-=1,h["(loopage)"]-=1,this}if(C.id!==";")if(C.id==="var")Lt("var"),vn.fud.call(vn);else for(;;){At(0,"for");if(C.id!==",")break;jt()}Bt(z),Lt(";"),C.id!==";"&&(At(20),C.id==="="&&(A.boss||bt("Assignment in conditional expression"),Lt("="),At(20))),Bt(z),Lt(";"),C.id===";"&&Et("Expected '{a}' and instead saw '{b}'.",C,")",";");if(C.id!==")")for(;;){At(0,"for");if(C.id!==",")break;jt()}return Lt(")",t),_t(_,z),un(!0,!0),h["(breakage)"]-=1,h["(loopage)"]-=1,this}).labelled=!0,qt("break",function(){var e=C.value;return h["(breakage)"]===0&&bt("Unexpected '{a}'.",C,this.value),A.asi||Bt(this),C.id!==";"&&z.line===C.line&&(h[e]!=="label"?bt("'{a}' is not a statement label.",C,e):B[e]!==h&&bt("'{a}' is out of scope.",C,e),this.first=C,Lt()),nn("break"),this}).exps=!0,qt("continue",function(){var e=C.value;return h["(breakage)"]===0&&bt("Unexpected '{a}'.",C,this.value),A.asi||Bt(this),C.id!==";"?z.line===C.line&&(h[e]!=="label"?bt("'{a}' is not a statement label.",C,e):B[e]!==h&&bt("'{a}' is out of scope.",C,e),this.first=C,Lt()):h["(loopage)"]||bt("Unexpected '{a}'.",C,this.value),nn("continue"),this}).exps=!0,qt("return",function(){return this.line===C.line?(C.id==="(regexp)"&&bt("Wrap the /regexp/ literal in parens to disambiguate the slash operator."),C.id!==";"&&!C.reach&&(Dt(z,C),kt().value==="="&&!A.boss&&wt("Did you mean to return a conditional instead of an assignment?",z.line,z.character+1),this.first=At(0))):A.asi||Bt(this),nn("return"),this}).exps=!0,qt("throw",function(){return Bt(this),Dt(z,C),this.first=At(20),nn("throw"),this}).exps=!0,Xt("class"),Xt("const"),Xt("enum"),Xt("export"),Xt("extends"),Xt("import"),Xt("super"),Xt("let"),Xt("yield"),Xt("implements"),Xt("interface"),Xt("package"),Xt("private"),Xt("protected"),Xt("public"),Xt("static");var gn=function(e,t,n){var i,s,o,u,a,l={};t&&t.scope?r.scope=t.scope:(r.errors=[],r.undefs=[],r.internals=[],r.blacklist={},r.scope="(main)"),O=Object.create(F),f=Object.create(null),dt(O,n||{});if(t){i=t.predef,i&&(!Array.isArray(i)&&typeof i=="object"&&(i=Object.keys(i)),i.forEach(function(e){var t;e[0]==="-"?(t=e.slice(1),r.blacklist[t]=t):O[e]=!0})),a=Object.keys(t);for(u=0;u<a.length;u++)l[a[u]]=t[a[u]],a[u]==="newcap"&&t[a[u]]===!1&&(l["(explicitNewcap)"]=!0),a[u]==="indent"&&(l.white=!0)}A=l,A.indent=A.indent||4,A.maxerr=A.maxerr||50,U="";for(s=0;s<A.indent;s+=1)U+=" ";y=1,v=Object.create(O),B=v,h={"(global)":!0,"(name)":"(global)","(scope)":B,"(breakage)":0,"(loopage)":0,"(tokens)":{},"(metrics)":pn(C)},d=[h],X=[],j=null,x={},T=null,m={},g=!1,S=[],b=!1,$=0,E=[],W=[];if(!ft(e)&&!Array.isArray(e))return St("Input is neither a string nor an array of strings.",0),!1;if(ft(e)&&/^\s*$/g.test(e))return St("Input is an empty string.",0),!1;if(e.length===0)return St("Input is an empty array.",0),!1;Tt.init(e),M=!0,q={},_=z=C=R["(begin)"];for(var c in t)ut(t,c)&&at(c,z);mt(),dt(O,n||{}),jt.first=!0,P=undefined;try{Lt();switch(C.id){case"{":case"[":A.laxbreak=!0,b=!0,mn();break;default:on(),q["use strict"]&&!A.globalstrict&&bt('Use the function form of "use strict".',_),sn()}Lt(C&&C.value!=="."?"(end)":undefined);var p=function(e,t){do{if(typeof t[e]=="string")return t[e]==="unused"?t[e]="var":t[e]==="unction"&&(t[e]="closure"),!0;t=t["(context)"]}while(t);return!1},w=function(e,t){if(!m[e])return;var n=[];for(var r=0;r<m[e].length;r+=1)m[e][r]!==t&&n.push(m[e][r]);n.length===0?delete m[e]:m[e]=n},N=function(e,t){var n=t.line,r=t.character;A.unused&&wt("'{a}' is defined but never used.",n,r,e),W.push({name:e,line:n,character:r})},k=function(e,t){var n=e[t],r=e["(tokens)"][t];if(t.charAt(0)==="(")return;if(n!=="unused"&&n!=="unction")return;if(e["(params)"]&&e["(params)"].indexOf(t)!==-1)return;N(t,r)};for(s=0;s<r.undefs.length;s+=1)o=r.undefs[s].slice(0),p(o[2].value,o[0])?w(o[2].value,o[2].line):bt.apply(bt,o.slice(1));d.forEach(function(e){for(var t in e)ut(e,t)&&k(e,t);if(!e["(params)"])return;var n=e["(params)"].slice(),r=n.pop(),i;while(r){i=e[r];if(r==="undefined")return;if(i!=="unused"&&i!=="unction")return;N(r,e["(tokens)"][r]),r=n.pop()}});for(var L in f)ut(f,L)&&!ut(v,L)&&N(L,f[L])}catch(D){if(D){var H=C||{};r.errors.push({raw:D.raw,reason:D.message,line:D.line||H.line,character:D.character||H.from},null)}}if(r.scope==="(main)"){t=t||{};for(s=0;s<r.internals.length;s+=1)o=r.internals[s],t.scope=o.elem,gn(o.value,t,n)}return r.errors.length===0};return gn.data=function(){var e={functions:[],options:A},t=[],n=[],r,i,s,o,u,a;gn.errors.length&&(e.errors=gn.errors),b&&(e.json=!0);for(u in m)ut(m,u)&&t.push({name:u,line:m[u]});t.length>0&&(e.implieds=t),X.length>0&&(e.urls=X),a=Object.keys(B),a.length>0&&(e.globals=a);for(s=1;s<d.length;s+=1){i=d[s],r={};for(o=0;o<p.length;o+=1)r[p[o]]=[];for(o=0;o<p.length;o+=1)r[p[o]].length===0&&delete r[p[o]];r.name=i["(name)"],r.param=i["(params)"],r.line=i["(line)"],r.character=i["(character)"],r.last=i["(last)"],r.lastcharacter=i["(lastcharacter)"],e.functions.push(r)}W.length>0&&(e.unused=W),n=[];for(u in x)if(typeof x[u]=="number"){e.member=x;break}return e},gn.jshint=gn,gn}();typeof t=="object"&&t&&(t.JSHINT=r)})
vendor/assets/javascripts/ace/worker-json.js
"no use strict";function initBaseUrls(e){require.tlns=e}function initSender(){var e=require(null,"ace/lib/event_emitter").EventEmitter,t=require(null,"ace/lib/oop"),n=function(){};return function(){t.implement(this,e),this.callback=function(e,t){postMessage({type:"call",id:t,data:e})},this.emit=function(e,t){postMessage({type:"event",name:e,data:t})}}.call(n.prototype),new n}if(typeof window!="undefined"&&window.document)throw"atempt to load ace worker into main window instead of webWorker";var console={log:function(){var e=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:e})},error:function(){var e=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:e})}},window={console:console},normalizeModule=function(e,t){if(t.indexOf("!")!==-1){var n=t.split("!");return normalizeModule(e,n[0])+"!"+normalizeModule(e,n[1])}if(t.charAt(0)=="."){var r=e.split("/").slice(0,-1).join("/"),t=r+"/"+t;while(t.indexOf(".")!==-1&&i!=t)var i=t,t=t.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}return t},require=function(e,t){if(!t.charAt)throw new Error("worker.js require() accepts only (parentId, id) as arguments");var t=normalizeModule(e,t),n=require.modules[t];if(n)return n.initialized||(n.initialized=!0,n.exports=n.factory().exports),n.exports;var r=t.split("/");r[0]=require.tlns[r[0]]||r[0];var i=r.join("/")+".js";return require.id=t,importScripts(i),require(e,t)};require.modules={},require.tlns={};var define=function(e,t,n){arguments.length==2?(n=t,typeof e!="string"&&(t=e,e=require.id)):arguments.length==1&&(n=e,e=require.id);if(e.indexOf("text!")===0)return;var r=function(t,n){return require(e,t,n)};require.modules[e]={factory:function(){var e={exports:{}},t=n(r,e.exports,e);return t&&(e.exports=t),e}}},main,sender;onmessage=function(e){var t=e.data;if(t.command){if(!main[t.command])throw new Error("Unknown command:"+t.command);main[t.command].apply(main,t.args)}else if(t.init){initBaseUrls(t.tlns),require(null,"ace/lib/fixoldbrowsers"),sender=initSender();var n=require(null,t.module)[t.classname];main=new n(sender)}else t.event&&sender&&sender._emit(t.event,t.data)},define("ace/lib/fixoldbrowsers",["require","exports","module","ace/lib/regexp","ace/lib/es5-shim"],function(e,t,n){e("./regexp"),e("./es5-shim")}),define("ace/lib/regexp",["require","exports","module"],function(e,t,n){function o(e){return(e.global?"g":"")+(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.extended?"x":"")+(e.sticky?"y":"")}function u(e,t,n){if(Array.prototype.indexOf)return e.indexOf(t,n);for(var r=n||0;r<e.length;r++)if(e[r]===t)return r;return-1}var r={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split},i=r.exec.call(/()??/,"")[1]===undefined,s=function(){var e=/^/g;return r.test.call(e,""),!e.lastIndex}();if(s&&i)return;RegExp.prototype.exec=function(e){var t=r.exec.apply(this,arguments),n,a;if(typeof e=="string"&&t){!i&&t.length>1&&u(t,"")>-1&&(a=RegExp(this.source,r.replace.call(o(this),"g","")),r.replace.call(e.slice(t.index),a,function(){for(var e=1;e<arguments.length-2;e++)arguments[e]===undefined&&(t[e]=undefined)}));if(this._xregexp&&this._xregexp.captureNames)for(var f=1;f<t.length;f++)n=this._xregexp.captureNames[f-1],n&&(t[n]=t[f]);!s&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--}return t},s||(RegExp.prototype.test=function(e){var t=r.exec.call(this,e);return t&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--,!!t})}),define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function m(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}Function.prototype.bind||(Function.prototype.bind=function(t){var n=this;if(typeof n!="function")throw new TypeError;var r=o.call(arguments,1),i=function(){if(this instanceof i){var e=function(){};e.prototype=n.prototype;var s=new e,u=n.apply(s,r.concat(o.call(arguments)));return u!==null&&Object(u)===u?u:s}return n.apply(t,r.concat(o.call(arguments)))};return i});var r=Function.prototype.call,i=Array.prototype,s=Object.prototype,o=i.slice,u=r.bind(s.toString),a=r.bind(s.hasOwnProperty),f,l,c,h,p;if(p=a(s,"__defineGetter__"))f=r.bind(s.__defineGetter__),l=r.bind(s.__defineSetter__),c=r.bind(s.__lookupGetter__),h=r.bind(s.__lookupSetter__);Array.isArray||(Array.isArray=function(t){return u(t)=="[object Array]"}),Array.prototype.forEach||(Array.prototype.forEach=function(t){var n=D(this),r=arguments[1],i=0,s=n.length>>>0;if(u(t)!="[object Function]")throw new TypeError;while(i<s)i in n&&t.call(r,n[i],i,n),i++}),Array.prototype.map||(Array.prototype.map=function(t){var n=D(this),r=n.length>>>0,i=Array(r),s=arguments[1];if(u(t)!="[object Function]")throw new TypeError;for(var o=0;o<r;o++)o in n&&(i[o]=t.call(s,n[o],o,n));return i}),Array.prototype.filter||(Array.prototype.filter=function(t){var n=D(this),r=n.length>>>0,i=[],s=arguments[1];if(u(t)!="[object Function]")throw new TypeError;for(var o=0;o<r;o++)o in n&&t.call(s,n[o],o,n)&&i.push(n[o]);return i}),Array.prototype.every||(Array.prototype.every=function(t){var n=D(this),r=n.length>>>0,i=arguments[1];if(u(t)!="[object Function]")throw new TypeError;for(var s=0;s<r;s++)if(s in n&&!t.call(i,n[s],s,n))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(t){var n=D(this),r=n.length>>>0,i=arguments[1];if(u(t)!="[object Function]")throw new TypeError;for(var s=0;s<r;s++)if(s in n&&t.call(i,n[s],s,n))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(t){var n=D(this),r=n.length>>>0;if(u(t)!="[object Function]")throw new TypeError;if(!r&&arguments.length==1)throw new TypeError;var i=0,s;if(arguments.length>=2)s=arguments[1];else do{if(i in n){s=n[i++];break}if(++i>=r)throw new TypeError}while(!0);for(;i<r;i++)i in n&&(s=t.call(void 0,s,n[i],i,n));return s}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(t){var n=D(this),r=n.length>>>0;if(u(t)!="[object Function]")throw new TypeError;if(!r&&arguments.length==1)throw new TypeError;var i,s=r-1;if(arguments.length>=2)i=arguments[1];else do{if(s in n){i=n[s--];break}if(--s<0)throw new TypeError}while(!0);do s in this&&(i=t.call(void 0,i,n[s],s,n));while(s--);return i}),Array.prototype.indexOf||(Array.prototype.indexOf=function(t){var n=D(this),r=n.length>>>0;if(!r)return-1;var i=0;arguments.length>1&&(i=M(arguments[1])),i=i>=0?i:Math.max(0,r+i);for(;i<r;i++)if(i in n&&n[i]===t)return i;return-1}),Array.prototype.lastIndexOf||(Array.prototype.lastIndexOf=function(t){var n=D(this),r=n.length>>>0;if(!r)return-1;var i=r-1;arguments.length>1&&(i=Math.min(i,M(arguments[1]))),i=i>=0?i:r-Math.abs(i);for(;i>=0;i--)if(i in n&&t===n[i])return i;return-1}),Object.getPrototypeOf||(Object.getPrototypeOf=function(t){return t.__proto__||(t.constructor?t.constructor.prototype:s)});if(!Object.getOwnPropertyDescriptor){var d="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(t,n){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(d+t);if(!a(t,n))return;var r,i,o;r={enumerable:!0,configurable:!0};if(p){var u=t.__proto__;t.__proto__=s;var i=c(t,n),o=h(t,n);t.__proto__=u;if(i||o)return i&&(r.get=i),o&&(r.set=o),r}return r.value=t[n],r}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(t){return Object.keys(t)});if(!Object.create){var v;Object.prototype.__proto__===null?v=function(){return{__proto__:null}}:v=function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(t,n){var r;if(t===null)r=v();else{if(typeof t!="object")throw new TypeError("typeof prototype["+typeof t+"] != 'object'");var i=function(){};i.prototype=t,r=new i,r.__proto__=t}return n!==void 0&&Object.defineProperties(r,n),r}}if(Object.defineProperty){var g=m({}),y=typeof document=="undefined"||m(document.createElement("div"));if(!g||!y)var b=Object.defineProperty}if(!Object.defineProperty||b){var w="Property description must be an object: ",E="Object.defineProperty called on non-object: ",S="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(t,n,r){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(E+t);if(typeof r!="object"&&typeof r!="function"||r===null)throw new TypeError(w+r);if(b)try{return b.call(Object,t,n,r)}catch(i){}if(a(r,"value"))if(p&&(c(t,n)||h(t,n))){var o=t.__proto__;t.__proto__=s,delete t[n],t[n]=r.value,t.__proto__=o}else t[n]=r.value;else{if(!p)throw new TypeError(S);a(r,"get")&&f(t,n,r.get),a(r,"set")&&l(t,n,r.set)}return t}}Object.defineProperties||(Object.defineProperties=function(t,n){for(var r in n)a(n,r)&&Object.defineProperty(t,r,n[r]);return t}),Object.seal||(Object.seal=function(t){return t}),Object.freeze||(Object.freeze=function(t){return t});try{Object.freeze(function(){})}catch(x){Object.freeze=function(t){return function(n){return typeof n=="function"?n:t(n)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(t){return t}),Object.isSealed||(Object.isSealed=function(t){return!1}),Object.isFrozen||(Object.isFrozen=function(t){return!1}),Object.isExtensible||(Object.isExtensible=function(t){if(Object(t)===t)throw new TypeError;var n="";while(a(t,n))n+="?";t[n]=!0;var r=a(t,n);return delete t[n],r});if(!Object.keys){var T=!0,N=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],C=N.length;for(var k in{toString:null})T=!1;Object.keys=function P(e){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError("Object.keys called on a non-object");var P=[];for(var t in e)a(e,t)&&P.push(t);if(T)for(var n=0,r=C;n<r;n++){var i=N[n];a(e,i)&&P.push(i)}return P}}if(!Date.prototype.toISOString||(new Date(-621987552e5)).toISOString().indexOf("-000001")===-1)Date.prototype.toISOString=function(){var t,n,r,i;if(!isFinite(this))throw new RangeError;t=[this.getUTCMonth()+1,this.getUTCDate(),this.getUTCHours(),this.getUTCMinutes(),this.getUTCSeconds()],i=this.getUTCFullYear(),i=(i<0?"-":i>9999?"+":"")+("00000"+Math.abs(i)).slice(0<=i&&i<=9999?-4:-6),n=t.length;while(n--)r=t[n],r<10&&(t[n]="0"+r);return i+"-"+t.slice(0,2).join("-")+"T"+t.slice(2).join(":")+"."+("000"+this.getUTCMilliseconds()).slice(-3)+"Z"};Date.now||(Date.now=function(){return(new Date).getTime()}),Date.prototype.toJSON||(Date.prototype.toJSON=function(t){if(typeof this.toISOString!="function")throw new TypeError;return this.toISOString()}),Date.parse("+275760-09-13T00:00:00.000Z")!==864e13&&(Date=function(e){var t=function i(t,n,r,s,o,u,a){var f=arguments.length;if(this instanceof e){var l=f==1&&String(t)===t?new e(i.parse(t)):f>=7?new e(t,n,r,s,o,u,a):f>=6?new e(t,n,r,s,o,u):f>=5?new e(t,n,r,s,o):f>=4?new e(t,n,r,s):f>=3?new e(t,n,r):f>=2?new e(t,n):f>=1?new e(t):new e;return l.constructor=i,l}return e.apply(this,arguments)},n=new RegExp("^(\\d{4}|[+-]\\d{6})(?:-(\\d{2})(?:-(\\d{2})(?:T(\\d{2}):(\\d{2})(?::(\\d{2})(?:\\.(\\d{3}))?)?(?:Z|(?:([-+])(\\d{2}):(\\d{2})))?)?)?)?$");for(var r in e)t[r]=e[r];return t.now=e.now,t.UTC=e.UTC,t.prototype=e.prototype,t.prototype.constructor=t,t.parse=function(r){var i=n.exec(r);if(i){i.shift();for(var s=1;s<7;s++)i[s]=+(i[s]||(s<3?1:0)),s==1&&i[s]--;var o=+i.pop(),u=+i.pop(),a=i.pop(),f=0;if(a){if(u>23||o>59)return NaN;f=(u*60+o)*6e4*(a=="+"?-1:1)}var l=+i[0];return 0<=l&&l<=99?(i[0]=l+400,e.UTC.apply(this,i)+f-126227808e5):e.UTC.apply(this,i)+f}return e.parse.apply(this,arguments)},t}(Date));var L=" \n \f\r   ᠎              \u2028\u2029";if(!String.prototype.trim||L.trim()){L="["+L+"]";var A=new RegExp("^"+L+L+"*"),O=new RegExp(L+L+"*$");String.prototype.trim=function(){return String(this).replace(A,"").replace(O,"")}}var M=function(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e},_="a"[0]!="a",D=function(e){if(e==null)throw new TypeError;return _&&typeof e=="string"&&e?e.split(""):Object(e)}}),define("ace/lib/event_emitter",["require","exports","module"],function(e,t,n){var r={};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry=this._eventRegistry||{},this._defaultHandlers=this._defaultHandlers||{};var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(!n.length&&!r)return;if(typeof t!="object"||!t)t={};t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=function(){this.propagationStopped=!0}),t.preventDefault||(t.preventDefault=function(){this.defaultPrevented=!0});for(var i=0;i<n.length;i++){n[i](t);if(t.propagationStopped)break}if(r&&!t.defaultPrevented)return r(t)},r.setDefaultHandler=function(e,t){this._defaultHandlers=this._defaultHandlers||{};if(this._defaultHandlers[e])throw new Error("The default handler for '"+e+"' is already set");this._defaultHandlers[e]=t},r.on=r.addEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[e];n||(n=this._eventRegistry[e]=[]),n.indexOf(t)==-1&&n.push(t)},r.removeListener=r.removeEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[e];if(!n)return;var r=n.indexOf(t);r!==-1&&n.splice(r,1)},r.removeAllListeners=function(e){this._eventRegistry&&(this._eventRegistry[e]=[])},t.EventEmitter=r}),define("ace/lib/oop",["require","exports","module"],function(e,t,n){t.inherits=function(){var e=function(){};return function(t,n){e.prototype=n.prototype,t.super_=n.prototype,t.prototype=new e,t.prototype.constructor=t}}(),t.mixin=function(e,t){for(var n in t)e[n]=t[n]},t.implement=function(e,n){t.mixin(e,n)}}),define("ace/mode/json_worker",["require","exports","module","ace/lib/oop","ace/worker/mirror","ace/mode/json/json_parse"],function(e,t,n){var r=e("../lib/oop"),i=e("../worker/mirror").Mirror,s=e("./json/json_parse"),o=t.JsonWorker=function(e){i.call(this,e),this.setTimeout(200)};r.inherits(o,i),function(){this.onUpdate=function(){var e=this.doc.getValue();try{var t=s(e)}catch(n){var r=this.charToDocumentPosition(n.at-1);this.sender.emit("error",{row:r.row,column:r.column,text:n.message,type:"error"});return}this.sender.emit("ok")},this.charToDocumentPosition=function(e){var t=0,n=this.doc.getLength(),r=this.doc.getNewLineCharacter().length;if(!n)return{row:0,column:0};var i=0;while(t<n){var s=this.doc.getLine(t),o=s.length+r;if(i+o>e)return{row:t,column:e-i};i+=o,t+=1}return{row:t-1,column:s.length}}}.call(o.prototype)}),define("ace/worker/mirror",["require","exports","module","ace/document","ace/lib/lang"],function(e,t,n){var r=e("../document").Document,i=e("../lib/lang"),s=t.Mirror=function(e){this.sender=e;var t=this.doc=new r(""),n=this.deferredUpdate=i.deferredCall(this.onUpdate.bind(this)),s=this;e.on("change",function(e){t.applyDeltas([e.data]),n.schedule(s.$timeout)})};(function(){this.$timeout=500,this.setTimeout=function(e){this.$timeout=e},this.setValue=function(e){this.doc.setValue(e),this.deferredUpdate.schedule(this.$timeout)},this.getValue=function(e){this.sender.callback(this.doc.getValue(),e)},this.onUpdate=function(){}}).call(s.prototype)}),define("ace/document",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=e("./range").Range,o=e("./anchor").Anchor,u=function(e){this.$lines=[],e.length==0?this.$lines=[""]:Array.isArray(e)?this.insertLines(0,e):this.insert({row:0,column:0},e)};(function(){r.implement(this,i),this.setValue=function(e){var t=this.getLength();this.remove(new s(0,0,t,this.getLine(t-1).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new o(this,e,t)},"aaa".split(/a/).length==0?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);t?this.$autoNewLine=t[1]:this.$autoNewLine="\n"},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";case"auto":return this.$autoNewLine}},this.$autoNewLine="\n",this.$newLineMode="auto",this.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){if(e.start.row==e.end.row)return this.$lines[e.start.row].substring(e.start.column,e.end.column);var t=this.getLines(e.start.row+1,e.end.row-1);return t.unshift((this.$lines[e.start.row]||"").substring(e.start.column)),t.push((this.$lines[e.end.row]||"").substring(0,e.end.column)),t.join(this.getNewLineCharacter())},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t&&(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length),e},this.insert=function(e,t){if(!t||t.length===0)return e;e=this.$clipPosition(e),this.getLength()<=1&&this.$detectNewLine(t);var n=this.$split(t),r=n.splice(0,1)[0],i=n.length==0?null:n.splice(n.length-1,1)[0];return e=this.insertInLine(e,r),i!==null&&(e=this.insertNewLine(e),e=this.insertLines(e.row,n),e=this.insertInLine(e,i||"")),e},this.insertLines=function(e,t){if(t.length==0)return{row:e,column:0};if(t.length>65535){var n=this.insertLines(e,t.slice(65535));t=t.slice(0,65535)}var r=[e,0];r.push.apply(r,t),this.$lines.splice.apply(this.$lines,r);var i=new s(e,0,e+t.length,0),o={action:"insertLines",range:i,lines:t};return this._emit("change",{data:o}),n||i.end},this.insertNewLine=function(e){e=this.$clipPosition(e);var t=this.$lines[e.row]||"";this.$lines[e.row]=t.substring(0,e.column),this.$lines.splice(e.row+1,0,t.substring(e.column,t.length));var n={row:e.row+1,column:0},r={action:"insertText",range:s.fromPoints(e,n),text:this.getNewLineCharacter()};return this._emit("change",{data:r}),n},this.insertInLine=function(e,t){if(t.length==0)return e;var n=this.$lines[e.row]||"";this.$lines[e.row]=n.substring(0,e.column)+t+n.substring(e.column);var r={row:e.row,column:e.column+t.length},i={action:"insertText",range:s.fromPoints(e,r),text:t};return this._emit("change",{data:i}),r},this.remove=function(e){e.start=this.$clipPosition(e.start),e.end=this.$clipPosition(e.end);if(e.isEmpty())return e.start;var t=e.start.row,n=e.end.row;if(e.isMultiLine()){var r=e.start.column==0?t:t+1,i=n-1;e.end.column>0&&this.removeInLine(n,0,e.end.column),i>=r&&this.removeLines(r,i),r!=t&&(this.removeInLine(t,e.start.column,this.getLine(t).length),this.removeNewLine(e.start.row))}else this.removeInLine(t,e.start.column,e.end.column);return e.start},this.removeInLine=function(e,t,n){if(t==n)return;var r=new s(e,t,e,n),i=this.getLine(e),o=i.substring(t,n),u=i.substring(0,t)+i.substring(n,i.length);this.$lines.splice(e,1,u);var a={action:"removeText",range:r,text:o};return this._emit("change",{data:a}),r.start},this.removeLines=function(e,t){var n=new s(e,0,t+1,0),r=this.$lines.splice(e,t-e+1),i={action:"removeLines",range:n,nl:this.getNewLineCharacter(),lines:r};return this._emit("change",{data:i}),r},this.removeNewLine=function(e){var t=this.getLine(e),n=this.getLine(e+1),r=new s(e,t.length,e+1,0),i=t+n;this.$lines.splice(e,2,i);var o={action:"removeText",range:r,text:this.getNewLineCharacter()};this._emit("change",{data:o})},this.replace=function(e,t){if(t.length==0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);if(t)var n=this.insert(e.start,t);else n=e.start;return n},this.applyDeltas=function(e){for(var t=0;t<e.length;t++){var n=e[t],r=s.fromPoints(n.range.start,n.range.end);n.action=="insertLines"?this.insertLines(r.start.row,n.lines):n.action=="insertText"?this.insert(r.start,n.text):n.action=="removeLines"?this.removeLines(r.start.row,r.end.row-1):n.action=="removeText"&&this.remove(r)}},this.revertDeltas=function(e){for(var t=e.length-1;t>=0;t--){var n=e[t],r=s.fromPoints(n.range.start,n.range.end);n.action=="insertLines"?this.removeLines(r.start.row,r.end.row-1):n.action=="insertText"?this.remove(r):n.action=="removeLines"?this.insertLines(r.start.row,n.lines):n.action=="removeText"&&this.insert(r.start,n.text)}}}).call(u.prototype),t.Document=u}),define("ace/range",["require","exports","module"],function(e,t,n){var r=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row==e.start.row&&this.end.row==e.end.row&&this.start.column==e.start.column&&this.end.column==e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?t<this.start.column?-1:t>this.end.column?1:0:e<this.start.row?-1:e>this.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};if(this.start.row>t)var i={row:t+1,column:0};if(this.start.row<e)var i={row:e,column:0};if(this.end.row<e)var n={row:e,column:0};return r.fromPoints(i||this.start,n||this.end)},this.extend=function(e,t){var n=this.compare(e,t);if(n==0)return this;if(n==-1)var i={row:e,column:t};else var s={row:e,column:t};return r.fromPoints(i||this.start,s||this.end)},this.isEmpty=function(){return this.start.row==this.end.row&&this.start.column==this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return r.fromPoints(this.start,this.end)},this.collapseRows=function(){return this.end.column==0?new r(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new r(this.start.row,0,this.end.row,0)},this.toScreenRange=function(e){var t=e.documentToScreenPosition(this.start),n=e.documentToScreenPosition(this.end);return new r(t.row,t.column,n.row,n.column)}}).call(r.prototype),r.fromPoints=function(e,t){return new r(e.row,e.column,t.row,t.column)},t.Range=r}),define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=t.Anchor=function(e,t,n){this.document=e,typeof n=="undefined"?this.setPosition(t.row,t.column):this.setPosition(t,n),this.$onChange=this.onChange.bind(this),e.on("change",this.$onChange)};(function(){r.implement(this,i),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.onChange=function(e){var t=e.data,n=t.range;if(n.start.row==n.end.row&&n.start.row!=this.row)return;if(n.start.row>this.row)return;if(n.start.row==this.row&&n.start.column>this.column)return;var r=this.row,i=this.column;t.action==="insertText"?n.start.row===r&&n.start.column<=i?n.start.row===n.end.row?i+=n.end.column-n.start.column:(i-=n.start.column,r+=n.end.row-n.start.row):n.start.row!==n.end.row&&n.start.row<r&&(r+=n.end.row-n.start.row):t.action==="insertLines"?n.start.row<=r&&(r+=n.end.row-n.start.row):t.action=="removeText"?n.start.row==r&&n.start.column<i?n.end.column>=i?i=n.start.column:i=Math.max(0,i-(n.end.column-n.start.column)):n.start.row!==n.end.row&&n.start.row<r?(n.end.row==r&&(i=Math.max(0,i-n.end.column)+n.start.column),r-=n.end.row-n.start.row):n.end.row==r&&(r-=n.end.row-n.start.row,i=Math.max(0,i-n.end.column)+n.start.column):t.action=="removeLines"&&n.start.row<=r&&(n.end.row<=r?r-=n.end.row-n.start.row:(r=n.start.row,i=0)),this.setPosition(r,i,!0)},this.setPosition=function(e,t,n){var r;n?r={row:e,column:t}:r=this.$clipPositionToDocument(e,t);if(this.row==r.row&&this.column==r.column)return;var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._emit("change",{old:i,value:r})},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),define("ace/lib/lang",["require","exports","module"],function(e,t,n){t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){return(new Array(t+1)).join(e)};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n<r;n++)e[n]&&typeof e[n]=="object"?t[n]=this.copyObject(e[n]):t[n]=e[n];return t},t.deepCopy=function(e){if(typeof e!="object")return e;var t=e.constructor();for(var n in e)typeof e[n]=="object"?t[n]=this.deepCopy(e[n]):t[n]=e[n];return t},t.arrayToMap=function(e){var t={};for(var n=0;n<e.length;n++)t[e[n]]=1;return t},t.createMap=function(e){var t=Object.create(null);for(var n in e)t[n]=e[n];return t},t.arrayRemove=function(e,t){for(var n=0;n<=e.length;n++)t===e[n]&&e.splice(n,1)},t.escapeRegExp=function(e){return e.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},t.escapeHTML=function(e){return e.replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},t.getMatchOffsets=function(e,t){var n=[];return e.replace(t,function(e){n.push({offset:arguments[arguments.length-2],length:e.length})}),n},t.deferredCall=function(e){var t=null,n=function(){t=null,e()},r=function(e){return r.cancel(),t=setTimeout(n,e||0),r};return r.schedule=r,r.call=function(){return this.cancel(),e(),r},r.cancel=function(){return clearTimeout(t),t=null,r},r},t.delayedCall=function(e,t){var n=null,r=function(){n=null,e()},i=function(e){n&&clearTimeout(n),n=setTimeout(r,e||t)};return i.delay=i,i.schedule=function(e){n==null&&(n=setTimeout(r,e||0))},i.call=function(){this.cancel(),e()},i.cancel=function(){n&&clearTimeout(n),n=null},i.isPending=function(){return n},i}}),define("ace/mode/json/json_parse",["require","exports","module"],function(e,t,n){var r,i,s={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:"\n",r:"\r",t:" "},o,u=function(e){throw{name:"SyntaxError",message:e,at:r,text:o}},a=function(e){return e&&e!==i&&u("Expected '"+e+"' instead of '"+i+"'"),i=o.charAt(r),r+=1,i},f=function(){var e,t="";i==="-"&&(t="-",a("-"));while(i>="0"&&i<="9")t+=i,a();if(i==="."){t+=".";while(a()&&i>="0"&&i<="9")t+=i}if(i==="e"||i==="E"){t+=i,a();if(i==="-"||i==="+")t+=i,a();while(i>="0"&&i<="9")t+=i,a()}e=+t;if(!isNaN(e))return e;u("Bad number")},l=function(){var e,t,n="",r;if(i==='"')while(a()){if(i==='"')return a(),n;if(i==="\\"){a();if(i==="u"){r=0;for(t=0;t<4;t+=1){e=parseInt(a(),16);if(!isFinite(e))break;r=r*16+e}n+=String.fromCharCode(r)}else{if(typeof s[i]!="string")break;n+=s[i]}}else n+=i}u("Bad string")},c=function(){while(i&&i<=" ")a()},h=function(){switch(i){case"t":return a("t"),a("r"),a("u"),a("e"),!0;case"f":return a("f"),a("a"),a("l"),a("s"),a("e"),!1;case"n":return a("n"),a("u"),a("l"),a("l"),null}u("Unexpected '"+i+"'")},p,d=function(){var e=[];if(i==="["){a("["),c();if(i==="]")return a("]"),e;while(i){e.push(p()),c();if(i==="]")return a("]"),e;a(","),c()}}u("Bad array")},v=function(){var e,t={};if(i==="{"){a("{"),c();if(i==="}")return a("}"),t;while(i){e=l(),c(),a(":"),Object.hasOwnProperty.call(t,e)&&u('Duplicate key "'+e+'"'),t[e]=p(),c();if(i==="}")return a("}"),t;a(","),c()}}u("Bad object")};return p=function(){c();switch(i){case"{":return v();case"[":return d();case'"':return l();case"-":return f();default:return i>="0"&&i<="9"?f():h()}},function(e,t){var n;return o=e,r=0,i=" ",n=p(),c(),i&&u("Syntax error"),typeof t=="function"?function s(e,n){var r,i,o=e[n];if(o&&typeof o=="object")for(r in o)Object.hasOwnProperty.call(o,r)&&(i=s(o,r),i!==undefined?o[r]=i:delete o[r]);return t.call(e,n,o)}({"":n},""):n}})
vendor/assets/javascripts/ace/worker-xquery.js
"no use strict";function initBaseUrls(e){require.tlns=e}function initSender(){var e=require(null,"ace/lib/event_emitter").EventEmitter,t=require(null,"ace/lib/oop"),n=function(){};return function(){t.implement(this,e),this.callback=function(e,t){postMessage({type:"call",id:t,data:e})},this.emit=function(e,t){postMessage({type:"event",name:e,data:t})}}.call(n.prototype),new n}if(typeof window!="undefined"&&window.document)throw"atempt to load ace worker into main window instead of webWorker";var console={log:function(){var e=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:e})},error:function(){var e=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:e})}},window={console:console},normalizeModule=function(e,t){if(t.indexOf("!")!==-1){var n=t.split("!");return normalizeModule(e,n[0])+"!"+normalizeModule(e,n[1])}if(t.charAt(0)=="."){var r=e.split("/").slice(0,-1).join("/"),t=r+"/"+t;while(t.indexOf(".")!==-1&&i!=t)var i=t,t=t.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}return t},require=function(e,t){if(!t.charAt)throw new Error("worker.js require() accepts only (parentId, id) as arguments");var t=normalizeModule(e,t),n=require.modules[t];if(n)return n.initialized||(n.initialized=!0,n.exports=n.factory().exports),n.exports;var r=t.split("/");r[0]=require.tlns[r[0]]||r[0];var i=r.join("/")+".js";return require.id=t,importScripts(i),require(e,t)};require.modules={},require.tlns={};var define=function(e,t,n){arguments.length==2?(n=t,typeof e!="string"&&(t=e,e=require.id)):arguments.length==1&&(n=e,e=require.id);if(e.indexOf("text!")===0)return;var r=function(t,n){return require(e,t,n)};require.modules[e]={factory:function(){var e={exports:{}},t=n(r,e.exports,e);return t&&(e.exports=t),e}}},main,sender;onmessage=function(e){var t=e.data;if(t.command){if(!main[t.command])throw new Error("Unknown command:"+t.command);main[t.command].apply(main,t.args)}else if(t.init){initBaseUrls(t.tlns),require(null,"ace/lib/fixoldbrowsers"),sender=initSender();var n=require(null,t.module)[t.classname];main=new n(sender)}else t.event&&sender&&sender._emit(t.event,t.data)},define("ace/lib/fixoldbrowsers",["require","exports","module","ace/lib/regexp","ace/lib/es5-shim"],function(e,t,n){e("./regexp"),e("./es5-shim")}),define("ace/lib/regexp",["require","exports","module"],function(e,t,n){function o(e){return(e.global?"g":"")+(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.extended?"x":"")+(e.sticky?"y":"")}function u(e,t,n){if(Array.prototype.indexOf)return e.indexOf(t,n);for(var r=n||0;r<e.length;r++)if(e[r]===t)return r;return-1}var r={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split},i=r.exec.call(/()??/,"")[1]===undefined,s=function(){var e=/^/g;return r.test.call(e,""),!e.lastIndex}();if(s&&i)return;RegExp.prototype.exec=function(e){var t=r.exec.apply(this,arguments),n,a;if(typeof e=="string"&&t){!i&&t.length>1&&u(t,"")>-1&&(a=RegExp(this.source,r.replace.call(o(this),"g","")),r.replace.call(e.slice(t.index),a,function(){for(var e=1;e<arguments.length-2;e++)arguments[e]===undefined&&(t[e]=undefined)}));if(this._xregexp&&this._xregexp.captureNames)for(var f=1;f<t.length;f++)n=this._xregexp.captureNames[f-1],n&&(t[n]=t[f]);!s&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--}return t},s||(RegExp.prototype.test=function(e){var t=r.exec.call(this,e);return t&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--,!!t})}),define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function m(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}Function.prototype.bind||(Function.prototype.bind=function(t){var n=this;if(typeof n!="function")throw new TypeError;var r=o.call(arguments,1),i=function(){if(this instanceof i){var e=function(){};e.prototype=n.prototype;var s=new e,u=n.apply(s,r.concat(o.call(arguments)));return u!==null&&Object(u)===u?u:s}return n.apply(t,r.concat(o.call(arguments)))};return i});var r=Function.prototype.call,i=Array.prototype,s=Object.prototype,o=i.slice,u=r.bind(s.toString),a=r.bind(s.hasOwnProperty),f,l,c,h,p;if(p=a(s,"__defineGetter__"))f=r.bind(s.__defineGetter__),l=r.bind(s.__defineSetter__),c=r.bind(s.__lookupGetter__),h=r.bind(s.__lookupSetter__);Array.isArray||(Array.isArray=function(t){return u(t)=="[object Array]"}),Array.prototype.forEach||(Array.prototype.forEach=function(t){var n=D(this),r=arguments[1],i=0,s=n.length>>>0;if(u(t)!="[object Function]")throw new TypeError;while(i<s)i in n&&t.call(r,n[i],i,n),i++}),Array.prototype.map||(Array.prototype.map=function(t){var n=D(this),r=n.length>>>0,i=Array(r),s=arguments[1];if(u(t)!="[object Function]")throw new TypeError;for(var o=0;o<r;o++)o in n&&(i[o]=t.call(s,n[o],o,n));return i}),Array.prototype.filter||(Array.prototype.filter=function(t){var n=D(this),r=n.length>>>0,i=[],s=arguments[1];if(u(t)!="[object Function]")throw new TypeError;for(var o=0;o<r;o++)o in n&&t.call(s,n[o],o,n)&&i.push(n[o]);return i}),Array.prototype.every||(Array.prototype.every=function(t){var n=D(this),r=n.length>>>0,i=arguments[1];if(u(t)!="[object Function]")throw new TypeError;for(var s=0;s<r;s++)if(s in n&&!t.call(i,n[s],s,n))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(t){var n=D(this),r=n.length>>>0,i=arguments[1];if(u(t)!="[object Function]")throw new TypeError;for(var s=0;s<r;s++)if(s in n&&t.call(i,n[s],s,n))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(t){var n=D(this),r=n.length>>>0;if(u(t)!="[object Function]")throw new TypeError;if(!r&&arguments.length==1)throw new TypeError;var i=0,s;if(arguments.length>=2)s=arguments[1];else do{if(i in n){s=n[i++];break}if(++i>=r)throw new TypeError}while(!0);for(;i<r;i++)i in n&&(s=t.call(void 0,s,n[i],i,n));return s}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(t){var n=D(this),r=n.length>>>0;if(u(t)!="[object Function]")throw new TypeError;if(!r&&arguments.length==1)throw new TypeError;var i,s=r-1;if(arguments.length>=2)i=arguments[1];else do{if(s in n){i=n[s--];break}if(--s<0)throw new TypeError}while(!0);do s in this&&(i=t.call(void 0,i,n[s],s,n));while(s--);return i}),Array.prototype.indexOf||(Array.prototype.indexOf=function(t){var n=D(this),r=n.length>>>0;if(!r)return-1;var i=0;arguments.length>1&&(i=M(arguments[1])),i=i>=0?i:Math.max(0,r+i);for(;i<r;i++)if(i in n&&n[i]===t)return i;return-1}),Array.prototype.lastIndexOf||(Array.prototype.lastIndexOf=function(t){var n=D(this),r=n.length>>>0;if(!r)return-1;var i=r-1;arguments.length>1&&(i=Math.min(i,M(arguments[1]))),i=i>=0?i:r-Math.abs(i);for(;i>=0;i--)if(i in n&&t===n[i])return i;return-1}),Object.getPrototypeOf||(Object.getPrototypeOf=function(t){return t.__proto__||(t.constructor?t.constructor.prototype:s)});if(!Object.getOwnPropertyDescriptor){var d="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(t,n){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(d+t);if(!a(t,n))return;var r,i,o;r={enumerable:!0,configurable:!0};if(p){var u=t.__proto__;t.__proto__=s;var i=c(t,n),o=h(t,n);t.__proto__=u;if(i||o)return i&&(r.get=i),o&&(r.set=o),r}return r.value=t[n],r}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(t){return Object.keys(t)});if(!Object.create){var v;Object.prototype.__proto__===null?v=function(){return{__proto__:null}}:v=function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(t,n){var r;if(t===null)r=v();else{if(typeof t!="object")throw new TypeError("typeof prototype["+typeof t+"] != 'object'");var i=function(){};i.prototype=t,r=new i,r.__proto__=t}return n!==void 0&&Object.defineProperties(r,n),r}}if(Object.defineProperty){var g=m({}),y=typeof document=="undefined"||m(document.createElement("div"));if(!g||!y)var b=Object.defineProperty}if(!Object.defineProperty||b){var w="Property description must be an object: ",E="Object.defineProperty called on non-object: ",S="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(t,n,r){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(E+t);if(typeof r!="object"&&typeof r!="function"||r===null)throw new TypeError(w+r);if(b)try{return b.call(Object,t,n,r)}catch(i){}if(a(r,"value"))if(p&&(c(t,n)||h(t,n))){var o=t.__proto__;t.__proto__=s,delete t[n],t[n]=r.value,t.__proto__=o}else t[n]=r.value;else{if(!p)throw new TypeError(S);a(r,"get")&&f(t,n,r.get),a(r,"set")&&l(t,n,r.set)}return t}}Object.defineProperties||(Object.defineProperties=function(t,n){for(var r in n)a(n,r)&&Object.defineProperty(t,r,n[r]);return t}),Object.seal||(Object.seal=function(t){return t}),Object.freeze||(Object.freeze=function(t){return t});try{Object.freeze(function(){})}catch(x){Object.freeze=function(t){return function(n){return typeof n=="function"?n:t(n)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(t){return t}),Object.isSealed||(Object.isSealed=function(t){return!1}),Object.isFrozen||(Object.isFrozen=function(t){return!1}),Object.isExtensible||(Object.isExtensible=function(t){if(Object(t)===t)throw new TypeError;var n="";while(a(t,n))n+="?";t[n]=!0;var r=a(t,n);return delete t[n],r});if(!Object.keys){var T=!0,N=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],C=N.length;for(var k in{toString:null})T=!1;Object.keys=function P(e){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError("Object.keys called on a non-object");var P=[];for(var t in e)a(e,t)&&P.push(t);if(T)for(var n=0,r=C;n<r;n++){var i=N[n];a(e,i)&&P.push(i)}return P}}if(!Date.prototype.toISOString||(new Date(-621987552e5)).toISOString().indexOf("-000001")===-1)Date.prototype.toISOString=function(){var t,n,r,i;if(!isFinite(this))throw new RangeError;t=[this.getUTCMonth()+1,this.getUTCDate(),this.getUTCHours(),this.getUTCMinutes(),this.getUTCSeconds()],i=this.getUTCFullYear(),i=(i<0?"-":i>9999?"+":"")+("00000"+Math.abs(i)).slice(0<=i&&i<=9999?-4:-6),n=t.length;while(n--)r=t[n],r<10&&(t[n]="0"+r);return i+"-"+t.slice(0,2).join("-")+"T"+t.slice(2).join(":")+"."+("000"+this.getUTCMilliseconds()).slice(-3)+"Z"};Date.now||(Date.now=function(){return(new Date).getTime()}),Date.prototype.toJSON||(Date.prototype.toJSON=function(t){if(typeof this.toISOString!="function")throw new TypeError;return this.toISOString()}),Date.parse("+275760-09-13T00:00:00.000Z")!==864e13&&(Date=function(e){var t=function i(t,n,r,s,o,u,a){var f=arguments.length;if(this instanceof e){var l=f==1&&String(t)===t?new e(i.parse(t)):f>=7?new e(t,n,r,s,o,u,a):f>=6?new e(t,n,r,s,o,u):f>=5?new e(t,n,r,s,o):f>=4?new e(t,n,r,s):f>=3?new e(t,n,r):f>=2?new e(t,n):f>=1?new e(t):new e;return l.constructor=i,l}return e.apply(this,arguments)},n=new RegExp("^(\\d{4}|[+-]\\d{6})(?:-(\\d{2})(?:-(\\d{2})(?:T(\\d{2}):(\\d{2})(?::(\\d{2})(?:\\.(\\d{3}))?)?(?:Z|(?:([-+])(\\d{2}):(\\d{2})))?)?)?)?$");for(var r in e)t[r]=e[r];return t.now=e.now,t.UTC=e.UTC,t.prototype=e.prototype,t.prototype.constructor=t,t.parse=function(r){var i=n.exec(r);if(i){i.shift();for(var s=1;s<7;s++)i[s]=+(i[s]||(s<3?1:0)),s==1&&i[s]--;var o=+i.pop(),u=+i.pop(),a=i.pop(),f=0;if(a){if(u>23||o>59)return NaN;f=(u*60+o)*6e4*(a=="+"?-1:1)}var l=+i[0];return 0<=l&&l<=99?(i[0]=l+400,e.UTC.apply(this,i)+f-126227808e5):e.UTC.apply(this,i)+f}return e.parse.apply(this,arguments)},t}(Date));var L=" \n \f\r   ᠎              \u2028\u2029";if(!String.prototype.trim||L.trim()){L="["+L+"]";var A=new RegExp("^"+L+L+"*"),O=new RegExp(L+L+"*$");String.prototype.trim=function(){return String(this).replace(A,"").replace(O,"")}}var M=function(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e},_="a"[0]!="a",D=function(e){if(e==null)throw new TypeError;return _&&typeof e=="string"&&e?e.split(""):Object(e)}}),define("ace/lib/event_emitter",["require","exports","module"],function(e,t,n){var r={};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry=this._eventRegistry||{},this._defaultHandlers=this._defaultHandlers||{};var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(!n.length&&!r)return;if(typeof t!="object"||!t)t={};t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=function(){this.propagationStopped=!0}),t.preventDefault||(t.preventDefault=function(){this.defaultPrevented=!0});for(var i=0;i<n.length;i++){n[i](t);if(t.propagationStopped)break}if(r&&!t.defaultPrevented)return r(t)},r.setDefaultHandler=function(e,t){this._defaultHandlers=this._defaultHandlers||{};if(this._defaultHandlers[e])throw new Error("The default handler for '"+e+"' is already set");this._defaultHandlers[e]=t},r.on=r.addEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[e];n||(n=this._eventRegistry[e]=[]),n.indexOf(t)==-1&&n.push(t)},r.removeListener=r.removeEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[e];if(!n)return;var r=n.indexOf(t);r!==-1&&n.splice(r,1)},r.removeAllListeners=function(e){this._eventRegistry&&(this._eventRegistry[e]=[])},t.EventEmitter=r}),define("ace/lib/oop",["require","exports","module"],function(e,t,n){t.inherits=function(){var e=function(){};return function(t,n){e.prototype=n.prototype,t.super_=n.prototype,t.prototype=new e,t.prototype.constructor=t}}(),t.mixin=function(e,t){for(var n in t)e[n]=t[n]},t.implement=function(e,n){t.mixin(e,n)}}),define("ace/mode/xquery_worker",["require","exports","module","ace/lib/oop","ace/worker/mirror","ace/mode/xquery/JSONParseTreeHandler","ace/mode/xquery/XQueryParser","ace/mode/xquery/visitors/SyntaxHighlighter"],function(e,t,n){var r=e("../lib/oop"),i=e("../worker/mirror").Mirror,s=e("./xquery/JSONParseTreeHandler").JSONParseTreeHandler,o=e("./xquery/XQueryParser").XQueryParser,u=e("../mode/xquery/visitors/SyntaxHighlighter").SyntaxHighlighter,a=t.XQueryWorker=function(e){i.call(this,e),this.setTimeout(200)};r.inherits(a,i),function(){this.onUpdate=function(){this.sender.emit("start");var e=this.doc.getValue(),t=new s,n=new o(e,t);try{n.parse_XQuery();var r=t.getParseTree();this.sender.emit("ok");var i=new u(e,r),a=i.getTokens();this.sender.emit("highlight",a)}catch(f){var l=e.substring(0,f.getBegin()),c=l.split("\n").length,h=f.getBegin()-l.lastIndexOf("\n"),p=n.getErrorMessage(f);this.sender.emit("error",{row:c-1,column:h,text:p,type:"error"})}}}.call(a.prototype)}),define("ace/worker/mirror",["require","exports","module","ace/document","ace/lib/lang"],function(e,t,n){var r=e("../document").Document,i=e("../lib/lang"),s=t.Mirror=function(e){this.sender=e;var t=this.doc=new r(""),n=this.deferredUpdate=i.deferredCall(this.onUpdate.bind(this)),s=this;e.on("change",function(e){t.applyDeltas([e.data]),n.schedule(s.$timeout)})};(function(){this.$timeout=500,this.setTimeout=function(e){this.$timeout=e},this.setValue=function(e){this.doc.setValue(e),this.deferredUpdate.schedule(this.$timeout)},this.getValue=function(e){this.sender.callback(this.doc.getValue(),e)},this.onUpdate=function(){}}).call(s.prototype)}),define("ace/document",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=e("./range").Range,o=e("./anchor").Anchor,u=function(e){this.$lines=[],e.length==0?this.$lines=[""]:Array.isArray(e)?this.insertLines(0,e):this.insert({row:0,column:0},e)};(function(){r.implement(this,i),this.setValue=function(e){var t=this.getLength();this.remove(new s(0,0,t,this.getLine(t-1).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new o(this,e,t)},"aaa".split(/a/).length==0?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);t?this.$autoNewLine=t[1]:this.$autoNewLine="\n"},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";case"auto":return this.$autoNewLine}},this.$autoNewLine="\n",this.$newLineMode="auto",this.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){if(e.start.row==e.end.row)return this.$lines[e.start.row].substring(e.start.column,e.end.column);var t=this.getLines(e.start.row+1,e.end.row-1);return t.unshift((this.$lines[e.start.row]||"").substring(e.start.column)),t.push((this.$lines[e.end.row]||"").substring(0,e.end.column)),t.join(this.getNewLineCharacter())},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t&&(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length),e},this.insert=function(e,t){if(!t||t.length===0)return e;e=this.$clipPosition(e),this.getLength()<=1&&this.$detectNewLine(t);var n=this.$split(t),r=n.splice(0,1)[0],i=n.length==0?null:n.splice(n.length-1,1)[0];return e=this.insertInLine(e,r),i!==null&&(e=this.insertNewLine(e),e=this.insertLines(e.row,n),e=this.insertInLine(e,i||"")),e},this.insertLines=function(e,t){if(t.length==0)return{row:e,column:0};if(t.length>65535){var n=this.insertLines(e,t.slice(65535));t=t.slice(0,65535)}var r=[e,0];r.push.apply(r,t),this.$lines.splice.apply(this.$lines,r);var i=new s(e,0,e+t.length,0),o={action:"insertLines",range:i,lines:t};return this._emit("change",{data:o}),n||i.end},this.insertNewLine=function(e){e=this.$clipPosition(e);var t=this.$lines[e.row]||"";this.$lines[e.row]=t.substring(0,e.column),this.$lines.splice(e.row+1,0,t.substring(e.column,t.length));var n={row:e.row+1,column:0},r={action:"insertText",range:s.fromPoints(e,n),text:this.getNewLineCharacter()};return this._emit("change",{data:r}),n},this.insertInLine=function(e,t){if(t.length==0)return e;var n=this.$lines[e.row]||"";this.$lines[e.row]=n.substring(0,e.column)+t+n.substring(e.column);var r={row:e.row,column:e.column+t.length},i={action:"insertText",range:s.fromPoints(e,r),text:t};return this._emit("change",{data:i}),r},this.remove=function(e){e.start=this.$clipPosition(e.start),e.end=this.$clipPosition(e.end);if(e.isEmpty())return e.start;var t=e.start.row,n=e.end.row;if(e.isMultiLine()){var r=e.start.column==0?t:t+1,i=n-1;e.end.column>0&&this.removeInLine(n,0,e.end.column),i>=r&&this.removeLines(r,i),r!=t&&(this.removeInLine(t,e.start.column,this.getLine(t).length),this.removeNewLine(e.start.row))}else this.removeInLine(t,e.start.column,e.end.column);return e.start},this.removeInLine=function(e,t,n){if(t==n)return;var r=new s(e,t,e,n),i=this.getLine(e),o=i.substring(t,n),u=i.substring(0,t)+i.substring(n,i.length);this.$lines.splice(e,1,u);var a={action:"removeText",range:r,text:o};return this._emit("change",{data:a}),r.start},this.removeLines=function(e,t){var n=new s(e,0,t+1,0),r=this.$lines.splice(e,t-e+1),i={action:"removeLines",range:n,nl:this.getNewLineCharacter(),lines:r};return this._emit("change",{data:i}),r},this.removeNewLine=function(e){var t=this.getLine(e),n=this.getLine(e+1),r=new s(e,t.length,e+1,0),i=t+n;this.$lines.splice(e,2,i);var o={action:"removeText",range:r,text:this.getNewLineCharacter()};this._emit("change",{data:o})},this.replace=function(e,t){if(t.length==0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);if(t)var n=this.insert(e.start,t);else n=e.start;return n},this.applyDeltas=function(e){for(var t=0;t<e.length;t++){var n=e[t],r=s.fromPoints(n.range.start,n.range.end);n.action=="insertLines"?this.insertLines(r.start.row,n.lines):n.action=="insertText"?this.insert(r.start,n.text):n.action=="removeLines"?this.removeLines(r.start.row,r.end.row-1):n.action=="removeText"&&this.remove(r)}},this.revertDeltas=function(e){for(var t=e.length-1;t>=0;t--){var n=e[t],r=s.fromPoints(n.range.start,n.range.end);n.action=="insertLines"?this.removeLines(r.start.row,r.end.row-1):n.action=="insertText"?this.remove(r):n.action=="removeLines"?this.insertLines(r.start.row,n.lines):n.action=="removeText"&&this.insert(r.start,n.text)}}}).call(u.prototype),t.Document=u}),define("ace/range",["require","exports","module"],function(e,t,n){var r=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row==e.start.row&&this.end.row==e.end.row&&this.start.column==e.start.column&&this.end.column==e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?t<this.start.column?-1:t>this.end.column?1:0:e<this.start.row?-1:e>this.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};if(this.start.row>t)var i={row:t+1,column:0};if(this.start.row<e)var i={row:e,column:0};if(this.end.row<e)var n={row:e,column:0};return r.fromPoints(i||this.start,n||this.end)},this.extend=function(e,t){var n=this.compare(e,t);if(n==0)return this;if(n==-1)var i={row:e,column:t};else var s={row:e,column:t};return r.fromPoints(i||this.start,s||this.end)},this.isEmpty=function(){return this.start.row==this.end.row&&this.start.column==this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return r.fromPoints(this.start,this.end)},this.collapseRows=function(){return this.end.column==0?new r(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new r(this.start.row,0,this.end.row,0)},this.toScreenRange=function(e){var t=e.documentToScreenPosition(this.start),n=e.documentToScreenPosition(this.end);return new r(t.row,t.column,n.row,n.column)}}).call(r.prototype),r.fromPoints=function(e,t){return new r(e.row,e.column,t.row,t.column)},t.Range=r}),define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=t.Anchor=function(e,t,n){this.document=e,typeof n=="undefined"?this.setPosition(t.row,t.column):this.setPosition(t,n),this.$onChange=this.onChange.bind(this),e.on("change",this.$onChange)};(function(){r.implement(this,i),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.onChange=function(e){var t=e.data,n=t.range;if(n.start.row==n.end.row&&n.start.row!=this.row)return;if(n.start.row>this.row)return;if(n.start.row==this.row&&n.start.column>this.column)return;var r=this.row,i=this.column;t.action==="insertText"?n.start.row===r&&n.start.column<=i?n.start.row===n.end.row?i+=n.end.column-n.start.column:(i-=n.start.column,r+=n.end.row-n.start.row):n.start.row!==n.end.row&&n.start.row<r&&(r+=n.end.row-n.start.row):t.action==="insertLines"?n.start.row<=r&&(r+=n.end.row-n.start.row):t.action=="removeText"?n.start.row==r&&n.start.column<i?n.end.column>=i?i=n.start.column:i=Math.max(0,i-(n.end.column-n.start.column)):n.start.row!==n.end.row&&n.start.row<r?(n.end.row==r&&(i=Math.max(0,i-n.end.column)+n.start.column),r-=n.end.row-n.start.row):n.end.row==r&&(r-=n.end.row-n.start.row,i=Math.max(0,i-n.end.column)+n.start.column):t.action=="removeLines"&&n.start.row<=r&&(n.end.row<=r?r-=n.end.row-n.start.row:(r=n.start.row,i=0)),this.setPosition(r,i,!0)},this.setPosition=function(e,t,n){var r;n?r={row:e,column:t}:r=this.$clipPositionToDocument(e,t);if(this.row==r.row&&this.column==r.column)return;var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._emit("change",{old:i,value:r})},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),define("ace/lib/lang",["require","exports","module"],function(e,t,n){t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){return(new Array(t+1)).join(e)};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n<r;n++)e[n]&&typeof e[n]=="object"?t[n]=this.copyObject(e[n]):t[n]=e[n];return t},t.deepCopy=function(e){if(typeof e!="object")return e;var t=e.constructor();for(var n in e)typeof e[n]=="object"?t[n]=this.deepCopy(e[n]):t[n]=e[n];return t},t.arrayToMap=function(e){var t={};for(var n=0;n<e.length;n++)t[e[n]]=1;return t},t.createMap=function(e){var t=Object.create(null);for(var n in e)t[n]=e[n];return t},t.arrayRemove=function(e,t){for(var n=0;n<=e.length;n++)t===e[n]&&e.splice(n,1)},t.escapeRegExp=function(e){return e.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},t.escapeHTML=function(e){return e.replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},t.getMatchOffsets=function(e,t){var n=[];return e.replace(t,function(e){n.push({offset:arguments[arguments.length-2],length:e.length})}),n},t.deferredCall=function(e){var t=null,n=function(){t=null,e()},r=function(e){return r.cancel(),t=setTimeout(n,e||0),r};return r.schedule=r,r.call=function(){return this.cancel(),e(),r},r.cancel=function(){return clearTimeout(t),t=null,r},r},t.delayedCall=function(e,t){var n=null,r=function(){n=null,e()},i=function(e){n&&clearTimeout(n),n=setTimeout(r,e||t)};return i.delay=i,i.schedule=function(e){n==null&&(n=setTimeout(r,e||0))},i.call=function(){this.cancel(),e()},i.cancel=function(){n&&clearTimeout(n),n=null},i.isPending=function(){return n},i}}),define("ace/mode/xquery/JSONParseTreeHandler",["require","exports","module"],function(e,t,n){var r=t.JSONParseTreeHandler=function(){function n(e){return{name:e,children:[],getParent:null}}function r(r,i){var s=n(r);s.begin=i,e===null?(e=s,t=s):(s.getParent=t,t.children.push(s),t=t.children[t.children.length-1])}function i(e,n){t.end=n;if(t.getParent!==null){t=t.getParent;for(var r in t.children)delete t.children[r].getParent}else delete t.getParent}var e=null,t=null;this.getParseTree=function(){return e},this.reset=function(e){},this.startNonterminal=function(e,t){r(e,t)},this.endNonterminal=function(e,t){i(e,t)},this.terminal=function(e,t,n){var e=e.substring(0,1)==="'"&&e.substring(e.length-1)==="'"?"TOKEN":e;r(e,t),i(e,n)},this.whitespace=function(e,t){var n="WS";r(n,e),i(n,t)}}}),define("ace/mode/xquery/XQueryParser",["require","exports","module"],function(e,t,n){var r=t.XQueryParser=function i(e,t){function n(e,t,n,r,i){var s=e,o=t,u=n,a=r,f=i;this.getBegin=function(){return s},this.getEnd=function(){return o},this.getState=function(){return u},this.getExpected=function(){return f},this.getOffending=function(){return a},this.getMessage=function(){return a<0?"lexical analysis failed":"syntax error"}}function r(e,t){Cl=t,Il=e,ql=e.length,s(0,0,0)}function s(e,t,n){hl=t,pl=t,dl=e,vl=t,ml=n,gl=0,Ul=n,El=-1,Nl=new Object,Cl.reset(Il)}function o(){Cl.startNonterminal("Module",pl);switch(dl){case 274:Bl(199);break;default:cl=dl}(cl==64274||cl==134930)&&u(),Hl(267);switch(dl){case 182:Bl(194);break;default:cl=dl}switch(cl){case 94390:Dl(),a();break;default:Dl(),Ha()}Cl.endNonterminal("Module",pl)}function u(){Cl.startNonterminal("VersionDecl",pl),Ol(274),Hl(116);switch(dl){case 125:Ol(125),Hl(17),Ol(11);break;default:Ol(263),Hl(17),Ol(11),Hl(109),dl==125&&(Ol(125),Hl(17),Ol(11))}Hl(28),Dl(),c(),Cl.endNonterminal("VersionDecl",pl)}function a(){Cl.startNonterminal("LibraryModule",pl),f(),Hl(138),Dl(),l(),Cl.endNonterminal("LibraryModule",pl)}function f(){Cl.startNonterminal("ModuleDecl",pl),Ol(182),Hl(61),Ol(184),Hl(250),Dl(),Da(),Hl(29),Ol(60),Hl(15),Ol(7),Hl(28),Dl(),c(),Cl.endNonterminal("ModuleDecl",pl)}function l(){Cl.startNonterminal("Prolog",pl);for(;;){Hl(267);switch(dl){case 108:Bl(213);break;case 153:Bl(201);break;default:cl=dl}if(cl!=42604&&cl!=43628&&cl!=50284&&cl!=53356&&cl!=54380&&cl!=55916&&cl!=72300&&cl!=93337&&cl!=94316&&cl!=104044&&cl!=113772&&cl!=115353)break;switch(dl){case 108:Bl(179);break;default:cl=dl}if(cl==55916){cl=Ll(0,pl);if(cl==0){var e=hl,t=pl,n=dl,r=vl,i=ml,s=gl,o=yl,u=bl;try{_(),cl=-1}catch(a){cl=-2}hl=e,pl=t,dl=n,dl==0?Ul=t:(vl=r,ml=i,gl=s,gl==0?Ul=i:(yl=o,bl=u,Ul=u)),kl(0,pl,cl)}}switch(cl){case-1:Dl(),M();break;case 94316:Dl(),O();break;case 153:Dl(),C();break;case 72300:Dl(),D();break;default:Dl(),h()}Hl(28),Dl(),c()}for(;;){Hl(267);switch(dl){case 108:Bl(210);break;default:cl=dl}if(cl!=16492&&cl!=48748&&cl!=51820&&cl!=74348&&cl!=79468&&cl!=82540&&cl!=101996&&cl!=131692&&cl!=134252)break;switch(dl){case 108:Bl(175);break;default:cl=dl}switch(cl){case 51820:Dl(),R();break;case 101996:Dl(),Q();break;default:Dl(),P()}Hl(28),Dl(),c()}Cl.endNonterminal("Prolog",pl)}function c(){Cl.startNonterminal("Separator",pl),Ol(53),Cl.endNonterminal("Separator",pl)}function h(){Cl.startNonterminal("Setter",pl);switch(dl){case 108:Bl(172);break;default:cl=dl}if(cl==55916){cl=Ll(1,pl);if(cl==0){var e=hl,t=pl,n=dl,r=vl,i=ml,s=gl,o=yl,u=bl;try{v(),cl=-2}catch(a){try{hl=e,pl=t,dl=n,dl==0?Ul=t:(vl=r,ml=i,gl=s,gl==0?Ul=i:(yl=o,bl=u,Ul=u)),w(),cl=-6}catch(f){cl=-9}}hl=e,pl=t,dl=n,dl==0?Ul=t:(vl=r,ml=i,gl=s,gl==0?Ul=i:(yl=o,bl=u,Ul=u)),kl(1,pl,cl)}}switch(cl){case 43628:p();break;case-2:d();break;case 42604:m();break;case 50284:g();break;case 104044:y();break;case-6:b();break;case 113772:xo();break;case 53356:E();break;default:T()}Cl.endNonterminal("Setter",pl)}function p(){Cl.startNonterminal("BoundarySpaceDecl",pl),Ol(108),Hl(33),Ol(85),Hl(133);switch(dl){case 214:Ol(214);break;default:Ol(241)}Cl.endNonterminal("BoundarySpaceDecl",pl)}function d(){Cl.startNonterminal("DefaultCollationDecl",pl),Ol(108),Hl(46),Ol(109),Hl(38),Ol(94),Hl(15),Ol(7),Cl.endNonterminal("DefaultCollationDecl",pl)}function v(){Ml(108),Hl(46),Ml(109),Hl(38),Ml(94),Hl(15),Ml(7)}function m(){Cl.startNonterminal("BaseURIDecl",pl),Ol(108),Hl(32),Ol(83),Hl(15),Ol(7),Cl.endNonterminal("BaseURIDecl",pl)}function g(){Cl.startNonterminal("ConstructionDecl",pl),Ol(108),Hl(41),Ol(98),Hl(133);switch(dl){case 241:Ol(241);break;default:Ol(214)}Cl.endNonterminal("ConstructionDecl",pl)}function y(){Cl.startNonterminal("OrderingModeDecl",pl),Ol(108),Hl(68),Ol(203),Hl(131);switch(dl){case 202:Ol(202);break;default:Ol(256)}Cl.endNonterminal("OrderingModeDecl",pl)}function b(){Cl.startNonterminal("EmptyOrderDecl",pl),Ol(108),Hl(46),Ol(109),Hl(67),Ol(201),Hl(49),Ol(123),Hl(121);switch(dl){case 147:Ol(147);break;default:Ol(173)}Cl.endNonterminal("EmptyOrderDecl",pl)}function w(){Ml(108),Hl(46),Ml(109),Hl(67),Ml(201),Hl(49),Ml(123),Hl(121);switch(dl){case 147:Ml(147);break;default:Ml(173)}}function E(){Cl.startNonterminal("CopyNamespacesDecl",pl),Ol(108),Hl(44),Ol(104),Hl(128),Dl(),S(),Hl(25),Ol(41),Hl(123),Dl(),x(),Cl.endNonterminal("CopyNamespacesDecl",pl)}function S(){Cl.startNonterminal("PreserveMode",pl);switch(dl){case 214:Ol(214);break;default:Ol(190)}Cl.endNonterminal("PreserveMode",pl)}function x(){Cl.startNonterminal("InheritMode",pl);switch(dl){case 157:Ol(157);break;default:Ol(189)}Cl.endNonterminal("InheritMode",pl)}function T(){Cl.startNonterminal("DecimalFormatDecl",pl),Ol(108),Hl(114);switch(dl){case 106:Ol(106),Hl(249),Dl(),Aa();break;default:Ol(109),Hl(45),Ol(106)}for(;;){Hl(181);if(dl==53)break;Dl(),N(),Hl(29),Ol(60),Hl(17),Ol(11)}Cl.endNonterminal("DecimalFormatDecl",pl)}function N(){Cl.startNonterminal("DFPropertyName",pl);switch(dl){case 107:Ol(107);break;case 149:Ol(149);break;case 156:Ol(156);break;case 179:Ol(179);break;case 67:Ol(67);break;case 209:Ol(209);break;case 208:Ol(208);break;case 275:Ol(275);break;case 116:Ol(116);break;default:Ol(207)}Cl.endNonterminal("DFPropertyName",pl)}function C(){Cl.startNonterminal("Import",pl);switch(dl){case 153:Bl(126);break;default:cl=dl}switch(cl){case 115353:k();break;default:A()}Cl.endNonterminal("Import",pl)}function k(){Cl.startNonterminal("SchemaImport",pl),Ol(153),Hl(73),Ol(225),Hl(137),dl!=7&&(Dl(),L()),Hl(15),Ol(7),Hl(108);if(dl==81){Ol(81),Hl(15),Ol(7);for(;;){Hl(103);if(dl!=41)break;Ol(41),Hl(15),Ol(7)}}Cl.endNonterminal("SchemaImport",pl)}function L(){Cl.startNonterminal("SchemaPrefix",pl);switch(dl){case 184:Ol(184),Hl(250),Dl(),Da(),Hl(29),Ol(60);break;default:Ol(109),Hl(47),Ol(121),Hl(61),Ol(184)}Cl.endNonterminal("SchemaPrefix",pl)}function A(){Cl.startNonterminal("ModuleImport",pl),Ol(153),Hl(60),Ol(182),Hl(90),dl==184&&(Ol(184),Hl(250),Dl(),Da(),Hl(29),Ol(60)),Hl(15),Ol(7),Hl(108);if(dl==81){Ol(81),Hl(15),Ol(7);for(;;){Hl(103);if(dl!=41)break;Ol(41),Hl(15),Ol(7)}}Cl.endNonterminal("ModuleImport",pl)}function O(){Cl.startNonterminal("NamespaceDecl",pl),Ol(108),Hl(61),Ol(184),Hl(250),Dl(),Da(),Hl(29),Ol(60),Hl(15),Ol(7),Cl.endNonterminal("NamespaceDecl",pl)}function M(){Cl.startNonterminal("DefaultNamespaceDecl",pl),Ol(108),Hl(46),Ol(109),Hl(115);switch(dl){case 121:Ol(121);break;default:Ol(145)}Hl(61),Ol(184),Hl(15),Ol(7),Cl.endNonterminal("DefaultNamespaceDecl",pl)}function _(){Ml(108),Hl(46),Ml(109),Hl(115);switch(dl){case 121:Ml(121);break;default:Ml(145)}Hl(61),Ml(184),Hl(15),Ml(7)}function D(){Cl.startNonterminal("FTOptionDecl",pl),Ol(108),Hl(52),Ol(141),Hl(81),Dl(),_u(),Cl.endNonterminal("FTOptionDecl",pl)}function P(){Cl.startNonterminal("AnnotatedDecl",pl),Ol(108);for(;;){Hl(170);if(dl!=32&&dl!=257)break;switch(dl){case 257:Dl(),H();break;default:Dl(),B()}}switch(dl){case 262:Dl(),F();break;case 145:Dl(),ll();break;case 95:Dl(),aa();break;case 155:Dl(),ga();break;default:Dl(),ya()}Cl.endNonterminal("AnnotatedDecl",pl)}function H(){Cl.startNonterminal("CompatibilityAnnotation",pl),Ol(257),Cl.endNonterminal("CompatibilityAnnotation",pl)}function B(){Cl.startNonterminal("Annotation",pl),Ol(32),Hl(249),Dl(),Aa(),Hl(171);if(dl==34){Ol(34),Hl(154),Dl(),ni();for(;;){Hl(101);if(dl!=41)break;Ol(41),Hl(154),Dl(),ni()}Ol(37)}Cl.endNonterminal("Annotation",pl)}function j(){Ml(32),Hl(249),Oa(),Hl(171);if(dl==34){Ml(34),Hl(154),ri();for(;;){Hl(101);if(dl!=41)break;Ml(41),Hl(154),ri()}Ml(37)}}function F(){Cl.startNonterminal("VarDecl",pl),Ol(262),Hl(21),Ol(31),Hl(249),Dl(),ai(),Hl(147),dl==79&&(Dl(),ls()),Hl(106);switch(dl){case 52:Ol(52),Hl(266),Dl(),I();break;default:Ol(133),Hl(104),dl==52&&(Ol(52),Hl(266),Dl(),q())}Cl.endNonterminal("VarDecl",pl)}function I(){Cl.startNonterminal("VarValue",pl),Tf(),Cl.endNonterminal("VarValue",pl)}function q(){Cl.startNonterminal("VarDefaultValue",pl),Tf(),Cl.endNonterminal("VarDefaultValue",pl)}function R(){Cl.startNonterminal("ContextItemDecl",pl),Ol(108),Hl(43),Ol(101),Hl(55),Ol(165),Hl(147),dl==79&&(Ol(79),Hl(259),Dl(),ms()),Hl(106);switch(dl){case 52:Ol(52),Hl(266),Dl(),I();break;default:Ol(133),Hl(104),dl==52&&(Ol(52),Hl(266),Dl(),q())}Cl.endNonterminal("ContextItemDecl",pl)}function U(){Cl.startNonterminal("ParamList",pl),W();for(;;){Hl(101);if(dl!=41)break;Ol(41),Hl(21),Dl(),W()}Cl.endNonterminal("ParamList",pl)}function z(){X();for(;;){Hl(101);if(dl!=41)break;Ml(41),Hl(21),X()}}function W(){Cl.startNonterminal("Param",pl),Ol(31),Hl(249),Dl(),Aa(),Hl(143),dl==79&&(Dl(),ls()),Cl.endNonterminal("Param",pl)}function X(){Ml(31),Hl(249),Oa(),Hl(143),dl==79&&cs()}function V(){Cl.startNonterminal("FunctionBody",pl),J(),Cl.endNonterminal("FunctionBody",pl)}function $(){K()}function J(){Cl.startNonterminal("EnclosedExpr",pl),Ol(276),Hl(266),Dl(),G(),Ol(282),Cl.endNonterminal("EnclosedExpr",pl)}function K(){Ml(276),Hl(266),Y(),Ml(282)}function Q(){Cl.startNonterminal("OptionDecl",pl),Ol(108),Hl(66),Ol(199),Hl(249),Dl(),Aa(),Hl(17),Ol(11),Cl.endNonterminal("OptionDecl",pl)}function G(){Cl.startNonterminal("Expr",pl),Tf();for(;;){if(dl!=41)break;Ol(41),Hl(266),Dl(),Tf()}Cl.endNonterminal("Expr",pl)}function Y(){Nf();for(;;){if(dl!=41)break;Ml(41),Hl(266),Nf()}}function Z(){Cl.startNonterminal("FLWORExpr",pl),tt();for(;;){Hl(173);if(dl==220)break;Dl(),rt()}Dl(),tn(),Cl.endNonterminal("FLWORExpr",pl)}function et(){nt();for(;;){Hl(173);if(dl==220)break;it()}nn()}function tt(){Cl.startNonterminal("InitialClause",pl);switch(dl){case 137:Bl(141);break;default:cl=dl}switch(cl){case 16009:st();break;case 174:vt();break;default:bt()}Cl.endNonterminal("InitialClause",pl)}function nt(){switch(dl){case 137:Bl(141);break;default:cl=dl}switch(cl){case 16009:ot();break;case 174:mt();break;default:wt()}}function rt(){Cl.startNonterminal("IntermediateClause",pl);switch(dl){case 137:case 174:tt();break;case 266:It();break;case 148:Rt();break;case 105:jt();break;default:$t()}Cl.endNonterminal("IntermediateClause",pl)}function it(){switch(dl){case 137:case 174:nt();break;case 266:qt();break;case 148:Ut();break;case 105:Ft();break;default:Jt()}}function st(){Cl.startNonterminal("ForClause",pl),Ol(137),Hl(21),Dl(),ut();for(;;){if(dl!=41)break;Ol(41),Hl(21),Dl(),ut()}Cl.endNonterminal("ForClause",pl)}function ot(){Ml(137),Hl(21),at();for(;;){if(dl!=41)break;Ml(41),Hl(21),at()}}function ut(){Cl.startNonterminal("ForBinding",pl),Ol(31),Hl(249),Dl(),ai(),Hl(164),dl==79&&(Dl(),ls()),Hl(158),dl==72&&(Dl(),ft()),Hl(150),dl==81&&(Dl(),ct()),Hl(122),dl==228&&(Dl(),pt()),Hl(53),Ol(154),Hl(266),Dl(),Tf(),Cl.endNonterminal("ForBinding",pl)}function at(){Ml(31),Hl(249),fi(),Hl(164),dl==79&&cs(),Hl(158),dl==72&&lt(),Hl(150),dl==81&&ht(),Hl(122),dl==228&&dt(),Hl(53),Ml(154),Hl(266),Nf()}function ft(){Cl.startNonterminal("AllowingEmpty",pl),Ol(72),Hl(49),Ol(123),Cl.endNonterminal("AllowingEmpty",pl)}function lt(){Ml(72),Hl(49),Ml(123)}function ct(){Cl.startNonterminal("PositionalVar",pl),Ol(81),Hl(21),Ol(31),Hl(249),Dl(),ai(),Cl.endNonterminal("PositionalVar",pl)}function ht(){Ml(81),Hl(21),Ml(31),Hl(249),fi()}function pt(){Cl.startNonterminal("FTScoreVar",pl),Ol(228),Hl(21),Ol(31),Hl(249),Dl(),ai(),Cl.endNonterminal("FTScoreVar",pl)}function dt(){Ml(228),Hl(21),Ml(31),Hl(249),fi()}function vt(){Cl.startNonterminal("LetClause",pl),Ol(174),Hl(96),Dl(),gt();for(;;){if(dl!=41)break;Ol(41),Hl(96),Dl(),gt()}Cl.endNonterminal("LetClause",pl)}function mt(){Ml(174),Hl(96),yt();for(;;){if(dl!=41)break;Ml(41),Hl(96),yt()}}function gt(){Cl.startNonterminal("LetBinding",pl);switch(dl){case 31:Ol(31),Hl(249),Dl(),ai(),Hl(105),dl==79&&(Dl(),ls());break;default:pt()}Hl(27),Ol(52),Hl(266),Dl(),Tf(),Cl.endNonterminal("LetBinding",pl)}function yt(){switch(dl){case 31:Ml(31),Hl(249),fi(),Hl(105),dl==79&&cs();break;default:dt()}Hl(27),Ml(52),Hl(266),Nf()}function bt(){Cl.startNonterminal("WindowClause",pl),Ol(137),Hl(135);switch(dl){case 251:Dl(),Et();break;default:Dl(),xt()}Cl.endNonterminal("WindowClause",pl)}function wt(){Ml(137),Hl(135);switch(dl){case 251:St();break;default:Tt()}}function Et(){Cl.startNonterminal("TumblingWindowClause",pl),Ol(251),Hl(85),Ol(269),Hl(21),Ol(31),Hl(249),Dl(),ai(),Hl(110),dl==79&&(Dl(),ls()),Hl(53),Ol(154),Hl(266),Dl(),Tf(),Dl(),Nt();if(dl==126||dl==198)Dl(),kt();Cl.endNonterminal("TumblingWindowClause",pl)}function St(){Ml(251),Hl(85),Ml(269),Hl(21),Ml(31),Hl(249),fi(),Hl(110),dl==79&&cs(),Hl(53),Ml(154),Hl(266),Nf(),Ct(),(dl==126||dl==198)&&Lt()}function xt(){Cl.startNonterminal("SlidingWindowClause",pl),Ol(234),Hl(85),Ol(269),Hl(21),Ol(31),Hl(249),Dl(),ai(),Hl(110),dl==79&&(Dl(),ls()),Hl(53),Ol(154),Hl(266),Dl(),Tf(),Dl(),Nt(),Dl(),kt(),Cl.endNonterminal("SlidingWindowClause",pl)}function Tt(){Ml(234),Hl(85),Ml(269),Hl(21),Ml(31),Hl(249),fi(),Hl(110),dl==79&&cs(),Hl(53),Ml(154),Hl(266),Nf(),Ct(),Lt()}function Nt(){Cl.startNonterminal("WindowStartCondition",pl),Ol(237),Hl(163),Dl(),At(),Hl(83),Ol(265),Hl(266),Dl(),Tf(),Cl.endNonterminal("WindowStartCondition",pl)}function Ct(){Ml(237),Hl(163),Ot(),Hl(83),Ml(265),Hl(266),Nf()}function kt(){Cl.startNonterminal("WindowEndCondition",pl),dl==198&&Ol(198),Hl(50),Ol(126),Hl(163),Dl(),At(),Hl(83),Ol(265),Hl(266),Dl(),Tf(),Cl.endNonterminal("WindowEndCondition",pl)}function Lt(){dl==198&&Ml(198),Hl(50),Ml(126),Hl(163),Ot(),Hl(83),Ml(265),Hl(266),Nf()}function At(){Cl.startNonterminal("WindowVars",pl),dl==31&&(Ol(31),Hl(249),Dl(),Mt()),Hl(159),dl==81&&(Dl(),ct()),Hl(153),dl==215&&(Ol(215),Hl(21),Ol(31),Hl(249),Dl(),Dt()),Hl(127),dl==187&&(Ol(187),Hl(21),Ol(31),Hl(249),Dl(),Ht()),Cl.endNonterminal("WindowVars",pl)}function Ot(){dl==31&&(Ml(31),Hl(249),_t()),Hl(159),dl==81&&ht(),Hl(153),dl==215&&(Ml(215),Hl(21),Ml(31),Hl(249),Pt()),Hl(127),dl==187&&(Ml(187),Hl(21),Ml(31),Hl(249),Bt())}function Mt(){Cl.startNonterminal("CurrentItem",pl),Aa(),Cl.endNonterminal("CurrentItem",pl)}function _t(){Oa()}function Dt(){Cl.startNonterminal("PreviousItem",pl),Aa(),Cl.endNonterminal("PreviousItem",pl)}function Pt(){Oa()}function Ht(){Cl.startNonterminal("NextItem",pl),Aa(),Cl.endNonterminal("NextItem",pl)}function Bt(){Oa()}function jt(){Cl.startNonterminal("CountClause",pl),Ol(105),Hl(21),Ol(31),Hl(249),Dl(),ai(),Cl.endNonterminal("CountClause",pl)}function Ft(){Ml(105),Hl(21),Ml(31),Hl(249),fi()}function It(){Cl.startNonterminal("WhereClause",pl),Ol(266),Hl(266),Dl(),Tf(),Cl.endNonterminal("WhereClause",pl)}function qt(){Ml(266),Hl(266),Nf()}function Rt(){Cl.startNonterminal("GroupByClause",pl),Ol(148),Hl(34),Ol(87),Hl(21),Dl(),zt(),Cl.endNonterminal("GroupByClause",pl)}function Ut(){Ml(148),Hl(34),Ml(87),Hl(21),Wt()}function zt(){Cl.startNonterminal("GroupingSpecList",pl),Xt();for(;;){Hl(176);if(dl!=41)break;Ol(41),Hl(21),Dl(),Xt()}Cl.endNonterminal("GroupingSpecList",pl)}function Wt(){Vt();for(;;){Hl(176);if(dl!=41)break;Ml(41),Hl(21),Vt()}}function Xt(){Cl.startNonterminal("GroupingSpec",pl),Ol(31),Hl(249),Dl(),ai(),Hl(183);if(dl==52||dl==79)dl==79&&(Dl(),ls()),Hl(27),Ol(52),Hl(266),Dl(),Tf();dl==94&&(Ol(94),Hl(15),Ol(7)),Cl.endNonterminal("GroupingSpec",pl)}function Vt(){Ml(31),Hl(249),fi(),Hl(183);if(dl==52||dl==79)dl==79&&cs(),Hl(27),Ml(52),Hl(266),Nf();dl==94&&(Ml(94),Hl(15),Ml(7))}function $t(){Cl.startNonterminal("OrderByClause",pl);switch(dl){case 201:Ol(201),Hl(34),Ol(87);break;default:Ol(236),Hl(67),Ol(201),Hl(34),Ol(87)}Hl(266),Dl(),Kt(),Cl.endNonterminal("OrderByClause",pl)}function Jt(){switch(dl){case 201:Ml(201),Hl(34),Ml(87);break;default:Ml(236),Hl(67),Ml(201),Hl(34),Ml(87)}Hl(266),Qt()}function Kt(){Cl.startNonterminal("OrderSpecList",pl),Gt();for(;;){Hl(176);if(dl!=41)break;Ol(41),Hl(266),Dl(),Gt()}Cl.endNonterminal("OrderSpecList",pl)}function Qt(){Yt();for(;;){Hl(176);if(dl!=41)break;Ml(41),Hl(266),Yt()}}function Gt(){Cl.startNonterminal("OrderSpec",pl),Tf(),Dl(),Zt(),Cl.endNonterminal("OrderSpec",pl)}function Yt(){Nf(),en()}function Zt(){Cl.startNonterminal("OrderModifier",pl);if(dl==80||dl==113)switch(dl){case 80:Ol(80);break;default:Ol(113)}Hl(180);if(dl==123){Ol(123),Hl(121);switch(dl){case 147:Ol(147);break;default:Ol(173)}}Hl(177),dl==94&&(Ol(94),Hl(15),Ol(7)),Cl.endNonterminal("OrderModifier",pl)}function en(){if(dl==80||dl==113)switch(dl){case 80:Ml(80);break;default:Ml(113)}Hl(180);if(dl==123){Ml(123),Hl(121);switch(dl){case 147:Ml(147);break;default:Ml(173)}}Hl(177),dl==94&&(Ml(94),Hl(15),Ml(7))}function tn(){Cl.startNonterminal("ReturnClause",pl),Ol(220),Hl(266),Dl(),Tf(),Cl.endNonterminal("ReturnClause",pl)}function nn(){Ml(220),Hl(266),Nf()}function rn(){Cl.startNonterminal("QuantifiedExpr",pl);switch(dl){case 235:Ol(235);break;default:Ol(129)}Hl(21),Ol(31),Hl(249),Dl(),ai(),Hl(110),dl==79&&(Dl(),ls()),Hl(53),Ol(154),Hl(266),Dl(),Tf();for(;;){if(dl!=41)break;Ol(41),Hl(21),Ol(31),Hl(249),Dl(),ai(),Hl(110),dl==79&&(Dl(),ls()),Hl(53),Ol(154),Hl(266),Dl(),Tf()}Ol(224),Hl(266),Dl(),Tf(),Cl.endNonterminal("QuantifiedExpr",pl)}function sn(){switch(dl){case 235:Ml(235);break;default:Ml(129)}Hl(21),Ml(31),Hl(249),fi(),Hl(110),dl==79&&cs(),Hl(53),Ml(154),Hl(266),Nf();for(;;){if(dl!=41)break;Ml(41),Hl(21),Ml(31),Hl(249),fi(),Hl(110),dl==79&&cs(),Hl(53),Ml(154),Hl(266),Nf()}Ml(224),Hl(266),Nf()}function on(){Cl.startNonterminal("SwitchExpr",pl),Ol(243),Hl(22),Ol(34),Hl(266),Dl(),G(),Ol(37);for(;;){Hl(35),Dl(),an();if(dl!=88)break}Ol(109),Hl(70),Ol(220),Hl(266),Dl(),Tf(),Cl.endNonterminal("SwitchExpr",pl)}function un(){Ml(243),Hl(22),Ml(34),Hl(266),Y(),Ml(37);for(;;){Hl(35),fn();if(dl!=88)break}Ml(109),Hl(70),Ml(220),Hl(266),Nf()}function an(){Cl.startNonterminal("SwitchCaseClause",pl);for(;;){Ol(88),Hl(266),Dl(),ln();if(dl!=88)break}Ol(220),Hl(266),Dl(),Tf(),Cl.endNonterminal("SwitchCaseClause",pl)}function fn(){for(;;){Ml(88),Hl(266),cn();if(dl!=88)break}Ml(220),Hl(266),Nf()}function ln(){Cl.startNonterminal("SwitchCaseOperand",pl),Tf(),Cl.endNonterminal("SwitchCaseOperand",pl)}function cn(){Nf()}function hn(){Cl.startNonterminal("TypeswitchExpr",pl),Ol(253),Hl(22),Ol(34),Hl(266),Dl(),G(),Ol(37);for(;;){Hl(35),Dl(),dn();if(dl!=88)break}Ol(109),Hl(95),dl==31&&(Ol(31),Hl(249),Dl(),ai()),Hl(70),Ol(220),Hl(266),Dl(),Tf(),Cl.endNonterminal("TypeswitchExpr",pl)}function pn(){Ml(253),Hl(22),Ml(34),Hl(266),Y(),Ml(37);for(;;){Hl(35),vn();if(dl!=88)break}Ml(109),Hl(95),dl==31&&(Ml(31),Hl(249),fi()),Hl(70),Ml(220),Hl(266),Nf()}function dn(){Cl.startNonterminal("CaseClause",pl),Ol(88),Hl(260),dl==31&&(Ol(31),Hl(249),Dl(),ai(),Hl(30),Ol(79)),Hl(259),Dl(),mn(),Ol(220),Hl(266),Dl(),Tf(),Cl.endNonterminal("CaseClause",pl)}function vn(){Ml(88),Hl(260),dl==31&&(Ml(31),Hl(249),fi(),Hl(30),Ml(79)),Hl(259),gn(),Ml(220),Hl(266),Nf()}function mn(){Cl.startNonterminal("SequenceTypeUnion",pl),hs();for(;;){Hl(134);if(dl!=279)break;Ol(279),Hl(259),Dl(),hs()}Cl.endNonterminal("SequenceTypeUnion",pl)}function gn(){ps();for(;;){Hl(134);if(dl!=279)break;Ml(279),Hl(259),ps()}}function yn(){Cl.startNonterminal("IfExpr",pl),Ol(152),Hl(22),Ol(34),Hl(266),Dl(),G(),Ol(37),Hl(77),Ol(245),Hl(266),Dl(),Tf(),Ol(122),Hl(266),Dl(),Tf(),Cl.endNonterminal("IfExpr",pl)}function bn(){Ml(152),Hl(22),Ml(34),Hl(266),Y(),Ml(37),Hl(77),Ml(245),Hl(266),Nf(),Ml(122),Hl(266),Nf()}function wn(){Cl.startNonterminal("TryCatchExpr",pl),Sn();for(;;){Hl(36),Dl(),Cn(),Hl(184);if(dl!=91)break}Cl.endNonterminal("TryCatchExpr",pl)}function En(){xn();for(;;){Hl(36),kn(),Hl(184);if(dl!=91)break}}function Sn(){Cl.startNonterminal("TryClause",pl),Ol(250),Hl(87),Ol(276),Hl(266),Dl(),Tn(),Ol(282),Cl.endNonterminal("TryClause",pl)}function xn(){Ml(250),Hl(87),Ml(276),Hl(266),Nn(),Ml(282)}function Tn(){Cl.startNonterminal("TryTargetExpr",pl),G(),Cl.endNonterminal("TryTargetExpr",pl)}function Nn(){Y()}function Cn(){Cl.startNonterminal("CatchClause",pl),Ol(91),Hl(251),Dl(),Ln(),Ol(276),Hl(266),Dl(),G(),Ol(282),Cl.endNonterminal("CatchClause",pl)}function kn(){Ml(91),Hl(251),An(),Ml(276),Hl(266),Y(),Ml(282)}function Ln(){Cl.startNonterminal("CatchErrorList",pl),Vr();for(;;){Hl(136);if(dl!=279)break;Ol(279),Hl(251),Dl(),Vr()}Cl.endNonterminal("CatchErrorList",pl)}function An(){$r();for(;;){Hl(136);if(dl!=279)break;Ml(279),Hl(251),$r()}}function On(){Cl.startNonterminal("OrExpr",pl),_n();for(;;){if(dl!=200)break;Ol(200),Hl(265),Dl(),_n()}Cl.endNonterminal("OrExpr",pl)}function Mn(){Dn();for(;;){if(dl!=200)break;Ml(200),Hl(265),Dn()}}function _n(){Cl.startNonterminal("AndExpr",pl),Pn();for(;;){if(dl!=75)break;Ol(75),Hl(265),Dl(),Pn()}Cl.endNonterminal("AndExpr",pl)}function Dn(){Hn();for(;;){if(dl!=75)break;Ml(75),Hl(265),Hn()}}function Pn(){Cl.startNonterminal("ComparisonExpr",pl),Bn();if(dl==27||dl==54||dl==57||dl==58||dl==60||dl==61||dl==62||dl==63||dl==128||dl==146||dl==150||dl==164||dl==172||dl==178||dl==186){switch(dl){case 128:case 146:case 150:case 172:case 178:case 186:Dl(),hr();break;case 57:case 63:case 164:Dl(),dr();break;default:Dl(),lr()}Hl(265),Dl(),Bn()}Cl.endNonterminal("ComparisonExpr",pl)}function Hn(){jn();if(dl==27||dl==54||dl==57||dl==58||dl==60||dl==61||dl==62||dl==63||dl==128||dl==146||dl==150||dl==164||dl==172||dl==178||dl==186){switch(dl){case 128:case 146:case 150:case 172:case 178:case 186:pr();break;case 57:case 63:case 164:vr();break;default:cr()}Hl(265),jn()}}function Bn(){Cl.startNonterminal("FTContainsExpr",pl),Fn(),dl==99&&(Ol(99),Hl(76),Ol(244),Hl(162),Dl(),Uo(),dl==271&&(Dl(),oa())),Cl.endNonterminal("FTContainsExpr",pl)}function jn(){In(),dl==99&&(Ml(99),Hl(76),Ml(244),Hl(162),zo(),dl==271&&ua())}function Fn(){Cl.startNonterminal("StringConcatExpr",pl),qn();for(;;){if(dl!=280)break;Ol(280),Hl(265),Dl(),qn()}Cl.endNonterminal("StringConcatExpr",pl)}function In(){Rn();for(;;){if(dl!=280)break;Ml(280),Hl(265),Rn()}}function qn(){Cl.startNonterminal("RangeExpr",pl),Un(),dl==248&&(Ol(248),Hl(265),Dl(),Un()),Cl.endNonterminal("RangeExpr",pl)}function Rn(){zn(),dl==248&&(Ml(248),Hl(265),zn())}function Un(){Cl.startNonterminal("AdditiveExpr",pl),Wn();for(;;){if(dl!=40&&dl!=42)break;switch(dl){case 40:Ol(40);break;default:Ol(42)}Hl(265),Dl(),Wn()}Cl.endNonterminal("AdditiveExpr",pl)}function zn(){Xn();for(;;){if(dl!=40&&dl!=42)break;switch(dl){case 40:Ml(40);break;default:Ml(42)}Hl(265),Xn()}}function Wn(){Cl.startNonterminal("MultiplicativeExpr",pl),Vn();for(;;){if(dl!=38&&dl!=118&&dl!=151&&dl!=180)break;switch(dl){case 38:Ol(38);break;case 118:Ol(118);break;case 151:Ol(151);break;default:Ol(180)}Hl(265),Dl(),Vn()}Cl.endNonterminal("MultiplicativeExpr",pl)}function Xn(){$n();for(;;){if(dl!=38&&dl!=118&&dl!=151&&dl!=180)break;switch(dl){case 38:Ml(38);break;case 118:Ml(118);break;case 151:Ml(151);break;default:Ml(180)}Hl(265),$n()}}function Vn(){Cl.startNonterminal("UnionExpr",pl),Jn();for(;;){if(dl!=254&&dl!=279)break;switch(dl){case 254:Ol(254);break;default:Ol(279)}Hl(265),Dl(),Jn()}Cl.endNonterminal("UnionExpr",pl)}function $n(){Kn();for(;;){if(dl!=254&&dl!=279)break;switch(dl){case 254:Ml(254);break;default:Ml(279)}Hl(265),Kn()}}function Jn(){Cl.startNonterminal("IntersectExceptExpr",pl),Qn();for(;;){Hl(222);if(dl!=131&&dl!=162)break;switch(dl){case 162:Ol(162);break;default:Ol(131)}Hl(265),Dl(),Qn()}Cl.endNonterminal("IntersectExceptExpr",pl)}function Kn(){Gn();for(;;){Hl(222);if(dl!=131&&dl!=162)break;switch(dl){case 162:Ml(162);break;default:Ml(131)}Hl(265),Gn()}}function Qn(){Cl.startNonterminal("InstanceofExpr",pl),Yn(),Hl(223),dl==160&&(Ol(160),Hl(64),Ol(196),Hl(259),Dl(),hs()),Cl.endNonterminal("InstanceofExpr",pl)}function Gn(){Zn(),Hl(223),dl==160&&(Ml(160),Hl(64),Ml(196),Hl(259),ps())}function Yn(){Cl.startNonterminal("TreatExpr",pl),er(),Hl(224),dl==249&&(Ol(249),Hl(30),Ol(79),Hl(259),Dl(),hs()),Cl.endNonterminal("TreatExpr",pl)}function Zn(){tr(),Hl(224),dl==249&&(Ml(249),Hl(30),Ml(79),Hl(259),ps())}function er(){Cl.startNonterminal("CastableExpr",pl),nr(),Hl(225),dl==90&&(Ol(90),Hl(30),Ol(79),Hl(249),Dl(),as()),Cl.endNonterminal("CastableExpr",pl)}function tr(){rr(),Hl(225),dl==90&&(Ml(90),Hl(30),Ml(79),Hl(249),fs())}function nr(){Cl.startNonterminal("CastExpr",pl),ir(),Hl(227),dl==89&&(Ol(89),Hl(30),Ol(79),Hl(249),Dl(),as()),Cl.endNonterminal("CastExpr",pl)}function rr(){sr(),Hl(227),dl==89&&(Ml(89),Hl(30),Ml(79),Hl(249),fs())}function ir(){Cl.startNonterminal("UnaryExpr",pl);for(;;){Hl(265);if(dl!=40&&dl!=42)break;switch(dl){case 42:Ol(42);break;default:Ol(40)}}Dl(),or(),Cl.endNonterminal("UnaryExpr",pl)}function sr(){for(;;){Hl(265);if(dl!=40&&dl!=42)break;switch(dl){case 42:Ml(42);break;default:Ml(40)}}ur()}function or(){Cl.startNonterminal("ValueExpr",pl);switch(dl){case 260:Bl(246);break;default:cl=dl}switch(cl){case 87812:case 123140:case 129284:case 141572:mr();break;case 35:wr();break;default:ar()}Cl.endNonterminal("ValueExpr",pl)}function ur(){switch(dl){case 260:Bl(246);break;default:cl=dl}switch(cl){case 87812:case 123140:case 129284:case 141572:gr();break;case 35:Er();break;default:fr()}}function ar(){Cl.startNonterminal("SimpleMapExpr",pl),Tr();for(;;){if(dl!=26)break;Ol(26),Hl(264),Dl(),Tr()}Cl.endNonterminal("SimpleMapExpr",pl)}function fr(){Nr();for(;;){if(dl!=26)break;Ml(26),Hl(264),Nr()}}function lr(){Cl.startNonterminal("GeneralComp",pl);switch(dl){case 60:Ol(60);break;case 27:Ol(27);break;case 54:Ol(54);break;case 58:Ol(58);break;case 61:Ol(61);break;default:Ol(62)}Cl.endNonterminal("GeneralComp",pl)}function cr(){switch(dl){case 60:Ml(60);break;case 27:Ml(27);break;case 54:Ml(54);break;case 58:Ml(58);break;case 61:Ml(61);break;default:Ml(62)}}function hr(){Cl.startNonterminal("ValueComp",pl);switch(dl){case 128:Ol(128);break;case 186:Ol(186);break;case 178:Ol(178);break;case 172:Ol(172);break;case 150:Ol(150);break;default:Ol(146)}Cl.endNonterminal("ValueComp",pl)}function pr(){switch(dl){case 128:Ml(128);break;case 186:Ml(186);break;case 178:Ml(178);break;case 172:Ml(172);break;case 150:Ml(150);break;default:Ml(146)}}function dr(){Cl.startNonterminal("NodeComp",pl);switch(dl){case 164:Ol(164);break;case 57:Ol(57);break;default:Ol(63)}Cl.endNonterminal("NodeComp",pl)}function vr(){switch(dl){case 164:Ml(164);break;case 57:Ml(57);break;default:Ml(63)}}function mr(){Cl.startNonterminal("ValidateExpr",pl),Ol(260),Hl(160);if(dl!=276)switch(dl){case 252:Ol(252),Hl(249),Dl(),ho();break;default:Dl(),yr()}Hl(87),Ol(276),Hl(266),Dl(),G(),Ol(282),Cl.endNonterminal("ValidateExpr",pl)}function gr(){Ml(260),Hl(160);if(dl!=276)switch(dl){case 252:Ml(252),Hl(249),po();break;default:br()}Hl(87),Ml(276),Hl(266),Y(),Ml(282)}function yr(){Cl.startNonterminal("ValidationMode",pl);switch(dl){case 171:Ol(171);break;default:Ol(240)}Cl.endNonterminal("ValidationMode",pl)}function br(){switch(dl){case 171:Ml(171);break;default:Ml(240)}}function wr(){Cl.startNonterminal("ExtensionExpr",pl);for(;;){Dl(),Sr(),Hl(100);if(dl!=35)break}Ol(276),Hl(272),dl!=282&&(Dl(),G()),Ol(282),Cl.endNonterminal("ExtensionExpr",pl)}function Er(){for(;;){xr(),Hl(100);if(dl!=35)break}Ml(276),Hl(272),dl!=282&&Y(),Ml(282)}function Sr(){Cl.startNonterminal("Pragma",pl),Ol(35),jl(248),dl==21&&Ol(21),Aa(),jl(10),dl==21&&(Ol(21),jl(0),Ol(1)),jl(5),Ol(30),Cl.endNonterminal("Pragma",pl)}function xr(){Ml(35),jl(248),dl==21&&Ml(21),Oa(),jl(10),dl==21&&(Ml(21),jl(0),Ml(1)),jl(5),Ml(30)}function Tr(){Cl.startNonterminal("PathExpr",pl);switch(dl){case 46:Ol(46),Hl(283);switch(dl){case 25:case 26:case 27:case 37:case 38:case 40:case 41:case 42:case 49:case 53:case 57:case 58:case 60:case 61:case 62:case 63:case 69:case 87:case 99:case 205:case 232:case 247:case 273:case 279:case 280:case 281:case 282:break;default:Dl(),Cr()}break;case 47:Ol(47),Hl(263),Dl(),Cr();break;default:Cr()}Cl.endNonterminal("PathExpr",pl)}function Nr(){switch(dl){case 46:Ml(46),Hl(283);switch(dl){case 25:case 26:case 27:case 37:case 38:case 40:case 41:case 42:case 49:case 53:case 57:case 58:case 60:case 61:case 62:case 63:case 69:case 87:case 99:case 205:case 232:case 247:case 273:case 279:case 280:case 281:case 282:break;default:kr()}break;case 47:Ml(47),Hl(263),kr();break;default:kr()}}function Cr(){Cl.startNonterminal("RelativePathExpr",pl),Lr();for(;;){switch(dl){case 26:Bl(264);break;default:cl=dl}if(cl!=25&&cl!=27&&cl!=37&&cl!=38&&cl!=40&&cl!=41&&cl!=42&&cl!=46&&cl!=47&&cl!=49&&cl!=53&&cl!=54&&cl!=57&&cl!=58&&cl!=60&&cl!=61&&cl!=62&&cl!=63&&cl!=69&&cl!=70&&cl!=75&&cl!=79&&cl!=80&&cl!=81&&cl!=84&&cl!=87&&cl!=88&&cl!=89&&cl!=90&&cl!=94&&cl!=99&&cl!=105&&cl!=109&&cl!=113&&cl!=118&&cl!=122&&cl!=123&&cl!=126&&cl!=128&&cl!=131&&cl!=137&&cl!=146&&cl!=148&&cl!=150&&cl!=151&&cl!=160&&cl!=162&&cl!=163&&cl!=164&&cl!=172&&cl!=174&&cl!=178&&cl!=180&&cl!=181&&cl!=186&&cl!=198&&cl!=200&&cl!=201&&cl!=205&&cl!=220&&cl!=224&&cl!=232&&cl!=236&&cl!=237&&cl!=247&&cl!=248&&cl!=249&&cl!=254&&cl!=266&&cl!=270&&cl!=273&&cl!=279&&cl!=280&&cl!=281&&cl!=282&&cl!=23578&&cl!=24090){cl=Ll(2,pl);if(cl==0){var e=hl,t=pl,n=dl,r=vl,i=ml,s=gl,o=yl,u=bl;try{switch(dl){case 46:Ml(46);break;case 47:Ml(47);break;default:Ml(26)}Hl(263),Ar(),cl=-1}catch(a){cl=-2}hl=e,pl=t,dl=n,dl==0?Ul=t:(vl=r,ml=i,gl=s,gl==0?Ul=i:(yl=o,bl=u,Ul=u)),kl(2,pl,cl)}}if(cl!=-1&&cl!=46&&cl!=47)break;switch(dl){case 46:Ol(46);break;case 47:Ol(47);break;default:Ol(26)}Hl(263),Dl(),Lr()}Cl.endNonterminal("RelativePathExpr",pl)}function kr(){Ar();for(;;){switch(dl){case 26:Bl(264);break;default:cl=dl}if(cl!=25&&cl!=27&&cl!=37&&cl!=38&&cl!=40&&cl!=41&&cl!=42&&cl!=46&&cl!=47&&cl!=49&&cl!=53&&cl!=54&&cl!=57&&cl!=58&&cl!=60&&cl!=61&&cl!=62&&cl!=63&&cl!=69&&cl!=70&&cl!=75&&cl!=79&&cl!=80&&cl!=81&&cl!=84&&cl!=87&&cl!=88&&cl!=89&&cl!=90&&cl!=94&&cl!=99&&cl!=105&&cl!=109&&cl!=113&&cl!=118&&cl!=122&&cl!=123&&cl!=126&&cl!=128&&cl!=131&&cl!=137&&cl!=146&&cl!=148&&cl!=150&&cl!=151&&cl!=160&&cl!=162&&cl!=163&&cl!=164&&cl!=172&&cl!=174&&cl!=178&&cl!=180&&cl!=181&&cl!=186&&cl!=198&&cl!=200&&cl!=201&&cl!=205&&cl!=220&&cl!=224&&cl!=232&&cl!=236&&cl!=237&&cl!=247&&cl!=248&&cl!=249&&cl!=254&&cl!=266&&cl!=270&&cl!=273&&cl!=279&&cl!=280&&cl!=281&&cl!=282&&cl!=23578&&cl!=24090){cl=Ll(2,pl);if(cl==0){var e=hl,t=pl,n=dl,r=vl,i=ml,s=gl,o=yl,u=bl;try{switch(dl){case 46:Ml(46);break;case 47:Ml(47);break;default:Ml(26)}Hl(263),Ar(),cl=-1}catch(a){cl=-2}hl=e,pl=t,dl=n,dl==0?Ul=t:(vl=r,ml=i,gl=s,gl==0?Ul=i:(yl=o,bl=u,Ul=u)),kl(2,pl,cl)}}if(cl!=-1&&cl!=46&&cl!=47)break;switch(dl){case 46:Ml(46);break;case 47:Ml(47);break;default:Ml(26)}Hl(263),Ar()}}function Lr(){Cl.startNonterminal("StepExpr",pl);switch(dl){case 82:Bl(282);break;case 121:Bl(279);break;case 184:case 216:Bl(280);break;case 96:case 119:case 202:case 244:case 256:Bl(245);break;case 124:case 152:case 165:case 243:case 253:Bl(238);break;case 73:case 74:case 93:case 111:case 112:case 135:case 136:case 206:case 212:case 213:case 229:Bl(244);break;case 6:case 70:case 72:case 75:case 79:case 80:case 81:case 83:case 84:case 85:case 86:case 88:case 89:case 90:case 91:case 94:case 97:case 98:case 101:case 102:case 103:case 104:case 105:case 106:case 108:case 109:case 110:case 113:case 118:case 120:case 122:case 123:case 125:case 126:case 128:case 129:case 131:case 132:case 133:case 134:case 137:case 141:case 145:case 146:case 148:case 150:case 151:case 153:case 154:case 155:case 159:case 160:case 161:case 162:case 163:case 164:case 170:case 171:case 172:case 174:case 176:case 178:case 180:case 181:case 182:case 185:case 186:case 191:case 192:case 198:case 199:case 200:case 201:case 203:case 218:case 219:case 220:case 221:case 222:case 224:case 225:case 226:case 227:case 228:case 234:case 235:case 236:case 237:case 240:case 248:case 249:case 250:case 251:case 252:case 254:case 257:case 260:case 261:case 262:case 263:case 266:case 267:case 270:case 274:Bl(242);break;default:cl=dl}if(cl==35922||cl==35961||cl==36024||cl==36056||cl==38482||cl==38521||cl==38584||cl==38616||cl==40530||cl==40569||cl==40632||cl==40664||cl==41042||cl==41081||cl==41144||cl==41176||cl==41554||cl==41593||cl==41656||cl==41688||cl==43090||cl==43129||cl==43192||cl==43224||cl==45138||cl==45177||cl==45240||cl==45272||cl==45650||cl==45689||cl==45752||cl==45784||cl==46162||cl==46201||cl==46264||cl==46296||cl==48210||cl==48249||cl==48312||cl==48344||cl==53842||cl==53881||cl==53944||cl==53976||cl==55890||cl==55929||cl==55992||cl==56024||cl==57938||cl==57977||cl==58040||cl==58072||cl==60498||cl==60537||cl==60600||cl==60632||cl==62546||cl==62585||cl==62648||cl==62680||cl==63058||cl==63097||cl==63160||cl==63192||cl==64594||cl==64633||cl==64696||cl==64728||cl==65618||cl==65657||cl==65720||cl==65752||cl==67154||cl==67193||cl==67256||cl==67288||cl==70226||cl==70265||cl==70328||cl==70360||cl==74834||cl==74873||cl==74936||cl==74968||cl==75858||cl==75897||cl==75960||cl==75992||cl==76882||cl==76921||cl==76984||cl==77016||cl==77394||cl==77433||cl==77496||cl==77528||cl==82002||cl==82041||cl==82104||cl==82136||cl==83026||cl==83065||cl==83128||cl==83160||cl==83538||cl==83577||cl==83640||cl==83672||cl==84050||cl==84089||cl==84152||cl==84184||cl==88146||cl==88185||cl==88248||cl==88280||cl==89170||cl==89209||cl==89272||cl==89304||cl==91218||cl==91257||cl==91320||cl==91352||cl==92242||cl==92281||cl==92344||cl==92376||cl==92754||cl==92793||cl==92856||cl==92888||cl==95314||cl==95353||cl==95416||cl==95448||cl==101458||cl==101497||cl==101560||cl==101592||cl==102482||cl==102521||cl==102584||cl==102616||cl==102994||cl==103033||cl==103096||cl==103128||cl==112722||cl==112761||cl==112824||cl==112856||cl==114770||cl==114809||cl==114872||cl==114904||cl==120914||cl==120953||cl==121016||cl==121048||cl==121426||cl==121465||cl==121528||cl==121560||cl==127058||cl==127097||cl==127160||cl==127192||cl==127570||cl==127609||cl==127672||cl==127704||cl==130130||cl==130169||cl==130232||cl==130264||cl==136274||cl==136313||cl==136376||cl==136408||cl==138322||cl==138361||cl==138424||cl==138456){cl=Ll(3,pl);if(cl==0){var e=hl,t=pl,n=dl,r=vl,i=ml,s=gl,o=yl,u=bl;try{Kr(),cl=-1}catch(a){cl=-2}hl=e,pl=t,dl=n,dl==0?Ul=t:(vl=r,ml=i,gl=s,gl==0?Ul=i:(yl=o,bl=u,Ul=u)),kl(3,pl,cl)}}switch(cl){case-1:case 8:case 9:case 10:case 11:case 31:case 32:case 34:case 44:case 54:case 55:case 59:case 68:case 276:case 278:case 3154:case 3193:case 9912:case 9944:case 14854:case 14918:case 14920:case 14921:case 14922:case 14923:case 14927:case 14928:case 14929:case 14930:case 14931:case 14932:case 14933:case 14934:case 14936:case 14937:case 14938:case 14939:case 14941:case 14942:case 14944:case 14945:case 14946:case 14949:case 14950:case 14951:case 14952:case 14953:case 14954:case 14956:case 14957:case 14958:case 14959:case 14960:case 14961:case 14966:case 14967:case 14968:case 14969:case 14970:case 14971:case 14972:case 14973:case 14974:case 14976:case 14977:case 14979:case 14980:case 14981:case 14982:case 14983:case 14984:case 14985:case 14989:case 14993:case 14994:case 14996:case 14998:case 14999:case 15e3:case 15001:case 15002:case 15003:case 15007:case 15008:case 15009:case 15010:case 15011:case 15012:case 15013:case 15018:case 15019:case 15020:case 15022:case 15024:case 15026:case 15028:case 15029:case 15030:case 15032:case 15033:case 15034:case 15039:case 15040:case 15046:case 15047:case 15048:case 15049:case 15050:case 15051:case 15054:case 15060:case 15061:case 15064:case 15066:case 15067:case 15068:case 15069:case 15070:case 15072:case 15073:case 15074:case 15075:case 15076:case 15077:case 15082:case 15083:case 15084:case 15085:case 15088:case 15091:case 15092:case 15096:case 15097:case 15098:case 15099:case 15100:case 15101:case 15102:case 15104:case 15105:case 15108:case 15109:case 15110:case 15111:case 15114:case 15115:case 15118:case 15122:case 17414:case 17478:case 17480:case 17481:case 17482:case 17483:case 17487:case 17488:case 17489:case 17491:case 17492:case 17493:case 17494:case 17496:case 17497:case 17498:case 17499:case 17501:case 17502:case 17505:case 17506:case 17509:case 17510:case 17511:case 17512:case 17513:case 17514:case 17516:case 17517:case 17518:case 17519:case 17520:case 17521:case 17526:case 17527:case 17530:case 17531:case 17533:case 17534:case 17536:case 17537:case 17539:case 17540:case 17541:case 17542:case 17543:case 17544:case 17545:case 17549:case 17553:case 17554:case 17556:case 17558:case 17559:case 17561:case 17562:case 17563:case 17567:case 17568:case 17569:case 17570:case 17571:case 17572:case 17578:case 17579:case 17580:case 17582:case 17584:case 17586:case 17588:case 17589:case 17590:case 17592:case 17594:case 17600:case 17606:case 17607:case 17608:case 17609:case 17610:case 17611:case 17614:case 17620:case 17621:case 17626:case 17627:case 17628:case 17629:case 17630:case 17632:case 17633:case 17636:case 17637:case 17642:case 17643:case 17644:case 17645:case 17648:case 17656:case 17657:case 17658:case 17659:case 17660:case 17662:case 17664:case 17665:case 17668:case 17669:case 17670:case 17671:case 17674:case 17675:case 17678:case 17682:case 36946:case 36985:case 37048:case 37080:case 37458:case 37497:case 37560:case 37592:case 37970:case 38009:case 38072:case 38104:case 42066:case 42105:case 42168:case 42200:case 42578:case 42617:case 42680:case 42712:case 43602:case 43641:case 43704:case 43736:case 44114:case 44153:case 44216:case 44248:case 46674:case 46713:case 46776:case 46808:case 47698:case 47737:case 47800:case 47832:case 49234:case 49273:case 49336:case 49368:case 49746:case 49785:case 49848:case 49880:case 50258:case 50297:case 50360:case 50392:case 51794:case 51833:case 51896:case 51928:case 52306:case 52345:case 52408:case 52440:case 52818:case 52857:case 52920:case 52952:case 53330:case 53369:case 53432:case 53464:case 54354:case 54393:case 54456:case 54488:case 55378:case 55417:case 55480:case 55512:case 56402:case 56441:case 56504:case 56536:case 56914:case 56953:case 57016:case 57048:case 57426:case 57465:case 57528:case 57560:case 61010:case 61049:case 61112:case 61144:case 61522:case 61561:case 61624:case 61656:case 62034:case 62073:case 62136:case 62168:case 63570:case 63609:case 63672:case 63704:case 64082:case 64121:case 64184:case 64216:case 66130:case 66169:case 66232:case 66264:case 67666:case 67705:case 67768:case 67800:case 68178:case 68217:case 68280:case 68312:case 68690:case 68729:case 68792:case 68824:case 69202:case 69241:case 69304:case 69336:case 69714:case 69753:case 69816:case 69848:case 72274:case 72313:case 72376:case 72408:case 74322:case 74361:case 74424:case 74456:case 77906:case 77945:case 78008:case 78040:case 78418:case 78457:case 78520:case 78552:case 78930:case 78969:case 79032:case 79064:case 79442:case 79481:case 79544:case 79576:case 81490:case 81529:case 81592:case 81624:case 82514:case 82553:case 82616:case 82648:case 84562:case 84601:case 84664:case 84696:case 87122:case 87161:case 87224:case 87256:case 87634:case 87673:case 87736:case 87768:case 90194:case 90233:case 90296:case 90328:case 93266:case 93305:case 93368:case 93400:case 94290:case 94329:case 94392:case 94424:case 94802:case 94841:case 94904:case 94936:case 97874:case 97913:case 97976:case 98008:case 98386:case 98425:case 98488:case 98520:case 101970:case 102009:case 102072:case 102104:case 103506:case 103545:case 103608:case 103640:case 104018:case 104057:case 104120:case 104152:case 105554:case 105593:case 105656:case 105688:case 108626:case 108665:case 108728:case 108760:case 109138:case 109177:case 109240:case 109272:case 110674:case 110713:case 110776:case 110808:case 111698:case 111737:case 111800:case 111832:case 112210:case 112249:case 112312:case 112344:case 113234:case 113273:case 113336:case 113368:case 113746:case 113785:case 113848:case 113880:case 115282:case 115321:case 115384:case 115416:case 115794:case 115833:case 115896:case 115928:case 116306:case 116345:case 116408:case 116440:case 116818:case 116857:case 116920:case 116952:case 117330:case 117369:case 117432:case 117464:case 119890:case 119929:case 119992:case 120024:case 120402:case 120441:case 120504:case 120536:case 122962:case 123001:case 123064:case 123096:case 124498:case 124537:case 124600:case 124632:case 125010:case 125049:case 125112:case 125144:case 128082:case 128121:case 128184:case 128216:case 128594:case 128633:case 128696:case 128728:case 129106:case 129145:case 129208:case 129240:case 129618:case 129657:case 129720:case 129752:case 131154:case 131193:case 131256:case 131288:case 131666:case 131705:case 131768:case 131800:case 133202:case 133241:case 133304:case 133336:case 133714:case 133753:case 133816:case 133848:case 134226:case 134265:case 134328:case 134360:case 134738:case 134777:case 134840:case 134872:case 136786:case 136825:case 136888:case 136920:case 140370:case 140409:case 140472:case 140504:case 141394:case 141408:case 141431:case 141433:case 141496:case 141514:case 141528:case 141556:case 141568:Jr();break;default:Or()}Cl.endNonterminal("StepExpr",pl)}function Ar(){switch(dl){case 82:Bl(282);break;case 121:Bl(279);break;case 184:case 216:Bl(280);break;case 96:case 119:case 202:case 244:case 256:Bl(245);break;case 124:case 152:case 165:case 243:case 253:Bl(238);break;case 73:case 74:case 93:case 111:case 112:case 135:case 136:case 206:case 212:case 213:case 229:Bl(244);break;case 6:case 70:case 72:case 75:case 79:case 80:case 81:case 83:case 84:case 85:case 86:case 88:case 89:case 90:case 91:case 94:case 97:case 98:case 101:case 102:case 103:case 104:case 105:case 106:case 108:case 109:case 110:case 113:case 118:case 120:case 122:case 123:case 125:case 126:case 128:case 129:case 131:case 132:case 133:case 134:case 137:case 141:case 145:case 146:case 148:case 150:case 151:case 153:case 154:case 155:case 159:case 160:case 161:case 162:case 163:case 164:case 170:case 171:case 172:case 174:case 176:case 178:case 180:case 181:case 182:case 185:case 186:case 191:case 192:case 198:case 199:case 200:case 201:case 203:case 218:case 219:case 220:case 221:case 222:case 224:case 225:case 226:case 227:case 228:case 234:case 235:case 236:case 237:case 240:case 248:case 249:case 250:case 251:case 252:case 254:case 257:case 260:case 261:case 262:case 263:case 266:case 267:case 270:case 274:Bl(242);break;default:cl=dl}if(cl==35922||cl==35961||cl==36024||cl==36056||cl==38482||cl==38521||cl==38584||cl==38616||cl==40530||cl==40569||cl==40632||cl==40664||cl==41042||cl==41081||cl==41144||cl==41176||cl==41554||cl==41593||cl==41656||cl==41688||cl==43090||cl==43129||cl==43192||cl==43224||cl==45138||cl==45177||cl==45240||cl==45272||cl==45650||cl==45689||cl==45752||cl==45784||cl==46162||cl==46201||cl==46264||cl==46296||cl==48210||cl==48249||cl==48312||cl==48344||cl==53842||cl==53881||cl==53944||cl==53976||cl==55890||cl==55929||cl==55992||cl==56024||cl==57938||cl==57977||cl==58040||cl==58072||cl==60498||cl==60537||cl==60600||cl==60632||cl==62546||cl==62585||cl==62648||cl==62680||cl==63058||cl==63097||cl==63160||cl==63192||cl==64594||cl==64633||cl==64696||cl==64728||cl==65618||cl==65657||cl==65720||cl==65752||cl==67154||cl==67193||cl==67256||cl==67288||cl==70226||cl==70265||cl==70328||cl==70360||cl==74834||cl==74873||cl==74936||cl==74968||cl==75858||cl==75897||cl==75960||cl==75992||cl==76882||cl==76921||cl==76984||cl==77016||cl==77394||cl==77433||cl==77496||cl==77528||cl==82002||cl==82041||cl==82104||cl==82136||cl==83026||cl==83065||cl==83128||cl==83160||cl==83538||cl==83577||cl==83640||cl==83672||cl==84050||cl==84089||cl==84152||cl==84184||cl==88146||cl==88185||cl==88248||cl==88280||cl==89170||cl==89209||cl==89272||cl==89304||cl==91218||cl==91257||cl==91320||cl==91352||cl==92242||cl==92281||cl==92344||cl==92376||cl==92754||cl==92793||cl==92856||cl==92888||cl==95314||cl==95353||cl==95416||cl==95448||cl==101458||cl==101497||cl==101560||cl==101592||cl==102482||cl==102521||cl==102584||cl==102616||cl==102994||cl==103033||cl==103096||cl==103128||cl==112722||cl==112761||cl==112824||cl==112856||cl==114770||cl==114809||cl==114872||cl==114904||cl==120914||cl==120953||cl==121016||cl==121048||cl==121426||cl==121465||cl==121528||cl==121560||cl==127058||cl==127097||cl==127160||cl==127192||cl==127570||cl==127609||cl==127672||cl==127704||cl==130130||cl==130169||cl==130232||cl==130264||cl==136274||cl==136313||cl==136376||cl==136408||cl==138322||cl==138361||cl==138424||cl==138456){cl=Ll(3,pl);if(cl==0){var e=hl,t=pl,n=dl,r=vl,i=ml,s=gl,o=yl,u=bl;try{Kr(),cl=-1}catch(a){cl=-2}hl=e,pl=t,dl=n,dl==0?Ul=t:(vl=r,ml=i,gl=s,gl==0?Ul=i:(yl=o,bl=u,Ul=u)),kl(3,pl,cl)}}switch(cl){case-1:case 8:case 9:case 10:case 11:case 31:case 32:case 34:case 44:case 54:case 55:case 59:case 68:case 276:case 278:case 3154:case 3193:case 9912:case 9944:case 14854:case 14918:case 14920:case 14921:case 14922:case 14923:case 14927:case 14928:case 14929:case 14930:case 14931:case 14932:case 14933:case 14934:case 14936:case 14937:case 14938:case 14939:case 14941:case 14942:case 14944:case 14945:case 14946:case 14949:case 14950:case 14951:case 14952:case 14953:case 14954:case 14956:case 14957:case 14958:case 14959:case 14960:case 14961:case 14966:case 14967:case 14968:case 14969:case 14970:case 14971:case 14972:case 14973:case 14974:case 14976:case 14977:case 14979:case 14980:case 14981:case 14982:case 14983:case 14984:case 14985:case 14989:case 14993:case 14994:case 14996:case 14998:case 14999:case 15e3:case 15001:case 15002:case 15003:case 15007:case 15008:case 15009:case 15010:case 15011:case 15012:case 15013:case 15018:case 15019:case 15020:case 15022:case 15024:case 15026:case 15028:case 15029:case 15030:case 15032:case 15033:case 15034:case 15039:case 15040:case 15046:case 15047:case 15048:case 15049:case 15050:case 15051:case 15054:case 15060:case 15061:case 15064:case 15066:case 15067:case 15068:case 15069:case 15070:case 15072:case 15073:case 15074:case 15075:case 15076:case 15077:case 15082:case 15083:case 15084:case 15085:case 15088:case 15091:case 15092:case 15096:case 15097:case 15098:case 15099:case 15100:case 15101:case 15102:case 15104:case 15105:case 15108:case 15109:case 15110:case 15111:case 15114:case 15115:case 15118:case 15122:case 17414:case 17478:case 17480:case 17481:case 17482:case 17483:case 17487:case 17488:case 17489:case 17491:case 17492:case 17493:case 17494:case 17496:case 17497:case 17498:case 17499:case 17501:case 17502:case 17505:case 17506:case 17509:case 17510:case 17511:case 17512:case 17513:case 17514:case 17516:case 17517:case 17518:case 17519:case 17520:case 17521:case 17526:case 17527:case 17530:case 17531:case 17533:case 17534:case 17536:case 17537:case 17539:case 17540:case 17541:case 17542:case 17543:case 17544:case 17545:case 17549:case 17553:case 17554:case 17556:case 17558:case 17559:case 17561:case 17562:case 17563:case 17567:case 17568:case 17569:case 17570:case 17571:case 17572:case 17578:case 17579:case 17580:case 17582:case 17584:case 17586:case 17588:case 17589:case 17590:case 17592:case 17594:case 17600:case 17606:case 17607:case 17608:case 17609:case 17610:case 17611:case 17614:case 17620:case 17621:case 17626:case 17627:case 17628:case 17629:case 17630:case 17632:case 17633:case 17636:case 17637:case 17642:case 17643:case 17644:case 17645:case 17648:case 17656:case 17657:case 17658:case 17659:case 17660:case 17662:case 17664:case 17665:case 17668:case 17669:case 17670:case 17671:case 17674:case 17675:case 17678:case 17682:case 36946:case 36985:case 37048:case 37080:case 37458:case 37497:case 37560:case 37592:case 37970:case 38009:case 38072:case 38104:case 42066:case 42105:case 42168:case 42200:case 42578:case 42617:case 42680:case 42712:case 43602:case 43641:case 43704:case 43736:case 44114:case 44153:case 44216:case 44248:case 46674:case 46713:case 46776:case 46808:case 47698:case 47737:case 47800:case 47832:case 49234:case 49273:case 49336:case 49368:case 49746:case 49785:case 49848:case 49880:case 50258:case 50297:case 50360:case 50392:case 51794:case 51833:case 51896:case 51928:case 52306:case 52345:case 52408:case 52440:case 52818:case 52857:case 52920:case 52952:case 53330:case 53369:case 53432:case 53464:case 54354:case 54393:case 54456:case 54488:case 55378:case 55417:case 55480:case 55512:case 56402:case 56441:case 56504:case 56536:case 56914:case 56953:case 57016:case 57048:case 57426:case 57465:case 57528:case 57560:case 61010:case 61049:case 61112:case 61144:case 61522:case 61561:case 61624:case 61656:case 62034:case 62073:case 62136:case 62168:case 63570:case 63609:case 63672:case 63704:case 64082:case 64121:case 64184:case 64216:case 66130:case 66169:case 66232:case 66264:case 67666:case 67705:case 67768:case 67800:case 68178:case 68217:case 68280:case 68312:case 68690:case 68729:case 68792:case 68824:case 69202:case 69241:case 69304:case 69336:case 69714:case 69753:case 69816:case 69848:case 72274:case 72313:case 72376:case 72408:case 74322:case 74361:case 74424:case 74456:case 77906:case 77945:case 78008:case 78040:case 78418:case 78457:case 78520:case 78552:case 78930:case 78969:case 79032:case 79064:case 79442:case 79481:case 79544:case 79576:case 81490:case 81529:case 81592:case 81624:case 82514:case 82553:case 82616:case 82648:case 84562:case 84601:case 84664:case 84696:case 87122:case 87161:case 87224:case 87256:case 87634:case 87673:case 87736:case 87768:case 90194:case 90233:case 90296:case 90328:case 93266:case 93305:case 93368:case 93400:case 94290:case 94329:case 94392:case 94424:case 94802:case 94841:case 94904:case 94936:case 97874:case 97913:case 97976:case 98008:case 98386:case 98425:case 98488:case 98520:case 101970:case 102009:case 102072:case 102104:case 103506:case 103545:case 103608:case 103640:case 104018:case 104057:case 104120:case 104152:case 105554:case 105593:case 105656:case 105688:case 108626:case 108665:case 108728:case 108760:case 109138:case 109177:case 109240:case 109272:case 110674:case 110713:case 110776:case 110808:case 111698:case 111737:case 111800:case 111832:case 112210:case 112249:case 112312:case 112344:case 113234:case 113273:case 113336:case 113368:case 113746:case 113785:case 113848:case 113880:case 115282:case 115321:case 115384:case 115416:case 115794:case 115833:case 115896:case 115928:case 116306:case 116345:case 116408:case 116440:case 116818:case 116857:case 116920:case 116952:case 117330:case 117369:case 117432:case 117464:case 119890:case 119929:case 119992:case 120024:case 120402:case 120441:case 120504:case 120536:case 122962:case 123001:case 123064:case 123096:case 124498:case 124537:case 124600:case 124632:case 125010:case 125049:case 125112:case 125144:case 128082:case 128121:case 128184:case 128216:case 128594:case 128633:case 128696:case 128728:case 129106:case 129145:case 129208:case 129240:case 129618:case 129657:case 129720:case 129752:case 131154:case 131193:case 131256:case 131288:case 131666:case 131705:case 131768:case 131800:case 133202:case 133241:case 133304:case 133336:case 133714:case 133753:case 133816:case 133848:case 134226:case 134265:case 134328:case 134360:case 134738:case 134777:case 134840:case 134872:case 136786:case 136825:case 136888:case 136920:case 140370:case 140409:case 140472:case 140504:case 141394:case 141408:case 141431:case 141433:case 141496:case 141514:case 141528:case 141556:case 141568:Kr();break;default:Mr()}}function Or(){Cl.startNonterminal("AxisStep",pl);switch(dl){case 73:case 74:case 206:case 212:case 213:Bl(240);break;default:cl=dl}switch(cl){case 45:case 26185:case 26186:case 26318:case 26324:case 26325:Fr();break;default:_r()}Hl(236),Dl(),Yr(),Cl.endNonterminal("AxisStep",pl)}function Mr(){switch(dl){case 73:case 74:case 206:case 212:case 213:Bl(240);break;default:cl=dl}switch(cl){case 45:case 26185:case 26186:case 26318:case 26324:case 26325:Ir();break;default:Dr()}Hl(236),Zr()}function _r(){Cl.startNonterminal("ForwardStep",pl);switch(dl){case 82:Bl(243);break;case 93:case 111:case 112:case 135:case 136:case 229:Bl(240);break;default:cl=dl}switch(cl){case 26194:case 26205:case 26223:case 26224:case 26247:case 26248:case 26341:Pr(),Hl(251),Dl(),Wr();break;default:Br()}Cl.endNonterminal("ForwardStep",pl)}function Dr(){switch(dl){case 82:Bl(243);break;case 93:case 111:case 112:case 135:case 136:case 229:Bl(240);break;default:cl=dl}switch(cl){case 26194:case 26205:case 26223:case 26224:case 26247:case 26248:case 26341:Hr(),Hl(251),Xr();break;default:jr()}}function Pr(){Cl.startNonterminal("ForwardAxis",pl);switch(dl){case 93:Ol(93),Hl(26),Ol(51);break;case 111:Ol(111),Hl(26),Ol(51);break;case 82:Ol(82),Hl(26),Ol(51);break;case 229:Ol(229),Hl(26),Ol(51);break;case 112:Ol(112),Hl(26),Ol(51);break;case 136:Ol(136),Hl(26),Ol(51);break;default:Ol(135),Hl(26),Ol(51)}Cl.endNonterminal("ForwardAxis",pl)}function Hr(){switch(dl){case 93:Ml(93),Hl(26),Ml(51);break;case 111:Ml(111),Hl(26),Ml(51);break;case 82:Ml(82),Hl(26),Ml(51);break;case 229:Ml(229),Hl(26),Ml(51);break;case 112:Ml(112),Hl(26),Ml(51);break;case 136:Ml(136),Hl(26),Ml(51);break;default:Ml(135),Hl(26),Ml(51)}}function Br(){Cl.startNonterminal("AbbrevForwardStep",pl),dl==66&&Ol(66),Hl(251),Dl(),Wr(),Cl.endNonterminal("AbbrevForwardStep",pl)}function jr(){dl==66&&Ml(66),Hl(251),Xr()}function Fr(){Cl.startNonterminal("ReverseStep",pl);switch(dl){case 45:Ur();break;default:qr(),Hl(251),Dl(),Wr()}Cl.endNonterminal("ReverseStep",pl)}function Ir(){switch(dl){case 45:zr();break;default:Rr(),Hl(251),Xr()}}function qr(){Cl.startNonterminal("ReverseAxis",pl);switch(dl){case 206:Ol(206),Hl(26),Ol(51);break;case 73:Ol(73),Hl(26),Ol(51);break;case 213:Ol(213),Hl(26),Ol(51);break;case 212:Ol(212),Hl(26),Ol(51);break;default:Ol(74),Hl(26),Ol(51)}Cl.endNonterminal("ReverseAxis",pl)}function Rr(){switch(dl){case 206:Ml(206),Hl(26),Ml(51);break;case 73:Ml(73),Hl(26),Ml(51);break;case 213:Ml(213),Hl(26),Ml(51);break;case 212:Ml(212),Hl(26),Ml(51);break;default:Ml(74),Hl(26),Ml(51)}}function Ur(){Cl.startNonterminal("AbbrevReverseStep",pl),Ol(45),Cl.endNonterminal("AbbrevReverseStep",pl)}function zr(){Ml(45)}function Wr(){Cl.startNonterminal("NodeTest",pl);switch(dl){case 82:case 96:case 120:case 121:case 185:case 191:case 216:case 226:case 227:case 244:Bl(239);break;default:cl=dl}switch(cl){case 17490:case 17504:case 17528:case 17529:case 17593:case 17599:case 17624:case 17634:case 17635:case 17652:Os();break;default:Vr()}Cl.endNonterminal("NodeTest",pl)}function Xr(){switch(dl){case 82:case 96:case 120:case 121:case 185:case 191:case 216:case 226:case 227:case 244:Bl(239);break;default:cl=dl}switch(cl){case 17490:case 17504:case 17528:case 17529:case 17593:case 17599:case 17624:case 17634:case 17635:case 17652:Ms();break;default:$r()}}function Vr(){Cl.startNonterminal("NameTest",pl);switch(dl){case 5:Ol(5);break;default:Aa()}Cl.endNonterminal("NameTest",pl)}function $r(){switch(dl){case 5:Ml(5);break;default:Oa()}}function Jr(){Cl.startNonterminal("PostfixExpr",pl),Yf();for(;;){Hl(239);if(dl!=34&&dl!=68)break;switch(dl){case 68:Dl(),ei();break;default:Dl(),Qr()}}Cl.endNonterminal("PostfixExpr",pl)}function Kr(){Zf();for(;;){Hl(239);if(dl!=34&&dl!=68)break;switch(dl){case 68:ti();break;default:Gr()}}}function Qr(){Cl.startNonterminal("ArgumentList",pl),Ol(34),Hl(274);if(dl!=37){Dl(),wi();for(;;){Hl(101);if(dl!=41)break;Ol(41),Hl(269),Dl(),wi()}}Ol(37),Cl.endNonterminal("ArgumentList",pl)}function Gr(){Ml(34),Hl(274);if(dl!=37){Ei();for(;;){Hl(101);if(dl!=41)break;Ml(41),Hl(269),Ei()}}Ml(37)}function Yr(){Cl.startNonterminal("PredicateList",pl);for(;;){Hl(236);if(dl!=68)break;Dl(),ei()}Cl.endNonterminal("PredicateList",pl)}function Zr(){for(;;){Hl(236);if(dl!=68)break;ti()}}function ei(){Cl.startNonterminal("Predicate",pl),Ol(68),Hl(266),Dl(),G(),Ol(69),Cl.endNonterminal("Predicate",pl)}function ti(){Ml(68),Hl(266),Y(),Ml(69)}function ni(){Cl.startNonterminal("Literal",pl);switch(dl){case 11:Ol(11);break;default:ii()}Cl.endNonterminal("Literal",pl)}function ri(){switch(dl){case 11:Ml(11);break;default:si()}}function ii(){Cl.startNonterminal("NumericLiteral",pl);switch(dl){case 8:Ol(8);break;case 9:Ol(9);break;default:Ol(10)}Cl.endNonterminal("NumericLiteral",pl)}function si(){switch(dl){case 8:Ml(8);break;case 9:Ml(9);break;default:Ml(10)}}function oi(){Cl.startNonterminal("VarRef",pl),Ol(31),Hl(249),Dl(),ai(),Cl.endNonterminal("VarRef",pl)}function ui(){Ml(31),Hl(249),fi()}function ai(){Cl.startNonterminal("VarName",pl),Aa(),Cl.endNonterminal("VarName",pl)}function fi(){Oa()}function li(){Cl.startNonterminal("ParenthesizedExpr",pl),Ol(34),Hl(268),dl!=37&&(Dl(),G()),Ol(37),Cl.endNonterminal("ParenthesizedExpr",pl)}function ci(){Ml(34),Hl(268),dl!=37&&Y(),Ml(37)}function hi(){Cl.startNonterminal("ContextItemExpr",pl),Ol(44),Cl.endNonterminal("ContextItemExpr",pl)}function pi(){Ml(44)}function di(){Cl.startNonterminal("OrderedExpr",pl),Ol(202),Hl(87),Ol(276),Hl(266),Dl(),G(),Ol(282),Cl.endNonterminal("OrderedExpr",pl)}function vi(){Ml(202),Hl(87),Ml(276),Hl(266),Y(),Ml(282)}function mi(){Cl.startNonterminal("UnorderedExpr",pl),Ol(256),Hl(87),Ol(276),Hl(266),Dl(),G(),Ol(282),Cl.endNonterminal("UnorderedExpr",pl)}function gi(){Ml(256),Hl(87),Ml(276),Hl(266),Y(),Ml(282)}function yi(){Cl.startNonterminal("FunctionCall",pl),Ma(),Hl(22),Dl(),Qr(),Cl.endNonterminal("FunctionCall",pl)}function bi(){_a(),Hl(22),Gr()}function wi(){Cl.startNonterminal("Argument",pl);switch(dl){case 64:Si();break;default:Tf()}Cl.endNonterminal("Argument",pl)}function Ei(){switch(dl){case 64:xi();break;default:Nf()}}function Si(){Cl.startNonterminal("ArgumentPlaceholder",pl),Ol(64),Cl.endNonterminal("ArgumentPlaceholder",pl)}function xi(){Ml(64)}function Ti(){Cl.startNonterminal("Constructor",pl);switch(dl){case 54:case 55:case 59:Ci();break;default:Wi()}Cl.endNonterminal("Constructor",pl)}function Ni(){switch(dl){case 54:case 55:case 59:ki();break;default:Xi()}}function Ci(){Cl.startNonterminal("DirectConstructor",pl);switch(dl){case 54:Li();break;case 55:qi();break;default:Ui()}Cl.endNonterminal("DirectConstructor",pl)}function ki(){switch(dl){case 54:Ai();break;case 55:Ri();break;default:zi()}}function Li(){Cl.startNonterminal("DirElemConstructor",pl),Ol(54),jl(4),Ol(20),Oi();switch(dl){case 48:Ol(48);break;default:Ol(61);for(;;){jl(174);if(dl==56)break;Fi()}Ol(56),jl(4),Ol(20),jl(12),dl==21&&Ol(21),jl(8),Ol(61)}Cl.endNonterminal("DirElemConstructor",pl)}function Ai(){Ml(54),jl(4),Ml(20),Mi();switch(dl){case 48:Ml(48);break;default:Ml(61);for(;;){jl(174);if(dl==56)break;Ii()}Ml(56),jl(4),Ml(20),jl(12),dl==21&&Ml(21),jl(8),Ml(61)}}function Oi(){Cl.startNonterminal("DirAttributeList",pl);for(;;){jl(19);if(dl!=21)break;Ol(21),jl(91),dl==20&&(Ol(20),jl(11),dl==21&&Ol(21),jl(7),Ol(60),jl(18),dl==21&&Ol(21),_i())}Cl.endNonterminal("DirAttributeList",pl)}function Mi(){for(;;){jl(19);if(dl!=21)break;Ml(21),jl(91),dl==20&&(Ml(20),jl(11),dl==21&&Ml(21),jl(7),Ml(60),jl(18),dl==21&&Ml(21),Di())}}function _i(){Cl.startNonterminal("DirAttributeValue",pl),jl(14);switch(dl){case 28:Ol(28);for(;;){jl(167);if(dl==28)break;switch(dl){case 13:Ol(13);break;default:Pi()}}Ol(28);break;default:Ol(33);for(;;){jl(168);if(dl==33)break;switch(dl){case 14:Ol(14);break;default:Bi()}}Ol(33)}Cl.endNonterminal("DirAttributeValue",pl)}function Di(){jl(14);switch(dl){case 28:Ml(28);for(;;){jl(167);if(dl==28)break;switch(dl){case 13:Ml(13);break;default:Hi()}}Ml(28);break;default:Ml(33);for(;;){jl(168);if(dl==33)break;switch(dl){case 14:Ml(14);break;default:ji()}}Ml(33)}}function Pi(){Cl.startNonterminal("QuotAttrValueContent",pl);switch(dl){case 16:Ol(16);break;default:Ff()}Cl.endNonterminal("QuotAttrValueContent",pl)}function Hi(){switch(dl){case 16:Ml(16);break;default:If()}}function Bi(){Cl.startNonterminal("AposAttrValueContent",pl);switch(dl){case 17:Ol(17);break;default:Ff()}Cl.endNonterminal("AposAttrValueContent",pl)}function ji(){switch(dl){case 17:Ml(17);break;default:If()}}function Fi(){Cl.startNonterminal("DirElemContent",pl);switch(dl){case 54:case 55:case 59:Ci();break;case 4:Ol(4);break;case 15:Ol(15);break;default:Ff()}Cl.endNonterminal("DirElemContent",pl)}function Ii(){switch(dl){case 54:case 55:case 59:ki();break;case 4:Ml(4);break;case 15:Ml(15);break;default:If()}}function qi(){Cl.startNonterminal("DirCommentConstructor",pl),Ol(55),jl(1),Ol(2),jl(6),Ol(43),Cl.endNonterminal("DirCommentConstructor",pl)}function Ri(){Ml(55),jl(1),Ml(2),jl(6),Ml(43)}function Ui(){Cl.startNonterminal("DirPIConstructor",pl),Ol(59),jl(3),Ol(18),jl(13),dl==21&&(Ol(21),jl(2),Ol(3)),jl(9),Ol(65),Cl.endNonterminal("DirPIConstructor",pl)}function zi(){Ml(59),jl(3),Ml(18),jl(13),dl==21&&(Ml(21),jl(2),Ml(3)),jl(9),Ml(65)}function Wi(){Cl.startNonterminal("ComputedConstructor",pl);switch(dl){case 119:Uf();break;case 121:Vi();break;case 82:Wf();break;case 184:Ji();break;case 244:Qf();break;case 96:Jf();break;default:Vf()}Cl.endNonterminal("ComputedConstructor",pl)}function Xi(){switch(dl){case 119:zf();break;case 121:$i();break;case 82:Xf();break;case 184:Ki();break;case 244:Gf();break;case 96:Kf();break;default:$f()}}function Vi(){Cl.startNonterminal("CompElemConstructor",pl),Ol(121),Hl(252);switch(dl){case 276:Ol(276),Hl(266),Dl(),G(),Ol(282);break;default:Dl(),Aa()}Hl(87),Ol(276),Hl(272),dl!=282&&(Dl(),qf()),Ol(282),Cl.endNonterminal("CompElemConstructor",pl)}function $i(){Ml(121),Hl(252);switch(dl){case 276:Ml(276),Hl(266),Y(),Ml(282);break;default:Oa()}Hl(87),Ml(276),Hl(272),dl!=282&&Rf(),Ml(282)}function Ji(){Cl.startNonterminal("CompNamespaceConstructor",pl),Ol(184),Hl(253);switch(dl){case 276:Ol(276),Hl(266),Dl(),Yi(),Ol(282);break;default:Dl(),Qi()}Hl(87),Ol(276),Hl(266),Dl(),es(),Ol(282),Cl.endNonterminal("CompNamespaceConstructor",pl)}function Ki(){Ml(184),Hl(253);switch(dl){case 276:Ml(276),Hl(266),Zi(),Ml(282);break;default:Gi()}Hl(87),Ml(276),Hl(266),ts(),Ml(282)}function Qi(){Cl.startNonterminal("Prefix",pl),Da(),Cl.endNonterminal("Prefix",pl)}function Gi(){Pa()}function Yi(){Cl.startNonterminal("PrefixExpr",pl),G(),Cl.endNonterminal("PrefixExpr",pl)}function Zi(){Y()}function es(){Cl.startNonterminal("URIExpr",pl),G(),Cl.endNonterminal("URIExpr",pl)}function ts(){Y()}function ns(){Cl.startNonterminal("FunctionItemExpr",pl);switch(dl){case 145:Bl(92);break;default:cl=dl}switch(cl){case 32:case 17553:os();break;default:is()}Cl.endNonterminal("FunctionItemExpr",pl)}function rs(){switch(dl){case 145:Bl(92);break;default:cl=dl}switch(cl){case 32:case 17553:us();break;default:ss()}}function is(){Cl.startNonterminal("NamedFunctionRef",pl),Aa(),Hl(20),Ol(29),Hl(16),Ol(8),Cl.endNonterminal("NamedFunctionRef",pl)}function ss(){Oa(),Hl(20),Ml(29),Hl(16),Ml(8)}function os(){Cl.startNonterminal("InlineFunctionExpr",pl);for(;;){Hl(97);if(dl!=32)break;Dl(),B()}Ol(145),Hl(22),Ol(34),Hl(94),dl==31&&(Dl(),U()),Ol(37),Hl(111),dl==79&&(Ol(79),Hl(259),Dl(),hs()),Hl(87),Dl(),V(),Cl.endNonterminal("InlineFunctionExpr",pl)}function us(){for(;;){Hl(97);if(dl!=32)break;j()}Ml(145),Hl(22),Ml(34),Hl(94),dl==31&&z(),Ml(37),Hl(111),dl==79&&(Ml(79),Hl(259),ps()),Hl(87),$()}function as(){Cl.startNonterminal("SingleType",pl),lo(),Hl(226),dl==64&&Ol(64),Cl.endNonterminal("SingleType",pl)}function fs(){co(),Hl(226),dl==64&&Ml(64)}function ls(){Cl.startNonterminal("TypeDeclaration",pl),Ol(79),Hl(259),Dl(),hs(),Cl.endNonterminal("TypeDeclaration",pl)}function cs(){Ml(79),Hl(259),ps()}function hs(){Cl.startNonterminal("SequenceType",pl);switch(dl){case 124:Bl(241);break;default:cl=dl}switch(cl){case 17532:Ol(124),Hl(22),Ol(34),Hl(23),Ol(37);break;default:ms(),Hl(237);switch(dl){case 39:case 40:case 64:Dl(),ds();break;default:}}Cl.endNonterminal("SequenceType",pl)}function ps(){switch(dl){case 124:Bl(241);break;default:cl=dl}switch(cl){case 17532:Ml(124),Hl(22),Ml(34),Hl(23),Ml(37);break;default:gs(),Hl(237);switch(dl){case 39:case 40:case 64:vs();break;default:}}}function ds(){Cl.startNonterminal("OccurrenceIndicator",pl);switch(dl){case 64:Ol(64);break;case 39:Ol(39);break;default:Ol(40)}Cl.endNonterminal("OccurrenceIndicator",pl)}function vs(){switch(dl){case 64:Ml(64);break;case 39:Ml(39);break;default:Ml(40)}}function ms(){Cl.startNonterminal("ItemType",pl);switch(dl){case 82:case 96:case 120:case 121:case 145:case 165:case 185:case 191:case 216:case 226:case 227:case 244:Bl(241);break;default:cl=dl}switch(cl){case 17490:case 17504:case 17528:case 17529:case 17593:case 17599:case 17624:case 17634:case 17635:case 17652:Os();break;case 17573:Ol(165),Hl(22),Ol(34),Hl(23),Ol(37);break;case 32:case 17553:vo();break;case 34:Eo();break;case 78:case 167:case 194:ys();break;case 242:ws();break;default:Ls()}Cl.endNonterminal("ItemType",pl)}function gs(){switch(dl){case 82:case 96:case 120:case 121:case 145:case 165:case 185:case 191:case 216:case 226:case 227:case 244:Bl(241);break;default:cl=dl}switch(cl){case 17490:case 17504:case 17528:case 17529:case 17593:case 17599:case 17624:case 17634:case 17635:case 17652:Ms();break;case 17573:Ml(165),Hl(22),Ml(34),Hl(23),Ml(37);break;case 32:case 17553:mo();break;case 34:So();break;case 78:case 167:case 194:bs();break;case 242:Es();break;default:As()}}function ys(){Cl.startNonterminal("JSONTest",pl);switch(dl){case 167:Ss();break;case 194:Ts();break;default:Cs()}Cl.endNonterminal("JSONTest",pl)}function bs(){switch(dl){case 167:xs();break;case 194:Ns();break;default:ks()}}function ws(){Cl.startNonterminal("StructuredItemTest",pl),Ol(242),Hl(22),Ol(34),Hl(23),Ol(37),Cl.endNonterminal("StructuredItemTest",pl)}function Es(){Ml(242),Hl(22),Ml(34),Hl(23),Ml(37)}function Ss(){Cl.startNonterminal("JSONItemTest",pl),Ol(167),Hl(22),Ol(34),Hl(23),Ol(37),Cl.endNonterminal("JSONItemTest",pl)}function xs(){Ml(167),Hl(22),Ml(34),Hl(23),Ml(37)}function Ts(){Cl.startNonterminal("JSONObjectTest",pl),Ol(194),Hl(22),Ol(34),Hl(23),Ol(37),Cl.endNonterminal("JSONObjectTest",pl)}function Ns(){Ml(194),Hl(22),Ml(34),Hl(23),Ml(37)}function Cs(){Cl.startNonterminal("JSONArrayTest",pl),Ol(78),Hl(22),Ol(34),Hl(23),Ol(37),Cl.endNonterminal("JSONArrayTest",pl)}function ks(){Ml(78),Hl(22),Ml(34),Hl(23),Ml(37)}function Ls(){Cl.startNonterminal("AtomicOrUnionType",pl),Aa(),Cl.endNonterminal("AtomicOrUnionType",pl)}function As(){Oa()}function Os(){Cl.startNonterminal("KindTest",pl);switch(dl){case 120:Ps();break;case 121:Ys();break;case 82:Ws();break;case 227:no();break;case 226:Js();break;case 216:Us();break;case 96:Fs();break;case 244:Bs();break;case 185:qs();break;default:_s()}Cl.endNonterminal("KindTest",pl)}function Ms(){switch(dl){case 120:Hs();break;case 121:Zs();break;case 82:Xs();break;case 227:ro();break;case 226:Ks();break;case 216:zs();break;case 96:Is();break;case 244:js();break;case 185:Rs();break;default:Ds()}}function _s(){Cl.startNonterminal("AnyKindTest",pl),Ol(191),Hl(22),Ol(34),Hl(23),Ol(37),Cl.endNonterminal("AnyKindTest",pl)}function Ds(){Ml(191),Hl(22),Ml(34),Hl(23),Ml(37)}function Ps(){Cl.startNonterminal("DocumentTest",pl),Ol(120),Hl(22),Ol(34),Hl(144);if(dl!=37)switch(dl){case 121:Dl(),Ys();break;default:Dl(),no()}Hl(23),Ol(37),Cl.endNonterminal("DocumentTest",pl)}function Hs(){Ml(120),Hl(22),Ml(34),Hl(144);if(dl!=37)switch(dl){case 121:Zs();break;default:ro()}Hl(23),Ml(37)}function Bs(){Cl.startNonterminal("TextTest",pl),Ol(244),Hl(22),Ol(34),Hl(23),Ol(37),Cl.endNonterminal("TextTest",pl)}function js(){Ml(244),Hl(22),Ml(34),Hl(23),Ml(37)}function Fs(){Cl.startNonterminal("CommentTest",pl),Ol(96),Hl(22),Ol(34),Hl(23),Ol(37),Cl.endNonterminal("CommentTest",pl)}function Is(){Ml(96),Hl(22),Ml(34),Hl(23),Ml(37)}function qs(){Cl.startNonterminal("NamespaceNodeTest",pl),Ol(185),Hl(22),Ol(34),Hl(23),Ol(37),Cl.endNonterminal("NamespaceNodeTest",pl)}function Rs(){Ml(185),Hl(22),Ml(34),Hl(23),Ml(37)}function Us(){Cl.startNonterminal("PITest",pl),Ol(216),Hl(22),Ol(34),Hl(256);if(dl!=37)switch(dl){case 11:Ol(11);break;default:Dl(),Da()}Hl(23),Ol(37),Cl.endNonterminal("PITest",pl)}function zs(){Ml(216),Hl(22),Ml(34),Hl(256);if(dl!=37)switch(dl){case 11:Ml(11);break;default:Pa()}Hl(23),Ml(37)}function Ws(){Cl.startNonterminal("AttributeTest",pl),Ol(82),Hl(22),Ol(34),Hl(255),dl!=37&&(Dl(),Vs(),Hl(101),dl==41&&(Ol(41),Hl(249),Dl(),ho())),Hl(23),Ol(37),Cl.endNonterminal("AttributeTest",pl)}function Xs(){Ml(82),Hl(22),Ml(34),Hl(255),dl!=37&&($s(),Hl(101),dl==41&&(Ml(41),Hl(249),po())),Hl(23),Ml(37)}function Vs(){Cl.startNonterminal("AttribNameOrWildcard",pl);switch(dl){case 38:Ol(38);break;default:oo()}Cl.endNonterminal("AttribNameOrWildcard",pl)}function $s(){switch(dl){case 38:Ml(38);break;default:uo()}}function Js(){Cl.startNonterminal("SchemaAttributeTest",pl),Ol(226),Hl(22),Ol(34),Hl(249),Dl(),Qs(),Hl(23),Ol(37),Cl.endNonterminal("SchemaAttributeTest",pl)}function Ks(){Ml(226),Hl(22),Ml(34),Hl(249),Gs(),Hl(23),Ml(37)}function Qs(){Cl.startNonterminal("AttributeDeclaration",pl),oo(),Cl.endNonterminal("AttributeDeclaration",pl)}function Gs(){uo()}function Ys(){Cl.startNonterminal("ElementTest",pl),Ol(121),Hl(22),Ol(34),Hl(255),dl!=37&&(Dl(),eo(),Hl(101),dl==41&&(Ol(41),Hl(249),Dl(),ho(),Hl(102),dl==64&&Ol(64))),Hl(23),Ol(37),Cl.endNonterminal("ElementTest",pl)}function Zs(){Ml(121),Hl(22),Ml(34),Hl(255),dl!=37&&(to(),Hl(101),dl==41&&(Ml(41),Hl(249),po(),Hl(102),dl==64&&Ml(64))),Hl(23),Ml(37)}function eo(){Cl.startNonterminal("ElementNameOrWildcard",pl);switch(dl){case 38:Ol(38);break;default:ao()}Cl.endNonterminal("ElementNameOrWildcard",pl)}function to(){switch(dl){case 38:Ml(38);break;default:fo()}}function no(){Cl.startNonterminal("SchemaElementTest",pl),Ol(227),Hl(22),Ol(34),Hl(249),Dl(),io(),Hl(23),Ol(37),Cl.endNonterminal("SchemaElementTest",pl)}function ro(){Ml(227),Hl(22),Ml(34),Hl(249),so(),Hl(23),Ml(37)}function io(){Cl.startNonterminal("ElementDeclaration",pl),ao(),Cl.endNonterminal("ElementDeclaration",pl)}function so(){fo()}function oo(){Cl.startNonterminal("AttributeName",pl),Aa(),Cl.endNonterminal("AttributeName",pl)}function uo(){Oa()}function ao(){Cl.startNonterminal("ElementName",pl),Aa(),Cl.endNonterminal("ElementName",pl)}function fo(){Oa()}function lo(){Cl.startNonterminal("SimpleTypeName",pl),ho(),Cl.endNonterminal("SimpleTypeName",pl)}function co(){po()}function ho(){Cl.startNonterminal("TypeName",pl),Aa(),Cl.endNonterminal("TypeName",pl)}function po(){Oa()}function vo(){Cl.startNonterminal("FunctionTest",pl);for(;;){Hl(97);if(dl!=32)break;Dl(),B()}switch(dl){case 145:Bl(22);break;default:cl=dl}cl=Ll(4,pl);if(cl==0){var e=hl,t=pl,n=dl,r=vl,i=ml,s=gl,o=yl,u=bl;try{yo(),cl=-1}catch(a){cl=-2}hl=e,pl=t,dl=n,dl==0?Ul=t:(vl=r,ml=i,gl=s,gl==0?Ul=i:(yl=o,bl=u,Ul=u)),kl(4,pl,cl)}switch(cl){case-1:Dl(),go();break;default:Dl(),bo()}Cl.endNonterminal("FunctionTest",pl)}function mo(){for(;;){Hl(97);if(dl!=32)break;j()}switch(dl){case 145:Bl(22);break;default:cl=dl}cl=Ll(4,pl);if(cl==0){var e=hl,t=pl,n=dl,r=vl,i=ml,s=gl,o=yl,u=bl;try{yo(),cl=-1}catch(a){cl=-2}hl=e,pl=t,dl=n,dl==0?Ul=t:(vl=r,ml=i,gl=s,gl==0?Ul=i:(yl=o,bl=u,Ul=u)),kl(4,pl,cl)}switch(cl){case-1:yo();break;default:wo()}}function go(){Cl.startNonterminal("AnyFunctionTest",pl),Ol(145),Hl(22),Ol(34),Hl(24),Ol(38),Hl(23),Ol(37),Cl.endNonterminal("AnyFunctionTest",pl)}function yo(){Ml(145),Hl(22),Ml(34),Hl(24),Ml(38),Hl(23),Ml(37)}function bo(){Cl.startNonterminal("TypedFunctionTest",pl),Ol(145),Hl(22),Ol(34),Hl(261);if(dl!=37){Dl(),hs();for(;;){Hl(101);if(dl!=41)break;Ol(41),Hl(259),Dl(),hs()}}Ol(37),Hl(30),Ol(79),Hl(259),Dl(),hs(),Cl.endNonterminal("TypedFunctionTest",pl)}function wo(){Ml(145),Hl(22),Ml(34),Hl(261);if(dl!=37){ps();for(;;){Hl(101);if(dl!=41)break;Ml(41),Hl(259),ps()}}Ml(37),Hl(30),Ml(79),Hl(259),ps()}function Eo(){Cl.startNonterminal("ParenthesizedItemType",pl),Ol(34),Hl(259),Dl(),ms(),Hl(23),Ol(37),Cl.endNonterminal("ParenthesizedItemType",pl)}function So(){Ml(34),Hl(259),gs(),Hl(23),Ml(37)}function xo(){Cl.startNonterminal("RevalidationDecl",pl),Ol(108),Hl(72),Ol(222),Hl(152);switch(dl){case 240:Ol(240);break;case 171:Ol(171);break;default:Ol(233)}Cl.endNonterminal("RevalidationDecl",pl)}function To(){Cl.startNonterminal("InsertExprTargetChoice",pl);switch(dl){case 70:Ol(70);break;case 84:Ol(84);break;default:if(dl==79){Ol(79),Hl(119);switch(dl){case 134:Ol(134);break;default:Ol(170)}}Hl(54),Ol(163)}Cl.endNonterminal("InsertExprTargetChoice",pl)}function No(){switch(dl){case 70:Ml(70);break;case 84:Ml(84);break;default:if(dl==79){Ml(79),Hl(119);switch(dl){case 134:Ml(134);break;default:Ml(170)}}Hl(54),Ml(163)}}function Co(){Cl.startNonterminal("InsertExpr",pl),Ol(159),Hl(129);switch(dl){case 191:Ol(191);break;default:Ol(192)}Hl(266),Dl(),Po(),Dl(),To(),Hl(266),Dl(),Bo(),Cl.endNonterminal("InsertExpr",pl)}function ko(){Ml(159),Hl(129);switch(dl){case 191:Ml(191);break;default:Ml(192)}Hl(266),Ho(),No(),Hl(266),jo()}function Lo(){Cl.startNonterminal("DeleteExpr",pl),Ol(110),Hl(129);switch(dl){case 191:Ol(191);break;default:Ol(192)}Hl(266),Dl(),Bo(),Cl.endNonterminal("DeleteExpr",pl)}function Ao(){Ml(110),Hl(129);switch(dl){case 191:Ml(191);break;default:Ml(192)}Hl(266),jo()}function Oo(){Cl.startNonterminal("ReplaceExpr",pl),Ol(219),Hl(130),dl==261&&(Ol(261),Hl(64),Ol(196)),Hl(62),Ol(191),Hl(266),Dl(),Bo(),Ol(270),Hl(266),Dl(),Tf(),Cl.endNonterminal("ReplaceExpr",pl)}function Mo(){Ml(219),Hl(130),dl==261&&(Ml(261),Hl(64),Ml(196)),Hl(62),Ml(191),Hl(266),jo(),Ml(270),Hl(266),Nf()}function _o(){Cl.startNonterminal("RenameExpr",pl),Ol(218),Hl(62),Ol(191),Hl(266),Dl(),Bo(),Ol(79),Hl(266),Dl(),Fo(),Cl.endNonterminal("RenameExpr",pl)}function Do(){Ml(218),Hl(62),Ml(191),Hl(266),jo(),Ml(79),Hl(266),Io()}function Po(){Cl.startNonterminal("SourceExpr",pl),Tf(),Cl.endNonterminal("SourceExpr",pl)}function Ho(){Nf()}function Bo(){Cl.startNonterminal("TargetExpr",pl),Tf(),Cl.endNonterminal("TargetExpr",pl)}function jo(){Nf()}function Fo(){Cl.startNonterminal("NewNameExpr",pl),Tf(),Cl.endNonterminal("NewNameExpr",pl)}function Io(){Nf()}function qo(){Cl.startNonterminal("TransformExpr",pl),Ol(103),Hl(21),Ol(31),Hl(249),Dl(),ai(),Hl(27),Ol(52),Hl(266),Dl(),Tf();for(;;){if(dl!=41)break;Ol(41),Hl(21),Ol(31),Hl(249),Dl(),ai(),Hl(27),Ol(52),Hl(266),Dl(),Tf()}Ol(181),Hl(266),Dl(),Tf(),Ol(220),Hl(266),Dl(),Tf(),Cl.endNonterminal("TransformExpr",pl)}function Ro(){Ml(103),Hl(21),Ml(31),Hl(249),fi(),Hl(27),Ml(52),Hl(266),Nf();for(;;){if(dl!=41)break;Ml(41),Hl(21),Ml(31),Hl(249),fi(),Hl(27),Ml(52),Hl(266),Nf()}Ml(181),Hl(266),Nf(),Ml(220),Hl(266),Nf()}function Uo(){Cl.startNonterminal("FTSelection",pl),Vo();for(;;){Hl(211);switch(dl){case 81:Bl(151);break;default:cl=dl}if(cl!=115&&cl!=117&&cl!=127&&cl!=202&&cl!=223&&cl!=269&&cl!=64593&&cl!=121425)break;Dl(),mu()}Cl.endNonterminal("FTSelection",pl)}function zo(){$o();for(;;){Hl(211);switch(dl){case 81:Bl(151);break;default:cl=dl}if(cl!=115&&cl!=117&&cl!=127&&cl!=202&&cl!=223&&cl!=269&&cl!=64593&&cl!=121425)break;gu()}}function Wo(){Cl.startNonterminal("FTWeight",pl),Ol(264),Hl(87),Ol(276),Hl(266),Dl(),G(),Ol(282),Cl.endNonterminal("FTWeight",pl)}function Xo(){Ml(264),Hl(87),Ml(276),Hl(266),Y(),Ml(282)}function Vo(){Cl.startNonterminal("FTOr",pl),Jo();for(;;){if(dl!=144)break;Ol(144),Hl(162),Dl(),Jo()}Cl.endNonterminal("FTOr",pl)}function $o(){Ko();for(;;){if(dl!=144)break;Ml(144),Hl(162),Ko()}}function Jo(){Cl.startNonterminal("FTAnd",pl),Qo();for(;;){if(dl!=142)break;Ol(142),Hl(162),Dl(),Qo()}Cl.endNonterminal("FTAnd",pl)}function Ko(){Go();for(;;){if(dl!=142)break;Ml(142),Hl(162),Go()}}function Qo(){Cl.startNonterminal("FTMildNot",pl),Yo();for(;;){Hl(212);if(dl!=193)break;Ol(193),Hl(53),Ol(154),Hl(162),Dl(),Yo()}Cl.endNonterminal("FTMildNot",pl)}function Go(){Zo();for(;;){Hl(212);if(dl!=193)break;Ml(193),Hl(53),Ml(154),Hl(162),Zo()}}function Yo(){Cl.startNonterminal("FTUnaryNot",pl),dl==143&&Ol(143),Hl(155),Dl(),eu(),Cl.endNonterminal("FTUnaryNot",pl)}function Zo(){dl==143&&Ml(143),Hl(155),tu()}function eu(){Cl.startNonterminal("FTPrimaryWithOptions",pl),nu(),Hl(214),dl==259&&(Dl(),_u()),dl==264&&(Dl(),Wo()),Cl.endNonterminal("FTPrimaryWithOptions",pl)}function tu(){ru(),Hl(214),dl==259&&Du(),dl==264&&Xo()}function nu(){Cl.startNonterminal("FTPrimary",pl);switch(dl){case 34:Ol(34),Hl(162),Dl(),Uo(),Ol(37);break;case 35:au();break;default:iu(),Hl(215),dl==195&&(Dl(),hu())}Cl.endNonterminal("FTPrimary",pl)}function ru(){switch(dl){case 34:Ml(34),Hl(162),zo(),Ml(37);break;case 35:fu();break;default:su(),Hl(215),dl==195&&pu()}}function iu(){Cl.startNonterminal("FTWords",pl),ou(),Hl(221);if(dl==71||dl==76||dl==210)Dl(),lu();Cl.endNonterminal("FTWords",pl)}function su(){uu(),Hl(221),(dl==71||dl==76||dl==210)&&cu()}function ou(){Cl.startNonterminal("FTWordsValue",pl);switch(dl){case 11:Ol(11);break;default:Ol(276),Hl(266),Dl(),G(),Ol(282)}Cl.endNonterminal("FTWordsValue",pl)}function uu(){switch(dl){case 11:Ml(11);break;default:Ml(276),Hl(266),Y(),Ml(282)}}function au(){Cl.startNonterminal("FTExtensionSelection",pl);for(;;){Dl(),Sr(),Hl(100);if(dl!=35)break}Ol(276),Hl(166),dl!=282&&(Dl(),Uo()),Ol(282),Cl.endNonterminal("FTExtensionSelection",pl)}function fu(){for(;;){xr(),Hl(100);if(dl!=35)break}Ml(276),Hl(166),dl!=282&&zo(),Ml(282)}function lu(){Cl.startNonterminal("FTAnyallOption",pl);switch(dl){case 76:Ol(76),Hl(218),dl==272&&Ol(272);break;case 71:Ol(71),Hl(219),dl==273&&Ol(273);break;default:Ol(210)}Cl.endNonterminal("FTAnyallOption",pl)}function cu(){switch(dl){case 76:Ml(76),Hl(218),dl==272&&Ml(272);break;case 71:Ml(71),Hl(219),dl==273&&Ml(273);break;default:Ml(210)}}function hu(){Cl.startNonterminal("FTTimes",pl),Ol(195),Hl(149),Dl(),du(),Ol(247),Cl.endNonterminal("FTTimes",pl)}function pu(){Ml(195),Hl(149),vu(),Ml(247)}function du(){Cl.startNonterminal("FTRange",pl);switch(dl){case 130:Ol(130),Hl(265),Dl(),Un();break;case 81:Ol(81),Hl(125);switch(dl){case 173:Ol(173),Hl(265),Dl(),Un();break;default:Ol(183),Hl(265),Dl(),Un()}break;default:Ol(140),Hl(265),Dl(),Un(),Ol(248),Hl(265),Dl(),Un()}Cl.endNonterminal("FTRange",pl)}function vu(){switch(dl){case 130:Ml(130),Hl(265),zn();break;case 81:Ml(81),Hl(125);switch(dl){case 173:Ml(173),Hl(265),zn();break;default:Ml(183),Hl(265),zn()}break;default:Ml(140),Hl(265),zn(),Ml(248),Hl(265),zn()}}function mu(){Cl.startNonterminal("FTPosFilter",pl);switch(dl){case 202:yu();break;case 269:wu();break;case 117:Su();break;case 115:case 223:Cu();break;default:Ou()}Cl.endNonterminal("FTPosFilter",pl)}function gu(){switch(dl){case 202:bu();break;case 269:Eu();break;case 117:xu();break;case 115:case 223:ku();break;default:Mu()}}function yu(){Cl.startNonterminal("FTOrder",pl),Ol(202),Cl.endNonterminal("FTOrder",pl)}function bu(){Ml(202)}function wu(){Cl.startNonterminal("FTWindow",pl),Ol(269),Hl(265),Dl(),Un(),Dl(),Tu(),Cl.endNonterminal("FTWindow",pl)}function Eu(){Ml(269),Hl(265),zn(),Nu()}function Su(){Cl.startNonterminal("FTDistance",pl),Ol(117),Hl(149),Dl(),du(),Dl(),Tu(),Cl.endNonterminal("FTDistance",pl)}function xu(){Ml(117),Hl(149),vu(),Nu()}function Tu(){Cl.startNonterminal("FTUnit",pl);switch(dl){case 273:Ol(273);break;case 232:Ol(232);break;default:Ol(205)}Cl.endNonterminal("FTUnit",pl)}function Nu(){switch(dl){case 273:Ml(273);break;case 232:Ml(232);break;default:Ml(205)}}function Cu(){Cl.startNonterminal("FTScope",pl);switch(dl){case 223:Ol(223);break;default:Ol(115)}Hl(132),Dl(),Lu(),Cl.endNonterminal("FTScope",pl)}function ku(){switch(dl){case 223:Ml(223);break;default:Ml(115)}Hl(132),Au()}function Lu(){Cl.startNonterminal("FTBigUnit",pl);switch(dl){case 231:Ol(231);break;default:Ol(204)}Cl.endNonterminal("FTBigUnit",pl)}function Au(){switch(dl){case 231:Ml(231);break;default:Ml(204)}}function Ou(){Cl.startNonterminal("FTContent",pl);switch(dl){case 81:Ol(81),Hl(117);switch(dl){case 237:Ol(237);break;default:Ol(126)}break;default:Ol(127),Hl(42),Ol(100)}Cl.endNonterminal("FTContent",pl)}function Mu(){switch(dl){case 81:Ml(81),Hl(117);switch(dl){case 237:Ml(237);break;default:Ml(126)}break;default:Ml(127),Hl(42),Ml(100)}}function _u(){Cl.startNonterminal("FTMatchOptions",pl);for(;;){Ol(259),Hl(182),Dl(),Pu(),Hl(214);if(dl!=259)break}Cl.endNonterminal("FTMatchOptions",pl)}function Du(){for(;;){Ml(259),Hl(182),Hu(),Hl(214);if(dl!=259)break}}function Pu(){Cl.startNonterminal("FTMatchOption",pl);switch(dl){case 188:Bl(161);break;default:cl=dl}switch(cl){case 169:ea();break;case 268:case 137404:na();break;case 246:case 126140:Uu();break;case 238:case 122044:qu();break;case 114:Fu();break;case 239:case 122556:Ju();break;case 199:ia();break;default:Bu()}Cl.endNonterminal("FTMatchOption",pl)}function Hu(){switch(dl){case 188:Bl(161);break;default:cl=dl}switch(cl){case 169:ta();break;case 268:case 137404:ra();break;case 246:case 126140:zu();break;case 238:case 122044:Ru();break;case 114:Iu();break;case 239:case 122556:Ku();break;case 199:sa();break;default:ju()}}function Bu(){Cl.startNonterminal("FTCaseOption",pl);switch(dl){case 88:Ol(88),Hl(124);switch(dl){case 158:Ol(158);break;default:Ol(230)}break;case 177:Ol(177);break;default:Ol(258)}Cl.endNonterminal("FTCaseOption",pl)}function ju(){switch(dl){case 88:Ml(88),Hl(124);switch(dl){case 158:Ml(158);break;default:Ml(230)}break;case 177:Ml(177);break;default:Ml(258)}}function Fu(){Cl.startNonterminal("FTDiacriticsOption",pl),Ol(114),Hl(124);switch(dl){case 158:Ol(158);break;default:Ol(230)}Cl.endNonterminal("FTDiacriticsOption",pl)}function Iu(){Ml(114),Hl(124);switch(dl){case 158:Ml(158);break;default:Ml(230)}}function qu(){Cl.startNonterminal("FTStemOption",pl);switch(dl){case 238:Ol(238);break;default:Ol(188),Hl(74),Ol(238)}Cl.endNonterminal("FTStemOption",pl)}function Ru(){switch(dl){case 238:Ml(238);break;default:Ml(188),Hl(74),Ml(238)}}function Uu(){Cl.startNonterminal("FTThesaurusOption",pl);switch(dl){case 246:Ol(246),Hl(142);switch(dl){case 81:Dl(),Wu();break;case 109:Ol(109);break;default:Ol(34),Hl(112);switch(dl){case 81:Dl(),Wu();break;default:Ol(109)}for(;;){Hl(101);if(dl!=41)break;Ol(41),Hl(31),Dl(),Wu()}Ol(37)}break;default:Ol(188),Hl(78),Ol(246)}Cl.endNonterminal("FTThesaurusOption",pl)}function zu(){switch(dl){case 246:Ml(246),Hl(142);switch(dl){case 81:Xu();break;case 109:Ml(109);break;default:Ml(34),Hl(112);switch(dl){case 81:Xu();break;default:Ml(109)}for(;;){Hl(101);if(dl!=41)break;Ml(41),Hl(31),Xu()}Ml(37)}break;default:Ml(188),Hl(78),Ml(246)}}function Wu(){Cl.startNonterminal("FTThesaurusID",pl),Ol(81),Hl(15),Ol(7),Hl(220),dl==217&&(Ol(217),Hl(17),Ol(11)),Hl(216);switch(dl){case 81:Bl(165);break;default:cl=dl}if(cl==130||cl==140||cl==88657||cl==93777)Dl(),Vu(),Hl(58),Ol(175);Cl.endNonterminal("FTThesaurusID",pl)}function Xu(){Ml(81),Hl(15),Ml(7),Hl(220),dl==217&&(Ml(217),Hl(17),Ml(11)),Hl(216);switch(dl){case 81:Bl(165);break;default:cl=dl}if(cl==130||cl==140||cl==88657||cl==93777)$u(),Hl(58),Ml(175)}function Vu(){Cl.startNonterminal("FTLiteralRange",pl);switch(dl){case 130:Ol(130),Hl(16),Ol(8);break;case 81:Ol(81),Hl(125);switch(dl){case 173:Ol(173),Hl(16),Ol(8);break;default:Ol(183),Hl(16),Ol(8)}break;default:Ol(140),Hl(16),Ol(8),Hl(79),Ol(248),Hl(16),Ol(8)}Cl.endNonterminal("FTLiteralRange",pl)}function $u(){switch(dl){case 130:Ml(130),Hl(16),Ml(8);break;case 81:Ml(81),Hl(125);switch(dl){case 173:Ml(173),Hl(16),Ml(8);break;default:Ml(183),Hl(16),Ml(8)}break;default:Ml(140),Hl(16),Ml(8),Hl(79),Ml(248),Hl(16),Ml(8)}}function Ju(){Cl.startNonterminal("FTStopWordOption",pl);switch(dl){case 239:Ol(239),Hl(86),Ol(273),Hl(142);switch(dl){case 109:Ol(109);for(;;){Hl(217);if(dl!=131&&dl!=254)break;Dl(),Yu()}break;default:Dl(),Qu();for(;;){Hl(217);if(dl!=131&&dl!=254)break;Dl(),Yu()}}break;default:Ol(188),Hl(75),Ol(239),Hl(86),Ol(273)}Cl.endNonterminal("FTStopWordOption",pl)}function Ku(){switch(dl){case 239:Ml(239),Hl(86),Ml(273),Hl(142);switch(dl){case 109:Ml(109);for(;;){Hl(217);if(dl!=131&&dl!=254)break;Zu()}break;default:Gu();for(;;){Hl(217);if(dl!=131&&dl!=254)break;Zu()}}break;default:Ml(188),Hl(75),Ml(239),Hl(86),Ml(273)}}function Qu(){Cl.startNonterminal("FTStopWords",pl);switch(dl){case 81:Ol(81),Hl(15),Ol(7);break;default:Ol(34),Hl(17),Ol(11);for(;;){Hl(101);if(dl!=41)break;Ol(41),Hl(17),Ol(11)}Ol(37)}Cl.endNonterminal("FTStopWords",pl)}function Gu(){switch(dl){case 81:Ml(81),Hl(15),Ml(7);break;default:Ml(34),Hl(17),Ml(11);for(;;){Hl(101);if(dl!=41)break;Ml(41),Hl(17),Ml(11)}Ml(37)}}function Yu(){Cl.startNonterminal("FTStopWordsInclExcl",pl);switch(dl){case 254:Ol(254);break;default:Ol(131)}Hl(99),Dl(),Qu(),Cl.endNonterminal("FTStopWordsInclExcl",pl)}function Zu(){switch(dl){case 254:Ml(254);break;default:Ml(131)}Hl(99),Gu()}function ea(){Cl.startNonterminal("FTLanguageOption",pl),Ol(169),Hl(17),Ol(11),Cl.endNonterminal("FTLanguageOption",pl)}function ta(){Ml(169),Hl(17),Ml(11)}function na(){Cl.startNonterminal("FTWildCardOption",pl);switch(dl){case 268:Ol(268);break;default:Ol(188),Hl(84),Ol(268)}Cl.endNonterminal("FTWildCardOption",pl)}function ra(){switch(dl){case 268:Ml(268);break;default:Ml(188),Hl(84),Ml(268)}}function ia(){Cl.startNonterminal("FTExtensionOption",pl),Ol(199),Hl(249),Dl(),Aa(),Hl(17),Ol(11),Cl.endNonterminal("FTExtensionOption",pl)}function sa(){Ml(199),Hl(249),Oa(),Hl(17),Ml(11)}function oa(){Cl.startNonterminal("FTIgnoreOption",pl),Ol(271),Hl(42),Ol(100),Hl(265),Dl(),Vn(),Cl.endNonterminal("FTIgnoreOption",pl)}function ua(){Ml(271),Hl(42),Ml(100),Hl(265),$n()}function aa(){Cl.startNonterminal("CollectionDecl",pl),Ol(95),Hl(249),Dl(),Aa(),Hl(107),dl==79&&(Dl(),fa()),Cl.endNonterminal("CollectionDecl",pl)}function fa(){Cl.startNonterminal("CollectionTypeDecl",pl),Ol(79),Hl(178),Dl(),Os(),Hl(156),dl!=53&&(Dl(),ds()),Cl.endNonterminal("CollectionTypeDecl",pl)}function la(){Cl.startNonterminal("IndexName",pl),Aa(),Cl.endNonterminal("IndexName",pl)}function ca(){Cl.startNonterminal("IndexDomainExpr",pl),Tr(),Cl.endNonterminal("IndexDomainExpr",pl)}function ha(){Cl.startNonterminal("IndexKeySpec",pl),pa(),dl==79&&(Dl(),da()),Hl(146),dl==94&&(Dl(),ma()),Cl.endNonterminal("IndexKeySpec",pl)}function pa(){Cl.startNonterminal("IndexKeyExpr",pl),Tr(),Cl.endNonterminal("IndexKeyExpr",pl)}function da(){Cl.startNonterminal("IndexKeyTypeDecl",pl),Ol(79),Hl(249),Dl(),va(),Hl(169);if(dl==39||dl==40||dl==64)Dl(),ds();Cl.endNonterminal("IndexKeyTypeDecl",pl)}function va(){Cl.startNonterminal("AtomicType",pl),Aa(),Cl.endNonterminal("AtomicType",pl)}function ma(){Cl.startNonterminal("IndexKeyCollation",pl),Ol(94),Hl(15),Ol(7),Cl.endNonterminal("IndexKeyCollation",pl)}function ga(){Cl.startNonterminal("IndexDecl",pl),Ol(155),Hl(249),Dl(),la(),Hl(65),Ol(197),Hl(63),Ol(192),Hl(264),Dl(),ca(),Ol(87),Hl(264),Dl(),ha();for(;;){Hl(103);if(dl!=41)break;Ol(41),Hl(264),Dl(),ha()}Cl.endNonterminal("IndexDecl",pl)}function ya(){Cl.startNonterminal("ICDecl",pl),Ol(161),Hl(40),Ol(97),Hl(249),Dl(),Aa(),Hl(120);switch(dl){case 197:Dl(),ba();break;default:Dl(),xa()}Cl.endNonterminal("ICDecl",pl)}function ba(){Cl.startNonterminal("ICCollection",pl),Ol(197),Hl(39),Ol(95),Hl(249),Dl(),Aa(),Hl(140);switch(dl){case 31:Dl(),wa();break;case 191:Dl(),Ea();break;default:Dl(),Sa()}Cl.endNonterminal("ICCollection",pl)}function wa(){Cl.startNonterminal("ICCollSequence",pl),oi(),Hl(37),Ol(92),Hl(266),Dl(),Tf(),Cl.endNonterminal("ICCollSequence",pl)}function Ea(){Cl.startNonterminal("ICCollSequenceUnique",pl),Ol(191),Hl(21),Dl(),oi(),Hl(37),Ol(92),Hl(80),Ol(255),Hl(57),Ol(168),Hl(264),Dl(),Tr(),Cl.endNonterminal("ICCollSequenceUnique",pl)}function Sa(){Cl.startNonterminal("ICCollNode",pl),Ol(138),Hl(62),Ol(191),Hl(21),Dl(),oi(),Hl(37),Ol(92),Hl(266),Dl(),Tf(),Cl.endNonterminal("ICCollNode",pl)}function xa(){Cl.startNonterminal("ICForeignKey",pl),Ol(139),Hl(57),Ol(168),Hl(51),Dl(),Ta(),Dl(),Na(),Cl.endNonterminal("ICForeignKey",pl)}function Ta(){Cl.startNonterminal("ICForeignKeySource",pl),Ol(140),Hl(39),Dl(),Ca(),Cl.endNonterminal("ICForeignKeySource",pl)}function Na(){Cl.startNonterminal("ICForeignKeyTarget",pl),Ol(248),Hl(39),Dl(),Ca(),Cl.endNonterminal("ICForeignKeyTarget",pl)}function Ca(){Cl.startNonterminal("ICForeignKeyValues",pl),Ol(95),Hl(249),Dl(),Aa(),Hl(62),Ol(191),Hl(21),Dl(),oi(),Hl(57),Ol(168),Hl(264),Dl(),Tr(),Cl.endNonterminal("ICForeignKeyValues",pl)}function ka(){Ml(36);for(;;){jl(89);if(dl==50)break;switch(dl){case 24:Ml(24);break;default:ka()}}Ml(50)}function La(){switch(dl){case 22:Ml(22);break;default:ka()}}function Aa(){Cl.startNonterminal("EQName",pl),jl(247);switch(dl){case 82:Ol(82);break;case 96:Ol(96);break;case 120:Ol(120);break;case 121:Ol(121);break;case 124:Ol(124);break;case 145:Ol(145);break;case 152:Ol(152);break;case 165:Ol(165);break;case 185:Ol(185);break;case 191:Ol(191);break;case 216:Ol(216);break;case 226:Ol(226);break;case 227:Ol(227);break;case 243:Ol(243);break;case 244:Ol(244);break;case 253:Ol(253);break;default:Ma()}Cl.endNonterminal("EQName",pl)}function Oa(){jl(247);switch(dl){case 82:Ml(82);break;case 96:Ml(96);break;case 120:Ml(120);break;case 121:Ml(121);break;case 124:Ml(124);break;case 145:Ml(145);break;case 152:Ml(152);break;case 165:Ml(165);break;case 185:Ml(185);break;case 191:Ml(191);break;case 216:Ml(216);break;case 226:Ml(226);break;case 227:Ml(227);break;case 243:Ml(243);break;case 244:Ml(244);break;case 253:Ml(253);break;default:_a()}}function Ma(){Cl.startNonterminal("FunctionName",pl);switch(dl){case 6:Ol(6);break;case 70:Ol(70);break;case 73:Ol(73);break;case 74:Ol(74);break;case 75:Ol(75);break;case 79:Ol(79);break;case 80:Ol(80);break;case 84:Ol(84);break;case 88:Ol(88);break;case 89:Ol(89);break;case 90:Ol(90);break;case 93:Ol(93);break;case 94:Ol(94);break;case 103:Ol(103);break;case 105:Ol(105);break;case 108:Ol(108);break;case 109:Ol(109);break;case 110:Ol(110);break;case 111:Ol(111);break;case 112:Ol(112);break;case 113:Ol(113);break;case 118:Ol(118);break;case 119:Ol(119);break;case 122:Ol(122);break;case 123:Ol(123);break;case 126:Ol(126);break;case 128:Ol(128);break;case 129:Ol(129);break;case 131:Ol(131);break;case 134:Ol(134);break;case 135:Ol(135);break;case 136:Ol(136);break;case 137:Ol(137);break;case 146:Ol(146);break;case 148:Ol(148);break;case 150:Ol(150);break;case 151:Ol(151);break;case 153:Ol(153);break;case 159:Ol(159);break;case 160:Ol(160);break;case 162:Ol(162);break;case 163:Ol(163);break;case 164:Ol(164);break;case 170:Ol(170);break;case 172:Ol(172);break;case 174:Ol(174);break;case 178:Ol(178);break;case 180:Ol(180);break;case 181:Ol(181);break;case 182:Ol(182);break;case 184:Ol(184);break;case 186:Ol(186);break;case 198:Ol(198);break;case 200:Ol(200);break;case 201:Ol(201);break;case 202:Ol(202);break;case 206:Ol(206);break;case 212:Ol(212);break;case 213:Ol(213);break;case 218:Ol(218);break;case 219:Ol(219);break;case 220:Ol(220);break;case 224:Ol(224);break;case 229:Ol(229);break;case 235:Ol(235);break;case 236:Ol(236);break;case 237:Ol(237);break;case 248:Ol(248);break;case 249:Ol(249);break;case 250:Ol(250);break;case 254:Ol(254);break;case 256:Ol(256);break;case 260:Ol(260);break;case 266:Ol(266);break;case 270:Ol(270);break;case 274:Ol(274);break;case 72:Ol(72);break;case 81:Ol(81);break;case 83:Ol(83);break;case 85:Ol(85);break;case 86:Ol(86);break;case 91:Ol(91);break;case 98:Ol(98);break;case 101:Ol(101);break;case 102:Ol(102);break;case 104:Ol(104);break;case 106:Ol(106);break;case 125:Ol(125);break;case 132:Ol(132);break;case 133:Ol(133);break;case 141:Ol(141);break;case 154:Ol(154);break;case 155:Ol(155);break;case 161:Ol(161);break;case 171:Ol(171);break;case 192:Ol(192);break;case 199:Ol(199);break;case 203:Ol(203);break;case 222:Ol(222);break;case 225:Ol(225);break;case 228:Ol(228);break;case 234:Ol(234);break;case 240:Ol(240);break;case 251:Ol(251);break;case 252:Ol(252);break;case 257:Ol(257);break;case 261:Ol(261);break;case 262:Ol(262);break;case 263:Ol(263);break;case 267:Ol(267);break;case 97:Ol(97);break;case 176:Ol(176);break;default:Ol(221)}Cl.endNonterminal("FunctionName",pl)}function _a(){switch(dl){case 6:Ml(6);break;case 70:Ml(70);break;case 73:Ml(73);break;case 74:Ml(74);break;case 75:Ml(75);break;case 79:Ml(79);break;case 80:Ml(80);break;case 84:Ml(84);break;case 88:Ml(88);break;case 89:Ml(89);break;case 90:Ml(90);break;case 93:Ml(93);break;case 94:Ml(94);break;case 103:Ml(103);break;case 105:Ml(105);break;case 108:Ml(108);break;case 109:Ml(109);break;case 110:Ml(110);break;case 111:Ml(111);break;case 112:Ml(112);break;case 113:Ml(113);break;case 118:Ml(118);break;case 119:Ml(119);break;case 122:Ml(122);break;case 123:Ml(123);break;case 126:Ml(126);break;case 128:Ml(128);break;case 129:Ml(129);break;case 131:Ml(131);break;case 134:Ml(134);break;case 135:Ml(135);break;case 136:Ml(136);break;case 137:Ml(137);break;case 146:Ml(146);break;case 148:Ml(148);break;case 150:Ml(150);break;case 151:Ml(151);break;case 153:Ml(153);break;case 159:Ml(159);break;case 160:Ml(160);break;case 162:Ml(162);break;case 163:Ml(163);break;case 164:Ml(164);break;case 170:Ml(170);break;case 172:Ml(172);break;case 174:Ml(174);break;case 178:Ml(178);break;case 180:Ml(180);break;case 181:Ml(181);break;case 182:Ml(182);break;case 184:Ml(184);break;case 186:Ml(186);break;case 198:Ml(198);break;case 200:Ml(200);break;case 201:Ml(201);break;case 202:Ml(202);break;case 206:Ml(206);break;case 212:Ml(212);break;case 213:Ml(213);break;case 218:Ml(218);break;case 219:Ml(219);break;case 220:Ml(220);break;case 224:Ml(224);break;case 229:Ml(229);break;case 235:Ml(235);break;case 236:Ml(236);break;case 237:Ml(237);break;case 248:Ml(248);break;case 249:Ml(249);break;case 250:Ml(250);break;case 254:Ml(254);break;case 256:Ml(256);break;case 260:Ml(260);break;case 266:Ml(266);break;case 270:Ml(270);break;case 274:Ml(274);break;case 72:Ml(72);break;case 81:Ml(81);break;case 83:Ml(83);break;case 85:Ml(85);break;case 86:Ml(86);break;case 91:Ml(91);break;case 98:Ml(98);break;case 101:Ml(101);break;case 102:Ml(102);break;case 104:Ml(104);break;case 106:Ml(106);break;case 125:Ml(125);break;case 132:Ml(132);break;case 133:Ml(133);break;case 141:Ml(141);break;case 154:Ml(154);break;case 155:Ml(155);break;case 161:Ml(161);break;case 171:Ml(171);break;case 192:Ml(192);break;case 199:Ml(199);break;case 203:Ml(203);break;case 222:Ml(222);break;case 225:Ml(225);break;case 228:Ml(228);break;case 234:Ml(234);break;case 240:Ml(240);break;case 251:Ml(251);break;case 252:Ml(252);break;case 257:Ml(257);break;case 261:Ml(261);break;case 262:Ml(262);break;case 263:Ml(263);break;case 267:Ml(267);break;case 97:Ml(97);break;case 176:Ml(176);break;default:Ml(221)}}function Da(){Cl.startNonterminal("NCName",pl);switch(dl){case 19:Ol(19);break;case 70:Ol(70);break;case 75:Ol(75);break;case 79:Ol(79);break;case 80:Ol(80);break;case 84:Ol(84);break;case 88:Ol(88);break;case 89:Ol(89);break;case 90:Ol(90);break;case 94:Ol(94);break;case 105:Ol(105);break;case 109:Ol(109);break;case 113:Ol(113);break;case 118:Ol(118);break;case 122:Ol(122);break;case 123:Ol(123);break;case 126:Ol(126);break;case 128:Ol(128);break;case 131:Ol(131);break;case 137:Ol(137);break;case 146:Ol(146);break;case 148:Ol(148);break;case 150:Ol(150);break;case 151:Ol(151);break;case 160:Ol(160);break;case 162:Ol(162);break;case 163:Ol(163);break;case 164:Ol(164);break;case 172:Ol(172);break;case 174:Ol(174);break;case 178:Ol(178);break;case 180:Ol(180);break;case 181:Ol(181);break;case 186:Ol(186);break;case 198:Ol(198);break;case 200:Ol(200);break;case 201:Ol(201);break;case 220:Ol(220);break;case 224:Ol(224);break;case 236:Ol(236);break;case 237:Ol(237);break;case 248:Ol(248);break;case 249:Ol(249);break;case 254:Ol(254);break;case 266:Ol(266);break;case 270:Ol(270);break;case 73:Ol(73);break;case 74:Ol(74);break;case 82:Ol(82);break;case 93:Ol(93);break;case 96:Ol(96);break;case 103:Ol(103);break;case 108:Ol(108);break;case 110:Ol(110);break;case 111:Ol(111);break;case 112:Ol(112);break;case 119:Ol(119);break;case 120:Ol(120);break;case 121:Ol(121);break;case 124:Ol(124);break;case 129:Ol(129);break;case 134:Ol(134);break;case 135:Ol(135);break;case 136:Ol(136);break;case 145:Ol(145);break;case 152:Ol(152);break;case 153:Ol(153);break;case 159:Ol(159);break;case 165:Ol(165);break;case 170:Ol(170);break;case 182:Ol(182);break;case 184:Ol(184);break;case 185:Ol(185);break;case 191:Ol(191);break;case 202:Ol(202);break;case 206:Ol(206);break;case 212:Ol(212);break;case 213:Ol(213);break;case 216:Ol(216);break;case 218:Ol(218);break;case 219:Ol(219);break;case 226:Ol(226);break;case 227:Ol(227);break;case 229:Ol(229);break;case 235:Ol(235);break;case 243:Ol(243);break;case 244:Ol(244);break;case 250:Ol(250);break;case 253:Ol(253);break;case 256:Ol(256);break;case 260:Ol(260);break;case 262:Ol(262);break;case 274:Ol(274);break;case 72:Ol(72);break;case 81:Ol(81);break;case 83:Ol(83);break;case 85:Ol(85);break;case 86:Ol(86);break;case 91:Ol(91);break;case 98:Ol(98);break;case 101:Ol(101);break;case 102:Ol(102);break;case 104:Ol(104);break;case 106:Ol(106);break;case 125:Ol(125);break;case 132:Ol(132);break;case 133:Ol(133);break;case 141:Ol(141);break;case 154:Ol(154);break;case 155:Ol(155);break;case 161:Ol(161);break;case 171:Ol(171);break;case 192:Ol(192);break;case 199:Ol(199);break;case 203:Ol(203);break;case 222:Ol(222);break;case 225:Ol(225);break;case 228:Ol(228);break;case 234:Ol(234);break;case 240:Ol(240);break;case 251:Ol(251);break;case 252:Ol(252);break;case 257:Ol(257);break;case 261:Ol(261);break;case 263:Ol(263);break;case 267:Ol(267);break;case 97:Ol(97);break;case 176:Ol(176);break;default:Ol(221)}Cl.endNonterminal("NCName",pl)}function Pa(){switch(dl){case 19:Ml(19);break;case 70:Ml(70);break;case 75:Ml(75);break;case 79:Ml(79);break;case 80:Ml(80);break;case 84:Ml(84);break;case 88:Ml(88);break;case 89:Ml(89);break;case 90:Ml(90);break;case 94:Ml(94);break;case 105:Ml(105);break;case 109:Ml(109);break;case 113:Ml(113);break;case 118:Ml(118);break;case 122:Ml(122);break;case 123:Ml(123);break;case 126:Ml(126);break;case 128:Ml(128);break;case 131:Ml(131);break;case 137:Ml(137);break;case 146:Ml(146);break;case 148:Ml(148);break;case 150:Ml(150);break;case 151:Ml(151);break;case 160:Ml(160);break;case 162:Ml(162);break;case 163:Ml(163);break;case 164:Ml(164);break;case 172:Ml(172);break;case 174:Ml(174);break;case 178:Ml(178);break;case 180:Ml(180);break;case 181:Ml(181);break;case 186:Ml(186);break;case 198:Ml(198);break;case 200:Ml(200);break;case 201:Ml(201);break;case 220:Ml(220);break;case 224:Ml(224);break;case 236:Ml(236);break;case 237:Ml(237);break;case 248:Ml(248);break;case 249:Ml(249);break;case 254:Ml(254);break;case 266:Ml(266);break;case 270:Ml(270);break;case 73:Ml(73);break;case 74:Ml(74);break;case 82:Ml(82);break;case 93:Ml(93);break;case 96:Ml(96);break;case 103:Ml(103);break;case 108:Ml(108);break;case 110:Ml(110);break;case 111:Ml(111);break;case 112:Ml(112);break;case 119:Ml(119);break;case 120:Ml(120);break;case 121:Ml(121);break;case 124:Ml(124);break;case 129:Ml(129);break;case 134:Ml(134);break;case 135:Ml(135);break;case 136:Ml(136);break;case 145:Ml(145);break;case 152:Ml(152);break;case 153:Ml(153);break;case 159:Ml(159);break;case 165:Ml(165);break;case 170:Ml(170);break;case 182:Ml(182);break;case 184:Ml(184);break;case 185:Ml(185);break;case 191:Ml(191);break;case 202:Ml(202);break;case 206:Ml(206);break;case 212:Ml(212);break;case 213:Ml(213);break;case 216:Ml(216);break;case 218:Ml(218);break;case 219:Ml(219);break;case 226:Ml(226);break;case 227:Ml(227);break;case 229:Ml(229);break;case 235:Ml(235);break;case 243:Ml(243);break;case 244:Ml(244);break;case 250:Ml(250);break;case 253:Ml(253);break;case 256:Ml(256);break;case 260:Ml(260);break;case 262:Ml(262);break;case 274:Ml(274);break;case 72:Ml(72);break;case 81:Ml(81);break;case 83:Ml(83);break;case 85:Ml(85);break;case 86:Ml(86);break;case 91:Ml(91);break;case 98:Ml(98);break;case 101:Ml(101);break;case 102:Ml(102);break;case 104:Ml(104);break;case 106:Ml(106);break;case 125:Ml(125);break;case 132:Ml(132);break;case 133:Ml(133);break;case 141:Ml(141);break;case 154:Ml(154);break;case 155:Ml(155);break;case 161:Ml(161);break;case 171:Ml(171);break;case 192:Ml(192);break;case 199:Ml(199);break;case 203:Ml(203);break;case 222:Ml(222);break;case 225:Ml(225);break;case 228:Ml(228);break;case 234:Ml(234);break;case 240:Ml(240);break;case 251:Ml(251);break;case 252:Ml(252);break;case 257:Ml(257);break;case 261:Ml(261);break;case 263:Ml(263);break;case 267:Ml(267);break;case 97:Ml(97);break;case 176:Ml(176);break;default:Ml(221)}}function Ha(){Cl.startNonterminal("MainModule",pl),l(),Dl(),Ba(),Cl.endNonterminal("MainModule",pl)}function Ba(){Cl.startNonterminal("Program",pl),Ra(),Cl.endNonterminal("Program",pl)}function ja(){Cl.startNonterminal("Statements",pl);for(;;){Hl(273);switch(dl){case 34:Bl(268);break;case 35:Fl(248);break;case 46:Bl(281);break;case 47:Bl(263);break;case 54:Fl(4);break;case 55:Fl(1);break;case 59:Fl(3);break;case 66:Bl(251);break;case 68:Bl(270);break;case 77:Bl(56);break;case 82:Bl(278);break;case 121:Bl(276);break;case 132:Bl(202);break;case 137:Bl(206);break;case 174:Bl(204);break;case 218:Bl(205);break;case 219:Bl(208);break;case 260:Bl(209);break;case 276:Bl(272);break;case 278:Bl(271);break;case 5:case 45:Bl(186);break;case 31:case 32:Bl(249);break;case 40:case 42:Bl(265);break;case 86:case 102:Bl(200);break;case 110:case 159:Bl(207);break;case 124:case 165:Bl(191);break;case 184:case 216:Bl(277);break;case 103:case 129:case 235:case 262:Bl(197);break;case 8:case 9:case 10:case 11:case 44:Bl(192);break;case 96:case 119:case 202:case 244:case 250:case 256:Bl(203);break;case 73:case 74:case 93:case 111:case 112:case 135:case 136:case 206:case 212:case 213:case 229:Bl(198);break;case 6:case 70:case 72:case 75:case 79:case 80:case 81:case 83:case 84:case 85:case 88:case 89:case 90:case 91:case 94:case 97:case 98:case 101:case 104:case 105:case 106:case 108:case 109:case 113:case 118:case 120:case 122:case 123:case 125:case 126:case 128:case 131:case 133:case 134:case 141:case 145:case 146:case 148:case 150:case 151:case 152:case 153:case 154:case 155:case 160:case 161:case 162:case 163:case 164:case 170:case 171:case 172:case 176:case 178:case 180:case 181:case 182:case 185:case 186:case 191:case 192:case 198:case 199:case 200:case 201:case 203:case 220:case 221:case 222:case 224:case 225:case 226:case 227:case 228:case 234:case 236:case 237:case 240:case 243:case 248:case 249:case 251:case 252:case 253:case 254:case 257:case 261:case 263:case 266:case 267:case 270:case 274:Bl(195);break;default:cl=dl}if(cl!=25&&cl!=282&&cl!=12805&&cl!=12806&&cl!=12808&&cl!=12809&&cl!=12810&&cl!=12811&&cl!=12844&&cl!=12845&&cl!=12846&&cl!=12870&&cl!=12872&&cl!=12873&&cl!=12874&&cl!=12875&&cl!=12879&&cl!=12880&&cl!=12881&&cl!=12882&&cl!=12883&&cl!=12884&&cl!=12885&&cl!=12886&&cl!=12888&&cl!=12889&&cl!=12890&&cl!=12891&&cl!=12893&&cl!=12894&&cl!=12896&&cl!=12897&&cl!=12898&&cl!=12901&&cl!=12902&&cl!=12903&&cl!=12904&&cl!=12905&&cl!=12906&&cl!=12908&&cl!=12909&&cl!=12910&&cl!=12911&&cl!=12912&&cl!=12913&&cl!=12918&&cl!=12919&&cl!=12920&&cl!=12921&&cl!=12922&&cl!=12923&&cl!=12924&&cl!=12925&&cl!=12926&&cl!=12928&&cl!=12929&&cl!=12931&&cl!=12932&&cl!=12933&&cl!=12934&&cl!=12935&&cl!=12936&&cl!=12937&&cl!=12941&&cl!=12945&&cl!=12946&&cl!=12948&&cl!=12950&&cl!=12951&&cl!=12952&&cl!=12953&&cl!=12954&&cl!=12955&&cl!=12959&&cl!=12960&&cl!=12961&&cl!=12962&&cl!=12963&&cl!=12964&&cl!=12965&&cl!=12970&&cl!=12971&&cl!=12972&&cl!=12974&&cl!=12976&&cl!=12978&&cl!=12980&&cl!=12981&&cl!=12982&&cl!=12984&&cl!=12985&&cl!=12986&&cl!=12991&&cl!=12992&&cl!=12998&&cl!=12999&&cl!=13e3&&cl!=13001&&cl!=13002&&cl!=13003&&cl!=13006&&cl!=13012&&cl!=13013&&cl!=13016&&cl!=13018&&cl!=13019&&cl!=13020&&cl!=13021&&cl!=13022&&cl!=13024&&cl!=13025&&cl!=13026&&cl!=13027&&cl!=13028&&cl!=13029&&cl!=13034&&cl!=13035&&cl!=13036&&cl!=13037&&cl!=13040&&cl!=13043&&cl!=13044&&cl!=13048&&cl!=13049&&cl!=13050&&cl!=13051&&cl!=13052&&cl!=13053&&cl!=13054&&cl!=13056&&cl!=13057&&cl!=13060&&cl!=13061&&cl!=13062&&cl!=13063&&cl!=13066&&cl!=13067&&cl!=13070&&cl!=13074&&cl!=16134&&cl!=20997&&cl!=20998&&cl!=21e3&&cl!=21001&&cl!=21002&&cl!=21003&&cl!=21036&&cl!=21037&&cl!=21038&&cl!=21062&&cl!=21064&&cl!=21065&&cl!=21066&&cl!=21067&&cl!=21071&&cl!=21072&&cl!=21073&&cl!=21074&&cl!=21075&&cl!=21076&&cl!=21077&&cl!=21078&&cl!=21080&&cl!=21081&&cl!=21082&&cl!=21083&&cl!=21085&&cl!=21086&&cl!=21088&&cl!=21089&&cl!=21090&&cl!=21093&&cl!=21094&&cl!=21095&&cl!=21096&&cl!=21097&&cl!=21098&&cl!=21100&&cl!=21101&&cl!=21102&&cl!=21103&&cl!=21104&&cl!=21105&&cl!=21110&&cl!=21111&&cl!=21112&&cl!=21113&&cl!=21114&&cl!=21115&&cl!=21116&&cl!=21117&&cl!=21118&&cl!=21120&&cl!=21121&&cl!=21123&&cl!=21124&&cl!=21125&&cl!=21126&&cl!=21127&&cl!=21128&&cl!=21129&&cl!=21133&&cl!=21137&&cl!=21138&&cl!=21140&&cl!=21142&&cl!=21143&&cl!=21144&&cl!=21145&&cl!=21146&&cl!=21147&&cl!=21151&&cl!=21152&&cl!=21153&&cl!=21154&&cl!=21155&&cl!=21156&&cl!=21157&&cl!=21162&&cl!=21163&&cl!=21164&&cl!=21166&&cl!=21168&&cl!=21170&&cl!=21172&&cl!=21173&&cl!=21174&&cl!=21176&&cl!=21177&&cl!=21178&&cl!=21183&&cl!=21184&&cl!=21190&&cl!=21191&&cl!=21192&&cl!=21193&&cl!=21194&&cl!=21195&&cl!=21198&&cl!=21204&&cl!=21205&&cl!=21208&&cl!=21210&&cl!=21211&&cl!=21212&&cl!=21213&&cl!=21214&&cl!=21216&&cl!=21217&&cl!=21218&&cl!=21219&&cl!=21220&&cl!=21221&&cl!=21226&&cl!=21227&&cl!=21228&&cl!=21229&&cl!=21232&&cl!=21235&&cl!=21236&&cl!=21240&&cl!=21241&&cl!=21242&&cl!=21243&&cl!=21244&&cl!=21245&&cl!=21246&&cl!=21248&&cl!=21249&&cl!=21252&&cl!=21253&&cl!=21254&&cl!=21255&&cl!=21258&&cl!=21259&&cl!=21262&&cl!=21266&&cl!=27141&&cl!=27142&&cl!=27144&&cl!=27145&&cl!=27146&&cl!=27147&&cl!=27180&&cl!=27181&&cl!=27182&&cl!=27206&&cl!=27208&&cl!=27209&&cl!=27210&&cl!=27211&&cl!=27215&&cl!=27216&&cl!=27217&&cl!=27218&&cl!=27219&&cl!=27220&&cl!=27221&&cl!=27222&&cl!=27224&&cl!=27225&&cl!=27226&&cl!=27227&&cl!=27229&&cl!=27230&&cl!=27232&&cl!=27233&&cl!=27234&&cl!=27237&&cl!=27238&&cl!=27239&&cl!=27240&&cl!=27241&&cl!=27242&&cl!=27244&&cl!=27245&&cl!=27246&&cl!=27247&&cl!=27248&&cl!=27249&&cl!=27254&&cl!=27255&&cl!=27256&&cl!=27257&&cl!=27258&&cl!=27259&&cl!=27260&&cl!=27261&&cl!=27262&&cl!=27264&&cl!=27265&&cl!=27267&&cl!=27268&&cl!=27269&&cl!=27270&&cl!=27271&&cl!=27272&&cl!=27273&&cl!=27277&&cl!=27281&&cl!=27282&&cl!=27284&&cl!=27286&&cl!=27287&&cl!=27288&&cl!=27289&&cl!=27290&&cl!=27291&&cl!=27295&&cl!=27296&&cl!=27297&&cl!=27298&&cl!=27299&&cl!=27300&&cl!=27301&&cl!=27306&&cl!=27307&&cl!=27308&&cl!=27310&&cl!=27312&&cl!=27314&&cl!=27316&&cl!=27317&&cl!=27318&&cl!=27320&&cl!=27321&&cl!=27322&&cl!=27327&&cl!=27328&&cl!=27334&&cl!=27335&&cl!=27336&&cl!=27337&&cl!=27338&&cl!=27339&&cl!=27342&&cl!=27348&&cl!=27349&&cl!=27352&&cl!=27354&&cl!=27355&&cl!=27356&&cl!=27357&&cl!=27358&&cl!=27360&&cl!=27361&&cl!=27362&&cl!=27363&&cl!=27364&&cl!=27365&&cl!=27370&&cl!=27371&&cl!=27372&&cl!=27373&&cl!=27376&&cl!=27379&&cl!=27380&&cl!=27384&&cl!=27385&&cl!=27386&&cl!=27387&&cl!=27388&&cl!=27389&&cl!=27390&&cl!=27392&&cl!=27393&&cl!=27396&&cl!=27397&&cl!=27398&&cl!=27399&&cl!=27402&&cl!=27403&&cl!=27406&&cl!=27410&&cl!=90198&&cl!=90214&&cl!=113284&&cl!=144389&&cl!=144390&&cl!=144392&&cl!=144393&&cl!=144394&&cl!=144395&&cl!=144428&&cl!=144429&&cl!=144430&&cl!=144454&&cl!=144456&&cl!=144457&&cl!=144458&&cl!=144459&&cl!=144463&&cl!=144464&&cl!=144465&&cl!=144466&&cl!=144467&&cl!=144468&&cl!=144469&&cl!=144470&&cl!=144472&&cl!=144473&&cl!=144474&&cl!=144475&&cl!=144477&&cl!=144478&&cl!=144480&&cl!=144481&&cl!=144482&&cl!=144485&&cl!=144486&&cl!=144487&&cl!=144488&&cl!=144489&&cl!=144490&&cl!=144492&&cl!=144493&&cl!=144494&&cl!=144495&&cl!=144496&&cl!=144497&&cl!=144502&&cl!=144503&&cl!=144504&&cl!=144505&&cl!=144506&&cl!=144507&&cl!=144508&&cl!=144509&&cl!=144510&&cl!=144512&&cl!=144513&&cl!=144515&&cl!=144516&&cl!=144517&&cl!=144518&&cl!=144519&&cl!=144520&&cl!=144521&&cl!=144525&&cl!=144529&&cl!=144530&&cl!=144532&&cl!=144534&&cl!=144535&&cl!=144536&&cl!=144537&&cl!=144538&&cl!=144539&&cl!=144543&&cl!=144544&&cl!=144545&&cl!=144546&&cl!=144547&&cl!=144548&&cl!=144549&&cl!=144554&&cl!=144555&&cl!=144556&&cl!=144558&&cl!=144560&&cl!=144562&&cl!=144564&&cl!=144565&&cl!=144566&&cl!=144568&&cl!=144569&&cl!=144570&&cl!=144575&&cl!=144576&&cl!=144582&&cl!=144583&&cl!=144584&&cl!=144585&&cl!=144586&&cl!=144587&&cl!=144590&&cl!=144596&&cl!=144597&&cl!=144600&&cl!=144602&&cl!=144603&&cl!=144604&&cl!=144605&&cl!=144606&&cl!=144608&&cl!=144609&&cl!=144610&&cl!=144611&&cl!=144612&&cl!=144613&&cl!=144618&&cl!=144619&&cl!=144620&&cl!=144621&&cl!=144624&&cl!=144627&&cl!=144628&&cl!=144632&&cl!=144633&&cl!=144634&&cl!=144635&&cl!=144636&&cl!=144637&&cl!=144638&&cl!=144640&&cl!=144641&&cl!=144644&&cl!=144645&&cl!=144646&&cl!=144647&&cl!=144650&&cl!=144651&&cl!=144654&&cl!=144658){cl=Ll(5,pl);if(cl==0){var e=hl,t=pl,n=dl,r=vl,i=ml,s=gl,o=yl,u=bl;try{Wa(),cl=-1}catch(a){cl=-2}hl=e,pl=t,dl=n,dl==0?Ul=t:(vl=r,ml=i,gl=s,gl==0?Ul=i:(yl=o,bl=u,Ul=u)),kl(5,pl,cl)}}if(cl!=-1&&cl!=16134&&cl!=27141&&cl!=27142&&cl!=27144&&cl!=27145&&cl!=27146&&cl!=27147&&cl!=27180&&cl!=27181&&cl!=27182&&cl!=27206&&cl!=27208&&cl!=27209&&cl!=27210&&cl!=27211&&cl!=27215&&cl!=27216&&cl!=27217&&cl!=27218&&cl!=27219&&cl!=27220&&cl!=27221&&cl!=27222&&cl!=27224&&cl!=27225&&cl!=27226&&cl!=27227&&cl!=27229&&cl!=27230&&cl!=27232&&cl!=27233&&cl!=27234&&cl!=27237&&cl!=27238&&cl!=27239&&cl!=27240&&cl!=27241&&cl!=27242&&cl!=27244&&cl!=27245&&cl!=27246&&cl!=27247&&cl!=27248&&cl!=27249&&cl!=27254&&cl!=27255&&cl!=27256&&cl!=27257&&cl!=27258&&cl!=27259&&cl!=27260&&cl!=27261&&cl!=27262&&cl!=27264&&cl!=27265&&cl!=27267&&cl!=27268&&cl!=27269&&cl!=27270&&cl!=27271&&cl!=27272&&cl!=27273&&cl!=27277&&cl!=27281&&cl!=27282&&cl!=27284&&cl!=27286&&cl!=27287&&cl!=27288&&cl!=27289&&cl!=27290&&cl!=27291&&cl!=27295&&cl!=27296&&cl!=27297&&cl!=27298&&cl!=27299&&cl!=27300&&cl!=27301&&cl!=27306&&cl!=27307&&cl!=27308&&cl!=27310&&cl!=27312&&cl!=27314&&cl!=27316&&cl!=27317&&cl!=27318&&cl!=27320&&cl!=27321&&cl!=27322&&cl!=27327&&cl!=27328&&cl!=27334&&cl!=27335&&cl!=27336&&cl!=27337&&cl!=27338&&cl!=27339&&cl!=27342&&cl!=27348&&cl!=27349&&cl!=27352&&cl!=27354&&cl!=27355&&cl!=27356&&cl!=27357&&cl!=27358&&cl!=27360&&cl!=27361&&cl!=27362&&cl!=27363&&cl!=27364&&cl!=27365&&cl!=27370&&cl!=27371&&cl!=27372&&cl!=27373&&cl!=27376&&cl!=27379&&cl!=27380&&cl!=27384&&cl!=27385&&cl!=27386&&cl!=27387&&cl!=27388&&cl!=27389&&cl!=27390&&cl!=27392&&cl!=27393&&cl!=27396&&cl!=27397&&cl!=27398&&cl!=27399&&cl!=27402&&cl!=27403&&cl!=27406&&cl!=27410&&cl!=90198&&cl!=90214&&cl!=113284)break;Dl(),za()}Cl.endNonterminal("Statements",pl)}function Fa(){for(;;){Hl(273);switch(dl){case 34:Bl(268);break;case 35:Fl(248);break;case 46:Bl(281);break;case 47:Bl(263);break;case 54:Fl(4);break;case 55:Fl(1);break;case 59:Fl(3);break;case 66:Bl(251);break;case 68:Bl(270);break;case 77:Bl(56);break;case 82:Bl(278);break;case 121:Bl(276);break;case 132:Bl(202);break;case 137:Bl(206);break;case 174:Bl(204);break;case 218:Bl(205);break;case 219:Bl(208);break;case 260:Bl(209);break;case 276:Bl(272);break;case 278:Bl(271);break;case 5:case 45:Bl(186);break;case 31:case 32:Bl(249);break;case 40:case 42:Bl(265);break;case 86:case 102:Bl(200);break;case 110:case 159:Bl(207);break;case 124:case 165:Bl(191);break;case 184:case 216:Bl(277);break;case 103:case 129:case 235:case 262:Bl(197);break;case 8:case 9:case 10:case 11:case 44:Bl(192);break;case 96:case 119:case 202:case 244:case 250:case 256:Bl(203);break;case 73:case 74:case 93:case 111:case 112:case 135:case 136:case 206:case 212:case 213:case 229:Bl(198);break;case 6:case 70:case 72:case 75:case 79:case 80:case 81:case 83:case 84:case 85:case 88:case 89:case 90:case 91:case 94:case 97:case 98:case 101:case 104:case 105:case 106:case 108:case 109:case 113:case 118:case 120:case 122:case 123:case 125:case 126:case 128:case 131:case 133:case 134:case 141:case 145:case 146:case 148:case 150:case 151:case 152:case 153:case 154:case 155:case 160:case 161:case 162:case 163:case 164:case 170:case 171:case 172:case 176:case 178:case 180:case 181:case 182:case 185:case 186:case 191:case 192:case 198:case 199:case 200:case 201:case 203:case 220:case 221:case 222:case 224:case 225:case 226:case 227:case 228:case 234:case 236:case 237:case 240:case 243:case 248:case 249:case 251:case 252:case 253:case 254:case 257:case 261:case 263:case 266:case 267:case 270:case 274:Bl(195);break;default:cl=dl}if(cl!=25&&cl!=282&&cl!=12805&&cl!=12806&&cl!=12808&&cl!=12809&&cl!=12810&&cl!=12811&&cl!=12844&&cl!=12845&&cl!=12846&&cl!=12870&&cl!=12872&&cl!=12873&&cl!=12874&&cl!=12875&&cl!=12879&&cl!=12880&&cl!=12881&&cl!=12882&&cl!=12883&&cl!=12884&&cl!=12885&&cl!=12886&&cl!=12888&&cl!=12889&&cl!=12890&&cl!=12891&&cl!=12893&&cl!=12894&&cl!=12896&&cl!=12897&&cl!=12898&&cl!=12901&&cl!=12902&&cl!=12903&&cl!=12904&&cl!=12905&&cl!=12906&&cl!=12908&&cl!=12909&&cl!=12910&&cl!=12911&&cl!=12912&&cl!=12913&&cl!=12918&&cl!=12919&&cl!=12920&&cl!=12921&&cl!=12922&&cl!=12923&&cl!=12924&&cl!=12925&&cl!=12926&&cl!=12928&&cl!=12929&&cl!=12931&&cl!=12932&&cl!=12933&&cl!=12934&&cl!=12935&&cl!=12936&&cl!=12937&&cl!=12941&&cl!=12945&&cl!=12946&&cl!=12948&&cl!=12950&&cl!=12951&&cl!=12952&&cl!=12953&&cl!=12954&&cl!=12955&&cl!=12959&&cl!=12960&&cl!=12961&&cl!=12962&&cl!=12963&&cl!=12964&&cl!=12965&&cl!=12970&&cl!=12971&&cl!=12972&&cl!=12974&&cl!=12976&&cl!=12978&&cl!=12980&&cl!=12981&&cl!=12982&&cl!=12984&&cl!=12985&&cl!=12986&&cl!=12991&&cl!=12992&&cl!=12998&&cl!=12999&&cl!=13e3&&cl!=13001&&cl!=13002&&cl!=13003&&cl!=13006&&cl!=13012&&cl!=13013&&cl!=13016&&cl!=13018&&cl!=13019&&cl!=13020&&cl!=13021&&cl!=13022&&cl!=13024&&cl!=13025&&cl!=13026&&cl!=13027&&cl!=13028&&cl!=13029&&cl!=13034&&cl!=13035&&cl!=13036&&cl!=13037&&cl!=13040&&cl!=13043&&cl!=13044&&cl!=13048&&cl!=13049&&cl!=13050&&cl!=13051&&cl!=13052&&cl!=13053&&cl!=13054&&cl!=13056&&cl!=13057&&cl!=13060&&cl!=13061&&cl!=13062&&cl!=13063&&cl!=13066&&cl!=13067&&cl!=13070&&cl!=13074&&cl!=16134&&cl!=20997&&cl!=20998&&cl!=21e3&&cl!=21001&&cl!=21002&&cl!=21003&&cl!=21036&&cl!=21037&&cl!=21038&&cl!=21062&&cl!=21064&&cl!=21065&&cl!=21066&&cl!=21067&&cl!=21071&&cl!=21072&&cl!=21073&&cl!=21074&&cl!=21075&&cl!=21076&&cl!=21077&&cl!=21078&&cl!=21080&&cl!=21081&&cl!=21082&&cl!=21083&&cl!=21085&&cl!=21086&&cl!=21088&&cl!=21089&&cl!=21090&&cl!=21093&&cl!=21094&&cl!=21095&&cl!=21096&&cl!=21097&&cl!=21098&&cl!=21100&&cl!=21101&&cl!=21102&&cl!=21103&&cl!=21104&&cl!=21105&&cl!=21110&&cl!=21111&&cl!=21112&&cl!=21113&&cl!=21114&&cl!=21115&&cl!=21116&&cl!=21117&&cl!=21118&&cl!=21120&&cl!=21121&&cl!=21123&&cl!=21124&&cl!=21125&&cl!=21126&&cl!=21127&&cl!=21128&&cl!=21129&&cl!=21133&&cl!=21137&&cl!=21138&&cl!=21140&&cl!=21142&&cl!=21143&&cl!=21144&&cl!=21145&&cl!=21146&&cl!=21147&&cl!=21151&&cl!=21152&&cl!=21153&&cl!=21154&&cl!=21155&&cl!=21156&&cl!=21157&&cl!=21162&&cl!=21163&&cl!=21164&&cl!=21166&&cl!=21168&&cl!=21170&&cl!=21172&&cl!=21173&&cl!=21174&&cl!=21176&&cl!=21177&&cl!=21178&&cl!=21183&&cl!=21184&&cl!=21190&&cl!=21191&&cl!=21192&&cl!=21193&&cl!=21194&&cl!=21195&&cl!=21198&&cl!=21204&&cl!=21205&&cl!=21208&&cl!=21210&&cl!=21211&&cl!=21212&&cl!=21213&&cl!=21214&&cl!=21216&&cl!=21217&&cl!=21218&&cl!=21219&&cl!=21220&&cl!=21221&&cl!=21226&&cl!=21227&&cl!=21228&&cl!=21229&&cl!=21232&&cl!=21235&&cl!=21236&&cl!=21240&&cl!=21241&&cl!=21242&&cl!=21243&&cl!=21244&&cl!=21245&&cl!=21246&&cl!=21248&&cl!=21249&&cl!=21252&&cl!=21253&&cl!=21254&&cl!=21255&&cl!=21258&&cl!=21259&&cl!=21262&&cl!=21266&&cl!=27141&&cl!=27142&&cl!=27144&&cl!=27145&&cl!=27146&&cl!=27147&&cl!=27180&&cl!=27181&&cl!=27182&&cl!=27206&&cl!=27208&&cl!=27209&&cl!=27210&&cl!=27211&&cl!=27215&&cl!=27216&&cl!=27217&&cl!=27218&&cl!=27219&&cl!=27220&&cl!=27221&&cl!=27222&&cl!=27224&&cl!=27225&&cl!=27226&&cl!=27227&&cl!=27229&&cl!=27230&&cl!=27232&&cl!=27233&&cl!=27234&&cl!=27237&&cl!=27238&&cl!=27239&&cl!=27240&&cl!=27241&&cl!=27242&&cl!=27244&&cl!=27245&&cl!=27246&&cl!=27247&&cl!=27248&&cl!=27249&&cl!=27254&&cl!=27255&&cl!=27256&&cl!=27257&&cl!=27258&&cl!=27259&&cl!=27260&&cl!=27261&&cl!=27262&&cl!=27264&&cl!=27265&&cl!=27267&&cl!=27268&&cl!=27269&&cl!=27270&&cl!=27271&&cl!=27272&&cl!=27273&&cl!=27277&&cl!=27281&&cl!=27282&&cl!=27284&&cl!=27286&&cl!=27287&&cl!=27288&&cl!=27289&&cl!=27290&&cl!=27291&&cl!=27295&&cl!=27296&&cl!=27297&&cl!=27298&&cl!=27299&&cl!=27300&&cl!=27301&&cl!=27306&&cl!=27307&&cl!=27308&&cl!=27310&&cl!=27312&&cl!=27314&&cl!=27316&&cl!=27317&&cl!=27318&&cl!=27320&&cl!=27321&&cl!=27322&&cl!=27327&&cl!=27328&&cl!=27334&&cl!=27335&&cl!=27336&&cl!=27337&&cl!=27338&&cl!=27339&&cl!=27342&&cl!=27348&&cl!=27349&&cl!=27352&&cl!=27354&&cl!=27355&&cl!=27356&&cl!=27357&&cl!=27358&&cl!=27360&&cl!=27361&&cl!=27362&&cl!=27363&&cl!=27364&&cl!=27365&&cl!=27370&&cl!=27371&&cl!=27372&&cl!=27373&&cl!=27376&&cl!=27379&&cl!=27380&&cl!=27384&&cl!=27385&&cl!=27386&&cl!=27387&&cl!=27388&&cl!=27389&&cl!=27390&&cl!=27392&&cl!=27393&&cl!=27396&&cl!=27397&&cl!=27398&&cl!=27399&&cl!=27402&&cl!=27403&&cl!=27406&&cl!=27410&&cl!=90198&&cl!=90214&&cl!=113284&&cl!=144389&&cl!=144390&&cl!=144392&&cl!=144393&&cl!=144394&&cl!=144395&&cl!=144428&&cl!=144429&&cl!=144430&&cl!=144454&&cl!=144456&&cl!=144457&&cl!=144458&&cl!=144459&&cl!=144463&&cl!=144464&&cl!=144465&&cl!=144466&&cl!=144467&&cl!=144468&&cl!=144469&&cl!=144470&&cl!=144472&&cl!=144473&&cl!=144474&&cl!=144475&&cl!=144477&&cl!=144478&&cl!=144480&&cl!=144481&&cl!=144482&&cl!=144485&&cl!=144486&&cl!=144487&&cl!=144488&&cl!=144489&&cl!=144490&&cl!=144492&&cl!=144493&&cl!=144494&&cl!=144495&&cl!=144496&&cl!=144497&&cl!=144502&&cl!=144503&&cl!=144504&&cl!=144505&&cl!=144506&&cl!=144507&&cl!=144508&&cl!=144509&&cl!=144510&&cl!=144512&&cl!=144513&&cl!=144515&&cl!=144516&&cl!=144517&&cl!=144518&&cl!=144519&&cl!=144520&&cl!=144521&&cl!=144525&&cl!=144529&&cl!=144530&&cl!=144532&&cl!=144534&&cl!=144535&&cl!=144536&&cl!=144537&&cl!=144538&&cl!=144539&&cl!=144543&&cl!=144544&&cl!=144545&&cl!=144546&&cl!=144547&&cl!=144548&&cl!=144549&&cl!=144554&&cl!=144555&&cl!=144556&&cl!=144558&&cl!=144560&&cl!=144562&&cl!=144564&&cl!=144565&&cl!=144566&&cl!=144568&&cl!=144569&&cl!=144570&&cl!=144575&&cl!=144576&&cl!=144582&&cl!=144583&&cl!=144584&&cl!=144585&&cl!=144586&&cl!=144587&&cl!=144590&&cl!=144596&&cl!=144597&&cl!=144600&&cl!=144602&&cl!=144603&&cl!=144604&&cl!=144605&&cl!=144606&&cl!=144608&&cl!=144609&&cl!=144610&&cl!=144611&&cl!=144612&&cl!=144613&&cl!=144618&&cl!=144619&&cl!=144620&&cl!=144621&&cl!=144624&&cl!=144627&&cl!=144628&&cl!=144632&&cl!=144633&&cl!=144634&&cl!=144635&&cl!=144636&&cl!=144637&&cl!=144638&&cl!=144640&&cl!=144641&&cl!=144644&&cl!=144645&&cl!=144646&&cl!=144647&&cl!=144650&&cl!=144651&&cl!=144654&&cl!=144658){cl=Ll(5,pl);if(cl==0){var e=hl,t=pl,n=dl,r=vl,i=ml,s=gl,o=yl,u=bl;try{Wa(),cl=-1}catch(a){cl=-2}hl=e,pl=t,dl=n,dl==0?Ul=t:(vl=r,ml=i,gl=s,gl==0?Ul=i:(yl=o,bl=u,Ul=u)),kl(5,pl,cl)}}if(cl!=-1&&cl!=16134&&cl!=27141&&cl!=27142&&cl!=27144&&cl!=27145&&cl!=27146&&cl!=27147&&cl!=27180&&cl!=27181&&cl!=27182&&cl!=27206&&cl!=27208&&cl!=27209&&cl!=27210&&cl!=27211&&cl!=27215&&cl!=27216&&cl!=27217&&cl!=27218&&cl!=27219&&cl!=27220&&cl!=27221&&cl!=27222&&cl!=27224&&cl!=27225&&cl!=27226&&cl!=27227&&cl!=27229&&cl!=27230&&cl!=27232&&cl!=27233&&cl!=27234&&cl!=27237&&cl!=27238&&cl!=27239&&cl!=27240&&cl!=27241&&cl!=27242&&cl!=27244&&cl!=27245&&cl!=27246&&cl!=27247&&cl!=27248&&cl!=27249&&cl!=27254&&cl!=27255&&cl!=27256&&cl!=27257&&cl!=27258&&cl!=27259&&cl!=27260&&cl!=27261&&cl!=27262&&cl!=27264&&cl!=27265&&cl!=27267&&cl!=27268&&cl!=27269&&cl!=27270&&cl!=27271&&cl!=27272&&cl!=27273&&cl!=27277&&cl!=27281&&cl!=27282&&cl!=27284&&cl!=27286&&cl!=27287&&cl!=27288&&cl!=27289&&cl!=27290&&cl!=27291&&cl!=27295&&cl!=27296&&cl!=27297&&cl!=27298&&cl!=27299&&cl!=27300&&cl!=27301&&cl!=27306&&cl!=27307&&cl!=27308&&cl!=27310&&cl!=27312&&cl!=27314&&cl!=27316&&cl!=27317&&cl!=27318&&cl!=27320&&cl!=27321&&cl!=27322&&cl!=27327&&cl!=27328&&cl!=27334&&cl!=27335&&cl!=27336&&cl!=27337&&cl!=27338&&cl!=27339&&cl!=27342&&cl!=27348&&cl!=27349&&cl!=27352&&cl!=27354&&cl!=27355&&cl!=27356&&cl!=27357&&cl!=27358&&cl!=27360&&cl!=27361&&cl!=27362&&cl!=27363&&cl!=27364&&cl!=27365&&cl!=27370&&cl!=27371&&cl!=27372&&cl!=27373&&cl!=27376&&cl!=27379&&cl!=27380&&cl!=27384&&cl!=27385&&cl!=27386&&cl!=27387&&cl!=27388&&cl!=27389&&cl!=27390&&cl!=27392&&cl!=27393&&cl!=27396&&cl!=27397&&cl!=27398&&cl!=27399&&cl!=27402&&cl!=27403&&cl!=27406&&cl!=27410&&cl!=90198&&cl!=90214&&cl!=113284)break;Wa()}}function Ia(){Cl.startNonterminal("StatementsAndExpr",pl),ja(),Dl(),G(),Cl.endNonterminal("StatementsAndExpr",pl)}function qa(){Fa(),Y()}function Ra(){Cl.startNonterminal("StatementsAndOptionalExpr",pl),ja(),dl!=25&&dl!=282&&(Dl(),G()),Cl.endNonterminal("StatementsAndOptionalExpr",pl)}function Ua(){Fa(),dl!=25&&dl!=282&&Y()}function za(){Cl.startNonterminal("Statement",pl);switch(dl){case 132:Bl(189);break;case 137:Bl(196);break;case 174:Bl(193);break;case 250:Bl(190);break;case 262:Bl(187);break;case 276:Bl(272);break;case 31:case 32:Bl(249);break;case 86:case 102:Bl(188);break;case 152:case 243:case 253:case 267:Bl(185);break;default:cl=dl}if(cl==2836||cl==3103||cl==3104||cl==3348||cl==4372||cl==4884||cl==5396||cl==5908||cl==16148||cl==16660||cl==17675||cl==17684||cl==18196||cl==20756||cl==21780||cl==22804||cl==23316||cl==23828||cl==24340||cl==27924||cl==28436||cl==30484||cl==34068||cl==35092||cl==35871||cl==35872||cl==36116||cl==36895||cl==36896||cl==37140||cl==37407||cl==37408||cl==37652||cl==37919||cl==37920||cl==38164||cl==38431||cl==38432||cl==38676||cl==39700||cl==40479||cl==40480||cl==40724||cl==40991||cl==40992||cl==41236||cl==41503||cl==41504||cl==41748||cl==42015||cl==42016||cl==42260||cl==42527||cl==42528||cl==42772||cl==43039||cl==43040||cl==43284||cl==43551||cl==43552||cl==43796||cl==44063||cl==44064||cl==44308||cl==45087||cl==45088||cl==45332||cl==45599||cl==45600||cl==45844||cl==46111||cl==46112||cl==46356||cl==46623||cl==46624||cl==46868||cl==47647||cl==47648||cl==47892||cl==48159||cl==48160||cl==48404||cl==49183||cl==49184||cl==49428||cl==49695||cl==49696||cl==49940||cl==50207||cl==50208||cl==50452||cl==51743||cl==51744||cl==51988||cl==52255||cl==52256||cl==52500||cl==52767||cl==52768||cl==53012||cl==53279||cl==53280||cl==53524||cl==53791||cl==53792||cl==54036||cl==54303||cl==54304||cl==54548||cl==55327||cl==55328||cl==55572||cl==55839||cl==55840||cl==56084||cl==56351||cl==56352||cl==56596||cl==56863||cl==56864||cl==57108||cl==57375||cl==57376||cl==57620||cl==57887||cl==57888||cl==58132||cl==60447||cl==60448||cl==60692||cl==60959||cl==60960||cl==61204||cl==61471||cl==61472||cl==61716||cl==61983||cl==61984||cl==62228||cl==62495||cl==62496||cl==62740||cl==63007||cl==63008||cl==63252||cl==63519||cl==63520||cl==63764||cl==64031||cl==64032||cl==64276||cl==64543||cl==64544||cl==64788||cl==65567||cl==65568||cl==65812||cl==66079||cl==66080||cl==66324||cl==67103||cl==67104||cl==67348||cl==67615||cl==67616||cl==67860||cl==68127||cl==68128||cl==68372||cl==68639||cl==68640||cl==68884||cl==69151||cl==69152||cl==69396||cl==69663||cl==69664||cl==69908||cl==70175||cl==70176||cl==70420||cl==72223||cl==72224||cl==72468||cl==74271||cl==74272||cl==74516||cl==74783||cl==74784||cl==75028||cl==75807||cl==75808||cl==76052||cl==76831||cl==76832||cl==77076||cl==77343||cl==77344||cl==77588||cl==77855||cl==77856||cl==78100||cl==78367||cl==78368||cl==78612||cl==78879||cl==78880||cl==79124||cl==79391||cl==79392||cl==79636||cl==81439||cl==81440||cl==81684||cl==81951||cl==81952||cl==82196||cl==82463||cl==82464||cl==82708||cl==82975||cl==82976||cl==83220||cl==83487||cl==83488||cl==83732||cl==83999||cl==84e3||cl==84244||cl==84511||cl==84512||cl==84756||cl==87071||cl==87072||cl==87316||cl==87583||cl==87584||cl==87828||cl==88095||cl==88096||cl==88340||cl==89119||cl==89120||cl==89364||cl==90143||cl==90144||cl==90388||cl==91167||cl==91168||cl==91412||cl==92191||cl==92192||cl==92436||cl==92703||cl==92704||cl==92948||cl==93215||cl==93216||cl==93460||cl==94239||cl==94240||cl==94484||cl==94751||cl==94752||cl==94996||cl==95263||cl==95264||cl==95508||cl==97823||cl==97824||cl==98068||cl==98335||cl==98336||cl==98580||cl==101407||cl==101408||cl==101652||cl==101919||cl==101920||cl==102164||cl==102431||cl==102432||cl==102676||cl==102943||cl==102944||cl==103188||cl==103455||cl==103456||cl==103700||cl==103967||cl==103968||cl==104212||cl==105503||cl==105504||cl==105748||cl==108575||cl==108576||cl==108820||cl==109087||cl==109088||cl==109332||cl==110623||cl==110624||cl==110868||cl==111647||cl==111648||cl==111892||cl==112159||cl==112160||cl==112404||cl==112671||cl==112672||cl==112916||cl==113183||cl==113184||cl==113428||cl==113695||cl==113696||cl==113940||cl==114719||cl==114720||cl==114964||cl==115231||cl==115232||cl==115476||cl==115743||cl==115744||cl==115988||cl==116255||cl==116256||cl==116500||cl==116767||cl==116768||cl==117012||cl==117279||cl==117280||cl==117524||cl==119839||cl==119840||cl==120084||cl==120351||cl==120352||cl==120596||cl==120863||cl==120864||cl==121108||cl==121375||cl==121376||cl==121620||cl==122911||cl==122912||cl==123156||cl==124447||cl==124448||cl==124692||cl==124959||cl==124960||cl==125204||cl==127007||cl==127008||cl==127252||cl==127519||cl==127520||cl==127764||cl==128031||cl==128032||cl==128276||cl==128543||cl==128544||cl==128788||cl==129055||cl==129056||cl==129300||cl==129567||cl==129568||cl==129812||cl==130079||cl==130080||cl==130324||cl==131103||cl==131104||cl==131348||cl==131615||cl==131616||cl==131860||cl==133151||cl==133152||cl==133396||cl==133663||cl==133664||cl==133908||cl==134175||cl==134176||cl==134420||cl==134687||cl==134688||cl==134932||cl==136223||cl==136224||cl==136468||cl==136735||cl==136736||cl==136980||cl==138271||cl==138272||cl==138516||cl==140319||cl==140320||cl==140564||cl==141588||cl==142612||cl==144660){cl=Ll(6,pl);if(cl==0){var e=hl,t=pl,n=dl,r=vl,i=ml,s=gl,o=yl,u=bl;try{Va(),cl=-1}catch(a){try{hl=e,pl=t,dl=n,dl==0?Ul=t:(vl=r,ml=i,gl=s,gl==0?Ul=i:(yl=o,bl=u,Ul=u)),Ja(),cl=-2}catch(f){try{hl=e,pl=t,dl=n,dl==0?Ul=t:(vl=r,ml=i,gl=s,gl==0?Ul=i:(yl=o,bl=u,Ul=u)),Qa(),cl=-3}catch(l){try{hl=e,pl=t,dl=n,dl==0?Ul=t:(vl=r,ml=i,gl=s,gl==0?Ul=i:(yl=o,bl=u,Ul=u)),Ef(),cl=-12}catch(c){cl=-13}}}}hl=e,pl=t,dl=n,dl==0?Ul=t:(vl=r,ml=i,gl=s,gl==0?Ul=i:(yl=o,bl=u,Ul=u)),kl(6,pl,cl)}}switch(cl){case-2:$a();break;case-3:Ka();break;case 90198:Ga();break;case 90214:Za();break;case 113284:tf();break;case 16009:case 16046:case 116910:case 119945:case 128649:rf();break;case 17560:af();break;case 17651:lf();break;case 141562:df();break;case 17661:mf();break;case-12:case 16134:wf();break;case-13:Sf();break;default:Xa()}Cl.endNonterminal("Statement",pl)}function Wa(){switch(dl){case 132:Bl(189);break;case 137:Bl(196);break;case 174:Bl(193);break;case 250:Bl(190);break;case 262:Bl(187);break;case 276:Bl(272);break;case 31:case 32:Bl(249);break;case 86:case 102:Bl(188);break;case 152:case 243:case 253:case 267:Bl(185);break;default:cl=dl}if(cl==2836||cl==3103||cl==3104||cl==3348||cl==4372||cl==4884||cl==5396||cl==5908||cl==16148||cl==16660||cl==17675||cl==17684||cl==18196||cl==20756||cl==21780||cl==22804||cl==23316||cl==23828||cl==24340||cl==27924||cl==28436||cl==30484||cl==34068||cl==35092||cl==35871||cl==35872||cl==36116||cl==36895||cl==36896||cl==37140||cl==37407||cl==37408||cl==37652||cl==37919||cl==37920||cl==38164||cl==38431||cl==38432||cl==38676||cl==39700||cl==40479||cl==40480||cl==40724||cl==40991||cl==40992||cl==41236||cl==41503||cl==41504||cl==41748||cl==42015||cl==42016||cl==42260||cl==42527||cl==42528||cl==42772||cl==43039||cl==43040||cl==43284||cl==43551||cl==43552||cl==43796||cl==44063||cl==44064||cl==44308||cl==45087||cl==45088||cl==45332||cl==45599||cl==45600||cl==45844||cl==46111||cl==46112||cl==46356||cl==46623||cl==46624||cl==46868||cl==47647||cl==47648||cl==47892||cl==48159||cl==48160||cl==48404||cl==49183||cl==49184||cl==49428||cl==49695||cl==49696||cl==49940||cl==50207||cl==50208||cl==50452||cl==51743||cl==51744||cl==51988||cl==52255||cl==52256||cl==52500||cl==52767||cl==52768||cl==53012||cl==53279||cl==53280||cl==53524||cl==53791||cl==53792||cl==54036||cl==54303||cl==54304||cl==54548||cl==55327||cl==55328||cl==55572||cl==55839||cl==55840||cl==56084||cl==56351||cl==56352||cl==56596||cl==56863||cl==56864||cl==57108||cl==57375||cl==57376||cl==57620||cl==57887||cl==57888||cl==58132||cl==60447||cl==60448||cl==60692||cl==60959||cl==60960||cl==61204||cl==61471||cl==61472||cl==61716||cl==61983||cl==61984||cl==62228||cl==62495||cl==62496||cl==62740||cl==63007||cl==63008||cl==63252||cl==63519||cl==63520||cl==63764||cl==64031||cl==64032||cl==64276||cl==64543||cl==64544||cl==64788||cl==65567||cl==65568||cl==65812||cl==66079||cl==66080||cl==66324||cl==67103||cl==67104||cl==67348||cl==67615||cl==67616||cl==67860||cl==68127||cl==68128||cl==68372||cl==68639||cl==68640||cl==68884||cl==69151||cl==69152||cl==69396||cl==69663||cl==69664||cl==69908||cl==70175||cl==70176||cl==70420||cl==72223||cl==72224||cl==72468||cl==74271||cl==74272||cl==74516||cl==74783||cl==74784||cl==75028||cl==75807||cl==75808||cl==76052||cl==76831||cl==76832||cl==77076||cl==77343||cl==77344||cl==77588||cl==77855||cl==77856||cl==78100||cl==78367||cl==78368||cl==78612||cl==78879||cl==78880||cl==79124||cl==79391||cl==79392||cl==79636||cl==81439||cl==81440||cl==81684||cl==81951||cl==81952||cl==82196||cl==82463||cl==82464||cl==82708||cl==82975||cl==82976||cl==83220||cl==83487||cl==83488||cl==83732||cl==83999||cl==84e3||cl==84244||cl==84511||cl==84512||cl==84756||cl==87071||cl==87072||cl==87316||cl==87583||cl==87584||cl==87828||cl==88095||cl==88096||cl==88340||cl==89119||cl==89120||cl==89364||cl==90143||cl==90144||cl==90388||cl==91167||cl==91168||cl==91412||cl==92191||cl==92192||cl==92436||cl==92703||cl==92704||cl==92948||cl==93215||cl==93216||cl==93460||cl==94239||cl==94240||cl==94484||cl==94751||cl==94752||cl==94996||cl==95263||cl==95264||cl==95508||cl==97823||cl==97824||cl==98068||cl==98335||cl==98336||cl==98580||cl==101407||cl==101408||cl==101652||cl==101919||cl==101920||cl==102164||cl==102431||cl==102432||cl==102676||cl==102943||cl==102944||cl==103188||cl==103455||cl==103456||cl==103700||cl==103967||cl==103968||cl==104212||cl==105503||cl==105504||cl==105748||cl==108575||cl==108576||cl==108820||cl==109087||cl==109088||cl==109332||cl==110623||cl==110624||cl==110868||cl==111647||cl==111648||cl==111892||cl==112159||cl==112160||cl==112404||cl==112671||cl==112672||cl==112916||cl==113183||cl==113184||cl==113428||cl==113695||cl==113696||cl==113940||cl==114719||cl==114720||cl==114964||cl==115231||cl==115232||cl==115476||cl==115743||cl==115744||cl==115988||cl==116255||cl==116256||cl==116500||cl==116767||cl==116768||cl==117012||cl==117279||cl==117280||cl==117524||cl==119839||cl==119840||cl==120084||cl==120351||cl==120352||cl==120596||cl==120863||cl==120864||cl==121108||cl==121375||cl==121376||cl==121620||cl==122911||cl==122912||cl==123156||cl==124447||cl==124448||cl==124692||cl==124959||cl==124960||cl==125204||cl==127007||cl==127008||cl==127252||cl==127519||cl==127520||cl==127764||cl==128031||cl==128032||cl==128276||cl==128543||cl==128544||cl==128788||cl==129055||cl==129056||cl==129300||cl==129567||cl==129568||cl==129812||cl==130079||cl==130080||cl==130324||cl==131103||cl==131104||cl==131348||cl==131615||cl==131616||cl==131860||cl==133151||cl==133152||cl==133396||cl==133663||cl==133664||cl==133908||cl==134175||cl==134176||cl==134420||cl==134687||cl==134688||cl==134932||cl==136223||cl==136224||cl==136468||cl==136735||cl==136736||cl==136980||cl==138271||cl==138272||cl==138516||cl==140319||cl==140320||cl==140564||cl==141588||cl==142612||cl==144660){cl=Ll(6,pl);if(cl==0){var e=hl,t=pl,n=dl,r=vl,i=ml,s=gl,o=yl,u=bl;try{Va(),cl=-1}catch(a){try{hl=e,pl=t,dl=n,dl==0?Ul=t:(vl=r,ml=i,gl=s,gl==0?Ul=i:(yl=o,bl=u,Ul=u)),Ja(),cl=-2}catch(f){try{hl=e,pl=t,dl=n,dl==0?Ul=t:(vl=r,ml=i,gl=s,gl==0?Ul=i:(yl=o,bl=u,Ul=u)),Qa(),cl=-3}catch(l){try{hl=e,pl=t,dl=n,dl==0?Ul=t:(vl=r,ml=i,gl=s,gl==0?Ul=i:(yl=o,bl=u,Ul=u)),Ef(),cl=-12}catch(c){cl=-13}}}}hl=e,pl=t,dl=n,dl==0?Ul=t:(vl=r,ml=i,gl=s,gl==0?Ul=i:(yl=o,bl=u,Ul=u)),kl(6,pl,cl)}}switch(cl){case-2:Ja();break;case-3:Qa();break;case 90198:Ya();break;case 90214:ef();break;case 113284:nf();break;case 16009:case 16046:case 116910:case 119945:case 128649:sf();break;case 17560:ff();break;case 17651:cf();break;case 141562:vf();break;case 17661:gf();break;case-12:case 16134:Ef();break;case-13:xf();break;default:Va()}}function Xa(){Cl.startNonterminal("ApplyStatement",pl),Cf(),Ol(53),Cl.endNonterminal("ApplyStatement",pl)}function Va(){kf(),Ml(53)}function $a(){Cl.startNonterminal("AssignStatement",pl),Ol(31),Hl(249),Dl(),ai(),Hl(27),Ol(52),Hl(266),Dl(),Tf(),Ol(53),Cl.endNonterminal("AssignStatement",pl)}function Ja(){Ml(31),Hl(249),fi(),Hl(27),Ml(52),Hl(266),Nf(),Ml(53)}function Ka(){Cl.startNonterminal("BlockStatement",pl),Ol(276),Hl(272),Dl(),ja(),Ol(282),Cl.endNonterminal("BlockStatement",pl)}function Qa(){Ml(276),Hl(272),Fa(),Ml(282)}function Ga(){Cl.startNonterminal("BreakStatement",pl),Ol(86),Hl(59),Ol(176),Hl(28),Ol(53),Cl.endNonterminal("BreakStatement",pl)}function Ya(){Ml(86),Hl(59),Ml(176),Hl(28),Ml(53)}function Za(){Cl.startNonterminal("ContinueStatement",pl),Ol(102),Hl(59),Ol(176),Hl(28),Ol(53),Cl.endNonterminal("ContinueStatement",pl)}function ef(){Ml(102),Hl(59),Ml(176),Hl(28),Ml(53)}function tf(){Cl.startNonterminal("ExitStatement",pl),Ol(132),Hl(71),Ol(221),Hl(266),Dl(),Tf(),Ol(53),Cl.endNonterminal("ExitStatement",pl)}function nf(){Ml(132),Hl(71),Ml(221),Hl(266),Nf(),Ml(53)}function rf(){Cl.startNonterminal("FLWORStatement",pl),tt();for(;;){Hl(173);if(dl==220)break;Dl(),rt()}Dl(),of(),Cl.endNonterminal("FLWORStatement",pl)}function sf(){nt();for(;;){Hl(173);if(dl==220)break;it()}uf()}function of(){Cl.startNonterminal("ReturnStatement",pl),Ol(220),Hl(266),Dl(),za(),Cl.endNonterminal("ReturnStatement",pl)}function uf(){Ml(220),Hl(266),Wa()}function af(){Cl.startNonterminal("IfStatement",pl),Ol(152),Hl(22),Ol(34),Hl(266),Dl(),G(),Ol(37),Hl(77),Ol(245),Hl(266),Dl(),za(),Hl(48),Ol(122),Hl(266),Dl(),za(),Cl.endNonterminal("IfStatement",pl)}function ff(){Ml(152),Hl(22),Ml(34),Hl(266),Y(),Ml(37),Hl(77),Ml(245),Hl(266),Wa(),Hl(48),Ml(122),Hl(266),Wa()}function lf(){Cl.startNonterminal("SwitchStatement",pl),Ol(243),Hl(22),Ol(34),Hl(266),Dl(),G(),Ol(37);for(;;){Hl(35),Dl(),hf(),Hl(113);if(dl!=88)break}Ol(109),Hl(70),Ol(220),Hl(266),Dl(),za(),Cl.endNonterminal("SwitchStatement",pl)}function cf(){Ml(243),Hl(22),Ml(34),Hl(266),Y(),Ml(37);for(;;){Hl(35),pf(),Hl(113);if(dl!=88)break}Ml(109),Hl(70),Ml(220),Hl(266),Wa()}function hf(){Cl.startNonterminal("SwitchCaseStatement",pl);for(;;){Ol(88),Hl(266),Dl(),ln();if(dl!=88)break}Ol(220),Hl(266),Dl(),za(),Cl.endNonterminal("SwitchCaseStatement",pl)}function pf(){for(;;){Ml(88),Hl(266),cn();if(dl!=88)break}Ml(220),Hl(266),Wa()}function df(){Cl.startNonterminal("TryCatchStatement",pl),Ol(250),Hl(87),Dl(),Ka();for(;;){Hl(36),Ol(91),Hl(251),Dl(),Ln(),Dl(),Ka(),Hl(273);switch(dl){case 91:Bl(275);break;default:cl=dl}if(cl==38491||cl==45659||cl==46171||cl==60507||cl==65627||cl==67163||cl==74843||cl==76891||cl==77403||cl==82011||cl==83035||cl==84059||cl==88155||cl==91227||cl==92251||cl==95323||cl==102491||cl==127067||cl==127579||cl==130139){cl=Ll(7,pl);if(cl==0){var e=hl,t=pl,n=dl,r=vl,i=ml,s=gl,o=yl,u=bl;try{Hl(36),Ml(91),Hl(251),An(),Qa(),cl=-1}catch(a){cl=-2}hl=e,pl=t,dl=n,dl==0?Ul=t:(vl=r,ml=i,gl=s,gl==0?Ul=i:(yl=o,bl=u,Ul=u)),kl(7,pl,cl)}}if(cl!=-1&&cl!=2651&&cl!=3163&&cl!=35931&&cl!=36955&&cl!=37467&&cl!=37979&&cl!=40539&&cl!=41051&&cl!=41563&&cl!=42075&&cl!=42587&&cl!=43099&&cl!=43611&&cl!=44123&&cl!=45147&&cl!=46683&&cl!=47707&&cl!=48219&&cl!=49243&&cl!=49755&&cl!=50267&&cl!=51803&&cl!=52315&&cl!=52827&&cl!=53339&&cl!=53851&&cl!=54363&&cl!=55387&&cl!=55899&&cl!=56411&&cl!=56923&&cl!=57435&&cl!=57947&&cl!=61019&&cl!=61531&&cl!=62043&&cl!=62555&&cl!=63067&&cl!=63579&&cl!=64091&&cl!=64603&&cl!=66139&&cl!=67675&&cl!=68187&&cl!=68699&&cl!=69211&&cl!=69723&&cl!=70235&&cl!=72283&&cl!=74331&&cl!=75867&&cl!=77915&&cl!=78427&&cl!=78939&&cl!=79451&&cl!=81499&&cl!=82523&&cl!=83547&&cl!=84571&&cl!=87131&&cl!=87643&&cl!=89179&&cl!=90203&&cl!=92763&&cl!=93275&&cl!=94299&&cl!=94811&&cl!=97883&&cl!=98395&&cl!=101467&&cl!=101979&&cl!=103003&&cl!=103515&&cl!=104027&&cl!=105563&&cl!=108635&&cl!=109147&&cl!=110683&&cl!=111707&&cl!=112219&&cl!=112731&&cl!=113243&&cl!=113755&&cl!=114779&&cl!=115291&&cl!=115803&&cl!=116315&&cl!=116827&&cl!=117339&&cl!=119899&&cl!=120411&&cl!=120923&&cl!=121435&&cl!=122971&&cl!=124507&&cl!=125019&&cl!=128091&&cl!=128603&&cl!=129115&&cl!=129627&&cl!=131163&&cl!=131675&&cl!=133211&&cl!=133723&&cl!=134235&&cl!=134747&&cl!=136283&&cl!=136795&&cl!=138331&&cl!=140379)break}Cl.endNonterminal("TryCatchStatement",pl)}function vf(){Ml(250),Hl(87),Qa();for(;;){Hl(36),Ml(91),Hl(251),An(),Qa(),Hl(273);switch(dl){case 91:Bl(275);break;default:cl=dl}if(cl==38491||cl==45659||cl==46171||cl==60507||cl==65627||cl==67163||cl==74843||cl==76891||cl==77403||cl==82011||cl==83035||cl==84059||cl==88155||cl==91227||cl==92251||cl==95323||cl==102491||cl==127067||cl==127579||cl==130139){cl=Ll(7,pl);if(cl==0){var e=hl,t=pl,n=dl,r=vl,i=ml,s=gl,o=yl,u=bl;try{Hl(36),Ml(91),Hl(251),An(),Qa(),cl=-1}catch(a){cl=-2}hl=e,pl=t,dl=n,dl==0?Ul=t:(vl=r,ml=i,gl=s,gl==0?Ul=i:(yl=o,bl=u,Ul=u)),kl(7,pl,cl)}}if(cl!=-1&&cl!=2651&&cl!=3163&&cl!=35931&&cl!=36955&&cl!=37467&&cl!=37979&&cl!=40539&&cl!=41051&&cl!=41563&&cl!=42075&&cl!=42587&&cl!=43099&&cl!=43611&&cl!=44123&&cl!=45147&&cl!=46683&&cl!=47707&&cl!=48219&&cl!=49243&&cl!=49755&&cl!=50267&&cl!=51803&&cl!=52315&&cl!=52827&&cl!=53339&&cl!=53851&&cl!=54363&&cl!=55387&&cl!=55899&&cl!=56411&&cl!=56923&&cl!=57435&&cl!=57947&&cl!=61019&&cl!=61531&&cl!=62043&&cl!=62555&&cl!=63067&&cl!=63579&&cl!=64091&&cl!=64603&&cl!=66139&&cl!=67675&&cl!=68187&&cl!=68699&&cl!=69211&&cl!=69723&&cl!=70235&&cl!=72283&&cl!=74331&&cl!=75867&&cl!=77915&&cl!=78427&&cl!=78939&&cl!=79451&&cl!=81499&&cl!=82523&&cl!=83547&&cl!=84571&&cl!=87131&&cl!=87643&&cl!=89179&&cl!=90203&&cl!=92763&&cl!=93275&&cl!=94299&&cl!=94811&&cl!=97883&&cl!=98395&&cl!=101467&&cl!=101979&&cl!=103003&&cl!=103515&&cl!=104027&&cl!=105563&&cl!=108635&&cl!=109147&&cl!=110683&&cl!=111707&&cl!=112219&&cl!=112731&&cl!=113243&&cl!=113755&&cl!=114779&&cl!=115291&&cl!=115803&&cl!=116315&&cl!=116827&&cl!=117339&&cl!=119899&&cl!=120411&&cl!=120923&&cl!=121435&&cl!=122971&&cl!=124507&&cl!=125019&&cl!=128091&&cl!=128603&&cl!=129115&&cl!=129627&&cl!=131163&&cl!=131675&&cl!=133211&&cl!=133723&&cl!=134235&&cl!=134747&&cl!=136283&&cl!=136795&&cl!=138331&&cl!=140379)break}}function mf(){Cl.startNonterminal("TypeswitchStatement",pl),Ol(253),Hl(22),Ol(34),Hl(266),Dl(),G(),Ol(37);for(;;){Hl(35),Dl(),yf(),Hl(113);if(dl!=88)break}Ol(109),Hl(95),dl==31&&(Ol(31),Hl(249),Dl(),ai()),Hl(70),Ol(220),Hl(266),Dl(),za(),Cl.endNonterminal("TypeswitchStatement",pl)}function gf(){Ml(253),Hl(22),Ml(34),Hl(266),Y(),Ml(37);for(;;){Hl(35),bf(),Hl(113);if(dl!=88)break}Ml(109),Hl(95),dl==31&&(Ml(31),Hl(249),fi()),Hl(70),Ml(220),Hl(266),Wa()}function yf(){Cl.startNonterminal("CaseStatement",pl),Ol(88),Hl(260),dl==31&&(Ol(31),Hl(249),Dl(),ai(),Hl(30),Ol(79)),Hl(259),Dl(),hs(),Hl(70),Ol(220),Hl(266),Dl(),za(),Cl.endNonterminal("CaseStatement",pl)}function bf(){Ml(88),Hl(260),dl==31&&(Ml(31),Hl(249),fi(),Hl(30),Ml(79)),Hl(259),ps(),Hl(70),Ml(220),Hl(266),Wa()}function wf(){Cl.startNonterminal("VarDeclStatement",pl);for(;;){Hl(98);if(dl!=32)break;Dl(),B()}Ol(262),Hl(21),Ol(31),Hl(249),Dl(),ai(),Hl(157),dl==79&&(Dl(),ls()),Hl(145),dl==52&&(Ol(52),Hl(266),Dl(),Tf());for(;;){if(dl!=41)break;Ol(41),Hl(21),Ol(31),Hl(249),Dl(),ai(),Hl(157),dl==79&&(Dl(),ls()),Hl(145),dl==52&&(Ol(52),Hl(266),Dl(),Tf())}Ol(53),Cl.endNonterminal("VarDeclStatement",pl)}function Ef(){for(;;){Hl(98);if(dl!=32)break;j()}Ml(262),Hl(21),Ml(31),Hl(249),fi(),Hl(157),dl==79&&cs(),Hl(145),dl==52&&(Ml(52),Hl(266),Nf());for(;;){if(dl!=41)break;Ml(41),Hl(21),Ml(31),Hl(249),fi(),Hl(157),dl==79&&cs(),Hl(145),dl==52&&(Ml(52),Hl(266),Nf())}Ml(53)}function Sf(){Cl.startNonterminal("WhileStatement",pl),Ol(267),Hl(22),Ol(34),Hl(266),Dl(),G(),Ol(37),Hl(266),Dl(),za(),Cl.endNonterminal("WhileStatement",pl)}function xf(){Ml(267),Hl(22),Ml(34),Hl(266),Y(),Ml(37),Hl(266),Wa()}function Tf(){Cl.startNonterminal("ExprSingle",pl);switch(dl){case 137:Bl(233);break;case 174:Bl(231);break;case 250:Bl(230);break;case 152:case 243:case 253:Bl(228);break;default:cl=dl}switch(cl){case 16009:case 16046:case 116910:case 119945:case 128649:Z();break;case 17560:yn();break;case 17651:on();break;case 141562:wn();break;case 17661:hn();break;default:Cf()}Cl.endNonterminal("ExprSingle",pl)}function Nf(){switch(dl){case 137:Bl(233);break;case 174:Bl(231);break;case 250:Bl(230);break;case 152:case 243:case 253:Bl(228);break;default:cl=dl}switch(cl){case 16009:case 16046:case 116910:case 119945:case 128649:et();break;case 17560:bn();break;case 17651:un();break;case 141562:En();break;case 17661:pn();break;default:kf()}}function Cf(){Cl.startNonterminal("ExprSimple",pl);switch(dl){case 218:Bl(232);break;case 219:Bl(235);break;case 110:case 159:Bl(234);break;case 103:case 129:case 235:Bl(229);break;default:cl=dl}switch(cl){case 16001:case 16107:rn();break;case 97951:case 98463:Co();break;case 97902:case 98414:Lo();break;case 98010:_o();break;case 98011:case 133851:Oo();break;case 15975:qo();break;case 85102:Lf();break;case 85151:Of();break;case 85210:_f();break;case 85211:Pf();break;case 77:Bf();break;default:On()}Cl.endNonterminal("ExprSimple",pl)}function kf(){switch(dl){case 218:Bl(232);break;case 219:Bl(235);break;case 110:case 159:Bl(234);break;case 103:case 129:case 235:Bl(229);break;default:cl=dl}switch(cl){case 16001:case 16107:sn();break;case 97951:case 98463:ko();break;case 97902:case 98414:Ao();break;case 98010:Do();break;case 98011:case 133851:Mo();break;case 15975:Ro();break;case 85102:Af();break;case 85151:Mf();break;case 85210:Df();break;case 85211:Hf();break;case 77:jf();break;default:Mn()}}function Lf(){Cl.startNonterminal("JSONDeleteExpr",pl),Ol(110),Hl(56),Ol(166),Hl(262),Dl(),Jr(),Cl.endNonterminal("JSONDeleteExpr",pl)}function Af(){Ml(110),Hl(56),Ml(166),Hl(262),Kr()}function Of(){Cl.startNonterminal("JSONInsertExpr",pl),Ol(159),Hl(56),Ol(166),Hl(266),Dl(),Tf(),Ol(163),Hl(266),Dl(),Tf();switch(dl){case 81:Bl(69);break;default:cl=dl}if(cl==108113){cl=Ll(8,pl);if(cl==0){var e=hl,t=pl,n=dl,r=vl,i=ml,s=gl,o=yl,u=bl;try{Ml(81),Hl(69),Ml(211),Hl(266),Nf(),cl=-1}catch(a){cl=-2}hl=e,pl=t,dl=n,dl==0?Ul=t:(vl=r,ml=i,gl=s,gl==0?Ul=i:(yl=o,bl=u,Ul=u)),kl(8,pl,cl)}}cl==-1&&(Ol(81),Hl(69),Ol(211),Hl(266),Dl(),Tf()),Cl.endNonterminal("JSONInsertExpr",pl)}function Mf(){Ml(159),Hl(56),Ml(166),Hl(266),Nf(),Ml(163),Hl(266),Nf();switch(dl){case 81:Bl(69);break;default:cl=dl}if(cl==108113){cl=Ll(8,pl);if(cl==0){var e=hl,t=pl,n=dl,r=vl,i=ml,s=gl,o=yl,u=bl;try{Ml(81),Hl(69),Ml(211),Hl(266),Nf(),cl=-1}catch(a){cl=-2}hl=e,pl=t,dl=n,dl==0?Ul=t:(vl=r,ml=i,gl=s,gl==0?Ul=i:(yl=o,bl=u,Ul=u)),kl(8,pl,cl)}}cl==-1&&(Ml(81),Hl(69),Ml(211),Hl(266),Nf())}function _f(){Cl.startNonterminal("JSONRenameExpr",pl),Ol(218),Hl(56),Ol(166),Hl(262),Dl(),Jr(),Ol(79),Hl(266),Dl(),Tf(),Cl.endNonterminal("JSONRenameExpr",pl)}function Df(){Ml(218),Hl(56),Ml(166),Hl(262),Kr(),Ml(79),Hl(266),Nf()}function Pf(){Cl.startNonterminal("JSONReplaceExpr",pl),Ol(219),Hl(56),Ol(166),Hl(82),Ol(261),Hl(64),Ol(196),Hl(262),Dl(),Jr(),Ol(270),Hl(266),Dl(),Tf(),Cl.endNonterminal("JSONReplaceExpr",pl)}function Hf(){Ml(219),Hl(56),Ml(166),Hl(82),Ml(261),Hl(64),Ml(196),Hl(262),Kr(),Ml(270),Hl(266),Nf()}function Bf(){Cl.startNonterminal("JSONAppendExpr",pl),Ol(77),Hl(56),Ol(166),Hl(266),Dl(),Tf(),Ol(163),Hl(266),Dl(),Tf(),Cl.endNonterminal("JSONAppendExpr",pl)}function jf(){Ml(77),Hl(56),Ml(166),Hl(266),Nf(),Ml(163),Hl(266),Nf()}function Ff(){Cl.startNonterminal("CommonContent",pl);switch(dl){case 12:Ol(12);break;case 23:Ol(23);break;case 277:Ol(277);break;case 283:Ol(283);break;default:al()}Cl.endNonterminal("CommonContent",pl)}function If(){switch(dl){case 12:Ml(12);break;case 23:Ml(23);break;case 277:Ml(277);break;case 283:Ml(283);break;default:fl()}}function qf(){Cl.startNonterminal("ContentExpr",pl),Ia(),Cl.endNonterminal("ContentExpr",pl)}function Rf(){qa()}function Uf(){Cl.startNonterminal("CompDocConstructor",pl),Ol(119),Hl(87),Dl(),al(),Cl.endNonterminal("CompDocConstructor",pl)}function zf(){Ml(119),Hl(87),fl()}function Wf(){Cl.startNonterminal("CompAttrConstructor",pl),Ol(82),Hl(252);switch(dl){case 276:Ol(276),Hl(266),Dl(),G(),Ol(282);break;default:Dl(),Aa()}Hl(87);switch(dl){case 276:Bl(272);break;default:cl=dl}if(cl==144660){cl=Ll(9,pl);if(cl==0){var e=hl,t=pl,n=dl,r=vl,i=ml,s=gl,o=yl,u=bl;try{Ml(276),Hl(88),Ml(282),cl=-1}catch(a){cl=-2}hl=e,pl=t,dl=n,dl==0?Ul=t:(vl=r,ml=i,gl=s,gl==0?Ul=i:(yl=o,bl=u,Ul=u)),kl(9,pl,cl)}}switch(cl){case-1:Ol(276),Hl(88),Ol(282);break;default:Dl(),al()}Cl.endNonterminal("CompAttrConstructor",pl)}function Xf(){Ml(82),Hl(252);switch(dl){case 276:Ml(276),Hl(266),Y(),Ml(282);break;default:Oa()}Hl(87);switch(dl){case 276:Bl(272);break;default:cl=dl}if(cl==144660){cl=Ll(9,pl);if(cl==0){var e=hl,t=pl,n=dl,r=vl,i=ml,s=gl,o=yl,u=bl;try{Ml(276),Hl(88),Ml(282),cl=-1}catch(a){cl=-2}hl=e,pl=t,dl=n,dl==0?Ul=t:(vl=r,ml=i,gl=s,gl==0?Ul=i:(yl=o,bl=u,Ul=u)),kl(9,pl,cl)}}switch(cl){case-1:Ml(276),Hl(88),Ml(282);break;default:fl()}}function Vf(){Cl.startNonterminal("CompPIConstructor",pl),Ol(216),Hl(253);switch(dl){case 276:Ol(276),Hl(266),Dl(),G(),Ol(282);break;default:Dl(),Da()}Hl(87);switch(dl){case 276:Bl(272);break;default:cl=dl}if(cl==144660){cl=Ll(10,pl);if(cl==0){var e=hl,t=pl,n=dl,r=vl,i=ml,s=gl,o=yl,u=bl;try{Ml(276),Hl(88),Ml(282),cl=-1}catch(a){cl=-2}hl=e,pl=t,dl=n,dl==0?Ul=t:(vl=r,ml=i,gl=s,gl==0?Ul=i:(yl=o,bl=u,Ul=u)),kl(10,pl,cl)}}switch(cl){case-1:Ol(276),Hl(88),Ol(282);break;default:Dl(),al()}Cl.endNonterminal("CompPIConstructor",pl)}function $f(){Ml(216),Hl(253);switch(dl){case 276:Ml(276),Hl(266),Y(),Ml(282);break;default:Pa()}Hl(87);switch(dl){case 276:Bl(272);break;default:cl=dl}if(cl==144660){cl=Ll(10,pl);if(cl==0){var e=hl,t=pl,n=dl,r=vl,i=ml,s=gl,o=yl,u=bl;try{Ml(276),Hl(88),Ml(282),cl=-1}catch(a){cl=-2}hl=e,pl=t,dl=n,dl==0?Ul=t:(vl=r,ml=i,gl=s,gl==0?Ul=i:(yl=o,bl=u,Ul=u)),kl(10,pl,cl)}}switch(cl){case-1:Ml(276),Hl(88),Ml(282);break;default:fl()}}function Jf(){Cl.startNonterminal("CompCommentConstructor",pl),Ol(96),Hl(87),Dl(),al(),Cl.endNonterminal("CompCommentConstructor",pl)}function Kf(){Ml(96),Hl(87),fl()}function Qf(){Cl.startNonterminal("CompTextConstructor",pl),Ol(244),Hl(87),Dl(),al(),Cl.endNonterminal("CompTextConstructor",pl)}function Gf(){Ml(244),Hl(87),fl()}function Yf(){Cl.startNonterminal("PrimaryExpr",pl);switch(dl){case 184:Bl(258);break;case 216:Bl(257);break;case 276:Bl(272);break;case 82:case 121:Bl(254);break;case 96:case 244:Bl(93);break;case 119:case 202:case 256:Bl(139);break;case 6:case 70:case 72:case 73:case 74:case 75:case 79:case 80:case 81:case 83:case 84:case 85:case 86:case 88:case 89:case 90:case 91:case 93:case 94:case 97:case 98:case 101:case 102:case 103:case 104:case 105:case 106:case 108:case 109:case 110:case 111:case 112:case 113:case 118:case 122:case 123:case 125:case 126:case 128:case 129:case 131:case 132:case 133:case 134:case 135:case 136:case 137:case 141:case 146:case 148:case 150:case 151:case 153:case 154:case 155:case 159:case 160:case 161:case 162:case 163:case 164:case 170:case 171:case 172:case 174:case 176:case 178:case 180:case 181:case 182:case 186:case 192:case 198:case 199:case 200:case 201:case 203:case 206:case 212:case 213:case 218:case 219:case 220:case 221:case 222:case 224:case 225:case 228:case 229:case 234:case 235:case 236:case 237:case 240:case 248:case 249:case 250:case 251:case 252:case 254:case 257:case 260:case 261:case 262:case 263:case 266:case 267:case 270:case 274:Bl(92);break;default:cl=dl}if(cl==2836||cl==3348||cl==4372||cl==4884||cl==5396||cl==5908||cl==16148||cl==16660||cl==17684||cl==18196||cl==20756||cl==21780||cl==22804||cl==23316||cl==23828||cl==24340||cl==27924||cl==28436||cl==30484||cl==34068||cl==35092||cl==36116||cl==37140||cl==37652||cl==38164||cl==38676||cl==39700||cl==40724||cl==41236||cl==41748||cl==42260||cl==42772||cl==43284||cl==43796||cl==44308||cl==45332||cl==45844||cl==46356||cl==46868||cl==47892||cl==48404||cl==49428||cl==49940||cl==50452||cl==51988||cl==52500||cl==53012||cl==53524||cl==54036||cl==54548||cl==55572||cl==56084||cl==56596||cl==57108||cl==57620||cl==58132||cl==60692||cl==61204||cl==61716||cl==62228||cl==62740||cl==63252||cl==63764||cl==64276||cl==64788||cl==65812||cl==66324||cl==67348||cl==67860||cl==68372||cl==68884||cl==69396||cl==69908||cl==70420||cl==72468||cl==74516||cl==75028||cl==76052||cl==77076||cl==77588||cl==78100||cl==78612||cl==79124||cl==79636||cl==81684||cl==82196||cl==82708||cl==83220||cl==83732||cl==84244||cl==84756||cl==87316||cl==87828||cl==88340||cl==89364||cl==90388||cl==91412||cl==92436||cl==92948||cl==93460||cl==94484||cl==94996||cl==95508||cl==98068||cl==98580||cl==101652||cl==102164||cl==102676||cl==103188||cl==103700||cl==104212||cl==105748||cl==108820||cl==109332||cl==110868||cl==111892||cl==112404||cl==112916||cl==113428||cl==113940||cl==114964||cl==115476||cl==115988||cl==116500||cl==117012||cl==117524||cl==120084||cl==120596||cl==121108||cl==121620||cl==123156||cl==124692||cl==125204||cl==127252||cl==127764||cl==128276||cl==128788||cl==129300||cl==129812||cl==130324||cl==131348||cl==131860||cl==133396||cl==133908||cl==134420||cl==134932||cl==136468||cl==136980||cl==138516||cl==140564||cl==141588||cl==142612||cl==144660){cl=Ll(11,pl);if(cl==0){var e=hl,t=pl,n=dl,r=vl,i=ml,s=gl,o=yl,u=bl;try{fl(),cl=-10}catch(a){cl=-11}hl=e,pl=t,dl=n,dl==0?Ul=t:(vl=r,ml=i,gl=s,gl==0?Ul=i:(yl=o,bl=u,Ul=u)),kl(11,pl,cl)}}switch(cl){case 8:case 9:case 10:case 11:ni();break;case 31:oi();break;case 34:li();break;case 44:hi();break;case 17414:case 17478:case 17480:case 17481:case 17482:case 17483:case 17487:case 17488:case 17489:case 17491:case 17492:case 17493:case 17494:case 17496:case 17497:case 17498:case 17499:case 17501:case 17502:case 17505:case 17506:case 17509:case 17510:case 17511:case 17512:case 17513:case 17514:case 17516:case 17517:case 17518:case 17519:case 17520:case 17521:case 17526:case 17527:case 17530:case 17531:case 17533:case 17534:case 17536:case 17537:case 17539:case 17540:case 17541:case 17542:case 17543:case 17544:case 17545:case 17549:case 17554:case 17556:case 17558:case 17559:case 17561:case 17562:case 17563:case 17567:case 17568:case 17569:case 17570:case 17571:case 17572:case 17578:case 17579:case 17580:case 17582:case 17584:case 17586:case 17588:case 17589:case 17590:case 17592:case 17594:case 17600:case 17606:case 17607:case 17608:case 17609:case 17610:case 17611:case 17614:case 17620:case 17621:case 17626:case 17627:case 17628:case 17629:case 17630:case 17632:case 17633:case 17636:case 17637:case 17642:case 17643:case 17644:case 17645:case 17648:case 17656:case 17657:case 17658:case 17659:case 17660:case 17662:case 17664:case 17665:case 17668:case 17669:case 17670:case 17671:case 17674:case 17675:case 17678:case 17682:yi();break;case 141514:di();break;case 141568:mi();break;case 32:case 120:case 124:case 145:case 152:case 165:case 185:case 191:case 226:case 227:case 243:case 253:case 14854:case 14918:case 14920:case 14921:case 14922:case 14923:case 14927:case 14928:case 14929:case 14930:case 14931:case 14932:case 14933:case 14934:case 14936:case 14937:case 14938:case 14939:case 14941:case 14942:case 14944:case 14945:case 14946:case 14949:case 14950:case 14951:case 14952:case 14953:case 14954:case 14956:case 14957:case 14958:case 14959:case 14960:case 14961:case 14966:case 14967:case 14969:case 14970:case 14971:case 14973:case 14974:case 14976:case 14977:case 14979:case 14980:case 14981:case 14982:case 14983:case 14984:case 14985:case 14989:case 14994:case 14996:case 14998:case 14999:case 15001:case 15002:case 15003:case 15007:case 15008:case 15009:case 15010:case 15011:case 15012:case 15018:case 15019:case 15020:case 15022:case 15024:case 15026:case 15028:case 15029:case 15030:case 15032:case 15034:case 15040:case 15046:case 15047:case 15048:case 15049:case 15050:case 15051:case 15054:case 15060:case 15061:case 15064:case 15066:case 15067:case 15068:case 15069:case 15070:case 15072:case 15073:case 15076:case 15077:case 15082:case 15083:case 15084:case 15085:case 15088:case 15092:case 15096:case 15097:case 15098:case 15099:case 15100:case 15102:case 15104:case 15105:case 15108:case 15109:case 15110:case 15111:case 15114:case 15115:case 15118:case 15122:ns();break;case-10:al();break;case-11:nl();break;case 68:ol();break;case 278:el();break;default:Ti()}Cl.endNonterminal("PrimaryExpr",pl)}function Zf(){switch(dl){case 184:Bl(258);break;case 216:Bl(257);break;case 276:Bl(272);break;case 82:case 121:Bl(254);break;case 96:case 244:Bl(93);break;case 119:case 202:case 256:Bl(139);break;case 6:case 70:case 72:case 73:case 74:case 75:case 79:case 80:case 81:case 83:case 84:case 85:case 86:case 88:case 89:case 90:case 91:case 93:case 94:case 97:case 98:case 101:case 102:case 103:case 104:case 105:case 106:case 108:case 109:case 110:case 111:case 112:case 113:case 118:case 122:case 123:case 125:case 126:case 128:case 129:case 131:case 132:case 133:case 134:case 135:case 136:case 137:case 141:case 146:case 148:case 150:case 151:case 153:case 154:case 155:case 159:case 160:case 161:case 162:case 163:case 164:case 170:case 171:case 172:case 174:case 176:case 178:case 180:case 181:case 182:case 186:case 192:case 198:case 199:case 200:case 201:case 203:case 206:case 212:case 213:case 218:case 219:case 220:case 221:case 222:case 224:case 225:case 228:case 229:case 234:case 235:case 236:case 237:case 240:case 248:case 249:case 250:case 251:case 252:case 254:case 257:case 260:case 261:case 262:case 263:case 266:case 267:case 270:case 274:Bl(92);break;default:cl=dl}if(cl==2836||cl==3348||cl==4372||cl==4884||cl==5396||cl==5908||cl==16148||cl==16660||cl==17684||cl==18196||cl==20756||cl==21780||cl==22804||cl==23316||cl==23828||cl==24340||cl==27924||cl==28436||cl==30484||cl==34068||cl==35092||cl==36116||cl==37140||cl==37652||cl==38164||cl==38676||cl==39700||cl==40724||cl==41236||cl==41748||cl==42260||cl==42772||cl==43284||cl==43796||cl==44308||cl==45332||cl==45844||cl==46356||cl==46868||cl==47892||cl==48404||cl==49428||cl==49940||cl==50452||cl==51988||cl==52500||cl==53012||cl==53524||cl==54036||cl==54548||cl==55572||cl==56084||cl==56596||cl==57108||cl==57620||cl==58132||cl==60692||cl==61204||cl==61716||cl==62228||cl==62740||cl==63252||cl==63764||cl==64276||cl==64788||cl==65812||cl==66324||cl==67348||cl==67860||cl==68372||cl==68884||cl==69396||cl==69908||cl==70420||cl==72468||cl==74516||cl==75028||cl==76052||cl==77076||cl==77588||cl==78100||cl==78612||cl==79124||cl==79636||cl==81684||cl==82196||cl==82708||cl==83220||cl==83732||cl==84244||cl==84756||cl==87316||cl==87828||cl==88340||cl==89364||cl==90388||cl==91412||cl==92436||cl==92948||cl==93460||cl==94484||cl==94996||cl==95508||cl==98068||cl==98580||cl==101652||cl==102164||cl==102676||cl==103188||cl==103700||cl==104212||cl==105748||cl==108820||cl==109332||cl==110868||cl==111892||cl==112404||cl==112916||cl==113428||cl==113940||cl==114964||cl==115476||cl==115988||cl==116500||cl==117012||cl==117524||cl==120084||cl==120596||cl==121108||cl==121620||cl==123156||cl==124692||cl==125204||cl==127252||cl==127764||cl==128276||cl==128788||cl==129300||cl==129812||cl==130324||cl==131348||cl==131860||cl==133396||cl==133908||cl==134420||cl==134932||cl==136468||cl==136980||cl==138516||cl==140564||cl==141588||cl==142612||cl==144660){cl=Ll(11,pl);if(cl==0){var e=hl,t=pl,n=dl,r=vl,i=ml,s=gl,o=yl,u=bl;try{fl(),cl=-10}catch(a){cl=-11}hl=e,pl=t,dl=n,dl==0?Ul=t:(vl=r,ml=i,gl=s,gl==0?Ul=i:(yl=o,bl=u,Ul=u)),kl(11,pl,cl)}}switch(cl){case 8:case 9:case 10:case 11:ri();break;case 31:ui();break;case 34:ci();break;case 44:pi();break;case 17414:case 17478:case 17480:case 17481:case 17482:case 17483:case 17487:case 17488:case 17489:case 17491:case 17492:case 17493:case 17494:case 17496:case 17497:case 17498:case 17499:case 17501:case 17502:case 17505:case 17506:case 17509:case 17510:case 17511:case 17512:case 17513:case 17514:case 17516:case 17517:case 17518:case 17519:case 17520:case 17521:case 17526:case 17527:case 17530:case 17531:case 17533:case 17534:case 17536:case 17537:case 17539:case 17540:case 17541:case 17542:case 17543:case 17544:case 17545:case 17549:case 17554:case 17556:case 17558:case 17559:case 17561:case 17562:case 17563:case 17567:case 17568:case 17569:case 17570:case 17571:case 17572:case 17578:case 17579:case 17580:case 17582:case 17584:case 17586:case 17588:case 17589:case 17590:case 17592:case 17594:case 17600:case 17606:case 17607:case 17608:case 17609:case 17610:case 17611:case 17614:case 17620:case 17621:case 17626:case 17627:case 17628:case 17629:case 17630:case 17632:case 17633:case 17636:case 17637:case 17642:case 17643:case 17644:case 17645:case 17648:case 17656:case 17657:case 17658:case 17659:case 17660:case 17662:case 17664:case 17665:case 17668:case 17669:case 17670:case 17671:case 17674:case 17675:case 17678:case 17682:bi();break;case 141514:vi();break;case 141568:gi();break;case 32:case 120:case 124:case 145:case 152:case 165:case 185:case 191:case 226:case 227:case 243:case 253:case 14854:case 14918:case 14920:case 14921:case 14922:case 14923:case 14927:case 14928:case 14929:case 14930:case 14931:case 14932:case 14933:case 14934:case 14936:case 14937:case 14938:case 14939:case 14941:case 14942:case 14944:case 14945:case 14946:case 14949:case 14950:case 14951:case 14952:case 14953:case 14954:case 14956:case 14957:case 14958:case 14959:case 14960:case 14961:case 14966:case 14967:case 14969:case 14970:case 14971:case 14973:case 14974:case 14976:case 14977:case 14979:case 14980:case 14981:case 14982:case 14983:case 14984:case 14985:case 14989:case 14994:case 14996:case 14998:case 14999:case 15001:case 15002:case 15003:case 15007:case 15008:case 15009:case 15010:case 15011:case 15012:case 15018:case 15019:case 15020:case 15022:case 15024:case 15026:case 15028:case 15029:case 15030:case 15032:case 15034:case 15040:case 15046:case 15047:case 15048:case 15049:case 15050:case 15051:case 15054:case 15060:case 15061:case 15064:case 15066:case 15067:case 15068:case 15069:case 15070:case 15072:case 15073:case 15076:case 15077:case 15082:case 15083:case 15084:case 15085:case 15088:case 15092:case 15096:case 15097:case 15098:case 15099:case 15100:case 15102:case 15104:case 15105:case 15108:case 15109:case 15110:case 15111:case 15114:case 15115:case 15118:case 15122:rs();break;case-10:fl();break;case-11:rl();break;case 68:ul();break;case 278:tl();break;default:Ni()}}function el(){Cl.startNonterminal("JSONSimpleObjectUnion",pl),Ol(278),Hl(271),dl!=281&&(Dl(),G()),Ol(281),Cl.endNonterminal("JSONSimpleObjectUnion",pl)}function tl(){Ml(278),Hl(271),dl!=281&&Y(),Ml(281)}function nl(){Cl.startNonterminal("ObjectConstructor",pl),Ol(276),Hl(272);if(dl!=282){Dl(),il();for(;;){if(dl!=41)break;Ol(41),Hl(266),Dl(),il()}}Ol(282),Cl.endNonterminal("ObjectConstructor",pl)}function rl(){Ml(276),Hl(272);if(dl!=282){sl();for(;;){if(dl!=41)break;Ml(41),Hl(266),sl()}}Ml(282)}function il(){Cl.startNonterminal("PairConstructor",pl),Tf(),Ol(49),Hl(266),Dl(),Tf(),Cl.endNonterminal("PairConstructor",pl)}function sl(){Nf(),Ml(49),Hl(266),Nf()}function ol(){Cl.startNonterminal("ArrayConstructor",pl),Ol(68),Hl(270),dl!=69&&(Dl(),G()),Ol(69),Cl.endNonterminal("ArrayConstructor",pl)}function ul(){Ml(68),Hl(270),dl!=69&&Y(),Ml(69)}function al(){Cl.startNonterminal("BlockExpr",pl),Ol(276),Hl(272),Dl(),Ra(),Ol(282),Cl.endNonterminal("BlockExpr",pl)}function fl(){Ml(276),Hl(272),Ua(),Ml(282)}function ll(){Cl.startNonterminal("FunctionDecl",pl),Ol(145),Hl(249),Dl(),Aa(),Hl(22),Ol(34),Hl(94),dl==31&&(Dl(),U()),Ol(37),Hl(148),dl==79&&(Ol(79),Hl(259),Dl(),hs()),Hl(118);switch(dl){case 276:Ol(276),Hl(272),Dl(),Ra(),Ol(282);break;default:Ol(133)}Cl.endNonterminal("FunctionDecl",pl)}function kl(e,t,n){Nl[(t<<4)+e]=n}function Ll(e,t){var n=Nl[(t<<4)+e];return typeof n!="undefined"?n:0}function Al(e,t,r,i,s){throw t>El&&(wl=e,El=t,Sl=r,xl=i,Tl=s),new n(wl,El,Sl,xl,Tl)}function Ol(e){dl==e?(Dl(),Cl.terminal(i.TOKEN[dl],vl,ml>ql?ql:ml),hl=vl,pl=ml,dl=gl,dl!=0&&(vl=yl,ml=bl,gl=0)):Al(vl,ml,0,dl,e)}function Ml(e){dl==e?(hl=vl,pl=ml,dl=gl,dl!=0&&(vl=yl,ml=bl,gl=0)):Al(vl,ml,0,dl,e)}function _l(e){var t=hl,n=pl,r=dl,i=vl,s=ml;dl=e,vl=Rl,ml=Ul,gl=0,La(),hl=t,pl=n,dl=r,dl!=0&&(vl=i,ml=s)}function Dl(){pl!=vl&&(hl=pl,pl=vl,Cl.whitespace(hl,pl))}function Pl(e){var t;for(;;){t=Wl(e);if(t!=22){if(t!=36)break;_l(t)}}return t}function Hl(e){dl==0&&(dl=Pl(e),vl=Rl,ml=Ul)}function Bl(e){gl==0&&(gl=Pl(e),yl=Rl,bl=Ul),cl=gl<<9|dl}function jl(e){dl==0&&(dl=Wl(e),vl=Rl,ml=Ul)}function Fl(e){gl==0&&(gl=Wl(e),yl=Rl,bl=Ul),cl=gl<<9|dl}function Wl(e){var t=!1;Rl=Ul;var n=Ul,r=i.INITIAL[e];for(var s=r&4095;s!=0;){var o,u=n<ql?Il.charCodeAt(n):0;++n;if(u<128)o=i.MAP0[u];else if(u<55296){var a=u>>4,f=a>>5;o=i.MAP1[(u&15)+i.MAP1[(a&31)+i.MAP1[f]]]}else{if(u<56320){var a=n<ql?Il.charCodeAt(n):0;a>=56320&&a<57344&&(++n,u=((u&1023)<<10)+(a&1023)+65536,t=!0)}var l=0,c=5;for(var h=3;;h=c+l>>1){if(i.MAP2[h]>u)c=h-1;else{if(!(i.MAP2[6+h]<u)){o=i.MAP2[12+h];break}l=h+1}if(l>c){o=0;break}}}zl=s;var p=(o<<12)+s-1,d=p>>4;s=i.TRANSITION[(p&15)+i.TRANSITION[d]],s>4095&&(r=s,s&=4095,Ul=n)}r>>=12;if(r==0){Ul=n-1;var a=Ul<ql?Il.charCodeAt(Ul):0;a>=56320&&a<57344&&--Ul,Al(Rl,Ul,zl,-1,-1)}if(t)for(var v=r>>9;v>0;--v){--Ul;var a=Ul<ql?Il.charCodeAt(Ul):0;a>=56320&&a<57344&&--Ul}else Ul-=r>>9;return(r&511)-1}function Xl(e){var t=new Array;if(e>0)for(var n=0;n<284;n+=32){var r=n;for(var s=Vl(n>>>5,e);s!=0;s>>>=1,++r)(s&1)!=0&&(t[t.length]=i.TOKEN[r])}return t}function Vl(e,t){var n=e*3121+t-1,r=n>>1,s=r>>2,o=s>>2;return i.EXPECTED[(n&1)+i.EXPECTED[(r&3)+i.EXPECTED[(s&3)+i.EXPECTED[o]]]]}r(e,t),this.getInput=function(){return Il},this.getOffendingToken=function(e){var t=e.getOffending();return t>=0?i.TOKEN[t]:null},this.getExpectedTokenSet=function(e){var t;return e.getExpected()<0?t=Xl(e.getState()):t=[i.TOKEN[e.getExpected()]],t},this.getErrorMessage=function(e){var t=this.getExpectedTokenSet(e),n=this.getOffendingToken(e),r=Il.substring(0,e.getBegin()),i=r.split("\n"),s=i.length,o=e.getBegin()-i[s-1].length+1,u=e.getEnd()-e.getBegin();return e.getMessage()+(n==null?"":", found "+n)+"\nwhile expecting "+(t.length==1?t[0]:"["+t.join(", ")+"]")+"\n"+(u==0?"":"after successfully scanning "+u+" characters beginning ")+"at line "+s+", column "+o+":\n..."+Il.substring(e.getBegin(),Math.min(Il.length,e.getBegin()+64))+"..."},this.parse_XQuery=function(){Cl.startNonterminal("XQuery",pl),Hl(267),Dl(),o(),Ol(25),Cl.endNonterminal("XQuery",pl)};var cl,hl,pl,dl,vl,ml,gl,yl,bl,wl,El,Sl,xl,Tl,Nl,Cl,Il,ql,Rl,Ul,zl};r.MAP0=[70,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,17,17,17,17,17,17,17,17,17,18,19,20,21,22,23,24,25,26,27,28,29,26,30,30,30,30,30,31,32,33,30,30,34,30,30,35,30,30,30,36,30,30,37,38,39,38,30,38,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,38,38],r.MAP1=[108,124,214,214,214,214,214,214,214,214,214,214,214,214,214,214,156,181,181,181,181,181,214,215,213,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,247,261,277,293,309,355,371,387,423,423,423,415,339,331,339,331,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,440,440,440,440,440,440,440,324,339,339,339,339,339,339,339,339,401,423,423,424,422,423,423,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,338,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,339,423,70,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,17,17,17,17,17,17,17,17,17,18,19,20,21,22,23,24,25,26,27,28,29,26,30,30,30,30,30,31,32,33,30,30,30,30,30,30,30,30,30,30,30,30,30,30,38,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,34,30,30,35,30,30,30,36,30,30,37,38,39,38,30,38,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,38,38,38,38,38,38,38,38,38,38,38,38,30,30,38,38,38,38,38,38,38,69,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69],r.MAP2=[57344,63744,64976,65008,65536,983040,63743,64975,65007,65533,983039,1114111,38,30,38,30,30,38],r.INITIAL=[1,12290,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284],r.TRANSITION=[19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19001,18176,18196,18196,18196,18203,18196,18196,18196,18196,18228,18196,18196,18196,18196,18219,18196,18180,45874,19964,19964,19964,21659,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,18244,19964,19964,19964,19964,19964,19964,19964,38971,19964,19964,19964,19964,19964,19964,20680,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19963,19964,19964,19964,19964,19963,19964,19964,32385,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,18423,19964,19964,19964,19964,19576,19964,19964,19964,19964,31351,45726,18265,18278,18290,18302,19964,45732,28425,19964,19964,19964,21659,19964,19964,19964,45156,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,21127,19964,18325,19964,19964,19964,18244,19964,19964,19964,19964,19964,19964,19964,38971,19964,19964,19964,19964,19964,19964,20680,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19963,19964,19964,19964,19964,19963,19964,19964,32385,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,18777,18342,19964,19964,19964,21208,19964,19964,18309,18473,18361,19964,19964,19964,19964,19964,18398,18411,29735,19964,19964,19964,21659,19964,19964,45481,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,27311,19964,19964,19964,18244,19964,19964,19964,19964,19964,19964,19964,38971,19964,19964,19964,19964,19964,19964,20680,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19963,19964,19964,19964,19964,19963,19964,19964,32385,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,18551,18499,19964,19964,19964,34351,19964,19964,37600,19964,31351,46136,18442,18467,18458,18489,18520,18539,28425,19964,19964,19964,21891,19964,19964,20611,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,36458,19964,19964,19964,18244,19964,19964,19964,19964,19964,19964,19964,38971,19964,19964,19964,19964,19964,19964,20680,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,18578,19964,19964,19964,19964,19964,19964,19964,19964,19964,18597,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19963,19964,19964,19964,19964,19963,19964,19964,32385,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,18423,46372,19964,19964,19964,20465,46377,19964,41089,19964,18616,38671,18647,19964,18654,19964,18670,18683,28425,19964,19964,19964,21659,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,18244,19964,19964,19964,19964,19964,19964,19964,38971,19964,19964,19964,19964,19964,19964,20680,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19963,19964,19964,19964,19964,19963,19964,19964,32385,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,18423,19964,19964,19964,19964,19576,18711,19964,19964,19964,31011,19964,19964,18730,19964,19964,18752,18765,28425,19964,19964,19964,21659,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,18244,19964,19964,19964,19964,19964,19964,19964,38971,19964,19964,19964,19964,19964,19964,20680,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19963,19964,19964,19964,19964,19963,19964,19964,32385,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,18423,19964,19964,19964,19964,19576,19964,19964,19964,19964,34247,19964,19964,19964,19964,19964,19964,19586,29775,19964,19964,19964,21659,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,18244,19964,19964,19964,19964,19964,19964,19964,27304,19964,19964,19964,19964,19964,19964,21693,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19963,19964,19964,19964,19964,19963,19964,19964,32385,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,18824,18793,19964,19964,19964,38821,19964,19964,20128,18736,21058,19964,19964,19964,19964,19964,19122,18812,33767,19964,19964,19964,21659,19964,19964,40887,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,20125,45886,19964,19964,18244,19964,19964,19964,19964,19964,19964,19964,38971,19964,19964,19964,19964,19964,19964,20680,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19963,19964,19964,19964,19964,19963,19964,19964,32385,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,18695,18855,18930,18930,18930,18862,18925,18930,18935,18897,18840,18960,18878,18891,18913,18951,18976,18989,28425,19964,19964,19964,25695,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19017,19964,19964,19964,19964,19964,19964,19964,38971,19964,19964,19964,19964,19964,19964,20680,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19963,19964,19964,19964,19964,19963,19964,19964,32385,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,18423,19068,19964,19964,19964,20208,46487,19964,32563,46493,31351,19067,19964,19038,19044,19060,19084,19094,19110,19964,19964,19964,22936,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19582,19964,19964,19964,19964,19964,19964,19964,38971,19964,19964,19964,19964,19964,19964,20680,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19963,19964,19964,19964,19964,19963,19964,19964,32385,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,18423,45342,19964,19964,19964,19576,19964,19964,19964,41222,43119,31656,19167,19153,19170,19138,37787,19186,28425,19964,19964,19964,21659,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,18244,19964,19964,19964,19964,19964,19964,19964,38971,19964,19964,19964,19964,19964,19964,40483,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19963,19964,19964,19964,19964,19963,19964,19964,32385,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,18423,19964,19964,19964,19964,19576,19964,19964,19964,42610,43332,46180,19227,19247,19227,19261,46180,19231,28425,19964,19964,19964,21659,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,18244,19964,33222,19964,19964,19964,19964,19964,38971,19964,19964,19964,19964,19964,19964,20680,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19963,19964,19964,19964,19964,19963,19964,19964,32385,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,18423,19318,19964,19964,19964,19576,19284,19964,36109,19314,43835,19334,19394,19399,19399,19415,19964,19346,28425,19964,19964,19964,21659,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,18244,19964,19964,19964,19964,19964,19964,19964,38971,19964,19964,19964,19964,19964,19964,20680,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19963,19964,19964,19964,19964,19963,19964,19964,32385,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19438,19964,19964,19964,19964,19576,19964,19964,19964,19964,31351,34760,19461,19481,19461,19495,34760,19465,19518,19964,19964,19964,21659,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,24615,40795,31245,28302,46221,19547,19569,19964,19602,19964,18244,19623,33222,24460,19964,19964,19964,19964,21509,38487,19689,19689,35856,25105,31245,19840,22099,38220,22099,35266,29320,21370,19964,19964,19964,19964,19964,19964,20458,19648,19964,19964,19669,19689,19689,19689,19689,35856,31245,31245,31245,31245,22096,22099,22099,22099,22099,29314,28013,33491,38998,19964,19964,19964,19964,32536,19964,19964,41799,19688,19689,19689,24898,24115,31245,31245,31245,30352,42412,22099,22099,22099,32147,28013,19964,19964,19964,19964,19706,19964,24619,35625,19689,19689,31245,19725,31245,22445,22098,39548,22099,24525,29188,19964,19964,19747,19964,34033,19689,19689,19763,31245,46092,41840,22099,29852,41849,41022,19964,39646,19781,38245,19689,23346,19798,31246,45980,22099,41851,19820,45624,40465,29413,42651,19837,41008,24524,29192,19856,33899,37333,41452,26125,19875,27999,19921,19950,44584,26552,35261,31427,28114,24594,31424,27393,19981,35369,23220,39288,31314,38032,24714,29196,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,18423,19964,19964,19964,19964,19576,19964,19964,19964,24196,31351,19964,19964,19964,19964,19964,20354,20367,20020,19964,19964,19964,21659,19964,19964,20056,19964,19964,19964,19964,19964,19964,19964,24615,40795,31245,28302,46221,20076,19569,19964,19964,19964,18244,19964,19964,19964,19964,19964,19964,19964,21509,19689,19689,19689,35856,31245,31245,19840,22099,22099,22099,46221,29320,21370,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19669,19689,19689,19689,19689,35856,31245,31245,31245,31245,22096,22099,22099,22099,22099,29314,28013,19964,19964,19964,19964,19964,19964,19964,19964,19964,19689,19689,19689,19689,23345,31245,31245,31245,31245,26610,22099,22099,22099,22099,29314,28013,19964,19964,19964,19964,19964,19964,24619,19689,19689,19689,31245,31245,31245,22445,22098,22099,22099,24525,29188,19964,19964,19964,19964,34033,19689,19689,23346,31245,31245,41840,22099,22099,41849,29195,19964,19964,19964,20428,19689,23346,31245,31246,22099,22099,41851,19964,19964,34032,19689,19765,31245,35879,24524,29192,34030,19689,31245,35879,26125,20101,19764,24596,33841,24618,35853,35877,31427,28114,24594,31424,28113,24594,35369,23220,39288,31314,38032,24714,29196,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,18423,20121,19964,19964,19964,20510,19964,19964,19964,19964,31351,44933,20144,20167,20189,20201,44934,20151,28425,19964,19964,19964,21659,19964,19964,19964,46401,19964,27585,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,18244,19964,19964,19964,19964,19964,19964,19964,38971,19964,19964,19964,19964,19964,19964,20680,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19963,19964,19964,19964,19964,19963,19964,19964,32385,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,18423,20224,19964,19964,19964,19576,19964,19964,19964,45386,31351,19964,19964,19964,19964,19964,44638,44651,20241,19964,19964,19964,21659,19964,19964,20277,19964,19964,19964,19964,19964,19964,19964,24615,40795,31245,28302,46221,20297,19569,19964,19964,19964,18244,19964,36130,20322,19964,19964,19964,19964,21509,19689,19689,19689,35856,31245,31245,19840,22099,22099,22099,46221,29320,20340,19964,19964,19964,19964,19964,45613,19964,19964,19964,19964,19669,19689,19689,19689,19689,35856,31245,31245,31245,31245,22096,22099,22099,22099,22099,29314,27760,20400,19964,19964,19964,19964,24238,19964,19964,37831,19689,19689,19689,19689,23345,31245,31245,31245,31245,27708,22099,22099,22099,22099,29314,38958,19964,19964,19964,19964,19964,24848,20426,19689,19689,19689,31245,31245,31245,41537,22098,22099,22099,24525,29188,19964,19964,19964,19964,39358,19689,19689,23346,31245,31245,41141,22099,22099,41849,29195,19964,19964,19964,20428,19689,23346,31245,31246,22099,22099,41851,19964,19964,34032,19689,19765,31245,35879,24524,29192,34030,19689,31245,35879,26125,20101,19764,24596,33841,24618,35853,35877,31427,28114,24594,31424,28113,24594,35369,23220,39288,31314,38032,24714,29196,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,18423,20173,19964,19964,19964,23706,26163,19964,19964,20444,31351,30193,34344,20481,20487,20503,19964,34441,20526,19964,19964,19964,25957,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,22290,41429,19964,20563,20568,20916,20584,19964,19964,19964,20606,19964,19964,19964,19964,19964,19964,19964,21426,41428,41428,41428,20925,19964,19964,20680,20857,20857,20857,20568,20633,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,41425,41428,41428,41428,41428,20925,19964,19964,19964,19964,20854,20857,20857,20857,20857,20627,20649,19964,19964,19964,19964,19964,19964,19964,19964,19964,41428,41428,41428,41428,21433,19964,19964,19964,19964,35582,20857,20857,20857,20857,20627,20649,19964,19964,19964,19964,19964,19964,22294,41428,41428,41428,19964,19964,19964,19964,20856,20857,20857,20715,20671,19964,19964,19964,19964,20774,41428,41428,21434,19964,19964,35581,20857,20857,20696,20678,19964,19964,19964,41425,41428,21434,19964,20225,20857,20857,20698,19964,19964,20773,41428,21436,19964,20855,20714,20675,20771,41428,19964,20855,20731,41419,21435,35583,20758,22293,20922,20853,20793,20821,35581,20790,20820,35581,20809,20847,20837,20873,20903,20889,20679,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,18423,43187,19964,19964,19964,19576,20948,19964,19964,20943,42771,20964,20972,20972,20972,20988,19964,21011,28425,19964,19964,19964,21659,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,18244,19964,19964,19964,19964,19964,19964,19964,38971,19964,19964,19964,19964,19964,19964,20680,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,36571,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,32413,21048,19964,19964,19964,19964,21074,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,34295,19964,19964,19964,19964,19964,29197,38974,19964,19964,19964,19964,19964,19964,25279,19964,19964,19964,19964,19964,19964,19964,19964,19964,24951,19964,19964,19964,19964,19964,41032,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19963,19964,19964,19964,19964,19963,19964,19964,32385,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,18423,19964,19964,19964,19964,19576,19964,19964,19964,19964,40905,46341,21094,21094,21094,21103,27774,27787,28425,19964,19964,19964,21659,19964,19964,19964,19964,19964,46434,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,21126,19964,19964,19964,18244,19964,19964,19964,19964,19964,19964,19964,38971,19964,19964,19964,19964,19964,19964,20680,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19963,19964,19964,19964,19964,19963,19964,19964,32385,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19358,37044,19964,19964,19964,19576,19964,19964,19964,19964,31351,19292,21143,21143,21143,21152,19964,19298,28480,19964,19964,19964,21659,19964,19964,19964,19964,19964,37776,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,21175,19964,19964,19964,18244,19964,19964,19964,19964,19964,19964,19964,38971,19964,19964,19964,19964,19964,19964,20680,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19963,19964,19964,19964,19964,19963,19964,19964,32385,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19198,19207,19964,19964,19964,21159,19964,19964,19964,19964,31351,26133,21192,21192,21192,21201,19964,26139,21224,19964,19964,19964,21659,19964,19964,19964,19964,19964,45503,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,26197,19964,19964,19964,18244,19964,19964,19964,19964,19964,19964,19964,38971,19964,19964,19964,19964,19964,19964,20680,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19963,19964,19964,19964,19964,19963,19964,19964,34881,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,21288,19964,19964,19964,19964,19576,21238,19964,19964,37291,44678,19964,19964,19964,21242,21258,37290,21276,28425,19964,19964,19964,21659,19964,19964,19964,20261,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,36778,19964,21304,19964,19964,19964,18244,19964,19964,19964,19964,19964,19964,19964,38971,19964,19964,19964,19964,19964,19964,20680,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19963,19964,19964,19964,19964,19963,19964,19964,32385,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,18423,19964,19964,19964,19964,19576,19964,19964,19964,19964,31351,19964,19964,19964,19964,19964,45431,21321,28425,19964,19964,19964,21659,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,18244,19964,19964,19964,19964,19964,19964,19964,38971,19964,19964,19964,19964,19964,19964,20680,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19963,19964,19964,19964,19964,19963,19964,19964,32385,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,20379,19964,19964,19964,19964,20995,19964,19964,19964,19964,31351,19964,19964,19964,19964,23975,22705,31603,20020,19964,19964,19964,21659,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,24615,40795,31245,28302,46221,19547,21363,19964,19964,19964,18244,19964,19964,19964,19964,19964,19964,19964,39389,19689,19689,19689,35856,31245,31245,24505,22099,22099,22099,46221,29320,21370,19964,19964,19964,19964,19964,37450,19964,19964,19964,19964,19669,19689,19689,19689,19689,35856,31245,31245,31245,31245,22096,22099,22099,22099,22099,29314,25067,21387,19964,19964,19964,19964,24238,19964,19964,19964,19689,19689,19689,19689,23345,31245,31245,31245,31245,26610,22099,22099,22099,22099,29314,38958,19964,19964,19964,42019,19964,19964,20426,19689,19689,19689,31245,31245,31245,25364,22098,22099,22099,24525,29188,19964,19964,19964,19964,39358,19689,19689,23346,31245,31245,41141,22099,22099,41849,29195,19964,38814,19964,20428,19689,23346,31245,31246,22099,22099,41851,19964,19964,34032,19689,19765,31245,35879,24524,29192,34030,19689,31245,35879,26125,20101,19764,24596,33841,24618,35853,35877,31427,28114,24594,31424,28113,24594,35369,23220,39288,31314,38032,24714,29196,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,20379,19964,19964,19964,19964,20995,19964,19964,19964,19964,31351,19964,19964,19964,19964,23975,22705,31603,20020,19964,19964,19964,21659,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,24615,40795,31245,28302,46221,19547,21363,19964,19964,19964,18244,19964,19964,19964,19964,19964,19964,19964,39389,19689,19689,19689,35856,31245,31245,24505,22099,22099,22099,46221,29320,21370,19964,19964,19964,19964,19964,37450,19964,19964,19964,19964,19669,19689,19689,19689,19689,35856,31245,31245,31245,31245,22096,22099,22099,22099,22099,29314,25067,21387,19964,19964,19964,19964,24238,19964,19964,19964,19689,19689,19689,19689,23345,31245,31245,31245,31245,26610,22099,22099,22099,22099,29314,38958,19964,19964,19964,19964,19964,19964,20426,19689,19689,19689,31245,31245,31245,25364,22098,22099,22099,24525,29188,19964,19964,19964,19964,39358,19689,19689,23346,31245,31245,41141,22099,22099,41849,29195,19964,19964,19964,20428,19689,23346,31245,31246,22099,22099,41851,19964,19964,34032,19689,19765,31245,35879,24524,29192,34030,19689,31245,35879,26125,20101,19764,24596,33841,24618,35853,35877,31427,28114,24594,31424,28113,24594,35369,23220,39288,31314,38032,24714,29196,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,20379,19964,19964,19964,19964,20995,19964,19964,19964,19964,31351,19964,19964,19964,19964,23975,22705,31603,20020,19964,19964,19964,21659,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,24615,40795,31245,28302,46221,19547,21363,19964,19964,19964,18244,19964,19964,19964,19964,19964,19964,19964,39389,19689,19689,19689,35856,31245,31245,24505,22099,22099,22099,46221,29320,21370,19964,19964,19964,19964,19964,37450,37683,19964,19964,19964,19669,19689,19689,19689,19689,35856,31245,31245,31245,31245,22096,22099,22099,22099,22099,29314,25067,21387,19964,19964,19964,19964,24238,19964,19964,19964,19689,19689,19689,19689,23345,31245,31245,31245,31245,26610,22099,22099,22099,22099,29314,38958,19964,19964,19964,19964,19964,19964,20426,19689,19689,19689,31245,31245,31245,25364,22098,22099,22099,24525,29188,19964,19964,19964,19964,39358,19689,19689,23346,31245,31245,41141,22099,22099,41849,29195,19964,19964,19964,20428,19689,23346,31245,31246,22099,22099,41851,19964,19964,34032,19689,19765,31245,35879,24524,29192,34030,19689,31245,35879,26125,20101,19764,24596,33841,24618,35853,35877,31427,28114,24594,31424,28113,24594,35369,23220,39288,31314,38032,24714,29196,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,20379,19964,19964,19964,19964,20995,19964,19964,19964,19964,31351,19964,19964,19964,19964,23975,22705,31603,20020,19964,19964,19964,21659,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,24615,40795,31245,28302,46221,19547,21363,19964,19964,19964,18244,19964,19964,19964,19964,19964,19964,19964,39389,19689,19689,19689,35856,31245,31245,24505,22099,22099,22099,46221,29320,21370,19964,19964,19964,19964,19964,37450,19964,19964,19964,19964,19669,19689,19689,19689,19689,35856,31245,31245,31245,31245,22096,22099,22099,22099,22099,29314,25067,21387,19964,19964,19964,19964,21413,19964,19964,19964,19689,19689,19689,19689,23345,31245,31245,31245,31245,26610,22099,22099,22099,22099,29314,38958,19964,19964,19964,19964,19964,19964,20426,19689,19689,19689,31245,31245,31245,25364,22098,22099,22099,24525,29188,19964,19964,19964,19964,39358,19689,19689,23346,31245,31245,41141,22099,22099,41849,29195,19964,19964,19964,20428,19689,23346,31245,31246,22099,22099,41851,19964,19964,34032,19689,19765,31245,35879,24524,29192,34030,19689,31245,35879,26125,20101,19764,24596,33841,24618,35853,35877,31427,28114,24594,31424,28113,24594,35369,23220,39288,31314,38032,24714,29196,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,20379,19964,19964,19964,19964,20995,19964,19964,19964,19964,31351,19964,19964,19964,19964,23975,22705,31603,20020,19964,19964,19964,21659,19964,19964,21452,19964,19964,19964,19964,19964,19964,19964,24615,40795,31245,28302,46221,19547,21363,19964,19964,19964,18244,19964,19653,19964,19964,19964,19964,19964,39389,19689,19689,19689,35856,31245,31245,24505,22099,22099,22099,46221,29320,21370,19964,19964,19964,19964,19964,37450,19964,19964,19964,19964,19669,19689,19689,19689,19689,35856,31245,31245,31245,31245,22096,22099,22099,22099,22099,29314,25067,21387,19964,19964,19964,19964,24238,19964,19964,19964,19689,19689,19689,19689,23345,31245,31245,31245,31245,26610,22099,22099,22099,22099,29314,38958,19964,19964,19964,19964,19964,19964,20426,19689,19689,19689,31245,31245,31245,25364,22098,22099,22099,24525,29188,19964,19964,19964,19964,39358,19689,19689,23346,31245,31245,41141,22099,22099,41849,29195,19964,19964,19964,20428,19689,23346,31245,31246,22099,22099,41851,19964,19964,34032,19689,19765,31245,35879,24524,29192,34030,19689,31245,35879,26125,20101,19764,24596,33841,24618,35853,35877,31427,28114,24594,31424,28113,24594,35369,23220,39288,31314,38032,24714,29196,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,20379,19964,19964,19964,19964,20995,19964,19964,19964,19964,31351,19964,19964,19964,19964,23975,22705,31603,20020,19964,19964,19964,21659,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,24615,40795,31245,28302,46221,19547,21363,19964,19964,19964,18244,19964,19964,19964,19964,19964,19964,19964,39389,19689,19689,19689,35856,31245,31245,24505,22099,22099,22099,46221,29320,21370,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19669,19689,19689,19689,19689,35856,31245,31245,31245,31245,22096,22099,22099,22099,22099,29314,28013,19964,19964,19964,19964,19964,19964,19964,19964,19964,19689,19689,19689,19689,23345,31245,31245,31245,31245,26610,22099,22099,22099,22099,29314,28013,19964,19964,19964,19964,19964,19964,24619,19689,19689,19689,31245,31245,31245,22445,22098,22099,22099,24525,29188,19964,19964,19964,19964,34033,19689,19689,23346,31245,31245,41840,22099,22099,41849,29195,19964,19964,19964,20428,19689,23346,31245,31246,22099,22099,41851,19964,19964,34032,19689,19765,31245,35879,24524,29192,34030,19689,31245,35879,26125,20101,19764,24596,33841,24618,35853,35877,31427,28114,24594,31424,28113,24594,35369,23220,39288,31314,38032,24714,29196,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,20379,19964,19964,19964,19964,20995,19964,19964,19964,19964,31351,19964,19964,19964,19964,23975,22705,31603,20020,19964,19964,19964,21659,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,24615,40795,31245,28302,46221,19547,21472,19964,19964,19964,18244,19964,19964,19964,19964,19964,19964,19964,39389,19689,19689,19689,35856,31245,31245,24505,22099,22099,22099,46221,29320,21370,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19669,19689,19689,19689,19689,35856,31245,31245,31245,31245,22096,22099,22099,22099,22099,29314,28013,19964,19964,19964,19964,19964,19964,19964,19964,19964,19689,19689,19689,19689,23345,31245,31245,31245,31245,26610,22099,22099,22099,22099,29314,28013,19964,19964,19964,19964,19964,19964,24619,19689,19689,19689,31245,31245,31245,22445,22098,22099,22099,24525,29188,19964,19964,19964,19964,34033,19689,19689,23346,31245,31245,41840,22099,22099,41849,29195,19964,19964,19964,20428,19689,23346,31245,31246,22099,22099,41851,19964,19964,34032,19689,19765,31245,35879,24524,29192,34030,19689,31245,35879,26125,20101,19764,24596,33841,24618,35853,35877,31427,28114,24594,31424,28113,24594,35369,23220,39288,31314,38032,24714,29196,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,20379,19964,19964,19964,19964,20995,19964,19964,19964,19964,31351,19964,19964,19964,19964,23975,22705,31603,21496,19964,19964,19964,21659,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,24615,40795,31245,28302,46221,19547,21363,19964,19964,19964,18244,19964,19964,19964,19964,19964,19964,19964,39389,19689,19689,19689,35856,31245,31245,24505,22099,22099,22099,46221,29320,21370,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19669,19689,19689,19689,19689,35856,31245,31245,31245,31245,22096,22099,22099,22099,22099,29314,28013,19964,19964,19964,19964,19964,19964,19964,19964,19964,19689,19689,19689,19689,23345,31245,31245,31245,31245,26610,22099,22099,22099,22099,29314,28013,19964,19964,19964,19964,19964,19964,24619,19689,19689,19689,31245,31245,31245,22445,22098,22099,22099,24525,29188,19964,19964,19964,19964,34033,19689,19689,23346,31245,31245,41840,22099,22099,41849,29195,19964,19964,19964,20428,19689,23346,31245,31246,22099,22099,41851,19964,19964,34032,19689,19765,31245,35879,24524,29192,34030,19689,31245,35879,26125,20101,19764,24596,33841,24618,35853,35877,31427,28114,24594,31424,28113,24594,35369,23220,39288,31314,38032,24714,29196,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,20379,19964,19964,19964,19964,20995,19964,19964,19964,19964,31351,37019,19964,19964,19964,23975,22705,31603,20020,19964,19964,19964,21659,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,24615,40795,31245,28302,46221,19547,21363,19964,19964,19964,18244,19964,19964,19964,19370,19964,19964,19964,39389,19689,19689,19689,35856,31245,31245,24505,22099,22099,22099,46221,29320,21370,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19669,19689,19689,19689,19689,35856,31245,31245,31245,31245,22096,22099,22099,22099,22099,29314,28013,19964,19964,19964,19964,19964,19964,19964,19964,19964,19689,19689,19689,19689,23345,31245,31245,31245,31245,26610,22099,22099,22099,22099,29314,28013,19964,19964,19964,19964,19964,19964,24619,19689,19689,19689,31245,31245,31245,22445,22098,22099,22099,24525,29188,19964,19964,19964,19964,34033,19689,19689,23346,31245,31245,41840,22099,22099,41849,29195,19964,19964,19964,20428,19689,23346,31245,31246,22099,22099,41851,19964,19964,34032,19689,19765,31245,35879,24524,29192,34030,19689,31245,35879,26125,20101,19764,24596,33841,24618,35853,35877,31427,28114,24594,31424,28113,24594,35369,23220,39288,31314,38032,24714,29196,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,20379,19964,19964,19964,19964,20995,19964,19964,19964,19964,31351,19964,19964,19964,19964,44228,25495,25507,20020,19964,19964,19964,21659,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,24615,40795,31245,28302,46221,19547,21363,19964,19964,19964,18244,19964,19964,19964,19964,19964,19964,19964,39389,19689,19689,19689,35856,31245,31245,24505,22099,22099,22099,46221,29320,21370,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19669,19689,19689,19689,19689,35856,31245,31245,31245,31245,22096,22099,22099,22099,22099,29314,28013,19964,19964,19964,19964,19964,19964,19964,19964,19964,19689,19689,19689,19689,23345,31245,31245,31245,31245,26610,22099,22099,22099,22099,29314,28013,19964,19964,19964,19964,19964,19964,24619,19689,19689,19689,31245,31245,31245,22445,22098,22099,22099,24525,29188,19964,19964,19964,19964,34033,19689,19689,23346,31245,31245,41840,22099,22099,41849,29195,19964,19964,19964,20428,19689,23346,31245,31246,22099,22099,41851,19964,19964,34032,19689,19765,31245,35879,24524,29192,34030,19689,31245,35879,26125,20101,19764,24596,33841,24618,35853,35877,31427,28114,24594,31424,28113,24594,35369,23220,39288,31314,38032,24714,29196,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,20379,19964,19964,19964,19964,20995,19964,19964,19964,19964,31351,19964,19964,19964,19964,23975,22705,31603,20020,19964,19964,19964,21659,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,24615,40795,31245,28302,46221,19547,21363,19964,19964,19964,18244,19964,19964,19964,19964,19964,19964,19964,39389,19689,19689,19689,35856,31245,31245,24505,22099,22099,22099,46221,29320,21370,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19669,19689,19689,19689,19689,35856,31245,31245,31245,31245,22096,22099,22099,22099,22099,29314,28013,19964,19964,19964,19964,19964,19964,19964,19964,19964,19689,19689,19689,19689,23345,31245,31245,31245,31245,26610,22099,22099,22099,22099,29314,28013,19964,19964,19964,19964,19964,19964,24619,19689,19689,19689,31245,31245,31245,22445,22098,22099,22099,24525,29188,19964,19964,40080,19964,34033,19689,19689,23346,31245,31245,41840,22099,22099,41849,29195,19964,19964,19964,20428,19689,23346,31245,31246,22099,22099,41851,19964,19964,34032,19689,19765,31245,35879,24524,29192,34030,19689,31245,35879,26125,20101,19764,24596,33841,24618,35853,35877,31427,28114,24594,31424,28113,24594,35369,23220,39288,31314,38032,24714,29196,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,21532,19964,19964,19964,19964,20995,19964,19964,19964,19964,31351,19964,19964,19964,19964,23975,22705,31603,20020,19964,19964,19964,21659,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,24615,40795,31245,28302,46221,19547,21363,19964,19964,19964,18244,19964,19964,19964,19964,19964,19964,19964,39389,19689,19689,19689,35856,31245,31245,24505,22099,22099,22099,46221,29320,21370,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19669,19689,19689,19689,19689,35856,31245,31245,31245,31245,22096,22099,22099,22099,22099,29314,28013,19964,19964,19964,19964,19964,19964,19964,19964,19964,19689,19689,19689,19689,23345,31245,31245,31245,31245,26610,22099,22099,22099,22099,29314,28013,19964,19964,19964,19964,19964,19964,24619,19689,19689,19689,31245,31245,31245,22445,22098,22099,22099,24525,29188,19964,19964,19964,19964,34033,19689,19689,23346,31245,31245,41840,22099,22099,41849,29195,19964,19964,19964,20428,19689,23346,31245,31246,22099,22099,41851,19964,19964,34032,19689,19765,31245,35879,24524,29192,34030,19689,31245,35879,26125,20101,19764,24596,33841,24618,35853,35877,31427,28114,24594,31424,28113,24594,35369,23220,39288,31314,38032,24714,29196,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,18423,19964,19964,19964,19964,19576,19964,19964,19964,19964,31351,20739,21553,21573,21595,21607,20742,21557,28425,19964,19964,19964,21659,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,18244,19964,19964,24969,19964,19964,19964,19964,38971,19964,19964,19964,19964,19964,19964,20680,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19958,19964,19964,19964,19964,19964,19964,19964,19963,19964,19964,19964,19964,19963,19964,19964,32385,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,18423,19964,19964,19964,19964,19576,19964,19964,19964,19964,31351,19964,19964,19964,19964,19964,19964,19586,28425,19964,19964,19964,21659,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,18244,19964,19964,19964,19964,19964,19964,19964,38971,19964,19964,19964,19964,19964,19964,20680,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19963,19964,19964,19964,19964,19963,19964,19964,32385,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,18423,19964,19964,19964,19964,19576,19964,19964,19964,19964,31351,45827,19964,21630,21636,21652,41655,24553,28425,19964,19964,19964,21659,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,18244,19964,19964,19964,19964,19964,19964,19964,38971,19964,19964,19964,19964,19964,19964,20680,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,21675,19964,19964,19964,19964,21692,19964,19964,34862,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,20379,20324,19964,19964,19964,20995,21709,21740,20927,21725,21757,21788,21797,21813,21827,21839,21855,21868,20020,21884,46494,19964,21907,42177,42133,20384,21938,21954,21970,34413,21999,21981,22036,22051,43532,22081,22116,22132,22169,22199,19964,19964,19964,22215,22252,43778,34267,19964,22270,19964,22310,22327,19689,19689,30586,35856,31245,31245,22350,22099,22099,35881,24398,29320,21370,28400,19964,22366,28382,36712,37450,22386,19964,31106,31720,22405,35473,19689,27661,22978,37716,22440,31245,22461,22487,26113,44104,22099,43606,35358,22530,39585,21387,22586,29834,22605,37501,24238,19964,35424,22626,23509,32060,24086,22643,43241,22662,31245,22692,33957,26610,22728,25562,39101,33049,31963,39991,41288,22756,19964,22781,41944,19964,22797,39201,19689,22834,22863,31245,25446,27506,22913,22099,33202,43366,43808,22929,22952,29578,43453,26881,40666,23022,23346,23046,23105,41141,23127,39749,23649,23181,19964,34316,19964,20428,23197,23214,23239,23262,39666,39686,41851,19964,19964,34032,19689,19765,31245,35879,24524,29192,34030,19689,31245,35879,26125,20101,19764,24596,42522,23300,41831,32910,26701,23326,31825,30394,23342,24594,27382,23220,39288,31314,38032,24714,29196,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,20379,19964,23362,19964,19964,20995,19964,19964,19964,19964,38138,23381,19964,23415,23421,23437,23453,23465,20020,19964,19964,19964,21659,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,24615,40795,31245,28302,24442,19547,21363,19964,19964,19964,18244,19964,19964,19964,19964,19964,19964,19964,39389,19689,19689,19689,35856,31245,31245,24505,22099,22099,22099,46221,29320,21370,19964,19964,19964,19964,35603,37450,23481,19964,23484,19964,19669,19689,19689,19689,23502,35856,31245,31245,31245,23525,22096,22099,22099,22099,23547,29314,25067,21387,19964,19964,19964,19964,24238,19964,19964,19964,19689,19689,19689,19689,23345,31245,31245,31245,31245,26610,22099,22099,22099,22099,29314,38958,19964,33531,19964,36058,19964,23570,23587,19689,19689,44035,23616,31245,31245,30694,23640,22099,22099,37412,29188,19964,19964,19964,19964,39358,19689,19689,23346,31245,31245,41141,22099,22099,41849,29195,19964,19964,19964,20428,19689,23346,31245,31246,22099,22099,41851,19964,19964,34032,19689,19765,31245,35879,24524,29192,34030,19689,31245,35879,26125,20101,19764,24596,33841,24618,35853,35877,30952,27958,23665,23699,28113,24594,35369,23220,39288,31314,38032,24714,29196,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,20379,19964,23722,19964,19964,20995,19964,23758,19964,23776,41116,23795,23804,23820,23835,23847,23863,23876,20020,19964,19964,19022,43785,19964,18796,19964,19964,23892,19964,19964,19964,20033,19782,41063,21516,28932,28302,31854,23910,23940,19709,19964,19964,23964,19964,23991,19964,24010,26964,24035,24054,24075,43990,19689,19689,32159,24109,31245,24505,24131,24170,22099,46221,29320,21370,24190,19964,19964,24212,19964,24231,36150,24258,19964,19964,24295,42248,36087,40367,19689,20306,45796,24351,24371,31245,22545,23081,24393,34568,22099,29314,25067,21387,19964,22311,19964,22627,24238,19964,19964,19964,19689,19689,19689,32632,23345,31245,31245,31245,24414,26610,22099,22099,22099,24437,43752,38958,24458,19964,31472,19964,24279,19964,20426,19689,40777,19689,31245,31245,25343,25364,22098,22099,44833,24525,29188,19964,40043,19964,19964,24476,19689,43864,23346,31245,24502,41141,22099,24521,41150,24541,19964,40591,29794,24877,38361,23346,24569,24588,35051,42368,41851,19964,19964,24612,19689,25030,31245,24635,46001,29192,34030,19689,31245,35879,26125,20101,19764,24596,33841,24618,35853,35877,26746,24653,24694,31424,28113,24594,35369,23220,39288,31314,27830,24710,29196,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,20379,19964,18426,19964,19964,20995,19964,24734,19268,19964,33345,24753,24762,24778,24792,24801,24817,24829,20020,19964,19964,19964,21659,19964,19964,19964,19964,19964,19964,24847,24845,19964,24864,24871,24893,43274,43065,46221,19547,21363,19964,24914,24967,18244,42103,19964,26075,19964,35004,24985,19632,42641,35209,25017,27881,31975,25053,25097,22471,25121,25140,25180,24335,29320,21370,19964,19964,32194,25202,28705,37450,19964,19964,19964,23390,19669,19689,19689,39703,19689,35856,31245,31245,33940,31245,22096,22099,22099,22100,22099,35790,25219,25258,19964,19964,34406,25274,24238,19964,19964,25295,32029,45193,19689,19689,25316,25337,25359,31245,42792,29287,25380,25400,22099,38452,29314,38958,19964,19964,19964,19964,36503,19964,25419,19689,36002,19689,25443,31245,36954,25364,25462,22099,36035,24174,29188,42851,41965,19964,29708,39358,37166,34813,23346,43305,25482,41141,39242,30939,41849,29195,25523,19964,19964,20428,19689,23346,31245,31246,22099,22099,41851,19964,25542,34032,19689,29098,31245,25560,40849,29192,34030,19689,31245,35879,25578,20101,19764,24596,35531,35375,25321,23273,26276,22818,25602,25625,28113,24594,35369,23220,39288,31314,38032,24714,29196,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,20379,19964,19965,25644,19964,20995,21579,25663,19964,25687,26463,25711,25720,25736,25750,25762,25778,25790,20020,45887,25806,30253,21659,25842,44217,21452,45149,25858,25887,25903,43696,25919,25949,25871,25973,26028,26044,26060,26098,26155,21772,22283,21397,18244,26179,33167,23779,19964,19964,35574,19964,40140,40558,19890,40674,34637,26213,24421,26247,32918,26263,26004,26302,29320,21370,26344,26364,26380,26401,26417,26433,26449,42067,33745,26479,26494,43722,26523,26539,26574,26598,26633,39867,26649,26665,26688,35696,26717,26733,26768,26792,26823,21387,26859,44851,26907,26926,26949,26986,27013,36672,32064,22989,29540,27029,39857,29131,27053,26672,27072,27106,39273,27130,34522,40869,27147,35561,44457,31455,27163,29383,44248,25164,27188,42239,40568,30621,27215,27237,27257,27291,27327,27350,27371,27420,29188,19964,33676,27451,19964,27469,42687,27199,23346,38852,27495,41141,42986,27522,41849,29195,27549,27565,27601,27617,27652,27677,27693,35763,27731,27803,27846,38063,25081,27862,27897,23310,40420,31414,27932,31575,27985,33550,31245,28033,28051,28105,28130,23223,41176,24618,41532,28146,28166,29350,28203,30121,28258,28274,28322,23220,28218,28344,38032,24714,29196,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,20379,19964,19964,28377,19964,20995,28398,28416,21078,26837,28441,28471,19964,28457,28496,28505,28521,28533,20020,19964,19964,28549,21659,19964,19964,19964,19964,22389,19964,19964,21026,22388,19964,28568,28603,28624,44532,30755,28648,21363,23760,19964,19964,28673,19964,19964,19964,25300,33758,26385,19964,41518,44031,19689,19689,27404,31245,31245,24505,37956,22099,22099,46221,29320,21370,19964,19964,19964,19964,19964,37450,19964,19964,24737,19964,19669,19689,19689,38157,19689,35856,31245,31245,30910,31245,22096,22099,22099,31369,22099,29314,25067,21387,19964,19964,19964,19964,24238,19964,28700,19964,19689,19689,26582,19689,23345,31245,31245,28721,31245,26610,22099,22099,28740,22099,29314,38958,19964,19964,19964,19964,32176,19964,20426,19689,19689,28757,31245,31245,28724,25364,22098,22099,28035,24525,29188,19964,19964,19964,19964,39358,19689,19689,23346,31245,31245,41141,22099,22099,41849,29195,19964,19964,19964,20428,19689,23346,31245,31246,22099,22099,41851,42880,19964,34032,27631,28950,31245,31553,24524,29192,34030,19689,31245,35879,26125,20101,19764,24596,33841,24618,35853,35877,31427,28114,24594,31424,28113,24594,35369,23220,27746,28776,44555,24714,29196,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,20379,19964,19964,19964,19964,20995,19964,20040,19964,19964,36739,28804,28813,28829,28835,28851,28867,28879,20020,19964,19964,19964,21659,19964,19964,21537,19964,19964,19964,19964,19964,19964,19964,24615,40795,31245,28302,46221,19547,28895,19964,19964,19964,18244,19964,19964,19964,34103,19964,19964,19964,39389,19689,19689,19689,35856,31245,31245,24505,22099,22099,22099,46221,29320,21370,19964,19964,19964,19964,19964,19964,19964,33867,19964,34096,28911,19689,19689,19689,19689,35856,31245,31245,31245,31245,26228,22099,22099,22099,22099,29314,28013,19964,19964,40502,19964,35082,34997,19964,39125,29632,19689,19689,43159,19689,23345,31245,31245,28930,31245,26610,22099,28741,22099,22099,32766,39785,19964,30448,19964,19964,19964,19964,24619,19689,19689,19689,31245,31245,31245,22445,22098,22099,22099,24525,29188,19964,37621,19964,39419,34033,19689,19689,28948,31245,45959,41840,22099,26231,41849,39789,28966,28989,29034,29053,29073,29121,43282,29165,32231,43581,29181,23948,33510,29213,22424,29250,29275,39489,29303,29192,29336,29086,38944,32499,26125,20101,19764,24596,33841,24618,35853,35877,31427,28114,24594,31424,28113,24594,35369,23220,39288,35939,30048,24714,29196,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,20379,19964,19964,19964,19964,20995,19964,19964,19964,19964,31351,19964,19964,19964,19964,23975,22705,31603,20020,40290,19964,21371,29371,19964,19964,19964,25671,19964,18376,19964,22254,18631,25670,22020,38305,29437,29469,34575,29456,29495,19964,19964,23735,18244,29519,24944,19964,25819,19964,19964,19964,39389,19689,19689,29538,35856,31245,24355,24505,22099,22099,25186,46221,29320,21370,19964,19964,19964,19964,19964,19964,19964,19964,29556,29575,19669,19689,19689,19689,19689,29594,31245,31245,31245,35858,22096,22099,22099,22099,22099,29612,28013,19964,29648,19964,19964,19964,19964,19964,19964,36452,40719,19689,19689,19689,23345,29665,31245,31245,31245,26610,29686,22099,22099,22099,29314,28013,19964,19964,29705,19964,19964,19964,24619,19689,19689,31910,31245,31245,31245,29724,22098,22099,22099,29751,29188,19964,19964,29791,19964,34033,19689,19689,23346,31245,31245,41840,22099,22099,41849,29195,19964,19964,19964,20428,19689,23346,31245,31246,22099,22099,41851,19964,29810,45364,19689,19765,31245,35879,25124,29829,39924,43012,31245,29850,29868,20101,19764,24596,33841,24618,35853,35877,31427,28114,24594,31424,28113,24594,35369,23220,39288,31314,38032,24714,29196,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,20379,19964,19964,29003,19964,20995,21260,20590,26970,36307,36317,38537,38546,29892,29907,29919,29935,29947,20020,19964,19964,19964,42047,42097,19964,19964,19964,29963,21336,19964,25242,21347,29997,22236,30034,30076,30098,27334,30137,30153,19964,19964,30273,18244,19964,30184,19964,19964,19964,30245,30269,39389,30289,30323,19905,20085,30340,32839,30368,39755,30384,25384,30410,29320,21370,23994,24038,30447,30464,30891,30501,33185,30521,30558,19964,19669,32592,19672,30574,30608,35856,30655,27056,30675,30710,22096,30750,24637,30771,30810,39977,28013,19964,19964,19964,39040,30846,30871,19964,19964,19964,38760,19689,19689,27037,44001,25037,31245,31245,30907,30926,32671,22099,22099,30985,37379,28013,29649,31027,31057,31099,31122,31146,45187,35230,31182,31216,31244,31262,31301,31340,31367,28242,39895,31385,31443,37673,41702,42582,43213,32116,31488,31507,42964,31523,31539,31591,31619,31635,31672,31713,19964,22153,31736,31324,31761,39442,31796,31819,31841,22712,41851,29813,19964,31870,19689,19765,31245,35879,24524,44902,34030,31887,31934,33626,31996,32020,19764,24596,33841,32045,32080,32096,32112,28114,24594,31424,28113,24594,23284,32132,39288,31314,38032,23142,29196,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,20379,19964,19964,31463,19964,20995,19964,19964,19964,19964,31351,19964,18345,31471,33875,23975,38186,31603,20020,19964,19964,19964,21659,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,24615,40795,31245,28302,46221,19547,21363,19964,19964,19964,18244,19964,19964,19964,19964,19964,19964,19964,39389,19689,19689,19689,35856,31245,31245,24505,22099,22099,22099,27355,29320,21370,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19669,19689,19689,19689,19689,35856,31245,31245,31245,31245,22096,22099,22099,22099,22099,29314,28013,19964,19964,19964,19964,19964,19964,19964,19964,19964,19689,19689,19689,19689,23345,31245,31245,31245,31245,26610,22099,22099,22099,22099,29314,28013,19964,19964,19964,19964,19964,19964,24619,19689,19689,19689,31245,31245,31245,22445,22098,22099,22099,24525,29188,19964,19964,19964,19964,34033,19689,19689,23346,31245,31245,41840,22099,22099,41849,29195,19964,19964,19964,20428,19689,23346,31245,31246,22099,22099,41851,19964,19964,34032,19689,19765,31245,35879,24524,29192,34030,19689,31245,35879,26125,20101,19764,24596,33841,24618,35853,35877,31427,28114,24594,31424,28113,24594,35369,23220,39288,31314,38032,24714,29196,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,20379,19964,19964,19422,19964,20995,19964,19964,19964,19964,31351,19964,19964,19964,19964,23975,22705,31603,20020,19964,19964,19964,21659,19964,19964,32175,19964,19964,19964,19964,19964,19964,19964,24615,40795,31245,28302,46221,19547,21363,19964,19964,19964,18244,19964,19964,19964,19964,19964,19964,19964,39389,19689,19689,19689,35856,31245,31245,24505,22099,22099,22099,46221,29320,21370,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19669,19689,19689,19689,19689,35856,31245,31245,31245,31245,22096,22099,22099,22099,22099,29314,28013,19964,32192,19964,19964,19964,19964,19964,19964,19964,39170,19689,19689,19689,23345,32210,31245,31245,31245,26610,32230,22099,22099,22099,29314,28013,19964,19964,19964,19964,19964,19964,24619,19689,19689,19689,31245,31245,31245,22445,22098,22099,22099,24525,29188,19964,19964,19964,19964,34033,19689,19689,23346,31245,31245,41840,22099,22099,41849,29195,19964,19964,19964,20428,19689,23346,31245,31246,22099,22099,41851,19964,19964,34032,19689,19765,31245,35879,24524,29192,34030,19689,31245,35879,26125,20101,19764,24596,33841,24618,35853,35877,31427,28114,24594,31424,28113,24594,35369,23220,39288,31314,38032,24714,29196,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,20379,19964,19964,20655,19964,20995,19964,31745,19964,29503,32247,32287,32300,32316,32322,32338,32354,32366,20020,19964,32382,19964,21659,19964,42590,32401,19964,19964,29018,19964,29011,38785,29017,32429,44591,32445,44728,32708,32485,32515,22228,19964,23894,32531,19964,23365,21176,32562,20547,26933,32552,43150,32579,30592,32613,43545,22506,32648,38860,32695,22891,32724,43092,32752,21370,30010,19964,19964,19964,24215,19964,19964,19964,19964,19964,32782,33267,32798,42256,42289,43036,32817,32837,29141,37184,26807,32855,32876,42994,27131,29314,28013,19964,34671,29981,19964,35125,45660,19964,19964,19964,19689,19689,40374,37913,23345,31245,31245,32895,32934,26610,22099,22099,32959,32988,29314,28013,44748,19964,19964,33011,19964,19964,24619,44138,19689,19689,31245,33029,31245,22445,22098,33046,22099,24525,29188,33065,19964,19964,33081,34033,33097,19689,33106,33122,31245,33145,43634,22099,42469,29195,33161,19964,33183,20428,32627,23346,45059,31246,22099,33201,41851,19964,33218,34032,19689,27911,40812,35879,23554,29192,34030,19689,31245,35879,26125,20101,19764,24596,33841,24618,35853,35877,31427,28114,24594,31424,27479,33238,33254,33288,39288,36835,33322,24714,29196,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,20379,19964,19964,20281,19964,20995,19964,18581,19964,19964,36880,28080,28089,33361,33375,33384,33400,33412,21496,19964,30166,19964,21659,19964,19607,19964,19964,19964,30168,19964,30161,32271,30167,33428,33444,33465,44189,46221,19547,21363,19964,26348,19964,18244,19964,33489,33507,33526,19964,27453,21676,39389,33547,29421,31900,41374,31245,33566,33582,32860,22099,33598,33648,33699,33730,21741,33783,30479,19964,19964,19964,25826,19964,19964,19964,19669,33805,30969,19689,19689,27916,28632,45121,31245,31245,22096,33831,46113,22099,22099,29314,28013,19964,34708,39606,19964,25647,23571,33857,19964,28552,19689,33891,19689,33915,23345,34948,33938,41352,33956,42404,22897,22099,34001,22099,29314,28013,19964,19964,19964,19964,19964,19964,24619,19689,19689,19689,31245,31245,31245,22445,22098,22099,22099,24525,29188,19964,19964,19964,19964,34033,19689,19689,23346,31245,31245,41840,22099,22099,41849,19995,19964,19964,19964,41069,19689,23346,33973,31246,39555,22099,41851,19964,19964,34032,19689,19765,31245,35879,37203,29192,34030,19689,31245,35879,22740,20101,45757,33994,34017,38913,39947,32460,31427,28114,24594,31424,28113,24594,35369,23220,34049,31314,38032,24714,29196,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,20379,19964,19964,18523,19964,21614,19964,18504,34083,26082,34119,34150,34189,34175,34194,34159,34210,34222,20020,19964,34238,34263,34283,34377,34311,19821,19964,20541,34332,34367,34393,19531,34429,34457,34473,34501,34538,34591,34628,21363,30018,19964,19964,34701,24929,19964,34653,34901,34669,34687,34724,39389,34776,23198,19689,30639,45803,19804,24505,37125,36027,42376,46221,34829,21370,34859,39599,30229,19964,19964,19964,34878,19964,19964,34897,34917,27877,19689,19689,19689,40445,34944,31245,31245,31245,23061,34964,22099,22099,22099,31400,28013,19964,19964,19964,37734,19964,19964,35118,34984,19964,31776,19689,28760,19689,35020,31245,31245,45765,45541,30722,22099,22099,38445,36619,43913,28013,35067,35105,36279,43933,36866,35141,35834,35178,40548,35225,33129,35246,35282,22445,27715,35298,35314,35343,29766,38009,35391,35411,35440,35461,36092,30307,35495,27221,30686,35521,38227,43358,35547,28017,35599,19964,18562,35619,23600,28587,44812,35641,35665,35684,41851,35712,36353,38907,35736,29355,35752,42483,35779,29625,35806,31193,27275,31686,26125,35830,35850,35874,35897,35814,35926,35955,35983,39063,36018,36051,28113,24594,35369,23220,27435,36074,38032,24718,36108,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,20379,19964,19964,19964,36125,20995,19964,40298,36146,19964,26328,36166,36175,36191,36205,36214,36230,36242,20020,36258,18714,36384,36295,40165,36333,19964,36369,18382,36408,36437,36474,36490,36549,22765,36587,36635,43671,36651,36688,36704,19964,36728,35720,36755,30505,21305,30485,26317,19964,19964,36777,39389,19690,36928,36794,35856,19731,36822,44413,22099,23089,42326,36851,29320,21370,19964,36896,19964,30536,33013,31083,19964,33663,37523,38111,36918,31780,27947,19689,25427,25986,38417,36944,31245,27267,24668,25466,36978,22099,32679,29314,22676,37005,19964,37041,37060,19964,19964,19964,19964,37077,19689,45703,37311,19689,23345,31245,29105,37097,31245,26610,22099,35043,37120,22099,29314,28013,19964,39827,19964,37141,19964,19964,37161,19689,19689,31491,31245,31245,31245,34067,26230,22099,22099,44791,29188,44075,19964,19964,19964,38747,19689,41483,28361,31245,37182,32943,22099,37200,41849,22559,19964,19964,19964,43502,30300,23346,37219,31246,37405,37268,41851,37287,19964,34032,19689,19765,31245,35879,24524,33334,35910,37307,37327,41912,30734,37349,26507,37365,37428,28328,19553,31949,31427,28114,24594,31424,28113,24594,35369,23220,27818,37232,38032,24154,29196,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,20379,19964,19964,19964,30885,20995,19964,19964,37444,30855,37466,37517,19964,18600,37539,37551,37567,37579,20020,19964,19964,37595,21659,19964,19964,19964,37620,21456,19964,19964,37616,37595,19964,24615,33815,29670,37637,37658,37707,21363,22370,37732,19964,18244,19964,37750,37803,19964,37827,19964,37808,39389,37847,37871,35479,43249,37887,26558,37929,37642,37945,26012,37972,38025,38048,19964,30220,24272,19964,38079,38099,19964,19964,19964,19964,19669,19689,29057,19689,19689,35856,31245,38507,31245,31245,22096,22099,27090,22099,22099,29314,23924,38127,25526,19964,19964,42059,19378,35156,39323,29037,19689,41487,38154,19689,23345,31245,38173,31245,31245,43573,22099,38209,22099,22099,29314,28013,29522,19964,19964,38632,19964,19964,38243,19689,43167,19689,31245,31245,38261,31980,22098,22099,38281,24525,29188,19964,19964,19964,19964,34033,19689,19689,23346,31245,31245,41840,22099,22099,41849,29195,40316,19964,19964,38302,19689,23346,31245,31246,22099,22099,27533,19964,19964,34032,19689,19765,31245,35879,24524,29192,34030,19689,31245,35879,30783,38321,37855,35649,33841,38355,35853,35877,31427,28114,24594,31424,28113,24594,35369,23220,39288,31314,38032,24714,29196,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,20379,19964,19964,19964,19964,20995,19964,19964,19964,19964,31351,19964,19964,19964,19964,23975,22705,31603,20020,19964,19964,19964,21659,19964,19964,22610,19964,19964,42556,40756,40759,36515,38377,38396,45924,38412,38433,44110,19547,38468,19964,19964,19964,18244,19964,19964,19964,19964,19964,19964,19964,39389,19689,19689,19689,35856,31245,31245,24505,22099,22099,22099,46221,29320,21370,19964,19964,30542,19964,19964,19964,19964,19964,19964,19964,38484,19689,19689,19689,19689,35856,31245,31245,31245,31245,27087,22099,22099,22099,22099,29314,28013,19964,19964,19964,19964,19964,19964,19964,19964,19964,19689,19689,19689,19689,23345,31245,31245,31245,31245,26610,22099,22099,22099,22099,29314,28013,19964,19964,19964,19964,19964,19964,24619,19689,19689,19689,31245,31245,31245,22445,22098,22099,22099,24525,29188,19964,19964,19964,19964,34033,19689,19689,23346,31245,31245,41840,22099,22099,41849,29195,19964,19964,19964,20428,19689,23346,31245,31246,22099,22099,41851,19964,19964,34032,31918,19765,38503,25609,24524,29192,34030,19689,31245,35879,26125,20101,19764,24596,33841,24618,35853,35877,31427,28114,24594,31424,28113,24594,35369,23220,39288,31314,38032,24714,29196,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,20379,19964,19964,19964,40281,21110,19964,19964,39351,19964,22570,38523,37025,38562,38575,38584,38600,38612,20020,19964,37495,40073,21659,31130,38628,38648,45654,38666,38687,38707,38734,38776,38801,32004,38837,38876,43899,38892,38929,38990,19964,19964,19964,39014,22589,39030,21480,25544,19964,19964,28066,39056,32597,40948,31228,35856,44358,36962,39079,22099,39095,31285,32736,33714,21370,19964,19964,19964,39117,29973,19964,32262,19964,39123,39141,39162,41331,19689,44502,39186,34060,30659,31245,32214,39221,23157,25403,22099,29689,39258,29314,28013,19964,19964,39315,34739,39339,19964,37145,39374,39412,39435,39205,34791,35998,33922,39458,35505,39475,31245,39505,22099,39520,39536,22099,39571,28013,39622,19964,36421,36666,39642,37481,20105,38334,40020,19689,24377,39459,31245,22445,26617,39662,39682,24525,31e3,38691,39626,19964,19964,31871,39702,19689,22065,31245,31245,39719,22099,22099,39771,29195,44437,19964,19964,30964,19689,37252,31245,31246,39805,22099,33299,19964,39825,34032,19689,19765,31245,35879,24524,29192,34030,19689,31245,35879,25152,39843,34928,39883,39911,24618,35853,35877,19934,39940,39963,29479,28113,24594,35369,23220,28289,40007,27969,24714,29196,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,20379,19964,19964,19964,19445,20995,40041,31041,40059,40096,40125,40156,40109,40181,40195,40207,40223,40235,20020,40251,26843,19964,40269,19964,19964,37691,19964,37811,19964,40314,40332,21032,40339,40355,40390,40412,45318,46044,40436,21363,40461,40481,40499,40518,40584,19964,19964,19964,20410,40607,19964,40653,40690,40713,19689,39299,40735,31245,24505,42496,38286,22099,46221,29320,21370,36392,19964,23742,31070,40751,19964,19964,19964,19964,30425,19669,40775,40793,19689,45906,35856,40811,40828,31245,32821,22096,40845,40865,22099,32879,33612,28013,19964,19964,40885,40903,19964,38106,40921,36273,40929,40945,19689,44144,42212,28608,31245,31245,40964,31803,31274,22099,22099,40980,36611,43960,41049,41676,19964,41085,29559,19964,41105,24619,19689,22847,19689,31245,31245,41132,22445,22098,22099,41166,24525,29188,19964,41192,40253,41218,30431,32801,38339,23346,38265,46203,25995,34968,30830,41849,29195,19964,41238,37987,20428,19689,23346,31245,31246,22099,22099,31564,41986,35445,22966,19689,41257,29440,35879,23165,41278,41312,41328,41347,39235,44740,20101,41368,41390,41406,24618,35853,35877,25628,43869,23246,42438,24486,41445,41468,34485,39288,31314,38032,24714,29196,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,20379,19964,19964,19964,24242,20995,19964,19964,20004,19964,41503,41553,41565,41581,41597,41609,41625,41637,20020,41653,37999,19211,21659,41671,42011,41692,43478,38380,41730,41746,41771,41762,45218,41787,41821,41867,46074,32972,41898,41936,41960,21922,41981,42002,19964,19964,42035,42083,42119,42149,42165,42200,42228,42272,42288,42305,42342,42392,33978,42428,42454,42512,38193,29320,42538,36761,42554,31158,41296,42572,19964,19964,42606,42626,34134,42667,42703,22334,19689,28181,28657,42719,22514,31245,42787,22878,42808,32995,22099,42824,34843,43927,19964,42845,34606,42867,38650,42903,42928,42933,41202,22646,42949,43010,28187,43028,33473,44366,31245,43052,42317,35967,30111,22099,43081,29314,28013,43108,19964,43135,43183,19964,43203,26286,27636,43229,28580,43265,42734,43298,43321,43348,41920,23072,43382,23683,43419,43447,39146,43469,43494,43518,19689,30632,43561,31245,43597,43622,22099,43657,29195,26871,43687,19964,28354,43712,24309,41882,30082,43738,43397,43801,43824,45099,29395,43851,43885,44343,32662,43949,43765,43976,44017,44051,35034,44067,20101,19764,24596,33841,24618,35853,35877,31427,28114,24594,42760,28788,44091,44126,44160,44176,31314,38032,24146,29196,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,20379,19964,19964,19964,19964,44205,19964,19964,44244,19964,38718,40619,40628,44264,40628,40637,44280,44292,20020,19964,19964,19964,42184,19964,35089,19964,19964,19964,19964,35088,19964,44308,19964,24615,44328,44382,24322,31697,44398,44429,44453,19964,19964,18244,19964,19964,44473,44481,19964,19964,33789,40533,44499,19689,19689,44518,31245,31245,27241,32469,22099,22099,33632,44548,44571,44607,28973,44625,19964,19964,19964,44667,44694,19964,36525,19669,23030,36806,24093,33272,35856,22497,44714,29149,23531,22096,27114,34553,43641,42829,40994,28013,19964,35162,37081,19964,19964,19964,26910,19964,25203,19689,37245,19689,19689,23345,45942,31245,31245,31245,34513,28150,22099,22099,22099,29314,22183,19964,36346,19964,19964,19964,31166,44874,19689,19689,19689,44764,31245,31245,22445,44785,22099,22099,24525,33306,19964,19964,37765,19964,19859,42680,19689,40697,44807,31245,29259,44828,22099,23674,29195,44849,19964,19964,20428,19689,23346,31245,31246,22099,22099,41851,19964,19964,34032,19689,19765,31245,35879,24524,29192,34030,35201,23624,37393,26125,20101,19764,24596,33841,24618,35853,35877,31427,28114,24594,24678,26891,36602,44867,23220,39288,37900,44890,24714,29196,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,20379,19964,19964,19964,19964,44950,45009,41714,44984,19964,30794,19964,41711,45006,18249,26997,45025,45037,20020,19964,19964,19964,21659,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,26752,40795,45053,42356,46221,19547,21363,19964,33683,22147,18244,19964,19964,19964,19964,19964,45075,19964,39389,29227,30324,19689,41262,31245,23111,24505,35668,22099,26776,46221,29320,21370,19964,19964,19964,19964,19964,45093,19964,19964,22013,19964,19669,19689,22417,19689,19689,35856,31245,45115,31245,31245,22096,22099,30823,22099,22099,29314,28013,19964,19964,19964,19964,19964,19964,19964,19964,19964,19689,19689,19689,19689,23345,31245,31245,31245,31245,26610,22099,22099,22099,22099,29314,28013,19964,19964,19964,19964,19964,19964,24619,19689,19689,19689,31245,31245,31245,22445,22098,22099,22099,24525,29188,19964,34612,19964,19964,34033,19689,19689,23346,31245,31245,41840,22099,22099,41849,29195,44990,19964,19964,20428,19689,23346,31245,31246,22099,22099,41851,19964,19964,34032,19689,19765,31245,35879,24524,30060,34030,19689,31245,35879,26125,20101,19764,24596,33841,24618,35853,35877,31427,28114,24594,31424,28113,24594,35369,23220,39288,31314,38032,24714,29196,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,20379,19964,19964,19964,19964,45137,19964,18326,19964,19502,45172,45209,19964,45234,45248,45260,45276,45288,20020,19964,19964,19964,21659,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,24615,39396,29596,28302,35327,45304,45334,19964,19964,19964,18244,19964,19964,19964,19964,45358,19964,19964,39389,19689,19689,19689,35856,31245,31245,24505,22099,22099,22099,46221,29320,21370,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19669,19689,19689,19689,19689,35856,31245,31245,31245,31245,22096,22099,22099,22099,22099,29314,28013,19964,19964,19964,19964,19964,45380,19964,19964,19964,45402,19689,19689,19689,33449,31245,31245,31245,31245,42976,22099,22099,22099,22099,29314,28013,19964,25586,19964,19964,19964,19964,24619,28914,19689,31200,31245,37104,31245,45420,22098,43403,22099,39734,29188,19964,19964,19964,19964,34033,19689,19689,23346,31245,31245,41840,22099,22099,41849,29195,19964,19964,19964,20428,19689,23346,31245,31246,22099,22099,41851,19964,19964,34032,19689,19765,31245,35879,24524,29192,34030,19689,31245,35879,26125,20101,19764,24596,33841,24618,35853,35877,31427,28114,24594,31424,28113,24594,35369,23220,39288,31314,38032,24714,29196,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,21532,19964,19964,19964,19964,20995,19964,19964,19964,19964,31351,19964,19964,19964,19964,28684,45447,45459,20020,19964,19964,19964,21659,45475,21983,19964,19964,19964,23486,24059,19964,42912,45497,45519,40795,45535,42748,46221,19547,21363,19964,19964,42887,18244,26189,27577,45557,19964,19964,19964,19964,39389,19689,34805,22998,35856,40829,31245,45582,22099,37271,22099,45598,29320,45640,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19669,19689,19689,19689,19689,35856,31245,31245,31245,31245,22096,22099,22099,22099,22099,29314,28013,19964,19964,19964,19964,19964,45676,19964,19964,38083,19689,19689,35192,19689,23345,31245,24572,31245,31245,28233,22099,39809,22099,22099,29314,28013,36564,19964,19964,19964,19964,19964,24619,45702,19689,19689,44769,31245,31245,22445,28306,22099,22099,24525,29188,19964,19964,19964,19964,34033,19689,19689,23346,31245,31245,41840,22099,22099,41849,29195,19964,19964,19964,20428,19689,23346,31245,31246,22099,22099,41851,19964,19964,34032,19689,19765,31245,35879,24524,29192,34030,19689,31245,35879,26125,20101,19764,24596,33841,24618,35853,35877,31427,28114,24594,31424,28113,24594,35369,23220,39288,31314,38032,24714,29196,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,20379,19964,19964,19964,19964,20995,19964,19964,19964,19964,31351,19964,19964,19964,19964,23975,22705,31603,20020,45719,19964,19964,21659,19964,19964,44962,19964,19964,19964,19964,44968,19964,19964,45748,41805,33030,28302,36989,45781,45819,19964,30211,19964,18244,19964,19964,19964,19964,19964,19964,30202,39389,19689,19689,23006,35856,31245,31245,45843,22099,22099,22099,45859,29320,21370,35395,19964,19964,19964,19964,19964,19964,37061,19964,19964,19669,45903,19689,45922,19689,35856,45940,31245,45958,31245,22096,45975,22099,45996,22099,29314,28013,19964,44312,19964,19964,19964,19964,19964,19964,19964,19689,29234,19689,19689,23345,31245,46017,31245,31245,26610,22099,46039,22099,22099,46060,28013,19964,19964,19964,19964,44609,19964,24619,19689,22809,45404,31245,31245,46090,46023,22098,22099,46108,46157,29188,19964,19964,46129,19964,34033,19689,19689,23346,31245,31245,41840,22099,22099,41849,31649,19964,44483,19964,29404,19689,40396,31245,31246,46152,22099,41851,19964,46173,34032,40025,19765,46196,35879,46219,29192,34030,19689,31245,35879,26125,20101,19764,24596,33841,24618,35853,35877,31427,28114,24594,31424,28113,24594,35369,23220,39288,31314,38032,24714,29196,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,20379,19964,19964,19964,19964,20995,19964,19964,19964,19964,31351,34753,19964,19964,19964,23975,22705,31603,20020,19964,19964,19964,21659,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,24615,40795,31245,28302,46221,19547,21363,19964,19964,19964,18244,19964,19964,19964,19964,19964,19964,19964,39389,19689,19689,19689,35856,31245,31245,24505,22099,22099,22099,46221,29320,21370,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19669,19689,19689,19689,19689,35856,31245,31245,31245,31245,22096,22099,22099,22099,22099,29314,28013,19964,19964,19964,19964,19964,19964,19964,19964,19964,19689,19689,19689,19689,23345,31245,31245,31245,31245,26610,22099,22099,22099,22099,29314,28013,19964,19964,19964,19964,19964,19964,24619,19689,19689,19689,31245,31245,31245,22445,22098,22099,22099,24525,29188,19964,19964,19964,19964,34033,19689,19689,23346,31245,31245,41840,22099,22099,41849,29195,19964,19964,19964,20428,19689,23346,31245,31246,22099,22099,41851,19964,19964,34032,19689,19765,31245,35879,24524,29192,34030,19689,31245,35879,26125,20101,19764,24596,33841,24618,35853,35877,31427,28114,24594,31424,28113,24594,35369,23220,39288,31314,38032,24714,29196,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,18423,19964,19964,19964,19964,44914,43431,43429,23399,25001,46251,45077,43424,44926,24999,46237,46267,46280,28425,19964,19964,19964,21659,19964,19964,44698,19964,19964,19964,19964,19964,19964,19964,24950,19964,19964,41033,19964,19964,19964,19964,19964,19964,18244,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19963,19964,19964,19964,19964,19963,19964,19964,32385,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,18423,19964,19964,19964,19964,19576,19964,19964,25233,19964,31351,29876,46296,46309,46325,46334,46378,46357,28425,19964,19964,19964,21659,19964,19964,19964,19964,19964,19964,45566,19964,19964,45563,19964,19964,19964,19964,19964,46394,19964,19964,19964,19964,18244,19964,19964,19964,19964,19964,19964,19964,38971,19964,19964,19964,19964,19964,19964,20680,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19963,19964,19964,19964,19964,19963,19964,19964,32385,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,18423,19964,19964,19964,19964,27172,19964,19964,19964,19964,25933,24019,46417,46450,46456,46427,19964,46472,28425,19964,19964,19964,21659,19964,19964,41241,19964,19964,45686,19964,19964,19964,45682,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,18244,19964,19964,19964,19964,19964,19964,19964,20254,19964,19964,19964,19964,19964,19964,20225,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19963,19964,19964,19964,19964,19963,19964,19964,32385,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,18423,19964,19964,19964,19964,19576,19964,19964,19964,19964,31351,19964,19964,19964,19964,19964,19964,20060,20020,19964,19964,19964,21659,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,24615,40795,31245,28302,46221,19547,19569,19964,19964,19964,18244,19964,19964,19964,19964,19964,19964,19964,21509,19689,19689,19689,35856,31245,31245,19840,22099,22099,22099,46221,29320,21370,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19669,19689,19689,19689,19689,35856,31245,31245,31245,31245,22096,22099,22099,22099,22099,29314,28013,19964,19964,19964,19964,19964,19964,19964,19964,19964,19689,19689,19689,19689,23345,31245,31245,31245,31245,26610,22099,22099,22099,22099,29314,28013,19964,19964,19964,19964,19964,19964,24619,19689,19689,19689,31245,31245,31245,22445,22098,22099,22099,24525,29188,19964,19964,19964,19964,34033,19689,19689,23346,31245,31245,41840,22099,22099,41849,29195,19964,19964,19964,20428,19689,23346,31245,31246,22099,22099,41851,19964,19964,34032,19689,19765,31245,35879,24524,29192,34030,19689,31245,35879,26125,20101,19764,24596,33841,24618,35853,35877,31427,28114,24594,31424,28113,24594,35369,23220,39288,31314,38032,24714,29196,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,36902,19964,19964,36533,46510,46515,46515,46536,36901,46531,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,19964,94503,94503,90406,90406,94503,94503,94503,94503,94503,94503,94503,94503,94503,94503,94503,94503,1,12290,3,0,94503,94503,94503,94503,94503,94503,94503,94503,94503,94503,94503,94503,94503,94503,94503,94503,362,94503,90406,94503,94503,94503,94503,94503,94503,94503,94503,94503,94503,94503,0,90406,94503,94503,94503,94503,94503,94503,94503,69632,73728,94503,94503,94503,94503,94503,65536,94503,0,0,0,362,362,0,0,0,0,0,0,0,0,0,0,0,357,0,0,0,0,111048,111048,111048,111048,111048,111048,111048,111048,111048,111048,111048,111048,111048,111048,111048,111048,456,456,111048,456,456,456,456,456,456,456,456,456,456,111048,111048,111048,111048,111048,111048,111048,111048,111048,456,111048,111048,111048,111048,111048,0,0,0,0,0,0,0,0,0,296,0,0,0,0,0,0,1008,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,358,0,300,118784,0,0,0,0,0,0,0,0,0,0,0,0,0,331,0,331,0,0,300,0,0,0,300,119195,73728,0,0,0,0,0,65536,0,0,0,0,0,750,0,0,0,0,0,0,0,0,0,0,771,774144,0,0,0,753,300,0,0,0,0,0,300,300,300,300,300,300,300,300,300,300,0,0,0,0,0,0,300,0,300,1,12290,3,0,0,0,0,0,0,0,0,0,0,0,0,0,320,321,0,0,122880,122880,122880,122880,122880,122880,122880,122880,122880,122880,122880,122880,122880,122880,122880,0,0,0,0,122880,122880,122880,122880,122880,122880,122880,122880,0,0,122880,0,0,0,0,0,0,0,0,0,0,300,300,0,0,0,0,0,0,122880,0,122880,122880,122880,0,0,0,0,0,0,0,122880,0,0,0,0,0,0,0,0,0,0,0,380,0,0,0,384,0,122880,122880,0,0,0,0,0,0,0,0,0,0,0,0,0,336,337,338,0,0,0,122880,122880,122880,122880,122880,122880,0,122880,0,2105629,12290,3,0,0,291,0,0,0,0,291,0,0,0,0,0,0,0,2629,0,0,0,0,0,0,2633,0,0,0,1613,0,0,0,0,0,0,0,0,0,0,0,0,0,383,335,0,0,0,1765,0,0,0,0,0,0,0,0,0,0,0,0,0,512,519,519,0,0,0,131072,0,0,0,69632,73728,0,0,0,0,0,65536,0,0,0,0,0,750,0,0,0,0,0,750,750,0,0,810,0,131072,0,0,131072,131072,0,0,0,0,0,0,131072,0,131072,0,131072,0,0,0,0,0,0,0,0,0,0,131072,0,131072,131072,131072,131072,131072,131072,131072,131072,131072,131072,0,0,0,0,0,0,131072,0,131072,1,12290,3,0,0,0,0,0,0,0,0,0,0,0,0,298,0,135168,135168,0,0,0,0,0,0,0,0,0,0,0,0,0,667,668,0,0,0,135168,0,0,135168,0,0,0,0,0,0,0,0,0,0,301,301,0,0,0,0,0,0,0,135168,135168,135168,135168,135168,135168,135168,135168,135168,135168,135168,135168,135168,0,0,0,0,0,0,135168,0,135168,1,12290,3,0,0,0,0,0,0,0,0,0,0,0,118784,296,0,301,139264,0,0,0,0,0,0,0,0,0,0,0,0,0,726,0,0,301,301,301,0,0,0,0,0,0,301,0,301,1,12290,3,0,0,0,0,0,0,0,0,0,0,0,139264,297,298,298,143728,298,298,298,143728,69632,73728,298,298,143658,298,298,65536,298,298,0,0,298,298,143658,298,298,298,298,298,298,298,298,298,363,298,0,143658,298,298,298,143658,143658,143658,143658,143658,143658,143658,143658,143658,143658,143658,143658,143658,143658,143658,143658,298,298,143658,298,298,298,298,298,298,298,298,298,298,298,143728,298,298,298,298,298,298,298,298,143658,143658,143658,143658,143658,143658,143658,143658,298,298,298,143658,368,298,298,298,298,298,298,298,298,298,298,298,298,298,298,298,298,143658,298,298,143658,298,298,143658,143658,143658,143658,143658,143658,0,0,298,298,298,298,298,298,298,298,298,143658,298,143658,143658,143658,143658,298,298,298,143658,143658,143658,143658,143658,143658,143658,143728,143728,143728,143728,143728,143728,143728,143658,143658,143658,143658,143658,143658,143658,143658,143658,1,12290,3,0,0,0,0,0,0,0,90406,90406,90406,90406,0,94503,0,0,0,2200244,362,0,0,0,0,0,0,0,0,0,0,0,679,0,0,0,0,0,0,0,155648,155648,0,155648,155648,155648,155648,155648,155648,155648,155648,155648,155648,155648,155648,155648,155648,155648,155648,155648,155648,155648,155648,155648,155648,155648,0,0,0,0,0,0,0,0,155648,0,0,0,0,0,0,0,0,155648,0,0,0,0,155648,0,0,0,0,0,0,155648,0,0,0,0,155648,155648,0,155648,155648,0,12290,3,0,0,0,126976,0,0,0,0,296,297,0,0,300,301,0,0,0,0,0,301,301,301,301,301,301,301,301,301,301,159744,163840,159744,159744,159744,159744,159744,0,0,0,0,25157,0,0,0,159744,159744,159744,0,0,159744,0,0,0,0,0,0,0,0,159744,159744,159744,159744,159744,159744,159744,159744,159744,159744,159744,159744,159744,159744,159744,159744,163840,159744,159744,25157,25157,25157,25157,159744,159744,159744,159744,159744,25157,159744,25157,1,12290,3,0,0,0,0,0,253952,0,0,0,253952,0,0,0,0,0,0,0,0,0,0,0,0,680,681,0,0,167936,167936,167936,167936,167936,167936,167936,167936,167936,167936,167936,167936,167936,167936,167936,167936,1,12290,3,0,167936,167936,167936,0,0,167936,0,0,0,0,0,0,0,0,167936,167936,167936,167936,167936,167936,167936,0,0,0,0,0,0,0,0,0,321,395,0,0,0,321,0,0,0,0,0,0,172032,0,172032,0,0,0,0,0,0,0,0,0,249856,249856,249856,249856,249856,249856,249856,249856,249856,1,12290,3,0,0,172032,172032,0,0,0,0,0,0,0,0,0,0,172032,0,0,0,0,0,0,172032,172032,0,0,172032,0,0,172032,172032,0,172032,0,0,0,0,172032,172032,172032,172032,172032,172032,172032,172032,172032,1,12290,3,0,0,0,0,249856,0,0,0,249856,0,0,0,0,0,0,0,278528,0,0,0,0,0,0,0,0,0,610304,0,0,0,0,0,0,172032,0,172032,172032,0,172032,172032,172032,172032,172032,172032,172032,172032,172032,172032,172032,172032,172032,172032,172032,172032,172032,172032,172032,172032,172032,172032,172032,0,0,0,0,0,0,0,0,0,332,0,0,0,0,0,0,1,286,3,0,0,0,292,0,0,0,0,0,0,0,0,0,348,349,350,0,0,0,0,176128,176128,176128,176128,176128,176128,176128,176128,176128,176128,176128,176128,176128,176128,176128,176128,1,0,3,78112,176128,176128,176128,0,0,176128,0,0,0,0,0,0,0,0,176128,176128,176128,176128,176128,176128,176128,0,0,0,0,0,0,0,0,0,358,0,0,0,0,0,358,78112,86306,0,633,0,0,0,296,297,0,0,300,301,0,0,0,0,0,0,779,797,0,797,792,0,0,0,809,0,0,0,29254,29254,29210,82480,29210,29210,29210,29210,29210,82480,82480,82480,82480,82480,84881,82480,82480,82480,84885,82480,0,29254,29254,29254,29254,29254,78112,0,0,0,0,0,0,0,0,0,362,0,0,0,0,0,0,0,0,0,0,0,0,1,12290,3,0,0,0,0,0,1060,0,0,0,0,0,0,0,0,0,0,0,724,0,0,0,0,0,0,0,1103,0,0,0,0,1108,0,0,0,0,0,0,0,0,311296,0,0,0,742543,0,0,0,0,0,0,0,1578,0,0,0,0,0,0,0,0,0,0,0,733,0,0,0,0,0,29874,0,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,30329,29210,30659,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29910,0,0,2228,0,0,0,0,0,0,0,0,0,0,0,0,0,1054,0,0,82480,82480,82480,82480,82480,84237,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,83237,82480,82480,82480,82480,82480,0,0,0,2434,0,0,0,0,0,0,0,0,0,0,0,2444,31171,29210,29210,29210,29210,29210,29210,29210,29210,82480,82480,82480,82480,82480,82480,82480,82480,82480,2623,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,694,82480,82480,82480,82480,82480,84592,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,83255,82480,82480,82480,82480,82480,2726,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,742,82480,82480,84697,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,0,0,944,2737,0,2819,0,0,0,0,0,0,0,0,0,0,0,29210,29210,29210,31143,29210,2737,0,0,2881,0,0,0,0,0,29210,29210,29210,29210,29210,31564,29210,29210,29210,29916,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29926,29210,29210,29210,29936,29210,29210,29940,29210,29210,29210,29210,29945,29210,29210,29210,29952,82480,82480,82480,84833,82480,82480,82480,29254,29254,29254,29254,29254,31594,29254,29254,29254,29210,0,0,0,0,0,0,0,0,2991,0,2993,29210,29254,29254,31600,29254,29254,29254,31604,0,0,0,0,0,0,2737,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,322,82480,84966,82480,82480,82480,82480,82480,82480,82480,29254,29254,29254,29254,31725,29254,29254,0,0,0,0,0,0,2598,0,0,0,0,0,0,0,394,0,0,0,0,0,394,0,0,78112,86306,0,0,0,0,0,296,297,0,0,300,301,0,0,0,0,0,0,805,0,0,0,0,0,0,0,0,0,377,0,0,0,0,0,0,0,0,0,41692,0,0,0,0,0,0,0,0,0,0,0,0,1,12290,3,78112,0,188416,29254,29254,29210,82480,29210,29210,29210,29210,29210,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,83214,82480,82480,82480,2737,0,0,0,0,0,0,0,0,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,30933,0,0,0,302,0,0,0,0,0,0,0,0,0,0,0,0,297,0,0,0,0,0,0,192969,192969,192969,192969,192969,192969,192969,192969,192969,192969,192969,192969,192969,192969,192969,192969,0,192969,0,1,12290,3,0,192969,192969,192969,0,0,192969,0,0,0,0,0,0,0,0,0,0,303,304,0,0,0,0,0,0,0,0,192969,192969,192969,192969,192969,192969,192969,192969,192969,0,192969,192969,192969,192969,192969,0,0,0,0,0,0,0,0,0,362,0,0,0,0,155648,0,37163,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,943,78112,86306,0,0,0,0,0,296,297,0,37163,300,301,0,0,0,0,0,0,822,0,0,0,0,0,0,0,0,0,245760,0,0,0,0,0,0,0,0,41692,37268,0,0,0,0,0,0,0,0,0,0,0,0,335,0,0,0,0,41692,29254,29254,29210,82480,29210,29210,29210,29210,29210,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,83621,82480,82480,82480,0,1130,0,0,0,0,0,0,0,0,0,0,0,0,0,0,305,306,87041,1463,0,0,0,1469,0,0,0,1475,0,0,0,1481,0,0,0,0,0,0,184723,184930,184930,184930,184930,184930,184930,184930,184930,184930,0,0,0,0,0,0,184930,0,184930,1,12290,3,78112,86306,0,0,0,0,0,0,0,0,0,0,0,739,0,0,0,0,0,0,1475,1867,0,0,0,0,1481,1869,0,0,0,0,0,0,0,1044,1166,0,0,0,0,0,0,1172,2250,0,0,0,0,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,0,304,0,304,0,0,0,0,0,0,0,0,0,304,0,0,0,0,0,0,229376,0,0,0,0,0,0,0,0,0,362,0,0,0,0,131072,131072,0,0,0,204800,204800,0,204800,204800,204800,204800,204800,204800,204800,204800,204800,204800,204800,204800,204800,205104,204800,204800,205103,205104,204800,205103,205103,204800,204800,0,0,0,0,0,0,0,0,0,362,0,302,0,0,0,0,0,632,0,0,0,0,0,296,297,151552,0,300,301,0,212992,0,0,0,0,0,764,0,0,0,0,0,0,0,0,0,0,1168,0,0,0,0,0,0,0,0,0,942,943,943,943,943,943,943,943,943,943,943,943,822,822,822,822,0,0,943,943,943,943,943,0,0,0,0,0,0,0,0,0,0,328,379,381,0,0,0,0,0,0,0,2200245,0,0,0,0,0,0,0,0,0,0,0,738,0,0,0,0,943,943,822,822,822,822,943,943,822,0,822,822,822,822,0,0,0,0,943,943,943,943,0,0,943,943,943,943,0,0,0,0,0,0,0,0,0,0,333,334,0,0,0,0,943,822,0,822,822,0,0,943,943,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,944,943,943,943,943,943,943,943,822,822,943,822,0,822,822,0,0,943,943,943,943,943,943,943,943,943,943,943,943,943,943,943,822,822,822,943,943,943,943,943,822,822,0,943,0,0,0,0,0,0,0,0,0,282624,282624,282624,282624,282624,282624,282624,282624,282624,282624,943,943,943,943,943,943,822,0,0,0,0,0,0,2737,0,0,0,0,0,0,0,0,0,0,0,0,0,822,822,822,822,822,943,943,943,943,943,943,822,0,0,0,0,0,0,0,0,0,0,0,822,943,943,943,943,943,822,0,0,0,0,0,0,822,822,822,822,822,822,822,822,822,822,822,822,0,0,0,0,943,822,0,0,0,0,0,822,822,822,822,822,822,0,0,0,0,0,0,0,943,943,943,943,943,943,943,943,943,943,943,943,943,943,943,943,0,0,0,943,943,943,943,943,943,0,0,0,0,822,822,822,943,0,822,0,943,0,822,0,943,0,822,0,943,0,822,0,0,0,0,943,943,943,943,0,0,822,822,0,0,943,943,822,0,822,822,822,822,822,0,0,0,0,0,0,0,0,0,0,0,0,0,0,306,305,0,221184,221184,0,0,0,0,0,0,0,0,0,221184,221184,0,0,221184,221184,221184,0,0,0,0,0,0,0,221184,0,0,221184,221184,221184,221184,221184,221184,221184,221184,221184,221184,221184,221184,221184,221184,221184,221184,221184,221184,221184,221184,221184,221184,221184,0,0,0,0,0,0,0,0,0,362,0,86306,0,0,0,0,0,0,0,221184,221184,221184,221184,221184,221184,221184,221184,221184,1,12290,3,0,0,0,0,0,773,0,0,0,0,0,0,0,0,0,0,686,0,0,0,328454,0,297,0,300,0,0,0,300,0,301,0,0,0,301,0,0,0,301,69632,139679,0,0,0,0,0,65536,0,0,0,0,98304,0,0,0,0,0,0,0,0,0,0,0,0,397,0,0,0,225738,225738,225738,225738,225738,225738,225738,225738,225738,225738,225738,225738,225738,225738,225738,225738,0,0,0,0,0,0,0,0,0,362,0,86306,0,0,0,345,237568,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1008,249856,249856,249856,249856,249856,249856,249856,249856,249856,249856,249856,249856,249856,249856,249856,249856,0,0,0,0,0,0,0,0,0,362,0,253952,0,0,0,0,241664,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1048,254411,254411,254411,254411,254411,254411,254411,254411,254411,254411,254411,254411,254411,254411,254411,254411,0,0,0,0,0,0,0,0,0,362,296,0,0,0,0,0,0,0,0,0,270336,0,0,296,297,0,0,300,301,200704,0,0,0,0,0,0,266240,0,0,0,0,0,0,0,0,0,0,266240,0,0,0,266240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,328,0,0,0,266240,0,0,0,0,0,0,0,0,0,1,12290,2113823,0,0,0,0,0,0,293,0,0,0,293,0,0,245760,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1079,274432,274432,274432,0,0,0,0,0,0,274432,0,274432,1,12290,3,0,0,0,0,0,782,0,0,0,0,0,0,0,786,0,0,800,0,0,0,0,0,800,800,0,0,0,0,29254,29254,29254,29254,29254,78112,87041,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,683,0,0,0,1867,0,0,0,0,0,1869,0,0,0,0,0,0,0,1078,0,0,1081,1082,0,0,0,1086,0,0,0,1556,0,0,0,0,0,0,0,0,1929,0,0,0,0,0,0,823,822,822,822,822,822,822,822,822,822,822,0,0,0,0,0,0,0,0,0,0,0,0,733,0,0,0,0,0,0,0,0,0,0,0,0,772,0,0,0,0,29254,29254,29254,29254,29254,288,87041,0,0,0,0,0,0,0,0,0,565248,0,0,0,0,0,0,78455,86306,0,0,0,0,0,296,297,0,0,300,301,0,0,0,0,0,0,823,29210,29210,29210,29210,29210,29210,29210,29210,29210,29538,29210,29210,29210,29210,29210,82480,1,12290,3,78113,86306,0,0,0,0,0,0,0,0,0,0,0,740,0,0,0,0,282624,282624,282624,282624,282624,282624,282624,282624,282624,282624,282624,282624,282624,282624,282624,282624,1,12290,3,0,282624,282624,282624,0,0,282624,0,0,0,0,0,0,0,0,0,0,369,0,0,370,0,0,0,0,0,0,282624,282624,282624,282624,282624,282624,282624,282624,282624,0,282624,282624,282624,282624,282624,0,0,0,0,0,0,0,0,0,362,336,86306,0,0,0,0,0,0,0,286720,286720,0,286720,286720,286720,286720,286720,286720,286720,286720,286720,286720,286720,286720,286720,286720,286720,286720,286720,286720,286720,286720,286720,286720,286720,0,0,0,0,0,0,0,0,0,362,362,362,0,0,0,0,2817,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1199,2878,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1363,0,0,0,306,0,0,0,0,0,305,0,305,306,0,305,305,0,0,0,305,305,306,306,0,0,0,0,0,0,305,405,306,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1500,0,0,0,306,410,0,0,69632,73728,0,0,0,0,0,65536,0,0,0,0,0,1046,0,0,0,0,0,0,0,0,0,1056,0,0,429,0,0,0,0,305,446,460,460,460,460,460,460,460,460,460,460,460,460,460,460,460,460,460,460,460,486,486,460,486,486,486,486,486,486,486,511,486,486,486,486,486,486,486,486,486,486,486,486,486,531,486,486,486,486,486,29212,29212,29212,82481,29256,29212,82481,29212,29212,82481,82481,82481,29276,29276,29276,29212,29256,29256,29256,29283,29283,29283,29283,29283,29283,29256,29212,82481,29212,29212,82481,29256,29212,29256,1,12290,3,78112,0,0,642,0,0,644,645,0,0,0,0,0,0,0,0,0,362,362,362,0,0,0,147456,0,0,0,0,687,0,0,0,0,362,362,362,0,0,696,0,0,0,0,0,1061,0,0,0,0,0,0,0,0,0,1070,0,642,0,0,0,0,0,0,0,0,0,0,0,0,0,757,0,0,760,0,0,0,0,766,0,0,770,0,0,0,0,776,0,0,0,0,780,0,0,0,0,0,0,0,784,0,0,0,0,0,0,0,0,0,0,0,0,0,0,727,0,0,784,0,0,0,0,644,0,0,0,0,0,0,799,0,0,0,0,0,0,622592,0,0,0,0,0,0,0,0,0,29210,29210,29210,29210,29506,29210,29210,644,0,0,0,0,0,814,780,0,0,0,0,0,818,819,780,0,0,0,0,780,728,780,0,29210,29210,29210,29501,29505,29210,29210,29210,29210,31174,29210,29210,29210,29210,82480,82480,82480,82480,84430,84431,82480,82480,82808,82812,82480,82480,82480,82480,82480,82832,82480,82836,82480,82841,82480,82844,82480,25938,0,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,30497,82480,82857,82480,82480,0,29254,29254,29254,29622,29626,29254,29254,29254,29254,29254,29646,29254,29650,29254,29655,29254,29658,29254,29254,29671,29254,29254,29210,29210,29210,29537,0,0,0,0,0,1076,0,0,0,0,0,0,0,0,0,0,2618,0,0,0,0,2622,0,0,29254,29626,29505,82812,29501,29685,29537,29210,29210,82808,82937,82844,82480,82480,29254,29254,29254,29254,0,0,0,0,0,0,0,0,2170,0,0,29622,29693,29658,29254,29254,78112,87041,0,0,1027,1031,0,0,1035,1039,0,0,0,362,362,0,0,0,0,0,0,0,1096,0,0,0,0,0,0,1047,1048,0,0,0,0,0,0,0,0,816,29210,29210,29210,29210,29210,29509,29210,0,1101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,750,0,1159,0,0,0,0,0,0,0,0,0,0,0,1170,0,0,0,0,0,0,1062,0,0,0,0,0,0,0,0,0,822,822,822,822,822,822,822,822,822,822,822,1188,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1897,0,0,0,0,1170,29874,823,29210,29210,29210,29210,29210,29210,29210,29210,29210,30327,29210,29210,700954,29210,29210,29210,83265,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,25938,29874,944,0,0,0,1513,0,0,0,0,0,0,0,0,0,0,0,0,1053,0,0,0,0,1560,0,0,0,0,0,0,0,0,0,0,0,0,0,0,773,0,0,0,29874,1614,29210,29210,29210,29210,29210,29210,29210,29210,30297,29210,29210,29210,29210,29210,29210,623130,29210,29210,29210,29210,29210,29210,29210,29210,29210,559817,29210,29210,29210,29210,875211,29210,82480,82480,82480,82480,83631,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,0,0,0,0,0,82480,82480,82480,82480,82480,82480,83660,82480,82480,83663,82480,82480,82480,82480,82480,82480,82480,83274,82480,82480,82480,82480,82480,25938,29874,944,82480,82480,82480,82480,83672,82480,82480,82480,82480,83677,82480,82480,82480,82480,82480,82480,82480,83634,82480,82480,82480,82480,82480,82480,82480,82480,83234,82480,82480,82480,82480,82480,82480,82480,82480,83649,82480,82480,700976,82480,82480,82480,82480,29254,29254,30515,29210,29210,29210,29254,29254,29210,82480,30523,29210,29210,29210,83775,82480,25938,0,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,30451,29254,29254,0,0,2594,0,0,0,0,0,2600,0,0,0,0,0,0,0,69632,73728,0,0,0,347,345,65536,0,0,0,1873,0,0,0,0,0,0,0,0,0,0,0,0,0,1113,0,1115,0,0,0,0,1900,0,0,0,0,0,0,0,0,0,0,0,741,0,0,0,0,1959,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1923,29210,29210,30688,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,30656,29210,82480,82480,82480,83960,82480,82480,83961,82480,82480,82480,82480,82480,82480,83968,82480,82480,29254,29254,29254,29254,0,0,0,1864,0,1028,0,0,0,1866,83983,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,83995,82480,82480,82480,29210,29210,29210,29210,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,31382,29254,29254,29254,29254,29254,29254,30777,29254,29254,30778,29254,29254,29254,29254,29254,29254,30785,29254,29254,29254,29254,29210,29210,82480,29254,0,0,0,0,0,0,0,2877,0,0,0,0,925696,0,0,0,2190,0,0,0,0,0,0,0,0,1019904,29210,29210,29210,29503,29507,29510,29210,2212,0,0,0,0,0,0,0,0,0,0,0,0,0,2224,2225,2250,0,0,0,0,29210,29210,29210,29210,29210,29210,30929,29210,29210,29210,29210,29210,29210,746010,29210,29210,29210,29210,29210,29210,29210,29210,29210,31673,29210,29210,29210,29210,82480,82480,82480,82480,29210,29210,29210,927985,29210,29210,29210,29210,29210,29210,29210,29210,30967,29210,29210,29210,29210,29210,30951,29210,29210,29210,29210,29210,29210,29210,30956,29210,29210,82480,82480,82480,82480,82480,82480,84223,82480,82480,82480,82480,82480,82480,82480,84231,82480,25938,0,29254,29254,29254,29254,29254,29254,29254,29254,29254,370418,29254,29254,29254,29254,29254,30067,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,30784,29254,29254,29254,29254,30789,0,29254,29254,29254,29254,29254,29254,31023,29254,29254,29254,29254,29254,29254,29254,31031,0,2409,0,0,0,0,2412,0,0,0,0,0,0,0,0,0,362,362,208896,0,0,0,0,2422,0,0,0,0,0,0,0,0,0,0,0,0,2431,0,0,0,0,0,0,921600,0,0,2749,0,954368,29210,29210,29210,29210,29210,30350,29210,29210,29210,29210,30355,29210,29210,29210,29210,29210,29210,30664,29210,30666,29210,29210,29210,29210,29210,29210,29210,29941,29210,29210,29210,29210,29210,29210,29210,29210,1028634,29210,29210,29210,29210,29210,29210,29210,31157,29210,29210,29210,29210,29210,29210,31164,29210,29210,29210,29210,29210,29210,29210,29210,30312,29210,29210,29210,29210,29210,29210,29210,82480,82480,84434,82480,82480,84437,82480,82480,82480,82480,82480,82480,82480,82480,84443,82480,25938,0,29254,29254,29254,29254,29254,29254,29254,30448,29254,29254,29254,29254,29254,29254,29254,848454,29254,29254,29254,29254,29254,29254,29254,29254,30463,29254,29254,29254,29254,29254,29254,29254,29254,30070,29254,29254,29254,29254,29254,29254,30078,82480,82480,82480,82480,82480,84450,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,83258,82480,82480,82480,82480,82480,29254,29254,31224,29254,29254,31227,29254,29254,29254,29254,29254,29254,29254,29254,31233,29254,0,29210,82480,29254,3114,31787,85036,31789,0,29210,82480,29254,0,29210,82480,25938,0,29254,29254,29254,29254,30445,29254,29254,29254,29254,29254,29254,29254,29254,922182,29254,29254,29254,29254,29210,29210,29210,31263,29254,0,0,0,0,0,0,0,0,0,0,0,0,0,2603,31318,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29928,31330,29210,31332,29210,29210,29210,29210,29210,29210,82480,82480,82480,82480,82480,82480,82480,29254,29254,29254,29254,29254,29254,29254,31596,29254,82480,82480,82480,82480,82480,82480,84593,82480,82480,82480,82480,82480,82480,82480,82480,82480,31690,29254,29254,29254,29254,29254,29254,82480,82480,82480,82480,82480,82480,84605,82480,84607,82480,82480,82480,82480,82480,82480,29254,29254,29254,29254,29254,29254,31647,29254,29254,29254,29254,29254,29210,0,0,0,0,0,0,29210,29210,29210,31738,0,0,2941,0,2943,0,29210,31617,29210,31618,29210,29210,29210,29210,29210,29210,29210,82480,82480,340528,82480,82480,82480,82480,84693,82480,29210,29210,31669,29210,29210,29210,29210,29210,29210,29210,29210,29210,82480,82480,82480,84929,3036,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,82480,82480,82480,82480,82480,82480,82480,307,308,309,0,0,0,0,0,0,0,0,0,0,0,0,0,1127,0,0,0,0,0,418,0,0,0,0,447,0,0,0,0,0,0,0,0,1118208,0,0,0,0,0,0,0,0,1134592,0,0,1134592,0,0,0,0,0,0,0,447,447,418,447,447,447,447,447,447,447,447,447,447,447,447,530,447,530,530,530,447,530,530,530,530,447,29213,29213,29213,82482,29257,29213,82482,29213,29213,82482,82482,82482,29213,29213,29213,29213,29257,29257,29257,29257,29257,29257,29257,29257,29257,29213,82482,29213,29287,82540,29257,29287,29298,1,12290,3,78112,0,0,0,0,1563,0,0,0,0,0,0,0,0,0,0,0,0,0,0,787,0,29210,30346,29210,29210,29210,29210,30351,29210,29210,29210,29210,29210,29210,29210,29210,29210,30653,29210,29210,30654,29210,29210,29210,83668,82480,82480,82480,82480,83673,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,83679,82480,82480,82480,82480,82480,29254,30498,29254,29254,29254,29254,30503,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,31475,29254,29254,29210,29210,29210,2240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1932,2250,0,0,0,0,29210,29210,29210,30927,29210,29210,29210,30930,29210,29210,29210,29210,29210,31322,29210,598554,29210,29210,29210,29210,29210,31327,29210,31329,82480,82480,82480,84221,82480,82480,82480,84224,82480,82480,82480,82480,82480,82480,82480,82480,82480,84768,82480,82480,82480,82480,82480,82480,0,29254,29254,29254,31021,29254,29254,29254,31024,29254,29254,29254,29254,29254,29254,29254,29210,29210,29254,29210,82480,31259,29210,84509,82480,82480,82480,82480,84932,82480,84934,82480,84936,82480,29254,29254,29254,29254,29254,29254,29254,29210,31255,29254,29210,82480,29210,29210,82480,82480,29254,29254,0,0,0,2406,0,0,413696,31696,29254,31698,29254,31700,29254,29210,0,0,0,0,0,0,0,0,0,364,0,0,0,0,0,0,0,0,0,310,311,312,313,314,315,316,317,318,319,0,0,0,0,0,0,1077,0,0,0,0,0,0,0,0,0,1516,0,0,0,0,0,0,0,310,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1055,0,0,0,313,0,0,0,0,0,0,0,0,0,0,0,0,0,1142,0,0,420,428,430,419,428,0,310,428,448,461,461,461,461,461,461,461,461,461,461,461,461,461,461,461,461,461,461,482,487,487,498,487,487,487,487,487,487,487,487,513,513,526,526,527,527,527,527,527,527,527,527,527,527,513,527,527,527,527,527,29214,29214,29214,82483,29258,29214,82483,29214,29214,82483,82483,82483,29214,29214,29214,29214,29258,29258,29258,29258,29258,29258,29258,29258,29258,29284,29285,82534,29285,29285,82534,29284,29285,29284,1,12290,3,78112,0,759,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1085,0,0,0,29254,29254,29210,82480,29210,29210,29538,29210,29210,82480,82480,82845,82480,82480,29254,29254,29254,29254,0,0,1467,0,0,0,0,0,1473,0,0,29254,29254,29659,29254,29254,78112,87041,0,0,0,0,0,0,0,0,0,909312,0,0,0,0,0,0,0,0,0,362,362,0,0,0,0,1094,1054,0,0,0,0,0,0,0,29210,29210,29210,82480,29254,29210,82480,29210,29210,0,0,1118,0,0,0,0,0,0,0,0,0,0,0,0,0,1498,0,0,0,0,0,1147,0,0,0,0,1151,0,0,0,0,0,0,0,0,1159168,0,1159168,0,0,0,0,1159168,0,0,1174,0,0,0,0,0,0,0,0,0,0,0,0,0,1507,0,0,0,0,0,0,1192,0,0,0,0,0,0,0,0,0,0,0,787,0,0,0,0,0,0,0,1174,0,29874,823,29210,29210,29878,29879,29210,29210,29210,29210,29210,29210,30676,29210,29210,29210,29210,29210,29210,29210,29210,29210,30340,29210,29210,29210,29210,29210,29210,83224,82480,82480,83228,82480,83230,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,83966,82480,82480,82480,82480,82480,29254,29254,30038,30039,29254,29254,29254,29254,29254,29254,29254,29254,30053,29254,30057,29254,3110,31783,85032,31785,0,29210,82480,29254,0,29210,82480,29254,0,29210,82480,29254,3118,31791,85040,31793,0,29210,82480,29254,30061,29254,30063,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29210,29210,29210,320070,0,0,0,0,1489,1490,0,0,0,0,0,0,0,0,0,0,403,0,0,0,0,0,0,0,1524,0,0,0,0,0,0,0,0,0,0,0,0,0,1547,0,0,0,1551,0,0,0,0,0,0,0,0,1556,0,0,0,0,0,0,0,0,0,0,0,0,351,352,353,354,0,0,0,0,1579,0,1581,0,0,0,0,0,0,1588,0,0,0,0,0,0,983040,0,0,0,0,0,0,0,0,0,2235,2236,0,0,0,0,0,0,29874,0,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,30299,29210,29210,29210,29210,31334,29210,29210,29210,29210,82480,82480,82480,84586,82480,82480,82480,82480,0,29254,29254,29254,29254,29254,29254,29254,29640,29254,29254,29254,29254,29254,30107,29254,29254,29254,29254,29254,29210,29210,29210,29210,0,82480,82480,82480,83644,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,83260,82480,82480,82480,82480,82480,82480,82480,83658,83659,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,84227,82480,82480,82480,82480,84232,29254,29254,29254,29254,30474,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29210,29210,29210,29938,0,82480,82480,82480,82480,82480,84002,84003,82480,82480,82480,82480,82480,82480,82480,82480,82480,83253,82480,82480,82480,82480,82480,82480,29254,29254,29254,30819,30820,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29210,29210,29678,29210,0,0,2173,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1143,0,0,2461,0,0,2464,0,0,0,2467,2250,0,29210,29210,29210,29210,29210,29210,29210,29210,29210,31714,29210,29210,82480,82480,82480,82480,82480,84447,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,25938,29874,944,29254,29254,31237,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29210,29210,29210,29254,29254,31264,0,0,0,0,0,2597,0,0,0,2601,0,0,0,0,0,0,0,286720,286720,0,286720,286720,1,12290,3,0,82480,82480,84590,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,639536,82480,84600,84601,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,29254,29254,29254,29254,29254,29254,29254,29254,29254,0,2747,0,0,0,0,0,0,0,0,0,0,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,84706,82480,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,30481,29254,31667,31668,29210,29210,29210,31671,29210,29210,29210,29210,29210,29210,82480,84927,84928,82480,25938,0,29254,30442,29254,29254,29254,29254,30447,29254,29254,29254,29254,29254,29254,29210,0,0,0,0,0,0,3033,0,0,82480,82480,84931,82480,82480,82480,82480,82480,82480,29254,31691,31692,29254,29254,29254,31695,31781,0,29210,82480,29254,0,29210,82480,29254,0,29210,82480,29254,0,29210,82480,29254,0,29210,82480,29254,888832,889370,889392,321,321,371,0,0,0,0,0,0,0,0,0,0,0,0,0,1600,0,0,0,0,431,371,0,436,442,0,449,462,462,462,462,462,462,462,462,462,462,462,462,462,462,462,462,462,462,462,488,488,499,488,488,488,488,488,488,488,488,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,29215,29215,29215,82484,29259,29215,82484,29215,29215,82484,82484,82484,29215,29215,29215,29215,29259,29259,29259,29259,29259,29259,29259,29259,29259,29215,82484,29215,29215,82484,29259,29215,29259,1,12290,3,78112,0,0,788,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1968,0,0,0,788,0,0,0,0,0,0,0,788,0,0,0,0,29210,29210,29210,29210,29210,29210,29210,29210,29210,31315,29210,29210,29210,29210,29210,29521,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,82480,82480,82480,82480,82480,83957,0,0,520192,0,0,0,0,0,0,0,0,1066,0,1068,1069,0,0,0,0,0,1105,0,0,0,0,0,0,0,0,1114,0,0,0,0,0,1121,0,0,0,0,0,0,0,0,0,0,823,0,0,0,0,0,0,1071,1072,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1144,0,0,0,0,0,0,741376,0,0,742442,0,1136,0,520192,1185,0,0,0,0,0,0,1134592,0,0,0,0,0,0,1134592,0,0,0,0,29210,29210,29913,29210,29210,29210,29210,742623,29210,29921,29210,29210,29924,29210,29210,29210,29210,29210,31440,29210,82480,82480,82480,82480,82480,82480,82480,82480,82480,83965,82480,82480,82480,82480,82480,82480,82480,82480,82480,520752,82480,82480,82480,82480,82480,82480,82480,82480,82480,83240,82480,82480,29254,29254,29254,29254,0,1863,0,0,0,0,0,1865,0,0,0,0,0,0,339968,0,2739,0,0,0,0,0,0,856064,82480,82480,742702,82480,83248,82480,82480,83251,82480,82480,82480,82480,82480,82480,82480,82480,83235,82480,82480,82480,82480,82480,82480,82480,29254,29254,311878,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29210,29210,31478,29254,520774,29254,29254,29254,29254,29254,29254,29254,29254,29254,30073,29254,29254,29254,29254,29210,29210,82480,29254,0,0,0,2875,0,0,0,0,0,0,0,524288,0,0,0,0,864256,0,0,0,742783,29254,30081,29254,29254,30084,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,30093,29254,29254,29254,29254,29254,1522,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1973,82480,83778,29254,29254,29254,30534,0,1863,0,0,0,0,0,1865,0,0,0,0,0,0,1146880,0,1146880,0,0,0,0,0,0,0,796,0,0,0,0,0,0,800,0,0,0,0,1867,0,0,0,0,0,1869,0,0,0,0,0,1872,0,0,0,0,1913,0,0,0,0,0,0,0,0,0,0,0,944,0,0,0,944,0,0,0,0,585728,0,0,0,0,0,0,0,0,0,0,0,1154,0,0,0,0,29210,30699,29210,30701,29210,29210,29210,29210,29210,29210,82480,82480,82480,82480,82480,82480,84882,82480,82480,82480,82480,82480,83959,82480,82480,82480,385584,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,84251,82480,82480,82480,82480,82480,82480,82480,82480,82480,83975,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,0,2344,0,0,0,29254,29254,29254,385606,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,30096,29254,29254,30100,29254,29254,30792,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,30468,29254,29254,2250,0,0,0,0,29210,29210,30926,29210,29210,29210,29210,29210,29210,29210,29210,30353,29210,29210,29210,29210,29210,29210,29210,82480,82480,84220,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,928031,82480,0,29254,29254,31020,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,30467,29254,29254,29254,82480,82480,82480,82480,82480,82480,832048,82480,82480,82480,82480,82480,84455,82480,82480,82480,29211,29211,29211,29211,29255,29255,29255,29255,29255,29255,29255,29255,29255,29211,82480,29211,29211,82480,29255,29211,29255,1,12290,3,78112,0,0,2605,0,0,0,0,0,0,0,0,0,0,0,0,0,1883,0,0,0,1052672,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1157,1158,82480,1053232,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,30800,29254,29254,29254,29254,29254,31543,29210,82480,29254,0,0,0,0,0,0,0,0,0,1105920,0,0,0,0,0,0,82480,82480,82480,82480,84933,82480,82480,82480,82480,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,31468,29254,29254,31697,29254,29254,29254,29254,29210,0,0,0,0,0,0,0,0,0,0,0,31666,323,324,325,0,0,0,0,0,0,0,0,0,0,0,0,0,1921,0,0,0,0,0,322,370,325,369,0,0,0,0,0,0,0,0,0,750,0,0,0,0,0,0,0,322,0,0,369,369,399,0,325,0,0,0,0,0,0,0,0,0,2200244,2200244,362,0,0,0,0,0,0,322,0,324,0,0,0,450,463,463,463,463,463,463,463,476,463,463,463,463,463,463,463,463,463,463,463,489,489,463,489,489,504,506,489,489,504,489,515,515,515,515,515,515,515,515,515,515,515,515,515,532,515,515,515,515,515,29216,29216,29216,82485,29260,29216,82485,29216,29216,82485,82485,82485,29216,29216,29216,29216,29260,29260,29260,29260,29260,29260,29260,29260,29260,29216,82485,29216,29216,82485,29260,29216,29260,1,12290,3,78112,655,0,0,0,0,0,0,0,0,0,0,665,666,0,0,0,0,0,0,1150,0,0,0,0,0,0,0,0,0,1567,0,0,0,0,0,0,0,0,699,700,0,0,0,0,0,706,0,0,0,710,0,712,0,0,0,761,0,0,0,767,768,0,0,0,0,0,775,0,0,0,815,709356,815,0,29210,29210,29210,29502,29210,29508,29210,777,0,0,0,0,0,0,0,0,0,0,0,0,0,0,602112,0,708608,0,765952,0,0,0,0,708608,765952,0,0,0,765952,765952,708608,765952,0,699,0,0,804,0,0,0,0,0,804,804,807,0,0,0,0,0,0,1159168,414,414,0,0,0,0,0,414,0,0,777,0,0,0,0,0,815,0,0,0,0,0,0,0,0,0,2200245,151552,2200245,0,0,0,151552,29210,602650,29210,709462,29210,766490,29210,29210,29536,29539,29544,29210,29551,29210,29210,82480,83612,82480,82480,82480,82480,83617,82480,82480,82480,82480,82480,82480,82480,0,2096,29254,29254,29254,29254,29254,29254,29254,30086,29254,29254,29254,29254,29254,29254,29254,29254,30089,29254,29254,29254,29254,29254,29254,29254,82480,82809,82480,82815,82480,82480,602672,82480,709521,82480,766512,82480,82480,82843,82846,82851,82480,82858,82480,82480,0,29254,29254,29254,29623,29254,29629,29254,29254,602694,29254,709583,29254,766534,29254,29254,29657,29660,29665,29254,29672,29254,29254,29210,29210,29210,29539,0,0,0,0,0,1136,1138,0,0,0,0,0,0,0,0,0,384,0,0,0,0,0,384,0,0,29254,29254,29210,82480,29502,29210,29686,29544,29210,82809,82480,82938,82851,82480,25938,1766,29254,29254,29254,29254,29254,29254,29254,29254,30449,29254,29254,29254,29254,29210,29210,82480,29254,0,0,0,0,0,0,0,0,0,254411,254411,254411,254411,254411,254411,254411,254411,254411,1,12290,0,0,0,29623,29254,29694,29665,29254,78112,87041,0,0,0,0,0,0,0,0,304,304,304,0,0,0,0,0,1100,0,0,0,0,0,0,0,0,1109,0,0,0,0,0,0,0,1107,0,0,0,0,0,0,0,0,180224,0,0,0,0,0,0,0,82480,83225,82480,82480,83229,82480,82480,82480,82480,82480,82480,82480,82480,82480,83243,82480,25938,1767,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,963142,82480,82480,82480,83269,82480,82480,82480,82480,82480,82480,83278,82480,82480,25938,29874,944,29254,29254,30062,29254,29254,29254,29254,29254,29254,29254,29254,29254,30076,29254,29254,29254,29210,0,0,0,0,0,2988,0,0,0,0,0,29210,30925,29210,29210,29210,29210,29210,29210,30931,29210,29210,29254,30102,29254,29254,29254,29254,29254,29254,30111,29254,29254,29210,29210,29210,29210,0,0,0,0,0,1149,0,0,0,0,1153,0,0,0,0,0,0,0,69632,73728,0,0,0,343,342,65536,341,0,1487,0,364544,0,0,0,0,0,0,0,0,0,0,0,0,1067,0,0,0,503808,0,0,0,0,0,0,1503,0,0,1505,786432,1506,0,1508,1509,0,0,0,0,1514,0,0,0,0,0,0,0,0,0,0,0,1182,0,0,0,0,0,0,0,0,1526,0,0,0,0,0,1531,0,0,1534,0,1536,0,0,0,0,0,787938,1540,0,0,0,0,0,0,0,0,1549,1550,0,0,0,0,0,0,1036288,0,0,1556,0,0,0,0,1558,1559,0,0,0,0,0,0,0,0,0,0,1569,0,1571,0,0,0,0,0,325,0,69632,73728,0,0,0,0,0,65536,0,1603,917504,0,0,0,0,0,0,0,0,0,1595,0,0,1612,364544,29874,0,30289,29210,30291,30292,29210,30294,29210,29210,29210,365082,29210,29210,29210,29210,29210,31571,29210,29210,82480,82480,84824,82480,82480,82480,84828,82480,30318,29210,29210,29210,29210,29210,29210,29210,30325,30326,30328,29210,29210,29210,29210,30331,788092,29210,29210,30334,30335,29210,29210,29210,29210,29210,29210,29210,30343,29210,29210,29210,29210,29210,84877,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,83256,82480,82480,82480,82480,82480,967194,29210,29210,29210,29210,29210,29210,1037968,29210,29210,29210,29210,29210,29210,29210,29210,30679,29210,29210,29210,29210,29210,29210,29210,29210,30362,83611,82480,83613,83614,82480,83616,82480,82480,82480,365104,82480,82480,82480,82480,0,0,0,0,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,31027,29254,29254,29254,29254,82480,82480,82480,82480,82480,83632,82480,82480,82480,504368,82480,82480,82480,83639,82480,83640,82480,82480,83656,83657,82480,82480,82480,82480,82480,82480,82480,83665,82480,82480,82480,967216,82480,82480,82480,82480,82480,82480,1038042,82480,82480,82480,82480,82480,82480,82480,82480,82480,83992,83993,82480,82480,82480,82480,82480,83684,25938,0,30441,29254,30443,30444,29254,30446,29254,29254,29254,365126,29254,29254,29254,29210,0,0,2986,0,0,0,0,0,0,2992,0,29210,30470,29254,29254,29254,29254,29254,29254,29254,30477,30478,30480,29254,29254,29254,29254,30483,788244,29254,29254,30486,30487,29254,29254,29254,29254,29254,29254,29254,30495,29254,29254,29254,29210,2984,2985,0,0,0,0,0,0,0,0,0,29210,29210,29210,29210,29210,29210,29514,967238,29254,29254,29254,29254,29254,29254,1038120,29254,29254,29254,29254,29254,29254,29254,29254,30091,29254,29254,29254,29254,29254,29254,29254,29254,30514,29210,29210,30517,29210,30519,29254,29210,82480,30335,29210,30525,29210,83657,82480,25938,1767,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,30452,30453,83777,82480,30487,29254,30533,29254,0,1863,0,0,0,0,0,1865,0,0,0,0,0,326,0,0,0,0,0,0,0,0,0,0,664,0,0,0,0,0,0,0,0,1874,0,0,1877,1878,0,0,0,1882,0,0,0,0,0,0,0,606208,0,2607,0,0,0,0,0,0,0,2466,0,2250,0,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,31715,29210,82480,82480,82480,0,0,937984,0,0,0,0,0,0,0,0,0,0,0,0,0,1945,0,0,0,0,1911,0,0,0,1915,0,0,0,0,0,0,0,0,0,1048,0,0,0,0,0,0,0,0,0,1556,0,0,0,0,0,0,0,1093632,0,0,1931,0,0,0,0,0,1164,0,0,0,0,0,0,0,0,0,0,396,0,0,0,0,0,0,1934,0,0,0,0,0,0,1940,0,1942,0,0,0,0,0,0,0,29229,29229,29229,82498,29273,29229,82498,29229,29229,0,0,0,1950,0,0,0,0,0,0,0,0,0,1878,0,1958,30686,29210,29210,29210,29210,29210,29210,938522,29210,29210,29210,29210,29210,29210,29210,29210,30693,29210,29210,29210,29210,29210,29210,29210,83971,82480,83973,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,83651,82480,82480,82480,938544,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,1073712,82480,25938,1768,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,725574,29254,29254,82480,1094192,1098288,82480,0,0,0,0,29254,29254,29254,29254,29254,29254,29254,29254,30464,29254,29254,29254,29254,29254,29254,29254,30790,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,30513,1098310,29254,29210,29210,29210,29210,29254,30781,30657,83964,29210,30837,29210,29210,82480,84087,2197,0,0,0,0,2202,0,2204,2205,0,0,0,0,0,0,0,0,1159168,362,0,0,0,0,0,0,2250,0,0,0,0,29210,29210,29210,29210,29210,348698,29210,29210,29210,29210,29210,29210,31163,29210,29210,29210,29210,29210,901658,29210,29210,29210,82480,82480,82480,82480,82480,348720,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,84440,82480,82480,84442,82480,82480,82480,455216,82480,84235,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,83281,25938,29874,944,82480,82480,750128,82480,82480,84247,82480,82480,82480,897584,82480,82480,82480,82480,82480,82480,82480,83675,82480,82480,82480,82480,82480,82480,82480,82480,84767,82480,82480,82480,82480,82480,82480,82480,971312,82480,82480,82480,82480,84259,82480,82480,82480,82480,82480,0,2344,0,0,0,0,0,0,1203,0,0,0,0,0,0,0,0,0,296,0,0,0,300,0,0,0,29254,29254,29254,29254,29254,348742,29254,29254,29254,29254,29254,29254,29254,29254,29254,29674,29254,29210,29210,29210,29210,0,29254,29254,455238,29254,31035,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29210,29210,30117,29210,0,29254,29254,29254,750150,29254,29254,31047,29254,29254,29254,897606,29254,29254,29254,29254,29254,29210,0,0,0,0,3062,0,29210,29210,29210,29210,31711,29210,29210,29210,29210,29210,29210,29210,82480,82480,82480,82480,82480,82480,83209,82480,82480,82480,82480,82480,83221,82480,29254,971334,29254,29254,29254,29254,31059,29254,29254,29254,29254,29254,29210,29210,29210,29254,29210,0,0,0,0,0,29210,29210,31759,31760,29210,29210,82480,82480,85011,0,446464,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1186,0,0,0,2462,2463,0,0,0,0,0,2250,0,29210,29210,29210,29210,29210,29210,31712,29210,31713,29210,29210,29210,82480,82480,82480,82480,82480,82480,82480,84449,82480,82480,82480,82480,82480,901680,82480,82480,82480,82480,82480,82480,82480,84261,82480,82480,82480,0,2344,0,0,0,29254,29254,29254,29254,31239,29254,29254,29254,29254,29254,901702,29254,29254,29254,29254,29254,29210,29210,29254,29210,82480,31392,29210,84642,82480,31396,29254,0,0,0,0,1077248,0,0,0,0,0,0,2609,880640,2610,0,950272,0,2612,0,0,0,0,0,0,0,0,0,2612,0,0,0,0,0,0,0,704512,0,0,0,0,0,0,0,0,196608,0,0,0,0,0,0,0,0,0,0,0,696320,0,0,0,0,2631,372736,0,659456,0,0,483328,0,0,2636,29210,29210,29210,29210,29210,29210,373274,29210,29210,29210,422426,29210,29210,29210,29210,31428,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,541210,29210,29210,30947,29210,29210,31321,29210,29210,29210,29210,29210,659994,29210,29210,29210,29210,29210,29210,29210,30338,29210,29210,30341,29210,29210,29210,29210,29210,29210,31331,31333,29210,29210,31335,29210,1069594,1077786,82480,82480,82480,82480,82480,82480,373296,82480,82480,82480,422448,82480,82480,82480,82480,84596,82480,82480,82480,82480,82480,660016,82480,82480,82480,82480,2092,0,0,0,29254,29254,29254,29254,29254,29254,29254,29254,29254,31026,29254,29254,31029,31030,29254,29254,29254,29254,29254,29254,373318,29254,29254,29254,422470,29254,29254,29254,29254,31375,29254,29210,0,0,0,0,0,307738,29210,29210,29210,29210,29210,307760,82480,82480,29254,29254,29254,29254,1463,1863,0,0,0,0,1469,1865,0,0,0,0,0,0,225888,225888,225888,225888,225888,225888,225888,225888,225888,225888,225738,225738,225738,225738,225738,225738,225905,225738,225905,1,12290,3,0,29254,29254,29254,29254,660038,29254,29254,29254,29254,29254,29254,29254,29254,31385,31387,29254,29210,0,0,3083,0,3085,29210,29210,29210,29210,29210,29210,82480,82480,82480,82480,29254,29254,29254,29254,3106,0,29210,31779,82480,85028,29254,29254,31389,29254,1069638,1077830,31390,29210,29254,29210,82480,29210,31393,82480,84643,29254,31397,0,0,729088,1060864,0,0,0,0,0,0,0,0,29210,29210,340506,29210,29210,29210,30306,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29947,29210,29210,29210,29210,29210,29210,31427,29210,29210,29210,29210,29210,29210,29210,29210,29210,760522,29210,29210,29210,29210,31439,29210,29210,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,83624,29254,29254,29254,760558,29254,29254,29254,29254,29254,29254,29254,29254,29254,29210,31477,29210,29210,29210,30321,29210,29210,29210,30324,29210,29210,672282,29210,29210,29210,29210,29210,29210,31672,29210,31674,29210,31676,29210,82480,82480,82480,82480,29254,29254,29254,29254,0,614400,29210,29210,82480,82480,29254,2737,0,0,0,0,2822,0,0,2824,0,0,0,0,0,29210,29210,29210,29210,31570,29210,29210,29210,82480,82480,82480,82480,82480,84827,82480,82480,29254,29254,29254,29254,0,0,0,0,0,0,0,0,0,0,0,868352,2602,0,84775,82480,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,31054,29254,29254,29254,31542,29254,29210,29210,82480,29254,0,0,0,0,0,651264,782336,0,0,0,0,0,1193,0,0,0,1195,0,0,0,1197,0,0,0,0,0,439,0,0,451,467,467,467,467,467,467,467,467,467,477,467,467,467,467,467,467,2737,0,0,0,0,0,2884,0,0,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,82480,82480,82480,82480,31566,29210,29210,29210,29210,29210,29210,29210,82480,82480,82480,82480,82480,82480,82480,84829,82480,82480,82480,84889,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,30786,29254,29254,29254,29254,29254,31654,29210,0,0,0,0,495616,0,0,0,0,0,0,29210,29210,29210,30349,1004058,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,975386,29210,29210,1024538,29210,29210,82480,496176,82480,82480,82480,82480,82480,82480,82480,29254,29254,29254,29254,29254,496198,29254,29210,0,929792,0,0,0,29210,31758,29210,29210,29210,930330,82480,85010,82480,82480,82480,82480,2093,0,0,0,29254,29254,29254,29254,29254,29254,29254,29254,31038,29254,29254,29254,29254,31042,29254,29254,29254,0,31709,352794,31710,29210,29210,512538,29210,762394,29210,29210,29210,29210,84964,352816,84965,82480,82480,512560,82480,762416,82480,82480,82480,82480,31723,352838,31724,29254,29254,512582,29254,29210,3082,0,0,0,0,29210,29210,29210,29210,31761,29210,82480,82480,82480,82480,0,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,31028,29254,29254,29254,762438,29254,29254,29254,29254,31730,0,0,0,0,0,0,29210,29210,29210,29210,29210,31620,29210,29210,29210,31624,82480,82480,930352,29254,31766,29254,29254,29254,930374,0,0,0,0,29210,29210,29210,31311,29210,29210,29210,29210,29210,29210,29210,29210,29210,82480,84427,82480,82480,82480,82480,82480,0,0,0,326,327,0,0,0,0,0,0,0,0,0,0,0,1532,0,0,0,0,0,366,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1499,0,0,0,0,366,0,0,0,374,376,0,0,0,0,0,0,0,296,297,0,0,300,301,0,0,0,0,0,409,0,0,0,409,69632,73728,0,366,366,0,421,65536,366,0,0,366,421,496,500,496,496,505,496,496,496,505,496,421,421,0,327,421,0,0,421,421,0,0,0,0,0,0,0,296,297,0,0,300,301,0,0,217088,421,421,421,421,421,421,421,421,421,421,421,421,421,421,421,421,29217,29217,29217,82486,29261,29217,82486,29217,29217,82486,82486,82486,29217,29217,29217,29217,29261,29261,29261,29261,29261,29261,29261,29261,29261,29217,82486,29217,29217,82486,29261,29217,29261,1,12290,3,78112,0,0,806912,0,0,0,0,0,0,0,0,0,0,0,0,0,1970,0,0,0,0,773,0,0,0,0,0,0,29210,29210,29496,29210,29210,29210,29210,29210,29210,987674,29210,29210,29210,29210,29210,29210,29210,29210,29210,82480,82480,84585,82480,82480,82480,82480,29210,29210,627226,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,82480,82480,83954,82480,82480,82480,82803,82480,82480,82480,82480,82480,82480,627248,82480,82480,82480,82480,82480,82480,82480,82480,83635,82480,82480,82480,82480,82480,82480,82480,0,0,29617,29254,29210,82480,29210,29210,29210,29210,29210,82480,82480,82480,82480,82480,82480,82480,82480,82480,370340,82480,82480,82480,82480,0,0,0,362,362,0,0,0,0,0,1055,0,0,0,0,0,0,0,29231,29231,29231,82500,29275,29231,82500,29231,29231,0,0,0,0,1951,0,0,0,0,0,0,0,0,0,0,0,1545,0,0,0,0,82480,82480,83986,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,84254,82480,82480,30803,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,30801,29210,29210,30960,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,30684,29210,82480,82480,82480,307782,29254,29254,29254,29254,29254,0,0,0,0,29210,29210,29210,438810,29210,29210,29210,29210,29210,29210,29210,934426,82480,82480,82480,422,422,0,0,422,437,0,422,422,464,464,464,464,464,464,464,464,464,464,464,464,464,464,464,464,464,464,464,490,490,464,490,490,490,490,490,490,490,490,490,490,490,490,490,490,490,490,490,490,490,490,490,490,490,29218,29218,29218,82487,29262,29218,82487,29218,29218,82487,82487,82487,29218,29218,29218,29218,29262,29262,29262,29262,29262,29262,29262,29262,29262,29218,82487,29218,29218,82487,29262,29218,29262,1,12290,3,78112,0,29254,29254,29254,29254,29254,78112,87041,0,0,1028,1032,0,0,1036,1040,0,29874,1615,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,30946,29210,82480,83984,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82845,82480,29210,963098,29210,29210,29210,29210,29210,29210,29210,82480,82480,82480,82480,82480,82480,82480,82480,84694,978944,0,0,0,0,0,516096,0,0,0,0,0,0,0,0,0,1504,0,0,0,0,0,0,1032192,0,0,299008,0,1056768,0,0,0,0,0,0,0,2621,0,0,0,0,0,328,329,330,0,0,0,0,0,0,0,0,657,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2625,0,0,0,0,0,0,0,0,0,0,0,0,0,1971,0,0,0,0,0,299546,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,725530,29210,29210,29210,29210,29210,516634,29210,29210,29210,29210,29210,29210,29210,29210,836122,29210,29210,29210,29210,29210,467482,29210,29210,29210,29210,29210,31509,29210,29210,29210,29210,29210,29210,1053210,82480,82480,82480,82480,82480,82480,82480,82480,82480,83978,82480,82480,82480,82480,82480,82480,29210,29210,29210,1032730,29210,29210,1057306,29210,29210,299568,82480,82480,82480,82480,82480,82480,82480,83962,82480,83964,82480,82480,82480,82480,82480,82480,82480,83661,82480,82480,82480,82480,82480,82480,82480,82480,83662,82480,82480,82480,82480,82480,82480,82480,82480,82480,836144,82480,82480,82480,82480,82480,82480,1032752,82480,82480,1057328,82480,82480,299590,29254,29254,1057350,29254,29254,29210,29210,29254,29210,82480,29210,29210,82480,82480,29254,29254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,823,0,0,0,0,331776,0,0,0,0,0,0,0,29210,332314,29210,29210,29210,29210,487962,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,509899,29210,533018,29210,29210,29210,29210,909850,29210,29210,29210,29210,29210,29210,82480,332336,82480,82480,82480,82480,82480,82480,82480,0,0,29254,29254,29254,31219,29254,29254,29254,82480,82480,82480,82480,559835,82480,82480,82480,82480,875229,82480,909872,82480,82480,82480,82480,0,0,0,0,29254,29254,29254,29254,29254,29254,29254,30776,29254,29254,29254,29254,875247,29254,909894,29254,29254,29254,29254,29254,29254,29210,29210,29210,29210,29254,29254,29210,82480,29210,29210,29210,29210,82480,82480,82480,82480,29254,29254,29254,29254,2737,0,0,2820,0,0,0,0,0,0,0,466944,0,0,29210,29210,29210,29210,496154,29210,29210,29210,29210,29210,29210,29210,82480,82480,82480,82480,389680,84691,82480,82480,82480,684,0,0,0,0,688,0,0,0,362,362,362,0,0,0,0,0,0,0,970752,0,0,0,2221,0,0,0,0,0,0,0,667648,475136,0,0,0,29210,29210,29210,29210,29210,31312,29210,29210,29210,29210,29210,29210,29210,31431,29210,29210,29210,29210,29210,29210,29210,29210,29920,29210,29210,29210,29210,29210,29210,29210,82480,82480,82813,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,922160,82480,82480,0,0,29254,29627,29506,82813,29210,29210,29210,29210,29552,82480,82480,82480,82480,82859,82480,0,29254,29254,29254,29254,29627,29254,29254,29254,29254,29254,29254,29210,0,0,0,0,0,0,0,0,3035,0,29254,29254,29254,29254,29673,78112,87041,0,0,0,0,0,0,0,0,400,0,0,0,0,0,0,0,0,0,1102,0,0,0,0,0,0,0,0,0,0,0,0,0,2183,0,0,29210,29933,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,30685,0,0,1110016,0,0,0,0,0,0,0,0,0,0,0,0,0,2223,0,0,0,0,1111620,0,0,0,0,0,0,0,0,0,0,0,0,0,2442,0,0,1110554,29210,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82850,82480,1110598,29254,29210,29210,29210,29210,29254,29254,29210,82480,29210,29210,29210,29210,82480,82480,29254,29254,0,393216,0,0,0,0,0,0,0,0,0,1966,0,0,0,0,0,0,376832,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2184,82480,82480,82480,82480,377392,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82839,82480,82480,82480,82480,29254,29254,377414,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,30496,29254,29254,0,0,2199,0,0,0,0,0,0,0,0,0,0,0,0,0,2457,0,0,82480,82480,999984,82480,82480,82480,82480,82480,82480,82480,82480,0,0,0,0,0,0,0,33402,297,0,0,49790,301,0,0,0,29254,29254,29254,1000006,29254,29254,29254,29254,29254,29254,29254,29254,29210,29210,29210,29254,29210,82480,29210,31070,82480,84320,29254,31074,0,0,0,0,0,0,0,635,636,0,0,639,640,0,0,0,0,0,569344,0,0,0,0,0,0,0,0,0,0,0,0,0,2632,0,0,0,0,839680,0,0,0,0,0,0,0,0,0,0,0,0,0,2733,2734,0,29210,84727,82480,31480,29254,0,0,0,0,0,0,0,0,0,0,0,1895,0,0,0,0,82480,1040944,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,31247,29254,29254,29254,29254,1040966,29210,29210,82480,29254,0,0,0,0,0,0,0,0,455,1147352,1147352,1147352,1147352,1147352,1147352,1147352,465,465,483,491,491,483,491,491,491,491,491,491,491,491,516,524,524,524,524,524,524,524,524,524,524,524,524,524,533,524,524,524,524,524,29219,29219,29219,82488,29263,29219,82488,29219,29219,82488,82488,82488,29219,29219,29219,29219,29263,29263,29263,29263,29263,29263,29263,29263,29263,29219,82488,29219,29219,82488,29263,29219,29263,1,12290,3,78112,0,0,0,762,0,0,765,0,0,769,0,0,0,0,0,0,0,1541,0,0,0,0,0,0,0,0,1892,0,0,0,0,0,0,0,0,786,0,0,0,0,0,0,816,782,0,0,816,0,0,0,0,0,0,1491,1492,0,0,0,0,0,0,0,0,1049,1050,1051,1052,0,0,0,0,29516,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29553,29210,82480,561712,877104,82480,29254,561734,877126,29254,0,0,29210,29210,82480,82480,29254,29254,0,0,0,0,0,0,0,0,2814,2815,0,82480,82480,82480,82816,82480,82823,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,84609,82480,82480,82480,82480,29254,82480,82480,82860,82480,0,29254,29254,29254,29254,29254,29630,29254,29637,29254,29254,29254,29254,29254,29254,553542,29254,29254,30797,29254,29254,29254,29254,29254,29254,29210,352256,3031,0,0,761856,0,0,0,0,0,0,29254,29254,29210,82480,29210,29210,29210,29687,29553,82480,82480,82480,82939,82860,0,29254,29254,29254,29695,29674,78112,87041,0,0,0,0,0,0,0,0,658,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1116,0,0,0,0,0,0,0,1123,0,0,0,0,0,0,0,304,204800,0,0,0,0,0,0,0,0,315392,0,0,0,0,0,0,0,0,692224,0,0,0,0,0,0,0,0,724992,0,0,0,0,0,0,0,0,1007616,0,0,1518,0,1089536,0,0,0,0,0,1175,0,0,0,1179,0,0,0,0,0,0,0,0,676,677,678,0,0,0,682,0,0,0,0,1191,0,0,0,0,0,0,0,0,0,0,0,0,1083,1084,0,0,29210,29887,29210,29210,29210,29210,29210,29210,29210,29210,29904,29210,29210,29210,29210,29210,29210,31323,29210,29210,29210,29210,29210,29210,29210,29210,29210,31165,29210,29210,29210,29210,29210,29210,29911,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29931,82480,82480,82480,82480,82480,83231,82480,82480,82480,82480,82480,83238,82480,82480,82480,82480,0,0,0,0,29254,29254,29254,29254,29254,30774,29254,29254,82480,83267,82480,82480,82480,82480,83272,82480,82480,82480,83279,82480,82480,25938,29874,944,29254,29254,29254,30064,29254,29254,29254,29254,29254,30071,29254,29254,29254,29254,29254,29254,29210,0,0,0,0,0,0,0,3034,0,29254,29254,29254,29254,30105,29254,29254,29254,30112,29254,29254,29210,29210,29210,29210,0,0,0,0,0,1494,0,0,0,0,0,0,0,0,0,0,1972,29210,29210,29210,29210,29210,1510,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2196,0,0,0,1525,0,0,0,0,0,0,0,0,0,0,1535,0,0,0,0,0,1515,0,0,0,0,0,0,0,0,0,0,1140,0,0,0,0,0,0,0,0,1552,0,0,0,0,0,0,0,0,0,0,0,0,1112,0,0,0,0,1575,0,0,0,0,0,0,0,0,0,0,0,0,1589,0,0,0,0,0,1527,0,0,0,0,0,0,0,0,0,0,1517,0,0,0,0,0,1590,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1602,29210,29210,30333,29210,29210,29210,29210,29210,29210,29210,29210,30342,29210,29210,29210,29210,29210,29938,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29922,29210,29210,29210,29210,29210,29210,29210,30348,29210,29210,29210,29210,29210,29210,29210,29210,30356,30358,29210,29210,29210,29210,29210,971290,29210,29210,29210,29210,30965,29210,29210,29210,29210,29210,29210,31176,29210,29210,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,83217,82480,82480,82480,82480,82480,83629,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,83638,82480,82480,82480,82480,83655,82480,82480,82480,82480,82480,82480,82480,82480,83664,82480,82480,82480,82480,82480,82480,82480,84451,82480,82480,82480,82480,82480,82480,82480,82480,84262,82480,82480,0,2344,0,0,0,82480,83670,82480,82480,82480,82480,82480,82480,82480,82480,83678,83680,82480,82480,82480,82480,0,0,0,0,29254,29254,29254,30772,29254,29254,29254,29254,29210,29210,82480,29254,0,2873,0,0,2876,0,0,0,29254,29254,29254,29254,30459,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29496,29210,29210,29210,0,29254,29254,30485,29254,29254,29254,29254,29254,29254,29254,29254,30494,29254,29254,29254,29254,29210,29210,82480,29254,2872,0,2874,0,0,0,0,0,0,0,69632,73728,0,367,367,0,0,65536,367,29254,29254,30500,29254,29254,29254,29254,29254,29254,29254,29254,30508,30510,29254,29254,29254,29254,29254,29254,623174,29254,29254,29254,29254,29254,29254,29254,29254,29254,31243,29254,29254,29254,29254,29254,29254,1909,0,0,0,0,0,0,0,1916,0,0,0,0,0,0,0,344,0,402,0,0,0,0,0,402,1924,0,0,0,0,0,0,0,0,0,0,0,0,1930,0,0,0,0,0,344,0,0,0,0,0,0,0,0,0,0,1544,0,0,0,0,0,82480,82480,84e3,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,942640,82480,82480,84010,82480,82480,82480,0,0,0,0,29254,29254,29254,29254,30773,29254,29254,29254,29254,29254,29254,832070,29254,29254,29254,29254,29254,31245,29254,29254,29254,29210,0,0,0,0,0,0,0,2990,0,0,0,29210,305741,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,680474,29210,29210,29210,29210,30817,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,30827,29254,29210,82480,31069,29210,84319,82480,31073,29254,2403,2404,0,0,0,0,0,0,0,69632,73728,0,135168,135168,0,0,65536,135168,2185,0,0,2187,0,2188,0,0,0,0,2191,0,0,2194,0,0,0,0,0,373,0,0,0,0,365,0,382,0,348,0,0,2198,0,0,0,0,0,0,0,0,0,0,2209,0,0,0,0,0,0,1528,0,1530,0,0,0,1533,0,0,0,0,0,0,1554,0,1555,0,0,0,1557,0,740,0,0,0,0,0,2215,0,2217,0,0,0,0,0,0,0,0,0,1596,0,0,0,0,0,0,2226,2227,0,0,2230,0,0,2233,0,0,0,0,0,0,0,0,705,0,0,0,0,0,0,0,0,2241,0,0,0,0,0,0,0,0,0,2247,0,0,0,0,0,0,0,1003520,0,0,0,0,0,0,0,0,2246,0,0,0,0,0,0,0,30948,29210,29210,29210,29210,29210,29210,29210,29210,29210,30954,29210,29210,29210,29210,29210,29210,31504,29210,29210,29210,29210,29210,29210,29210,29210,29210,30964,29210,29210,29210,29210,29210,29210,29210,30959,29210,29210,29210,29210,29210,29210,30963,29210,29210,30966,29210,29210,29210,29210,29210,29939,29210,29210,29210,29210,29210,29210,29210,29949,29950,29210,84218,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,29254,82480,82480,82480,82480,82480,82480,84238,82480,82480,82480,82480,84242,82480,82480,82480,82480,0,0,0,0,29254,29254,30771,29254,29254,29254,29254,29254,29254,30085,29254,29254,29254,29254,29254,29254,29254,30099,29254,82480,82480,82480,82480,82480,84248,82480,82480,82480,82480,82480,82480,84253,82480,82480,82480,29254,29254,29254,29254,29254,29254,0,0,0,0,29210,29210,29210,29210,344602,29210,29210,29210,31314,29210,29210,29210,29210,82480,82480,82480,84257,82480,82480,84260,82480,82480,82480,82480,0,0,0,0,0,0,0,69632,73728,0,0,0,0,0,65536,0,0,31018,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,942662,29254,29254,29254,29254,29254,31057,29254,29254,31060,29254,29254,29254,29254,31064,29210,29210,29254,29254,29210,30516,29210,29210,29254,29254,29210,82480,29210,29210,29210,29210,82480,82480,29254,29254,340550,29254,29254,29254,29254,31463,29254,29254,29254,29254,29254,29254,29210,0,0,0,0,0,0,0,0,0,0,0,29210,31066,31067,84316,29210,29210,82480,82480,29254,29254,0,0,2405,0,0,0,0,0,0,0,1048576,0,0,0,0,0,0,0,0,331,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2211,29210,29210,31147,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,30969,29210,29210,31158,31159,29210,29210,31162,29210,29210,29210,29210,31166,29210,29210,31168,29210,31170,84433,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,84444,84445,82480,82480,84448,82480,82480,82480,82480,84452,82480,82480,84454,82480,84456,82480,82480,29254,29254,29254,29254,29254,29254,29254,29254,31464,29254,29254,29254,29254,29254,29210,29210,410182,410138,410160,29210,29210,82480,82480,29254,29254,0,0,0,0,0,0,0,0,0,0,2816,82480,84459,82480,82480,82480,82480,82480,0,0,29254,29254,31218,29254,29254,29254,29254,29210,82480,29210,29210,82480,29254,29210,29254,1,12290,3,78112,31223,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,31234,31235,29254,29254,31238,29254,29254,29254,29254,31242,29254,29254,31244,29254,31246,29254,29254,0,2593,0,0,0,0,0,0,0,0,0,0,0,0,159744,159744,159744,159744,159744,159744,159744,29254,31249,29254,29254,29254,29254,29254,29210,29210,29254,29210,82480,29210,29210,82480,82480,29254,29254,29254,29254,29254,29254,29254,29254,31534,29254,29254,29254,29254,29254,29254,29667,29254,29254,29254,29254,29210,29210,29210,29210,0,29254,29254,344064,0,0,2595,2596,0,0,0,0,0,0,0,0,0,1608,1609,0,1610,0,0,0,0,0,0,2626,0,0,0,0,2630,0,0,0,0,0,0,0,375,0,378,0,0,0,378,0,0,31319,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,31328,29210,29210,29210,30648,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,30315,29210,29210,29210,82480,84589,82480,82480,82480,82480,84594,82480,82480,82480,82480,82480,82480,82480,82480,82480,84005,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,84603,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,29254,29254,29254,31693,29254,29254,29254,29254,29254,29254,344646,29254,29254,29254,31368,29254,29254,29254,29254,31373,29254,29254,29254,29254,29254,29659,29254,29254,29254,29254,29254,29210,29210,29210,29538,0,2746,0,0,0,0,0,0,0,0,0,0,0,29210,29210,29210,29210,31144,29210,31500,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,31510,29210,29210,29210,29210,29937,29210,29210,29210,29210,29943,29210,29210,29210,29210,29210,29210,29210,999962,29210,29210,29210,29210,29210,29210,29210,29210,31432,29210,29210,29210,29210,29210,29210,29210,82480,82480,82480,84763,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,84773,82480,82480,82480,82480,29254,29254,29254,29254,29254,31646,29254,29254,29254,31650,29254,29254,29210,29210,29210,29210,29254,30833,30834,84083,29210,29210,29210,29210,82480,82480,311856,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,0,0,2096,0,0,31540,29254,29254,29254,29210,29210,82480,29254,0,0,0,0,0,0,0,0,791,29210,29210,29210,29504,29210,29210,29210,2737,0,0,0,0,0,0,0,2886,29210,29210,29210,29210,29210,29210,29210,30652,29210,29210,29210,385562,29210,29210,29210,29210,2939,2940,0,0,0,0,29210,29210,29210,29210,29210,29210,29210,29210,31623,29210,29210,29210,30661,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,30655,29210,30657,31625,31626,29210,31627,29210,82480,82480,82480,82480,82480,82480,82480,82480,84884,82480,84886,84887,82480,84888,82480,29254,29254,29254,29254,29254,29254,29254,29254,31649,29254,31651,31652,29254,31653,29254,31655,0,0,0,0,0,0,0,0,0,0,0,29210,29210,31142,29210,29210,31739,29210,29210,82480,82480,82480,84992,84993,82480,82480,29254,29254,29254,31750,31751,29254,29254,29210,30829,29210,29210,29254,29254,29210,82480,29210,29210,29210,29210,82480,82480,83205,83206,82480,82480,82480,82480,82480,82480,82480,82480,83220,82480,729,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2239,0,380928,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1520,1521,82480,82480,356912,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,83666,82480,82480,82480,356934,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,516678,400,0,0,0,0,378,0,69632,73728,0,0,0,0,423,65536,0,0,0,0,0,1564,0,0,1566,0,0,0,0,0,0,0,658,0,658,0,0,0,0,0,0,423,423,0,0,423,0,443,423,423,466,466,466,473,466,466,466,466,466,466,466,466,473,466,466,466,466,466,466,466,466,480,466,492,492,466,492,492,492,492,492,492,492,492,492,492,492,492,492,492,492,492,492,492,492,492,492,492,535,29220,29220,29220,82489,29264,29220,82489,29220,29220,82489,82489,82489,29220,29220,29220,29220,29264,29264,29264,29264,29264,29264,29264,29264,29264,29220,82489,29220,29220,82489,29264,29220,29264,1,12290,3,78112,0,656,657,0,0,0,0,0,0,0,0,0,0,0,0,0,2737,0,0,0,0,0,0,734,0,0,0,0,734,0,740,0,0,0,0,0,0,296,0,0,0,296,0,297,0,0,0,721,0,734,657,0,0,0,0,0,29210,29210,29497,29210,29210,29210,29511,82804,82480,82480,82480,82818,82480,82480,82480,82480,82480,82480,82480,82480,82480,82847,82480,82480,82480,82480,29254,29254,29254,29254,31645,29254,29254,29254,29254,29254,29254,29254,30043,29254,29254,29254,30052,29254,29254,29254,29254,0,0,29618,29254,29210,82480,29210,29210,29540,29210,29210,82480,82480,82847,82480,82480,29254,29254,29254,29254,29254,29254,29254,467526,29254,29254,29254,29254,29254,31539,0,29254,29254,29661,29254,29254,288,87041,0,0,1028,1032,0,0,1036,1040,1087,0,0,362,362,0,0,0,0,0,0,0,0,0,0,0,1943,0,0,0,0,0,0,1048,0,0,0,1194,294912,0,0,1047,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,155648,29210,29210,29888,29895,29210,29210,29210,29210,29210,29210,29210,29210,29907,29210,29210,29210,29210,30307,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29906,565786,29210,29210,29210,29210,29210,29935,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29948,29210,29210,29210,29210,549402,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,30695,30696,29210,29210,29210,82480,82480,82480,82480,82480,83249,82480,82480,82480,82480,82480,82480,82480,83262,82480,82480,29254,29254,29254,29254,29254,29254,31462,29254,29254,29254,29254,29254,29254,29254,30782,29254,29254,29254,29254,29254,29254,29254,29254,30505,29254,29254,29254,29254,29254,29254,29254,29254,30037,29254,29254,29254,29254,29254,29254,29254,29254,29254,30048,30055,29254,29254,29254,29254,29254,29661,29254,29254,29254,29254,29254,29497,29210,29210,29540,0,29254,29254,29254,30082,29254,29254,29254,29254,29254,29254,29254,30095,29254,29254,29254,29254,29254,29254,30109,30110,29254,29254,29254,30115,29210,29210,30118,0,29254,30048,29888,83215,29210,29935,29210,29210,82480,83262,82480,82480,29254,30095,29254,29254,29210,29210,29210,29210,29254,29254,29210,82480,30836,29210,29210,29210,84086,82480,0,29874,1615,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,30300,30301,29210,29210,30320,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,31155,29210,82480,82480,82480,83630,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,83681,82480,82480,82480,82480,83642,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,83263,82480,29254,29254,29254,29254,30460,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,30049,29254,29254,29254,29254,29254,29254,30472,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,30511,29254,29254,82480,82480,82480,83987,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,83997,82480,82480,82480,82480,29254,31643,29254,31644,29254,29254,29254,29254,29254,29254,29254,29254,30044,29254,29254,29254,29254,29254,29254,30058,82480,82480,82480,84001,82480,82480,82480,82480,84004,82480,82480,82480,82480,82480,82480,82480,0,0,29254,31217,29254,29254,29254,29254,29254,29254,30804,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,30814,29254,29254,29254,29254,29254,29663,29254,29254,29254,29254,29254,336700,29210,29210,29679,0,29254,30818,29254,29254,29254,29254,30821,29254,29254,29254,29254,29254,29254,29254,29254,29254,30479,29254,29254,700998,29254,29254,29254,0,2213,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1548,0,84233,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82854,29254,31033,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,30826,29254,29254,0,0,2410,0,0,0,0,0,0,0,0,0,0,0,0,2421,2445,0,0,0,0,2450,0,0,0,0,0,0,0,0,0,2459,29210,31146,29210,29210,29210,29210,29210,29210,31152,29210,29210,29210,29210,29210,29210,29210,31177,29210,82480,82480,82480,82480,82480,82480,84432,82480,82480,82480,82480,82480,82480,84438,82480,82480,82480,82480,82480,82480,82480,82480,82480,84226,82480,82480,84229,84230,82480,82480,82480,82480,82480,82480,82480,84463,82480,0,0,29254,29254,29254,29254,29254,29254,31222,0,0,0,0,0,548864,0,0,0,0,0,0,0,0,0,0,1125,733,0,0,0,1078,0,2624,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1572,1573,549446,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,928079,0,0,0,2736,0,0,0,0,0,0,0,0,0,0,0,0,1126,0,0,0,82480,82480,82480,84967,82480,84968,82480,82480,82480,29254,29254,29254,29254,29254,29254,31726,29254,31727,29254,29254,29254,29210,0,0,0,0,0,0,31736,29210,29210,29210,29210,30308,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,30357,29210,29210,29210,29210,29210,29210,29210,84990,82480,82480,82480,82480,82480,82480,31748,29254,29254,29254,29254,29254,29210,31391,29254,29210,82480,29210,29210,82480,82480,29254,29254,0,0,0,0,0,2408,0,29210,85022,82480,82480,82480,31776,29254,29254,29254,0,0,29210,29210,82480,82480,29254,29254,0,0,0,0,0,2812,0,0,0,0,0,0,0,69632,73728,0,0,0,371,0,65536,0,467,467,467,451,451,467,451,451,451,451,451,451,451,451,517,517,517,517,517,517,517,517,517,517,517,517,517,517,517,517,29221,29221,29221,82490,29265,29221,82490,29221,29221,82490,82490,82490,29221,29221,29221,29221,29265,29265,29265,29265,29265,29265,29265,29265,29265,29221,82490,29221,29221,82490,29265,29221,29265,1,12290,3,78112,0,0,0,658,0,0,0,0,0,29210,29210,29210,29210,29210,29210,29512,29210,29210,29522,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,82480,83953,82480,82480,82480,82480,82480,82480,82480,82480,82819,82480,82480,82829,82480,82480,82480,82480,82480,82480,82480,82480,83963,82480,82480,434736,82480,82480,82480,83970,0,1117,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1871,0,0,0,1132,0,0,0,0,0,0,0,0,0,0,0,0,0,2744,0,0,0,0,1146,0,1148,0,0,0,0,0,0,0,0,0,0,0,2192,0,0,0,0,29210,29210,29889,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,31512,29210,82480,82480,82480,83247,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,83264,82480,82480,82480,82480,83270,82480,82480,82480,82480,82480,82480,82480,82480,25938,29874,944,29254,30080,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,30097,29254,29254,29210,29210,29210,29210,29254,30455,30303,83625,29210,29210,29210,29210,82480,82480,29254,29254,29254,31530,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,30114,29210,29210,29210,29210,0,29254,29254,30103,29254,29254,29254,29254,29254,29254,29254,29254,29210,29210,29210,29210,0,0,0,0,0,1580,0,0,0,0,0,0,1587,0,0,0,0,0,0,2425,0,0,0,0,0,0,0,0,0,1064,0,0,0,0,0,0,29254,30049,29889,83216,29210,29210,30125,29210,82480,82480,83377,82480,29254,29254,30133,29254,29254,29210,82480,30123,29210,29210,30126,83375,82480,82480,83378,30131,29254,29254,30134,87041,0,1465,0,0,0,1471,0,0,0,1477,0,0,0,1483,0,0,0,0,0,1593,0,0,1595,0,0,0,1599,0,0,0,0,0,0,1165,0,1055,0,0,0,0,0,0,0,296,33405,0,0,300,49793,0,0,0,0,0,577536,0,0,679936,0,0,0,0,0,0,0,0,0,0,1139,0,0,0,0,0,30302,29210,29210,29210,29210,29210,29210,29210,29210,30313,29210,29210,29210,29210,29210,29210,29532,29210,29210,29210,29210,29549,29210,29210,29210,82480,30454,29254,29254,29254,29254,29254,29254,29254,29254,30465,29254,29254,29254,29254,29254,29254,29210,0,0,0,0,0,0,2737,0,0,0,0,1935,1936,0,0,0,0,0,1941,0,0,0,0,0,0,0,1582,0,0,0,0,0,0,0,0,331,0,331,331,0,0,0,0,29210,29210,30660,29210,29210,29210,29210,30665,29210,29210,29210,29210,29210,29210,29210,29210,31506,31507,31508,29210,29210,29210,29210,29210,29210,30687,29210,29210,29210,29210,30692,29210,29210,29210,29210,29210,29210,29210,29210,29210,30704,291376,82480,82480,82480,82480,82480,82480,83972,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,83667,82480,83999,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,84009,82480,82480,82480,82480,84591,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,83280,82480,25938,29874,944,82480,82480,82480,82480,82480,82480,84836,29254,29254,29254,29254,29254,29254,29254,29254,29254,30811,29254,29254,29254,29254,30816,29254,29254,29254,29254,29254,29254,31603,29210,0,0,0,2935,0,0,2737,0,0,0,0,0,0,0,0,0,0,0,0,0,29210,29210,29210,29210,29210,29254,995866,0,0,0,0,0,29210,29210,29210,29210,29210,29210,82480,82480,82480,82480,83615,82480,82480,82480,82480,82480,82480,82480,82480,82480,84263,82480,0,0,0,2345,0,385,387,337,0,0,0,0,0,0,336,0,0,337,0,0,0,0,0,0,1606,0,0,0,0,0,0,0,0,0,1152,0,0,0,0,0,0,0,0,0,384,0,0,0,69632,73728,0,0,0,0,0,65536,0,0,0,0,0,1598,0,0,0,0,0,0,0,1611,0,1591,0,0,432,336,0,0,444,0,0,468,468,468,468,468,468,468,29222,29222,29222,82491,29266,29222,82491,29222,29222,478,468,468,468,497,474,497,497,497,497,497,497,497,497,468,468,474,468,468,468,468,468,468,468,468,468,468,478,468,479,478,468,468,468,468,82491,82491,82491,29222,29222,29222,29222,29266,29266,29266,29266,29266,29266,29266,29266,29266,29222,82491,29222,29222,82491,29266,29222,29266,1,12290,3,78112,0,0,0,0,659,0,0,634880,662,0,0,0,0,0,0,0,412,412,0,0,0,0,0,412,0,0,0,0,811008,0,0,0,0,0,0,0,0,0,0,0,0,1141,0,0,0,0,0,685,0,0,0,0,0,0,362,362,362,0,0,0,0,0,0,296,0,297,0,300,0,301,0,0,0,0,0,0,0,717,0,0,0,0,0,0,0,0,0,0,0,2619,0,0,0,0,0,659,0,779,0,0,0,0,0,0,0,783,0,0,0,0,0,0,303,0,0,0,0,0,0,0,0,0,362,0,0,122880,122880,0,0,789,0,0,0,0,0,792,0,0,0,0,698,0,0,0,0,0,0,0,0,707,0,709,0,0,0,0,0,795,0,792,783,0,0,797,0,662,0,779,0,0,0,0,0,0,1902,0,0,0,0,0,0,0,0,0,669,0,0,0,0,0,728,0,0,659,812,0,779,0,0,0,0,0,817,0,0,0,0,0,0,303,204800,204800,0,205103,204800,1,12290,3,0,0,0,783,659,635697,0,0,0,0,29210,29210,29498,29210,29210,29210,29513,29210,29210,635731,29210,29210,29210,29531,29210,29210,29210,29210,29548,29210,29210,29210,82480,430640,84991,82480,82480,82480,82480,29254,430662,31749,29254,29254,29254,82805,82480,82480,82480,82820,82480,82480,635790,82480,82480,82480,82838,82480,82480,82480,82480,0,0,0,2097,29254,29254,29254,29254,29254,29254,29254,29254,30809,30810,29254,29254,29254,29254,29254,29254,938566,82855,82480,82480,82480,0,29254,29254,29619,29254,29254,29254,29634,29254,29254,635852,29254,29254,29254,29254,29254,30475,29254,29254,29254,29254,29254,29254,29254,29254,30482,29254,29254,29254,29254,29254,30488,30489,29254,29254,29254,29254,29254,29254,29254,29254,29254,29673,29254,29210,29210,29210,29210,0,29254,29254,29652,29254,29254,29254,29254,29669,29254,29254,29254,29498,29210,29531,29210,0,0,0,0,0,1889,0,0,0,0,0,0,0,0,0,0,2429,0,0,0,0,0,0,0,29619,29254,29210,82480,29210,29210,29210,29210,29210,82480,82480,82480,82480,82480,82480,82480,82480,83211,82480,82480,82480,82480,82480,1129,0,0,0,0,0,0,1050,0,0,0,0,0,0,0,1052,0,1160,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1884,1885,1173,0,0,0,0,0,0,0,0,1180,0,0,0,0,0,1088,0,362,362,0,1091,0,0,0,0,0,0,0,0,0,1880,0,0,0,0,0,0,0,0,1190,0,0,0,0,0,0,0,1173,0,0,0,1198,0,0,0,0,0,1901,0,0,0,0,0,0,0,1906,0,0,0,0,0,441,0,0,0,0,0,0,0,0,0,0,176128,176128,176128,176128,176128,176128,176128,29210,29210,29890,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29909,29210,29210,29210,30674,29210,30675,29210,30678,29210,29210,29210,29210,29210,829403,29210,29210,29210,29210,705050,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,832026,29210,29210,29210,29210,29210,31169,29210,29254,30120,30121,83370,29210,30124,29210,29210,82480,83376,82480,82480,29254,30132,29254,29254,29210,29210,29210,29210,29254,30520,30521,83770,29210,30524,29210,29210,82480,83776,0,0,1488,0,0,0,0,0,0,0,0,0,0,0,0,0,2878,0,0,0,0,1561,0,0,0,0,0,0,0,0,0,0,0,0,0,20480,0,0,0,0,0,1605,0,0,0,0,0,0,0,0,0,0,0,0,1155,0,0,0,0,29874,0,29210,29210,29210,29210,29210,29210,29210,30296,29210,29210,29210,29210,29210,29210,31572,29210,84822,82480,82480,82480,84826,82480,82480,82480,82480,82480,83628,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,83967,82480,82480,82480,29254,29254,29254,30458,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,31231,29254,29254,29254,0,1948,0,0,0,0,0,0,0,0,0,0,1044480,0,0,0,0,0,0,1926,0,0,0,0,0,0,0,0,0,1167,0,0,0,0,311296,0,1045018,29210,29210,29210,29210,29210,29210,29210,29210,29210,82480,82480,82480,83955,82480,82480,29254,29254,401990,29254,29254,29254,461613,29254,29254,29254,29254,29254,29254,29254,30795,29254,29254,29254,29254,29254,29254,29254,29254,31369,29254,29254,29254,29254,29254,29254,29254,0,0,0,0,2176,0,2178,0,0,2181,0,0,0,0,819200,0,0,0,0,0,1914,0,0,0,0,0,0,0,0,0,0,722,0,0,0,0,0,0,0,905216,2186,0,0,0,0,0,0,0,0,0,2193,0,0,0,0,0,0,1938,0,0,0,0,0,0,0,0,0,1917,0,0,0,0,0,0,0,0,0,2242,0,0,2245,0,0,0,0,0,0,0,2249,0,0,0,0,0,1937,0,0,0,0,0,0,0,0,0,0,1881,0,0,0,0,0,29210,30935,30936,29210,29210,29210,29210,30940,29210,30942,29210,29210,29210,30945,29210,29210,29210,29210,639514,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,31505,29210,29210,29210,29210,29210,29210,29210,29210,520730,29210,29210,29210,29210,29210,29210,29210,907502,29210,29210,29210,30962,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,30944,29210,29210,29210,29210,82480,82480,84234,82480,84236,82480,82480,82480,84239,82480,82480,82480,82480,82480,84243,82480,82480,82480,82480,31642,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29210,29210,29210,29210,1143,82480,82480,82480,82480,819760,82480,82480,82480,82480,82480,82480,907548,82480,82480,82480,84256,29254,29254,29254,31034,29254,31036,29254,29254,29254,31039,29254,29254,29254,29254,29254,31043,29254,29254,29254,29254,29254,819782,29254,29254,29254,29254,29254,29254,907596,29254,29254,29254,29254,29254,29664,29254,29254,29254,29254,29254,29210,29210,29210,29543,0,31056,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29210,29210,29210,29254,29254,29254,29254,29254,30502,29254,29254,29254,29254,30507,29254,29254,29254,29254,29254,29210,0,0,0,0,0,0,29210,29210,29210,29210,29210,29210,31621,29210,29210,29210,0,2423,1081344,573440,0,0,0,0,0,0,0,0,0,0,0,0,1497,0,0,0,2433,0,0,0,0,0,2436,0,2438,0,0,0,2441,0,0,0,0,0,0,1953,1954,0,1956,0,0,0,1954,0,0,0,2446,0,0,2449,0,0,0,0,0,0,0,0,0,0,0,2742,0,0,2745,0,2460,0,0,0,0,0,0,0,0,0,0,31140,29210,29210,29210,29210,29210,30309,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29944,29210,29210,29210,29210,29210,29210,29210,31172,29210,29210,31175,29210,29210,1081882,84426,82480,82480,82480,82480,82480,82480,82480,83977,82480,82480,82480,82480,82480,83981,82480,83982,84458,82480,82480,84461,82480,82480,1081904,0,0,31216,29254,29254,29254,29254,29254,29254,29210,0,0,0,0,0,0,2737,2937,0,31248,29254,29254,31251,29254,29254,1081926,29210,29210,31256,31257,84506,29210,29210,82480,82480,29254,30841,29254,29254,1863,0,1865,0,1867,0,1869,0,0,0,0,0,0,1178,0,0,0,0,0,0,0,0,0,943,943,943,943,943,943,943,943,943,0,0,0,598016,0,0,0,0,0,0,0,0,0,0,0,0,1546,0,0,0,2634,0,0,29210,29210,31310,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,30943,29210,29210,29210,29210,29210,82480,82480,82480,84602,82480,84604,82480,82480,82480,82480,82480,82480,82480,82480,82480,29254,31590,29254,31592,29254,29254,29254,29254,29254,29254,31364,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,488006,29254,29254,29254,31376,29254,598598,29254,29254,29254,29254,29254,31381,29254,31383,29254,29254,29254,29254,29254,29254,30462,29254,29254,29254,504390,29254,29254,29254,30469,29254,0,389120,0,2728,0,0,0,581632,0,0,0,0,0,0,0,0,1079,0,0,0,0,0,0,0,389658,31425,29210,29210,29210,31429,31430,29210,29210,29210,582170,29210,29210,29210,29210,31436,84695,84696,82480,82480,82480,582192,82480,82480,82480,82480,84702,82480,82480,82480,82480,82480,82480,82480,84606,84608,82480,82480,84610,82480,1069616,1077808,29254,582214,29254,29254,29254,29254,31472,29254,29254,29254,29254,29254,29254,29254,29210,29210,29210,29210,29254,29254,29210,82480,29210,29210,29210,30526,82480,82480,2737,2818,0,0,0,0,0,737280,0,0,0,0,0,0,29210,29210,406042,29210,29210,29210,29210,31622,29210,29210,2737,0,2880,0,0,0,0,0,0,29210,29210,29210,29210,29210,29210,29210,29210,29210,30932,29210,29210,29210,31568,29210,29210,29210,29210,29210,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,1110576,82480,84831,82480,82480,82480,82480,82480,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,30098,29254,31598,29254,29254,29254,29254,29254,29210,0,405504,0,0,913408,0,2737,0,0,0,0,0,0,0,0,0,0,0,0,0,31498,29210,29210,29210,913946,29210,29210,82480,82480,406064,82480,82480,82480,82480,84883,82480,82480,82480,29254,29254,29254,29254,29254,29254,0,0,0,0,29210,561690,877082,82480,913968,82480,82480,29254,29254,406086,29254,29254,29254,29254,31648,29254,29254,29254,29254,29254,29254,30780,29254,29254,434758,29254,29254,29254,30787,29254,29254,913990,29254,29254,29210,0,0,0,2987,0,0,2989,0,0,0,0,29210,29210,29210,30689,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,30955,29210,29210,29210,82480,82480,82480,82480,82480,82480,84935,82480,84937,29254,29254,29254,29254,29254,29254,29254,30069,29254,29254,29254,29254,29254,29254,29254,29254,31049,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,31699,29254,31701,29210,0,0,0,0,0,0,0,0,0,2219,0,0,0,0,0,0,85012,82480,82480,29254,29254,31767,31768,29254,29254,0,0,0,0,29210,29210,29210,29210,30322,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,31154,29210,29210,31156,889414,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172032,339,340,341,342,343,0,0,0,0,0,0,0,0,0,0,0,41692,46182,0,0,0,0,0,0,388,0,0,0,0,0,0,0,0,0,0,0,0,1570,0,0,0,342,342,0,343,342,0,341,342,452,469,469,469,469,469,469,469,469,469,469,469,469,469,469,469,469,469,469,484,493,493,501,493,503,493,493,503,503,493,503,518,518,518,518,518,518,518,518,518,518,518,518,518,518,518,518,29223,29223,29223,82492,29267,29223,82492,29223,29223,82492,82492,82492,29278,29278,29278,29223,29267,29267,29267,29267,29267,29267,29267,29267,29267,29223,82492,29223,29223,82492,29267,29223,29267,1,12290,3,78112,0,0,0,643,0,0,0,0,647,648,649,650,651,652,653,0,0,0,0,0,1952,0,0,0,0,0,0,0,0,0,0,2207,2208,0,0,0,0,0,1019904,0,0,0,0,0,0,691,362,362,362,0,0,0,0,0,0,328,0,0,0,0,0,0,0,328,0,0,69632,73728,0,416,416,0,0,65536,416,713,0,715,0,0,0,0,0,0,0,0,0,725,0,0,0,0,0,0,2189,0,0,0,0,0,0,0,0,0,2740,0,0,0,0,0,0,0,643,744,745,746,0,0,0,0,0,752,753,0,755,756,670,671,0,0,0,0,0,675,0,0,0,0,0,0,0,0,1493,1494,0,0,0,0,0,0,0,0,778,0,0,0,0,0,0,0,0,0,785,0,0,0,0,0,0,2203,0,0,2206,0,0,0,2210,0,0,0,0,790,0,0,1019904,0,0,667,0,1019904,0,793,670,715,0,0,0,0,0,1962,0,0,0,0,0,0,0,0,0,0,1026,1030,0,0,1034,1038,1019904,794,0,0,0,0,753,0,0,0,0,0,0,0,0,746,802,803,0,0,0,0,0,0,746,0,0,806,691,0,0,0,0,0,0,2232,0,0,0,0,2237,0,0,0,0,0,0,0,528384,0,528384,0,0,0,0,0,0,0,1607,0,0,0,0,0,0,0,0,106496,0,106496,0,0,0,0,106496,811,0,0,0,813,0,0,0,1019904,691,0,0,1019904,811,811,0,0,0,0,0,2177,0,0,0,0,0,0,0,0,0,0,98304,0,0,0,53248,0,0,29517,29210,29210,29527,29528,29530,29210,29210,29210,29541,1020442,29210,29210,29210,29210,82480,82480,82480,82480,82480,82480,82480,84970,82480,29254,29254,29254,29254,29254,29254,29254,30822,29254,29254,29254,29254,29254,29254,29254,29254,1045062,29254,29254,29254,29254,29254,29254,29254,82480,82810,82814,82817,82480,82824,82480,82480,82834,82835,82837,82480,82480,82480,82848,1020464,29649,29651,29254,29254,29254,29662,1020486,29254,29254,29254,29254,29210,29210,29210,29541,0,0,0,0,0,2216,0,0,0,0,0,0,0,0,0,0,1967,0,0,0,0,0,0,0,29254,29682,29683,82932,29503,29210,29541,1020442,29688,82810,82480,82848,1020464,82940,0,29624,29254,29662,1020486,29696,78112,87041,0,0,0,0,0,0,0,0,1542,0,0,0,0,0,0,0,0,0,0,1059,0,0,0,1063,0,0,1065,0,0,0,0,0,0,0,69632,73728,0,0,0,0,422,65536,0,0,0,0,362,362,1090,0,0,0,0,0,0,0,0,0,0,1495,1496,0,0,0,0,1189,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,245760,29210,29934,29210,29210,29210,29210,29210,29210,29210,29210,29210,29946,29210,29210,29210,29210,29210,30323,29210,29210,29210,29210,29210,29210,29210,29210,30330,29210,82480,83245,82480,82480,82480,82480,82480,82480,82480,83254,82480,82480,83261,82480,82480,82480,29254,29254,29254,29254,29254,29254,0,0,0,0,31772,29210,29210,29254,29254,29254,29254,30106,29254,29254,29254,29254,29254,29254,29210,30116,29210,29210,0,0,0,0,0,2231,0,0,0,0,0,0,0,2238,0,0,0,0,0,383,0,69632,73728,0,0,0,0,0,65536,0,0,0,0,1502,671744,0,0,0,0,0,0,0,0,0,0,0,106496,0,0,0,0,0,0,29874,0,29210,30290,29210,29210,29210,29210,30295,29210,29210,29210,29210,29210,29210,29918,29210,29210,29210,29210,29210,29210,29210,29927,29210,82480,82480,83643,82480,82480,82480,83646,82480,82480,672304,82480,82480,82480,82480,82480,82480,82480,84249,82480,82480,82480,82480,82480,82480,82480,82480,83252,82480,82480,82480,82480,82480,82480,82480,29254,29254,29254,30473,29254,29254,29254,30476,29254,29254,672326,29254,29254,29254,29254,29254,29254,29668,29254,29254,29254,29254,29210,29210,29210,29210,0,0,1032,0,0,0,1868,0,1036,0,0,0,1870,0,1040,0,0,0,0,0,435,0,0,0,0,0,0,0,0,0,0,346,0,0,0,0,0,0,0,1887,0,0,0,0,0,0,0,0,0,0,0,0,0,249856,0,0,1898,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,815104,0,0,0,1961,0,0,0,0,0,0,0,0,0,0,0,0,1896,0,0,0,82480,82480,82480,82480,82480,82480,83989,82480,82480,82480,82480,82480,82480,82480,82480,82480,84240,82480,82480,82480,82480,82480,82480,29254,29254,29254,29254,30806,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,30050,29254,29254,29254,29254,0,0,0,2214,0,0,0,0,0,0,0,0,0,0,0,0,1944,0,1946,1947,0,0,2251,0,1615,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,31153,29210,29210,29210,29210,82480,84446,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,83683,82480,29254,31236,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,688666,29210,29210,84588,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,84598,82480,82480,82480,29254,29254,29254,29254,29254,29254,0,0,3099,0,29210,29210,29210,29210,30662,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,82480,305768,82480,82480,82480,82480,82480,29254,29254,31377,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,705094,29254,29254,0,0,2727,0,0,0,0,0,0,0,0,0,0,0,0,0,266240,0,0,0,29210,29210,29210,31502,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,30682,29210,29210,29210,84761,82480,82480,82480,82480,84765,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,84769,84770,84771,82480,82480,82480,2737,2879,0,0,0,0,0,0,0,29210,29210,31561,29210,29210,29210,31565,82480,82480,82480,82480,84834,82480,82480,29254,29254,31591,29254,29254,29254,31595,29254,29254,29210,29210,29210,29210,29254,30782,30658,83965,29210,29210,29210,29210,82480,82480,29254,29254,29254,29254,29254,29254,29254,29254,29254,31535,29254,29254,29254,29254,29254,29254,31367,29254,29254,29254,29254,29254,29254,29254,29254,29254,31062,29254,29254,29210,29210,29210,29254,29254,29254,29254,31601,29254,29254,29210,0,0,0,0,0,0,2737,0,2938,386,0,0,0,390,386,0,0,0,0,0,0,0,0,0,0,1556,0,0,0,0,0,0,0,0,402,0,344,0,69632,73728,0,0,0,0,0,65536,0,0,0,0,0,2244,0,0,0,0,0,0,0,2248,0,0,0,0,0,660,0,0,0,0,0,0,0,0,0,0,1918,0,1920,0,0,0,0,0,433,0,0,440,0,0,0,0,0,0,0,0,0,0,1597,0,0,0,0,0,519,519,519,519,0,0,0,0,0,0,0,0,519,519,519,519,519,519,519,29224,29224,29224,82493,29268,29224,82493,29224,29224,82493,82493,82493,29224,29224,29224,29224,29268,29268,29268,29268,29268,29268,29268,29268,29268,29224,82493,29224,29288,82541,29268,29288,29299,1,12290,3,78112,0,0,0,0,672,0,0,0,0,0,0,0,0,0,0,0,122880,0,0,0,0,0,0,0,672,743,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,962560,82856,82480,82480,82480,0,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,30051,29254,29254,29254,29254,29254,29254,29653,29254,29254,29254,29254,29670,29254,29254,29254,29210,29210,29532,29210,0,0,0,0,0,2411,0,0,0,2415,0,0,0,0,0,0,0,1565,0,0,0,0,0,0,0,0,0,327680,0,0,0,0,0,0,0,0,29681,29254,29210,82480,29210,29210,29210,29210,29210,82480,82480,82480,82480,82480,82480,82480,82480,83619,82480,82480,82480,82480,82480,0,1058,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1907,1908,0,0,0,1119,0,0,0,0,0,0,0,0,0,0,1128,0,0,0,0,0,2435,0,0,0,0,2440,0,0,0,0,0,0,0,114688,0,241664,258048,0,0,0,0,0,0,0,25157,25157,25157,25157,25157,25157,25157,25157,25157,0,0,1133,0,0,0,0,1053,0,0,0,0,0,0,0,0,0,0,0,0,0,328454,0,0,0,0,0,1162,0,0,0,0,0,0,0,0,0,0,0,0,1968,0,0,0,29210,29210,29891,29210,29210,29210,29210,29900,29210,29210,29210,29210,29210,29210,29210,29210,82480,84823,82480,84825,82480,82480,82480,82480,29210,29912,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29929,82480,82480,83227,82480,82480,82480,82480,82480,82480,82480,82480,82480,83239,82480,82480,82480,29254,29254,29254,29254,29254,29254,3098,0,0,0,29210,29210,29210,29210,30690,29210,29210,29210,29210,30694,29210,29210,29210,29210,30697,29210,82480,82480,82480,82480,82480,83271,82480,82480,82480,82480,82480,82480,82480,25938,29874,944,30060,29254,29254,29254,29254,29254,29254,29254,29254,29254,30072,29254,29254,29254,29254,29254,29254,30042,29254,29254,29254,29254,29254,30054,29254,29254,29254,29254,29254,29254,30104,29254,29254,29254,29254,29254,29254,29254,29210,29210,29210,29210,0,0,0,0,0,2627,2628,0,0,0,0,409600,0,0,0,0,0,0,661,0,0,663,0,0,0,0,0,0,0,2413,0,0,0,2417,0,0,0,0,30119,30051,29891,83218,29210,29210,29210,29210,82480,82480,82480,82480,29254,29254,29254,29254,0,0,29210,29210,82480,82480,29254,87041,0,1466,0,0,0,1472,0,0,0,1478,0,0,0,1484,0,0,0,0,0,2730,0,0,757760,0,0,0,0,0,0,946176,0,0,0,1538,0,0,0,0,0,0,0,0,0,0,0,0,1969,0,0,0,0,0,958464,0,0,0,0,0,0,0,0,1134,0,0,0,0,0,0,0,0,0,0,0,671744,0,0,0,0,0,0,0,0,1479,0,0,0,0,0,1485,0,0,0,0,0,0,0,69632,73728,0,0,0,418,0,65536,0,30672,29210,610842,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,942618,29210,82480,82480,82480,82480,82480,82480,83976,82480,82480,82480,83979,82480,610864,82480,82480,82480,29277,29277,29277,29210,29254,29254,29254,29254,29254,29254,29254,29254,29254,30113,29254,29210,29210,29210,29210,0,29254,29254,29254,29254,30793,29254,29254,29254,30796,29254,610886,29254,29254,29254,29254,29254,29254,30068,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,31230,29254,29254,31232,29254,29254,0,1972,0,0,0,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,31317,82480,82480,82480,84246,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,84441,82480,82480,82480,29254,29254,29254,29254,31046,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,30074,29254,30077,29254,29254,0,2635,0,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29552,29210,82480,2737,0,0,0,0,2883,0,2885,0,29210,31560,29210,31562,29210,29210,29210,29210,30938,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,31167,29210,29210,29210,29210,0,0,0,2942,0,892928,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,31325,31326,29210,29210,29210,29210,0,0,528384,0,0,0,0,0,0,0,0,0,0,0,0,0,335872,0,0,0,0,0,528384,0,0,0,0,0,29210,29210,29210,29210,29210,29210,528922,82480,82480,82480,82480,528944,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,83637,82480,82480,82480,82480,82480,82480,82480,82861,0,29254,29254,29254,29254,29254,29254,528966,29254,29254,29254,29254,29254,29254,30808,29254,29254,29254,29254,29254,29254,29254,29254,29254,30823,29254,30825,29254,29254,29254,29254,0,29254,29254,29254,29254,29254,78112,87041,0,0,1029,1033,0,0,1037,1041,0,29874,1616,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29908,29210,29210,82480,82480,82480,84698,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,725552,82480,82480,82480,345,345,0,347,345,0,0,345,345,0,0,0,0,346,0,0,0,0,0,438,0,0,329,465,465,465,465,465,465,465,465,465,465,465,465,465,465,465,465,0,0,0,345,345,347,345,345,345,345,345,345,510,345,345,345,345,345,345,345,345,345,345,345,345,345,345,345,345,29225,29225,29225,82494,29269,29225,82494,29225,29225,82494,82494,82494,29225,29225,29225,29225,29269,29269,29269,29269,29269,29269,29269,29269,29269,29225,82494,29225,29225,82494,29269,29225,29269,1,12290,3,78112,0,714,0,716,0,0,0,0,0,0,0,0,0,0,0,0,2222,0,0,0,0,731,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1922,0,758,0,0,0,763,0,0,0,0,0,0,0,0,0,0,0,131072,0,0,0,0,0,0,0,673,0,0,0,0,0,0,0,0,0,0,0,0,2418,2419,0,0,0,0,0,0,823296,791,0,0,0,0,791,0,0,0,0,0,0,0,69632,73728,0,417,417,0,0,65536,417,791,0,0,823296,0,0,0,0,0,747,0,0,824094,0,0,0,0,0,0,2465,0,0,0,0,29210,31141,29210,29210,29210,29210,30649,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,30658,0,0,0,0,823970,0,824094,0,660,0,0,0,0,0,0,0,657,0,657,0,0,0,0,808,0,0,0,0,0,0,823969,0,0,0,0,0,0,791,0,0,0,0,0,0,2614,0,0,0,0,0,0,0,0,0,362,297,0,0,0,0,0,29210,29520,29210,29210,29210,29210,824157,29535,29210,29210,29545,29210,29210,29210,29210,82480,82480,82480,82480,82480,82480,82480,447024,82480,82480,82480,82480,82480,82480,82480,82480,83275,82480,82480,82480,82480,25938,29874,944,82480,82811,82480,82480,82480,82480,82827,82480,82480,82480,82480,824216,82842,82480,82480,82852,29254,29254,824278,29656,29254,29254,29666,29254,29254,29254,29254,29676,29210,824157,29210,0,0,0,0,0,2748,0,0,0,0,0,0,29210,29210,29210,29210,31619,29210,29210,29210,29210,29210,0,0,29254,29254,29210,82480,29504,29535,29210,29545,29210,82811,82842,82480,82852,82480,82480,82480,82480,82480,82480,82480,467504,82480,82480,82480,82480,82480,84772,82480,82480,29254,29254,29254,29254,1863,0,1865,0,1867,0,1869,0,0,0,0,0,0,823,0,0,0,0,0,0,0,0,0,0,0,0,0,29625,29656,29254,29666,29254,78112,87041,0,0,0,0,0,0,0,0,1879,0,0,0,0,0,0,0,0,0,1089,362,362,0,0,1092,0,0,0,1095,0,1097,0,1099,0,0,0,0,1120,0,0,0,0,1124,0,0,0,0,0,0,0,1903,0,0,1904,0,0,0,0,0,0,0,0,0,1124,29874,823,29210,29210,29210,29210,29210,29210,29210,29210,29210,31675,29210,31677,82480,82480,82480,82480,83266,82480,82480,82480,82480,82480,82480,82480,83276,83277,82480,82480,82480,25938,29874,944,29254,29254,29254,29254,30066,565830,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,30812,29254,29254,29254,29254,29254,0,1523,0,0,0,0,0,1529,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1926,0,0,0,0,0,593920,0,0,0,0,0,0,0,0,0,0,0,397312,0,0,0,0,0,29874,0,29210,29210,29210,29210,30293,29210,29210,29210,29210,29210,29210,29210,29210,356890,29210,29210,29210,29210,29210,29210,29210,29210,30347,29210,29210,29210,29210,29210,29210,29210,30354,29210,29210,29210,29210,30360,29210,29210,29210,30937,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,30670,29210,29210,83669,82480,82480,82480,82480,82480,82480,82480,83676,82480,82480,82480,82480,83682,82480,82480,29254,31529,29254,29254,31531,29254,29254,29254,29254,29254,29254,29254,29254,29254,31229,29254,29254,29254,29254,29254,29254,29254,30499,29254,29254,29254,29254,29254,29254,29254,30506,29254,29254,29254,29254,30512,29254,29254,29254,29254,29254,30779,29254,30781,29254,29254,29254,29254,29254,29254,30788,29254,29210,0,0,0,0,0,29210,29210,29210,29210,29210,29210,82480,82480,82480,82480,82480,83208,82480,82480,82480,83212,82480,82480,83223,82480,0,0,0,827392,1888,0,1890,1891,0,0,0,0,0,0,0,0,1955,0,0,0,0,0,0,0,0,1910,0,1912,0,0,0,0,0,0,0,1919,0,0,0,0,0,0,345,0,0,0,0,0,0,0,0,0,2250,0,29210,29210,29210,29210,29210,290816,0,1949,0,0,0,0,0,0,0,1957,0,0,0,1957,0,0,0,0,0,29874,823,29210,29210,29210,29210,29210,29210,29210,29210,29210,29543,29210,29210,29210,29210,29210,82480,0,1960,829304,0,0,0,1963,0,0,0,0,0,0,0,0,0,2453,0,0,0,0,0,0,291354,29210,29210,29210,29210,29210,30651,29210,29210,29210,29210,29210,29210,29210,29210,29210,82480,82480,82480,82480,344624,82480,82480,83958,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,84244,82480,83985,82480,82480,82480,82480,82480,829462,82480,82480,82480,82480,82480,83996,82480,82480,29254,332358,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,559853,82480,82480,82480,84011,0,0,0,0,291398,29254,29254,29254,29254,29254,30775,29254,29254,29254,29254,29254,30794,29254,29254,29254,29254,29254,30798,29254,30799,29254,30802,29254,29254,29254,29254,29254,829527,29254,29254,29254,29254,29254,30813,29254,29254,29254,29254,29254,29254,31037,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,31370,29254,29254,29254,29254,29254,29254,30828,29210,29210,29210,29210,29254,29254,29210,82480,29210,29210,29210,29210,82480,82480,30531,29254,29254,29254,0,1863,0,0,0,0,0,1865,0,0,0,0,0,0,684032,0,0,0,0,0,0,0,0,0,1893,1894,0,0,0,0,0,0,0,2174,2175,0,0,0,0,0,0,0,0,0,0,0,0,2430,0,0,0,0,0,0,2229,0,0,0,0,0,0,0,0,0,0,0,0,2620,0,0,0,31032,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,31372,29254,29254,29254,31044,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,31384,29254,31386,29254,31145,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,30345,82480,82480,84460,82480,82480,82480,82480,0,0,29254,29254,29254,29254,31220,31221,29254,29254,29254,29254,29254,31058,29254,29254,29254,29254,29254,29254,29210,29210,29210,29254,29254,29254,29254,29254,31240,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,30047,29254,29254,29254,29254,29254,29254,29254,31250,29254,29254,29254,29254,29210,29210,29254,29210,82480,29210,29210,82480,82480,30840,29254,29254,29254,0,0,0,0,0,0,0,0,0,0,835584,0,0,0,305795,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,639558,29254,29254,29254,2735,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2195,0,2737,0,0,0,2882,0,0,0,0,31559,29210,29210,29210,31563,29210,29210,29210,29210,1073690,29210,29210,1094170,1098266,29210,82480,82480,82480,82480,82480,82480,82480,83647,83648,83650,82480,82480,82480,82480,83653,788166,82480,82480,82480,82480,82480,84835,82480,31589,29254,29254,29254,31593,29254,29254,29254,29254,29254,29254,31048,29254,29254,29254,29254,29254,29254,31053,29254,29254,29254,29254,29254,29254,31602,29254,29210,0,0,0,0,0,0,2737,0,0,0,0,0,0,0,0,0,0,0,2825,0,29210,29210,29210,29210,29210,31670,29210,29210,29210,29210,29210,29210,29210,29210,82480,82480,82480,82480,84880,82480,82480,82480,82480,82480,82480,84930,82480,82480,82480,82480,82480,82480,82480,82480,29254,29254,29254,29254,31694,29254,29254,29210,29210,29210,30348,29254,29254,29210,82480,29210,29210,29210,29210,82480,82480,29254,29254,29254,29254,1863,0,1865,0,1867,0,1869,0,0,2171,82480,85013,82480,29254,29254,29254,29254,31769,29254,0,442368,0,851968,29210,29210,29210,29210,30950,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,664090,29210,29210,29210,29210,365,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2432,0,0,0,0,0,391,392,0,393,0,0,0,0,0,393,0,0,0,0,0,673,674,0,0,0,0,0,0,0,0,0,2439,0,0,0,0,0,0,398,0,0,0,0,0,365,373,401,0,0,0,0,0,365,0,0,393,0,0,0,0,348,0,0,365,0,393,0,406,408,0,0,365,373,0,69632,73728,0,0,0,0,424,65536,0,0,0,0,0,29874,823,29210,29210,29210,29210,29210,29210,29210,29210,29884,424,424,434,0,424,0,408,424,453,0,0,0,0,0,0,0,704,0,0,0,708,0,0,711,0,0,406,0,494,494,0,494,494,494,494,494,494,494,494,520,520,520,520,453,453,453,528,453,529,453,453,520,534,520,520,520,520,536,29226,29226,29226,82495,29270,29226,82495,29226,29226,82495,82495,82495,29279,29279,29279,29226,29270,29270,29270,29270,29270,29270,29270,29270,29270,29226,82495,29226,29289,82542,29270,29289,29300,1,12290,3,78112,327680,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2443,0,0,0,0,686,0,0,0,0,0,362,362,362,0,0,0,0,0,0,345,346,347,0,0,0,0,0,0,0,646,0,0,0,0,0,0,0,0,340,0,0,0,0,0,0,0,675840,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2611,0,0,0,675840,0,0,328454,0,0,0,0,675840,0,0,0,0,0,0,0,675840,0,0,0,0,0,0,328454,0,675840,0,0,0,0,29210,29210,328507,29210,29210,29210,29210,29210,30336,30337,29210,29210,29210,29210,29210,29210,29210,29210,29210,30680,29210,29210,29210,29210,29210,29210,29210,29210,676378,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,82480,82480,82480,82480,82480,84587,82480,328566,82480,82480,82480,82480,82480,82480,676400,82480,82480,82480,82480,82480,82480,82480,82480,760540,82480,82480,82480,82480,82480,82480,82480,0,0,328628,29254,29210,82480,29210,29210,29210,29210,29210,82480,82480,82480,82480,82480,82480,82480,83618,82480,82480,82480,82480,82480,82480,0,1042,0,1044,0,0,0,0,0,0,0,0,0,0,0,0,31423,29210,29210,31424,1057,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24576,944,0,0,1073,0,0,0,0,0,0,0,0,0,0,0,0,0,1064960,0,0,0,0,0,362,362,0,0,0,0,0,0,0,0,0,1098,0,0,0,0,0,29874,823,29210,29210,29210,29210,29210,29210,29210,29883,29210,29210,29210,30949,29210,29210,29210,29210,29210,819738,29210,29210,29210,29210,29210,29210,29898,29210,29210,29902,29210,29210,29210,29210,29210,29210,29210,750106,29210,29210,30953,29210,29210,29210,897562,29210,0,0,0,0,1104,0,1106,0,0,0,0,0,0,0,0,0,2617,0,0,0,0,0,0,0,0,0,0,1176,0,0,0,0,0,1176,1183,0,0,0,0,0,0,445,0,0,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,29228,29228,29228,82497,29272,29228,82497,29228,29228,1176,1200,1201,0,0,29874,823,29210,29210,29210,29210,29210,29881,29210,29210,29210,29210,31148,29210,29210,31151,29210,29210,29210,29210,29210,29210,29210,29210,29942,29210,29210,29210,29210,29210,29210,29951,29885,29210,29210,29896,29210,29210,29899,29210,29210,29210,29210,29210,29210,29210,29210,29210,82480,82480,82480,84429,82480,82480,82480,29210,29210,29914,29210,29917,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,377370,29210,29210,29210,29210,29210,82480,83226,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,83241,82480,83244,1537,0,0,0,1539,0,0,0,0,0,0,0,0,0,0,0,528384,0,0,0,0,0,0,0,29210,30303,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,30957,29210,30319,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,82480,83625,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,84705,83641,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,705072,29254,30455,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,1053254,29210,29210,29210,29254,30471,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,1073734,29254,29254,1094214,1886,790528,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61440,0,0,1122304,0,0,0,0,0,0,0,0,0,0,0,0,0,0,225706,0,1933,0,0,0,0,0,0,1939,0,0,0,0,0,0,0,0,1965,0,0,1015808,0,0,0,0,29210,29210,30647,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29925,29210,29210,82480,82480,82480,82480,83988,791088,82480,82480,82480,82480,82480,82480,82480,82480,82480,83998,29254,29254,30805,791110,29254,29254,29254,29254,29254,29254,29254,29254,29254,30815,29254,29254,29210,29210,29210,30518,29254,29254,29210,82480,29210,29210,29210,29210,82480,82480,31459,29254,29254,31460,29254,29254,29254,29254,29254,29254,29254,31467,29254,29254,0,0,0,0,0,0,0,2599,0,0,0,0,0,0,0,944,0,0,0,0,0,0,0,0,0,1016368,1122864,29254,29254,1016390,1122886,0,1467,0,1473,0,1479,0,1485,0,0,0,0,0,694,0,0,0,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,31316,29210,0,0,0,2200,0,0,0,0,0,0,0,0,0,0,0,0,131072,131072,0,0,0,0,0,0,2243,0,0,0,0,0,802816,0,0,0,0,0,0,0,69632,73728,313,314,314,419,420,65536,427,84245,82480,82480,82480,82480,82480,82480,82480,84250,82480,82480,82480,82480,82480,82480,82480,2344,0,29254,29254,29254,29254,29254,29254,29254,29210,29210,29254,29210,82480,29210,31260,82480,84510,29254,31045,29254,29254,29254,29254,29254,29254,29254,31050,29254,29254,29254,29254,29254,29254,29210,0,0,0,0,0,2936,2737,0,0,0,0,0,0,2424,0,0,0,0,2428,0,0,0,0,0,0,0,1964,0,0,0,0,0,0,1972,0,0,0,0,2448,0,0,0,0,0,0,0,0,0,0,0,0,163840,0,0,0,0,0,884736,0,0,0,0,0,0,0,0,0,0,0,0,0,1163264,0,0,29210,29210,922138,29210,29210,29210,29210,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,487984,954906,82480,954928,29254,954950,2809,0,0,0,2811,0,0,0,0,0,0,0,2179,0,0,0,0,0,0,0,0,0,700416,0,0,0,0,0,0,2737,0,0,0,0,0,2823,0,0,0,471040,0,0,843776,29210,31499,29210,29210,31501,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,30316,29210,29210,82480,84762,82480,82480,84764,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,83994,82480,82480,82480,82480,29210,31567,29210,31569,29210,29210,29210,29210,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,83216,82480,82480,84830,82480,84832,82480,82480,82480,82480,29254,29254,29254,29254,29254,29254,29254,29254,31597,29254,31599,29254,29254,29254,29254,29210,0,0,0,0,0,0,2737,0,0,0,0,0,0,0,0,822,822,822,822,822,822,822,822,822,822,822,822,822,822,822,822,0,82480,82480,82480,82480,82480,82480,84969,82480,82480,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,31536,31537,31538,29254,29254,29254,31728,29254,29254,29210,430080,0,0,0,0,0,29210,430618,31737,29210,29210,29210,31160,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,30669,29210,29210,29210,407,353,0,0,0,0,0,69632,73728,0,0,0,0,0,65536,0,0,0,0,0,29874,823,29210,29210,29210,29210,29210,29210,29882,29210,29210,29210,29210,31628,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,2092,2344,0,0,0,0,0,351,0,0,0,353,0,0,470,470,470,470,470,470,470,475,470,470,470,470,470,470,470,470,470,475,470,470,481,470,0,0,470,0,0,0,0,0,0,0,0,521,521,525,525,525,525,470,470,470,470,470,475,470,470,525,521,525,525,525,525,537,29227,29227,29227,82496,29271,29227,82496,29227,29227,82496,82496,82496,29227,29227,29227,29227,29271,29271,29271,29271,29271,29271,29271,29271,29271,29227,82496,29227,29290,82543,29271,29290,29301,1,12290,3,78112,0,335872,0,0,0,0,0,0,0,0,0,0,0,0,0,0,286720,0,0,0,0,0,701,0,0,0,0,0,0,0,0,0,0,0,720896,0,0,0,0,730,0,0,0,335872,730,0,736,737,335872,0,0,0,0,0,0,0,2426,2427,0,0,0,0,0,0,0,372,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,781,0,0,0,0,0,0,0,0,0,0,618496,0,733184,0,0,0,0,0,0,733184,0,0,0,0,0,0,733184,0,0,0,661,0,0,0,0,801,0,0,0,0,0,335872,0,0,0,618496,0,733184,0,781,0,801,781,0,335872,0,0,781,733184,821,0,29210,29210,336700,29210,29210,29210,29210,29210,30650,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29547,29210,29210,29210,29210,82480,29518,619034,29524,733722,29210,29210,29210,29210,29210,29542,29210,29210,29210,29210,29210,82480,84878,82480,84879,82480,82480,82480,82480,82480,82480,82480,0,0,29254,29254,29254,29254,29254,29254,29254,29210,29210,29254,29210,82480,29210,29210,82480,82480,29254,29254,336759,82480,82480,82480,82480,82825,619056,82831,733744,82480,82480,82480,82480,82480,82849,82480,82480,82480,82480,82480,82480,82480,494195,82480,82480,82480,82480,82480,82480,82480,84599,0,0,336821,29254,29210,82480,29210,29210,29542,29210,29210,82480,82480,82849,82480,82480,31528,29254,29254,29254,29254,31532,29254,29254,29254,29254,29254,29254,29254,29254,541254,29254,29254,31041,29254,631366,655942,29254,0,29254,29254,29663,29254,29254,78112,87041,0,0,0,0,0,0,0,0,2234,0,0,0,0,0,0,0,0,0,0,0,1045,0,0,0,0,0,0,0,0,0,0,0,831488,0,0,0,0,0,0,0,1074,1075,0,0,0,0,0,0,0,0,0,0,0,1011712,1101824,0,0,0,0,0,0,362,362,0,0,0,1093,0,0,0,0,0,0,0,720,0,0,0,0,0,0,0,0,2218,0,0,0,0,0,0,0,0,0,0,1134,0,1137,0,0,0,0,0,716800,0,0,0,0,0,0,689,690,0,362,362,362,0,0,0,0,0,0,0,991232,0,0,0,0,0,0,0,0,1583,1584,1585,1586,0,0,0,0,0,1145,0,0,0,0,0,0,0,0,0,0,0,1156,0,0,0,0,0,702,0,0,0,0,0,0,0,0,0,0,1110,1111,0,0,0,0,0,0,0,0,1163,0,0,1045,0,0,0,1169,0,1171,0,0,0,0,0,718,0,0,0,0,0,0,0,0,0,728,0,0,0,0,1177,0,0,0,0,0,1181,0,1184,0,1169,1187,0,794624,0,0,0,0,1074,0,0,0,0,1196,0,0,0,0,0,0,703,0,0,0,0,0,0,0,0,0,362,362,362,0,695,0,0,1196,0,0,1093,0,29874,823,29876,29210,29210,29210,29880,29210,29210,29210,29210,29210,30691,29210,29210,29210,29210,29210,29210,29210,29210,29210,30698,29886,29210,29210,29210,29210,29210,29210,29210,29210,29210,29905,29210,29210,29210,29210,29210,29210,455194,29210,30941,29210,29210,29210,29210,29210,29210,29210,30311,29210,29210,29210,29210,29210,29210,29210,29210,30339,29210,29210,29210,29210,29210,29210,29210,29210,29210,29915,29210,29210,717338,29210,29210,29210,29210,29210,29923,29210,29210,29210,29930,29932,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,30361,29953,29210,83203,82480,82480,82480,83207,82480,82480,82480,82480,83213,82480,82480,82480,82480,0,0,2096,0,29254,29254,29254,29254,29254,29254,29254,29254,30087,29254,29254,30094,29254,29254,29254,29254,29254,82480,82480,82480,82480,82480,83232,82480,82480,82480,82480,82480,82480,82480,83242,82480,82480,82480,82480,0,29254,29254,29254,29254,29254,29254,29635,29254,29254,29254,29254,29254,29254,31379,31380,29254,29254,29254,29254,29254,29254,29254,29254,30088,29254,29254,29254,29254,29254,29254,29254,717360,82480,82480,82480,82480,82480,83250,82480,82480,82480,83257,83259,82480,82480,82480,82480,0,2094,0,0,29254,29254,29254,29254,29254,29254,29254,29254,30783,29254,29254,29254,29254,29254,29254,29254,30036,29254,29254,29254,30040,29254,29254,29254,29254,30046,29254,29254,29254,29254,29254,29254,29210,0,0,0,0,0,3032,0,0,0,29254,29254,29254,30065,29254,29254,29254,29254,29254,29254,29254,30075,29254,29254,717382,29254,29254,29254,29254,29254,31253,29254,29210,29210,29254,29210,82480,29210,29210,82480,82480,29254,29254,29254,29254,389702,31461,29254,29254,29254,31465,31466,29254,29254,29254,29254,29254,30041,29254,29254,29254,30045,29254,29254,30056,29254,29254,30059,29254,29254,29254,29254,30083,29254,29254,29254,30090,30092,29254,29254,29254,29254,29254,29254,29210,2933,0,2934,0,0,0,2737,0,0,87041,0,0,1467,0,0,0,1473,0,0,0,1479,0,0,0,1485,0,1501,0,0,0,0,0,0,0,0,0,0,0,0,0,0,528384,0,0,753664,770048,0,0,0,0,0,0,1543,0,0,0,0,0,0,0,2437,0,0,0,0,0,0,0,0,721,0,0,0,0,0,0,0,0,0,0,1577,0,0,0,0,0,0,0,0,0,0,0,0,167936,0,0,0,0,0,0,370231,1592,0,0,1594,0,0,0,1598,0,0,1601,0,0,0,0,0,29874,823,29210,29210,311834,29210,29210,29210,29210,29210,29210,29210,84689,82480,82480,84690,82480,82480,82480,82480,82480,370231,29874,0,29210,29210,29210,29210,29210,29210,29210,29210,29210,370266,29210,29210,29210,29210,31149,29210,31150,29210,29210,29210,29210,29210,29210,29210,29210,29210,447002,29210,29210,29210,29210,29210,29210,29210,30304,29210,29210,29210,29210,29210,29210,29210,29210,29210,30314,29210,29210,29210,545306,83626,82480,82480,82480,82480,82480,82480,82480,82480,82480,83636,82480,82480,82480,545328,82480,82480,82480,82480,82480,82480,82480,541232,82480,82480,84241,82480,631344,655920,82480,82480,82480,82480,0,29254,29254,29254,29254,29254,29254,29636,29254,29254,29254,29254,29254,29254,31702,0,0,438272,933888,0,0,0,0,0,0,0,69632,73728,221184,0,0,0,0,65536,0,82480,82480,83671,1004080,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,84006,82480,84008,82480,82480,29254,30456,29254,29254,29254,29254,29254,29254,29254,29254,29254,30466,29254,29254,29254,545350,29254,29254,29254,30501,1004102,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,30509,29254,29254,29254,29254,0,0,0,0,1875,1876,0,0,0,0,0,0,0,0,0,0,2416,0,0,0,0,0,0,0,0,1899,0,0,0,0,974848,552960,0,1905,712704,0,0,0,0,0,0,2731,0,0,0,0,0,0,0,0,0,1080,0,0,0,0,0,0,0,0,589824,0,0,0,0,1927,434176,0,0,0,0,0,0,0,727,0,787,0,0,0,0,0,0,0,0,0,0,479232,0,0,0,0,0,0,0,0,0,0,0,1024e3,0,0,0,0,29210,434714,29210,29210,29210,30663,29210,29210,29210,29210,29210,29210,29210,29210,553498,29210,29210,29210,31173,29210,29210,29210,29210,29210,82480,82480,84428,82480,82480,82480,82480,0,0,0,0,29254,30770,29254,29254,29254,29254,29254,29254,29254,447046,29254,29254,29254,29254,29254,29254,29254,29254,30491,29254,29254,29254,29254,29254,29254,29254,29210,30673,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,1040922,29210,29210,30700,29210,29210,29210,29210,29210,29210,29210,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,83622,83623,82480,82480,82480,82480,82480,975408,82480,82480,1024560,82480,82480,82480,82480,84007,82480,82480,82480,82480,0,29254,29254,29254,29254,29254,29254,29254,29254,29254,29642,29254,29254,29254,975430,29254,29254,1024582,29254,29254,29254,29254,30824,29254,29254,29254,29254,29254,29254,30108,29254,29254,29254,29254,29210,29210,29210,29210,0,2172,0,0,0,0,0,0,0,0,0,2182,0,0,0,0,0,0,0,69632,73728,163840,0,0,0,0,65536,0,0,0,0,0,2201,0,0,0,0,0,0,0,0,0,630784,0,0,0,0,0,29874,823,29210,29877,29210,29210,29210,29210,29210,29210,29210,30677,29210,29210,29210,29210,29210,29210,29210,29210,30952,29210,29210,29210,29210,29210,29210,29210,0,0,987136,0,0,0,0,0,0,0,0,0,0,0,0,0,221184,0,0,0,0,0,540672,0,0,0,0,0,0,1085440,0,0,0,0,0,0,0,2451,0,0,0,0,2456,0,2458,0,29210,631322,655898,29210,29210,29210,29210,29210,29210,29210,29210,848410,29210,29210,29210,29210,29210,30702,29210,29210,29210,29210,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,83218,82480,82480,82480,84219,82480,82480,82480,82480,82480,82480,84225,82480,82480,82480,82480,82480,82480,82480,82828,82480,82480,82480,82480,82480,82480,82480,82480,82480,516656,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,848432,82480,82480,82480,82480,82480,82480,82480,82480,82480,84439,82480,82480,82480,82480,82480,82480,82480,987696,82480,82480,82480,82480,82480,82480,82480,82480,82480,0,0,0,0,0,0,0,69632,73728,167936,0,0,0,0,65536,0,0,29254,31019,29254,29254,29254,29254,29254,29254,31025,29254,29254,29254,29254,29254,29254,29254,31241,29254,29254,29254,29254,29254,29254,29254,29254,31061,29254,29254,29254,29210,29210,29210,29254,29254,29254,987718,29254,29254,29254,29254,29254,29254,29254,29254,29254,29210,799258,31065,29254,29254,29254,29254,29254,31378,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,31040,29254,29254,29254,29254,29254,417792,0,0,450560,499712,0,0,0,0,0,0,0,0,0,0,0,1134592,0,0,0,0,0,0,0,0,0,0,1134592,0,0,0,0,0,647168,0,0,0,0,0,0,0,0,0,0,2454,2455,0,0,0,0,0,0,2447,0,0,0,860160,0,2452,0,0,0,0,0,0,0,749,0,0,0,0,754,0,0,0,0,0,0,0,0,1114112,0,0,0,0,0,29210,29210,29210,29210,29210,29210,29210,31313,29210,29210,29210,29210,29210,29210,29210,29210,397850,29210,418330,29210,29210,29210,29210,451098,29210,29210,500250,29210,29210,29210,29525,29210,29529,29210,29534,29210,29537,29210,29210,29550,29210,29210,82480,83204,82480,82480,82480,82480,82480,82480,82480,82480,82480,83215,83222,82480,82480,397872,82480,418352,82480,82480,82480,82480,451120,82480,82480,500272,82480,82480,82480,82480,0,2095,0,0,29254,29254,29254,29254,29254,29254,29254,29254,836166,29254,29254,29254,29254,29254,29254,1032774,82480,82480,82480,82480,84462,82480,82480,0,0,29254,29254,29254,29254,29254,29254,29254,30490,29254,29254,30493,29254,29254,29254,29254,29254,29254,397894,29254,418374,29254,29254,29254,29254,451142,29254,29254,500294,29254,29254,29254,29254,29254,29254,31228,29254,29254,29254,29254,29254,29254,29254,29254,29254,30492,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,31252,29254,29254,31254,29210,29254,29210,82480,29210,29210,82480,82480,82480,82480,0,29254,29254,29254,29624,29628,29631,29254,29638,29254,29254,29648,0,0,0,0,2613,0,0,2615,2616,0,0,0,0,0,0,0,777,0,602112,0,709356,0,0,0,0,29210,494168,29210,29210,29210,29210,29210,29210,29210,31324,29210,29210,29210,29210,29210,29210,30310,29210,29210,29210,504346,29210,29210,29210,30317,29210,29254,29254,31365,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,494222,29254,29254,29210,29210,30830,30831,29254,29254,29210,82480,29210,29210,29210,29210,82480,82480,29254,29254,0,0,401408,0,0,0,0,778240,0,0,0,0,0,0,1122,0,0,0,0,0,0,0,0,0,362,362,362,694,0,0,0,31388,29254,29254,29254,29254,29210,29210,29254,29210,82480,29210,29210,82480,82480,29254,29254,0,0,0,0,2407,0,0,0,0,0,0,2729,0,0,0,0,0,2732,0,0,0,0,0,0,0,69632,73728,172032,0,0,0,0,65536,0,29210,29210,31426,29210,29210,29210,29210,29210,29210,29210,29210,29210,668186,29210,29210,29210,29210,31161,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,84926,82480,82480,82480,29210,31437,29210,31438,29210,29210,29210,82480,82480,82480,82480,82480,82480,84692,82480,82480,82480,82480,0,29254,29254,29254,29625,29254,29254,29254,29254,29641,29254,29254,29210,29210,29210,29210,30832,29254,29210,82480,29210,29210,29210,29210,82480,82480,29254,30532,29254,29254,0,0,0,0,0,0,0,0,0,0,2220,0,0,0,0,0,29254,29254,668230,29254,29254,29254,29254,31473,29254,31474,29254,29254,29254,29210,29210,29210,29210,29254,29254,29210,82480,29210,29210,1016346,1122842,82480,82480,2737,0,0,0,2821,0,0,0,0,1130496,0,0,0,0,29210,29210,29210,29893,29210,29897,29210,29210,29901,29210,29903,29210,29210,29210,29210,29210,29210,30703,29210,29210,29210,82480,82480,82480,82480,83956,82480,401946,29210,29210,29210,461583,29210,29210,29210,29210,29210,29210,29210,29210,31511,29210,29210,29210,29894,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,30968,29210,29210,82480,82480,401968,82480,82480,82480,461598,82480,82480,82480,82480,82480,82480,82480,82480,84774,29254,31541,29254,29254,29210,29210,82480,29254,0,0,0,0,0,0,0,0,2414,0,0,0,0,0,2420,0,438832,82480,82480,82480,82480,82480,82480,82480,934448,29254,29254,29254,438854,29254,29254,29254,29254,29254,30461,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29675,29210,29210,29210,29210,0,29254,29254,29254,29254,934470,29210,0,3059,3060,3061,0,3063,29210,29210,29210,29210,29210,30939,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,30681,791066,29210,29210,29210,29210,29210,31740,31741,82480,82480,82480,82480,82480,84994,84995,29254,29254,29254,29254,29254,31752,31753,29210,0,0,0,3084,0,29210,29210,29210,29210,29210,29210,82480,82480,82480,82480,0,29254,29254,29254,29254,29254,29254,29633,29254,29254,29643,29254,355,356,0,0,0,0,0,0,0,362,0,86306,0,0,0,0,0,0,719,0,0,0,723,0,0,0,0,0,0,0,29211,29211,29211,82480,29255,29211,82480,29211,29211,0,0,0,389,0,0,0,0,0,0,0,0,0,0,0,0,348160,0,0,0,471,471,485,0,0,485,356,356,356,507,356,356,356,356,471,471,82497,82497,82497,29228,29228,29228,29228,29272,29272,29272,29272,29272,29272,29272,29272,29272,29228,82497,29228,29228,82497,29272,29228,29272,1,12290,3,78112,0,0,0,695,0,0,0,0,0,0,0,0,0,0,0,0,507904,0,0,0,29519,29210,29210,29210,29210,29210,29210,29210,29210,29210,29546,29210,29210,29210,29210,82480,82480,82480,82480,82480,82480,82480,668208,82480,82480,82480,82480,84703,82480,84704,82480,82480,82480,82480,82480,82480,83233,565808,82480,82480,82480,82480,82480,82480,82480,82480,553520,82480,82480,83980,82480,82480,82480,82480,82480,82480,82480,82480,82480,82826,82480,82480,82480,82480,82480,82480,82480,82480,82480,82853,0,0,29254,29254,29210,82480,29210,29210,29210,29546,29210,82480,82480,82480,82853,82480,82480,82480,82480,82480,82480,83273,82480,82480,82480,82480,82480,82480,25938,29874,944,0,29254,29254,29254,29667,29254,78112,87041,0,0,0,0,0,0,0,0,2606,0,0,0,0,0,0,0,0,0,1043,0,0,0,0,0,0,0,0,0,0,0,0,0,749568,0,0,0,0,0,0,0,1135,0,0,0,1139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,643072,0,29210,29210,29892,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,30344,29210,29210,29210,29954,82480,82480,82480,82480,82480,82480,82480,83210,82480,82480,82480,83219,82480,82480,82480,82480,0,29254,29254,29617,29254,29254,29254,29254,29254,29254,627270,29254,29254,30052,29892,83219,29210,29210,29210,29210,82480,82480,82480,82480,29254,29254,29254,29254,0,0,463386,29210,463408,82480,463430,87041,0,0,0,1468,0,0,0,1474,0,0,0,1480,0,0,0,0,0,0,31616,29210,29210,29210,29210,29210,29210,29210,29210,29210,29540,29210,29210,29210,29210,29210,82480,1486,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,745472,0,0,1511,1512,0,0,0,0,0,0,0,0,0,1519,0,0,0,0,0,0,37268,37268,37268,37268,37268,37268,37268,37268,37268,37268,0,0,0,0,0,0,37268,0,37268,1,12290,3,78112,0,0,0,1562,0,0,0,0,0,0,1568,0,0,0,0,0,0,0,69632,73728,266240,0,0,0,0,65536,0,1574,0,1576,0,0,0,0,0,0,0,0,0,0,0,0,0,1138688,0,0,0,82480,82480,82480,82480,83645,82480,82480,82480,82480,82480,82480,82480,82480,83652,82480,82480,82480,82480,0,29254,29254,29618,29254,29254,29254,29632,29254,29254,29254,29254,29210,844314,844336,844358,0,0,0,0,0,0,0,0,2180,0,0,0,0,0,0,0,82480,82480,82480,82480,84222,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,84228,82480,82480,82480,82480,0,29254,29254,29254,29254,31022,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,31063,29254,29210,29210,29210,29254,82480,82480,84435,82480,84436,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,84597,82480,598576,82480,82480,29254,29254,31225,29254,31226,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,31051,29254,29254,29254,29254,0,2604,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1073152,0,29254,29254,29254,31729,29254,29210,0,0,0,0,0,0,29210,29210,29210,29210,30928,29210,29210,29210,29210,29210,29210,31773,82480,82480,82480,85023,29254,29254,29254,31777,0,0,29210,29210,82480,82480,29254,29254,0,0,0,2810,0,0,2813,0,0,0,0,0,0,0,1134592,0,362,0,0,0,1134592,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192969,192969,192969,192969,192969,192969,192969,192969,0,0,357,0,0,0,0,0,0,362,0,86306,0,0,0,0,0,0,735,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,357,0,0,0,0,0,0,0,0,0,0,0,0,0,2608,0,0,0,0,0,357,0,367,0,0,367,0,0,0,0,0,0,0,0,0,0,0,0,0,82498,82498,82498,29229,29229,29229,29229,29273,29273,29273,29273,29273,29273,29273,29273,29273,29229,82498,29229,29229,82498,29273,29229,29273,1,12290,3,78112,82480,82480,82480,82480,82821,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,549424,82480,82480,82480,82480,82480,0,487424,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1134592,0,0,0,0,0,1553,0,0,0,0,0,0,0,0,0,0,0,2741,0,0,0,0,0,82480,82480,82480,82480,82480,623152,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,680496,82480,82480,82480,82480,82480,0,0,0,358,359,360,361,0,0,362,0,86306,0,0,0,0,0,0,748,0,0,0,0,0,0,0,0,0,751,0,0,0,0,0,0,0,359,0,358,0,0,0,69632,73728,0,0,0,0,425,65536,0,0,0,0,0,30924,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,30668,29210,29210,29210,29210,29210,425,425,0,0,425,0,359,425,454,0,0,0,0,0,0,0,781,0,0,0,0,0,0,0,781,0,0,0,495,495,0,502,502,502,502,508,509,502,502,522,522,522,522,454,454,454,454,454,454,454,454,522,522,522,522,522,522,522,29230,29230,29230,82499,29274,29230,82499,29230,29230,82499,82499,82499,29230,29230,29230,29230,29274,29274,29274,29274,29274,29274,29274,29274,29274,29230,82499,29230,29291,82544,29274,29291,29302,1,12290,3,78112,0,0,29254,29254,29210,82480,29210,29210,29543,29210,29210,82480,82480,82850,82480,82480,82480,82480,0,29254,29254,328628,29254,29254,29254,29254,29254,29254,676422,29254,0,29254,29254,29664,29254,29254,78112,87041,0,0,0,0,0,0,0,0,159744,0,0,0,0,0,0,0,0,0,1161,0,0,0,0,0,0,0,0,0,0,0,0,0,2750,0,29210,29210,29210,29210,0,1925,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37268,0,0,0,0,0,29210,30646,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,1126938,82480,82480,82480,82480,84258,82480,82480,82480,82480,82480,82480,0,0,0,0,0,0,0,274432,274432,274432,274432,274432,274432,274432,274432,274432,82500,82500,82500,29231,29231,29231,29231,29275,29275,29275,29275,29275,29275,29275,29275,29275,29231,82500,29231,29231,82500,29275,29231,29275,1,12290,3,78112,697,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,57344,0,0,0,0,0,0,0,787,0,0,0,0,0,0,0,0,0,0,0,0,0,262144,0,0,0,0,0,0,0,0,820,0,0,0,0,0,29210,29210,29210,29210,29210,29210,29515,82480,82480,82480,82480,82822,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,1045040,82480,82480,82480,82480,82480,0,1131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1150976,0,0,0,0,0,0,0,0,82480,82480,83268,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,25938,29874,944,30101,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29210,29210,29210,29210,0,0,0,0,0,46182,0,0,0,1130,1556,0,0,0,0,0,0,0,2738,0,0,0,0,2743,0,0,0,87041,1464,0,0,0,1470,0,0,0,1476,0,0,0,1482,0,0,0,0,0,747,0,0,0,0,0,0,0,0,0,0,1928,0,0,0,0,0,0,0,0,0,0,638976,0,0,0,0,0,0,0,0,0,0,1155072,0,0,0,0,0,0,0,0,0,30934,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,30671,0,0,0,0,360448,0,0,0,0,0,0,0,0,0,0,0,111048,111048,111048,111048,111048,111048,111048,111048,111048,1,12290,3,0,0,360448,0,0,0,0,0,0,735,29210,29210,29210,29210,29210,29210,29210,31573,82480,82480,82480,82480,82480,82480,82480,82480,83991,82480,82480,82480,82480,82480,82480,82480,0,0,29254,29254,29210,82480,360986,29210,29210,29547,29210,361008,82480,82480,82854,82480,82480,82480,82480,82480,82480,83633,82480,82480,82480,82480,82480,82480,82480,82480,82480,83236,82480,82480,82480,82480,82480,82480,0,361030,29254,29254,29668,29254,78112,87041,0,0,0,0,0,0,0,0,286720,0,0,0,0,0,0,0,82480,82480,82480,1028656,82480,82480,82480,82480,82480,82480,82480,82480,82480,25938,29874,944,29254,1028678,29254,29254,29254,29254,29254,29254,29254,29254,29254,29210,29210,29210,29210,0,0,0,0,0,90406,94503,296,297,0,0,300,301,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,654,29210,29210,427617,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,30359,29210,29210,29210,815642,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29210,29554,82480,82480,427691,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,83969,82480,815664,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,963120,29254,29254,427769,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,31371,29254,29254,29254,29254,29254,815686,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,31476,29254,29210,29210,29210,82480,82480,82480,509958,82480,533040,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,1126960,0,0,0,0,0,29254,510023,29254,533062,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,328507,29677,29210,29210,0,29254,29254,324122,29210,29210,29210,29254,29254,29210,82480,29210,29210,29210,29210,82480,82480,82480,82480,0,29254,29254,336821,29254,29254,29254,29254,29639,619078,29645,733766,82480,746032,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,82480,84457,82480,29254,29254,746054,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,680518,29254,29254,29254,29254,0,0,0,0,536576,0,0,0,0,0,0,0,0,0,0,0,122880,0,122880,122880,122880,122880,122880,29254,29254,29254,29254,31366,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,1126982,29210,29210,29210,29254,0,0,0,0,663552,0,0,0,0,0,0,0,0,0,0,0,167936,167936,167936,167936,167936,167936,167936,82480,82480,82480,82480,82480,82480,664112,82480,82480,82480,82480,82480,82480,82480,82480,82480,84453,82480,82480,82480,82480,82480,82480,29254,664134,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29254,29210,29210,29210,29210,0,0,1134592,0,0,0,1134592,1134592,0,0,0,0,0,1134592,1134592,1134592,0,1134592,0,0,0,1134592,1135005,1135005,0,0,0,0,0,1135005,0,0,1134592,1134592,0,0,0,1135201,1135201,1135201,1135201,1135201,1135201,1135201,1135201,1135201,1135201,0,1134592,1134592,1134592,1134592,1134592,1135201,1134592,1135201,1,12290,3,0,1147352,1147352,1147352,1147352,1147352,1147352,1147352,1147352,1147352,1147352,1147352,1147352,1147352,1147352,1147352,1147352,455,455,1147352,455,455,455,455,455,455,455,455,1147403,1147403,1147403,1147403,1147403,1147403,1147403,1147403,1147403,1147403,1147403,1147403,1147403,1147403,1147403,1147403,1147403,1147403,0,0,0,0,0,0,0,0,0,225738,225738,225738,225738,225738,225738,225738,0,0,0,1147352,1147352,1147352,1147352,1147403,1147403,1147352,1147403,1147403,1,12290,3,0,0,0,0,0,131072,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,455,1142784,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,233472,0,0,0,0,0,0,1159168,0,0,1159168,0,1159168,1159168,0,1159168,0,1159168,1159168,1159168,1159168,1159168,1159168,1159168,0,0,0,0,0,0,0,0,0,237568,0,0,0,0,0,0,1159168,1159168,0,1159168,1159168,0,1159168,1159168,1159168,1159168,1159168,1159168,1159168,1159168,1159168,1159168,1159168,1159168,1159168,1159168,1159168,1159168,1159168,1159168,0,1159168,1159168,1159168,1159168,1159168,1159168,1159168,1159168,1159168,1,12290,3,0,0,0,0,0,155648,155648,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,669,106496,0,106496,106496,0,106496,106496,106496,106496,106496,106496,106496,106496,106496,106496,106496,106496,106496,106496,106496,106496,0,106496,0,106496,106496,106496,106496,106496,106496,106496,106496,106496,0,0,0,0,0,0,0,0,0],r.EXPECTED=[878,886,887,885,881,891,895,899,903,907,1832,950,2776,2367,913,1832,1202,918,924,930,942,975,1833,934,1832,1400,989,991,920,1014,969,926,940,1832,1832,947,1832,1203,989,989,956,920,958,969,969,1034,962,1832,964,1832,2110,989,990,920,920,968,969,1032,973,1832,2675,1361,989,1363,920,1030,969,979,1832,2367,1204,2112,920,996,1016,983,935,988,2114,995,1e3,2636,2110,919,1004,1008,1363,1020,1027,1038,1011,1042,1049,1055,1051,1059,1063,1067,1071,1073,1078,1074,1082,1086,1090,1094,1098,1102,943,1107,984,1103,1832,1832,1832,1832,1167,1112,1832,1832,2665,1832,1832,1832,1832,1832,1832,1832,1832,1118,1832,1832,1832,2018,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,2121,1123,1832,1129,1330,1141,1145,1149,1153,1157,1832,1832,1766,1161,1165,1171,1178,1459,1182,1186,1328,1832,1692,1394,1193,1197,1201,2410,1832,2420,1832,1884,1326,1832,1832,2133,2672,1426,2500,1832,1208,1832,2397,2500,1832,2784,1638,1832,2229,2724,2752,1832,2097,1224,1832,2753,1832,2782,2798,1832,1952,1230,1832,1490,1832,2223,1832,2302,1832,1437,1234,2222,1241,1239,1832,1246,1251,1235,1239,2440,1832,1255,1440,1457,1259,2309,1265,1272,1292,1477,1856,1276,1290,1479,1859,1296,1219,1832,1226,1300,1832,1305,1309,1313,1317,1320,1324,1410,1832,1467,2454,1334,1338,1342,1352,1367,1920,1226,1300,1466,1609,1371,1375,1114,1832,2248,1832,2263,1832,1379,1407,1420,2369,1384,1388,1845,1832,1832,1392,1832,1845,1832,1220,1832,1398,1606,1547,1404,1826,1832,1301,1419,1832,1827,1832,1616,1424,1983,1430,909,1832,1782,1832,1023,1832,1434,1447,1451,1463,1979,2583,1981,1914,1590,1471,1483,1488,1279,1939,1708,1494,1512,1501,1505,1509,1516,1520,1524,1741,1738,1528,1532,1536,1540,1544,1832,1624,1832,1551,2443,1555,1559,1563,1567,1832,2210,2526,1595,1571,2716,1575,1579,1583,1587,1832,2212,2171,1594,1599,2157,1603,1613,1832,1946,1832,1622,1832,1832,1628,1633,1642,1682,1649,2740,1832,1832,1655,1832,2740,1832,1832,1832,1661,1665,2734,1669,1496,1832,1687,1675,1832,1497,1832,914,2266,1680,1686,1618,1832,2332,1832,2269,1832,2082,1862,1832,1691,2662,1832,2664,1443,2733,1247,1242,1696,1691,2063,1701,1877,1671,2044,1949,2132,2046,1705,1712,2541,1718,1724,1720,1727,1731,1832,1832,1735,2660,2710,1745,1749,1753,1757,1761,2092,1770,2075,1775,1779,1786,1790,1794,2272,1798,1832,2207,2074,1804,1808,2246,1812,1818,1832,1824,1832,1831,1837,1771,2310,1843,1849,1853,1871,2297,1832,1108,1876,1832,2297,2584,1832,2465,2569,1211,1881,1832,1413,1832,1125,1832,1832,1414,2335,2512,1891,1895,1832,1865,1832,1899,1832,1905,1800,2544,1911,1380,1832,1918,1839,1636,1924,1214,1345,1867,1380,1645,1928,1901,2130,1474,1932,2677,1936,1943,1956,1958,1962,1968,1966,1972,1832,1832,1832,1832,1977,1987,1991,1995,1999,2003,2007,2011,2691,1225,2016,1907,2344,2024,2028,1764,2034,2038,1832,2042,2651,2053,2057,2079,1838,2086,1415,2091,2337,2139,2096,1657,1973,2101,2107,2118,1832,2127,1832,952,1832,1832,2127,2770,1832,2137,2767,2143,2731,1832,2150,1832,2648,1832,1872,2151,2155,2161,2186,2746,1676,2165,2012,2170,2087,2175,2060,2179,2300,2183,2217,2192,2190,2197,2204,2216,2221,2227,2233,2239,2243,2252,2235,2256,2260,2278,2282,2286,2290,2294,2321,2306,2314,2318,2325,2329,1832,1832,2341,1268,2348,2352,2356,2360,2364,1832,2792,2373,2383,2200,2387,2391,2395,2401,1887,2408,2489,2414,2376,2418,2424,2431,2697,2170,2379,1832,2404,2437,1832,2447,1045,1454,2451,2458,1832,2463,1832,2427,1832,1832,2469,2567,1832,2473,2477,2481,2488,1813,2493,1832,2498,1832,1814,2565,2193,1189,2505,2048,1119,2583,1261,1832,2786,2510,2516,2520,1832,2524,1820,1832,2530,2534,2538,2494,2459,2550,2556,2573,1714,2552,2703,2590,2580,2588,2146,1137,1132,2596,1135,2602,2654,2606,1832,1832,1832,936,2610,2614,2618,2622,2626,2630,2634,1832,1282,2640,2645,2658,2546,2669,2103,2681,2685,1832,2123,1285,1217,2764,2689,1832,2030,1832,2066,1832,1348,2695,1832,2701,2166,1174,2707,1832,1832,2714,1832,2484,1832,1832,2720,1832,2274,1286,2728,2738,1832,2019,2744,1832,2750,1832,2020,2722,2559,2757,2598,1832,2562,1832,1355,1832,2069,2592,2761,2774,1484,2336,2072,1629,2049,2576,1832,1358,2433,1697,1651,2780,2506,2790,2641,2796,1832,1832,1832,1832,1832,1832,1832,1832,1832,1832,2501,2869,4383,2802,2810,2814,2810,2817,2809,2810,2810,2810,2810,4356,2805,2821,2810,2825,2829,2832,2836,2839,2841,2845,2847,2851,2855,2859,2863,2867,2910,5238,4528,4528,2877,3761,4762,4528,4528,4528,3014,3388,3389,3393,3393,3393,3393,2889,2934,2934,3034,2900,2945,2899,3391,2907,4125,2922,3210,4528,4528,4528,3190,2950,4127,5087,4528,4528,4528,3172,3852,2955,4524,4528,2873,4528,4528,2918,4664,2903,3393,3393,3393,2933,2934,2966,4128,4528,4528,2970,3211,2945,2934,2934,2934,2934,2946,2982,4528,4528,2974,4528,2934,3029,3009,3013,2892,4528,4528,4528,3194,3386,3388,3388,3388,3388,2903,3393,3393,3394,2934,2934,2934,2934,2934,3019,3023,3027,2934,2934,3033,3011,4528,2993,4188,3388,3390,3393,2931,2934,2934,2935,3022,3027,2934,2962,4528,2875,2879,3763,2993,3387,3388,3393,3050,2934,2934,2959,2901,2946,2951,3394,2934,3052,4525,2945,2934,2937,3384,4528,4936,5116,3388,2902,3393,3051,2936,4189,3052,4528,3387,3390,3391,3027,2938,3390,3050,3038,3049,3042,3046,3046,3056,3068,3078,3082,3157,3157,3157,3157,3100,3157,3092,3086,3096,3089,3104,3108,3112,3116,3120,3124,3128,3131,3135,3139,3142,3146,3156,3161,3165,3168,3149,5085,3212,3879,4528,4528,4528,3201,3186,4528,4528,4528,3230,3216,3059,4528,4528,3152,3660,4097,4528,4528,4528,3311,3295,3791,4528,4528,3196,3179,4540,3221,3228,4528,2895,4528,4176,2893,4528,4105,5101,4008,3238,3242,4274,3246,3248,3248,3250,3254,3258,3261,3265,3269,3271,3275,3279,3283,3001,4528,3294,3790,3307,4896,3061,4943,3317,5076,4528,4528,3208,4528,3323,3336,3327,4528,2926,4109,4844,3335,5253,3341,5020,4528,5022,4528,5041,4676,3362,3363,4528,2940,5099,3914,4597,3378,3383,3398,3355,3404,3417,3424,3430,4528,4528,4528,3387,3388,3388,4720,3453,3500,4528,2996,4588,4262,4860,4417,4528,3001,3852,4528,4528,4528,3696,3457,3500,4528,4528,4528,3467,3511,4528,4184,3462,4288,4986,3498,4528,4528,4528,4987,3499,4528,4528,4528,3561,4912,4528,4528,4528,3564,4185,4113,4528,3510,3518,4528,4528,4532,5058,3500,4528,4528,3358,5004,4002,4528,4001,4528,3015,4784,5268,4e3,4528,4528,5251,3999,4528,3880,4528,3182,3825,4528,3189,5182,5190,4528,5089,4528,2994,3555,3999,4528,3554,4528,4001,3852,4308,4528,3854,3608,4528,4528,4528,3727,3692,3500,4528,5231,3559,4389,4528,3527,3572,3576,3578,3584,3580,3588,3592,3593,3597,3598,3598,3599,3603,4528,4528,3367,3791,4528,4528,3234,3224,3612,4530,3616,3187,4428,3831,3319,4894,4419,3623,3632,4528,3203,3756,4528,3286,3290,4539,3640,4528,5033,4528,3329,5295,4528,3329,5303,4528,3384,3388,3388,3393,3393,3074,4528,4528,5031,3656,3877,4112,4035,4426,4150,3494,4872,3766,4528,4528,4528,3754,3567,3646,3878,4113,4702,3318,3721,3680,3685,3689,4528,4528,3371,5102,2994,3711,4528,4528,3385,3388,3400,3062,3720,4528,3467,3674,4528,3466,3607,4528,3197,4528,4528,4528,4637,3771,4528,4528,4528,3764,3466,3742,4528,4528,3449,3426,5086,4531,3750,3721,4938,4528,3782,4528,3483,4528,3909,5057,3526,4528,3014,4539,4170,3832,4528,3514,3645,3058,4112,3786,4528,3503,4304,4528,3531,4528,4528,3349,4528,3927,3800,3763,4528,3546,4528,4528,3502,4529,4541,3812,3180,3756,3815,4528,3555,4528,4194,3554,3851,3823,4528,4528,4528,3818,3181,3824,4528,4528,3471,3499,3344,3861,4528,2994,4155,4160,4528,3862,4528,4528,3345,5054,4204,3374,3849,3373,3848,2994,3847,4528,4528,3858,4528,5241,5054,5240,3885,5316,3869,5177,3862,5317,2978,4135,3884,3505,3869,3889,3904,3908,3906,3505,3908,4202,4985,4982,3842,3913,5224,3057,3919,3921,3925,4528,3568,3303,4110,4540,3064,3932,3939,3949,3957,3961,3971,3974,3974,3975,3979,3983,3984,3988,3991,3993,3993,3993,3993,4015,4021,4528,4026,3723,5198,4033,4336,4022,4299,3337,4042,4625,4528,4528,4048,4528,5103,4627,4528,3715,4528,2977,5215,3500,4587,4007,3900,3900,4055,4528,3777,5283,4528,3796,4528,3715,4528,3502,4528,4528,3650,4528,4916,4059,4528,3732,4528,4528,3409,4528,4615,4064,4528,4528,3501,3998,4076,4528,4528,4528,3819,3400,4438,4074,4528,3814,4528,4528,3789,4528,4080,3900,4091,4528,3815,4528,3897,4027,3926,4528,4528,3514,5308,4119,4132,4528,4528,3522,4596,4183,4528,4539,4140,4074,4587,4144,4092,4528,4845,4528,4528,3550,4528,4159,4528,4528,4528,4114,4080,4528,3778,4528,4528,4096,3060,4528,4528,4528,4154,3562,4528,4528,4528,4184,3565,4528,4528,4528,4340,5252,4528,4528,3549,3793,4528,4186,4528,3836,4530,3840,4043,4528,3794,4528,4528,5045,4194,3794,4184,4528,4186,3880,3793,4528,4193,4186,3794,4187,4200,4186,5012,5247,5249,4528,4704,4259,4528,3875,3506,3850,5178,4528,4136,3399,3843,4906,4208,4548,4216,4223,4219,4227,4231,4234,4236,4240,4243,4245,4249,4245,4245,4253,4528,3892,4528,4528,4003,3299,4258,4528,4528,4528,4353,5085,4528,3002,4029,4087,3746,3870,4528,3928,3770,3776,4017,4278,4282,4098,4286,4528,4528,4293,4298,4312,3379,4718,4716,4528,5191,4528,4528,3898,4528,5085,4528,3003,4845,3560,4458,3880,4333,4528,4528,4528,4409,5e3,4862,4344,4528,4528,3702,3764,4348,4366,4528,4528,3728,3772,4528,4349,4528,4528,4528,4528,2914,5191,4528,4528,4528,4533,3755,4360,3492,4528,4528,3738,2881,2995,4528,3744,4459,4193,4398,4375,4528,4002,3851,5252,3554,4528,4307,4008,3871,4528,3177,4528,4528,3753,4528,4306,4528,4528,4528,4559,4371,4528,4528,4528,4614,4460,4397,4374,4528,4028,3442,4528,2985,5064,3681,3863,4389,4528,3003,4590,4858,4193,4407,3204,3756,4528,4528,3755,4528,3175,3179,4528,4528,3757,3540,2999,4413,4507,4528,4037,4528,3805,4533,3755,4528,4528,3765,3644,5056,3864,3500,2997,4423,3071,4433,3352,4442,4262,4528,5304,2999,4528,4446,4528,4038,3180,3830,4587,4528,5304,4528,4063,4068,4528,3793,4528,3792,4112,4528,5225,4588,4528,2998,4528,4589,4528,2999,5304,4528,2998,3e3,4588,4528,3560,5304,4528,4588,4528,4528,4528,4650,4736,4513,4528,4528,3928,3801,3764,4528,2924,3301,3735,4528,4528,3064,4376,4450,4528,4591,4300,4457,4464,4468,4475,4477,4472,4481,4485,4494,4491,4487,4500,4498,4500,4502,4506,4528,4528,4528,4686,4294,4517,4299,4528,4528,4528,3331,5273,5089,4538,4545,4552,4564,4573,4528,4528,3967,5229,4579,4528,4533,3894,5083,3486,4585,4586,3521,4595,4528,4528,4075,5251,4185,4528,4528,4528,5301,4097,4528,4528,3898,4603,4528,5303,4528,4178,3500,4528,4182,4389,4528,3817,3289,4528,3817,5289,4528,3819,4528,4528,4787,4271,4528,4608,5070,4182,4528,4183,5048,5052,4619,4528,4528,4528,4694,3895,4528,4528,4528,4703,4644,4528,4528,4528,4720,4528,5095,4528,4528,4083,4528,5055,4604,2939,4528,4189,3388,3388,3388,3392,3393,3393,4289,5035,4654,4528,4210,4528,4528,3188,5212,4646,4560,3500,4528,4212,4528,4528,3795,4528,4531,4533,4513,4528,4528,4108,4642,3896,4195,4861,4528,4267,4528,2894,4559,4690,4528,4528,4265,4575,3209,4528,4528,4161,4429,5291,4596,4528,4629,4696,4528,4528,4528,4786,4690,4528,4528,4528,4794,4666,4528,4108,3964,4631,4301,5054,4700,4528,4846,4708,4528,4302,3898,4680,4528,4847,4709,4528,4528,4528,4797,4931,4528,4713,4528,4306,4528,4856,4622,4097,4403,4528,4318,4322,4528,3997,4528,4528,3501,3209,4009,4528,4528,4528,4847,4725,4528,4528,4528,4987,3464,4528,4726,4528,4528,4186,4110,4528,4746,4727,4528,4528,4970,4932,3863,3500,2972,4196,4587,3209,4528,4329,4528,4528,3669,4528,4969,4528,4528,4254,4975,4183,4075,3899,4011,4528,4757,4528,4367,3670,4528,3400,5050,4528,3407,3411,4528,3413,4528,4528,3652,4122,4756,4528,4755,4731,4389,4740,4528,4744,4528,4757,4043,4745,5053,4750,4069,3500,4044,4528,4755,4528,4408,4364,4528,4010,4528,4528,4183,3479,4528,4761,4766,4043,3722,4528,4528,4307,5056,5014,4043,2976,4754,5013,4070,4767,4069,4528,5014,4771,4772,3951,3953,4776,4779,4780,4528,4453,4165,4528,3816,4528,4528,4528,4638,4852,4528,4524,4528,4523,4528,3794,3534,3420,3433,4791,3915,4801,4807,4805,4811,4815,4819,4823,4827,4829,4836,4833,4836,4837,4841,4528,4527,4528,4528,2924,4528,4526,4182,5183,4115,4891,4900,4528,4528,4924,3474,3676,3445,4528,3513,4528,5297,4866,4870,5109,4528,4075,4887,4876,3619,4528,4528,4314,3426,2987,4528,5310,4528,4528,4925,3475,4880,4881,4528,4528,4324,3437,4885,3211,4182,5183,3503,3662,4528,4528,4325,3438,4904,3489,4534,4528,4528,4955,4959,4656,4910,4528,4528,4339,4528,3707,3626,3628,4528,4528,4988,3500,5304,3807,3943,4528,5025,4886,4929,4533,4942,4993,4528,4528,5204,3808,3635,4528,4528,4528,4994,4947,4951,4528,4528,4380,4528,4947,4951,4528,3699,4967,4974,3384,4115,4979,4528,3504,3664,4528,5089,4992,4528,4528,5261,4532,4658,4528,4528,4528,5024,5e3,4528,4528,4528,5039,4408,4999,4596,4528,4528,4528,3399,3662,4528,5088,4528,4528,4111,5009,4528,4528,4402,4528,5018,3384,5097,3062,4303,4528,4534,4184,4994,3705,4528,4528,4436,5215,3702,3826,4050,3795,4027,4428,2941,3063,4305,4528,5029,4187,4528,3795,4528,3865,4528,3002,3665,4668,5005,4528,4528,4528,4508,4528,4995,4111,4051,4528,4528,5277,4528,4528,5287,4528,4530,4963,3636,4528,4528,4387,4528,4567,3062,4109,4534,2995,4528,4263,4391,4528,2893,3764,4528,4528,4528,3816,4528,5062,3060,4108,4528,4528,4519,3815,4528,5068,4265,4528,5281,4528,3537,4528,2895,2893,4266,5074,4108,5315,5080,4569,3716,3945,3566,5093,5107,4581,5113,5120,5124,5128,5132,5136,5140,5144,5147,5150,5154,5156,5160,5164,5167,5171,5175,4528,4528,4528,4525,4528,4528,5089,4528,4528,4528,2989,3004,2916,4528,4558,4689,4528,4294,4517,4528,4173,4528,4109,4264,4660,4528,3896,4528,4528,3563,4528,4528,4528,4299,5187,4528,5196,4528,4598,3543,4528,2993,4528,4528,3e3,4528,4528,5202,4528,3005,4085,4428,5208,4682,4166,5222,4528,4528,4533,4512,3934,4528,4528,4528,4533,4920,3189,5235,4528,4533,4393,5011,4528,5245,3926,4528,4633,5218,3757,5257,5229,4528,4528,4555,3217,5257,5229,4540,3935,4528,4528,4599,3512,3853,4528,2927,4528,4672,4528,4528,4148,4528,3061,4528,5265,4528,4528,4611,4102,5273,4528,4528,4528,4674,4528,3330,5272,4528,4528,4721,3458,4528,5029,3001,4528,4261,5089,4528,3004,2925,4108,4028,4528,4631,5192,4528,4265,4643,4645,4108,4752,4528,4528,4734,2885,4528,5314,4528,4528,4843,3209,4528,4528,3309,3313,4528,5308,4528,4528,4851,4260,3841,4528,4528,4528,4914,4528,5357,5843,5368,5994,5358,5994,5371,5360,5994,5994,5994,5994,5881,5366,5359,5994,5370,5994,5994,5373,5994,5994,5383,5397,5430,5398,5399,5430,5425,5431,5425,5425,5401,5401,5425,5426,5428,5427,5427,5427,5427,5400,5400,5400,5425,5433,5429,5425,5402,5435,5437,5436,5439,5441,5442,5444,5446,5447,5448,5447,5447,5448,5450,5452,5455,5453,5456,5997,5321,5339,5323,6092,6093,5323,5323,5324,5344,5421,5572,5682,5491,5901,6298,5323,5580,5323,5683,5676,5676,5379,5564,5323,5323,5323,5335,5323,5323,5816,5564,5911,5403,5403,5676,5676,5676,5563,5564,5564,5561,5342,5884,5374,5323,5816,5385,5323,5323,5323,5324,5406,5989,5894,5573,5323,5323,5323,5780,5323,5334,5676,5676,5677,5564,5564,5564,5564,5405,5323,5323,5420,5323,5323,6221,5676,5676,5564,5564,5407,5928,5407,5407,5407,5407,5989,5810,5894,5573,5564,5403,5403,5564,5564,5403,5804,5407,5480,5480,5480,5323,5989,5573,5323,5323,6092,6028,5323,6092,5323,5801,5323,5407,5480,5480,5323,5323,5978,5342,5323,5323,5701,5323,5353,5323,5323,5323,5326,5323,5323,6106,5323,5323,5323,5327,5323,5323,5323,5328,5405,5932,5911,5804,5380,5323,5323,5323,5333,5323,5564,5564,5405,5404,5911,5403,5676,5564,5676,5564,5564,5564,5403,5404,5564,5564,5405,5403,6038,5380,5323,5420,5403,5380,5420,5911,5804,5380,5911,5380,5911,5676,5804,5564,5564,5564,6038,5380,5323,5323,5801,5323,5323,5323,5336,5323,5323,5323,5345,5799,5323,5799,5326,5323,6105,5323,5323,5991,5774,6040,6034,5460,6041,5503,5518,5469,5486,6040,5516,5500,5502,5510,5506,6040,5496,5499,5461,5511,5505,5508,5470,6040,6040,6042,6041,6040,6040,6044,5513,6040,6043,6040,6043,5326,5515,5377,5497,5517,5488,5487,5470,5520,5522,5525,5525,5523,5526,5524,5552,5527,5527,5527,5527,5528,5530,5529,5530,5530,5530,5531,5532,5532,5533,5539,5539,5534,5536,5540,5538,5555,5539,5554,5557,5323,5323,5991,5993,5323,6040,6040,6040,6040,6282,6041,5542,5544,5546,5548,5549,5548,5549,5551,5552,5323,6039,5322,5323,5323,5996,6017,5969,5323,5323,5323,5997,5421,5490,5387,5323,5323,5323,5350,6014,5895,5927,5323,5578,5323,5323,5324,5821,5969,5672,5665,5323,5323,5324,5997,5845,5582,5333,5323,5323,5323,5353,5323,5675,6227,5323,5323,5323,5354,5325,5672,5672,5466,5323,5323,5586,5673,6081,5323,5323,5324,6013,5477,5323,5925,5926,5595,5323,6080,5671,5323,5597,6e3,5906,5603,5605,5606,5606,5606,5606,5608,5609,5611,5611,5611,5612,5611,5614,5616,5618,5618,5618,5625,5624,5625,5624,5624,5619,5620,5620,5620,5621,5622,5632,5633,5628,5629,5627,5628,5630,5631,5635,5636,5638,5323,5323,5996,6284,6007,5322,5323,5323,5323,5926,5704,5875,5719,5323,5670,5323,5323,5324,6028,5323,5808,5323,5905,5323,5323,5324,6216,5559,5868,5800,5323,5643,5323,5323,5323,5394,5323,5323,6002,5323,6290,5323,6002,5323,5323,5324,6300,6037,5571,5648,5645,5323,5323,5323,5395,5653,6078,5656,5323,5323,5997,5566,5323,5323,5764,5766,5323,5323,5998,5323,5323,6001,5323,5323,6010,5572,6087,5323,6086,5323,5323,5323,5780,5885,5719,5999,5699,5323,5323,5326,5830,5475,5662,5323,5323,5323,5415,5664,5323,5323,5323,5420,5403,5403,5403,5403,5911,5676,5676,5676,5676,5804,5323,5999,5323,5323,5323,5466,5570,5667,5342,5323,5323,6036,5934,5590,6001,5323,5323,5416,5418,5323,6139,6213,5323,5323,6039,5935,5420,5831,5560,5781,5845,5718,5845,5693,5342,5323,5323,6039,6279,5803,5797,5692,5924,5323,5323,5698,5728,5323,5323,6049,6174,6139,6213,5420,5575,5803,5797,6212,5923,5803,5797,6296,5923,5342,5725,5803,5797,5902,5323,5323,5326,6033,5391,5323,5575,5560,5781,5922,6131,5323,5323,5323,5780,5840,6001,5392,5323,5322,5323,5323,6103,5323,5323,6105,5342,6001,5323,5323,5483,5323,5803,5705,5342,5323,5323,5323,5558,5323,5323,5323,5566,5726,6167,5323,6095,5323,5323,5323,5573,5323,5323,5840,6001,5323,5323,6109,5685,6112,5700,5342,5323,5323,5583,5813,5560,5840,5323,5323,6138,5350,5323,5998,5323,5323,6141,5323,5323,6165,5323,5323,6083,5323,5323,6096,5333,5323,5323,5813,5349,5323,5323,5579,6105,5323,5323,5323,5678,5465,5323,5323,5323,5684,5323,5323,5409,6014,5732,5584,5734,5736,5739,5739,5739,5739,5740,5743,5739,5738,5739,5739,5742,5743,5743,5743,5744,5745,5745,5745,5745,5745,5747,5747,5747,5747,5749,5749,5749,5749,5750,5391,5892,5901,5869,5323,5753,5323,5323,5758,5323,6015,5770,5323,5323,6185,6189,5323,5762,5762,5323,5323,6199,5323,6199,5323,5323,5689,5769,5323,5323,6206,5323,5323,5690,5323,5323,5770,5779,5323,5323,5323,5753,5323,5323,5890,5323,5323,5350,6294,5323,6014,5324,6028,5921,5975,5323,5323,5362,5323,5323,5323,6275,5992,5918,5974,5976,5323,5892,5901,5707,5323,5336,5646,5785,5323,5323,5323,5786,5323,5791,5679,5681,5833,5493,6297,5800,5579,5897,5730,5323,5794,5795,5323,5323,6208,5323,5323,6218,6197,5800,5323,5323,5771,5323,6033,5391,5892,6129,5806,5323,5323,5323,5796,5394,5704,6001,5323,5323,5323,5582,5323,5820,5565,5891,5895,5323,5823,5824,5323,5323,6276,5323,5324,5792,5680,5391,5892,6106,5323,5323,5780,5323,5657,5466,5323,5336,5323,5324,5997,6289,5323,5323,5323,6028,5682,5491,6136,5800,5323,5323,5323,5778,5779,5566,5895,5833,5493,6298,5323,5799,5323,5323,5323,5798,5323,5997,5378,5566,5865,5466,5350,5323,5704,5719,5340,5323,5323,5323,5392,5323,5323,5323,5393,6037,5566,5895,5491,6136,5326,5830,5385,5323,5323,5390,5409,5780,5349,5323,5323,5375,5323,5323,5323,5996,5471,5375,5421,5490,6181,5800,5323,5323,6107,5566,5323,5323,5323,5800,5323,5323,6028,5323,5569,5466,5780,5323,5323,5323,5801,5707,5830,5475,6081,5877,5323,5323,5323,5813,5323,5323,5813,5323,5997,5566,5476,5876,5323,5323,5323,5806,5323,5342,5726,5877,5323,5323,5884,5877,5566,6092,5323,5801,5562,5323,5323,5323,5349,5574,5814,5876,5323,5323,5323,5574,5385,5323,5324,6100,6102,5323,5323,5323,6092,5323,5323,5688,5323,5801,5323,5323,5566,6049,5323,5323,5323,5815,5323,6167,5323,5323,5573,5558,5815,5323,5815,5323,5323,5815,5815,5815,5323,5323,5323,5820,6037,5323,6095,5323,6080,5323,6080,5323,5323,6037,5703,6124,5837,6095,5323,5323,5375,5562,5323,6095,5323,5688,5884,6028,5884,6093,6095,5688,5323,6187,5825,6186,5826,5579,5579,5579,5323,5324,6281,6110,5842,5825,5827,5828,5828,5828,5828,5848,5854,5853,5850,5853,5852,5856,5856,5856,5856,5860,5856,5860,5856,5857,5858,5858,5858,5858,5558,5835,5323,5323,5323,5839,5323,5323,5323,5640,5385,5998,5323,5323,5323,5864,5323,5323,5323,6175,5323,5323,5376,5972,5862,5323,5323,5323,5874,5798,5323,5323,5323,5878,5323,5323,5323,5654,5323,5767,5323,5323,5351,5336,5323,5883,5323,5323,5323,5884,5727,5411,5413,5323,5323,5392,5392,5392,6175,5323,5684,5562,5464,5927,5900,5592,5909,5463,5465,5809,5591,5591,5323,5323,5323,5885,5323,5806,5599,5323,5323,5323,5895,5323,5866,5334,5323,5328,5330,5322,5323,5323,5888,5323,5323,6175,5323,5796,5323,5350,5990,5323,5323,5323,5386,5927,5900,6176,5323,5334,5321,5323,5334,5323,5323,5323,6107,5323,5323,5323,5570,5474,6035,5378,5933,5465,5323,6038,5570,5407,5929,5480,5480,5480,5323,5809,6129,6001,5323,5334,5566,5726,5877,5390,5323,5420,5703,5385,5998,5323,5688,5884,5877,5323,5323,5394,5696,5326,6036,5933,5465,5863,5863,6176,5323,5323,5323,5899,5494,5323,5323,5323,5907,5390,5780,5599,5323,5335,5322,5334,5336,5323,5323,5801,5915,5323,5579,5323,5323,5323,5574,5323,5323,5323,5403,5403,5323,5884,5323,5323,5323,5674,5323,5884,5323,5574,5323,5569,5323,6107,5466,5707,5937,5323,5326,5323,5326,6019,5323,5886,5943,6008,5946,5946,5947,5945,5947,5946,5946,5951,5946,5950,5949,5953,5956,5955,5956,5956,5957,5959,5959,5960,5960,5961,5959,5959,5959,5962,5966,5966,5966,5966,5964,5965,5966,5966,5967,5323,5323,5323,5938,6025,5880,5723,5323,5323,5323,5912,5323,5998,5323,5323,5334,5336,5800,5989,5869,5999,5599,5695,5600,6095,5323,5759,6140,5986,5981,5983,5381,5988,5323,6123,5323,5323,5323,5576,6004,5323,5323,5323,5968,5389,5323,5323,5323,5989,5323,5323,5323,5363,5323,5323,5323,5385,5323,5388,5751,5323,5323,5420,5575,5323,6036,5421,5674,6027,6001,5323,5323,5421,6286,5803,5337,5562,5986,5346,6219,5323,5364,5323,5337,5873,5323,5324,6300,6038,5323,6006,5879,6288,6001,5323,6030,6007,6287,6170,5350,6037,5674,6027,5721,5367,5359,5579,5806,5323,6200,6196,6168,6170,5323,5323,5323,5992,5814,6169,6001,5323,5343,5323,5323,5323,5995,5323,5672,6027,5323,5348,5844,5720,5579,5806,5323,5342,5323,5323,5335,5800,6107,5574,5884,5323,5323,6032,5323,6026,6028,5323,5323,5674,6032,5323,5323,5323,6010,5489,5912,5323,5323,5589,5324,5998,5323,5323,5484,5323,5323,5800,5599,5323,5350,5361,5323,5323,5323,5707,5323,5912,5323,6080,5323,5345,5323,6038,5703,5806,5599,5323,6105,5323,5599,5323,6105,5813,6295,5877,5323,5350,5678,5465,5989,5780,5323,5323,5589,5323,5323,5323,5755,5570,6022,5754,5756,6021,6024,6047,5422,5423,5422,6046,5422,5422,5422,5422,6097,6051,6054,6053,6055,6057,6059,6059,6060,6061,6065,6059,6059,6059,6066,6066,6066,6062,6063,6061,6061,6061,6061,6068,6069,6071,5323,5323,5323,6032,6223,5378,5408,5703,5799,5342,6073,5558,5323,5323,5558,5420,5913,5323,5323,5323,6039,5323,5323,5323,5323,5322,5323,5323,5323,5324,5323,6096,5323,5323,5323,6080,5323,5336,5323,6075,5323,5327,5683,5940,5887,5323,6077,6085,5323,5355,5990,5323,5324,6285,6126,6094,6130,5323,6090,6107,5323,5361,5323,6038,5562,5323,5323,5818,5333,5323,5333,5323,6099,6101,5323,5323,5562,5323,5323,6104,5323,5323,5323,6105,5323,5323,5780,5989,6112,5924,5323,5323,5323,5472,5562,5323,5323,5672,6114,5323,5323,5323,5816,6001,5326,5352,6037,5934,5323,5323,5323,5909,5406,5832,6120,5323,5361,5573,5323,5410,5412,5414,5323,5323,5384,5558,5323,5323,5385,5333,5323,6117,6285,6119,6102,5323,6122,5323,6122,5323,5323,5323,6117,5323,5995,5385,5573,5322,5333,5323,5323,5574,5990,5323,5323,5593,6106,5832,5722,5706,6131,5323,5323,5641,5323,5817,5323,6128,5332,5323,5323,5659,5660,5672,5473,5323,5323,5668,5323,5323,6110,6126,6094,6130,5342,5323,5323,5323,5570,6007,5722,5706,6131,5323,5674,5466,5323,5323,5350,6037,6025,5722,5923,5342,5323,5323,5323,5703,5924,5323,5415,5417,5419,5323,5323,5421,5725,5803,5323,6133,6082,5342,5323,5323,5323,5579,5896,5323,5458,5323,5323,5324,5378,6092,5323,5672,6106,5884,5727,5323,5323,5323,6133,5323,6135,5323,5323,5672,5323,5323,5885,5342,5323,5323,5885,5323,5323,5323,6175,5323,6028,5323,5688,5323,5885,5323,5323,5885,6092,5323,6028,6028,6093,6093,6093,6093,6028,6039,5420,5326,5323,5813,5323,5333,5985,6039,5333,5323,5466,5345,5323,5326,6211,6001,5783,5558,5984,5811,6145,6150,6146,6146,6146,6146,6143,6144,6150,6146,6149,5709,6147,5709,6152,5709,5710,5711,5715,5712,5713,6154,6156,5714,6158,5715,5716,6162,6162,6160,6161,6162,6162,6162,6162,6172,6163,6164,5323,5323,5683,5323,5323,5323,5568,5722,5323,5940,5587,5845,5723,5323,5708,5323,5323,5684,5466,5323,5323,5323,6029,6209,5323,5323,6178,5323,5599,5323,5323,5689,5323,5323,6115,5323,6183,5788,5323,5787,5323,5323,5797,5846,5323,5323,5323,6180,5707,5323,5336,5684,5761,5323,5323,5341,5322,5815,5323,6276,6174,5323,6191,5323,5323,5702,5323,5323,5649,5323,5323,5704,5340,5323,5323,5326,5910,6195,5568,5931,5973,5323,6194,6196,5930,5781,5353,5323,5323,5333,5333,5333,5323,6202,6197,5323,5350,5351,5323,5482,5323,5323,5323,6214,5323,6010,5378,5568,6192,5781,6129,6131,5324,6011,6196,5481,5675,5863,6130,5342,5323,6206,5323,6206,5940,5846,5323,5323,5722,5924,5323,6039,5323,5323,5579,5579,5707,5323,5336,5815,5323,5323,6048,5323,5323,5574,5725,5803,5705,5323,6204,5323,5323,5323,6218,5923,5489,5895,5675,6129,5924,5675,5923,5323,5323,5323,5323,5574,5574,5574,5323,5323,5884,6028,5323,5323,6211,5323,5323,5763,5765,5323,5323,5326,5687,5797,5325,5323,5323,5323,5773,5775,5323,5323,5350,6105,6218,5923,5323,5323,5776,5323,5324,5335,5800,5323,5466,5345,5801,5915,5599,5323,5323,6028,5323,5323,5323,5814,5700,5335,5694,5323,5323,5789,5323,5335,5322,5323,5336,6091,6107,5322,5998,5323,5323,5801,6166,6095,5323,5796,5323,5467,5323,5323,5569,5323,5323,5323,5325,5323,5323,6031,5323,5990,5323,5323,5570,6197,5323,5350,5323,5323,5323,5410,6079,5796,5323,5323,5812,5323,5684,5796,5323,5684,5815,5323,5877,5782,5588,5323,6225,6226,6230,5813,6229,5567,5323,5867,5838,6232,5920,5492,6234,5920,5919,5919,6235,5920,6238,6237,6237,6240,6242,6243,6245,6247,6245,6249,6249,6257,6256,6257,6258,6250,6249,6250,6251,6252,6252,6260,6254,6253,6254,6252,6262,6262,6262,6263,6265,6267,6269,6270,6271,6273,5323,5323,5830,5814,5876,5466,5323,5323,6038,5323,5323,5601,6278,5323,5570,5323,5323,5323,5990,6088,6289,5323,5323,5871,5323,5329,5331,5323,5323,5889,5409,5323,5669,5323,5668,5895,5466,5323,5420,5801,5912,5800,5917,5869,6e3,5323,5574,6167,5323,5323,6167,5562,5941,5323,5323,5323,5893,5323,5466,5420,5323,5375,5479,5569,5323,5323,5830,5385,5323,6174,5323,5392,5323,5392,5323,5349,5323,5323,5323,5651,5324,6292,5406,5568,5996,5462,5571,5686,5323,5672,5574,5323,5570,5466,6138,5571,5802,5323,5323,5323,5895,5420,5323,5375,5478,5323,5323,5323,5904,5323,5323,5996,5471,6302,5323,5323,5929,6112,5406,5322,5323,5323,5970,5323,5323,5573,6038,5323,5323,5323,6106,5324,5323,5323,5323,5977,5979,5912,5334,5323,5323,5334,5566,5323,8,262144,0,0,1,0,2,0,3,240,19456,262144,8192,0,4,8,0,5,1048576,1073741824,2147483648,1073741824,0,6,32,0,7,1075838976,2097152,0,8,8,16,0,9,4456448,4194560,4196352,-2143289344,-2143289344,4194304,0,12,0,13,37748736,541065216,541065216,-2143289344,4198144,4196352,276901888,8540160,4194304,128,0,21,16,32,96,0,23,8425488,4194304,1024,0,24,0,29,0,32,256,0,40,0,41,37748736,742391808,742391808,775946240,-1371537408,775946240,64,64,96,64,128,128,512,0,59,140224,5505024,-1887436800,0,63,351232,7340032,-2030043136,0,64,256,256,257,775946240,775946240,171966464,171966464,775946240,239075328,-1405091840,-1371537408,239075328,171966464,2097216,4194368,4718592,4194400,541065280,4194368,4720640,541589504,4194368,-2143289280,4194368,-2143285440,-2143285408,-2143285408,-2109730976,-2143285408,775946336,775946304,776470528,-1908404384,775946304,775946304,-1908404384,1536,1792,536936448,16,48,64,896,8192,131072,0,4036,1048592,2097168,16,64,65536,131072,1024,98304,131072,32768,256,2048,2048,12288,0,300,4203520,268435472,16,528,16,1024,229376,25165824,25165824,33554432,2147483648,262160,16,163577856,536936448,20,24,560,48,80,1048592,1048592,16,2097168,2097168,3146256,2097680,3145744,3146256,16,2098064,17,17,528,524304,1049104,2228784,-161430188,-161429680,-161429676,-161430188,-161430188,-161429676,-161429676,-161429675,-161349072,-161349072,-161347728,-161347728,-161298572,-161298576,-160299088,-161298576,-160299084,-161298572,-161298572,-160774288,21,21,53,146804757,146812949,146862101,146863389,146863389,146863421,-161429740,-161429676,-160905388,-18860267,-160774284,-160774284,-18729163,0,4096,65536,262144,1048576,0,96,96,256,1024,1024,2048,0,128,1024,4096,0,256,1536,2147483648,159383552,0,8192,8392704,142606336,0,9476,134218240,1,32768,1048576,512,131072,33554432,-2013265920,0,17408,131328,131072,0,1073741825,0,1073741824,8,124160,16777216,1073774592,1226014816,100665360,100665360,-2046818288,1091799136,-2044196848,1091799136,1091799136,1091803360,1091799136,1158908e3,1158908001,1192462432,1192462448,1192462448,1870630720,1870630720,1870647104,1870647104,1200851056,1200851056,1091799393,1870638964,1870638932,1870638932,1870638933,1870630736,1870630736,1870630740,1870630740,1870630736,1879019376,1870630740,1879019376,1879019380,131328,0,58624,1048576,1224736768,1090519040,0,66048,235712,0,77824,0,1157627904,1191182336,0,82432,231744,0,131584,503616,1862270976,1862270976,1048576,150994944,2048,100663296,-1073741824,6144,0,150528,0,164096,0,32768,32768,65536,524288,524288,32,384,512,5120,8192,16384,0,512,2048,16384,32768,0,520,520,4194304,251658240,536870912,262144,2621440,-1073741824,8192,1073741824,262144,2097152,134217728,2048,524288,2097152,67108864,134217728,0,12289,12289,1098920193,1132474625,1124085761,1124085761,1132474625,1132474625,1400975617,117440512,134217728,268435456,4194432,3145728,16777216,2147483648,1536,65536,16777216,1073741824,1073741824,33554432,536870912,512,50331649,1050624,262144,512,1275208192,541065224,4194312,4194312,4194344,4203820,-869654016,-869654016,1279402504,1279402504,2143549415,2143549415,2143549423,2143549423,0,284672,1,16777216,1073743872,268435968,229376,1050624,0,331776,2760704,-872415232,0,495424,7864320,1862270976,0,139264,4333568,1275068416,0,339968,999,29619200,2113929216,0,511808,1007,1007,0,524288,1048576,4096,1048588,44,0,605503,1066401792,0,867391,1,102,384,110,110,0,1048576,2097152,268435456,536870912,0,2048,262144,524288,96,0,536870912,2048,1048576,8388608,4096,12289,0,1024,65536,0,1536,0,832,1,6,2097152,104,104,0,1049088,1049088,12845065,12845065,4,256,3584,16384,229376,8192,67108864,32,4100,1024,2097152,1073741824,1049088,270532608,2097152,2097152,4194304,2147483648,147193865,5505537,5591557,5587465,5591557,5587457,5587457,147202057,13894153,13894153,-1881791493,-1881791493,13894153,81003049,512,1048576,33554432,8192,33554432,1024,524288,134217728,1073741824,1,5505024,86528,9,8388608,16777216,268435456,0,16384,65536,4194304,4194432,75497472,0,2097152,16777216,16384,-2113929216,0,260,512,1024,8192,4096,4096,8192,8192,9216,8,8388608,33554432,67108864,1073741824,81920,0,2621440,0,57344,2,56,64,524288,0,576,524288,536870912,8396800,4194304,25165824,92274688,25165824,100663296,134217728,536870912,1073741824,32768,131072,1048576,128,2048,77824,524288,64,384,8192,66048,8396800,0,3145728,2,16384,262144,524288,268567040,72618005,68423701,68423701,68489237,-2079059883,-2079059883,68423701,85200917,68425749,68423703,85200919,69488664,69488664,70537244,70537245,70537245,-2076946339,70537245,70539293,-2022351681,-2022351681,-2022351809,-2022351809,0,4194304,50331648,1073741824,266240,1048576,100663296,402653184,1610612736,0,605247,1058013184,1073741824,-2080374784,-2080374784,268288,0,4243456,0,5242880,282624,0,8388608,0,999,259072,4194304,4194304,1,2,4,0,2147483648,2147483648,0,-2046820352,28,3145728,32,3072,16384,2113544,1,14,16,14,32,512,139264,4,2097152,4,50331648,128,268435968,268435968,268436032,256,32768,4194304,16777216,0,15,32,1,4,16,2,8,32,64,0,16,16,20,16,28,2097552,256,536871168,256,65536,268435456,-1879046334,1073744256,-1879046334,-1879046334,-1879046326,-1879046326,-1845491902,-1878784182,268444480,268444480,2100318145,2100318145,2100318149,2100318149,268436289,268436288,268436288,2100318145,2100326337,2100318145,2100326337,2100326337,1,1024,1856,2147483648,2432,0,9437184,0,131072,16777216,536870912,9216,1864,0,16252928,0,148480,0,301989888,0,16777216,16777216,67108864,0,384,-1879046336,1,4032,19939328,2080374784,0,19947520,0,33554432,0,262144,1,128,3072,524288,268435456,196608,0,58720256,1,64,16384,19922944,2080374784,24576,0,67108864,536870912,16384,3145728,8,33554432,134217728,805306368,1073741824,2048,3145728,32768,33554432,268435456,134218752,0,83886080,0,229376,1124073474,1124073472,1124073488,1124073472,1124073472,12289,1392574464,1124073472,1258292224,1073754113,12289,1124085777,1124085761,1258304513,1124085761,1098920209,1132474625,2132622399,2132622399,2132360255,2132360255,2140749119,0,100663296,0,65536,6291456,50331648,2147483648,2140749119,2140749119,49152,0,134217728,2147483648,0,318767104,12545,25165824,268435456,12305,13313,12561,0,134348800,134348800,78081,327155712,1,12288,65536,1,30,32,1024,134217728,288,8388608,134217728,128,131072,33554432,1073741824,256,8388608,327680,0,184549376,16384,4194304,117440512,0,229440,14,1024,1,12,3145728,128,134217728,8,536870912,68157440,137363456,0,243269632,137363456,66,66,100680704,25165824,26214400,92274688,25165952,92274688,92274688,93323264,92274720,93323264,25165890,100721664,25165890,100721928,100721928,100787464,100853e3,125977600,125977600,127026176,281843,281843,1330419,281843,126895104,125846528,125846528,125846560,1330419,1330419,5524723,5524723,39079155,72633587,72633587,5524723,92556531,93605107,93605107,127290611,97799411,127290611,131484915,58368,0,268435456,189696,0,268500992,2,112,48,112,128,3584,65536,7340032,50331648,0,231488,2,48,32,4096,4194304,67108864,402653184,536870912,2,16,128,262144],r.TOKEN=["(0)","PragmaContents","DirCommentContents","DirPIContents","CDataSection","Wildcard","EQName","URILiteral","IntegerLiteral","DecimalLiteral","DoubleLiteral","StringLiteral","PredefinedEntityRef","'\"\"'","EscapeApos","ElementContentChar","QuotAttrContentChar","AposAttrContentChar","PITarget","NCName","QName","S","S","CharRef","CommentContents","EOF","'!'","'!='","'\"'","'#'","'#)'","'$'","'%'","''''","'('","'(#'","'(:'","')'","'*'","'*'","'+'","','","'-'","'-->'","'.'","'..'","'/'","'//'","'/>'","':'","':)'","'::'","':='","';'","'<'","'<!--'","'</'","'<<'","'<='","'<?'","'='","'>'","'>='","'>>'","'?'","'?>'","'@'","'NaN'","'['","']'","'after'","'all'","'allowing'","'ancestor'","'ancestor-or-self'","'and'","'any'","'append'","'array'","'as'","'ascending'","'at'","'attribute'","'base-uri'","'before'","'boundary-space'","'break'","'by'","'case'","'cast'","'castable'","'catch'","'check'","'child'","'collation'","'collection'","'comment'","'constraint'","'construction'","'contains'","'content'","'context'","'continue'","'copy'","'copy-namespaces'","'count'","'decimal-format'","'decimal-separator'","'declare'","'default'","'delete'","'descendant'","'descendant-or-self'","'descending'","'diacritics'","'different'","'digit'","'distance'","'div'","'document'","'document-node'","'element'","'else'","'empty'","'empty-sequence'","'encoding'","'end'","'entire'","'eq'","'every'","'exactly'","'except'","'exit'","'external'","'first'","'following'","'following-sibling'","'for'","'foreach'","'foreign'","'from'","'ft-option'","'ftand'","'ftnot'","'ftor'","'function'","'ge'","'greatest'","'group'","'grouping-separator'","'gt'","'idiv'","'if'","'import'","'in'","'index'","'infinity'","'inherit'","'insensitive'","'insert'","'instance'","'integrity'","'intersect'","'into'","'is'","'item'","'json'","'json-item'","'key'","'language'","'last'","'lax'","'le'","'least'","'let'","'levels'","'loop'","'lowercase'","'lt'","'minus-sign'","'mod'","'modify'","'module'","'most'","'namespace'","'namespace-node'","'ne'","'next'","'no'","'no-inherit'","'no-preserve'","'node'","'nodes'","'not'","'object'","'occurs'","'of'","'on'","'only'","'option'","'or'","'order'","'ordered'","'ordering'","'paragraph'","'paragraphs'","'parent'","'pattern-separator'","'per-mille'","'percent'","'phrase'","'position'","'preceding'","'preceding-sibling'","'preserve'","'previous'","'processing-instruction'","'relationship'","'rename'","'replace'","'return'","'returning'","'revalidation'","'same'","'satisfies'","'schema'","'schema-attribute'","'schema-element'","'score'","'self'","'sensitive'","'sentence'","'sentences'","'skip'","'sliding'","'some'","'stable'","'start'","'stemming'","'stop'","'strict'","'strip'","'structured-item'","'switch'","'text'","'then'","'thesaurus'","'times'","'to'","'treat'","'try'","'tumbling'","'type'","'typeswitch'","'union'","'unique'","'unordered'","'updating'","'uppercase'","'using'","'validate'","'value'","'variable'","'version'","'weight'","'when'","'where'","'while'","'wildcards'","'window'","'with'","'without'","'word'","'words'","'xquery'","'zero-digit'","'{'","'{{'","'{|'","'|'","'||'","'|}'","'}'","'}}'"]}),define("ace/mode/xquery/visitors/SyntaxHighlighter",["require","exports","module"],function(e,t,n){var r=t.SyntaxHighlighter=function(e,t){var n=["after","ancestor","ancestor-or-self","and","as","ascending","attribute","before","case","cast","castable","child","collation","comment","copy","count","declare","default","delete","descendant","descendant-or-self","descending","div","document","document-node","element","else","empty","empty-sequence","end","eq","every","except","first","following","following-sibling","for","function","ge","group","gt","idiv","if","then","import","insert","instance","intersect","into","is","item","last","le","let","lt","mod","modify","module","namespace","namespace-node","ne","node","only","or","order","ordered","parent","preceding","preceding-sibling","processing-instruction","rename","replace","return","satisfies","schema-attribute","schema-element","self","some","stable","start","switch","text","to","treat","try","typeswitch","union","unordered","validate","where","with","xquery","contains","paragraphs","sentences","times","words","by","collection","allowing","at","base-uri","boundary-space","break","catch","construction","context","continue","copy-namespaces","decimal-format","encoding","exit","external","ft-option","in","index","integrity","lax","nodes","option","ordering","revalidation","schema","score","sliding","strict","tumbling","type","updating","value","variable","version","while","constraint","loop","returning","append","array","json-item","object","structured-item","when","next","previous","window"],r=["cdata","comment","tag"],i={lines:[[]],states:[]};this.getTokens=function(){return this.visit(t),i},this.addTokens=function(e,t){var n=e.split("\n"),s="start";for(var o in n){o>0&&(i.lines.push([]),i.states.push(s));var e=n[o],u=i.lines.length-1,a=i.lines[u];a.push({value:e,type:t}),s=r.indexOf(t)!=-1?t:"start"}},this.getNodeValue=function(t){return e.substring(t.begin,t.end)},this.DirPIConstructor=function(e){var t=this.getNodeValue(e);return this.addTokens(t,"xml_pe"),!0},this.DirElemConstructor=function(e){for(var t in e.children){var n=e.children[t];if(n.name==="TOKEN"||n.name==="QName"){var r=this.getNodeValue(n);this.addTokens(r,"meta.tag")}else this.visit(n)}return!0},this.DirAttributeList=function(e){for(var t in e.children){var n=e.children[t];if(n.name==="QName"){var r=this.getNodeValue(n);this.addTokens(r,"meta.tag")}else this.visit(n)}return!0},this.DirAttributeValue=function(e){for(var t in e.children){var n=e.children[t];if(n.name==="TOKEN"){var r=this.getNodeValue(n);this.addTokens(r,"string")}else this.visit(n)}return!0},this.QuotAttrContentChar=function(e){var t=this.getNodeValue(e);return this.addTokens(t,"string"),!0},this.StringConcatExpr=function(e){for(var t in e.children){var n=e.children[t];if(n.name==="TOKEN"){var r=this.getNodeValue(n);this.addTokens(r,"keyword.operator")}else this.visit(n)}return!0},this.AdditiveExpr=function(e){for(var t in e.children){var n=e.children[t];if(n.name==="TOKEN"){var r=this.getNodeValue(n);this.addTokens(r,"keyword.operator")}else this.visit(n)}return!0},this.MultiplicativeExpr=function(e){for(var t in e.children){var n=e.children[t];if(n.name==="TOKEN"){var r=this.getNodeValue(n);this.addTokens(r,"keyword.operator")}else this.visit(n)}return!0},this.UnaryExpr=function(e){for(var t in e.children){var n=e.children[t];if(n.name==="TOKEN"){var r=this.getNodeValue(n);this.addTokens(r,"keyword.operator")}else this.visit(n)}return!0},this.GeneralComp=function(e){for(var t in e.children){var n=e.children[t];if(n.name==="TOKEN"){var r=this.getNodeValue(n);this.addTokens(r,"keyword.operator")}else this.visit(n)}return!0},this.NumericLiteral=function(e){for(var t in e.children){var n=e.children[t];if(n.name!="TEXT"){var r=this.getNodeValue(n);this.addTokens(r,"constant")}else this.visit(n)}return!0},this.DirCommentConstructor=function(e){for(var t in e.children){var n=e.children[t];if(n.name!="TEXT"){var r=this.getNodeValue(n);this.addTokens(r,"comment")}else this.visit(n)}return!0},this.Comment=function(e){return!0},this.URILiteral=function(e){var t=this.getNodeValue(e);return this.addTokens(t,"string"),!0},this.StringLiteral=function(e){var t=this.getNodeValue(e);return this.addTokens(t,"string"),!0},this.EQName=function(e){var t=this.getNodeValue(e);return this.addTokens(t,"support.function"),!0},this.TOKEN=function(e){var t=this.getNodeValue(e);return n.indexOf(t)>-1?this.addTokens(t,"keyword"):t!=="$"&&this.addTokens(t,"text"),!0},this.WS=function(e){var t=this.getNodeValue(e),n=t.indexOf("(:");while(n>-1){var r=t.substring(0,n);this.addTokens(r,"text");var i=t.substring(n).indexOf(":)")+3,s=t.substring(n,i);this.addTokens(s,"comment"),t=t.substring(i),n=t.indexOf("(:")}this.addTokens(t,"text")},this.EverythingElse=function(e){if(e.children.length===0){var t=this.getNodeValue(e);return this.addTokens(t,"text"),!0}return!1},this.visit=function(e){var t=e.name,n=!1;typeof this[t]=="function"?n=this[t](e)===!0?!0:!1:n=this.EverythingElse(e)===!0?!0:!1;if(!n&&typeof e.children=="object"){var r=!1;for(var i=0;i<e.children.length;i++){var s=e.children[i],o=this.getNodeValue(s);s.name==="TOKEN"&&o==="$"?r=!0:r?(this.addTokens("$"+o,"variable"),r=!1):this.visit(s)}}}}})
vendor/assets/javascripts/vendor.js
//= require jquery.dataTables.bootstrap-paging
//= require jquery.jnotify
//= require jquery.jeditable
//= require jstz
//= require jstz
//= require ace/ace
//= require ace/ext-static_highlight
//= require ace/ext-textarea
//= require ace/keybinding-emacs
//= require ace/keybinding-vim
//= require ace/mode-diff
//= require ace/mode-json
//= require ace/mode-ruby
//= require ace/mode-sh
//= require ace/mode-text
//= require ace/mode-xml
//= require ace/mode-yaml
//= require ace/theme-twilight
//= require ace/worker-coffee
//= require ace/worker-css
//= require ace/worker-javascript
//= require ace/worker-json
//= require ace/worker-xquery

Also available in: Unified diff