Code Snippets - Version 2.13.1

Version Description

Fixes for single-use snippets and French translation

Download this release

Release Info

Developer bungeshea
Plugin Icon Code Snippets
Version 2.13.1
Comparing to
See all releases

Code changes from version 2.13.0 to 2.13.1

code-snippets.php CHANGED
@@ -8,9 +8,9 @@
8
  *
9
  * @package Code_Snippets
10
  * @author Shea Bunge <shea@sheabunge.com>
11
- * @copyright 2012-2018 Shea Bunge
12
  * @license MIT http://opensource.org/licenses/MIT
13
- * @version 2.13.0
14
  * @link https://github.com/sheabunge/code-snippets
15
  */
16
 
@@ -20,7 +20,7 @@ Plugin URI: https://github.com/sheabunge/code-snippets
20
  Description: An easy, clean and simple way to add code snippets to your site. No need to edit to your theme's functions.php file again!
21
  Author: Shea Bunge
22
  Author URI: https://sheabunge.com
23
- Version: 2.13.0
24
  License: MIT
25
  License URI: license.txt
26
  Text Domain: code-snippets
@@ -29,7 +29,7 @@ Domain Path: /languages
29
 
30
  /* Exit if accessed directly */
31
  if ( ! defined( 'ABSPATH' ) ) {
32
- exit;
33
  }
34
 
35
  /**
@@ -42,7 +42,7 @@ if ( ! defined( 'ABSPATH' ) ) {
42
  * @since 2.0
43
  * @var string A PHP-standardized version number string
44
  */
45
- define( 'CODE_SNIPPETS_VERSION', '2.13.0' );
46
 
47
  /**
48
  * The full path to the main file of this plugin
@@ -88,7 +88,11 @@ function code_snippets_autoload( $class_name ) {
88
  require_once $class_path . "class-{$class_file}.php";
89
  }
90
 
91
- spl_autoload_register( 'code_snippets_autoload' );
 
 
 
 
92
 
93
  /**
94
  * Retrieve the instance of the main plugin class
8
  *
9
  * @package Code_Snippets
10
  * @author Shea Bunge <shea@sheabunge.com>
11
+ * @copyright 2012-2019 Shea Bunge
12
  * @license MIT http://opensource.org/licenses/MIT
13
+ * @version 2.13.1
14
  * @link https://github.com/sheabunge/code-snippets
15
  */
16
 
20
  Description: An easy, clean and simple way to add code snippets to your site. No need to edit to your theme's functions.php file again!
21
  Author: Shea Bunge
22
  Author URI: https://sheabunge.com
23
+ Version: 2.13.1
24
  License: MIT
25
  License URI: license.txt
26
  Text Domain: code-snippets
29
 
30
  /* Exit if accessed directly */
31
  if ( ! defined( 'ABSPATH' ) ) {
32
+ return;
33
  }
34
 
35
  /**
42
  * @since 2.0
43
  * @var string A PHP-standardized version number string
44
  */
45
+ define( 'CODE_SNIPPETS_VERSION', '2.13.1' );
46
 
47
  /**
48
  * The full path to the main file of this plugin
88
  require_once $class_path . "class-{$class_file}.php";
89
  }
90
 
91
+ try {
92
+ spl_autoload_register( 'code_snippets_autoload' );
93
+ } catch ( Exception $e ) {
94
+ new WP_Error( $e->getCode(), $e->getMessage() );
95
+ }
96
 
97
  /**
98
  * Retrieve the instance of the main plugin class
css/min/edit-rtl.css CHANGED
@@ -1,2 +1,2 @@
1
- ul.tagit{padding:1px 5px;overflow:auto;margin-right:inherit;margin-left:inherit}ul.tagit li{display:block;float:right;margin:2px 0 2px 5px}ul.tagit li.tagit-choice{position:relative;line-height:inherit}input.tagit-hidden-field{display:none}ul.tagit li.tagit-choice-read-only{padding:.2em .5em}ul.tagit li.tagit-choice-editable{padding:.2em .5em .2em 18px}ul.tagit li.tagit-new{padding:.25em 0 .25em 4px}ul.tagit li.tagit-choice a.tagit-label{cursor:pointer;text-decoration:none}ul.tagit li.tagit-choice .tagit-close{cursor:pointer;position:absolute;left:.1em;top:50%;margin-top:-8px;line-height:17px}ul.tagit li.tagit-choice .tagit-close .text-icon{display:none}ul.tagit li.tagit-choice input{display:block;float:right;margin:2px 0 2px 5px}ul.tagit input[type=text]{box-sizing:border-box;box-shadow:none;border:none;margin:0;padding:0;width:inherit;background-color:inherit;outline:none}ul.tagit{border:1px solid #c6c6c6;background:inherit}ul.tagit li.tagit-choice{border-radius:6px;-webkit-border-radius:6px;border:1px solid #cad8f3;background:none;background-color:#dee7f8;font-weight:400}ul.tagit li.tagit-choice .tagit-label:not(a){color:#555}ul.tagit li.tagit-choice a.tagit-close{text-decoration:none}ul.tagit li.tagit-choice .tagit-close{left:.4em}ul.tagit li.tagit-choice .ui-icon{display:none}ul.tagit li.tagit-choice .tagit-close .text-icon{display:inline;font-family:arial,sans-serif;font-size:16px;line-height:16px;color:#777}ul.tagit li.tagit-choice.remove,ul.tagit li.tagit-choice:hover{background-color:#bbcef1;border-color:#6d95e0}ul.tagit li.tagit-choice a.tagit-close .text-icon:hover,ul.tagit li.tagit-choice a.tagLabel:hover{color:#222}ul.tagit input[type=text]{color:#333;background:none}.ui-widget{font-size:1.1em}.tagit-autocomplete.ui-autocomplete{position:absolute;cursor:default}* html .tagit-autocomplete.ui-autocomplete{width:1px}.tagit-autocomplete.ui-menu{list-style:none;padding:2px;margin:0;display:block;float:right}.tagit-autocomplete.ui-menu .ui-menu{margin-top:-3px}.tagit-autocomplete.ui-menu .ui-menu-item{margin:0;padding:0;zoom:1;float:right;clear:right;width:100%}.tagit-autocomplete.ui-menu .ui-menu-item a{text-decoration:none;display:block;padding:.2em .4em;line-height:1.5;zoom:1}.tagit-autocomplete .ui-menu .ui-menu-item a.ui-state-active,.tagit-autocomplete .ui-menu .ui-menu-item a.ui-state-hover{font-weight:400;margin:-1px}.tagit-autocomplete.ui-widget-content{border:1px solid #aaa;background:#fff 50% 50% repeat-x;color:#222}.tagit-autocomplete.ui-corner-all,.tagit-autocomplete .ui-corner-all{border-radius:4px}.tagit-autocomplete .ui-state-focus,.tagit-autocomplete .ui-state-hover{border:1px solid #999;background:#dadada;font-weight:400;color:#212121}.tagit-autocomplete .ui-state-active,.tagit-autocomplete .ui-widget-content{border:1px solid #aaa}.tagit .ui-helper-hidden-accessible{position:absolute!important;clip:rect(1px,1px,1px,1px)}.form-table th{width:auto}h2{margin:25px 0 15px}h2:first-of-type{margin-top:20px}h2 label{cursor:auto}.active-snippet #title,.inactive-snippet #title{border-right-width:4px}.active-snippet #title{border-right-color:#46b450}.inactive-snippet #title{border-right-color:#dc3232}label[for=snippet_description] h3 div{position:absolute}ul.tagit{background-color:#fff!important}.submit .button{margin-left:.5em}.snippet-scope{margin-top:15px}.snippet-scope label{margin-left:30px;display:inline-block}.snippet-priority{float:left}.snippet-priority label{font-weight:700;cursor:help;font-size:1.1em;padding-left:.5em}.snippet-priority input{width:4em}.CodeMirror{width:100%}.CodeMirror-sizer{min-height:300px!important}
2
 
1
+ ul.tagit{padding:1px 5px;overflow:auto;margin-right:inherit;margin-left:inherit}ul.tagit li{display:block;float:right;margin:2px 0 2px 5px}ul.tagit li.tagit-choice{position:relative;line-height:inherit}input.tagit-hidden-field{display:none}ul.tagit li.tagit-choice-read-only{padding:.2em .5em}ul.tagit li.tagit-choice-editable{padding:.2em .5em .2em 18px}ul.tagit li.tagit-new{padding:.25em 0 .25em 4px}ul.tagit li.tagit-choice a.tagit-label{cursor:pointer;text-decoration:none}ul.tagit li.tagit-choice .tagit-close{cursor:pointer;position:absolute;left:.1em;top:50%;margin-top:-8px;line-height:17px}ul.tagit li.tagit-choice .tagit-close .text-icon{display:none}ul.tagit li.tagit-choice input{display:block;float:right;margin:2px 0 2px 5px}ul.tagit input[type=text]{box-sizing:border-box;box-shadow:none;border:none;margin:0;padding:0;width:inherit;background-color:inherit;outline:none}ul.tagit{border:1px solid #c6c6c6;background:inherit}ul.tagit li.tagit-choice{border-radius:6px;-webkit-border-radius:6px;border:1px solid #cad8f3;background:none;background-color:#dee7f8;font-weight:400}ul.tagit li.tagit-choice .tagit-label:not(a){color:#555}ul.tagit li.tagit-choice a.tagit-close{text-decoration:none}ul.tagit li.tagit-choice .tagit-close{left:.4em}ul.tagit li.tagit-choice .ui-icon{display:none}ul.tagit li.tagit-choice .tagit-close .text-icon{display:inline;font-family:arial,sans-serif;font-size:16px;line-height:16px;color:#777}ul.tagit li.tagit-choice.remove,ul.tagit li.tagit-choice:hover{background-color:#bbcef1;border-color:#6d95e0}ul.tagit li.tagit-choice a.tagit-close .text-icon:hover,ul.tagit li.tagit-choice a.tagLabel:hover{color:#222}ul.tagit input[type=text]{color:#333;background:none}.ui-widget{font-size:1.1em}.tagit-autocomplete.ui-autocomplete{position:absolute;cursor:default}* html .tagit-autocomplete.ui-autocomplete{width:1px}.tagit-autocomplete.ui-menu{list-style:none;padding:2px;margin:0;display:block;float:right}.tagit-autocomplete.ui-menu .ui-menu{margin-top:-3px}.tagit-autocomplete.ui-menu .ui-menu-item{margin:0;padding:0;zoom:1;float:right;clear:right;width:100%}.tagit-autocomplete.ui-menu .ui-menu-item a{text-decoration:none;display:block;padding:.2em .4em;line-height:1.5;zoom:1}.tagit-autocomplete .ui-menu .ui-menu-item a.ui-state-active,.tagit-autocomplete .ui-menu .ui-menu-item a.ui-state-hover{font-weight:400;margin:-1px}.tagit-autocomplete.ui-widget-content{border:1px solid #aaa;background:#fff 50% 50% repeat-x;color:#222}.tagit-autocomplete.ui-corner-all,.tagit-autocomplete .ui-corner-all{border-radius:4px}.tagit-autocomplete .ui-state-focus,.tagit-autocomplete .ui-state-hover{border:1px solid #999;background:#dadada;font-weight:400;color:#212121}.tagit-autocomplete .ui-state-active,.tagit-autocomplete .ui-widget-content{border:1px solid #aaa}.tagit .ui-helper-hidden-accessible{position:absolute!important;clip:rect(1px,1px,1px,1px)}.form-table th{width:auto}h2{margin:25px 0 15px}h2:first-of-type{margin-top:20px}h2 label{cursor:auto}.active-snippet #title,.inactive-snippet #title{border-right-width:4px}.active-snippet #title{border-right-color:#46b450}.inactive-snippet #title{border-right-color:#dc3232}label[for=snippet_description] h3 div{position:absolute}ul.tagit{background-color:#fff!important}.submit .button{margin-left:.5em}.snippet-scope{margin-top:15px}.snippet-scope label{margin-left:1.5em;display:inline-block}.snippet-priority{float:left}.snippet-priority label{font-weight:700;cursor:help;font-size:1.1em;padding-left:.5em}.snippet-priority input{width:4em}.snippet-editor{position:relative}.editor-help-tooltip{cursor:help;padding:.3em .3em 0;display:inline-block;font-size:10px;background:transparent!important}.snippet-editor-help{position:absolute;left:5px;top:5px}.snippet-editor-help:hover .editor-help-text{visibility:visible;opacity:1}.editor-help-text{visibility:hidden;background-color:#555;color:#fff;padding:5px;border-radius:6px;position:absolute;z-index:99;top:125%;left:0;margin-left:-10px;opacity:0;transition:opacity .3s;white-space:nowrap;font-size:small}.editor-help-text:after{content:"";position:absolute;bottom:100%;left:0;margin-left:10px;border:5px solid transparent;border-bottom-color:#555}.editor-help-text td:first-child{padding-left:.5em}.editor-help-text .mac-key{display:none}.editor-help-text.platform-mac .mac-key{display:inline}.editor-help-text.platform-mac .pc-key{display:none}.CodeMirror{width:100%}.CodeMirror-sizer{min-height:300px!important}
2
 
css/min/edit.css CHANGED
@@ -1 +1 @@
1
- ul.tagit{padding:1px 5px;overflow:auto;margin-left:inherit;margin-right:inherit}ul.tagit li{display:block;float:left;margin:2px 5px 2px 0}ul.tagit li.tagit-choice{position:relative;line-height:inherit}input.tagit-hidden-field{display:none}ul.tagit li.tagit-choice-read-only{padding:.2em .5em}ul.tagit li.tagit-choice-editable{padding:.2em 18px .2em .5em}ul.tagit li.tagit-new{padding:.25em 4px .25em 0}ul.tagit li.tagit-choice a.tagit-label{cursor:pointer;text-decoration:none}ul.tagit li.tagit-choice .tagit-close{cursor:pointer;position:absolute;right:.1em;top:50%;margin-top:-8px;line-height:17px}ul.tagit li.tagit-choice .tagit-close .text-icon{display:none}ul.tagit li.tagit-choice input{display:block;float:left;margin:2px 5px 2px 0}ul.tagit input[type=text]{box-sizing:border-box;box-shadow:none;border:none;margin:0;padding:0;width:inherit;background-color:inherit;outline:none}ul.tagit{border:1px solid #c6c6c6;background:inherit}ul.tagit li.tagit-choice{border-radius:6px;-webkit-border-radius:6px;border:1px solid #cad8f3;background:none;background-color:#dee7f8;font-weight:400}ul.tagit li.tagit-choice .tagit-label:not(a){color:#555}ul.tagit li.tagit-choice a.tagit-close{text-decoration:none}ul.tagit li.tagit-choice .tagit-close{right:.4em}ul.tagit li.tagit-choice .ui-icon{display:none}ul.tagit li.tagit-choice .tagit-close .text-icon{display:inline;font-family:arial,sans-serif;font-size:16px;line-height:16px;color:#777}ul.tagit li.tagit-choice.remove,ul.tagit li.tagit-choice:hover{background-color:#bbcef1;border-color:#6d95e0}ul.tagit li.tagit-choice a.tagit-close .text-icon:hover,ul.tagit li.tagit-choice a.tagLabel:hover{color:#222}ul.tagit input[type=text]{color:#333;background:none}.ui-widget{font-size:1.1em}.tagit-autocomplete.ui-autocomplete{position:absolute;cursor:default}* html .tagit-autocomplete.ui-autocomplete{width:1px}.tagit-autocomplete.ui-menu{list-style:none;padding:2px;margin:0;display:block;float:left}.tagit-autocomplete.ui-menu .ui-menu{margin-top:-3px}.tagit-autocomplete.ui-menu .ui-menu-item{margin:0;padding:0;zoom:1;float:left;clear:left;width:100%}.tagit-autocomplete.ui-menu .ui-menu-item a{text-decoration:none;display:block;padding:.2em .4em;line-height:1.5;zoom:1}.tagit-autocomplete .ui-menu .ui-menu-item a.ui-state-active,.tagit-autocomplete .ui-menu .ui-menu-item a.ui-state-hover{font-weight:400;margin:-1px}.tagit-autocomplete.ui-widget-content{border:1px solid #aaa;background:#fff 50% 50% repeat-x;color:#222}.tagit-autocomplete.ui-corner-all,.tagit-autocomplete .ui-corner-all{border-radius:4px}.tagit-autocomplete .ui-state-focus,.tagit-autocomplete .ui-state-hover{border:1px solid #999;background:#dadada;font-weight:400;color:#212121}.tagit-autocomplete .ui-state-active,.tagit-autocomplete .ui-widget-content{border:1px solid #aaa}.tagit .ui-helper-hidden-accessible{position:absolute!important;clip:rect(1px,1px,1px,1px)}.form-table th{width:auto}h2{margin:25px 0 15px}h2:first-of-type{margin-top:20px}h2 label{cursor:auto}.active-snippet #title,.inactive-snippet #title{border-left-width:4px}.active-snippet #title{border-left-color:#46b450}.inactive-snippet #title{border-left-color:#dc3232}label[for=snippet_description] h3 div{position:absolute}ul.tagit{background-color:#fff!important}.submit .button{margin-right:.5em}.snippet-scope{margin-top:15px}.snippet-scope label{margin-right:30px;display:inline-block}.snippet-priority{float:right}.snippet-priority label{font-weight:700;cursor:help;font-size:1.1em;padding-right:.5em}.snippet-priority input{width:4em}.CodeMirror{width:100%}.CodeMirror-sizer{min-height:300px!important}
1
+ ul.tagit{padding:1px 5px;overflow:auto;margin-left:inherit;margin-right:inherit}ul.tagit li{display:block;float:left;margin:2px 5px 2px 0}ul.tagit li.tagit-choice{position:relative;line-height:inherit}input.tagit-hidden-field{display:none}ul.tagit li.tagit-choice-read-only{padding:.2em .5em}ul.tagit li.tagit-choice-editable{padding:.2em 18px .2em .5em}ul.tagit li.tagit-new{padding:.25em 4px .25em 0}ul.tagit li.tagit-choice a.tagit-label{cursor:pointer;text-decoration:none}ul.tagit li.tagit-choice .tagit-close{cursor:pointer;position:absolute;right:.1em;top:50%;margin-top:-8px;line-height:17px}ul.tagit li.tagit-choice .tagit-close .text-icon{display:none}ul.tagit li.tagit-choice input{display:block;float:left;margin:2px 5px 2px 0}ul.tagit input[type=text]{box-sizing:border-box;box-shadow:none;border:none;margin:0;padding:0;width:inherit;background-color:inherit;outline:none}ul.tagit{border:1px solid #c6c6c6;background:inherit}ul.tagit li.tagit-choice{border-radius:6px;-webkit-border-radius:6px;border:1px solid #cad8f3;background:none;background-color:#dee7f8;font-weight:400}ul.tagit li.tagit-choice .tagit-label:not(a){color:#555}ul.tagit li.tagit-choice a.tagit-close{text-decoration:none}ul.tagit li.tagit-choice .tagit-close{right:.4em}ul.tagit li.tagit-choice .ui-icon{display:none}ul.tagit li.tagit-choice .tagit-close .text-icon{display:inline;font-family:arial,sans-serif;font-size:16px;line-height:16px;color:#777}ul.tagit li.tagit-choice.remove,ul.tagit li.tagit-choice:hover{background-color:#bbcef1;border-color:#6d95e0}ul.tagit li.tagit-choice a.tagit-close .text-icon:hover,ul.tagit li.tagit-choice a.tagLabel:hover{color:#222}ul.tagit input[type=text]{color:#333;background:none}.ui-widget{font-size:1.1em}.tagit-autocomplete.ui-autocomplete{position:absolute;cursor:default}* html .tagit-autocomplete.ui-autocomplete{width:1px}.tagit-autocomplete.ui-menu{list-style:none;padding:2px;margin:0;display:block;float:left}.tagit-autocomplete.ui-menu .ui-menu{margin-top:-3px}.tagit-autocomplete.ui-menu .ui-menu-item{margin:0;padding:0;zoom:1;float:left;clear:left;width:100%}.tagit-autocomplete.ui-menu .ui-menu-item a{text-decoration:none;display:block;padding:.2em .4em;line-height:1.5;zoom:1}.tagit-autocomplete .ui-menu .ui-menu-item a.ui-state-active,.tagit-autocomplete .ui-menu .ui-menu-item a.ui-state-hover{font-weight:400;margin:-1px}.tagit-autocomplete.ui-widget-content{border:1px solid #aaa;background:#fff 50% 50% repeat-x;color:#222}.tagit-autocomplete.ui-corner-all,.tagit-autocomplete .ui-corner-all{border-radius:4px}.tagit-autocomplete .ui-state-focus,.tagit-autocomplete .ui-state-hover{border:1px solid #999;background:#dadada;font-weight:400;color:#212121}.tagit-autocomplete .ui-state-active,.tagit-autocomplete .ui-widget-content{border:1px solid #aaa}.tagit .ui-helper-hidden-accessible{position:absolute!important;clip:rect(1px,1px,1px,1px)}.form-table th{width:auto}h2{margin:25px 0 15px}h2:first-of-type{margin-top:20px}h2 label{cursor:auto}.active-snippet #title,.inactive-snippet #title{border-left-width:4px}.active-snippet #title{border-left-color:#46b450}.inactive-snippet #title{border-left-color:#dc3232}label[for=snippet_description] h3 div{position:absolute}ul.tagit{background-color:#fff!important}.submit .button{margin-right:.5em}.snippet-scope{margin-top:15px}.snippet-scope label{margin-right:1.5em;display:inline-block}.snippet-priority{float:right}.snippet-priority label{font-weight:700;cursor:help;font-size:1.1em;padding-right:.5em}.snippet-priority input{width:4em}.snippet-editor{position:relative}.editor-help-tooltip{cursor:help;padding:.3em .3em 0;display:inline-block;font-size:10px;background:transparent!important}.snippet-editor-help{position:absolute;right:5px;top:5px}.snippet-editor-help:hover .editor-help-text{visibility:visible;opacity:1}.editor-help-text{visibility:hidden;background-color:#555;color:#fff;padding:5px;border-radius:6px;position:absolute;z-index:99;top:125%;right:0;margin-right:-10px;opacity:0;transition:opacity .3s;white-space:nowrap;font-size:small}.editor-help-text:after{content:"";position:absolute;bottom:100%;right:0;margin-right:10px;border:5px solid transparent;border-bottom-color:#555}.editor-help-text td:first-child{padding-right:.5em}.editor-help-text .mac-key{display:none}.editor-help-text.platform-mac .mac-key{display:inline}.editor-help-text.platform-mac .pc-key{display:none}.CodeMirror{width:100%}.CodeMirror-sizer{min-height:300px!important}
css/min/editor-themes/base16-light.css CHANGED
@@ -1 +1 @@
1
- .cm-s-base16-light.CodeMirror{background:#f5f5f5;color:#202020}.cm-s-base16-light div.CodeMirror-selected{background:#e0e0e0}.cm-s-base16-light .CodeMirror-line::selection,.cm-s-base16-light .CodeMirror-line>span::selection,.cm-s-base16-light .CodeMirror-line>span>span::selection{background:#e0e0e0}.cm-s-base16-light .CodeMirror-line::-moz-selection,.cm-s-base16-light .CodeMirror-line>span::-moz-selection,.cm-s-base16-light .CodeMirror-line>span>span::-moz-selection{background:#e0e0e0}.cm-s-base16-light .CodeMirror-gutters{background:#f5f5f5;border-right:0}.cm-s-base16-light .CodeMirror-guttermarker{color:#ac4142}.cm-s-base16-light .CodeMirror-guttermarker-subtle,.cm-s-base16-light .CodeMirror-linenumber{color:#b0b0b0}.cm-s-base16-light .CodeMirror-cursor{border-left:1px solid #505050}.cm-s-base16-light span.cm-comment{color:#8f5536}.cm-s-base16-light span.cm-atom,.cm-s-base16-light span.cm-number{color:#aa759f}.cm-s-base16-light span.cm-attribute,.cm-s-base16-light span.cm-property{color:#90a959}.cm-s-base16-light span.cm-keyword{color:#ac4142}.cm-s-base16-light span.cm-string{color:#f4bf75}.cm-s-base16-light span.cm-variable{color:#90a959}.cm-s-base16-light span.cm-variable-2{color:#6a9fb5}.cm-s-base16-light span.cm-def{color:#d28445}.cm-s-base16-light span.cm-bracket{color:#202020}.cm-s-base16-light span.cm-tag{color:#ac4142}.cm-s-base16-light span.cm-link{color:#aa759f}.cm-s-base16-light span.cm-error{background:#ac4142;color:#505050}.cm-s-base16-light .CodeMirror-activeline-background{background:#dddcdc}.cm-s-base16-light .CodeMirror-matchingbracket{text-decoration:underline;color:#fff!important}
1
+ .cm-s-base16-light.CodeMirror{background:#f5f5f5;color:#202020}.cm-s-base16-light div.CodeMirror-selected{background:#e0e0e0}.cm-s-base16-light .CodeMirror-line::selection,.cm-s-base16-light .CodeMirror-line>span::selection,.cm-s-base16-light .CodeMirror-line>span>span::selection{background:#e0e0e0}.cm-s-base16-light .CodeMirror-line::-moz-selection,.cm-s-base16-light .CodeMirror-line>span::-moz-selection,.cm-s-base16-light .CodeMirror-line>span>span::-moz-selection{background:#e0e0e0}.cm-s-base16-light .CodeMirror-gutters{background:#f5f5f5;border-right:0}.cm-s-base16-light .CodeMirror-guttermarker{color:#ac4142}.cm-s-base16-light .CodeMirror-guttermarker-subtle,.cm-s-base16-light .CodeMirror-linenumber{color:#b0b0b0}.cm-s-base16-light .CodeMirror-cursor{border-left:1px solid #505050}.cm-s-base16-light span.cm-comment{color:#8f5536}.cm-s-base16-light span.cm-atom,.cm-s-base16-light span.cm-number{color:#aa759f}.cm-s-base16-light span.cm-attribute,.cm-s-base16-light span.cm-property{color:#90a959}.cm-s-base16-light span.cm-keyword{color:#ac4142}.cm-s-base16-light span.cm-string{color:#f4bf75}.cm-s-base16-light span.cm-variable{color:#90a959}.cm-s-base16-light span.cm-variable-2{color:#6a9fb5}.cm-s-base16-light span.cm-def{color:#d28445}.cm-s-base16-light span.cm-bracket{color:#202020}.cm-s-base16-light span.cm-tag{color:#ac4142}.cm-s-base16-light span.cm-link{color:#aa759f}.cm-s-base16-light span.cm-error{background:#ac4142;color:#505050}.cm-s-base16-light .CodeMirror-activeline-background{background:#dddcdc}.cm-s-base16-light .CodeMirror-matchingbracket{color:#f5f5f5!important;background-color:#6a9fb5!important}
css/min/manage-rtl.css CHANGED
@@ -1,2 +1,2 @@
1
- .column-name .dashicons{font-size:16px;width:16px;height:16px}.column-name .dashicons-clock{vertical-align:middle}.active-snippet .column-name>a{font-weight:600}.column-priority input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;box-shadow:none;width:4em}.column-priority input:disabled{color:inherit}.snippets .row-actions,.snippets .snippet-name{margin-right:40px}.snippets .row-actions{position:relative;right:0}.snippet-activation-switch{position:absolute;display:inline-block;margin-top:5px;width:30px;height:17px;background-color:#ccc;transition:.4s;border-radius:34px}.snippet-activation-switch:before{content:"";height:13px;width:13px;display:inline-block;margin:1.5px 2px;background-color:#fff;transition:.4s,background-color 1s linear;border-radius:50%}.snippets .active-snippet .snippet-activation-switch{background-color:#2196f3}.snippets .active-snippet .snippet-activation-switch:before{-webkit-transform:translateX(-100%);transform:translateX(-100%)}.clear-filters{vertical-align:baseline}.snippets .badge{margin-right:4px;padding:3px 6px;text-decoration:none;border:none;border-radius:2px;background:#e0e0e0;font-size:smaller;line-height:1.2}.rtl .snippets .badge{float:right}.clear-filters{vertical-align:bottom}.snippets td,.snippets th{color:#000}.snippets tr{background:#fff}.snippets .row-actions{color:#ddd}.snippets .clear-filters{vertical-align:middle}.snippets tfoot th{border-top:none!important}.snippets tfoot th.check-column{padding:13px 3px 0 0}.snippets .inactive-snippet th.check-column,.snippets tfoot th.check-column,.snippets thead th.check-column{padding-right:5px}.snippets .column-description p{color:#333}.snippets .inactive-snippet a{color:#579}.snippets .active-snippet td,.snippets .active-snippet th,.snippets .inactive-snippet td,.snippets .inactive-snippet th{padding:10px 9px;border:none;box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.snippets .active-snippet td,.snippets .active-snippet th{background-color:rgba(120,200,230,.06)}.snippets .active-snippet th.check-column{border-right:2px solid #2ea2cc}.snippets tr.active-snippet+tr.inactive-snippet td,.snippets tr.active-snippet+tr.inactive-snippet th{border-top:1px solid rgba(0,0,0,.03);box-shadow:inset 0 1px 0 rgba(0,0,0,.02),inset 0 -1px 0 #e1e1e1}.snippets #all-snippets-table a.delete:hover,.snippets #search-snippets-table a.delete:hover,.snippets a.delete:hover{border-bottom:1px solid red;color:red}#wpbody-content .snippets .column-name{white-space:nowrap}@media screen and (max-width:782px){p.search-box{float:right;position:static;margin:0;height:auto}}
2
 
1
+ .column-name .dashicons{font-size:16px;width:16px;height:16px}.column-name .dashicons-clock{vertical-align:middle}.active-snippet .column-name>a{font-weight:600}.column-priority input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;box-shadow:none;width:4em}.column-priority input:disabled{color:inherit}.snippets .row-actions,.snippets .snippet-name{margin-right:40px}.snippets .row-actions{position:relative;right:0}.snippet-activation-switch,.snippet-execution-button{position:absolute;display:inline-block}.snippet-activation-switch{margin-top:5px;width:30px;height:17px;transition:.4s;border-radius:34px;background-color:#ccc}.snippet-activation-switch:before{content:"";height:13px;width:13px;display:inline-block;margin:1.5px 2px;background-color:#fff;transition:.4s,background-color 1s linear;border-radius:50%}.snippets .active-snippet .snippet-activation-switch{background-color:#2196f3}.snippets .active-snippet .snippet-activation-switch:before{-webkit-transform:translateX(-100%);transform:translateX(-100%)}.snippet-execution-button{margin-right:10px;margin-top:9px;width:0;height:0;border-top:9px solid transparent;border-bottom:9px solid transparent;border-right:10px solid #ccc;transition:all .3s}.snippet-execution-button:before{content:"";position:absolute;top:-14px;right:-21px;bottom:-14px;left:-8px;border-radius:50%;border:1.8px solid #ccc;z-index:2;transition:all .3s}.snippet-execution-button:focus,.snippet-execution-button:hover{border-right-color:#579}.snippet-execution-button:focus:before,.snippet-execution-button:hover:before{-webkit-transform:scale(1.1);transform:scale(1.1);border-color:#579}.clear-filters{vertical-align:baseline!important}.snippets .badge{margin-right:4px;padding:3px 6px;text-decoration:none;border:none;border-radius:2px;background:#e0e0e0;font-size:smaller;line-height:1.2}.rtl .snippets .badge{float:right}.snippets td,.snippets th{color:#000}.snippets tr{background:#fff}.snippets .row-actions{color:#ddd}.snippets .clear-filters{vertical-align:middle}.snippets tfoot th{border-top:none!important}.snippets tfoot th.check-column{padding:13px 3px 0 0}.snippets .inactive-snippet th.check-column,.snippets tfoot th.check-column,.snippets thead th.check-column{padding-right:5px}.snippets .column-description p{color:#333}.snippets .inactive-snippet a{color:#579}.snippets .active-snippet td,.snippets .active-snippet th,.snippets .inactive-snippet td,.snippets .inactive-snippet th{padding:10px 9px;border:none;box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.snippets .active-snippet td,.snippets .active-snippet th{background-color:rgba(120,200,230,.06)}.snippets .active-snippet th.check-column{border-right:2px solid #2ea2cc}.snippets tr.active-snippet+tr.inactive-snippet td,.snippets tr.active-snippet+tr.inactive-snippet th{border-top:1px solid rgba(0,0,0,.03);box-shadow:inset 0 1px 0 rgba(0,0,0,.02),inset 0 -1px 0 #e1e1e1}.snippets #all-snippets-table a.delete:hover,.snippets #search-snippets-table a.delete:hover,.snippets a.delete:hover{border-bottom:1px solid red;color:red}#wpbody-content .snippets .column-name{white-space:nowrap}@media screen and (max-width:782px){p.search-box{float:right;position:static;margin:0;height:auto}}
2
 
css/min/manage.css CHANGED
@@ -1 +1 @@
1
- .column-name .dashicons{font-size:16px;width:16px;height:16px}.column-name .dashicons-clock{vertical-align:middle}.active-snippet .column-name>a{font-weight:600}.column-priority input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;box-shadow:none;width:4em}.column-priority input:disabled{color:inherit}.snippets .row-actions,.snippets .snippet-name{margin-left:40px}.snippets .row-actions{position:relative;left:0}.snippet-activation-switch{position:absolute;display:inline-block;margin-top:5px;width:30px;height:17px;background-color:#ccc;transition:.4s;border-radius:34px}.snippet-activation-switch:before{content:"";height:13px;width:13px;display:inline-block;margin:1.5px 2px;background-color:#fff;transition:.4s,background-color 1s linear;border-radius:50%}.snippets .active-snippet .snippet-activation-switch{background-color:#2196f3}.snippets .active-snippet .snippet-activation-switch:before{-webkit-transform:translateX(100%);transform:translateX(100%)}.clear-filters{vertical-align:baseline}.snippets .badge{margin-left:4px;padding:3px 6px;text-decoration:none;border:none;border-radius:2px;background:#e0e0e0;font-size:smaller;line-height:1.2}.rtl .snippets .badge{float:left}.clear-filters{vertical-align:bottom}.snippets td,.snippets th{color:#000}.snippets tr{background:#fff}.snippets .row-actions{color:#ddd}.snippets .clear-filters{vertical-align:middle}.snippets tfoot th{border-top:none!important}.snippets tfoot th.check-column{padding:13px 0 0 3px}.snippets .inactive-snippet th.check-column,.snippets tfoot th.check-column,.snippets thead th.check-column{padding-left:5px}.snippets .column-description p{color:#333}.snippets .inactive-snippet a{color:#579}.snippets .active-snippet td,.snippets .active-snippet th,.snippets .inactive-snippet td,.snippets .inactive-snippet th{padding:10px 9px;border:none;box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.snippets .active-snippet td,.snippets .active-snippet th{background-color:rgba(120,200,230,.06)}.snippets .active-snippet th.check-column{border-left:2px solid #2ea2cc}.snippets tr.active-snippet+tr.inactive-snippet td,.snippets tr.active-snippet+tr.inactive-snippet th{border-top:1px solid rgba(0,0,0,.03);box-shadow:inset 0 1px 0 rgba(0,0,0,.02),inset 0 -1px 0 #e1e1e1}.snippets #all-snippets-table a.delete:hover,.snippets #search-snippets-table a.delete:hover,.snippets a.delete:hover{border-bottom:1px solid red;color:red}#wpbody-content .snippets .column-name{white-space:nowrap}@media screen and (max-width:782px){p.search-box{float:left;position:static;margin:0;height:auto}}
1
+ .column-name .dashicons{font-size:16px;width:16px;height:16px}.column-name .dashicons-clock{vertical-align:middle}.active-snippet .column-name>a{font-weight:600}.column-priority input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;box-shadow:none;width:4em}.column-priority input:disabled{color:inherit}.snippets .row-actions,.snippets .snippet-name{margin-left:40px}.snippets .row-actions{position:relative;left:0}.snippet-activation-switch,.snippet-execution-button{position:absolute;display:inline-block}.snippet-activation-switch{margin-top:5px;width:30px;height:17px;transition:.4s;border-radius:34px;background-color:#ccc}.snippet-activation-switch:before{content:"";height:13px;width:13px;display:inline-block;margin:1.5px 2px;background-color:#fff;transition:.4s,background-color 1s linear;border-radius:50%}.snippets .active-snippet .snippet-activation-switch{background-color:#2196f3}.snippets .active-snippet .snippet-activation-switch:before{-webkit-transform:translateX(100%);transform:translateX(100%)}.snippet-execution-button{margin-left:10px;margin-top:9px;width:0;height:0;border-top:9px solid transparent;border-bottom:9px solid transparent;border-left:10px solid #ccc;transition:all .3s}.snippet-execution-button:before{content:"";position:absolute;top:-14px;left:-21px;bottom:-14px;right:-8px;border-radius:50%;border:1.8px solid #ccc;z-index:2;transition:all .3s}.snippet-execution-button:focus,.snippet-execution-button:hover{border-left-color:#579}.snippet-execution-button:focus:before,.snippet-execution-button:hover:before{-webkit-transform:scale(1.1);transform:scale(1.1);border-color:#579}.clear-filters{vertical-align:baseline!important}.snippets .badge{margin-left:4px;padding:3px 6px;text-decoration:none;border:none;border-radius:2px;background:#e0e0e0;font-size:smaller;line-height:1.2}.rtl .snippets .badge{float:left}.snippets td,.snippets th{color:#000}.snippets tr{background:#fff}.snippets .row-actions{color:#ddd}.snippets .clear-filters{vertical-align:middle}.snippets tfoot th{border-top:none!important}.snippets tfoot th.check-column{padding:13px 0 0 3px}.snippets .inactive-snippet th.check-column,.snippets tfoot th.check-column,.snippets thead th.check-column{padding-left:5px}.snippets .column-description p{color:#333}.snippets .inactive-snippet a{color:#579}.snippets .active-snippet td,.snippets .active-snippet th,.snippets .inactive-snippet td,.snippets .inactive-snippet th{padding:10px 9px;border:none;box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.snippets .active-snippet td,.snippets .active-snippet th{background-color:rgba(120,200,230,.06)}.snippets .active-snippet th.check-column{border-left:2px solid #2ea2cc}.snippets tr.active-snippet+tr.inactive-snippet td,.snippets tr.active-snippet+tr.inactive-snippet th{border-top:1px solid rgba(0,0,0,.03);box-shadow:inset 0 1px 0 rgba(0,0,0,.02),inset 0 -1px 0 #e1e1e1}.snippets #all-snippets-table a.delete:hover,.snippets #search-snippets-table a.delete:hover,.snippets a.delete:hover{border-bottom:1px solid red;color:red}#wpbody-content .snippets .column-name{white-space:nowrap}@media screen and (max-width:782px){p.search-box{float:left;position:static;margin:0;height:auto}}
js/min/edit-tags.js ADDED
@@ -0,0 +1 @@
 
1
+ !function n(o,l,r){function g(e,t){if(!l[e]){if(!o[e]){var i="function"==typeof require&&require;if(!t&&i)return i(e,!0);if(u)return u(e,!0);var a=new Error("Cannot find module '"+e+"'");throw a.code="MODULE_NOT_FOUND",a}var s=l[e]={exports:{}};o[e][0].call(s.exports,function(t){return g(o[e][1][t]||t)},s,s.exports,n,o,l,r)}return l[e].exports}for(var u="function"==typeof require&&require,t=0;t<r.length;t++)g(r[t]);return g}({1:[function(t,e,i){"use strict";t("tag-it/js/tag-it"),function(){var t=document.getElementById("snippet_tags");if(t)try{jQuery(t).tagit({availableTags:code_snippets_all_tags,allowSpaces:!0,removeConfirmation:!0,showAutocompleteOnFocus:!0})}catch(t){console.log("Could not initialise snippet tag field")}}()},{"tag-it/js/tag-it":2}],2:[function(t,e,i){var h;(h=jQuery).widget("ui.tagit",{options:{allowDuplicates:!1,caseSensitive:!0,fieldName:"tags",placeholderText:null,readOnly:!1,removeConfirmation:!1,tagLimit:null,availableTags:[],autocomplete:{},showAutocompleteOnFocus:!1,allowSpaces:!1,singleField:!1,singleFieldDelimiter:",",singleFieldNode:null,animate:!0,tabIndex:null,beforeTagAdded:null,afterTagAdded:null,beforeTagRemoved:null,afterTagRemoved:null,onTagClicked:null,onTagLimitExceeded:null,onTagAdded:null,onTagRemoved:null,tagSource:null},_create:function(){var a=this;this.element.is("input")?(this.tagList=h("<ul></ul>").insertAfter(this.element),this.options.singleField=!0,this.options.singleFieldNode=this.element,this.element.addClass("tagit-hidden-field")):this.tagList=this.element.find("ul, ol").andSelf().last(),this.tagInput=h('<input type="text" />').addClass("ui-widget-content"),this.options.readOnly&&this.tagInput.attr("disabled","disabled"),this.options.tabIndex&&this.tagInput.attr("tabindex",this.options.tabIndex),this.options.placeholderText&&this.tagInput.attr("placeholder",this.options.placeholderText),this.options.autocomplete.source||(this.options.autocomplete.source=function(t,e){var i=t.term.toLowerCase(),a=h.grep(this.options.availableTags,function(t){return 0===t.toLowerCase().indexOf(i)});this.options.allowDuplicates||(a=this._subtractArray(a,this.assignedTags())),e(a)}),this.options.showAutocompleteOnFocus&&(this.tagInput.focus(function(t,e){a._showAutocomplete()}),void 0===this.options.autocomplete.minLength&&(this.options.autocomplete.minLength=0)),h.isFunction(this.options.autocomplete.source)&&(this.options.autocomplete.source=h.proxy(this.options.autocomplete.source,this)),h.isFunction(this.options.tagSource)&&(this.options.tagSource=h.proxy(this.options.tagSource,this)),this.tagList.addClass("tagit").addClass("ui-widget ui-widget-content ui-corner-all").append(h('<li class="tagit-new"></li>').append(this.tagInput)).click(function(t){var e=h(t.target);if(e.hasClass("tagit-label")){var i=e.closest(".tagit-choice");i.hasClass("removed")||a._trigger("onTagClicked",t,{tag:i,tagLabel:a.tagLabel(i)})}else a.tagInput.focus()});var i=!1;if(this.options.singleField)if(this.options.singleFieldNode){var t=h(this.options.singleFieldNode),e=t.val().split(this.options.singleFieldDelimiter);t.val(""),h.each(e,function(t,e){a.createTag(e,null,!0),i=!0})}else this.options.singleFieldNode=h('<input type="hidden" style="display:none;" value="" name="'+this.options.fieldName+'" />'),this.tagList.after(this.options.singleFieldNode);if(i||this.tagList.children("li").each(function(){h(this).hasClass("tagit-new")||(a.createTag(h(this).text(),h(this).attr("class"),!0),h(this).remove())}),this.tagInput.keydown(function(t){if(t.which==h.ui.keyCode.BACKSPACE&&""===a.tagInput.val()){var e=a._lastTag();!a.options.removeConfirmation||e.hasClass("remove")?a.removeTag(e):a.options.removeConfirmation&&e.addClass("remove ui-state-highlight")}else a.options.removeConfirmation&&a._lastTag().removeClass("remove ui-state-highlight");(t.which===h.ui.keyCode.COMMA&&!1===t.shiftKey||t.which===h.ui.keyCode.ENTER||t.which==h.ui.keyCode.TAB&&""!==a.tagInput.val()||t.which==h.ui.keyCode.SPACE&&!0!==a.options.allowSpaces&&('"'!=h.trim(a.tagInput.val()).replace(/^s*/,"").charAt(0)||'"'==h.trim(a.tagInput.val()).charAt(0)&&'"'==h.trim(a.tagInput.val()).charAt(h.trim(a.tagInput.val()).length-1)&&h.trim(a.tagInput.val()).length-1!=0))&&(t.which===h.ui.keyCode.ENTER&&""===a.tagInput.val()||t.preventDefault(),a.options.autocomplete.autoFocus&&a.tagInput.data("autocomplete-open")||(a.tagInput.autocomplete("close"),a.createTag(a._cleanedInput())))}).blur(function(t){a.tagInput.data("autocomplete-open")||a.createTag(a._cleanedInput())}),this.options.availableTags||this.options.tagSource||this.options.autocomplete.source){var s={select:function(t,e){return a.createTag(e.item.value),!1}};h.extend(s,this.options.autocomplete),s.source=this.options.tagSource||s.source,this.tagInput.autocomplete(s).bind("autocompleteopen.tagit",function(t,e){a.tagInput.data("autocomplete-open",!0)}).bind("autocompleteclose.tagit",function(t,e){a.tagInput.data("autocomplete-open",!1)}),this.tagInput.autocomplete("widget").addClass("tagit-autocomplete")}},destroy:function(){return h.Widget.prototype.destroy.call(this),this.element.unbind(".tagit"),this.tagList.unbind(".tagit"),this.tagInput.removeData("autocomplete-open"),this.tagList.removeClass(["tagit","ui-widget","ui-widget-content","ui-corner-all","tagit-hidden-field"].join(" ")),this.element.is("input")?(this.element.removeClass("tagit-hidden-field"),this.tagList.remove()):(this.element.children("li").each(function(){h(this).hasClass("tagit-new")?h(this).remove():(h(this).removeClass(["tagit-choice","ui-widget-content","ui-state-default","ui-state-highlight","ui-corner-all","remove","tagit-choice-editable","tagit-choice-read-only"].join(" ")),h(this).text(h(this).children(".tagit-label").text()))}),this.singleFieldNode&&this.singleFieldNode.remove()),this},_cleanedInput:function(){return h.trim(this.tagInput.val().replace(/^"(.*)"$/,"$1"))},_lastTag:function(){return this.tagList.find(".tagit-choice:last:not(.removed)")},_tags:function(){return this.tagList.find(".tagit-choice:not(.removed)")},assignedTags:function(){var t=this,e=[];return this.options.singleField?""===(e=h(this.options.singleFieldNode).val().split(this.options.singleFieldDelimiter))[0]&&(e=[]):this._tags().each(function(){e.push(t.tagLabel(this))}),e},_updateSingleTagsField:function(t){h(this.options.singleFieldNode).val(t.join(this.options.singleFieldDelimiter)).trigger("change")},_subtractArray:function(t,e){for(var i=[],a=0;a<t.length;a++)-1==h.inArray(t[a],e)&&i.push(t[a]);return i},tagLabel:function(t){return this.options.singleField?h(t).find(".tagit-label:first").text():h(t).find("input:first").val()},_showAutocomplete:function(){this.tagInput.autocomplete("search","")},_findTagByLabel:function(e){var i=this,a=null;return this._tags().each(function(t){if(i._formatStr(e)==i._formatStr(i.tagLabel(this)))return a=h(this),!1}),a},_isNew:function(t){return!this._findTagByLabel(t)},_formatStr:function(t){return this.options.caseSensitive?t:h.trim(t.toLowerCase())},_effectExists:function(t){return Boolean(h.effects&&(h.effects[t]||h.effects.effect&&h.effects.effect[t]))},createTag:function(t,e,i){var a=this;if(t=h.trim(t),this.options.preprocessTag&&(t=this.options.preprocessTag(t)),""===t)return!1;if(!this.options.allowDuplicates&&!this._isNew(t)){var s=this._findTagByLabel(t);return!1!==this._trigger("onTagExists",null,{existingTag:s,duringInitialization:i})&&this._effectExists("highlight")&&s.effect("highlight"),!1}if(this.options.tagLimit&&this._tags().length>=this.options.tagLimit)return this._trigger("onTagLimitExceeded",null,{duringInitialization:i}),!1;var n=h(this.options.onTagClicked?'<a class="tagit-label"></a>':'<span class="tagit-label"></span>').text(t),o=h("<li></li>").addClass("tagit-choice ui-widget-content ui-state-default ui-corner-all").addClass(e).append(n);if(this.options.readOnly)o.addClass("tagit-choice-read-only");else{o.addClass("tagit-choice-editable");var l=h("<span></span>").addClass("ui-icon ui-icon-close"),r=h('<a><span class="text-icon">×</span></a>').addClass("tagit-close").append(l).click(function(t){a.removeTag(o)});o.append(r)}if(!this.options.singleField){var g=n.html();o.append('<input type="hidden" value="'+g+'" name="'+this.options.fieldName+'" class="tagit-hidden-field" />')}if(!1!==this._trigger("beforeTagAdded",null,{tag:o,tagLabel:this.tagLabel(o),duringInitialization:i})){if(this.options.singleField){var u=this.assignedTags();u.push(t),this._updateSingleTagsField(u)}this._trigger("onTagAdded",null,o),this.tagInput.val(""),this.tagInput.parent().before(o),this._trigger("afterTagAdded",null,{tag:o,tagLabel:this.tagLabel(o),duringInitialization:i}),this.options.showAutocompleteOnFocus&&!i&&setTimeout(function(){a._showAutocomplete()},0)}},removeTag:function(t,e){if(e=void 0===e?this.options.animate:e,t=h(t),this._trigger("onTagRemoved",null,t),!1!==this._trigger("beforeTagRemoved",null,{tag:t,tagLabel:this.tagLabel(t)})){if(this.options.singleField){var i=this.assignedTags(),a=this.tagLabel(t);i=h.grep(i,function(t){return t!=a}),this._updateSingleTagsField(i)}if(e){t.addClass("removed");var s=this._effectExists("blind")?["blind",{direction:"horizontal"},"fast"]:["fast"],n=this;s.push(function(){t.remove(),n._trigger("afterTagRemoved",null,{tag:t,tagLabel:n.tagLabel(t)})}),t.fadeOut("fast").hide.apply(t,s).dequeue()}else t.remove(),this._trigger("afterTagRemoved",null,{tag:t,tagLabel:this.tagLabel(t)})}},removeTagByLabel:function(t,e){var i=this._findTagByLabel(t);if(!i)throw"No such tag exists with the name '"+t+"'";this.removeTag(i,e)},removeAll:function(){var i=this;this._tags().each(function(t,e){i.removeTag(e,!1)})}})},{}]},{},[1]);
js/min/edit.js CHANGED
@@ -1 +1 @@
1
- !function s(o,l,r){function u(e,t){if(!l[e]){if(!o[e]){var i="function"==typeof require&&require;if(!t&&i)return i(e,!0);if(g)return g(e,!0);var a=new Error("Cannot find module '"+e+"'");throw a.code="MODULE_NOT_FOUND",a}var n=l[e]={exports:{}};o[e][0].call(n.exports,function(t){return u(o[e][1][t]||t)},n,n.exports,s,o,l,r)}return l[e].exports}for(var g="function"==typeof require&&require,t=0;t<r.length;t++)u(r[t]);return u}({1:[function(t,e,i){"use strict";var a;t("tag-it/js/tag-it"),window.code_snippets_editor=function(t,e){var i=document.getElementById("snippet-form"),a=function(t){return document.getElementById("save_snippet").click()};e.extraKeys=window.navigator.platform.match("Mac")?{"Cmd-Enter":a,"Cmd-S":a}:{"Ctrl-Enter":a,"Ctrl-S":a};var n=t.fromTextArea(document.getElementById("snippet_code"),e),s=window.location.href.match(/[?&]cursor_line=(\d+)&cursor_ch=(\d+)/);return s&&(n.focus(),n.setCursor({line:s[1],ch:s[2]})),i.addEventListener("submit",function(){var t=n.getCursor();i.insertAdjacentHTML("beforeend",'<input type="hidden" name="snippet_editor_cursor_line" value="'.concat(t.line,'">')),i.insertAdjacentHTML("beforeend",'<input type="hidden" name="snippet_editor_cursor_ch" value="'.concat(t.ch,'">'))}),n}(window.Code_Snippets_CodeMirror,code_snippets_editor_atts),(a=jQuery("#snippet_tags"))&&a.tagit({availableTags:code_snippets_all_tags,allowSpaces:!0,removeConfirmation:!0,showAutocompleteOnFocus:!0})},{"tag-it/js/tag-it":2}],2:[function(t,e,i){var d;(d=jQuery).widget("ui.tagit",{options:{allowDuplicates:!1,caseSensitive:!0,fieldName:"tags",placeholderText:null,readOnly:!1,removeConfirmation:!1,tagLimit:null,availableTags:[],autocomplete:{},showAutocompleteOnFocus:!1,allowSpaces:!1,singleField:!1,singleFieldDelimiter:",",singleFieldNode:null,animate:!0,tabIndex:null,beforeTagAdded:null,afterTagAdded:null,beforeTagRemoved:null,afterTagRemoved:null,onTagClicked:null,onTagLimitExceeded:null,onTagAdded:null,onTagRemoved:null,tagSource:null},_create:function(){var a=this;this.element.is("input")?(this.tagList=d("<ul></ul>").insertAfter(this.element),this.options.singleField=!0,this.options.singleFieldNode=this.element,this.element.addClass("tagit-hidden-field")):this.tagList=this.element.find("ul, ol").andSelf().last(),this.tagInput=d('<input type="text" />').addClass("ui-widget-content"),this.options.readOnly&&this.tagInput.attr("disabled","disabled"),this.options.tabIndex&&this.tagInput.attr("tabindex",this.options.tabIndex),this.options.placeholderText&&this.tagInput.attr("placeholder",this.options.placeholderText),this.options.autocomplete.source||(this.options.autocomplete.source=function(t,e){var i=t.term.toLowerCase(),a=d.grep(this.options.availableTags,function(t){return 0===t.toLowerCase().indexOf(i)});this.options.allowDuplicates||(a=this._subtractArray(a,this.assignedTags())),e(a)}),this.options.showAutocompleteOnFocus&&(this.tagInput.focus(function(t,e){a._showAutocomplete()}),void 0===this.options.autocomplete.minLength&&(this.options.autocomplete.minLength=0)),d.isFunction(this.options.autocomplete.source)&&(this.options.autocomplete.source=d.proxy(this.options.autocomplete.source,this)),d.isFunction(this.options.tagSource)&&(this.options.tagSource=d.proxy(this.options.tagSource,this)),this.tagList.addClass("tagit").addClass("ui-widget ui-widget-content ui-corner-all").append(d('<li class="tagit-new"></li>').append(this.tagInput)).click(function(t){var e=d(t.target);if(e.hasClass("tagit-label")){var i=e.closest(".tagit-choice");i.hasClass("removed")||a._trigger("onTagClicked",t,{tag:i,tagLabel:a.tagLabel(i)})}else a.tagInput.focus()});var i=!1;if(this.options.singleField)if(this.options.singleFieldNode){var t=d(this.options.singleFieldNode),e=t.val().split(this.options.singleFieldDelimiter);t.val(""),d.each(e,function(t,e){a.createTag(e,null,!0),i=!0})}else this.options.singleFieldNode=d('<input type="hidden" style="display:none;" value="" name="'+this.options.fieldName+'" />'),this.tagList.after(this.options.singleFieldNode);if(i||this.tagList.children("li").each(function(){d(this).hasClass("tagit-new")||(a.createTag(d(this).text(),d(this).attr("class"),!0),d(this).remove())}),this.tagInput.keydown(function(t){if(t.which==d.ui.keyCode.BACKSPACE&&""===a.tagInput.val()){var e=a._lastTag();!a.options.removeConfirmation||e.hasClass("remove")?a.removeTag(e):a.options.removeConfirmation&&e.addClass("remove ui-state-highlight")}else a.options.removeConfirmation&&a._lastTag().removeClass("remove ui-state-highlight");(t.which===d.ui.keyCode.COMMA&&!1===t.shiftKey||t.which===d.ui.keyCode.ENTER||t.which==d.ui.keyCode.TAB&&""!==a.tagInput.val()||t.which==d.ui.keyCode.SPACE&&!0!==a.options.allowSpaces&&('"'!=d.trim(a.tagInput.val()).replace(/^s*/,"").charAt(0)||'"'==d.trim(a.tagInput.val()).charAt(0)&&'"'==d.trim(a.tagInput.val()).charAt(d.trim(a.tagInput.val()).length-1)&&d.trim(a.tagInput.val()).length-1!=0))&&(t.which===d.ui.keyCode.ENTER&&""===a.tagInput.val()||t.preventDefault(),a.options.autocomplete.autoFocus&&a.tagInput.data("autocomplete-open")||(a.tagInput.autocomplete("close"),a.createTag(a._cleanedInput())))}).blur(function(t){a.tagInput.data("autocomplete-open")||a.createTag(a._cleanedInput())}),this.options.availableTags||this.options.tagSource||this.options.autocomplete.source){var n={select:function(t,e){return a.createTag(e.item.value),!1}};d.extend(n,this.options.autocomplete),n.source=this.options.tagSource||n.source,this.tagInput.autocomplete(n).bind("autocompleteopen.tagit",function(t,e){a.tagInput.data("autocomplete-open",!0)}).bind("autocompleteclose.tagit",function(t,e){a.tagInput.data("autocomplete-open",!1)}),this.tagInput.autocomplete("widget").addClass("tagit-autocomplete")}},destroy:function(){return d.Widget.prototype.destroy.call(this),this.element.unbind(".tagit"),this.tagList.unbind(".tagit"),this.tagInput.removeData("autocomplete-open"),this.tagList.removeClass(["tagit","ui-widget","ui-widget-content","ui-corner-all","tagit-hidden-field"].join(" ")),this.element.is("input")?(this.element.removeClass("tagit-hidden-field"),this.tagList.remove()):(this.element.children("li").each(function(){d(this).hasClass("tagit-new")?d(this).remove():(d(this).removeClass(["tagit-choice","ui-widget-content","ui-state-default","ui-state-highlight","ui-corner-all","remove","tagit-choice-editable","tagit-choice-read-only"].join(" ")),d(this).text(d(this).children(".tagit-label").text()))}),this.singleFieldNode&&this.singleFieldNode.remove()),this},_cleanedInput:function(){return d.trim(this.tagInput.val().replace(/^"(.*)"$/,"$1"))},_lastTag:function(){return this.tagList.find(".tagit-choice:last:not(.removed)")},_tags:function(){return this.tagList.find(".tagit-choice:not(.removed)")},assignedTags:function(){var t=this,e=[];return this.options.singleField?""===(e=d(this.options.singleFieldNode).val().split(this.options.singleFieldDelimiter))[0]&&(e=[]):this._tags().each(function(){e.push(t.tagLabel(this))}),e},_updateSingleTagsField:function(t){d(this.options.singleFieldNode).val(t.join(this.options.singleFieldDelimiter)).trigger("change")},_subtractArray:function(t,e){for(var i=[],a=0;a<t.length;a++)-1==d.inArray(t[a],e)&&i.push(t[a]);return i},tagLabel:function(t){return this.options.singleField?d(t).find(".tagit-label:first").text():d(t).find("input:first").val()},_showAutocomplete:function(){this.tagInput.autocomplete("search","")},_findTagByLabel:function(e){var i=this,a=null;return this._tags().each(function(t){if(i._formatStr(e)==i._formatStr(i.tagLabel(this)))return a=d(this),!1}),a},_isNew:function(t){return!this._findTagByLabel(t)},_formatStr:function(t){return this.options.caseSensitive?t:d.trim(t.toLowerCase())},_effectExists:function(t){return Boolean(d.effects&&(d.effects[t]||d.effects.effect&&d.effects.effect[t]))},createTag:function(t,e,i){var a=this;if(t=d.trim(t),this.options.preprocessTag&&(t=this.options.preprocessTag(t)),""===t)return!1;if(!this.options.allowDuplicates&&!this._isNew(t)){var n=this._findTagByLabel(t);return!1!==this._trigger("onTagExists",null,{existingTag:n,duringInitialization:i})&&this._effectExists("highlight")&&n.effect("highlight"),!1}if(this.options.tagLimit&&this._tags().length>=this.options.tagLimit)return this._trigger("onTagLimitExceeded",null,{duringInitialization:i}),!1;var s=d(this.options.onTagClicked?'<a class="tagit-label"></a>':'<span class="tagit-label"></span>').text(t),o=d("<li></li>").addClass("tagit-choice ui-widget-content ui-state-default ui-corner-all").addClass(e).append(s);if(this.options.readOnly)o.addClass("tagit-choice-read-only");else{o.addClass("tagit-choice-editable");var l=d("<span></span>").addClass("ui-icon ui-icon-close"),r=d('<a><span class="text-icon">×</span></a>').addClass("tagit-close").append(l).click(function(t){a.removeTag(o)});o.append(r)}if(!this.options.singleField){var u=s.html();o.append('<input type="hidden" value="'+u+'" name="'+this.options.fieldName+'" class="tagit-hidden-field" />')}if(!1!==this._trigger("beforeTagAdded",null,{tag:o,tagLabel:this.tagLabel(o),duringInitialization:i})){if(this.options.singleField){var g=this.assignedTags();g.push(t),this._updateSingleTagsField(g)}this._trigger("onTagAdded",null,o),this.tagInput.val(""),this.tagInput.parent().before(o),this._trigger("afterTagAdded",null,{tag:o,tagLabel:this.tagLabel(o),duringInitialization:i}),this.options.showAutocompleteOnFocus&&!i&&setTimeout(function(){a._showAutocomplete()},0)}},removeTag:function(t,e){if(e=void 0===e?this.options.animate:e,t=d(t),this._trigger("onTagRemoved",null,t),!1!==this._trigger("beforeTagRemoved",null,{tag:t,tagLabel:this.tagLabel(t)})){if(this.options.singleField){var i=this.assignedTags(),a=this.tagLabel(t);i=d.grep(i,function(t){return t!=a}),this._updateSingleTagsField(i)}if(e){t.addClass("removed");var n=this._effectExists("blind")?["blind",{direction:"horizontal"},"fast"]:["fast"],s=this;n.push(function(){t.remove(),s._trigger("afterTagRemoved",null,{tag:t,tagLabel:s.tagLabel(t)})}),t.fadeOut("fast").hide.apply(t,n).dequeue()}else t.remove(),this._trigger("afterTagRemoved",null,{tag:t,tagLabel:this.tagLabel(t)})}},removeTagByLabel:function(t,e){var i=this._findTagByLabel(t);if(!i)throw"No such tag exists with the name '"+t+"'";this.removeTag(i,e)},removeAll:function(){var i=this;this._tags().each(function(t,e){i.removeTag(e,!1)})}})},{}]},{},[1]);
1
+ !function i(c,d,u){function a(t,e){if(!d[t]){if(!c[t]){var r="function"==typeof require&&require;if(!e&&r)return r(t,!0);if(s)return s(t,!0);var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}var o=d[t]={exports:{}};c[t][0].call(o.exports,function(e){return a(c[t][1][e]||e)},o,o.exports,i,c,d,u)}return d[t].exports}for(var s="function"==typeof require&&require,e=0;e<u.length;e++)a(u[e]);return a}({1:[function(e,t,r){"use strict";window.code_snippets_editor=function(e,t){var r=document.getElementById("snippet-form"),n=function(e){return document.getElementById("save_snippet").click()};t.extraKeys=window.navigator.platform.match("Mac")?{"Cmd-Enter":n,"Cmd-S":n}:{"Ctrl-Enter":n,"Ctrl-S":n},window.navigator.platform.match("Mac")&&(document.querySelector(".editor-help-text").className+=" platform-mac");var o=e.fromTextArea(document.getElementById("snippet_code"),t),i=window.location.href.match(/[?&]cursor_line=(\d+)&cursor_ch=(\d+)/);return i&&(o.focus(),o.setCursor({line:i[1],ch:i[2]})),r.addEventListener("submit",function(){var e=o.getCursor();r.insertAdjacentHTML("beforeend",'<input type="hidden" name="snippet_editor_cursor_line" value="'.concat(e.line,'">')),r.insertAdjacentHTML("beforeend",'<input type="hidden" name="snippet_editor_cursor_ch" value="'.concat(e.ch,'">'))}),o}(window.Code_Snippets_CodeMirror,code_snippets_editor_atts)},{}]},{},[1]);
js/min/editor.js CHANGED
@@ -1 +1 @@
1
- !function o(s,a,l){function c(e,t){if(!a[e]){if(!s[e]){var i="function"==typeof require&&require;if(!t&&i)return i(e,!0);if(h)return h(e,!0);var r=new Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r}var n=a[e]={exports:{}};s[e][0].call(n.exports,function(t){return c(s[e][1][t]||t)},n,n.exports,o,s,a,l)}return a[e].exports}for(var h="function"==typeof require&&require,t=0;t<l.length;t++)c(l[t]);return c}({1:[function(t,e,i){"use strict";var r,n=(r=t("codemirror/lib/codemirror"))&&r.__esModule?r:{default:r};t("codemirror/mode/php/php"),t("codemirror/addon/edit/matchbrackets"),t("codemirror/addon/edit/closebrackets"),t("codemirror/addon/search/search"),t("codemirror/addon/search/match-highlighter"),t("./php-lint"),window.Code_Snippets_CodeMirror=n.default},{"./php-lint":2,"codemirror/addon/edit/closebrackets":4,"codemirror/addon/edit/matchbrackets":5,"codemirror/addon/search/match-highlighter":8,"codemirror/addon/search/search":10,"codemirror/lib/codemirror":12,"codemirror/mode/php/php":17}],2:[function(t,e,i){"use strict";var n=r(t("php-parser")),o=r(t("codemirror/lib/codemirror"));function r(t){return t&&t.__esModule?t:{default:t}}function s(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}t("codemirror/addon/lint/lint");var a=function(){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),this.code=t,this.annotations=[],this.function_names=new Set,this.class_names=new Set}var t,i,r;return t=e,(i=[{key:"lint",value:function(){var t=new n.default({parser:{suppressErrors:!0},ast:{withPositions:!0}});try{var e=t.parseEval(this.code);if(e.errors&&0<e.errors.length)for(var i=0;i<e.errors.length;i++)this.annotate(e.errors[i].message,e.errors[i].loc);this.visit(e)}catch(t){this.annotate(t.message,t)}}},{key:"visit",value:function(t){if(t.hasOwnProperty("kind")&&this.validate(t),t.hasOwnProperty("children")){var e=!0,i=!1,r=void 0;try{for(var n,o=t.children[Symbol.iterator]();!(e=(n=o.next()).done);e=!0){var s=n.value;this.visit(s)}}catch(t){i=!0,r=t}finally{try{e||null==o.return||o.return()}finally{if(i)throw r}}}}},{key:"validate",value:function(t){"function"!==t.kind&&"class"!==t.kind||!t.hasOwnProperty("name")||"identifier"!==t.name.kind||("function"===t.kind?this.function_names.has(t.name.name)?this.annotate("Cannot redeclare function ".concat(t.name.name,"()"),t.name.loc):this.function_names.add(t.name.name):"class"===t.kind&&(this.class_names.has(t.name.name)?this.annotate("Cannot redeclare class ".concat(t.name.name),t.name.loc):this.class_names.add(t.name.name)))}},{key:"annotate",value:function(t,e,i){var r,n;e.lineNumber&&e.columnNumber?(r=o.default.Pos(e.lineNumber-1,e.columnNumber-1),n=o.default.Pos(e.lineNumber-1,e.columnNumber)):e.start&&e.end&&(e.end.offset<e.start.offset?(n=o.default.Pos(e.start.line-1,e.start.column),r=o.default.Pos(e.end.line-1,e.end.column)):(r=o.default.Pos(e.start.line-1,e.start.column),n=o.default.Pos(e.end.line-1,e.end.column))),r&&n&&(i=i||"error",this.annotations.push({message:t,severity:i,from:r,to:n}))}}])&&s(t.prototype,i),r&&s(t,r),e}();o.default.registerHelper("lint","php",function(t,e){var i=new a(t);return i.lint(),i.annotations})},{"codemirror/addon/lint/lint":6,"codemirror/lib/codemirror":12,"php-parser":19}],3:[function(t,e,i){var r;r=function(u){function f(t,e,i){var r,n=t.getWrapperElement();return(r=n.appendChild(document.createElement("div"))).className=i?"CodeMirror-dialog CodeMirror-dialog-bottom":"CodeMirror-dialog CodeMirror-dialog-top","string"==typeof e?r.innerHTML=e:r.appendChild(e),u.addClass(n,"dialog-opened"),r}function d(t,e){t.state.currentNotificationClose&&t.state.currentNotificationClose(),t.state.currentNotificationClose=e}u.defineExtension("openDialog",function(t,e,i){i||(i={}),d(this,null);var r=f(this,t,i.bottom),n=!1,o=this;function s(t){if("string"==typeof t)l.value=t;else{if(n)return;n=!0,u.rmClass(r.parentNode,"dialog-opened"),r.parentNode.removeChild(r),o.focus(),i.onClose&&i.onClose(r)}}var a,l=r.getElementsByTagName("input")[0];return l?(l.focus(),i.value&&(l.value=i.value,!1!==i.selectValueOnOpen&&l.select()),i.onInput&&u.on(l,"input",function(t){i.onInput(t,l.value,s)}),i.onKeyUp&&u.on(l,"keyup",function(t){i.onKeyUp(t,l.value,s)}),u.on(l,"keydown",function(t){i&&i.onKeyDown&&i.onKeyDown(t,l.value,s)||((27==t.keyCode||!1!==i.closeOnEnter&&13==t.keyCode)&&(l.blur(),u.e_stop(t),s()),13==t.keyCode&&e(l.value,t))}),!1!==i.closeOnBlur&&u.on(l,"blur",s)):(a=r.getElementsByTagName("button")[0])&&(u.on(a,"click",function(){s(),o.focus()}),!1!==i.closeOnBlur&&u.on(a,"blur",s),a.focus()),s}),u.defineExtension("openConfirm",function(t,e,i){d(this,null);var r=f(this,t,i&&i.bottom),n=r.getElementsByTagName("button"),o=!1,s=this,a=1;function l(){o||(o=!0,u.rmClass(r.parentNode,"dialog-opened"),r.parentNode.removeChild(r),s.focus())}n[0].focus();for(var c=0;c<n.length;++c){var h=n[c];!function(e){u.on(h,"click",function(t){u.e_preventDefault(t),l(),e&&e(s)})}(e[c]),u.on(h,"blur",function(){--a,setTimeout(function(){a<=0&&l()},200)}),u.on(h,"focus",function(){++a})}}),u.defineExtension("openNotification",function(t,e){d(this,s);var i,r=f(this,t,e&&e.bottom),n=!1,o=e&&void 0!==e.duration?e.duration:5e3;function s(){n||(n=!0,clearTimeout(i),u.rmClass(r.parentNode,"dialog-opened"),r.parentNode.removeChild(r))}return u.on(r,"click",function(t){u.e_preventDefault(t),s()}),o&&(i=setTimeout(s,o)),s})},"object"==typeof i&&"object"==typeof e?r(t("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],r):r(CodeMirror)},{"../../lib/codemirror":12}],4:[function(t,e,i){var r;r=function(T){var i={pairs:"()[]{}''\"\"",triples:"",explode:"[]{}"},k=T.Pos;function b(t,e){return"pairs"==e&&"string"==typeof t?t:"object"==typeof t&&null!=t[e]?t[e]:i[e]}T.defineOption("autoCloseBrackets",!1,function(t,e,i){i&&i!=T.Init&&(t.removeKeyMap(n),t.state.closeBrackets=null),e&&(r(b(e,"pairs")),t.state.closeBrackets=e,t.addKeyMap(n))});var n={Backspace:function(t){var e=w(t);if(!e||t.getOption("disableInput"))return T.Pass;for(var i=b(e,"pairs"),r=t.listSelections(),n=0;n<r.length;n++){if(!r[n].empty())return T.Pass;var o=a(t,r[n].head);if(!o||i.indexOf(o)%2!=0)return T.Pass}for(var n=r.length-1;0<=n;n--){var s=r[n].head;t.replaceRange("",k(s.line,s.ch-1),k(s.line,s.ch+1),"+delete")}},Enter:function(r){var t=w(r),e=t&&b(t,"explode");if(!e||r.getOption("disableInput"))return T.Pass;for(var n=r.listSelections(),i=0;i<n.length;i++){if(!n[i].empty())return T.Pass;var o=a(r,n[i].head);if(!o||e.indexOf(o)%2!=0)return T.Pass}r.operation(function(){var t=r.lineSeparator()||"\n";r.replaceSelection(t+t,null),r.execCommand("goCharLeft"),n=r.listSelections();for(var e=0;e<n.length;e++){var i=n[e].head.line;r.indentLine(i,null,!0),r.indentLine(i+1,null,!0)}})}};function r(t){for(var e=0;e<t.length;e++){var i=t.charAt(e),r="'"+i+"'";n[r]||(n[r]=o(i))}}function o(e){return function(t){return function(n,t){var e=w(n);if(!e||n.getOption("disableInput"))return T.Pass;var i=b(e,"pairs"),r=i.indexOf(t);if(-1==r)return T.Pass;for(var o,s=b(e,"triples"),a=i.charAt(r+1)==t,l=n.listSelections(),c=r%2==0,h=0;h<l.length;h++){var u,f=l[h],d=f.head,p=n.getRange(d,k(d.line,d.ch+1));if(c&&!f.empty())u="surround";else if(!a&&c||p!=t)if(a&&1<d.ch&&0<=s.indexOf(t)&&n.getRange(k(d.line,d.ch-2),d)==t+t){if(2<d.ch&&/\bstring/.test(n.getTokenTypeAt(k(d.line,d.ch-2))))return T.Pass;u="addFour"}else if(a){var m=0==d.ch?" ":n.getRange(k(d.line,d.ch-1),d);if(T.isWordChar(p)||m==t||T.isWordChar(m))return T.Pass;u="both"}else{if(!c)return T.Pass;u="both"}else u=!a||(_=d,void 0,v=(g=n).getTokenAt(k(_.line,_.ch+1)),!/\bstring/.test(v.type)||v.start!=_.ch||0!=_.ch&&/\bstring/.test(g.getTokenTypeAt(_)))?0<=s.indexOf(t)&&n.getRange(d,k(d.line,d.ch+3))==t+t+t?"skipThree":"skip":"both";if(o){if(o!=u)return T.Pass}else o=u}var g,_,v;var y=r%2?i.charAt(r-1):t,x=r%2?t:i.charAt(r+1);n.operation(function(){if("skip"==o)n.execCommand("goCharRight");else if("skipThree"==o)for(var t=0;t<3;t++)n.execCommand("goCharRight");else if("surround"==o){for(var e=n.getSelections(),t=0;t<e.length;t++)e[t]=y+e[t]+x;n.replaceSelections(e,"around"),e=n.listSelections().slice();for(var t=0;t<e.length;t++)e[t]=(i=e[t],void 0,r=0<T.cmpPos(i.anchor,i.head),{anchor:new k(i.anchor.line,i.anchor.ch+(r?-1:1)),head:new k(i.head.line,i.head.ch+(r?1:-1))});n.setSelections(e)}else"both"==o?(n.replaceSelection(y+x,null),n.triggerElectric(y+x),n.execCommand("goCharLeft")):"addFour"==o&&(n.replaceSelection(y+y+y+y,"before"),n.execCommand("goCharRight"));var i,r})}(t,e)}}function w(t){var e=t.state.closeBrackets;return!e||e.override?e:t.getModeAt(t.getCursor()).closeBrackets||e}function a(t,e){var i=t.getRange(k(e.line,e.ch-1),k(e.line,e.ch+1));return 2==i.length?i:null}r(i.pairs+"`")},"object"==typeof i&&"object"==typeof e?r(t("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],r):r(CodeMirror)},{"../../lib/codemirror":12}],5:[function(t,e,i){var r;r=function(r){var h=/MSIE \d/.test(navigator.userAgent)&&(null==document.documentMode||document.documentMode<8),m=r.Pos,g={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<"};function u(t,e,i){var r=t.getLineHandle(e.line),n=e.ch-1,o=i&&i.afterCursor;null==o&&(o=/(^| )cm-fat-cursor($| )/.test(t.getWrapperElement().className));var s=!o&&0<=n&&g[r.text.charAt(n)]||g[r.text.charAt(++n)];if(!s)return null;var a=">"==s.charAt(1)?1:-1;if(i&&i.strict&&0<a!=(n==e.ch))return null;var l=t.getTokenTypeAt(m(e.line,n+1)),c=f(t,m(e.line,n+(0<a?1:0)),a,l||null,i);return null==c?null:{from:m(e.line,n),to:c&&c.pos,match:c&&c.ch==s.charAt(0),forward:0<a}}function f(t,e,i,r,n){for(var o=n&&n.maxScanLineLength||1e4,s=n&&n.maxScanLines||1e3,a=[],l=n&&n.bracketRegex?n.bracketRegex:/[(){}[\]]/,c=0<i?Math.min(e.line+s,t.lastLine()+1):Math.max(t.firstLine()-1,e.line-s),h=e.line;h!=c;h+=i){var u=t.getLine(h);if(u){var f=0<i?0:u.length-1,d=0<i?u.length:-1;if(!(u.length>o))for(h==e.line&&(f=e.ch-(i<0?1:0));f!=d;f+=i){var p=u.charAt(f);if(l.test(p)&&(void 0===r||t.getTokenTypeAt(m(h,f+1))==r))if(">"==g[p].charAt(1)==0<i)a.push(p);else{if(!a.length)return{pos:m(h,f),ch:p};a.pop()}}}}return h-i!=(0<i?t.lastLine():t.firstLine())&&null}function e(t,e,i){for(var r=t.state.matchBrackets.maxHighlightLineLength||1e3,n=[],o=t.listSelections(),s=0;s<o.length;s++){var a=o[s].empty()&&u(t,o[s].head,i);if(a&&t.getLine(a.from.line).length<=r){var l=a.match?"CodeMirror-matchingbracket":"CodeMirror-nonmatchingbracket";n.push(t.markText(a.from,m(a.from.line,a.from.ch+1),{className:l})),a.to&&t.getLine(a.to.line).length<=r&&n.push(t.markText(a.to,m(a.to.line,a.to.ch+1),{className:l}))}}if(n.length){h&&t.state.focused&&t.focus();var c=function(){t.operation(function(){for(var t=0;t<n.length;t++)n[t].clear()})};if(!e)return c;setTimeout(c,800)}}function n(t){t.operation(function(){t.state.matchBrackets.currentlyHighlighted&&(t.state.matchBrackets.currentlyHighlighted(),t.state.matchBrackets.currentlyHighlighted=null),t.state.matchBrackets.currentlyHighlighted=e(t,!1,t.state.matchBrackets)})}r.defineOption("matchBrackets",!1,function(t,e,i){i&&i!=r.Init&&(t.off("cursorActivity",n),t.state.matchBrackets&&t.state.matchBrackets.currentlyHighlighted&&(t.state.matchBrackets.currentlyHighlighted(),t.state.matchBrackets.currentlyHighlighted=null)),e&&(t.state.matchBrackets="object"==typeof e?e:{},t.on("cursorActivity",n))}),r.defineExtension("matchBrackets",function(){e(this,!0)}),r.defineExtension("findMatchingBracket",function(t,e,i){return(i||"boolean"==typeof e)&&(e=i?(i.strict=e,i):e?{strict:!0}:null),u(this,t,e)}),r.defineExtension("scanForBracket",function(t,e,i,r){return f(this,t,e,i,r)})},"object"==typeof i&&"object"==typeof e?r(t("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],r):r(CodeMirror)},{"../../lib/codemirror":12}],6:[function(t,e,i){var r;r=function(l){"use strict";var p="CodeMirror-lint-markers";function s(t){t.parentNode&&t.parentNode.removeChild(t)}function h(t,e,i){var r=function(t,e){var i=document.createElement("div");function r(t){if(!i.parentNode)return l.off(document,"mousemove",r);i.style.top=Math.max(0,t.clientY-i.offsetHeight-5)+"px",i.style.left=t.clientX+5+"px"}return i.className="CodeMirror-lint-tooltip",i.appendChild(e.cloneNode(!0)),document.body.appendChild(i),l.on(document,"mousemove",r),r(t),null!=i.style.opacity&&(i.style.opacity=1),i}(t,e);function n(){var t;l.off(i,"mouseout",n),r&&((t=r).parentNode&&(null==t.style.opacity&&s(t),t.style.opacity=0,setTimeout(function(){s(t)},600)),r=null)}var o=setInterval(function(){if(r)for(var t=i;;t=t.parentNode){if(t&&11==t.nodeType&&(t=t.host),t==document.body)return;if(!t){n();break}}if(!r)return clearInterval(o)},400);l.on(i,"mouseout",n)}function c(e,t,i){this.marked=[],this.options=t,this.timeout=null,this.hasGutter=i,this.onMouseOver=function(t){!function(t,e){var i=e.target||e.srcElement;if(!/\bCodeMirror-lint-mark-/.test(i.className))return;for(var r=i.getBoundingClientRect(),n=(r.left+r.right)/2,o=(r.top+r.bottom)/2,s=t.findMarksAt(t.coordsChar({left:n,top:o},"client")),a=[],l=0;l<s.length;++l){var c=s[l].__annotation;c&&a.push(c)}a.length&&function(t,e){for(var i=e.target||e.srcElement,r=document.createDocumentFragment(),n=0;n<t.length;n++){var o=t[n];r.appendChild(_(o))}h(e,r,i)}(a,e)}(e,t)},this.waitingFor=0}function m(t){var e=t.state.lint;e.hasGutter&&t.clearGutter(p);for(var i=0;i<e.marked.length;++i)e.marked[i].clear();e.marked.length=0}function g(e,t,i,r){var n=document.createElement("div"),o=n;return n.className="CodeMirror-lint-marker-"+t,i&&((o=n.appendChild(document.createElement("div"))).className="CodeMirror-lint-marker-multiple"),0!=r&&l.on(o,"mouseover",function(t){h(t,e,o)}),n}function _(t){var e=t.severity;e||(e="error");var i=document.createElement("div");return i.className="CodeMirror-lint-message-"+e,void 0!==t.messageHTML?i.innerHTML=t.messageHTML:i.appendChild(document.createTextNode(t.message)),i}function u(e){var t=e.state.lint.options,i=t.options||t,r=t.getAnnotations||e.getHelper(l.Pos(0,0),"lint");if(r)if(t.async||r.async)!function(i,t,e){var r=i.state.lint,n=++r.waitingFor;function o(){n=-1,i.off("change",o)}i.on("change",o),t(i.getValue(),function(t,e){i.off("change",o),r.waitingFor==n&&(e&&t instanceof l&&(t=e),i.operation(function(){a(i,t)}))},e,i)}(e,r,i);else{var n=r(e.getValue(),i,e);if(!n)return;n.then?n.then(function(t){e.operation(function(){a(e,t)})}):e.operation(function(){a(e,n)})}}function a(t,e){m(t);for(var i,r,n=t.state.lint,o=n.options,s=function(t){for(var e=[],i=0;i<t.length;++i){var r=t[i],n=r.from.line;(e[n]||(e[n]=[])).push(r)}return e}(e),a=0;a<s.length;++a){var l=s[a];if(l){for(var c=null,h=n.hasGutter&&document.createDocumentFragment(),u=0;u<l.length;++u){var f=l[u],d=f.severity;d||(d="error"),r=d,c="error"==(i=c)?i:r,o.formatAnnotation&&(f=o.formatAnnotation(f)),n.hasGutter&&h.appendChild(_(f)),f.to&&n.marked.push(t.markText(f.from,f.to,{className:"CodeMirror-lint-mark-"+d,__annotation:f}))}n.hasGutter&&t.setGutterMarker(a,p,g(h,c,1<l.length,n.options.tooltips))}}o.onUpdateLinting&&o.onUpdateLinting(e,s,t)}function f(t){var e=t.state.lint;e&&(clearTimeout(e.timeout),e.timeout=setTimeout(function(){u(t)},e.options.delay||500))}l.defineOption("lint",!1,function(t,e,i){if(i&&i!=l.Init&&(m(t),!1!==t.state.lint.options.lintOnChange&&t.off("change",f),l.off(t.getWrapperElement(),"mouseover",t.state.lint.onMouseOver),clearTimeout(t.state.lint.timeout),delete t.state.lint),e){for(var r=t.getOption("gutters"),n=!1,o=0;o<r.length;++o)r[o]==p&&(n=!0);var s=t.state.lint=new c(t,(a=e)instanceof Function?{getAnnotations:a}:(a&&!0!==a||(a={}),a),n);!1!==s.options.lintOnChange&&t.on("change",f),0!=s.options.tooltips&&"gutter"!=s.options.tooltips&&l.on(t.getWrapperElement(),"mouseover",s.onMouseOver),u(t)}var a}),l.defineExtension("performLint",function(){this.state.lint&&u(this)})},"object"==typeof i&&"object"==typeof e?r(t("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],r):r(CodeMirror)},{"../../lib/codemirror":12}],7:[function(t,e,i){var r;r=function(t){"use strict";function e(t,e){function i(t){clearTimeout(r.doRedraw),r.doRedraw=setTimeout(function(){r.redraw()},t)}this.cm=t,this.options=e,this.buttonHeight=e.scrollButtonHeight||t.getOption("scrollButtonHeight"),this.annotations=[],this.doRedraw=this.doUpdate=null,this.div=t.getWrapperElement().appendChild(document.createElement("div")),this.div.style.cssText="position: absolute; right: 0; top: 0; z-index: 7; pointer-events: none",this.computeScale();var r=this;t.on("refresh",this.resizeHandler=function(){clearTimeout(r.doUpdate),r.doUpdate=setTimeout(function(){r.computeScale()&&i(20)},100)}),t.on("markerAdded",this.resizeHandler),t.on("markerCleared",this.resizeHandler),!1!==e.listenForChanges&&t.on("change",this.changeHandler=function(){i(250)})}t.defineExtension("annotateScrollbar",function(t){return"string"==typeof t&&(t={className:t}),new e(this,t)}),t.defineOption("scrollButtonHeight",0),e.prototype.computeScale=function(){var t=this.cm,e=(t.getWrapperElement().clientHeight-t.display.barHeight-2*this.buttonHeight)/t.getScrollerElement().scrollHeight;if(e!=this.hScale)return this.hScale=e,!0},e.prototype.update=function(t){this.annotations=t,this.redraw()},e.prototype.redraw=function(t){!1!==t&&this.computeScale();var i=this.cm,e=this.hScale,r=document.createDocumentFragment(),n=this.annotations,o=i.getOption("lineWrapping"),s=o&&1.5*i.defaultTextHeight(),a=null,l=null;function c(t,e){return a!=t.line&&(a=t.line,l=i.getLineHandle(a)),l.widgets&&l.widgets.length||o&&l.height>s?i.charCoords(t,"local")[e?"top":"bottom"]:i.heightAtLine(l,"local")+(e?0:l.height)}var h=i.lastLine();if(i.display.barWidth)for(var u,f=0;f<n.length;f++){var d=n[f];if(!(d.to.line>h)){for(var p=u||c(d.from,!0)*e,m=c(d.to,!1)*e;f<n.length-1&&!(n[f+1].to.line>h)&&!(m+.9<(u=c(n[f+1].from,!0)*e));)m=c((d=n[++f]).to,!1)*e;if(m!=p){var g=Math.max(m-p,3),_=r.appendChild(document.createElement("div"));_.style.cssText="position: absolute; right: 0px; width: "+Math.max(i.display.barWidth-1,2)+"px; top: "+(p+this.buttonHeight)+"px; height: "+g+"px",_.className=this.options.className,d.id&&_.setAttribute("annotation-id",d.id)}}}this.div.textContent="",this.div.appendChild(r)},e.prototype.clear=function(){this.cm.off("refresh",this.resizeHandler),this.cm.off("markerAdded",this.resizeHandler),this.cm.off("markerCleared",this.resizeHandler),this.changeHandler&&this.cm.off("change",this.changeHandler),this.div.parentNode.removeChild(this.div)}},"object"==typeof i&&"object"==typeof e?r(t("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],r):r(CodeMirror)},{"../../lib/codemirror":12}],8:[function(t,e,i){var r;r=function(n){"use strict";var i={style:"matchhighlight",minChars:2,delay:100,wordsOnly:!1,annotateScrollbar:!1,showToken:!1,trim:!0};function o(t){for(var e in this.options={},i)this.options[e]=(t&&t.hasOwnProperty(e)?t:i)[e];this.overlay=this.timeout=null,this.matchesonscroll=null,this.active=!1}function s(t){var e=t.state.matchHighlighter;(e.active||t.hasFocus())&&r(t,e)}function a(t){var e=t.state.matchHighlighter;e.active||(e.active=!0,r(t,e))}function r(t,e){clearTimeout(e.timeout),e.timeout=setTimeout(function(){l(t)},e.options.delay)}function h(t,e,i,r){var n,o,s,a=t.state.matchHighlighter;if(t.addOverlay(a.overlay=(n=e,o=i,s=r,{token:function(t){if(t.match(n)&&(!o||(i=o,!((e=t).start&&i.test(e.string.charAt(e.start-1))||e.pos!=e.string.length&&i.test(e.string.charAt(e.pos))))))return s;var e,i;t.next(),t.skipTo(n.charAt(0))||t.skipToEnd()}})),a.options.annotateScrollbar&&t.showMatchesOnScrollbar){var l=i?new RegExp("\\b"+e.replace(/[\\\[.+*?(){|^$]/g,"\\$&")+"\\b"):e;a.matchesonscroll=t.showMatchesOnScrollbar(l,!1,{className:"CodeMirror-selection-highlight-scrollbar"})}}function u(t){var e=t.state.matchHighlighter;e.overlay&&(t.removeOverlay(e.overlay),e.overlay=null,e.matchesonscroll&&(e.matchesonscroll.clear(),e.matchesonscroll=null))}function l(c){c.operation(function(){var t=c.state.matchHighlighter;if(u(c),c.somethingSelected()||!t.options.showToken){var e=c.getCursor("from"),i=c.getCursor("to");if(e.line==i.line&&(!t.options.wordsOnly||function(t,e,i){{if(null===t.getRange(e,i).match(/^\w+$/))return!1;if(0<e.ch){var r={line:e.line,ch:e.ch-1},n=t.getRange(r,e);if(null===n.match(/\W/))return!1}if(i.ch<t.getLine(e.line).length){var r={line:i.line,ch:i.ch+1},n=t.getRange(i,r);if(null===n.match(/\W/))return!1}return!0}}(c,e,i))){var r=c.getRange(e,i);t.options.trim&&(r=r.replace(/^\s+|\s+$/g,"")),r.length>=t.options.minChars&&h(c,r,!1,t.options.style)}}else{for(var n=!0===t.options.showToken?/[\w$]/:t.options.showToken,o=c.getCursor(),s=c.getLine(o.line),a=o.ch,l=a;a&&n.test(s.charAt(a-1));)--a;for(;l<s.length&&n.test(s.charAt(l));)++l;a<l&&h(c,s.slice(a,l),n,t.options.style)}})}n.defineOption("highlightSelectionMatches",!1,function(t,e,i){if(i&&i!=n.Init&&(u(t),clearTimeout(t.state.matchHighlighter.timeout),t.state.matchHighlighter=null,t.off("cursorActivity",s),t.off("focus",a)),e){var r=t.state.matchHighlighter=new o(e);t.hasFocus()?(r.active=!0,l(t)):t.on("focus",a),t.on("cursorActivity",s)}})},"object"==typeof i&&"object"==typeof e?r(t("../../lib/codemirror"),t("./matchesonscrollbar")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","./matchesonscrollbar"],r):r(CodeMirror)},{"../../lib/codemirror":12,"./matchesonscrollbar":9}],9:[function(t,e,i){var r;r=function(c){"use strict";function r(t,e,i,r){this.cm=t,this.options=r;var n={listenForChanges:!1};for(var o in r)n[o]=r[o];n.className||(n.className="CodeMirror-search-match"),this.annotation=t.annotateScrollbar(n),this.query=e,this.caseFold=i,this.gap={from:t.firstLine(),to:t.lastLine()+1},this.matches=[],this.update=null,this.findMatches(),this.annotation.update(this.matches);var s=this;t.on("change",this.changeHandler=function(t,e){s.onChange(e)})}c.defineExtension("showMatchesOnScrollbar",function(t,e,i){return"string"==typeof i&&(i={className:i}),i||(i={}),new r(this,t,e,i)});function h(t,e,i){return t<=e?t:Math.max(e,t+i)}r.prototype.findMatches=function(){if(this.gap){for(var t=0;t<this.matches.length;t++){if((r=this.matches[t]).from.line>=this.gap.to)break;r.to.line>=this.gap.from&&this.matches.splice(t--,1)}for(var e=this.cm.getSearchCursor(this.query,c.Pos(this.gap.from,0),this.caseFold),i=this.options&&this.options.maxMatches||1e3;e.findNext();){var r;if((r={from:e.from(),to:e.to()}).from.line>=this.gap.to)break;if(this.matches.splice(t++,0,r),this.matches.length>i)break}this.gap=null}},r.prototype.onChange=function(t){var e=t.from.line,i=c.changeEnd(t).line,r=i-t.to.line;if(this.gap?(this.gap.from=Math.min(h(this.gap.from,e,r),t.from.line),this.gap.to=Math.max(h(this.gap.to,e,r),t.from.line)):this.gap={from:t.from.line,to:i+1},r)for(var n=0;n<this.matches.length;n++){var o=this.matches[n],s=h(o.from.line,e,r);s!=o.from.line&&(o.from=c.Pos(s,o.from.ch));var a=h(o.to.line,e,r);a!=o.to.line&&(o.to=c.Pos(a,o.to.ch))}clearTimeout(this.update);var l=this;this.update=setTimeout(function(){l.updateAfterChange()},250)},r.prototype.updateAfterChange=function(){this.findMatches(),this.annotation.update(this.matches)},r.prototype.clear=function(){this.cm.off("change",this.changeHandler),this.annotation.clear()}},"object"==typeof i&&"object"==typeof e?r(t("../../lib/codemirror"),t("./searchcursor"),t("../scroll/annotatescrollbar")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","./searchcursor","../scroll/annotatescrollbar"],r):r(CodeMirror)},{"../../lib/codemirror":12,"../scroll/annotatescrollbar":7,"./searchcursor":11}],10:[function(t,e,i){var r;r=function(d){"use strict";function e(){this.posFrom=this.posTo=this.lastQuery=this.query=null,this.overlay=null}function p(t){return t.state.search||(t.state.search=new e)}function o(t){return"string"==typeof t&&t==t.toLowerCase()}function m(t,e,i){return t.getSearchCursor(e,i,{caseFold:o(e),multiline:!0})}function g(t,e,i,r,n){t.openDialog?t.openDialog(e,n,{value:r,selectValueOnOpen:!0}):n(prompt(i,r))}function r(t){return t.replace(/\\(.)/g,function(t,e){return"n"==e?"\n":"r"==e?"\r":e})}function s(t){var e=t.match(/^\/(.*)\/([a-z]*)$/);if(e)try{t=new RegExp(e[1],-1==e[2].indexOf("i")?"":"i")}catch(t){}else t=r(t);return("string"==typeof t?""==t:t.test(""))&&(t=/x^/),t}function _(t,e,i){var r,n;e.queryText=i,e.query=s(i),t.removeOverlay(e.overlay,o(e.query)),e.overlay=(r=e.query,n=o(e.query),"string"==typeof r?r=new RegExp(r.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),n?"gi":"g"):r.global||(r=new RegExp(r.source,r.ignoreCase?"gi":"g")),{token:function(t){r.lastIndex=t.pos;var e=r.exec(t.string);if(e&&e.index==t.pos)return t.pos+=e[0].length||1,"searching";e?t.pos=e.index:t.skipToEnd()}}),t.addOverlay(e.overlay),t.showMatchesOnScrollbar&&(e.annotate&&(e.annotate.clear(),e.annotate=null),e.annotate=t.showMatchesOnScrollbar(e.query,o(e.query)))}function i(o,e,t,i){var r=p(o);if(r.query)return v(o,e);var n,s,a,l,c,h=o.getSelection()||r.lastQuery;if(h instanceof RegExp&&"x^"==h.source&&(h=null),t&&o.openDialog){var u=null,f=function(t,e){d.e_stop(e),t&&(t!=r.queryText&&(_(o,r,t),r.posFrom=r.posTo=o.getCursor()),u&&(u.style.opacity=1),v(o,e.shiftKey,function(t,e){var i;e.line<3&&document.querySelector&&(i=o.display.wrapper.querySelector(".CodeMirror-dialog"))&&i.getBoundingClientRect().bottom-4>o.cursorCoords(e,"window").top&&((u=i).style.opacity=.4)}))};s=x(n=o),a=h,l=f,c=function(t,e){var i=d.keyName(t),r=o.getOption("extraKeys"),n=r&&r[i]||d.keyMap[o.getOption("keyMap")][i];"findNext"==n||"findPrev"==n||"findPersistentNext"==n||"findPersistentPrev"==n?(d.e_stop(t),_(o,p(o),e),o.execCommand(n)):"find"!=n&&"findPersistent"!=n||(d.e_stop(t),f(e,t))},n.openDialog(s,l,{value:a,selectValueOnOpen:!0,closeOnEnter:!1,onClose:function(){y(n)},onKeyDown:c}),i&&h&&(_(o,r,h),v(o,e))}else g(o,x(o),"Search for:",h,function(t){t&&!r.query&&o.operation(function(){_(o,r,t),r.posFrom=r.posTo=o.getCursor(),v(o,e)})})}function v(i,r,n){i.operation(function(){var t=p(i),e=m(i,t.query,r?t.posFrom:t.posTo);(e.find(r)||(e=m(i,t.query,r?d.Pos(i.lastLine()):d.Pos(i.firstLine(),0))).find(r))&&(i.setSelection(e.from(),e.to()),i.scrollIntoView({from:e.from(),to:e.to()},20),t.posFrom=e.from(),t.posTo=e.to(),n&&n(e.from(),e.to()))})}function y(e){e.operation(function(){var t=p(e);t.lastQuery=t.query,t.query&&(t.query=t.queryText=null,e.removeOverlay(t.overlay),t.annotate&&(t.annotate.clear(),t.annotate=null))})}function x(t){return'<span class="CodeMirror-search-label">'+t.phrase("Search:")+'</span> <input type="text" style="width: 10em" class="CodeMirror-search-field"/> <span style="color: #888" class="CodeMirror-search-hint">'+t.phrase("(Use /re/ syntax for regexp search)")+"</span>"}function T(e,r,n){e.operation(function(){for(var t=m(e,r);t.findNext();)if("string"!=typeof r){var i=e.getRange(t.from(),t.to()).match(r);t.replace(n.replace(/\$(\d)/g,function(t,e){return i[e]}))}else t.replace(n)})}function n(f,t){if(!f.getOption("readOnly")){var e=f.getSelection()||p(f).lastQuery,i='<span class="CodeMirror-search-label">'+(t?f.phrase("Replace all:"):f.phrase("Replace:"))+"</span>";g(f,i+(' <input type="text" style="width: 10em" class="CodeMirror-search-field"/> <span style="color: #888" class="CodeMirror-search-hint">'+f.phrase("(Use /re/ syntax for regexp search)")+"</span>"),i,e,function(u){u&&(u=s(u),g(f,'<span class="CodeMirror-search-label">'+f.phrase("With:")+'</span> <input type="text" style="width: 10em" class="CodeMirror-search-field"/>',f.phrase("Replace with:"),"",function(a){if(a=r(a),t)T(f,u,a);else{y(f);var l=m(f,u,f.getCursor("from")),c=function(){var t,e,i,r,n,o,s=l.from();!(t=l.findNext())&&(l=m(f,u),!(t=l.findNext())||s&&l.from().line==s.line&&l.from().ch==s.ch)||(f.setSelection(l.from(),l.to()),f.scrollIntoView({from:l.from(),to:l.to()}),i='<span class="CodeMirror-search-label">'+(o=e=f).phrase("Replace?")+"</span> <button>"+o.phrase("Yes")+"</button> <button>"+o.phrase("No")+"</button> <button>"+o.phrase("All")+"</button> <button>"+o.phrase("Stop")+"</button> ",r=f.phrase("Replace?"),n=[function(){h(t)},c,function(){T(f,u,a)}],e.openConfirm?e.openConfirm(i,n):confirm(r)&&n[0]())},h=function(i){l.replace("string"==typeof u?a:a.replace(/\$(\d)/g,function(t,e){return i[e]})),c()};c()}}))})}}d.commands.find=function(t){y(t),i(t)},d.commands.findPersistent=function(t){y(t),i(t,!1,!0)},d.commands.findPersistentNext=function(t){i(t,!1,!0,!0)},d.commands.findPersistentPrev=function(t){i(t,!0,!0,!0)},d.commands.findNext=i,d.commands.findPrev=function(t){i(t,!0)},d.commands.clearSearch=y,d.commands.replace=n,d.commands.replaceAll=function(t){n(t,!0)}},"object"==typeof i&&"object"==typeof e?r(t("../../lib/codemirror"),t("./searchcursor"),t("../dialog/dialog")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","./searchcursor","../dialog/dialog"],r):r(CodeMirror)},{"../../lib/codemirror":12,"../dialog/dialog":3,"./searchcursor":11}],11:[function(t,e,i){var r;r=function(n){"use strict";var _,v,y=n.Pos;function p(t,e){for(var i,r,n=null!=(r=(i=t).flags)?r:(i.ignoreCase?"i":"")+(i.global?"g":"")+(i.multiline?"m":""),o=n,s=0;s<e.length;s++)-1==o.indexOf(e.charAt(s))&&(o+=e.charAt(s));return n==o?t:new RegExp(t.source,o)}function m(t,e,i){e=p(e,"g");for(var r=i.line,n=i.ch,o=t.lastLine();r<=o;r++,n=0){e.lastIndex=n;var s=t.getLine(r),a=e.exec(s);if(a)return{from:y(r,a.index),to:y(r,a.index+a[0].length),match:a}}}function g(t,e){for(var i,r=0;;){e.lastIndex=r;var n=e.exec(t);if(!n)return i;if((r=(i=n).index+(i[0].length||1))==t.length)return i}}function x(t,e,i,r){if(t.length==e.length)return i;for(var n=0,o=i+Math.max(0,t.length-e.length);;){if(n==o)return n;var s=n+o>>1,a=r(t.slice(0,s)).length;if(a==i)return s;i<a?o=s:n=s+1}}function r(i,r,t,e){var n;this.atOccurrence=!1,this.doc=i,t=t?i.clipPos(t):y(0,0),this.pos={from:t,to:t},"object"==typeof e?n=e.caseFold:(n=e,e=null),"string"==typeof r?(null==n&&(n=!1),this.matches=function(t,e){return(t?function(t,e,i,r){if(!e.length)return null;var n=r?_:v,o=n(e).split(/\r|\n\r?/);t:for(var s=i.line,a=i.ch,l=t.firstLine()-1+o.length;l<=s;s--,a=-1){var c=t.getLine(s);-1<a&&(c=c.slice(0,a));var h=n(c);if(1==o.length){var u=h.lastIndexOf(o[0]);if(-1==u)continue t;return{from:y(s,x(c,h,u,n)),to:y(s,x(c,h,u+o[0].length,n))}}var f=o[o.length-1];if(h.slice(0,f.length)==f){var d=1;for(i=s-o.length+1;d<o.length-1;d++)if(n(t.getLine(i+d))!=o[d])continue t;var p=t.getLine(s+1-o.length),m=n(p);if(m.slice(m.length-o[0].length)==o[0])return{from:y(s+1-o.length,x(p,m,p.length-o[0].length,n)),to:y(s,x(c,h,f.length,n))}}}}:function(t,e,i,r){if(!e.length)return null;var n=r?_:v,o=n(e).split(/\r|\n\r?/);t:for(var s=i.line,a=i.ch,l=t.lastLine()+1-o.length;s<=l;s++,a=0){var c=t.getLine(s).slice(a),h=n(c);if(1==o.length){var u=h.indexOf(o[0]);if(-1==u)continue t;return i=x(c,h,u,n)+a,{from:y(s,x(c,h,u,n)+a),to:y(s,x(c,h,u+o[0].length,n)+a)}}var f=h.length-o[0].length;if(h.slice(f)==o[0]){for(var d=1;d<o.length-1;d++)if(n(t.getLine(s+d))!=o[d])continue t;var p=t.getLine(s+o.length-1),m=n(p),g=o[o.length-1];if(m.slice(0,g.length)==g)return{from:y(s,x(c,h,f,n)+a),to:y(s+o.length-1,x(p,m,g.length,n))}}}})(i,r,e,n)}):(r=p(r,"gm"),e&&!1===e.multiline?this.matches=function(t,e){return(t?function(t,e,i){e=p(e,"g");for(var r=i.line,n=i.ch,o=t.firstLine();o<=r;r--,n=-1){var s=t.getLine(r);-1<n&&(s=s.slice(0,n));var a=g(s,e);if(a)return{from:y(r,a.index),to:y(r,a.index+a[0].length),match:a}}}:m)(i,r,e)}:this.matches=function(t,e){return(t?function(t,e,i){e=p(e,"gm");for(var r,n=1,o=i.line,s=t.firstLine();s<=o;){for(var a=0;a<n;a++){var l=t.getLine(o--);r=null==r?l.slice(0,i.ch):l+"\n"+r}n*=2;var c=g(r,e);if(c){var h=r.slice(0,c.index).split("\n"),u=c[0].split("\n"),f=o+h.length,d=h[h.length-1].length;return{from:y(f,d),to:y(f+u.length-1,1==u.length?d+u[0].length:u[u.length-1].length),match:c}}}}:function(t,e,i){if(!/\\s|\\n|\n|\\W|\\D|\[\^/.test(e.source))return m(t,e,i);e=p(e,"gm");for(var r,n=1,o=i.line,s=t.lastLine();o<=s;){for(var a=0;a<n&&!(s<o);a++){var l=t.getLine(o++);r=null==r?l:r+"\n"+l}n*=2,e.lastIndex=i.ch;var c=e.exec(r);if(c){var h=r.slice(0,c.index).split("\n"),u=c[0].split("\n"),f=i.line+h.length-1,d=h[h.length-1].length;return{from:y(f,d),to:y(f+u.length-1,1==u.length?d+u[0].length:u[u.length-1].length),match:c}}}})(i,r,e)})}v=String.prototype.normalize?(_=function(t){return t.normalize("NFD").toLowerCase()},function(t){return t.normalize("NFD")}):(_=function(t){return t.toLowerCase()},function(t){return t}),r.prototype={findNext:function(){return this.find(!1)},findPrevious:function(){return this.find(!0)},find:function(t){for(var e=this.matches(t,this.doc.clipPos(t?this.pos.from:this.pos.to));e&&0==n.cmpPos(e.from,e.to);)t?e.from.ch?e.from=y(e.from.line,e.from.ch-1):e=e.from.line==this.doc.firstLine()?null:this.matches(t,this.doc.clipPos(y(e.from.line-1))):e.to.ch<this.doc.getLine(e.to.line).length?e.to=y(e.to.line,e.to.ch+1):e=e.to.line==this.doc.lastLine()?null:this.matches(t,y(e.to.line+1,0));if(e)return this.pos=e,this.atOccurrence=!0,this.pos.match||!0;var i=y(t?this.doc.firstLine():this.doc.lastLine()+1,0);return this.pos={from:i,to:i},this.atOccurrence=!1},from:function(){if(this.atOccurrence)return this.pos.from},to:function(){if(this.atOccurrence)return this.pos.to},replace:function(t,e){if(this.atOccurrence){var i=n.splitLines(t);this.doc.replaceRange(i,this.pos.from,this.pos.to,e),this.pos.to=y(this.pos.from.line+i.length-1,i[i.length-1].length+(1==i.length?this.pos.from.ch:0))}}},n.defineExtension("getSearchCursor",function(t,e,i){return new r(this.doc,t,e,i)}),n.defineDocExtension("getSearchCursor",function(t,e,i){return new r(this,t,e,i)}),n.defineExtension("selectMatches",function(t,e){for(var i=[],r=this.getSearchCursor(t,this.getCursor("from"),e);r.findNext()&&!(0<n.cmpPos(r.to(),this.getCursor("to")));)i.push({anchor:r.from(),head:r.to()});i.length&&this.setSelections(i,0)})},"object"==typeof i&&"object"==typeof e?r(t("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],r):r(CodeMirror)},{"../../lib/codemirror":12}],12:[function(t,e,i){var r,n;r=this,n=function(){"use strict";var t=navigator.userAgent,e=navigator.platform,m=/gecko\/\d/i.test(t),i=/MSIE \d/.test(t),r=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(t),n=/Edge\/(\d+)/.exec(t),T=i||r||n,k=T&&(i?document.documentMode||6:+(n||r)[1]),y=!n&&/WebKit\//.test(t),o=y&&/Qt\/\d+\.\d+/.test(t),s=!n&&/Chrome\//.test(t),g=/Opera\//.test(t),l=/Apple Computer/.test(navigator.vendor),a=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(t),c=/PhantomJS/.test(t),h=!n&&/AppleWebKit/.test(t)&&/Mobile\/\w+/.test(t),u=/Android/.test(t),f=h||u||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(t),x=h||/Mac/.test(e),d=/\bCrOS\b/.test(t),p=/win/i.test(e),_=g&&t.match(/Version\/(\d*\.\d*)/);_&&(_=Number(_[1])),_&&15<=_&&(y=!(g=!1));var v=x&&(o||g&&(null==_||_<12.11)),b=m||T&&9<=k;function w(t){return new RegExp("(^|\\s)"+t+"(?:$|\\s)\\s*")}var E,C=function(t,e){var i=t.className,r=w(e).exec(i);if(r){var n=i.slice(r.index+r[0].length);t.className=i.slice(0,r.index)+(n?r[1]+n:"")}};function S(t){for(var e=t.childNodes.length;0<e;--e)t.removeChild(t.firstChild);return t}function A(t,e){return S(t).appendChild(e)}function N(t,e,i,r){var n=document.createElement(t);if(i&&(n.className=i),r&&(n.style.cssText=r),"string"==typeof e)n.appendChild(document.createTextNode(e));else if(e)for(var o=0;o<e.length;++o)n.appendChild(e[o]);return n}function L(t,e,i,r){var n=N(t,e,i,r);return n.setAttribute("role","presentation"),n}function O(t,e){if(3==e.nodeType&&(e=e.parentNode),t.contains)return t.contains(e);do{if(11==e.nodeType&&(e=e.host),e==t)return!0}while(e=e.parentNode)}function I(){var e;try{e=document.activeElement}catch(t){e=document.body||null}for(;e&&e.shadowRoot&&e.shadowRoot.activeElement;)e=e.shadowRoot.activeElement;return e}function R(t,e){var i=t.className;w(e).test(i)||(t.className+=(i?" ":"")+e)}function M(t,e){for(var i=t.split(" "),r=0;r<i.length;r++)i[r]&&!w(i[r]).test(e)&&(e+=" "+i[r]);return e}E=document.createRange?function(t,e,i,r){var n=document.createRange();return n.setEnd(r||t,i),n.setStart(t,e),n}:function(t,e,i){var r=document.body.createTextRange();try{r.moveToElementText(t.parentNode)}catch(t){return r}return r.collapse(!0),r.moveEnd("character",i),r.moveStart("character",e),r};var D=function(t){t.select()};function P(t){var e=Array.prototype.slice.call(arguments,1);return function(){return t.apply(null,e)}}function B(t,e,i){for(var r in e||(e={}),t)!t.hasOwnProperty(r)||!1===i&&e.hasOwnProperty(r)||(e[r]=t[r]);return e}function F(t,e,i,r,n){null==e&&-1==(e=t.search(/[^\s\u00a0]/))&&(e=t.length);for(var o=r||0,s=n||0;;){var a=t.indexOf("\t",o);if(a<0||e<=a)return s+(e-o);s+=a-o,s+=i-s%i,o=a+1}}h?D=function(t){t.selectionStart=0,t.selectionEnd=t.value.length}:T&&(D=function(t){try{t.select()}catch(t){}});var U=function(){this.id=null};function H(t,e){for(var i=0;i<t.length;++i)if(t[i]==e)return i;return-1}U.prototype.set=function(t,e){clearTimeout(this.id),this.id=setTimeout(e,t)};var W=30,z={toString:function(){return"CodeMirror.Pass"}},q={scroll:!1},G={origin:"*mouse"},j={origin:"+move"};function V(t,e,i){for(var r=0,n=0;;){var o=t.indexOf("\t",r);-1==o&&(o=t.length);var s=o-r;if(o==t.length||e<=n+s)return r+Math.min(s,e-n);if(n+=o-r,r=o+1,e<=(n+=i-n%i))return r}}var Y=[""];function K(t){for(;Y.length<=t;)Y.push($(Y)+" ");return Y[t]}function $(t){return t[t.length-1]}function Q(t,e){for(var i=[],r=0;r<t.length;r++)i[r]=e(t[r],r);return i}function X(){}function Z(t,e){var i;return i=Object.create?Object.create(t):(X.prototype=t,new X),e&&B(e,i),i}var J=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;function tt(t){return/\w/.test(t)||"€"<t&&(t.toUpperCase()!=t.toLowerCase()||J.test(t))}function et(t,e){return e?!!(-1<e.source.indexOf("\\w")&&tt(t))||e.test(t):tt(t)}function it(t){for(var e in t)if(t.hasOwnProperty(e)&&t[e])return!1;return!0}var rt=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/;function nt(t){return 768<=t.charCodeAt(0)&&rt.test(t)}function ot(t,e,i){for(;(i<0?0<e:e<t.length)&&nt(t.charAt(e));)e+=i;return e}function st(t,e,i){for(var r=i<e?-1:1;;){if(e==i)return e;var n=(e+i)/2,o=r<0?Math.ceil(n):Math.floor(n);if(o==e)return t(o)?e:i;t(o)?i=o:e=o+r}}function at(t,e,i){var r=this;this.input=i,r.scrollbarFiller=N("div",null,"CodeMirror-scrollbar-filler"),r.scrollbarFiller.setAttribute("cm-not-content","true"),r.gutterFiller=N("div",null,"CodeMirror-gutter-filler"),r.gutterFiller.setAttribute("cm-not-content","true"),r.lineDiv=L("div",null,"CodeMirror-code"),r.selectionDiv=N("div",null,null,"position: relative; z-index: 1"),r.cursorDiv=N("div",null,"CodeMirror-cursors"),r.measure=N("div",null,"CodeMirror-measure"),r.lineMeasure=N("div",null,"CodeMirror-measure"),r.lineSpace=L("div",[r.measure,r.lineMeasure,r.selectionDiv,r.cursorDiv,r.lineDiv],null,"position: relative; outline: none");var n=L("div",[r.lineSpace],"CodeMirror-lines");r.mover=N("div",[n],null,"position: relative"),r.sizer=N("div",[r.mover],"CodeMirror-sizer"),r.sizerWidth=null,r.heightForcer=N("div",null,null,"position: absolute; height: "+W+"px; width: 1px;"),r.gutters=N("div",null,"CodeMirror-gutters"),r.lineGutter=null,r.scroller=N("div",[r.sizer,r.heightForcer,r.gutters],"CodeMirror-scroll"),r.scroller.setAttribute("tabIndex","-1"),r.wrapper=N("div",[r.scrollbarFiller,r.gutterFiller,r.scroller],"CodeMirror"),T&&k<8&&(r.gutters.style.zIndex=-1,r.scroller.style.paddingRight=0),y||m&&f||(r.scroller.draggable=!0),t&&(t.appendChild?t.appendChild(r.wrapper):t(r.wrapper)),r.viewFrom=r.viewTo=e.first,r.reportedViewFrom=r.reportedViewTo=e.first,r.view=[],r.renderedView=null,r.externalMeasured=null,r.viewOffset=0,r.lastWrapHeight=r.lastWrapWidth=0,r.updateLineNumbers=null,r.nativeBarWidth=r.barHeight=r.barWidth=0,r.scrollbarsClipped=!1,r.lineNumWidth=r.lineNumInnerWidth=r.lineNumChars=null,r.alignWidgets=!1,r.cachedCharWidth=r.cachedTextHeight=r.cachedPaddingH=null,r.maxLine=null,r.maxLineLength=0,r.maxLineChanged=!1,r.wheelDX=r.wheelDY=r.wheelStartX=r.wheelStartY=null,r.shift=!1,r.selForContextMenu=null,r.activeTouch=null,i.init(r)}function lt(t,e){if((e-=t.first)<0||e>=t.size)throw new Error("There is no line "+(e+t.first)+" in the document.");for(var i=t;!i.lines;)for(var r=0;;++r){var n=i.children[r],o=n.chunkSize();if(e<o){i=n;break}e-=o}return i.lines[e]}function ct(t,i,r){var n=[],o=i.line;return t.iter(i.line,r.line+1,function(t){var e=t.text;o==r.line&&(e=e.slice(0,r.ch)),o==i.line&&(e=e.slice(i.ch)),n.push(e),++o}),n}function ht(t,e,i){var r=[];return t.iter(e,i,function(t){r.push(t.text)}),r}function ut(t,e){var i=e-t.height;if(i)for(var r=t;r;r=r.parent)r.height+=i}function ft(t){if(null==t.parent)return null;for(var e=t.parent,i=H(e.lines,t),r=e.parent;r;r=(e=r).parent)for(var n=0;r.children[n]!=e;++n)i+=r.children[n].chunkSize();return i+e.first}function dt(t,e){var i=t.first;t:do{for(var r=0;r<t.children.length;++r){var n=t.children[r],o=n.height;if(e<o){t=n;continue t}e-=o,i+=n.chunkSize()}return i}while(!t.lines);for(var s=0;s<t.lines.length;++s){var a=t.lines[s].height;if(e<a)break;e-=a}return i+s}function pt(t,e){return e>=t.first&&e<t.first+t.size}function mt(t,e){return String(t.lineNumberFormatter(e+t.firstLineNumber))}function gt(t,e,i){if(void 0===i&&(i=null),!(this instanceof gt))return new gt(t,e,i);this.line=t,this.ch=e,this.sticky=i}function _t(t,e){return t.line-e.line||t.ch-e.ch}function vt(t,e){return t.sticky==e.sticky&&0==_t(t,e)}function yt(t){return gt(t.line,t.ch)}function xt(t,e){return _t(t,e)<0?e:t}function Tt(t,e){return _t(t,e)<0?t:e}function kt(t,e){return Math.max(t.first,Math.min(e,t.first+t.size-1))}function bt(t,e){if(e.line<t.first)return gt(t.first,0);var i,r,n,o=t.first+t.size-1;return e.line>o?gt(o,lt(t,o).text.length):(r=lt(t,(i=e).line).text.length,null==(n=i.ch)||r<n?gt(i.line,r):n<0?gt(i.line,0):i)}function wt(t,e){for(var i=[],r=0;r<e.length;r++)i[r]=bt(t,e[r]);return i}var Et=!1,Ct=!1;function St(t,e,i){this.marker=t,this.from=e,this.to=i}function At(t,e){if(t)for(var i=0;i<t.length;++i){var r=t[i];if(r.marker==e)return r}}function Lt(t,e){for(var i,r=0;r<t.length;++r)t[r]!=e&&(i||(i=[])).push(t[r]);return i}function Nt(t,e){if(e.full)return null;var i=pt(t,e.from.line)&&lt(t,e.from.line).markedSpans,r=pt(t,e.to.line)&&lt(t,e.to.line).markedSpans;if(!i&&!r)return null;var n=e.from.ch,o=e.to.ch,s=0==_t(e.from,e.to),a=function(t,e,i){var r;if(t)for(var n=0;n<t.length;++n){var o=t[n],s=o.marker;if(null==o.from||(s.inclusiveLeft?o.from<=e:o.from<e)||o.from==e&&"bookmark"==s.type&&(!i||!o.marker.insertLeft)){var a=null==o.to||(s.inclusiveRight?o.to>=e:o.to>e);(r||(r=[])).push(new St(s,o.from,a?null:o.to))}}return r}(i,n,s),l=function(t,e,i){var r;if(t)for(var n=0;n<t.length;++n){var o=t[n],s=o.marker;if(null==o.to||(s.inclusiveRight?o.to>=e:o.to>e)||o.from==e&&"bookmark"==s.type&&(!i||o.marker.insertLeft)){var a=null==o.from||(s.inclusiveLeft?o.from<=e:o.from<e);(r||(r=[])).push(new St(s,a?null:o.from-e,null==o.to?null:o.to-e))}}return r}(r,o,s),c=1==e.text.length,h=$(e.text).length+(c?n:0);if(a)for(var u=0;u<a.length;++u){var f=a[u];if(null==f.to){var d=At(l,f.marker);d?c&&(f.to=null==d.to?null:d.to+h):f.to=n}}if(l)for(var p=0;p<l.length;++p){var m=l[p];if(null!=m.to&&(m.to+=h),null==m.from)At(a,m.marker)||(m.from=h,c&&(a||(a=[])).push(m));else m.from+=h,c&&(a||(a=[])).push(m)}a&&(a=Ot(a)),l&&l!=a&&(l=Ot(l));var g=[a];if(!c){var _,v=e.text.length-2;if(0<v&&a)for(var y=0;y<a.length;++y)null==a[y].to&&(_||(_=[])).push(new St(a[y].marker,null,null));for(var x=0;x<v;++x)g.push(_);g.push(l)}return g}function Ot(t){for(var e=0;e<t.length;++e){var i=t[e];null!=i.from&&i.from==i.to&&!1!==i.marker.clearWhenEmpty&&t.splice(e--,1)}return t.length?t:null}function It(t){var e=t.markedSpans;if(e){for(var i=0;i<e.length;++i)e[i].marker.detachLine(t);t.markedSpans=null}}function Rt(t,e){if(e){for(var i=0;i<e.length;++i)e[i].marker.attachLine(t);t.markedSpans=e}}function Mt(t){return t.inclusiveLeft?-1:0}function Dt(t){return t.inclusiveRight?1:0}function Pt(t,e){var i=t.lines.length-e.lines.length;if(0!=i)return i;var r=t.find(),n=e.find(),o=_t(r.from,n.from)||Mt(t)-Mt(e);if(o)return-o;var s=_t(r.to,n.to)||Dt(t)-Dt(e);return s||e.id-t.id}function Bt(t,e){var i,r=Ct&&t.markedSpans;if(r)for(var n=void 0,o=0;o<r.length;++o)(n=r[o]).marker.collapsed&&null==(e?n.from:n.to)&&(!i||Pt(i,n.marker)<0)&&(i=n.marker);return i}function Ft(t){return Bt(t,!0)}function Ut(t){return Bt(t,!1)}function Ht(t,e){var i,r=Ct&&t.markedSpans;if(r)for(var n=0;n<r.length;++n){var o=r[n];o.marker.collapsed&&(null==o.from||o.from<e)&&(null==o.to||o.to>e)&&(!i||Pt(i,o.marker)<0)&&(i=o.marker)}return i}function Wt(t,e,i,r,n){var o=lt(t,e),s=Ct&&o.markedSpans;if(s)for(var a=0;a<s.length;++a){var l=s[a];if(l.marker.collapsed){var c=l.marker.find(0),h=_t(c.from,i)||Mt(l.marker)-Mt(n),u=_t(c.to,r)||Dt(l.marker)-Dt(n);if(!(0<=h&&u<=0||h<=0&&0<=u)&&(h<=0&&(l.marker.inclusiveRight&&n.inclusiveLeft?0<=_t(c.to,i):0<_t(c.to,i))||0<=h&&(l.marker.inclusiveRight&&n.inclusiveLeft?_t(c.from,r)<=0:_t(c.from,r)<0)))return!0}}}function zt(t){for(var e;e=Ft(t);)t=e.find(-1,!0).line;return t}function qt(t,e){var i=lt(t,e),r=zt(i);return i==r?e:ft(r)}function Gt(t,e){if(e>t.lastLine())return e;var i,r=lt(t,e);if(!jt(t,r))return e;for(;i=Ut(r);)r=i.find(1,!0).line;return ft(r)+1}function jt(t,e){var i=Ct&&e.markedSpans;if(i)for(var r=void 0,n=0;n<i.length;++n)if((r=i[n]).marker.collapsed){if(null==r.from)return!0;if(!r.marker.widgetNode&&0==r.from&&r.marker.inclusiveLeft&&Vt(t,e,r))return!0}}function Vt(t,e,i){if(null==i.to){var r=i.marker.find(1,!0);return Vt(t,r.line,At(r.line.markedSpans,i.marker))}if(i.marker.inclusiveRight&&i.to==e.text.length)return!0;for(var n=void 0,o=0;o<e.markedSpans.length;++o)if((n=e.markedSpans[o]).marker.collapsed&&!n.marker.widgetNode&&n.from==i.to&&(null==n.to||n.to!=i.from)&&(n.marker.inclusiveLeft||i.marker.inclusiveRight)&&Vt(t,e,n))return!0}function Yt(t){for(var e=0,i=(t=zt(t)).parent,r=0;r<i.lines.length;++r){var n=i.lines[r];if(n==t)break;e+=n.height}for(var o=i.parent;o;o=(i=o).parent)for(var s=0;s<o.children.length;++s){var a=o.children[s];if(a==i)break;e+=a.height}return e}function Kt(t){if(0==t.height)return 0;for(var e,i=t.text.length,r=t;e=Ft(r);){var n=e.find(0,!0);r=n.from.line,i+=n.from.ch-n.to.ch}for(r=t;e=Ut(r);){var o=e.find(0,!0);i-=r.text.length-o.from.ch,i+=(r=o.to.line).text.length-o.to.ch}return i}function $t(t){var i=t.display,e=t.doc;i.maxLine=lt(e,e.first),i.maxLineLength=Kt(i.maxLine),i.maxLineChanged=!0,e.iter(function(t){var e=Kt(t);e>i.maxLineLength&&(i.maxLineLength=e,i.maxLine=t)})}var Qt=null;function Xt(t,e,i){var r;Qt=null;for(var n=0;n<t.length;++n){var o=t[n];if(o.from<e&&o.to>e)return n;o.to==e&&(o.from!=o.to&&"before"==i?r=n:Qt=n),o.from==e&&(o.from!=o.to&&"before"!=i?r=n:Qt=n)}return null!=r?r:Qt}var Zt=function(){var B="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN",F="nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111";var U=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,H=/[stwN]/,W=/[LRr]/,z=/[Lb1n]/,q=/[1n]/;function G(t,e,i){this.level=t,this.from=e,this.to=i}return function(t,e){var i="ltr"==e?"L":"R";if(0==t.length||"ltr"==e&&!U.test(t))return!1;for(var r,n=t.length,o=[],s=0;s<n;++s)o.push((r=t.charCodeAt(s))<=247?B.charAt(r):1424<=r&&r<=1524?"R":1536<=r&&r<=1785?F.charAt(r-1536):1774<=r&&r<=2220?"r":8192<=r&&r<=8203?"w":8204==r?"b":"L");for(var a=0,l=i;a<n;++a){var c=o[a];"m"==c?o[a]=l:l=c}for(var h=0,u=i;h<n;++h){var f=o[h];"1"==f&&"r"==u?o[h]="n":W.test(f)&&"r"==(u=f)&&(o[h]="R")}for(var d=1,p=o[0];d<n-1;++d){var m=o[d];"+"==m&&"1"==p&&"1"==o[d+1]?o[d]="1":","!=m||p!=o[d+1]||"1"!=p&&"n"!=p||(o[d]=p),p=m}for(var g=0;g<n;++g){var _=o[g];if(","==_)o[g]="N";else if("%"==_){var v=void 0;for(v=g+1;v<n&&"%"==o[v];++v);for(var y=g&&"!"==o[g-1]||v<n&&"1"==o[v]?"1":"N",x=g;x<v;++x)o[x]=y;g=v-1}}for(var T=0,k=i;T<n;++T){var b=o[T];"L"==k&&"1"==b?o[T]="L":W.test(b)&&(k=b)}for(var w=0;w<n;++w)if(H.test(o[w])){var E=void 0;for(E=w+1;E<n&&H.test(o[E]);++E);for(var C="L"==(w?o[w-1]:i),S=C==("L"==(E<n?o[E]:i))?C?"L":"R":i,A=w;A<E;++A)o[A]=S;w=E-1}for(var L,N=[],O=0;O<n;)if(z.test(o[O])){var I=O;for(++O;O<n&&z.test(o[O]);++O);N.push(new G(0,I,O))}else{var R=O,M=N.length;for(++O;O<n&&"L"!=o[O];++O);for(var D=R;D<O;)if(q.test(o[D])){R<D&&N.splice(M,0,new G(1,R,D));var P=D;for(++D;D<O&&q.test(o[D]);++D);N.splice(M,0,new G(2,P,D)),R=D}else++D;R<O&&N.splice(M,0,new G(1,R,O))}return"ltr"==e&&(1==N[0].level&&(L=t.match(/^\s+/))&&(N[0].from=L[0].length,N.unshift(new G(0,0,L[0].length))),1==$(N).level&&(L=t.match(/\s+$/))&&($(N).to-=L[0].length,N.push(new G(0,n-L[0].length,n)))),"rtl"==e?N.reverse():N}}();function Jt(t,e){var i=t.order;return null==i&&(i=t.order=Zt(t.text,e)),i}var te=[],ee=function(t,e,i){if(t.addEventListener)t.addEventListener(e,i,!1);else if(t.attachEvent)t.attachEvent("on"+e,i);else{var r=t._handlers||(t._handlers={});r[e]=(r[e]||te).concat(i)}};function ie(t,e){return t._handlers&&t._handlers[e]||te}function re(t,e,i){if(t.removeEventListener)t.removeEventListener(e,i,!1);else if(t.detachEvent)t.detachEvent("on"+e,i);else{var r=t._handlers,n=r&&r[e];if(n){var o=H(n,i);-1<o&&(r[e]=n.slice(0,o).concat(n.slice(o+1)))}}}function ne(t,e){var i=ie(t,e);if(i.length)for(var r=Array.prototype.slice.call(arguments,2),n=0;n<i.length;++n)i[n].apply(null,r)}function oe(t,e,i){return"string"==typeof e&&(e={type:e,preventDefault:function(){this.defaultPrevented=!0}}),ne(t,i||e.type,t,e),ue(e)||e.codemirrorIgnore}function se(t){var e=t._handlers&&t._handlers.cursorActivity;if(e)for(var i=t.curOp.cursorActivityHandlers||(t.curOp.cursorActivityHandlers=[]),r=0;r<e.length;++r)-1==H(i,e[r])&&i.push(e[r])}function ae(t,e){return 0<ie(t,e).length}function le(t){t.prototype.on=function(t,e){ee(this,t,e)},t.prototype.off=function(t,e){re(this,t,e)}}function ce(t){t.preventDefault?t.preventDefault():t.returnValue=!1}function he(t){t.stopPropagation?t.stopPropagation():t.cancelBubble=!0}function ue(t){return null!=t.defaultPrevented?t.defaultPrevented:0==t.returnValue}function fe(t){ce(t),he(t)}function de(t){return t.target||t.srcElement}function pe(t){var e=t.which;return null==e&&(1&t.button?e=1:2&t.button?e=3:4&t.button&&(e=2)),x&&t.ctrlKey&&1==e&&(e=3),e}var me,ge,_e=function(){if(T&&k<9)return!1;var t=N("div");return"draggable"in t||"dragDrop"in t}();function ve(t){if(null==me){var e=N("span","​");A(t,N("span",[e,document.createTextNode("x")])),0!=t.firstChild.offsetHeight&&(me=e.offsetWidth<=1&&2<e.offsetHeight&&!(T&&k<8))}var i=me?N("span","​"):N("span"," ",null,"display: inline-block; width: 1px; margin-right: -1px");return i.setAttribute("cm-text",""),i}function ye(t){if(null!=ge)return ge;var e=A(t,document.createTextNode("AخA")),i=E(e,0,1).getBoundingClientRect(),r=E(e,1,2).getBoundingClientRect();return S(t),!(!i||i.left==i.right)&&(ge=r.right-i.right<3)}var xe,Te=3!="\n\nb".split(/\n/).length?function(t){for(var e=0,i=[],r=t.length;e<=r;){var n=t.indexOf("\n",e);-1==n&&(n=t.length);var o=t.slice(e,"\r"==t.charAt(n-1)?n-1:n),s=o.indexOf("\r");-1!=s?(i.push(o.slice(0,s)),e+=s+1):(i.push(o),e=n+1)}return i}:function(t){return t.split(/\r\n?|\n/)},ke=window.getSelection?function(t){try{return t.selectionStart!=t.selectionEnd}catch(t){return!1}}:function(t){var e;try{e=t.ownerDocument.selection.createRange()}catch(t){}return!(!e||e.parentElement()!=t)&&0!=e.compareEndPoints("StartToEnd",e)},be="oncopy"in(xe=N("div"))||(xe.setAttribute("oncopy","return;"),"function"==typeof xe.oncopy),we=null;var Ee={},Ce={};function Se(t){if("string"==typeof t&&Ce.hasOwnProperty(t))t=Ce[t];else if(t&&"string"==typeof t.name&&Ce.hasOwnProperty(t.name)){var e=Ce[t.name];"string"==typeof e&&(e={name:e}),(t=Z(e,t)).name=e.name}else{if("string"==typeof t&&/^[\w\-]+\/[\w\-]+\+xml$/.test(t))return Se("application/xml");if("string"==typeof t&&/^[\w\-]+\/[\w\-]+\+json$/.test(t))return Se("application/json")}return"string"==typeof t?{name:t}:t||{name:"null"}}function Ae(t,e){e=Se(e);var i=Ee[e.name];if(!i)return Ae(t,"text/plain");var r=i(t,e);if(Le.hasOwnProperty(e.name)){var n=Le[e.name];for(var o in n)n.hasOwnProperty(o)&&(r.hasOwnProperty(o)&&(r["_"+o]=r[o]),r[o]=n[o])}if(r.name=e.name,e.helperType&&(r.helperType=e.helperType),e.modeProps)for(var s in e.modeProps)r[s]=e.modeProps[s];return r}var Le={};function Ne(t,e){B(e,Le.hasOwnProperty(t)?Le[t]:Le[t]={})}function Oe(t,e){if(!0===e)return e;if(t.copyState)return t.copyState(e);var i={};for(var r in e){var n=e[r];n instanceof Array&&(n=n.concat([])),i[r]=n}return i}function Ie(t,e){for(var i;t.innerMode&&(i=t.innerMode(e))&&i.mode!=t;)e=i.state,t=i.mode;return i||{mode:t,state:e}}function Re(t,e,i){return!t.startState||t.startState(e,i)}var Me=function(t,e,i){this.pos=this.start=0,this.string=t,this.tabSize=e||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=i};Me.prototype.eol=function(){return this.pos>=this.string.length},Me.prototype.sol=function(){return this.pos==this.lineStart},Me.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},Me.prototype.next=function(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)},Me.prototype.eat=function(t){var e=this.string.charAt(this.pos);if("string"==typeof t?e==t:e&&(t.test?t.test(e):t(e)))return++this.pos,e},Me.prototype.eatWhile=function(t){for(var e=this.pos;this.eat(t););return this.pos>e},Me.prototype.eatSpace=function(){for(var t=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>t},Me.prototype.skipToEnd=function(){this.pos=this.string.length},Me.prototype.skipTo=function(t){var e=this.string.indexOf(t,this.pos);if(-1<e)return this.pos=e,!0},Me.prototype.backUp=function(t){this.pos-=t},Me.prototype.column=function(){return this.lastColumnPos<this.start&&(this.lastColumnValue=F(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start),this.lastColumnValue-(this.lineStart?F(this.string,this.lineStart,this.tabSize):0)},Me.prototype.indentation=function(){return F(this.string,null,this.tabSize)-(this.lineStart?F(this.string,this.lineStart,this.tabSize):0)},Me.prototype.match=function(t,e,i){if("string"!=typeof t){var r=this.string.slice(this.pos).match(t);return r&&0<r.index?null:(r&&!1!==e&&(this.pos+=r[0].length),r)}var n=function(t){return i?t.toLowerCase():t};if(n(this.string.substr(this.pos,t.length))==n(t))return!1!==e&&(this.pos+=t.length),!0},Me.prototype.current=function(){return this.string.slice(this.start,this.pos)},Me.prototype.hideFirstChars=function(t,e){this.lineStart+=t;try{return e()}finally{this.lineStart-=t}},Me.prototype.lookAhead=function(t){var e=this.lineOracle;return e&&e.lookAhead(t)},Me.prototype.baseToken=function(){var t=this.lineOracle;return t&&t.baseToken(this.pos)};var De=function(t,e){this.state=t,this.lookAhead=e},Pe=function(t,e,i,r){this.state=e,this.doc=t,this.line=i,this.maxLookAhead=r||0,this.baseTokens=null,this.baseTokenPos=1};function Be(e,i,r,t){var l=[e.state.modeGen],n={};Ve(e,i.text,e.doc.mode,r,function(t,e){return l.push(t,e)},n,t);for(var c=r.state,o=function(t){r.baseTokens=l;var o=e.state.overlays[t],s=1,a=0;r.state=!0,Ve(e,i.text,o.mode,r,function(t,e){for(var i=s;a<t;){var r=l[s];t<r&&l.splice(s,1,t,l[s+1],r),s+=2,a=Math.min(t,r)}if(e)if(o.opaque)l.splice(i,s-i,t,"overlay "+e),s=i+2;else for(;i<s;i+=2){var n=l[i+1];l[i+1]=(n?n+" ":"")+"overlay "+e}},n),r.state=c,r.baseTokens=null,r.baseTokenPos=1},s=0;s<e.state.overlays.length;++s)o(s);return{styles:l,classes:n.bgClass||n.textClass?n:null}}function Fe(t,e,i){if(!e.styles||e.styles[0]!=t.state.modeGen){var r=Ue(t,ft(e)),n=e.text.length>t.options.maxHighlightLength&&Oe(t.doc.mode,r.state),o=Be(t,e,r);n&&(r.state=n),e.stateAfter=r.save(!n),e.styles=o.styles,o.classes?e.styleClasses=o.classes:e.styleClasses&&(e.styleClasses=null),i===t.doc.highlightFrontier&&(t.doc.modeFrontier=Math.max(t.doc.modeFrontier,++t.doc.highlightFrontier))}return e.styles}function Ue(i,r,t){var e=i.doc,n=i.display;if(!e.mode.startState)return new Pe(e,!0,r);var o=function(t,e,i){for(var r,n,o=t.doc,s=i?-1:e-(t.doc.mode.innerMode?1e3:100),a=e;s<a;--a){if(a<=o.first)return o.first;var l=lt(o,a-1),c=l.stateAfter;if(c&&(!i||a+(c instanceof De?c.lookAhead:0)<=o.modeFrontier))return a;var h=F(l.text,null,t.options.tabSize);(null==n||h<r)&&(n=a-1,r=h)}return n}(i,r,t),s=o>e.first&&lt(e,o-1).stateAfter,a=s?Pe.fromSaved(e,s,o):new Pe(e,Re(e.mode),o);return e.iter(o,r,function(t){He(i,t.text,a);var e=a.line;t.stateAfter=e==r-1||e%5==0||e>=n.viewFrom&&e<n.viewTo?a.save():null,a.nextLine()}),t&&(e.modeFrontier=a.line),a}function He(t,e,i,r){var n=t.doc.mode,o=new Me(e,t.options.tabSize,i);for(o.start=o.pos=r||0,""==e&&We(n,i.state);!o.eol();)ze(n,o,i.state),o.start=o.pos}function We(t,e){if(t.blankLine)return t.blankLine(e);if(t.innerMode){var i=Ie(t,e);return i.mode.blankLine?i.mode.blankLine(i.state):void 0}}function ze(t,e,i,r){for(var n=0;n<10;n++){r&&(r[0]=Ie(t,i).mode);var o=t.token(e,i);if(e.pos>e.start)return o}throw new Error("Mode "+t.name+" failed to advance stream.")}Pe.prototype.lookAhead=function(t){var e=this.doc.getLine(this.line+t);return null!=e&&t>this.maxLookAhead&&(this.maxLookAhead=t),e},Pe.prototype.baseToken=function(t){if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=t;)this.baseTokenPos+=2;var e=this.baseTokens[this.baseTokenPos+1];return{type:e&&e.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-t}},Pe.prototype.nextLine=function(){this.line++,0<this.maxLookAhead&&this.maxLookAhead--},Pe.fromSaved=function(t,e,i){return e instanceof De?new Pe(t,Oe(t.mode,e.state),i,e.lookAhead):new Pe(t,Oe(t.mode,e),i)},Pe.prototype.save=function(t){var e=!1!==t?Oe(this.doc.mode,this.state):this.state;return 0<this.maxLookAhead?new De(e,this.maxLookAhead):e};var qe=function(t,e,i){this.start=t.start,this.end=t.pos,this.string=t.current(),this.type=e||null,this.state=i};function Ge(t,e,i,r){var n,o,s=t.doc,a=s.mode,l=lt(s,(e=bt(s,e)).line),c=Ue(t,e.line,i),h=new Me(l.text,t.options.tabSize,c);for(r&&(o=[]);(r||h.pos<e.ch)&&!h.eol();)h.start=h.pos,n=ze(a,h,c.state),r&&o.push(new qe(h,n,Oe(s.mode,c.state)));return r?o:new qe(h,n,c.state)}function je(t,e){if(t)for(;;){var i=t.match(/(?:^|\s+)line-(background-)?(\S+)/);if(!i)break;t=t.slice(0,i.index)+t.slice(i.index+i[0].length);var r=i[1]?"bgClass":"textClass";null==e[r]?e[r]=i[2]:new RegExp("(?:^|s)"+i[2]+"(?:$|s)").test(e[r])||(e[r]+=" "+i[2])}return t}function Ve(t,e,i,r,n,o,s){var a=i.flattenSpans;null==a&&(a=t.options.flattenSpans);var l,c=0,h=null,u=new Me(e,t.options.tabSize,r),f=t.options.addModeClass&&[null];for(""==e&&je(We(i,r.state),o);!u.eol();){if(l=u.pos>t.options.maxHighlightLength?(a=!1,s&&He(t,e,r,u.pos),u.pos=e.length,null):je(ze(i,u,r.state,f),o),f){var d=f[0].name;d&&(l="m-"+(l?d+" "+l:d))}if(!a||h!=l){for(;c<u.start;)n(c=Math.min(u.start,c+5e3),h);h=l}u.start=u.pos}for(;c<u.pos;){var p=Math.min(u.pos,c+5e3);n(p,h),c=p}}var Ye=function(t,e,i){this.text=t,Rt(this,e),this.height=i?i(this):1};Ye.prototype.lineNo=function(){return ft(this)},le(Ye);var Ke={},$e={};function Qe(t,e){if(!t||/^\s*$/.test(t))return null;var i=e.addModeClass?$e:Ke;return i[t]||(i[t]=t.replace(/\S+/g,"cm-$&"))}function Xe(t,e){var i=L("span",null,null,y?"padding-right: .1px":null),r={pre:L("pre",[i],"CodeMirror-line"),content:i,col:0,pos:0,cm:t,trailingSpace:!1,splitSpaces:t.getOption("lineWrapping")};e.measure={};for(var n=0;n<=(e.rest?e.rest.length:0);n++){var o=n?e.rest[n-1]:e.line,s=void 0;r.pos=0,r.addToken=Je,ye(t.display.measure)&&(s=Jt(o,t.doc.direction))&&(r.addToken=ti(r.addToken,s)),r.map=[],ii(o,r,Fe(t,o,e!=t.display.externalMeasured&&ft(o))),o.styleClasses&&(o.styleClasses.bgClass&&(r.bgClass=M(o.styleClasses.bgClass,r.bgClass||"")),o.styleClasses.textClass&&(r.textClass=M(o.styleClasses.textClass,r.textClass||""))),0==r.map.length&&r.map.push(0,0,r.content.appendChild(ve(t.display.measure))),0==n?(e.measure.map=r.map,e.measure.cache={}):((e.measure.maps||(e.measure.maps=[])).push(r.map),(e.measure.caches||(e.measure.caches=[])).push({}))}if(y){var a=r.content.lastChild;(/\bcm-tab\b/.test(a.className)||a.querySelector&&a.querySelector(".cm-tab"))&&(r.content.className="cm-tab-wrap-hack")}return ne(t,"renderLine",t,e.line,r.pre),r.pre.className&&(r.textClass=M(r.pre.className,r.textClass||"")),r}function Ze(t){var e=N("span","•","cm-invalidchar");return e.title="\\u"+t.charCodeAt(0).toString(16),e.setAttribute("aria-label",e.title),e}function Je(t,e,i,r,n,o,s){if(e){var a,l=t.splitSpaces?function(t,e){if(1<t.length&&!/ /.test(t))return t;for(var i=e,r="",n=0;n<t.length;n++){var o=t.charAt(n);" "!=o||!i||n!=t.length-1&&32!=t.charCodeAt(n+1)||(o=" "),r+=o,i=" "==o}return r}(e,t.trailingSpace):e,c=t.cm.state.specialChars,h=!1;if(c.test(e)){a=document.createDocumentFragment();for(var u=0;;){c.lastIndex=u;var f=c.exec(e),d=f?f.index-u:e.length-u;if(d){var p=document.createTextNode(l.slice(u,u+d));T&&k<9?a.appendChild(N("span",[p])):a.appendChild(p),t.map.push(t.pos,t.pos+d,p),t.col+=d,t.pos+=d}if(!f)break;u+=d+1;var m=void 0;if("\t"==f[0]){var g=t.cm.options.tabSize,_=g-t.col%g;(m=a.appendChild(N("span",K(_),"cm-tab"))).setAttribute("role","presentation"),m.setAttribute("cm-text","\t"),t.col+=_}else"\r"==f[0]||"\n"==f[0]?(m=a.appendChild(N("span","\r"==f[0]?"␍":"␤","cm-invalidchar"))).setAttribute("cm-text",f[0]):((m=t.cm.options.specialCharPlaceholder(f[0])).setAttribute("cm-text",f[0]),T&&k<9?a.appendChild(N("span",[m])):a.appendChild(m)),t.col+=1;t.map.push(t.pos,t.pos+1,m),t.pos++}}else t.col+=e.length,a=document.createTextNode(l),t.map.push(t.pos,t.pos+e.length,a),T&&k<9&&(h=!0),t.pos+=e.length;if(t.trailingSpace=32==l.charCodeAt(e.length-1),i||r||n||h||o){var v=i||"";r&&(v+=r),n&&(v+=n);var y=N("span",[a],v,o);if(s)for(var x in s)s.hasOwnProperty(x)&&"style"!=x&&"class"!=x&&y.setAttribute(x,s[x]);return t.content.appendChild(y)}t.content.appendChild(a)}}function ti(u,f){return function(t,e,i,r,n,o,s){i=i?i+" cm-force-border":"cm-force-border";for(var a=t.pos,l=a+e.length;;){for(var c=void 0,h=0;h<f.length&&!((c=f[h]).to>a&&c.from<=a);h++);if(c.to>=l)return u(t,e,i,r,n,o,s);u(t,e.slice(0,c.to-a),i,r,null,o,s),r=null,e=e.slice(c.to-a),a=c.to}}}function ei(t,e,i,r){var n=!r&&i.widgetNode;n&&t.map.push(t.pos,t.pos+e,n),!r&&t.cm.display.input.needsContentAttribute&&(n||(n=t.content.appendChild(document.createElement("span"))),n.setAttribute("cm-marker",i.id)),n&&(t.cm.display.input.setUneditable(n),t.content.appendChild(n)),t.pos+=e,t.trailingSpace=!1}function ii(t,e,i){var r=t.markedSpans,n=t.text,o=0;if(r)for(var s,a,l,c,h,u,f,d=n.length,p=0,m=1,g="",_=0;;){if(_==p){l=c=h=a="",u=f=null,_=1/0;for(var v=[],y=void 0,x=0;x<r.length;++x){var T=r[x],k=T.marker;if("bookmark"==k.type&&T.from==p&&k.widgetNode)v.push(k);else if(T.from<=p&&(null==T.to||T.to>p||k.collapsed&&T.to==p&&T.from==p)){if(null!=T.to&&T.to!=p&&_>T.to&&(_=T.to,c=""),k.className&&(l+=" "+k.className),k.css&&(a=(a?a+";":"")+k.css),k.startStyle&&T.from==p&&(h+=" "+k.startStyle),k.endStyle&&T.to==_&&(y||(y=[])).push(k.endStyle,T.to),k.title&&((f||(f={})).title=k.title),k.attributes)for(var b in k.attributes)(f||(f={}))[b]=k.attributes[b];k.collapsed&&(!u||Pt(u.marker,k)<0)&&(u=T)}else T.from>p&&_>T.from&&(_=T.from)}if(y)for(var w=0;w<y.length;w+=2)y[w+1]==_&&(c+=" "+y[w]);if(!u||u.from==p)for(var E=0;E<v.length;++E)ei(e,0,v[E]);if(u&&(u.from||0)==p){if(ei(e,(null==u.to?d+1:u.to)-p,u.marker,null==u.from),null==u.to)return;u.to==p&&(u=!1)}}if(d<=p)break;for(var C=Math.min(d,_);;){if(g){var S=p+g.length;if(!u){var A=C<S?g.slice(0,C-p):g;e.addToken(e,A,s?s+l:l,h,p+A.length==_?c:"",a,f)}if(C<=S){g=g.slice(C-p),p=C;break}p=S,h=""}g=n.slice(o,o=i[m++]),s=Qe(i[m++],e.cm.options)}}else for(var L=1;L<i.length;L+=2)e.addToken(e,n.slice(o,o=i[L]),Qe(i[L+1],e.cm.options))}function ri(t,e,i){this.line=e,this.rest=function(t){for(var e,i;e=Ut(t);)t=e.find(1,!0).line,(i||(i=[])).push(t);return i}(e),this.size=this.rest?ft($(this.rest))-i+1:1,this.node=this.text=null,this.hidden=jt(t,e)}function ni(t,e,i){for(var r,n=[],o=e;o<i;o=r){var s=new ri(t.doc,lt(t.doc,o),o);r=o+s.size,n.push(s)}return n}var oi=null;var si=null;function ai(t,e){var i=ie(t,e);if(i.length){var r,n=Array.prototype.slice.call(arguments,2);oi?r=oi.delayedCallbacks:si?r=si:(r=si=[],setTimeout(li,0));for(var o=function(t){r.push(function(){return i[t].apply(null,n)})},s=0;s<i.length;++s)o(s)}}function li(){var t=si;si=null;for(var e=0;e<t.length;++e)t[e]()}function ci(t,e,i,r){for(var n=0;n<e.changes.length;n++){var o=e.changes[n];"text"==o?fi(t,e):"gutter"==o?pi(t,e,i,r):"class"==o?di(t,e):"widget"==o&&mi(t,e,r)}e.changes=null}function hi(t){return t.node==t.text&&(t.node=N("div",null,null,"position: relative"),t.text.parentNode&&t.text.parentNode.replaceChild(t.node,t.text),t.node.appendChild(t.text),T&&k<8&&(t.node.style.zIndex=2)),t.node}function ui(t,e){var i=t.display.externalMeasured;return i&&i.line==e.line?(t.display.externalMeasured=null,e.measure=i.measure,i.built):Xe(t,e)}function fi(t,e){var i=e.text.className,r=ui(t,e);e.text==e.node&&(e.node=r.pre),e.text.parentNode.replaceChild(r.pre,e.text),e.text=r.pre,r.bgClass!=e.bgClass||r.textClass!=e.textClass?(e.bgClass=r.bgClass,e.textClass=r.textClass,di(t,e)):i&&(e.text.className=i)}function di(t,e){!function(t,e){var i=e.bgClass?e.bgClass+" "+(e.line.bgClass||""):e.line.bgClass;if(i&&(i+=" CodeMirror-linebackground"),e.background)i?e.background.className=i:(e.background.parentNode.removeChild(e.background),e.background=null);else if(i){var r=hi(e);e.background=r.insertBefore(N("div",null,i),r.firstChild),t.display.input.setUneditable(e.background)}}(t,e),e.line.wrapClass?hi(e).className=e.line.wrapClass:e.node!=e.text&&(e.node.className="");var i=e.textClass?e.textClass+" "+(e.line.textClass||""):e.line.textClass;e.text.className=i||""}function pi(t,e,i,r){if(e.gutter&&(e.node.removeChild(e.gutter),e.gutter=null),e.gutterBackground&&(e.node.removeChild(e.gutterBackground),e.gutterBackground=null),e.line.gutterClass){var n=hi(e);e.gutterBackground=N("div",null,"CodeMirror-gutter-background "+e.line.gutterClass,"left: "+(t.options.fixedGutter?r.fixedPos:-r.gutterTotalWidth)+"px; width: "+r.gutterTotalWidth+"px"),t.display.input.setUneditable(e.gutterBackground),n.insertBefore(e.gutterBackground,e.text)}var o=e.line.gutterMarkers;if(t.options.lineNumbers||o){var s=hi(e),a=e.gutter=N("div",null,"CodeMirror-gutter-wrapper","left: "+(t.options.fixedGutter?r.fixedPos:-r.gutterTotalWidth)+"px");if(t.display.input.setUneditable(a),s.insertBefore(a,e.text),e.line.gutterClass&&(a.className+=" "+e.line.gutterClass),!t.options.lineNumbers||o&&o["CodeMirror-linenumbers"]||(e.lineNumber=a.appendChild(N("div",mt(t.options,i),"CodeMirror-linenumber CodeMirror-gutter-elt","left: "+r.gutterLeft["CodeMirror-linenumbers"]+"px; width: "+t.display.lineNumInnerWidth+"px"))),o)for(var l=0;l<t.options.gutters.length;++l){var c=t.options.gutters[l],h=o.hasOwnProperty(c)&&o[c];h&&a.appendChild(N("div",[h],"CodeMirror-gutter-elt","left: "+r.gutterLeft[c]+"px; width: "+r.gutterWidth[c]+"px"))}}}function mi(t,e,i){e.alignable&&(e.alignable=null);for(var r=e.node.firstChild,n=void 0;r;r=n)n=r.nextSibling,"CodeMirror-linewidget"==r.className&&e.node.removeChild(r);gi(t,e,i)}function gi(t,e,i){if(_i(t,e.line,e,i,!0),e.rest)for(var r=0;r<e.rest.length;r++)_i(t,e.rest[r],e,i,!1)}function _i(t,e,i,r,n){if(e.widgets)for(var o=hi(i),s=0,a=e.widgets;s<a.length;++s){var l=a[s],c=N("div",[l.node],"CodeMirror-linewidget");l.handleMouseEvents||c.setAttribute("cm-ignore-events","true"),vi(l,c,i,r),t.display.input.setUneditable(c),n&&l.above?o.insertBefore(c,i.gutter||i.text):o.appendChild(c),ai(l,"redraw")}}function vi(t,e,i,r){if(t.noHScroll){(i.alignable||(i.alignable=[])).push(e);var n=r.wrapperWidth;e.style.left=r.fixedPos+"px",t.coverGutter||(n-=r.gutterTotalWidth,e.style.paddingLeft=r.gutterTotalWidth+"px"),e.style.width=n+"px"}t.coverGutter&&(e.style.zIndex=5,e.style.position="relative",t.noHScroll||(e.style.marginLeft=-r.gutterTotalWidth+"px"))}function yi(t){if(null!=t.height)return t.height;var e=t.doc.cm;if(!e)return 0;if(!O(document.body,t.node)){var i="position: relative;";t.coverGutter&&(i+="margin-left: -"+e.display.gutters.offsetWidth+"px;"),t.noHScroll&&(i+="width: "+e.display.wrapper.clientWidth+"px;"),A(e.display.measure,N("div",[t.node],null,i))}return t.height=t.node.parentNode.offsetHeight}function xi(t,e){for(var i=de(e);i!=t.wrapper;i=i.parentNode)if(!i||1==i.nodeType&&"true"==i.getAttribute("cm-ignore-events")||i.parentNode==t.sizer&&i!=t.mover)return!0}function Ti(t){return t.lineSpace.offsetTop}function ki(t){return t.mover.offsetHeight-t.lineSpace.offsetHeight}function bi(t){if(t.cachedPaddingH)return t.cachedPaddingH;var e=A(t.measure,N("pre","x")),i=window.getComputedStyle?window.getComputedStyle(e):e.currentStyle,r={left:parseInt(i.paddingLeft),right:parseInt(i.paddingRight)};return isNaN(r.left)||isNaN(r.right)||(t.cachedPaddingH=r),r}function wi(t){return W-t.display.nativeBarWidth}function Ei(t){return t.display.scroller.clientWidth-wi(t)-t.display.barWidth}function Ci(t){return t.display.scroller.clientHeight-wi(t)-t.display.barHeight}function Si(t,e,i){if(t.line==e)return{map:t.measure.map,cache:t.measure.cache};for(var r=0;r<t.rest.length;r++)if(t.rest[r]==e)return{map:t.measure.maps[r],cache:t.measure.caches[r]};for(var n=0;n<t.rest.length;n++)if(ft(t.rest[n])>i)return{map:t.measure.maps[n],cache:t.measure.caches[n],before:!0}}function Ai(t,e,i,r){return Oi(t,Ni(t,e),i,r)}function Li(t,e){if(e>=t.display.viewFrom&&e<t.display.viewTo)return t.display.view[sr(t,e)];var i=t.display.externalMeasured;return i&&e>=i.lineN&&e<i.lineN+i.size?i:void 0}function Ni(t,e){var i=ft(e),r=Li(t,i);r&&!r.text?r=null:r&&r.changes&&(ci(t,r,i,er(t)),t.curOp.forceUpdate=!0),r||(r=function(t,e){var i=ft(e=zt(e)),r=t.display.externalMeasured=new ri(t.doc,e,i);r.lineN=i;var n=r.built=Xe(t,r);return r.text=n.pre,A(t.display.lineMeasure,n.pre),r}(t,e));var n=Si(r,e,i);return{line:e,view:r,rect:null,map:n.map,cache:n.cache,before:n.before,hasHeights:!1}}function Oi(t,e,i,r,n){e.before&&(i=-1);var o,s=i+(r||"");return e.cache.hasOwnProperty(s)?o=e.cache[s]:(e.rect||(e.rect=e.view.text.getBoundingClientRect()),e.hasHeights||(!function(t,e,i){var r=t.options.lineWrapping,n=r&&Ei(t);if(!e.measure.heights||r&&e.measure.width!=n){var o=e.measure.heights=[];if(r){e.measure.width=n;for(var s=e.text.firstChild.getClientRects(),a=0;a<s.length-1;a++){var l=s[a],c=s[a+1];2<Math.abs(l.bottom-c.bottom)&&o.push((l.bottom+c.top)/2-i.top)}}o.push(i.bottom-i.top)}}(t,e.view,e.rect),e.hasHeights=!0),(o=function(t,e,i,r){var n,o=Mi(e.map,i,r),s=o.node,a=o.start,l=o.end,c=o.collapse;if(3==s.nodeType){for(var h=0;h<4;h++){for(;a&&nt(e.line.text.charAt(o.coverStart+a));)--a;for(;o.coverStart+l<o.coverEnd&&nt(e.line.text.charAt(o.coverStart+l));)++l;if((n=T&&k<9&&0==a&&l==o.coverEnd-o.coverStart?s.parentNode.getBoundingClientRect():Di(E(s,a,l).getClientRects(),r)).left||n.right||0==a)break;l=a,a-=1,c="right"}T&&k<11&&(n=function(t,e){if(!window.screen||null==screen.logicalXDPI||screen.logicalXDPI==screen.deviceXDPI||!function(t){if(null!=we)return we;var e=A(t,N("span","x")),i=e.getBoundingClientRect(),r=E(e,0,1).getBoundingClientRect();return we=1<Math.abs(i.left-r.left)}(t))return e;var i=screen.logicalXDPI/screen.deviceXDPI,r=screen.logicalYDPI/screen.deviceYDPI;return{left:e.left*i,right:e.right*i,top:e.top*r,bottom:e.bottom*r}}(t.display.measure,n))}else{var u;0<a&&(c=r="right"),n=t.options.lineWrapping&&1<(u=s.getClientRects()).length?u["right"==r?u.length-1:0]:s.getBoundingClientRect()}if(T&&k<9&&!a&&(!n||!n.left&&!n.right)){var f=s.parentNode.getClientRects()[0];n=f?{left:f.left,right:f.left+tr(t.display),top:f.top,bottom:f.bottom}:Ri}for(var d=n.top-e.rect.top,p=n.bottom-e.rect.top,m=(d+p)/2,g=e.view.measure.heights,_=0;_<g.length-1&&!(m<g[_]);_++);var v=_?g[_-1]:0,y=g[_],x={left:("right"==c?n.right:n.left)-e.rect.left,right:("left"==c?n.left:n.right)-e.rect.left,top:v,bottom:y};n.left||n.right||(x.bogus=!0);t.options.singleCursorHeightPerLine||(x.rtop=d,x.rbottom=p);return x}(t,e,i,r)).bogus||(e.cache[s]=o)),{left:o.left,right:o.right,top:n?o.rtop:o.top,bottom:n?o.rbottom:o.bottom}}var Ii,Ri={left:0,right:0,top:0,bottom:0};function Mi(t,e,i){for(var r,n,o,s,a,l,c=0;c<t.length;c+=3)if(a=t[c],l=t[c+1],e<a?(n=0,o=1,s="left"):e<l?o=(n=e-a)+1:(c==t.length-3||e==l&&t[c+3]>e)&&(n=(o=l-a)-1,l<=e&&(s="right")),null!=n){if(r=t[c+2],a==l&&i==(r.insertLeft?"left":"right")&&(s=i),"left"==i&&0==n)for(;c&&t[c-2]==t[c-3]&&t[c-1].insertLeft;)r=t[2+(c-=3)],s="left";if("right"==i&&n==l-a)for(;c<t.length-3&&t[c+3]==t[c+4]&&!t[c+5].insertLeft;)r=t[(c+=3)+2],s="right";break}return{node:r,start:n,end:o,collapse:s,coverStart:a,coverEnd:l}}function Di(t,e){var i=Ri;if("left"==e)for(var r=0;r<t.length&&(i=t[r]).left==i.right;r++);else for(var n=t.length-1;0<=n&&(i=t[n]).left==i.right;n--);return i}function Pi(t){if(t.measure&&(t.measure.cache={},t.measure.heights=null,t.rest))for(var e=0;e<t.rest.length;e++)t.measure.caches[e]={}}function Bi(t){t.display.externalMeasure=null,S(t.display.lineMeasure);for(var e=0;e<t.display.view.length;e++)Pi(t.display.view[e])}function Fi(t){Bi(t),t.display.cachedCharWidth=t.display.cachedTextHeight=t.display.cachedPaddingH=null,t.options.lineWrapping||(t.display.maxLineChanged=!0),t.display.lineNumChars=null}function Ui(){return s&&u?-(document.body.getBoundingClientRect().left-parseInt(getComputedStyle(document.body).marginLeft)):window.pageXOffset||(document.documentElement||document.body).scrollLeft}function Hi(){return s&&u?-(document.body.getBoundingClientRect().top-parseInt(getComputedStyle(document.body).marginTop)):window.pageYOffset||(document.documentElement||document.body).scrollTop}function Wi(t){var e=0;if(t.widgets)for(var i=0;i<t.widgets.length;++i)t.widgets[i].above&&(e+=yi(t.widgets[i]));return e}function zi(t,e,i,r,n){if(!n){var o=Wi(e);i.top+=o,i.bottom+=o}if("line"==r)return i;r||(r="local");var s=Yt(e);if("local"==r?s+=Ti(t.display):s-=t.display.viewOffset,"page"==r||"window"==r){var a=t.display.lineSpace.getBoundingClientRect();s+=a.top+("window"==r?0:Hi());var l=a.left+("window"==r?0:Ui());i.left+=l,i.right+=l}return i.top+=s,i.bottom+=s,i}function qi(t,e,i){if("div"==i)return e;var r=e.left,n=e.top;if("page"==i)r-=Ui(),n-=Hi();else if("local"==i||!i){var o=t.display.sizer.getBoundingClientRect();r+=o.left,n+=o.top}var s=t.display.lineSpace.getBoundingClientRect();return{left:r-s.left,top:n-s.top}}function Gi(t,e,i,r,n){return r||(r=lt(t.doc,e.line)),zi(t,r,Ai(t,r,e.ch,n),i)}function ji(r,t,n,o,s,a){function l(t,e){var i=Oi(r,s,t,e?"right":"left",a);return e?i.left=i.right:i.right=i.left,zi(r,o,i,n)}o=o||lt(r.doc,t.line),s||(s=Ni(r,o));var c=Jt(o,r.doc.direction),e=t.ch,i=t.sticky;if(e>=o.text.length?(e=o.text.length,i="before"):e<=0&&(e=0,i="after"),!c)return l("before"==i?e-1:e,"before"==i);function h(t,e,i){return l(i?t-1:t,1==c[e].level!=i)}var u=Xt(c,e,i),f=Qt,d=h(e,u,"before"==i);return null!=f&&(d.other=h(e,f,"before"!=i)),d}function Vi(t,e){var i=0;e=bt(t.doc,e),t.options.lineWrapping||(i=tr(t.display)*e.ch);var r=lt(t.doc,e.line),n=Yt(r)+Ti(t.display);return{left:i,right:i,top:n,bottom:n+r.height}}function Yi(t,e,i,r,n){var o=gt(t,e,i);return o.xRel=n,r&&(o.outside=!0),o}function Ki(t,e,i){var r=t.doc;if((i+=t.display.viewOffset)<0)return Yi(r.first,0,null,!0,-1);var n=dt(r,i),o=r.first+r.size-1;if(o<n)return Yi(r.first+r.size-1,lt(r,o).text.length,null,!0,1);e<0&&(e=0);for(var s=lt(r,n);;){var a=Zi(t,s,n,e,i),l=Ht(s,a.ch+(0<a.xRel?1:0));if(!l)return a;var c=l.find(1);if(c.line==n)return c;s=lt(r,n=c.line)}}function $i(e,t,i,r){r-=Wi(t);var n=t.text.length,o=st(function(t){return Oi(e,i,t-1).bottom<=r},n,0);return{begin:o,end:n=st(function(t){return Oi(e,i,t).top>r},o,n)}}function Qi(t,e,i,r){return i||(i=Ni(t,e)),$i(t,e,i,zi(t,e,Oi(t,i,r),"line").top)}function Xi(t,e,i,r){return!(t.bottom<=i)&&(t.top>i||(r?t.left:t.right)>e)}function Zi(i,t,e,r,n){n-=Yt(t);var o=Ni(i,t),s=Wi(t),a=0,l=t.text.length,c=!0,h=Jt(t,i.doc.direction);if(h){var u=(i.options.lineWrapping?function(t,e,i,r,n,o,s){var a=$i(t,e,r,s),l=a.begin,c=a.end;/\s/.test(e.text.charAt(c-1))&&c--;for(var h=null,u=null,f=0;f<n.length;f++){var d=n[f];if(!(d.from>=c||d.to<=l)){var p=1!=d.level,m=Oi(t,r,p?Math.min(c,d.to)-1:Math.max(l,d.from)).right,g=m<o?o-m+1e9:m-o;(!h||g<u)&&(h=d,u=g)}}h||(h=n[n.length-1]);h.from<l&&(h={from:l,to:h.to,level:h.level});h.to>c&&(h={from:h.from,to:c,level:h.level});return h}:function(r,n,o,s,a,l,c){var t=st(function(t){var e=a[t],i=1!=e.level;return Xi(ji(r,gt(o,i?e.to:e.from,i?"before":"after"),"line",n,s),l,c,!0)},0,a.length-1),e=a[t];if(0<t){var i=1!=e.level,h=ji(r,gt(o,i?e.from:e.to,i?"after":"before"),"line",n,s);Xi(h,l,c,!0)&&h.top>c&&(e=a[t-1])}return e})(i,t,e,o,h,r,n);a=(c=1!=u.level)?u.from:u.to-1,l=c?u.to:u.from-1}var f,d,p=null,m=null,g=st(function(t){var e=Oi(i,o,t);return e.top+=s,e.bottom+=s,!!Xi(e,r,n,!1)&&(e.top<=n&&e.left<=r&&(p=t,m=e),!0)},a,l),_=!1;if(m){var v=r-m.left<m.right-r,y=v==c;g=p+(y?0:1),d=y?"after":"before",f=v?m.left:m.right}else{c||g!=l&&g!=a||g++,d=0==g?"after":g==t.text.length?"before":Oi(i,o,g-(c?1:0)).bottom+s<=n==c?"after":"before";var x=ji(i,gt(e,g,d),"line",t,o);f=x.left,_=n<x.top||n>=x.bottom}return Yi(e,g=ot(t.text,g,1),d,_,r-f)}function Ji(t){if(null!=t.cachedTextHeight)return t.cachedTextHeight;if(null==Ii){Ii=N("pre");for(var e=0;e<49;++e)Ii.appendChild(document.createTextNode("x")),Ii.appendChild(N("br"));Ii.appendChild(document.createTextNode("x"))}A(t.measure,Ii);var i=Ii.offsetHeight/50;return 3<i&&(t.cachedTextHeight=i),S(t.measure),i||1}function tr(t){if(null!=t.cachedCharWidth)return t.cachedCharWidth;var e=N("span","xxxxxxxxxx"),i=N("pre",[e]);A(t.measure,i);var r=e.getBoundingClientRect(),n=(r.right-r.left)/10;return 2<n&&(t.cachedCharWidth=n),n||10}function er(t){for(var e=t.display,i={},r={},n=e.gutters.clientLeft,o=e.gutters.firstChild,s=0;o;o=o.nextSibling,++s)i[t.options.gutters[s]]=o.offsetLeft+o.clientLeft+n,r[t.options.gutters[s]]=o.clientWidth;return{fixedPos:ir(e),gutterTotalWidth:e.gutters.offsetWidth,gutterLeft:i,gutterWidth:r,wrapperWidth:e.wrapper.clientWidth}}function ir(t){return t.scroller.getBoundingClientRect().left-t.sizer.getBoundingClientRect().left}function rr(r){var n=Ji(r.display),o=r.options.lineWrapping,s=o&&Math.max(5,r.display.scroller.clientWidth/tr(r.display)-3);return function(t){if(jt(r.doc,t))return 0;var e=0;if(t.widgets)for(var i=0;i<t.widgets.length;i++)t.widgets[i].height&&(e+=t.widgets[i].height);return o?e+(Math.ceil(t.text.length/s)||1)*n:e+n}}function nr(t){var e=t.doc,i=rr(t);e.iter(function(t){var e=i(t);e!=t.height&&ut(t,e)})}function or(t,e,i,r){var n=t.display;if(!i&&"true"==de(e).getAttribute("cm-not-content"))return null;var o,s,a=n.lineSpace.getBoundingClientRect();try{o=e.clientX-a.left,s=e.clientY-a.top}catch(e){return null}var l,c=Ki(t,o,s);if(r&&1==c.xRel&&(l=lt(t.doc,c.line).text).length==c.ch){var h=F(l,l.length,t.options.tabSize)-l.length;c=gt(c.line,Math.max(0,Math.round((o-bi(t.display).left)/tr(t.display))-h))}return c}function sr(t,e){if(e>=t.display.viewTo)return null;if((e-=t.display.viewFrom)<0)return null;for(var i=t.display.view,r=0;r<i.length;r++)if((e-=i[r].size)<0)return r}function ar(t){t.display.input.showSelection(t.display.input.prepareSelection())}function lr(t,e){void 0===e&&(e=!0);for(var i=t.doc,r={},n=r.cursors=document.createDocumentFragment(),o=r.selection=document.createDocumentFragment(),s=0;s<i.sel.ranges.length;s++)if(e||s!=i.sel.primIndex){var a=i.sel.ranges[s];if(!(a.from().line>=t.display.viewTo||a.to().line<t.display.viewFrom)){var l=a.empty();(l||t.options.showCursorWhenSelecting)&&cr(t,a.head,n),l||ur(t,a,o)}}return r}function cr(t,e,i){var r=ji(t,e,"div",null,null,!t.options.singleCursorHeightPerLine),n=i.appendChild(N("div"," ","CodeMirror-cursor"));if(n.style.left=r.left+"px",n.style.top=r.top+"px",n.style.height=Math.max(0,r.bottom-r.top)*t.options.cursorHeight+"px",r.other){var o=i.appendChild(N("div"," ","CodeMirror-cursor CodeMirror-secondarycursor"));o.style.display="",o.style.left=r.other.left+"px",o.style.top=r.other.top+"px",o.style.height=.85*(r.other.bottom-r.other.top)+"px"}}function hr(t,e){return t.top-e.top||t.left-e.left}function ur(s,t,e){var i=s.display,r=s.doc,n=document.createDocumentFragment(),o=bi(s.display),C=o.left,S=Math.max(i.sizerWidth,Ei(s)-i.sizer.offsetLeft)-o.right,A="ltr"==r.direction;function L(t,e,i,r){e<0&&(e=0),e=Math.round(e),r=Math.round(r),n.appendChild(N("div",null,"CodeMirror-selected","position: absolute; left: "+t+"px;\n top: "+e+"px; width: "+(null==i?S-t:i)+"px;\n height: "+(r-e)+"px"))}function a(i,v,y){var x,T,o=lt(r,i),k=o.text.length;function b(t,e){return Gi(s,gt(i,t),"div",o,e)}function w(t,e,i){var r=Qi(s,o,null,t),n="ltr"==e==("after"==i)?"left":"right";return b("after"==i?r.begin:r.end-(/\s/.test(o.text.charAt(r.end-1))?2:1),n)[n]}var E=Jt(o,r.direction);return function(t,e,i,r){if(!t)return r(e,i,"ltr",0);for(var n=!1,o=0;o<t.length;++o){var s=t[o];(s.from<i&&s.to>e||e==i&&s.to==e)&&(r(Math.max(s.from,e),Math.min(s.to,i),1==s.level?"rtl":"ltr",o),n=!0)}n||r(e,i,"ltr")}(E,v||0,null==y?k:y,function(t,e,i,r){var n="ltr"==i,o=b(t,n?"left":"right"),s=b(e-1,n?"right":"left"),a=null==v&&0==t,l=null==y&&e==k,c=0==r,h=!E||r==E.length-1;if(s.top-o.top<=3){var u=(A?l:a)&&h,f=(A?a:l)&&c?C:(n?o:s).left,d=u?S:(n?s:o).right;L(f,o.top,d-f,o.bottom)}else{var p,m,g,_;_=n?(p=A&&a&&c?C:o.left,m=A?S:w(t,i,"before"),g=A?C:w(e,i,"after"),A&&l&&h?S:s.right):(p=A?w(t,i,"before"):C,m=!A&&a&&c?S:o.right,g=!A&&l&&h?C:s.left,A?w(e,i,"after"):S),L(p,o.top,m-p,o.bottom),o.bottom<s.top&&L(C,o.bottom,null,s.top),L(g,s.top,_-g,s.bottom)}(!x||hr(o,x)<0)&&(x=o),hr(s,x)<0&&(x=s),(!T||hr(o,T)<0)&&(T=o),hr(s,T)<0&&(T=s)}),{start:x,end:T}}var l=t.from(),c=t.to();if(l.line==c.line)a(l.line,l.ch,c.ch);else{var h=lt(r,l.line),u=lt(r,c.line),f=zt(h)==zt(u),d=a(l.line,l.ch,f?h.text.length+1:null).end,p=a(c.line,f?0:null,c.ch).start;f&&(d.top<p.top-2?(L(d.right,d.top,null,d.bottom),L(C,p.top,p.left,p.bottom)):L(d.right,d.top,p.left-d.right,d.bottom)),d.bottom<p.top&&L(C,d.bottom,null,p.top)}e.appendChild(n)}function fr(t){if(t.state.focused){var e=t.display;clearInterval(e.blinker);var i=!0;e.cursorDiv.style.visibility="",0<t.options.cursorBlinkRate?e.blinker=setInterval(function(){return e.cursorDiv.style.visibility=(i=!i)?"":"hidden"},t.options.cursorBlinkRate):t.options.cursorBlinkRate<0&&(e.cursorDiv.style.visibility="hidden")}}function dr(t){t.state.focused||(t.display.input.focus(),mr(t))}function pr(t){t.state.delayingBlurEvent=!0,setTimeout(function(){t.state.delayingBlurEvent&&(t.state.delayingBlurEvent=!1,gr(t))},100)}function mr(t,e){t.state.delayingBlurEvent&&(t.state.delayingBlurEvent=!1),"nocursor"!=t.options.readOnly&&(t.state.focused||(ne(t,"focus",t,e),t.state.focused=!0,R(t.display.wrapper,"CodeMirror-focused"),t.curOp||t.display.selForContextMenu==t.doc.sel||(t.display.input.reset(),y&&setTimeout(function(){return t.display.input.reset(!0)},20)),t.display.input.receivedFocus()),fr(t))}function gr(t,e){t.state.delayingBlurEvent||(t.state.focused&&(ne(t,"blur",t,e),t.state.focused=!1,C(t.display.wrapper,"CodeMirror-focused")),clearInterval(t.display.blinker),setTimeout(function(){t.state.focused||(t.display.shift=!1)},150))}function _r(t){for(var e=t.display,i=e.lineDiv.offsetTop,r=0;r<e.view.length;r++){var n=e.view[r],o=t.options.lineWrapping,s=void 0,a=0;if(!n.hidden){if(T&&k<8){var l=n.node.offsetTop+n.node.offsetHeight;s=l-i,i=l}else{var c=n.node.getBoundingClientRect();s=c.bottom-c.top,!o&&n.text.firstChild&&(a=n.text.firstChild.getBoundingClientRect().right-c.left-1)}var h=n.line.height-s;if(s<2&&(s=Ji(e)),(.005<h||h<-.005)&&(ut(n.line,s),vr(n.line),n.rest))for(var u=0;u<n.rest.length;u++)vr(n.rest[u]);if(a>t.display.sizerWidth){var f=Math.ceil(a/tr(t.display));f>t.display.maxLineLength&&(t.display.maxLineLength=f,t.display.maxLine=n.line,t.display.maxLineChanged=!0)}}}}function vr(t){if(t.widgets)for(var e=0;e<t.widgets.length;++e){var i=t.widgets[e],r=i.node.parentNode;r&&(i.height=r.offsetHeight)}}function yr(t,e,i){var r=i&&null!=i.top?Math.max(0,i.top):t.scroller.scrollTop;r=Math.floor(r-Ti(t));var n=i&&null!=i.bottom?i.bottom:r+t.wrapper.clientHeight,o=dt(e,r),s=dt(e,n);if(i&&i.ensure){var a=i.ensure.from.line,l=i.ensure.to.line;a<o?s=dt(e,Yt(lt(e,o=a))+t.wrapper.clientHeight):Math.min(l,e.lastLine())>=s&&(o=dt(e,Yt(lt(e,l))-t.wrapper.clientHeight),s=l)}return{from:o,to:Math.max(s,o+1)}}function xr(t){var e=t.display,i=e.view;if(e.alignWidgets||e.gutters.firstChild&&t.options.fixedGutter){for(var r=ir(e)-e.scroller.scrollLeft+t.doc.scrollLeft,n=e.gutters.offsetWidth,o=r+"px",s=0;s<i.length;s++)if(!i[s].hidden){t.options.fixedGutter&&(i[s].gutter&&(i[s].gutter.style.left=o),i[s].gutterBackground&&(i[s].gutterBackground.style.left=o));var a=i[s].alignable;if(a)for(var l=0;l<a.length;l++)a[l].style.left=o}t.options.fixedGutter&&(e.gutters.style.left=r+n+"px")}}function Tr(t){if(!t.options.lineNumbers)return!1;var e=t.doc,i=mt(t.options,e.first+e.size-1),r=t.display;if(i.length==r.lineNumChars)return!1;var n=r.measure.appendChild(N("div",[N("div",i)],"CodeMirror-linenumber CodeMirror-gutter-elt")),o=n.firstChild.offsetWidth,s=n.offsetWidth-o;return r.lineGutter.style.width="",r.lineNumInnerWidth=Math.max(o,r.lineGutter.offsetWidth-s)+1,r.lineNumWidth=r.lineNumInnerWidth+s,r.lineNumChars=r.lineNumInnerWidth?i.length:-1,r.lineGutter.style.width=r.lineNumWidth+"px",an(t),!0}function kr(t,e){var i=t.display,r=Ji(t.display);e.top<0&&(e.top=0);var n=t.curOp&&null!=t.curOp.scrollTop?t.curOp.scrollTop:i.scroller.scrollTop,o=Ci(t),s={};e.bottom-e.top>o&&(e.bottom=e.top+o);var a=t.doc.height+ki(i),l=e.top<r,c=e.bottom>a-r;if(e.top<n)s.scrollTop=l?0:e.top;else if(e.bottom>n+o){var h=Math.min(e.top,(c?a:e.bottom)-o);h!=n&&(s.scrollTop=h)}var u=t.curOp&&null!=t.curOp.scrollLeft?t.curOp.scrollLeft:i.scroller.scrollLeft,f=Ei(t)-(t.options.fixedGutter?i.gutters.offsetWidth:0),d=e.right-e.left>f;return d&&(e.right=e.left+f),e.left<10?s.scrollLeft=0:e.left<u?s.scrollLeft=Math.max(0,e.left-(d?0:10)):e.right>f+u-3&&(s.scrollLeft=e.right+(d?0:10)-f),s}function br(t,e){null!=e&&(Cr(t),t.curOp.scrollTop=(null==t.curOp.scrollTop?t.doc.scrollTop:t.curOp.scrollTop)+e)}function wr(t){Cr(t);var e=t.getCursor();t.curOp.scrollToPos={from:e,to:e,margin:t.options.cursorScrollMargin}}function Er(t,e,i){null==e&&null==i||Cr(t),null!=e&&(t.curOp.scrollLeft=e),null!=i&&(t.curOp.scrollTop=i)}function Cr(t){var e=t.curOp.scrollToPos;e&&(t.curOp.scrollToPos=null,Sr(t,Vi(t,e.from),Vi(t,e.to),e.margin))}function Sr(t,e,i,r){var n=kr(t,{left:Math.min(e.left,i.left),top:Math.min(e.top,i.top)-r,right:Math.max(e.right,i.right),bottom:Math.max(e.bottom,i.bottom)+r});Er(t,n.scrollLeft,n.scrollTop)}function Ar(t,e){Math.abs(t.doc.scrollTop-e)<2||(m||sn(t,{top:e}),Lr(t,e,!0),m&&sn(t),tn(t,100))}function Lr(t,e,i){e=Math.min(t.display.scroller.scrollHeight-t.display.scroller.clientHeight,e),(t.display.scroller.scrollTop!=e||i)&&(t.doc.scrollTop=e,t.display.scrollbars.setScrollTop(e),t.display.scroller.scrollTop!=e&&(t.display.scroller.scrollTop=e))}function Nr(t,e,i,r){e=Math.min(e,t.display.scroller.scrollWidth-t.display.scroller.clientWidth),(i?e==t.doc.scrollLeft:Math.abs(t.doc.scrollLeft-e)<2)&&!r||(t.doc.scrollLeft=e,xr(t),t.display.scroller.scrollLeft!=e&&(t.display.scroller.scrollLeft=e),t.display.scrollbars.setScrollLeft(e))}function Or(t){var e=t.display,i=e.gutters.offsetWidth,r=Math.round(t.doc.height+ki(t.display));return{clientHeight:e.scroller.clientHeight,viewHeight:e.wrapper.clientHeight,scrollWidth:e.scroller.scrollWidth,clientWidth:e.scroller.clientWidth,viewWidth:e.wrapper.clientWidth,barLeft:t.options.fixedGutter?i:0,docHeight:r,scrollHeight:r+wi(t)+e.barHeight,nativeBarWidth:e.nativeBarWidth,gutterWidth:i}}var Ir=function(t,e,i){this.cm=i;var r=this.vert=N("div",[N("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),n=this.horiz=N("div",[N("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");r.tabIndex=n.tabIndex=-1,t(r),t(n),ee(r,"scroll",function(){r.clientHeight&&e(r.scrollTop,"vertical")}),ee(n,"scroll",function(){n.clientWidth&&e(n.scrollLeft,"horizontal")}),this.checkedZeroWidth=!1,T&&k<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};Ir.prototype.update=function(t){var e=t.scrollWidth>t.clientWidth+1,i=t.scrollHeight>t.clientHeight+1,r=t.nativeBarWidth;if(i){this.vert.style.display="block",this.vert.style.bottom=e?r+"px":"0";var n=t.viewHeight-(e?r:0);this.vert.firstChild.style.height=Math.max(0,t.scrollHeight-t.clientHeight+n)+"px"}else this.vert.style.display="",this.vert.firstChild.style.height="0";if(e){this.horiz.style.display="block",this.horiz.style.right=i?r+"px":"0",this.horiz.style.left=t.barLeft+"px";var o=t.viewWidth-t.barLeft-(i?r:0);this.horiz.firstChild.style.width=Math.max(0,t.scrollWidth-t.clientWidth+o)+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&0<t.clientHeight&&(0==r&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:i?r:0,bottom:e?r:0}},Ir.prototype.setScrollLeft=function(t){this.horiz.scrollLeft!=t&&(this.horiz.scrollLeft=t),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")},Ir.prototype.setScrollTop=function(t){this.vert.scrollTop!=t&&(this.vert.scrollTop=t),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")},Ir.prototype.zeroWidthHack=function(){var t=x&&!a?"12px":"18px";this.horiz.style.height=this.vert.style.width=t,this.horiz.style.pointerEvents=this.vert.style.pointerEvents="none",this.disableHoriz=new U,this.disableVert=new U},Ir.prototype.enableZeroWidthBar=function(i,r,n){i.style.pointerEvents="auto",r.set(1e3,function t(){var e=i.getBoundingClientRect();("vert"==n?document.elementFromPoint(e.right-1,(e.top+e.bottom)/2):document.elementFromPoint((e.right+e.left)/2,e.bottom-1))!=i?i.style.pointerEvents="none":r.set(1e3,t)})},Ir.prototype.clear=function(){var t=this.horiz.parentNode;t.removeChild(this.horiz),t.removeChild(this.vert)};var Rr=function(){};function Mr(t,e){e||(e=Or(t));var i=t.display.barWidth,r=t.display.barHeight;Dr(t,e);for(var n=0;n<4&&i!=t.display.barWidth||r!=t.display.barHeight;n++)i!=t.display.barWidth&&t.options.lineWrapping&&_r(t),Dr(t,Or(t)),i=t.display.barWidth,r=t.display.barHeight}function Dr(t,e){var i=t.display,r=i.scrollbars.update(e);i.sizer.style.paddingRight=(i.barWidth=r.right)+"px",i.sizer.style.paddingBottom=(i.barHeight=r.bottom)+"px",i.heightForcer.style.borderBottom=r.bottom+"px solid transparent",r.right&&r.bottom?(i.scrollbarFiller.style.display="block",i.scrollbarFiller.style.height=r.bottom+"px",i.scrollbarFiller.style.width=r.right+"px"):i.scrollbarFiller.style.display="",r.bottom&&t.options.coverGutterNextToScrollbar&&t.options.fixedGutter?(i.gutterFiller.style.display="block",i.gutterFiller.style.height=r.bottom+"px",i.gutterFiller.style.width=e.gutterWidth+"px"):i.gutterFiller.style.display=""}Rr.prototype.update=function(){return{bottom:0,right:0}},Rr.prototype.setScrollLeft=function(){},Rr.prototype.setScrollTop=function(){},Rr.prototype.clear=function(){};var Pr={native:Ir,null:Rr};function Br(i){i.display.scrollbars&&(i.display.scrollbars.clear(),i.display.scrollbars.addClass&&C(i.display.wrapper,i.display.scrollbars.addClass)),i.display.scrollbars=new Pr[i.options.scrollbarStyle](function(t){i.display.wrapper.insertBefore(t,i.display.scrollbarFiller),ee(t,"mousedown",function(){i.state.focused&&setTimeout(function(){return i.display.input.focus()},0)}),t.setAttribute("cm-not-content","true")},function(t,e){"horizontal"==e?Nr(i,t):Ar(i,t)},i),i.display.scrollbars.addClass&&R(i.display.wrapper,i.display.scrollbars.addClass)}var Fr=0;function Ur(t){var e;t.curOp={cm:t,viewChanged:!1,startHeight:t.doc.height,forceUpdate:!1,updateInput:null,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++Fr},e=t.curOp,oi?oi.ops.push(e):e.ownsGroup=oi={ops:[e],delayedCallbacks:[]}}function Hr(t){var e=t.curOp;e&&function(t,e){var i=t.ownsGroup;if(i)try{!function(t){var e=t.delayedCallbacks,i=0;do{for(;i<e.length;i++)e[i].call(null);for(var r=0;r<t.ops.length;r++){var n=t.ops[r];if(n.cursorActivityHandlers)for(;n.cursorActivityCalled<n.cursorActivityHandlers.length;)n.cursorActivityHandlers[n.cursorActivityCalled++].call(null,n.cm)}}while(i<e.length)}(i)}finally{oi=null,e(i)}}(e,function(t){for(var e=0;e<t.ops.length;e++)t.ops[e].cm.curOp=null;!function(t){for(var e=t.ops,i=0;i<e.length;i++)Wr(e[i]);for(var r=0;r<e.length;r++)(n=e[r]).updatedDisplay=n.mustUpdate&&nn(n.cm,n.update);var n;for(var o=0;o<e.length;o++)zr(e[o]);for(var s=0;s<e.length;s++)qr(e[s]);for(var a=0;a<e.length;a++)Gr(e[a])}(t)})}function Wr(t){var e,i,r=t.cm,n=r.display;!(i=(e=r).display).scrollbarsClipped&&i.scroller.offsetWidth&&(i.nativeBarWidth=i.scroller.offsetWidth-i.scroller.clientWidth,i.heightForcer.style.height=wi(e)+"px",i.sizer.style.marginBottom=-i.nativeBarWidth+"px",i.sizer.style.borderRightWidth=wi(e)+"px",i.scrollbarsClipped=!0),t.updateMaxLine&&$t(r),t.mustUpdate=t.viewChanged||t.forceUpdate||null!=t.scrollTop||t.scrollToPos&&(t.scrollToPos.from.line<n.viewFrom||t.scrollToPos.to.line>=n.viewTo)||n.maxLineChanged&&r.options.lineWrapping,t.update=t.mustUpdate&&new rn(r,t.mustUpdate&&{top:t.scrollTop,ensure:t.scrollToPos},t.forceUpdate)}function zr(t){var e=t.cm,i=e.display;t.updatedDisplay&&_r(e),t.barMeasure=Or(e),i.maxLineChanged&&!e.options.lineWrapping&&(t.adjustWidthTo=Ai(e,i.maxLine,i.maxLine.text.length).left+3,e.display.sizerWidth=t.adjustWidthTo,t.barMeasure.scrollWidth=Math.max(i.scroller.clientWidth,i.sizer.offsetLeft+t.adjustWidthTo+wi(e)+e.display.barWidth),t.maxScrollLeft=Math.max(0,i.sizer.offsetLeft+t.adjustWidthTo-Ei(e))),(t.updatedDisplay||t.selectionChanged)&&(t.preparedSelection=i.input.prepareSelection())}function qr(t){var e=t.cm;null!=t.adjustWidthTo&&(e.display.sizer.style.minWidth=t.adjustWidthTo+"px",t.maxScrollLeft<e.doc.scrollLeft&&Nr(e,Math.min(e.display.scroller.scrollLeft,t.maxScrollLeft),!0),e.display.maxLineChanged=!1);var i=t.focus&&t.focus==I();t.preparedSelection&&e.display.input.showSelection(t.preparedSelection,i),(t.updatedDisplay||t.startHeight!=e.doc.height)&&Mr(e,t.barMeasure),t.updatedDisplay&&ln(e,t.barMeasure),t.selectionChanged&&fr(e),e.state.focused&&t.updateInput&&e.display.input.reset(t.typing),i&&dr(t.cm)}function Gr(t){var e=t.cm,i=e.display,r=e.doc;(t.updatedDisplay&&on(e,t.update),null==i.wheelStartX||null==t.scrollTop&&null==t.scrollLeft&&!t.scrollToPos||(i.wheelStartX=i.wheelStartY=null),null!=t.scrollTop&&Lr(e,t.scrollTop,t.forceScroll),null!=t.scrollLeft&&Nr(e,t.scrollLeft,!0,!0),t.scrollToPos)&&function(t,e){if(!oe(t,"scrollCursorIntoView")){var i=t.display,r=i.sizer.getBoundingClientRect(),n=null;if(e.top+r.top<0?n=!0:e.bottom+r.top>(window.innerHeight||document.documentElement.clientHeight)&&(n=!1),null!=n&&!c){var o=N("div","​",null,"position: absolute;\n top: "+(e.top-i.viewOffset-Ti(t.display))+"px;\n height: "+(e.bottom-e.top+wi(t)+i.barHeight)+"px;\n left: "+e.left+"px; width: "+Math.max(2,e.right-e.left)+"px;");t.display.lineSpace.appendChild(o),o.scrollIntoView(n),t.display.lineSpace.removeChild(o)}}}(e,function(t,e,i,r){var n;null==r&&(r=0),t.options.lineWrapping||e!=i||(i="before"==(e=e.ch?gt(e.line,"before"==e.sticky?e.ch-1:e.ch,"after"):e).sticky?gt(e.line,e.ch+1,"before"):e);for(var o=0;o<5;o++){var s=!1,a=ji(t,e),l=i&&i!=e?ji(t,i):a,c=kr(t,n={left:Math.min(a.left,l.left),top:Math.min(a.top,l.top)-r,right:Math.max(a.left,l.left),bottom:Math.max(a.bottom,l.bottom)+r}),h=t.doc.scrollTop,u=t.doc.scrollLeft;if(null!=c.scrollTop&&(Ar(t,c.scrollTop),1<Math.abs(t.doc.scrollTop-h)&&(s=!0)),null!=c.scrollLeft&&(Nr(t,c.scrollLeft),1<Math.abs(t.doc.scrollLeft-u)&&(s=!0)),!s)break}return n}(e,bt(r,t.scrollToPos.from),bt(r,t.scrollToPos.to),t.scrollToPos.margin));var n=t.maybeHiddenMarkers,o=t.maybeUnhiddenMarkers;if(n)for(var s=0;s<n.length;++s)n[s].lines.length||ne(n[s],"hide");if(o)for(var a=0;a<o.length;++a)o[a].lines.length&&ne(o[a],"unhide");i.wrapper.offsetHeight&&(r.scrollTop=e.display.scroller.scrollTop),t.changeObjs&&ne(e,"changes",e,t.changeObjs),t.update&&t.update.finish()}function jr(t,e){if(t.curOp)return e();Ur(t);try{return e()}finally{Hr(t)}}function Vr(t,e){return function(){if(t.curOp)return e.apply(t,arguments);Ur(t);try{return e.apply(t,arguments)}finally{Hr(t)}}}function Yr(t){return function(){if(this.curOp)return t.apply(this,arguments);Ur(this);try{return t.apply(this,arguments)}finally{Hr(this)}}}function Kr(e){return function(){var t=this.cm;if(!t||t.curOp)return e.apply(this,arguments);Ur(t);try{return e.apply(this,arguments)}finally{Hr(t)}}}function $r(t,e,i,r){null==e&&(e=t.doc.first),null==i&&(i=t.doc.first+t.doc.size),r||(r=0);var n=t.display;if(r&&i<n.viewTo&&(null==n.updateLineNumbers||n.updateLineNumbers>e)&&(n.updateLineNumbers=e),t.curOp.viewChanged=!0,e>=n.viewTo)Ct&&qt(t.doc,e)<n.viewTo&&Xr(t);else if(i<=n.viewFrom)Ct&&Gt(t.doc,i+r)>n.viewFrom?Xr(t):(n.viewFrom+=r,n.viewTo+=r);else if(e<=n.viewFrom&&i>=n.viewTo)Xr(t);else if(e<=n.viewFrom){var o=Zr(t,i,i+r,1);o?(n.view=n.view.slice(o.index),n.viewFrom=o.lineN,n.viewTo+=r):Xr(t)}else if(i>=n.viewTo){var s=Zr(t,e,e,-1);s?(n.view=n.view.slice(0,s.index),n.viewTo=s.lineN):Xr(t)}else{var a=Zr(t,e,e,-1),l=Zr(t,i,i+r,1);a&&l?(n.view=n.view.slice(0,a.index).concat(ni(t,a.lineN,l.lineN)).concat(n.view.slice(l.index)),n.viewTo+=r):Xr(t)}var c=n.externalMeasured;c&&(i<c.lineN?c.lineN+=r:e<c.lineN+c.size&&(n.externalMeasured=null))}function Qr(t,e,i){t.curOp.viewChanged=!0;var r=t.display,n=t.display.externalMeasured;if(n&&e>=n.lineN&&e<n.lineN+n.size&&(r.externalMeasured=null),!(e<r.viewFrom||e>=r.viewTo)){var o=r.view[sr(t,e)];if(null!=o.node){var s=o.changes||(o.changes=[]);-1==H(s,i)&&s.push(i)}}}function Xr(t){t.display.viewFrom=t.display.viewTo=t.doc.first,t.display.view=[],t.display.viewOffset=0}function Zr(t,e,i,r){var n,o=sr(t,e),s=t.display.view;if(!Ct||i==t.doc.first+t.doc.size)return{index:o,lineN:i};for(var a=t.display.viewFrom,l=0;l<o;l++)a+=s[l].size;if(a!=e){if(0<r){if(o==s.length-1)return null;n=a+s[o].size-e,o++}else n=a-e;e+=n,i+=n}for(;qt(t.doc,i)!=i;){if(o==(r<0?0:s.length-1))return null;i+=r*s[o-(r<0?1:0)].size,o+=r}return{index:o,lineN:i}}function Jr(t){for(var e=t.display.view,i=0,r=0;r<e.length;r++){var n=e[r];n.hidden||n.node&&!n.changes||++i}return i}function tn(t,e){t.doc.highlightFrontier<t.display.viewTo&&t.state.highlight.set(e,P(en,t))}function en(l){var c=l.doc;if(!(c.highlightFrontier>=l.display.viewTo)){var h=+new Date+l.options.workTime,u=Ue(l,c.highlightFrontier),f=[];c.iter(u.line,Math.min(c.first+c.size,l.display.viewTo+500),function(t){if(u.line>=l.display.viewFrom){var e=t.styles,i=t.text.length>l.options.maxHighlightLength?Oe(c.mode,u.state):null,r=Be(l,t,u,!0);i&&(u.state=i),t.styles=r.styles;var n=t.styleClasses,o=r.classes;o?t.styleClasses=o:n&&(t.styleClasses=null);for(var s=!e||e.length!=t.styles.length||n!=o&&(!n||!o||n.bgClass!=o.bgClass||n.textClass!=o.textClass),a=0;!s&&a<e.length;++a)s=e[a]!=t.styles[a];s&&f.push(u.line),t.stateAfter=u.save(),u.nextLine()}else t.text.length<=l.options.maxHighlightLength&&He(l,t.text,u),t.stateAfter=u.line%5==0?u.save():null,u.nextLine();if(+new Date>h)return tn(l,l.options.workDelay),!0}),c.highlightFrontier=u.line,c.modeFrontier=Math.max(c.modeFrontier,u.line),f.length&&jr(l,function(){for(var t=0;t<f.length;t++)Qr(l,f[t],"text")})}}var rn=function(t,e,i){var r=t.display;this.viewport=e,this.visible=yr(r,t.doc,e),this.editorIsHidden=!r.wrapper.offsetWidth,this.wrapperHeight=r.wrapper.clientHeight,this.wrapperWidth=r.wrapper.clientWidth,this.oldDisplayWidth=Ei(t),this.force=i,this.dims=er(t),this.events=[]};function nn(t,e){var i=t.display,r=t.doc;if(e.editorIsHidden)return Xr(t),!1;if(!e.force&&e.visible.from>=i.viewFrom&&e.visible.to<=i.viewTo&&(null==i.updateLineNumbers||i.updateLineNumbers>=i.viewTo)&&i.renderedView==i.view&&0==Jr(t))return!1;Tr(t)&&(Xr(t),e.dims=er(t));var n=r.first+r.size,o=Math.max(e.visible.from-t.options.viewportMargin,r.first),s=Math.min(n,e.visible.to+t.options.viewportMargin);i.viewFrom<o&&o-i.viewFrom<20&&(o=Math.max(r.first,i.viewFrom)),i.viewTo>s&&i.viewTo-s<20&&(s=Math.min(n,i.viewTo)),Ct&&(o=qt(t.doc,o),s=Gt(t.doc,s));var a,l,c,h,u=o!=i.viewFrom||s!=i.viewTo||i.lastWrapHeight!=e.wrapperHeight||i.lastWrapWidth!=e.wrapperWidth;l=o,c=s,0==(h=(a=t).display).view.length||l>=h.viewTo||c<=h.viewFrom?(h.view=ni(a,l,c),h.viewFrom=l):(h.viewFrom>l?h.view=ni(a,l,h.viewFrom).concat(h.view):h.viewFrom<l&&(h.view=h.view.slice(sr(a,l))),h.viewFrom=l,h.viewTo<c?h.view=h.view.concat(ni(a,h.viewTo,c)):h.viewTo>c&&(h.view=h.view.slice(0,sr(a,c)))),h.viewTo=c,i.viewOffset=Yt(lt(t.doc,i.viewFrom)),t.display.mover.style.top=i.viewOffset+"px";var f=Jr(t);if(!u&&0==f&&!e.force&&i.renderedView==i.view&&(null==i.updateLineNumbers||i.updateLineNumbers>=i.viewTo))return!1;var d=function(t){if(t.hasFocus())return null;var e=I();if(!e||!O(t.display.lineDiv,e))return null;var i={activeElt:e};if(window.getSelection){var r=window.getSelection();r.anchorNode&&r.extend&&O(t.display.lineDiv,r.anchorNode)&&(i.anchorNode=r.anchorNode,i.anchorOffset=r.anchorOffset,i.focusNode=r.focusNode,i.focusOffset=r.focusOffset)}return i}(t);return 4<f&&(i.lineDiv.style.display="none"),function(i,t,e){var r=i.display,n=i.options.lineNumbers,o=r.lineDiv,s=o.firstChild;function a(t){var e=t.nextSibling;return y&&x&&i.display.currentWheelTarget==t?t.style.display="none":t.parentNode.removeChild(t),e}for(var l=r.view,c=r.viewFrom,h=0;h<l.length;h++){var u=l[h];if(u.hidden);else if(u.node&&u.node.parentNode==o){for(;s!=u.node;)s=a(s);var f=n&&null!=t&&t<=c&&u.lineNumber;u.changes&&(-1<H(u.changes,"gutter")&&(f=!1),ci(i,u,c,e)),f&&(S(u.lineNumber),u.lineNumber.appendChild(document.createTextNode(mt(i.options,c)))),s=u.node.nextSibling}else{var d=(g=c,_=e,void 0,v=ui(p=i,m=u),m.text=m.node=v.pre,v.bgClass&&(m.bgClass=v.bgClass),v.textClass&&(m.textClass=v.textClass),di(p,m),pi(p,m,g,_),gi(p,m,_),m.node);o.insertBefore(d,s)}c+=u.size}var p,m,g,_,v;for(;s;)s=a(s)}(t,i.updateLineNumbers,e.dims),4<f&&(i.lineDiv.style.display=""),i.renderedView=i.view,function(t){if(t&&t.activeElt&&t.activeElt!=I()&&(t.activeElt.focus(),t.anchorNode&&O(document.body,t.anchorNode)&&O(document.body,t.focusNode))){var e=window.getSelection(),i=document.createRange();i.setEnd(t.anchorNode,t.anchorOffset),i.collapse(!1),e.removeAllRanges(),e.addRange(i),e.extend(t.focusNode,t.focusOffset)}}(d),S(i.cursorDiv),S(i.selectionDiv),i.gutters.style.height=i.sizer.style.minHeight=0,u&&(i.lastWrapHeight=e.wrapperHeight,i.lastWrapWidth=e.wrapperWidth,tn(t,400)),!(i.updateLineNumbers=null)}function on(t,e){for(var i=e.viewport,r=!0;(r&&t.options.lineWrapping&&e.oldDisplayWidth!=Ei(t)||(i&&null!=i.top&&(i={top:Math.min(t.doc.height+ki(t.display)-Ci(t),i.top)}),e.visible=yr(t.display,t.doc,i),!(e.visible.from>=t.display.viewFrom&&e.visible.to<=t.display.viewTo)))&&nn(t,e);r=!1){_r(t);var n=Or(t);ar(t),Mr(t,n),ln(t,n),e.force=!1}e.signal(t,"update",t),t.display.viewFrom==t.display.reportedViewFrom&&t.display.viewTo==t.display.reportedViewTo||(e.signal(t,"viewportChange",t,t.display.viewFrom,t.display.viewTo),t.display.reportedViewFrom=t.display.viewFrom,t.display.reportedViewTo=t.display.viewTo)}function sn(t,e){var i=new rn(t,e);if(nn(t,i)){_r(t),on(t,i);var r=Or(t);ar(t),Mr(t,r),ln(t,r),i.finish()}}function an(t){var e=t.display.gutters.offsetWidth;t.display.sizer.style.marginLeft=e+"px"}function ln(t,e){t.display.sizer.style.minHeight=e.docHeight+"px",t.display.heightForcer.style.top=e.docHeight+"px",t.display.gutters.style.height=e.docHeight+t.display.barHeight+wi(t)+"px"}function cn(t){var e=t.display.gutters,i=t.options.gutters;S(e);for(var r=0;r<i.length;++r){var n=i[r],o=e.appendChild(N("div",null,"CodeMirror-gutter "+n));"CodeMirror-linenumbers"==n&&((t.display.lineGutter=o).style.width=(t.display.lineNumWidth||1)+"px")}e.style.display=r?"":"none",an(t)}function hn(t){var e=H(t.gutters,"CodeMirror-linenumbers");-1==e&&t.lineNumbers?t.gutters=t.gutters.concat(["CodeMirror-linenumbers"]):-1<e&&!t.lineNumbers&&(t.gutters=t.gutters.slice(0),t.gutters.splice(e,1))}rn.prototype.signal=function(t,e){ae(t,e)&&this.events.push(arguments)},rn.prototype.finish=function(){for(var t=0;t<this.events.length;t++)ne.apply(null,this.events[t])};var un=0,fn=null;function dn(t){var e=t.wheelDeltaX,i=t.wheelDeltaY;return null==e&&t.detail&&t.axis==t.HORIZONTAL_AXIS&&(e=t.detail),null==i&&t.detail&&t.axis==t.VERTICAL_AXIS?i=t.detail:null==i&&(i=t.wheelDelta),{x:e,y:i}}function pn(t){var e=dn(t);return e.x*=fn,e.y*=fn,e}function mn(t,e){var i=dn(e),r=i.x,n=i.y,o=t.display,s=o.scroller,a=s.scrollWidth>s.clientWidth,l=s.scrollHeight>s.clientHeight;if(r&&a||n&&l){if(n&&x&&y)t:for(var c=e.target,h=o.view;c!=s;c=c.parentNode)for(var u=0;u<h.length;u++)if(h[u].node==c){t.display.currentWheelTarget=c;break t}if(r&&!m&&!g&&null!=fn)return n&&l&&Ar(t,Math.max(0,s.scrollTop+n*fn)),Nr(t,Math.max(0,s.scrollLeft+r*fn)),(!n||n&&l)&&ce(e),void(o.wheelStartX=null);if(n&&null!=fn){var f=n*fn,d=t.doc.scrollTop,p=d+o.wrapper.clientHeight;f<0?d=Math.max(0,d+f-50):p=Math.min(t.doc.height,p+f+50),sn(t,{top:d,bottom:p})}un<20&&(null==o.wheelStartX?(o.wheelStartX=s.scrollLeft,o.wheelStartY=s.scrollTop,o.wheelDX=r,o.wheelDY=n,setTimeout(function(){if(null!=o.wheelStartX){var t=s.scrollLeft-o.wheelStartX,e=s.scrollTop-o.wheelStartY,i=e&&o.wheelDY&&e/o.wheelDY||t&&o.wheelDX&&t/o.wheelDX;o.wheelStartX=o.wheelStartY=null,i&&(fn=(fn*un+i)/(un+1),++un)}},200)):(o.wheelDX+=r,o.wheelDY+=n))}}T?fn=-.53:m?fn=15:s?fn=-.7:l&&(fn=-1/3);var gn=function(t,e){this.ranges=t,this.primIndex=e};gn.prototype.primary=function(){return this.ranges[this.primIndex]},gn.prototype.equals=function(t){if(t==this)return!0;if(t.primIndex!=this.primIndex||t.ranges.length!=this.ranges.length)return!1;for(var e=0;e<this.ranges.length;e++){var i=this.ranges[e],r=t.ranges[e];if(!vt(i.anchor,r.anchor)||!vt(i.head,r.head))return!1}return!0},gn.prototype.deepCopy=function(){for(var t=[],e=0;e<this.ranges.length;e++)t[e]=new _n(yt(this.ranges[e].anchor),yt(this.ranges[e].head));return new gn(t,this.primIndex)},gn.prototype.somethingSelected=function(){for(var t=0;t<this.ranges.length;t++)if(!this.ranges[t].empty())return!0;return!1},gn.prototype.contains=function(t,e){e||(e=t);for(var i=0;i<this.ranges.length;i++){var r=this.ranges[i];if(0<=_t(e,r.from())&&_t(t,r.to())<=0)return i}return-1};var _n=function(t,e){this.anchor=t,this.head=e};function vn(t,e,i){var r=t&&t.options.selectionsMayTouch,n=e[i];e.sort(function(t,e){return _t(t.from(),e.from())}),i=H(e,n);for(var o=1;o<e.length;o++){var s=e[o],a=e[o-1],l=_t(a.to(),s.from());if(r&&!s.empty()?0<l:0<=l){var c=Tt(a.from(),s.from()),h=xt(a.to(),s.to()),u=a.empty()?s.from()==s.head:a.from()==a.head;o<=i&&--i,e.splice(--o,2,new _n(u?h:c,u?c:h))}}return new gn(e,i)}function yn(t,e){return new gn([new _n(t,e||t)],0)}function xn(t){return t.text?gt(t.from.line+t.text.length-1,$(t.text).length+(1==t.text.length?t.from.ch:0)):t.to}function Tn(t,e){if(_t(t,e.from)<0)return t;if(_t(t,e.to)<=0)return xn(e);var i=t.line+e.text.length-(e.to.line-e.from.line)-1,r=t.ch;return t.line==e.to.line&&(r+=xn(e).ch-e.to.ch),gt(i,r)}function kn(t,e){for(var i=[],r=0;r<t.sel.ranges.length;r++){var n=t.sel.ranges[r];i.push(new _n(Tn(n.anchor,e),Tn(n.head,e)))}return vn(t.cm,i,t.sel.primIndex)}function bn(t,e,i){return t.line==e.line?gt(i.line,t.ch-e.ch+i.ch):gt(i.line+(t.line-e.line),t.ch)}function wn(t){t.doc.mode=Ae(t.options,t.doc.modeOption),En(t)}function En(t){t.doc.iter(function(t){t.stateAfter&&(t.stateAfter=null),t.styles&&(t.styles=null)}),t.doc.modeFrontier=t.doc.highlightFrontier=t.doc.first,tn(t,100),t.state.modeGen++,t.curOp&&$r(t)}function Cn(t,e){return 0==e.from.ch&&0==e.to.ch&&""==$(e.text)&&(!t.cm||t.cm.options.wholeLineUpdateBefore)}function Sn(t,r,e,n){function o(t){return e?e[t]:null}function i(t,e,i){!function(t,e,i,r){t.text=e,t.stateAfter&&(t.stateAfter=null),t.styles&&(t.styles=null),null!=t.order&&(t.order=null),It(t),Rt(t,i);var n=r?r(t):1;n!=t.height&&ut(t,n)}(t,e,i,n),ai(t,"change",t,r)}function s(t,e){for(var i=[],r=t;r<e;++r)i.push(new Ye(c[r],o(r),n));return i}var a=r.from,l=r.to,c=r.text,h=lt(t,a.line),u=lt(t,l.line),f=$(c),d=o(c.length-1),p=l.line-a.line;if(r.full)t.insert(0,s(0,c.length)),t.remove(c.length,t.size-c.length);else if(Cn(t,r)){var m=s(0,c.length-1);i(u,u.text,d),p&&t.remove(a.line,p),m.length&&t.insert(a.line,m)}else if(h==u)if(1==c.length)i(h,h.text.slice(0,a.ch)+f+h.text.slice(l.ch),d);else{var g=s(1,c.length-1);g.push(new Ye(f+h.text.slice(l.ch),d,n)),i(h,h.text.slice(0,a.ch)+c[0],o(0)),t.insert(a.line+1,g)}else if(1==c.length)i(h,h.text.slice(0,a.ch)+c[0]+u.text.slice(l.ch),o(0)),t.remove(a.line+1,p);else{i(h,h.text.slice(0,a.ch)+c[0],o(0)),i(u,f+u.text.slice(l.ch),d);var _=s(1,c.length-1);1<p&&t.remove(a.line+1,p-1),t.insert(a.line+1,_)}ai(t,"change",t,r)}function An(t,a,l){!function t(e,i,r){if(e.linked)for(var n=0;n<e.linked.length;++n){var o=e.linked[n];if(o.doc!=i){var s=r&&o.sharedHist;l&&!s||(a(o.doc,s),t(o.doc,e,s))}}}(t,null,!0)}function Ln(t,e){if(e.cm)throw new Error("This document is already in use.");nr((t.doc=e).cm=t),wn(t),Nn(t),t.options.lineWrapping||$t(t),t.options.mode=e.modeOption,$r(t)}function Nn(t){("rtl"==t.doc.direction?R:C)(t.display.lineDiv,"CodeMirror-rtl")}function On(t){this.done=[],this.undone=[],this.undoDepth=1/0,this.lastModTime=this.lastSelTime=0,this.lastOp=this.lastSelOp=null,this.lastOrigin=this.lastSelOrigin=null,this.generation=this.maxGeneration=t||1}function In(t,e){var i={from:yt(e.from),to:xn(e),text:ct(t,e.from,e.to)};return Bn(t,i,e.from.line,e.to.line+1),An(t,function(t){return Bn(t,i,e.from.line,e.to.line+1)},!0),i}function Rn(t){for(;t.length;){if(!$(t).ranges)break;t.pop()}}function Mn(t,e,i,r){var n=t.history;n.undone.length=0;var o,s,a,l=+new Date;if((n.lastOp==r||n.lastOrigin==e.origin&&e.origin&&("+"==e.origin.charAt(0)&&n.lastModTime>l-(t.cm?t.cm.options.historyEventDelay:500)||"*"==e.origin.charAt(0)))&&(o=(a=n).lastOp==r?(Rn(a.done),$(a.done)):a.done.length&&!$(a.done).ranges?$(a.done):1<a.done.length&&!a.done[a.done.length-2].ranges?(a.done.pop(),$(a.done)):void 0))s=$(o.changes),0==_t(e.from,e.to)&&0==_t(e.from,s.to)?s.to=xn(e):o.changes.push(In(t,e));else{var c=$(n.done);for(c&&c.ranges||Pn(t.sel,n.done),o={changes:[In(t,e)],generation:n.generation},n.done.push(o);n.done.length>n.undoDepth;)n.done.shift(),n.done[0].ranges||n.done.shift()}n.done.push(i),n.generation=++n.maxGeneration,n.lastModTime=n.lastSelTime=l,n.lastOp=n.lastSelOp=r,n.lastOrigin=n.lastSelOrigin=e.origin,s||ne(t,"historyAdded")}function Dn(t,e,i,r){var n,o,s,a,l,c=t.history,h=r&&r.origin;i==c.lastSelOp||h&&c.lastSelOrigin==h&&(c.lastModTime==c.lastSelTime&&c.lastOrigin==h||(n=t,o=h,s=$(c.done),a=e,"*"==(l=o.charAt(0))||"+"==l&&s.ranges.length==a.ranges.length&&s.somethingSelected()==a.somethingSelected()&&new Date-n.history.lastSelTime<=(n.cm?n.cm.options.historyEventDelay:500)))?c.done[c.done.length-1]=e:Pn(e,c.done),c.lastSelTime=+new Date,c.lastSelOrigin=h,c.lastSelOp=i,r&&!1!==r.clearRedo&&Rn(c.undone)}function Pn(t,e){var i=$(e);i&&i.ranges&&i.equals(t)||e.push(t)}function Bn(e,i,t,r){var n=i["spans_"+e.id],o=0;e.iter(Math.max(e.first,t),Math.min(e.first+e.size,r),function(t){t.markedSpans&&((n||(n=i["spans_"+e.id]={}))[o]=t.markedSpans),++o})}function Fn(t){if(!t)return null;for(var e,i=0;i<t.length;++i)t[i].marker.explicitlyCleared?e||(e=t.slice(0,i)):e&&e.push(t[i]);return e?e.length?e:null:t}function Un(t,e){var i=function(t,e){var i=e["spans_"+t.id];if(!i)return null;for(var r=[],n=0;n<e.text.length;++n)r.push(Fn(i[n]));return r}(t,e),r=Nt(t,e);if(!i)return r;if(!r)return i;for(var n=0;n<i.length;++n){var o=i[n],s=r[n];if(o&&s)t:for(var a=0;a<s.length;++a){for(var l=s[a],c=0;c<o.length;++c)if(o[c].marker==l.marker)continue t;o.push(l)}else s&&(i[n]=s)}return i}function Hn(t,e,i){for(var r=[],n=0;n<t.length;++n){var o=t[n];if(o.ranges)r.push(i?gn.prototype.deepCopy.call(o):o);else{var s=o.changes,a=[];r.push({changes:a});for(var l=0;l<s.length;++l){var c=s[l],h=void 0;if(a.push({from:c.from,to:c.to,text:c.text}),e)for(var u in c)(h=u.match(/^spans_(\d+)$/))&&-1<H(e,Number(h[1]))&&($(a)[u]=c[u],delete c[u])}}}return r}function Wn(t,e,i,r){if(r){var n=t.anchor;if(i){var o=_t(e,n)<0;o!=_t(i,n)<0?(n=e,e=i):o!=_t(e,i)<0&&(e=i)}return new _n(n,e)}return new _n(i||e,e)}function zn(t,e,i,r,n){null==n&&(n=t.cm&&(t.cm.display.shift||t.extend)),Yn(t,new gn([Wn(t.sel.primary(),e,i,n)],0),r)}function qn(t,e,i){for(var r=[],n=t.cm&&(t.cm.display.shift||t.extend),o=0;o<t.sel.ranges.length;o++)r[o]=Wn(t.sel.ranges[o],e[o],null,n);Yn(t,vn(t.cm,r,t.sel.primIndex),i)}function Gn(t,e,i,r){var n=t.sel.ranges.slice(0);n[e]=i,Yn(t,vn(t.cm,n,t.sel.primIndex),r)}function jn(t,e,i,r){Yn(t,yn(e,i),r)}function Vn(t,e,i){var r=t.history.done,n=$(r);n&&n.ranges?Kn(t,r[r.length-1]=e,i):Yn(t,e,i)}function Yn(t,e,i){Kn(t,e,i),Dn(t,t.sel,t.cm?t.cm.curOp.id:NaN,i)}function Kn(t,e,i){var r,n,o,s;(ae(t,"beforeSelectionChange")||t.cm&&ae(t.cm,"beforeSelectionChange"))&&(r=t,o=i,s={ranges:(n=e).ranges,update:function(t){this.ranges=[];for(var e=0;e<t.length;e++)this.ranges[e]=new _n(bt(r,t[e].anchor),bt(r,t[e].head))},origin:o&&o.origin},ne(r,"beforeSelectionChange",r,s),r.cm&&ne(r.cm,"beforeSelectionChange",r.cm,s),e=s.ranges!=n.ranges?vn(r.cm,s.ranges,s.ranges.length-1):n),$n(t,Xn(t,e,i&&i.bias||(_t(e.primary().head,t.sel.primary().head)<0?-1:1),!0)),i&&!1===i.scroll||!t.cm||wr(t.cm)}function $n(t,e){e.equals(t.sel)||(t.sel=e,t.cm&&(t.cm.curOp.updateInput=t.cm.curOp.selectionChanged=!0,se(t.cm)),ai(t,"cursorActivity",t))}function Qn(t){$n(t,Xn(t,t.sel,null,!1))}function Xn(t,e,i,r){for(var n,o=0;o<e.ranges.length;o++){var s=e.ranges[o],a=e.ranges.length==t.sel.ranges.length&&t.sel.ranges[o],l=Jn(t,s.anchor,a&&a.anchor,i,r),c=Jn(t,s.head,a&&a.head,i,r);(n||l!=s.anchor||c!=s.head)&&(n||(n=e.ranges.slice(0,o)),n[o]=new _n(l,c))}return n?vn(t.cm,n,e.primIndex):e}function Zn(t,e,i,r,n){var o=lt(t,e.line);if(o.markedSpans)for(var s=0;s<o.markedSpans.length;++s){var a=o.markedSpans[s],l=a.marker;if((null==a.from||(l.inclusiveLeft?a.from<=e.ch:a.from<e.ch))&&(null==a.to||(l.inclusiveRight?a.to>=e.ch:a.to>e.ch))){if(n&&(ne(l,"beforeCursorEnter"),l.explicitlyCleared)){if(o.markedSpans){--s;continue}break}if(!l.atomic)continue;if(i){var c=l.find(r<0?1:-1),h=void 0;if((r<0?l.inclusiveRight:l.inclusiveLeft)&&(c=to(t,c,-r,c&&c.line==e.line?o:null)),c&&c.line==e.line&&(h=_t(c,i))&&(r<0?h<0:0<h))return Zn(t,c,e,r,n)}var u=l.find(r<0?-1:1);return(r<0?l.inclusiveLeft:l.inclusiveRight)&&(u=to(t,u,r,u.line==e.line?o:null)),u?Zn(t,u,e,r,n):null}}return e}function Jn(t,e,i,r,n){var o=r||1,s=Zn(t,e,i,o,n)||!n&&Zn(t,e,i,o,!0)||Zn(t,e,i,-o,n)||!n&&Zn(t,e,i,-o,!0);return s||(t.cantEdit=!0,gt(t.first,0))}function to(t,e,i,r){return i<0&&0==e.ch?e.line>t.first?bt(t,gt(e.line-1)):null:0<i&&e.ch==(r||lt(t,e.line)).text.length?e.line<t.first+t.size-1?gt(e.line+1,0):null:new gt(e.line,e.ch+i)}function eo(t){t.setSelection(gt(t.firstLine(),0),gt(t.lastLine()),q)}function io(n,t,e){var o={canceled:!1,from:t.from,to:t.to,text:t.text,origin:t.origin,cancel:function(){return o.canceled=!0}};return e&&(o.update=function(t,e,i,r){t&&(o.from=bt(n,t)),e&&(o.to=bt(n,e)),i&&(o.text=i),void 0!==r&&(o.origin=r)}),ne(n,"beforeChange",n,o),n.cm&&ne(n.cm,"beforeChange",n.cm,o),o.canceled?null:{from:o.from,to:o.to,text:o.text,origin:o.origin}}function ro(t,e,i){if(t.cm){if(!t.cm.curOp)return Vr(t.cm,ro)(t,e,i);if(t.cm.state.suppressEdits)return}if(!(ae(t,"beforeChange")||t.cm&&ae(t.cm,"beforeChange"))||(e=io(t,e,!0))){var r=Et&&!i&&function(t,e,i){var r=null;if(t.iter(e.line,i.line+1,function(t){if(t.markedSpans)for(var e=0;e<t.markedSpans.length;++e){var i=t.markedSpans[e].marker;!i.readOnly||r&&-1!=H(r,i)||(r||(r=[])).push(i)}}),!r)return null;for(var n=[{from:e,to:i}],o=0;o<r.length;++o)for(var s=r[o],a=s.find(0),l=0;l<n.length;++l){var c=n[l];if(!(_t(c.to,a.from)<0||0<_t(c.from,a.to))){var h=[l,1],u=_t(c.from,a.from),f=_t(c.to,a.to);(u<0||!s.inclusiveLeft&&!u)&&h.push({from:c.from,to:a.from}),(0<f||!s.inclusiveRight&&!f)&&h.push({from:a.to,to:c.to}),n.splice.apply(n,h),l+=h.length-3}}return n}(t,e.from,e.to);if(r)for(var n=r.length-1;0<=n;--n)no(t,{from:r[n].from,to:r[n].to,text:n?[""]:e.text,origin:e.origin});else no(t,e)}}function no(t,i){if(1!=i.text.length||""!=i.text[0]||0!=_t(i.from,i.to)){var e=kn(t,i);Mn(t,i,e,t.cm?t.cm.curOp.id:NaN),ao(t,i,e,Nt(t,i));var r=[];An(t,function(t,e){e||-1!=H(r,t.history)||(uo(t.history,i),r.push(t.history)),ao(t,i,null,Nt(t,i))})}}function oo(n,o,t){var e=n.cm&&n.cm.state.suppressEdits;if(!e||t){for(var s,i=n.history,r=n.sel,a="undo"==o?i.done:i.undone,l="undo"==o?i.undone:i.done,c=0;c<a.length&&(s=a[c],t?!s.ranges||s.equals(n.sel):s.ranges);c++);if(c!=a.length){for(i.lastOrigin=i.lastSelOrigin=null;;){if(!(s=a.pop()).ranges){if(e)return void a.push(s);break}if(Pn(s,l),t&&!s.equals(n.sel))return void Yn(n,s,{clearRedo:!1});r=s}var h=[];Pn(r,l),l.push({changes:h,generation:i.generation}),i.generation=s.generation||++i.maxGeneration;for(var u=ae(n,"beforeChange")||n.cm&&ae(n.cm,"beforeChange"),f=function(t){var i=s.changes[t];if(i.origin=o,u&&!io(n,i,!1))return a.length=0,{};h.push(In(n,i));var e=t?kn(n,i):$(a);ao(n,i,e,Un(n,i)),!t&&n.cm&&n.cm.scrollIntoView({from:i.from,to:xn(i)});var r=[];An(n,function(t,e){e||-1!=H(r,t.history)||(uo(t.history,i),r.push(t.history)),ao(t,i,null,Un(t,i))})},d=s.changes.length-1;0<=d;--d){var p=f(d);if(p)return p.v}}}}function so(t,e){if(0!=e&&(t.first+=e,t.sel=new gn(Q(t.sel.ranges,function(t){return new _n(gt(t.anchor.line+e,t.anchor.ch),gt(t.head.line+e,t.head.ch))}),t.sel.primIndex),t.cm)){$r(t.cm,t.first,t.first-e,e);for(var i=t.cm.display,r=i.viewFrom;r<i.viewTo;r++)Qr(t.cm,r,"gutter")}}function ao(t,e,i,r){if(t.cm&&!t.cm.curOp)return Vr(t.cm,ao)(t,e,i,r);if(e.to.line<t.first)so(t,e.text.length-1-(e.to.line-e.from.line));else if(!(e.from.line>t.lastLine())){if(e.from.line<t.first){var n=e.text.length-1-(t.first-e.from.line);so(t,n),e={from:gt(t.first,0),to:gt(e.to.line+n,e.to.ch),text:[$(e.text)],origin:e.origin}}var o=t.lastLine();e.to.line>o&&(e={from:e.from,to:gt(o,lt(t,o).text.length),text:[e.text[0]],origin:e.origin}),e.removed=ct(t,e.from,e.to),i||(i=kn(t,e)),t.cm?function(t,e,i){var r=t.doc,n=t.display,o=e.from,s=e.to,a=!1,l=o.line;t.options.lineWrapping||(l=ft(zt(lt(r,o.line))),r.iter(l,s.line+1,function(t){if(t==n.maxLine)return a=!0}));-1<r.sel.contains(e.from,e.to)&&se(t);Sn(r,e,i,rr(t)),t.options.lineWrapping||(r.iter(l,o.line+e.text.length,function(t){var e=Kt(t);e>n.maxLineLength&&(n.maxLine=t,n.maxLineLength=e,n.maxLineChanged=!0,a=!1)}),a&&(t.curOp.updateMaxLine=!0));(function(t,e){if(t.modeFrontier=Math.min(t.modeFrontier,e),!(t.highlightFrontier<e-10)){for(var i=t.first,r=e-1;i<r;r--){var n=lt(t,r).stateAfter;if(n&&(!(n instanceof De)||r+n.lookAhead<e)){i=r+1;break}}t.highlightFrontier=Math.min(t.highlightFrontier,i)}})(r,o.line),tn(t,400);var c=e.text.length-(s.line-o.line)-1;e.full?$r(t):o.line!=s.line||1!=e.text.length||Cn(t.doc,e)?$r(t,o.line,s.line+1,c):Qr(t,o.line,"text");var h=ae(t,"changes"),u=ae(t,"change");if(u||h){var f={from:o,to:s,text:e.text,removed:e.removed,origin:e.origin};u&&ai(t,"change",t,f),h&&(t.curOp.changeObjs||(t.curOp.changeObjs=[])).push(f)}t.display.selForContextMenu=null}(t.cm,e,r):Sn(t,e,r),Kn(t,i,q)}}function lo(t,e,i,r,n){var o;r||(r=i),_t(r,i)<0&&(i=(o=[r,i])[0],r=o[1]),"string"==typeof e&&(e=t.splitLines(e)),ro(t,{from:i,to:r,text:e,origin:n})}function co(t,e,i,r){i<t.line?t.line+=r:e<t.line&&(t.line=e,t.ch=0)}function ho(t,e,i,r){for(var n=0;n<t.length;++n){var o=t[n],s=!0;if(o.ranges){o.copied||((o=t[n]=o.deepCopy()).copied=!0);for(var a=0;a<o.ranges.length;a++)co(o.ranges[a].anchor,e,i,r),co(o.ranges[a].head,e,i,r)}else{for(var l=0;l<o.changes.length;++l){var c=o.changes[l];if(i<c.from.line)c.from=gt(c.from.line+r,c.from.ch),c.to=gt(c.to.line+r,c.to.ch);else if(e<=c.to.line){s=!1;break}}s||(t.splice(0,n+1),n=0)}}}function uo(t,e){var i=e.from.line,r=e.to.line,n=e.text.length-(r-i)-1;ho(t.done,i,r,n),ho(t.undone,i,r,n)}function fo(t,e,i,r){var n=e,o=e;return"number"==typeof e?o=lt(t,kt(t,e)):n=ft(e),null==n?null:(r(o,n)&&t.cm&&Qr(t.cm,n,i),o)}function po(t){this.lines=t,this.parent=null;for(var e=0,i=0;i<t.length;++i)t[i].parent=this,e+=t[i].height;this.height=e}function mo(t){this.children=t;for(var e=0,i=0,r=0;r<t.length;++r){var n=t[r];e+=n.chunkSize(),i+=n.height,n.parent=this}this.size=e,this.height=i,this.parent=null}_n.prototype.from=function(){return Tt(this.anchor,this.head)},_n.prototype.to=function(){return xt(this.anchor,this.head)},_n.prototype.empty=function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch},po.prototype={chunkSize:function(){return this.lines.length},removeInner:function(t,e){for(var i,r=t,n=t+e;r<n;++r){var o=this.lines[r];this.height-=o.height,(i=o).parent=null,It(i),ai(o,"delete")}this.lines.splice(t,e)},collapse:function(t){t.push.apply(t,this.lines)},insertInner:function(t,e,i){this.height+=i,this.lines=this.lines.slice(0,t).concat(e).concat(this.lines.slice(t));for(var r=0;r<e.length;++r)e[r].parent=this},iterN:function(t,e,i){for(var r=t+e;t<r;++t)if(i(this.lines[t]))return!0}},mo.prototype={chunkSize:function(){return this.size},removeInner:function(t,e){this.size-=e;for(var i=0;i<this.children.length;++i){var r=this.children[i],n=r.chunkSize();if(t<n){var o=Math.min(e,n-t),s=r.height;if(r.removeInner(t,o),this.height-=s-r.height,n==o&&(this.children.splice(i--,1),r.parent=null),0==(e-=o))break;t=0}else t-=n}if(this.size-e<25&&(1<this.children.length||!(this.children[0]instanceof po))){var a=[];this.collapse(a),this.children=[new po(a)],this.children[0].parent=this}},collapse:function(t){for(var e=0;e<this.children.length;++e)this.children[e].collapse(t)},insertInner:function(t,e,i){this.size+=e.length,this.height+=i;for(var r=0;r<this.children.length;++r){var n=this.children[r],o=n.chunkSize();if(t<=o){if(n.insertInner(t,e,i),n.lines&&50<n.lines.length){for(var s=n.lines.length%25+25,a=s;a<n.lines.length;){var l=new po(n.lines.slice(a,a+=25));n.height-=l.height,this.children.splice(++r,0,l),l.parent=this}n.lines=n.lines.slice(0,s),this.maybeSpill()}break}t-=o}},maybeSpill:function(){if(!(this.children.length<=10)){var t=this;do{var e=new mo(t.children.splice(t.children.length-5,5));if(t.parent){t.size-=e.size,t.height-=e.height;var i=H(t.parent.children,t);t.parent.children.splice(i+1,0,e)}else{var r=new mo(t.children);(r.parent=t).children=[r,e],t=r}e.parent=t.parent}while(10<t.children.length);t.parent.maybeSpill()}},iterN:function(t,e,i){for(var r=0;r<this.children.length;++r){var n=this.children[r],o=n.chunkSize();if(t<o){var s=Math.min(e,o-t);if(n.iterN(t,s,i))return!0;if(0==(e-=s))break;t=0}else t-=o}}};var go=function(t,e,i){if(i)for(var r in i)i.hasOwnProperty(r)&&(this[r]=i[r]);this.doc=t,this.node=e};function _o(t,e,i){Yt(e)<(t.curOp&&t.curOp.scrollTop||t.doc.scrollTop)&&br(t,i)}go.prototype.clear=function(){var t=this.doc.cm,e=this.line.widgets,i=this.line,r=ft(i);if(null!=r&&e){for(var n=0;n<e.length;++n)e[n]==this&&e.splice(n--,1);e.length||(i.widgets=null);var o=yi(this);ut(i,Math.max(0,i.height-o)),t&&(jr(t,function(){_o(t,i,-o),Qr(t,r,"widget")}),ai(t,"lineWidgetCleared",t,this,r))}},go.prototype.changed=function(){var t=this,e=this.height,i=this.doc.cm,r=this.line;this.height=null;var n=yi(this)-e;n&&(jt(this.doc,r)||ut(r,r.height+n),i&&jr(i,function(){i.curOp.forceUpdate=!0,_o(i,r,n),ai(i,"lineWidgetChanged",i,t,ft(r))}))},le(go);var vo=0,yo=function(t,e){this.lines=[],this.type=e,this.doc=t,this.id=++vo};function xo(e,r,n,t,i){if(t&&t.shared)return function(t,i,r,n,o){(n=B(n)).shared=!1;var s=[xo(t,i,r,n,o)],a=s[0],l=n.widgetNode;return An(t,function(t){l&&(n.widgetNode=l.cloneNode(!0)),s.push(xo(t,bt(t,i),bt(t,r),n,o));for(var e=0;e<t.linked.length;++e)if(t.linked[e].isParent)return;a=$(s)}),new To(s,a)}(e,r,n,t,i);if(e.cm&&!e.cm.curOp)return Vr(e.cm,xo)(e,r,n,t,i);var o=new yo(e,i),s=_t(r,n);if(t&&B(t,o,!1),0<s||0==s&&!1!==o.clearWhenEmpty)return o;if(o.replacedWith&&(o.collapsed=!0,o.widgetNode=L("span",[o.replacedWith],"CodeMirror-widget"),t.handleMouseEvents||o.widgetNode.setAttribute("cm-ignore-events","true"),t.insertLeft&&(o.widgetNode.insertLeft=!0)),o.collapsed){if(Wt(e,r.line,r,n,o)||r.line!=n.line&&Wt(e,n.line,r,n,o))throw new Error("Inserting collapsed marker partially overlapping an existing one");Ct=!0}o.addToHistory&&Mn(e,{from:r,to:n,origin:"markText"},e.sel,NaN);var a,l=r.line,c=e.cm;if(e.iter(l,n.line+1,function(t){var e,i;c&&o.collapsed&&!c.options.lineWrapping&&zt(t)==c.display.maxLine&&(a=!0),o.collapsed&&l!=r.line&&ut(t,0),e=t,i=new St(o,l==r.line?r.ch:null,l==n.line?n.ch:null),e.markedSpans=e.markedSpans?e.markedSpans.concat([i]):[i],i.marker.attachLine(e),++l}),o.collapsed&&e.iter(r.line,n.line+1,function(t){jt(e,t)&&ut(t,0)}),o.clearOnEnter&&ee(o,"beforeCursorEnter",function(){return o.clear()}),o.readOnly&&(Et=!0,(e.history.done.length||e.history.undone.length)&&e.clearHistory()),o.collapsed&&(o.id=++vo,o.atomic=!0),c){if(a&&(c.curOp.updateMaxLine=!0),o.collapsed)$r(c,r.line,n.line+1);else if(o.className||o.startStyle||o.endStyle||o.css||o.attributes||o.title)for(var h=r.line;h<=n.line;h++)Qr(c,h,"text");o.atomic&&Qn(c.doc),ai(c,"markerAdded",c,o)}return o}yo.prototype.clear=function(){var t=this;if(!this.explicitlyCleared){var e=this.doc.cm,i=e&&!e.curOp;if(i&&Ur(e),ae(this,"clear")){var r=this.find();r&&ai(this,"clear",r.from,r.to)}for(var n=null,o=null,s=0;s<this.lines.length;++s){var a=t.lines[s],l=At(a.markedSpans,t);e&&!t.collapsed?Qr(e,ft(a),"text"):e&&(null!=l.to&&(o=ft(a)),null!=l.from&&(n=ft(a))),a.markedSpans=Lt(a.markedSpans,l),null==l.from&&t.collapsed&&!jt(t.doc,a)&&e&&ut(a,Ji(e.display))}if(e&&this.collapsed&&!e.options.lineWrapping)for(var c=0;c<this.lines.length;++c){var h=zt(t.lines[c]),u=Kt(h);u>e.display.maxLineLength&&(e.display.maxLine=h,e.display.maxLineLength=u,e.display.maxLineChanged=!0)}null!=n&&e&&this.collapsed&&$r(e,n,o+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,e&&Qn(e.doc)),e&&ai(e,"markerCleared",e,this,n,o),i&&Hr(e),this.parent&&this.parent.clear()}},yo.prototype.find=function(t,e){var i,r;null==t&&"bookmark"==this.type&&(t=1);for(var n=0;n<this.lines.length;++n){var o=this.lines[n],s=At(o.markedSpans,this);if(null!=s.from&&(i=gt(e?o:ft(o),s.from),-1==t))return i;if(null!=s.to&&(r=gt(e?o:ft(o),s.to),1==t))return r}return i&&{from:i,to:r}},yo.prototype.changed=function(){var o=this,s=this.find(-1,!0),a=this,l=this.doc.cm;s&&l&&jr(l,function(){var t=s.line,e=ft(s.line),i=Li(l,e);if(i&&(Pi(i),l.curOp.selectionChanged=l.curOp.forceUpdate=!0),l.curOp.updateMaxLine=!0,!jt(a.doc,t)&&null!=a.height){var r=a.height;a.height=null;var n=yi(a)-r;n&&ut(t,t.height+n)}ai(l,"markerChanged",l,o)})},yo.prototype.attachLine=function(t){if(!this.lines.length&&this.doc.cm){var e=this.doc.cm.curOp;e.maybeHiddenMarkers&&-1!=H(e.maybeHiddenMarkers,this)||(e.maybeUnhiddenMarkers||(e.maybeUnhiddenMarkers=[])).push(this)}this.lines.push(t)},yo.prototype.detachLine=function(t){if(this.lines.splice(H(this.lines,t),1),!this.lines.length&&this.doc.cm){var e=this.doc.cm.curOp;(e.maybeHiddenMarkers||(e.maybeHiddenMarkers=[])).push(this)}},le(yo);var To=function(t,e){this.markers=t,this.primary=e;for(var i=0;i<t.length;++i)t[i].parent=this};function ko(t){return t.findMarks(gt(t.first,0),t.clipPos(gt(t.lastLine())),function(t){return t.parent})}function bo(o){for(var t=function(t){var e=o[t],i=[e.primary.doc];An(e.primary.doc,function(t){return i.push(t)});for(var r=0;r<e.markers.length;r++){var n=e.markers[r];-1==H(i,n.doc)&&(n.parent=null,e.markers.splice(r--,1))}},e=0;e<o.length;e++)t(e)}To.prototype.clear=function(){if(!this.explicitlyCleared){this.explicitlyCleared=!0;for(var t=0;t<this.markers.length;++t)this.markers[t].clear();ai(this,"clear")}},To.prototype.find=function(t,e){return this.primary.find(t,e)},le(To);var wo=0,Eo=function(t,e,i,r,n){if(!(this instanceof Eo))return new Eo(t,e,i,r,n);null==i&&(i=0),mo.call(this,[new po([new Ye("",null)])]),this.first=i,this.scrollTop=this.scrollLeft=0,this.cantEdit=!1,this.cleanGeneration=1,this.modeFrontier=this.highlightFrontier=i;var o=gt(i,0);this.sel=yn(o),this.history=new On(null),this.id=++wo,this.modeOption=e,this.lineSep=r,this.direction="rtl"==n?"rtl":"ltr",this.extend=!1,"string"==typeof t&&(t=this.splitLines(t)),Sn(this,{from:o,to:o,text:t}),Yn(this,yn(o),q)};Eo.prototype=Z(mo.prototype,{constructor:Eo,iter:function(t,e,i){i?this.iterN(t-this.first,e-t,i):this.iterN(this.first,this.first+this.size,t)},insert:function(t,e){for(var i=0,r=0;r<e.length;++r)i+=e[r].height;this.insertInner(t-this.first,e,i)},remove:function(t,e){this.removeInner(t-this.first,e)},getValue:function(t){var e=ht(this,this.first,this.first+this.size);return!1===t?e:e.join(t||this.lineSeparator())},setValue:Kr(function(t){var e=gt(this.first,0),i=this.first+this.size-1;ro(this,{from:e,to:gt(i,lt(this,i).text.length),text:this.splitLines(t),origin:"setValue",full:!0},!0),this.cm&&Er(this.cm,0,0),Yn(this,yn(e),q)}),replaceRange:function(t,e,i,r){lo(this,t,e=bt(this,e),i=i?bt(this,i):e,r)},getRange:function(t,e,i){var r=ct(this,bt(this,t),bt(this,e));return!1===i?r:r.join(i||this.lineSeparator())},getLine:function(t){var e=this.getLineHandle(t);return e&&e.text},getLineHandle:function(t){if(pt(this,t))return lt(this,t)},getLineNumber:function(t){return ft(t)},getLineHandleVisualStart:function(t){return"number"==typeof t&&(t=lt(this,t)),zt(t)},lineCount:function(){return this.size},firstLine:function(){return this.first},lastLine:function(){return this.first+this.size-1},clipPos:function(t){return bt(this,t)},getCursor:function(t){var e=this.sel.primary();return null==t||"head"==t?e.head:"anchor"==t?e.anchor:"end"==t||"to"==t||!1===t?e.to():e.from()},listSelections:function(){return this.sel.ranges},somethingSelected:function(){return this.sel.somethingSelected()},setCursor:Kr(function(t,e,i){jn(this,bt(this,"number"==typeof t?gt(t,e||0):t),null,i)}),setSelection:Kr(function(t,e,i){jn(this,bt(this,t),bt(this,e||t),i)}),extendSelection:Kr(function(t,e,i){zn(this,bt(this,t),e&&bt(this,e),i)}),extendSelections:Kr(function(t,e){qn(this,wt(this,t),e)}),extendSelectionsBy:Kr(function(t,e){qn(this,wt(this,Q(this.sel.ranges,t)),e)}),setSelections:Kr(function(t,e,i){if(t.length){for(var r=[],n=0;n<t.length;n++)r[n]=new _n(bt(this,t[n].anchor),bt(this,t[n].head));null==e&&(e=Math.min(t.length-1,this.sel.primIndex)),Yn(this,vn(this.cm,r,e),i)}}),addSelection:Kr(function(t,e,i){var r=this.sel.ranges.slice(0);r.push(new _n(bt(this,t),bt(this,e||t))),Yn(this,vn(this.cm,r,r.length-1),i)}),getSelection:function(t){for(var e,i=this.sel.ranges,r=0;r<i.length;r++){var n=ct(this,i[r].from(),i[r].to());e=e?e.concat(n):n}return!1===t?e:e.join(t||this.lineSeparator())},getSelections:function(t){for(var e=[],i=this.sel.ranges,r=0;r<i.length;r++){var n=ct(this,i[r].from(),i[r].to());!1!==t&&(n=n.join(t||this.lineSeparator())),e[r]=n}return e},replaceSelection:function(t,e,i){for(var r=[],n=0;n<this.sel.ranges.length;n++)r[n]=t;this.replaceSelections(r,e,i||"+input")},replaceSelections:Kr(function(t,e,i){for(var r=[],n=this.sel,o=0;o<n.ranges.length;o++){var s=n.ranges[o];r[o]={from:s.from(),to:s.to(),text:this.splitLines(t[o]),origin:i}}for(var a=e&&"end"!=e&&function(t,e,i){for(var r=[],n=gt(t.first,0),o=n,s=0;s<e.length;s++){var a=e[s],l=bn(a.from,n,o),c=bn(xn(a),n,o);if(n=a.to,o=c,"around"==i){var h=t.sel.ranges[s],u=_t(h.head,h.anchor)<0;r[s]=new _n(u?c:l,u?l:c)}else r[s]=new _n(l,l)}return new gn(r,t.sel.primIndex)}(this,r,e),l=r.length-1;0<=l;l--)ro(this,r[l]);a?Vn(this,a):this.cm&&wr(this.cm)}),undo:Kr(function(){oo(this,"undo")}),redo:Kr(function(){oo(this,"redo")}),undoSelection:Kr(function(){oo(this,"undo",!0)}),redoSelection:Kr(function(){oo(this,"redo",!0)}),setExtending:function(t){this.extend=t},getExtending:function(){return this.extend},historySize:function(){for(var t=this.history,e=0,i=0,r=0;r<t.done.length;r++)t.done[r].ranges||++e;for(var n=0;n<t.undone.length;n++)t.undone[n].ranges||++i;return{undo:e,redo:i}},clearHistory:function(){this.history=new On(this.history.maxGeneration)},markClean:function(){this.cleanGeneration=this.changeGeneration(!0)},changeGeneration:function(t){return t&&(this.history.lastOp=this.history.lastSelOp=this.history.lastOrigin=null),this.history.generation},isClean:function(t){return this.history.generation==(t||this.cleanGeneration)},getHistory:function(){return{done:Hn(this.history.done),undone:Hn(this.history.undone)}},setHistory:function(t){var e=this.history=new On(this.history.maxGeneration);e.done=Hn(t.done.slice(0),null,!0),e.undone=Hn(t.undone.slice(0),null,!0)},setGutterMarker:Kr(function(t,i,r){return fo(this,t,"gutter",function(t){var e=t.gutterMarkers||(t.gutterMarkers={});return!(e[i]=r)&&it(e)&&(t.gutterMarkers=null),!0})}),clearGutter:Kr(function(e){var i=this;this.iter(function(t){t.gutterMarkers&&t.gutterMarkers[e]&&fo(i,t,"gutter",function(){return t.gutterMarkers[e]=null,it(t.gutterMarkers)&&(t.gutterMarkers=null),!0})})}),lineInfo:function(t){var e;if("number"==typeof t){if(!pt(this,t))return null;if(!(t=lt(this,e=t)))return null}else if(null==(e=ft(t)))return null;return{line:e,handle:t,text:t.text,gutterMarkers:t.gutterMarkers,textClass:t.textClass,bgClass:t.bgClass,wrapClass:t.wrapClass,widgets:t.widgets}},addLineClass:Kr(function(t,i,r){return fo(this,t,"gutter"==i?"gutter":"class",function(t){var e="text"==i?"textClass":"background"==i?"bgClass":"gutter"==i?"gutterClass":"wrapClass";if(t[e]){if(w(r).test(t[e]))return!1;t[e]+=" "+r}else t[e]=r;return!0})}),removeLineClass:Kr(function(t,o,s){return fo(this,t,"gutter"==o?"gutter":"class",function(t){var e="text"==o?"textClass":"background"==o?"bgClass":"gutter"==o?"gutterClass":"wrapClass",i=t[e];if(!i)return!1;if(null==s)t[e]=null;else{var r=i.match(w(s));if(!r)return!1;var n=r.index+r[0].length;t[e]=i.slice(0,r.index)+(r.index&&n!=i.length?" ":"")+i.slice(n)||null}return!0})}),addLineWidget:Kr(function(t,e,i){return n=t,o=new go(r=this,e,i),(s=r.cm)&&o.noHScroll&&(s.display.alignWidgets=!0),fo(r,n,"widget",function(t){var e=t.widgets||(t.widgets=[]);if(null==o.insertAt?e.push(o):e.splice(Math.min(e.length-1,Math.max(0,o.insertAt)),0,o),o.line=t,s&&!jt(r,t)){var i=Yt(t)<r.scrollTop;ut(t,t.height+yi(o)),i&&br(s,o.height),s.curOp.forceUpdate=!0}return!0}),s&&ai(s,"lineWidgetAdded",s,o,"number"==typeof n?n:ft(n)),o;var r,n,o,s}),removeLineWidget:function(t){t.clear()},markText:function(t,e,i){return xo(this,bt(this,t),bt(this,e),i,i&&i.type||"range")},setBookmark:function(t,e){var i={replacedWith:e&&(null==e.nodeType?e.widget:e),insertLeft:e&&e.insertLeft,clearWhenEmpty:!1,shared:e&&e.shared,handleMouseEvents:e&&e.handleMouseEvents};return xo(this,t=bt(this,t),t,i,"bookmark")},findMarksAt:function(t){var e=[],i=lt(this,(t=bt(this,t)).line).markedSpans;if(i)for(var r=0;r<i.length;++r){var n=i[r];(null==n.from||n.from<=t.ch)&&(null==n.to||n.to>=t.ch)&&e.push(n.marker.parent||n.marker)}return e},findMarks:function(n,o,s){n=bt(this,n),o=bt(this,o);var a=[],l=n.line;return this.iter(n.line,o.line+1,function(t){var e=t.markedSpans;if(e)for(var i=0;i<e.length;i++){var r=e[i];null!=r.to&&l==n.line&&n.ch>=r.to||null==r.from&&l!=n.line||null!=r.from&&l==o.line&&r.from>=o.ch||s&&!s(r.marker)||a.push(r.marker.parent||r.marker)}++l}),a},getAllMarks:function(){var r=[];return this.iter(function(t){var e=t.markedSpans;if(e)for(var i=0;i<e.length;++i)null!=e[i].from&&r.push(e[i].marker)}),r},posFromIndex:function(i){var r,n=this.first,o=this.lineSeparator().length;return this.iter(function(t){var e=t.text.length+o;if(i<e)return r=i,!0;i-=e,++n}),bt(this,gt(n,r))},indexFromPos:function(t){var e=(t=bt(this,t)).ch;if(t.line<this.first||t.ch<0)return 0;var i=this.lineSeparator().length;return this.iter(this.first,t.line,function(t){e+=t.text.length+i}),e},copy:function(t){var e=new Eo(ht(this,this.first,this.first+this.size),this.modeOption,this.first,this.lineSep,this.direction);return e.scrollTop=this.scrollTop,e.scrollLeft=this.scrollLeft,e.sel=this.sel,e.extend=!1,t&&(e.history.undoDepth=this.history.undoDepth,e.setHistory(this.getHistory())),e},linkedDoc:function(t){t||(t={});var e=this.first,i=this.first+this.size;null!=t.from&&t.from>e&&(e=t.from),null!=t.to&&t.to<i&&(i=t.to);var r=new Eo(ht(this,e,i),t.mode||this.modeOption,e,this.lineSep,this.direction);return t.sharedHist&&(r.history=this.history),(this.linked||(this.linked=[])).push({doc:r,sharedHist:t.sharedHist}),r.linked=[{doc:this,isParent:!0,sharedHist:t.sharedHist}],function(t,e){for(var i=0;i<e.length;i++){var r=e[i],n=r.find(),o=t.clipPos(n.from),s=t.clipPos(n.to);if(_t(o,s)){var a=xo(t,o,s,r.primary,r.primary.type);r.markers.push(a),a.parent=r}}}(r,ko(this)),r},unlinkDoc:function(t){if(t instanceof ks&&(t=t.doc),this.linked)for(var e=0;e<this.linked.length;++e){if(this.linked[e].doc==t){this.linked.splice(e,1),t.unlinkDoc(this),bo(ko(this));break}}if(t.history==this.history){var i=[t.id];An(t,function(t){return i.push(t.id)},!0),t.history=new On(null),t.history.done=Hn(this.history.done,i),t.history.undone=Hn(this.history.undone,i)}},iterLinkedDocs:function(t){An(this,t)},getMode:function(){return this.mode},getEditor:function(){return this.cm},splitLines:function(t){return this.lineSep?t.split(this.lineSep):Te(t)},lineSeparator:function(){return this.lineSep||"\n"},setDirection:Kr(function(t){var e;("rtl"!=t&&(t="ltr"),t!=this.direction)&&(this.direction=t,this.iter(function(t){return t.order=null}),this.cm&&jr(e=this.cm,function(){Nn(e),$r(e)}))})}),Eo.prototype.eachLine=Eo.prototype.iter;var Co=0;function So(t){var n=this;if(Ao(n),!oe(n,t)&&!xi(n.display,t)){ce(t),T&&(Co=+new Date);var o=or(n,t,!0),e=t.dataTransfer.files;if(o&&!n.isReadOnly())if(e&&e.length&&window.FileReader&&window.File)for(var s=e.length,a=Array(s),l=0,i=function(t,i){if(!n.options.allowDropFileTypes||-1!=H(n.options.allowDropFileTypes,t.type)){var r=new FileReader;r.onload=Vr(n,function(){var t=r.result;if(/[\x00-\x08\x0e-\x1f]{2}/.test(t)&&(t=""),a[i]=t,++l==s){var e={from:o=bt(n.doc,o),to:o,text:n.doc.splitLines(a.join(n.doc.lineSeparator())),origin:"paste"};ro(n.doc,e),Vn(n.doc,yn(o,xn(e)))}}),r.readAsText(t)}},r=0;r<s;++r)i(e[r],r);else{if(n.state.draggingText&&-1<n.doc.sel.contains(o))return n.state.draggingText(t),void setTimeout(function(){return n.display.input.focus()},20);try{var c=t.dataTransfer.getData("Text");if(c){var h;if(n.state.draggingText&&!n.state.draggingText.copy&&(h=n.listSelections()),Kn(n.doc,yn(o,o)),h)for(var u=0;u<h.length;++u)lo(n.doc,"",h[u].anchor,h[u].head,"drag");n.replaceSelection(c,"around","paste"),n.display.input.focus()}}catch(t){}}}}function Ao(t){t.display.dragCursor&&(t.display.lineSpace.removeChild(t.display.dragCursor),t.display.dragCursor=null)}function Lo(e){if(document.getElementsByClassName){for(var t=document.getElementsByClassName("CodeMirror"),i=[],r=0;r<t.length;r++){var n=t[r].CodeMirror;n&&i.push(n)}i.length&&i[0].operation(function(){for(var t=0;t<i.length;t++)e(i[t])})}}var No=!1;function Oo(){var t;No||(ee(window,"resize",function(){null==t&&(t=setTimeout(function(){t=null,Lo(Io)},100))}),ee(window,"blur",function(){return Lo(gr)}),No=!0)}function Io(t){var e=t.display;e.cachedCharWidth=e.cachedTextHeight=e.cachedPaddingH=null,e.scrollbarsClipped=!1,t.setSize()}for(var Ro={3:"Pause",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"PrintScrn",45:"Insert",46:"Delete",59:";",61:"=",91:"Mod",92:"Mod",93:"Mod",106:"*",107:"=",109:"-",110:".",111:"/",127:"Delete",145:"ScrollLock",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",63232:"Up",63233:"Down",63234:"Left",63235:"Right",63272:"Delete",63273:"Home",63275:"End",63276:"PageUp",63277:"PageDown",63302:"Insert"},Mo=0;Mo<10;Mo++)Ro[Mo+48]=Ro[Mo+96]=String(Mo);for(var Do=65;Do<=90;Do++)Ro[Do]=String.fromCharCode(Do);for(var Po=1;Po<=12;Po++)Ro[Po+111]=Ro[Po+63235]="F"+Po;var Bo={};function Fo(t){var e,i,r,n,o=t.split(/-(?!$)/);t=o[o.length-1];for(var s=0;s<o.length-1;s++){var a=o[s];if(/^(cmd|meta|m)$/i.test(a))n=!0;else if(/^a(lt)?$/i.test(a))e=!0;else if(/^(c|ctrl|control)$/i.test(a))i=!0;else{if(!/^s(hift)?$/i.test(a))throw new Error("Unrecognized modifier name: "+a);r=!0}}return e&&(t="Alt-"+t),i&&(t="Ctrl-"+t),n&&(t="Cmd-"+t),r&&(t="Shift-"+t),t}function Uo(t){var e={};for(var i in t)if(t.hasOwnProperty(i)){var r=t[i];if(/^(name|fallthrough|(de|at)tach)$/.test(i))continue;if("..."==r){delete t[i];continue}for(var n=Q(i.split(" "),Fo),o=0;o<n.length;o++){var s=void 0,a=void 0;s=o==n.length-1?(a=n.join(" "),r):(a=n.slice(0,o+1).join(" "),"...");var l=e[a];if(l){if(l!=s)throw new Error("Inconsistent bindings for "+a)}else e[a]=s}delete t[i]}for(var c in e)t[c]=e[c];return t}function Ho(t,e,i,r){var n=(e=Go(e)).call?e.call(t,r):e[t];if(!1===n)return"nothing";if("..."===n)return"multi";if(null!=n&&i(n))return"handled";if(e.fallthrough){if("[object Array]"!=Object.prototype.toString.call(e.fallthrough))return Ho(t,e.fallthrough,i,r);for(var o=0;o<e.fallthrough.length;o++){var s=Ho(t,e.fallthrough[o],i,r);if(s)return s}}}function Wo(t){var e="string"==typeof t?t:Ro[t.keyCode];return"Ctrl"==e||"Alt"==e||"Shift"==e||"Mod"==e}function zo(t,e,i){var r=t;return e.altKey&&"Alt"!=r&&(t="Alt-"+t),(v?e.metaKey:e.ctrlKey)&&"Ctrl"!=r&&(t="Ctrl-"+t),(v?e.ctrlKey:e.metaKey)&&"Cmd"!=r&&(t="Cmd-"+t),!i&&e.shiftKey&&"Shift"!=r&&(t="Shift-"+t),t}function qo(t,e){if(g&&34==t.keyCode&&t.char)return!1;var i=Ro[t.keyCode];return null!=i&&!t.altGraphKey&&(3==t.keyCode&&t.code&&(i=t.code),zo(i,t,e))}function Go(t){return"string"==typeof t?Bo[t]:t}function jo(e,t){for(var i=e.doc.sel.ranges,r=[],n=0;n<i.length;n++){for(var o=t(i[n]);r.length&&_t(o.from,$(r).to)<=0;){var s=r.pop();if(_t(s.from,o.from)<0){o.from=s.from;break}}r.push(o)}jr(e,function(){for(var t=r.length-1;0<=t;t--)lo(e.doc,"",r[t].from,r[t].to,"+delete");wr(e)})}function Vo(t,e,i){var r=ot(t.text,e+i,i);return r<0||r>t.text.length?null:r}function Yo(t,e,i){var r=Vo(t,e.ch,i);return null==r?null:new gt(e.line,r,i<0?"after":"before")}function Ko(t,e,i,r,n){if(t){var o=Jt(i,e.doc.direction);if(o){var s,a=n<0?$(o):o[0],l=n<0==(1==a.level)?"after":"before";if(0<a.level||"rtl"==e.doc.direction){var c=Ni(e,i);s=n<0?i.text.length-1:0;var h=Oi(e,c,s).top;s=st(function(t){return Oi(e,c,t).top==h},n<0==(1==a.level)?a.from:a.to-1,s),"before"==l&&(s=Vo(i,s,1))}else s=n<0?a.to:a.from;return new gt(r,s,l)}}return new gt(r,n<0?i.text.length:0,n<0?"before":"after")}Bo.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore","Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite",Esc:"singleSelection"},Bo.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Up":"goLineUp","Ctrl-Down":"goLineDown","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore","Ctrl-U":"undoSelection","Shift-Ctrl-U":"redoSelection","Alt-U":"redoSelection",fallthrough:"basic"},Bo.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Alt-F":"goWordRight","Alt-B":"goWordLeft","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-D":"delWordAfter","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars","Ctrl-O":"openLine"},Bo.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Home":"goDocStart","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineLeft","Cmd-Right":"goLineRight","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delWrappedLineLeft","Cmd-Delete":"delWrappedLineRight","Cmd-U":"undoSelection","Shift-Cmd-U":"redoSelection","Ctrl-Up":"goDocStart","Ctrl-Down":"goDocEnd",fallthrough:["basic","emacsy"]},Bo.default=x?Bo.macDefault:Bo.pcDefault;var $o={selectAll:eo,singleSelection:function(t){return t.setSelection(t.getCursor("anchor"),t.getCursor("head"),q)},killLine:function(i){return jo(i,function(t){if(t.empty()){var e=lt(i.doc,t.head.line).text.length;return t.head.ch==e&&t.head.line<i.lastLine()?{from:t.head,to:gt(t.head.line+1,0)}:{from:t.head,to:gt(t.head.line,e)}}return{from:t.from(),to:t.to()}})},deleteLine:function(e){return jo(e,function(t){return{from:gt(t.from().line,0),to:bt(e.doc,gt(t.to().line+1,0))}})},delLineLeft:function(t){return jo(t,function(t){return{from:gt(t.from().line,0),to:t.from()}})},delWrappedLineLeft:function(i){return jo(i,function(t){var e=i.charCoords(t.head,"div").top+5;return{from:i.coordsChar({left:0,top:e},"div"),to:t.from()}})},delWrappedLineRight:function(r){return jo(r,function(t){var e=r.charCoords(t.head,"div").top+5,i=r.coordsChar({left:r.display.lineDiv.offsetWidth+100,top:e},"div");return{from:t.from(),to:i}})},undo:function(t){return t.undo()},redo:function(t){return t.redo()},undoSelection:function(t){return t.undoSelection()},redoSelection:function(t){return t.redoSelection()},goDocStart:function(t){return t.extendSelection(gt(t.firstLine(),0))},goDocEnd:function(t){return t.extendSelection(gt(t.lastLine()))},goLineStart:function(e){return e.extendSelectionsBy(function(t){return Qo(e,t.head.line)},{origin:"+move",bias:1})},goLineStartSmart:function(e){return e.extendSelectionsBy(function(t){return Xo(e,t.head)},{origin:"+move",bias:1})},goLineEnd:function(e){return e.extendSelectionsBy(function(t){return function(t,e){var i=lt(t.doc,e),r=function(t){for(var e;e=Ut(t);)t=e.find(1,!0).line;return t}(i);r!=i&&(e=ft(r));return Ko(!0,t,i,e,-1)}(e,t.head.line)},{origin:"+move",bias:-1})},goLineRight:function(i){return i.extendSelectionsBy(function(t){var e=i.cursorCoords(t.head,"div").top+5;return i.coordsChar({left:i.display.lineDiv.offsetWidth+100,top:e},"div")},j)},goLineLeft:function(i){return i.extendSelectionsBy(function(t){var e=i.cursorCoords(t.head,"div").top+5;return i.coordsChar({left:0,top:e},"div")},j)},goLineLeftSmart:function(r){return r.extendSelectionsBy(function(t){var e=r.cursorCoords(t.head,"div").top+5,i=r.coordsChar({left:0,top:e},"div");return i.ch<r.getLine(i.line).search(/\S/)?Xo(r,t.head):i},j)},goLineUp:function(t){return t.moveV(-1,"line")},goLineDown:function(t){return t.moveV(1,"line")},goPageUp:function(t){return t.moveV(-1,"page")},goPageDown:function(t){return t.moveV(1,"page")},goCharLeft:function(t){return t.moveH(-1,"char")},goCharRight:function(t){return t.moveH(1,"char")},goColumnLeft:function(t){return t.moveH(-1,"column")},goColumnRight:function(t){return t.moveH(1,"column")},goWordLeft:function(t){return t.moveH(-1,"word")},goGroupRight:function(t){return t.moveH(1,"group")},goGroupLeft:function(t){return t.moveH(-1,"group")},goWordRight:function(t){return t.moveH(1,"word")},delCharBefore:function(t){return t.deleteH(-1,"char")},delCharAfter:function(t){return t.deleteH(1,"char")},delWordBefore:function(t){return t.deleteH(-1,"word")},delWordAfter:function(t){return t.deleteH(1,"word")},delGroupBefore:function(t){return t.deleteH(-1,"group")},delGroupAfter:function(t){return t.deleteH(1,"group")},indentAuto:function(t){return t.indentSelection("smart")},indentMore:function(t){return t.indentSelection("add")},indentLess:function(t){return t.indentSelection("subtract")},insertTab:function(t){return t.replaceSelection("\t")},insertSoftTab:function(t){for(var e=[],i=t.listSelections(),r=t.options.tabSize,n=0;n<i.length;n++){var o=i[n].from(),s=F(t.getLine(o.line),o.ch,r);e.push(K(r-s%r))}t.replaceSelections(e)},defaultTab:function(t){t.somethingSelected()?t.indentSelection("add"):t.execCommand("insertTab")},transposeChars:function(s){return jr(s,function(){for(var t=s.listSelections(),e=[],i=0;i<t.length;i++)if(t[i].empty()){var r=t[i].head,n=lt(s.doc,r.line).text;if(n)if(r.ch==n.length&&(r=new gt(r.line,r.ch-1)),0<r.ch)r=new gt(r.line,r.ch+1),s.replaceRange(n.charAt(r.ch-1)+n.charAt(r.ch-2),gt(r.line,r.ch-2),r,"+transpose");else if(r.line>s.doc.first){var o=lt(s.doc,r.line-1).text;o&&(r=new gt(r.line,1),s.replaceRange(n.charAt(0)+s.doc.lineSeparator()+o.charAt(o.length-1),gt(r.line-1,o.length-1),r,"+transpose"))}e.push(new _n(r,r))}s.setSelections(e)})},newlineAndIndent:function(r){return jr(r,function(){for(var t=r.listSelections(),e=t.length-1;0<=e;e--)r.replaceRange(r.doc.lineSeparator(),t[e].anchor,t[e].head,"+input");t=r.listSelections();for(var i=0;i<t.length;i++)r.indentLine(t[i].from().line,null,!0);wr(r)})},openLine:function(t){return t.replaceSelection("\n","start")},toggleOverwrite:function(t){return t.toggleOverwrite()}};function Qo(t,e){var i=lt(t.doc,e),r=zt(i);return r!=i&&(e=ft(r)),Ko(!0,t,r,e,1)}function Xo(t,e){var i=Qo(t,e.line),r=lt(t.doc,i.line),n=Jt(r,t.doc.direction);if(n&&0!=n[0].level)return i;var o=Math.max(0,r.text.search(/\S/)),s=e.line==i.line&&e.ch<=o&&e.ch;return gt(i.line,s?0:o,i.sticky)}function Zo(t,e,i){if("string"==typeof e&&!(e=$o[e]))return!1;t.display.input.ensurePolled();var r=t.display.shift,n=!1;try{t.isReadOnly()&&(t.state.suppressEdits=!0),i&&(t.display.shift=!1),n=e(t)!=z}finally{t.display.shift=r,t.state.suppressEdits=!1}return n}var Jo=new U;function ts(t,e,i,r){var n=t.state.keySeq;if(n){if(Wo(e))return"handled";if(/\'$/.test(e)?t.state.keySeq=null:Jo.set(50,function(){t.state.keySeq==n&&(t.state.keySeq=null,t.display.input.reset())}),es(t,n+" "+e,i,r))return!0}return es(t,e,i,r)}function es(t,e,i,r){var n=function(t,e,i){for(var r=0;r<t.state.keyMaps.length;r++){var n=Ho(e,t.state.keyMaps[r],i,t);if(n)return n}return t.options.extraKeys&&Ho(e,t.options.extraKeys,i,t)||Ho(e,t.options.keyMap,i,t)}(t,e,r);return"multi"==n&&(t.state.keySeq=e),"handled"==n&&ai(t,"keyHandled",t,e,i),"handled"!=n&&"multi"!=n||(ce(i),fr(t)),!!n}function is(e,t){var i=qo(t,!0);return!!i&&(t.shiftKey&&!e.state.keySeq?ts(e,"Shift-"+i,t,function(t){return Zo(e,t,!0)})||ts(e,i,t,function(t){if("string"==typeof t?/^go[A-Z]/.test(t):t.motion)return Zo(e,t)}):ts(e,i,t,function(t){return Zo(e,t)}))}var rs=null;function ns(t){if(this.curOp.focus=I(),!oe(this,t)){T&&k<11&&27==t.keyCode&&(t.returnValue=!1);var e=t.keyCode;this.display.shift=16==e||t.shiftKey;var i=is(this,t);g&&(rs=i?e:null,!i&&88==e&&!be&&(x?t.metaKey:t.ctrlKey)&&this.replaceSelection("",null,"cut")),18!=e||/\bCodeMirror-crosshair\b/.test(this.display.lineDiv.className)||function(t){var e=t.display.lineDiv;function i(t){18!=t.keyCode&&t.altKey||(C(e,"CodeMirror-crosshair"),re(document,"keyup",i),re(document,"mouseover",i))}R(e,"CodeMirror-crosshair"),ee(document,"keyup",i),ee(document,"mouseover",i)}(this)}}function os(t){16==t.keyCode&&(this.doc.sel.shift=!1),oe(this,t)}function ss(t){if(!(xi(this.display,t)||oe(this,t)||t.ctrlKey&&!t.altKey||x&&t.metaKey)){var e=t.keyCode,i=t.charCode;if(g&&e==rs)return rs=null,void ce(t);if(!g||t.which&&!(t.which<10)||!is(this,t)){var r,n=String.fromCharCode(null==i?e:i);if("\b"!=n)if(!ts(r=this,"'"+n+"'",t,function(t){return Zo(r,t,!0)}))this.display.input.onKeyPress(t)}}}var as,ls,cs=function(t,e,i){this.time=t,this.pos=e,this.button=i};function hs(t){var e=this,i=e.display;if(!(oe(e,t)||i.activeTouch&&i.input.supportsTouch()))if(i.input.ensurePolled(),i.shift=t.shiftKey,xi(i,t))y||(i.scroller.draggable=!1,setTimeout(function(){return i.scroller.draggable=!0},100));else if(!ds(e,t)){var r,n,o,s=or(e,t),a=pe(t),l=s?(r=s,n=a,o=+new Date,ls&&ls.compare(o,r,n)?(as=ls=null,"triple"):as&&as.compare(o,r,n)?(ls=new cs(o,r,n),as=null,"double"):(as=new cs(o,r,n),ls=null,"single")):"single";window.focus(),1==a&&e.state.selectingText&&e.state.selectingText(t),s&&function(i,t,r,e,n){var o="Click";"double"==e?o="Double"+o:"triple"==e&&(o="Triple"+o);return ts(i,zo(o=(1==t?"Left":2==t?"Middle":"Right")+o,n),n,function(t){if("string"==typeof t&&(t=$o[t]),!t)return!1;var e=!1;try{i.isReadOnly()&&(i.state.suppressEdits=!0),e=t(i,r)!=z}finally{i.state.suppressEdits=!1}return e})}(e,a,s,l,t)||(1==a?s?function(t,e,i,r){T?setTimeout(P(dr,t),0):t.curOp.focus=I();var n,o=function(t,e,i){var r=t.getOption("configureMouse"),n=r?r(t,e,i):{};if(null==n.unit){var o=d?i.shiftKey&&i.metaKey:i.altKey;n.unit=o?"rectangle":"single"==e?"char":"double"==e?"word":"line"}(null==n.extend||t.doc.extend)&&(n.extend=t.doc.extend||i.shiftKey);null==n.addNew&&(n.addNew=x?i.metaKey:i.ctrlKey);null==n.moveOnDrag&&(n.moveOnDrag=!(x?i.altKey:i.ctrlKey));return n}(t,i,r),s=t.doc.sel;t.options.dragDrop&&_e&&!t.isReadOnly()&&"single"==i&&-1<(n=s.contains(e))&&(_t((n=s.ranges[n]).from(),e)<0||0<e.xRel)&&(0<_t(n.to(),e)||e.xRel<0)?function(e,i,r,n){var o=e.display,s=!1,a=Vr(e,function(t){y&&(o.scroller.draggable=!1),e.state.draggingText=!1,re(o.wrapper.ownerDocument,"mouseup",a),re(o.wrapper.ownerDocument,"mousemove",l),re(o.scroller,"dragstart",c),re(o.scroller,"drop",a),s||(ce(t),n.addNew||zn(e.doc,r,null,null,n.extend),y||T&&9==k?setTimeout(function(){o.wrapper.ownerDocument.body.focus(),o.input.focus()},20):o.input.focus())}),l=function(t){s=s||10<=Math.abs(i.clientX-t.clientX)+Math.abs(i.clientY-t.clientY)},c=function(){return s=!0};y&&(o.scroller.draggable=!0);(e.state.draggingText=a).copy=!n.moveOnDrag,o.scroller.dragDrop&&o.scroller.dragDrop();ee(o.wrapper.ownerDocument,"mouseup",a),ee(o.wrapper.ownerDocument,"mousemove",l),ee(o.scroller,"dragstart",c),ee(o.scroller,"drop",a),pr(e),setTimeout(function(){return o.input.focus()},20)}(t,r,e,o):function(g,t,_,v){var s=g.display,y=g.doc;ce(t);var x,T,k=y.sel,e=k.ranges;v.addNew&&!v.extend?(T=y.sel.contains(_),x=-1<T?e[T]:new _n(_,_)):(x=y.sel.primary(),T=y.sel.primIndex);if("rectangle"==v.unit)v.addNew||(x=new _n(_,_)),_=or(g,t,!0,!0),T=-1;else{var i=us(g,_,v.unit);x=v.extend?Wn(x,i.anchor,i.head,v.extend):i}v.addNew?-1==T?(T=e.length,Yn(y,vn(g,e.concat([x]),T),{scroll:!1,origin:"*mouse"})):1<e.length&&e[T].empty()&&"char"==v.unit&&!v.extend?(Yn(y,vn(g,e.slice(0,T).concat(e.slice(T+1)),0),{scroll:!1,origin:"*mouse"}),k=y.sel):Gn(y,T,x,G):(Yn(y,new gn([x],T=0),G),k=y.sel);var b=_;function a(t){if(0!=_t(b,t))if(b=t,"rectangle"==v.unit){for(var e=[],i=g.options.tabSize,r=F(lt(y,_.line).text,_.ch,i),n=F(lt(y,t.line).text,t.ch,i),o=Math.min(r,n),s=Math.max(r,n),a=Math.min(_.line,t.line),l=Math.min(g.lastLine(),Math.max(_.line,t.line));a<=l;a++){var c=lt(y,a).text,h=V(c,o,i);o==s?e.push(new _n(gt(a,h),gt(a,h))):c.length>h&&e.push(new _n(gt(a,h),gt(a,V(c,s,i))))}e.length||e.push(new _n(_,_)),Yn(y,vn(g,k.ranges.slice(0,T).concat(e),T),{origin:"*mouse",scroll:!1}),g.scrollIntoView(t)}else{var u,f=x,d=us(g,t,v.unit),p=f.anchor;p=0<_t(d.anchor,p)?(u=d.head,Tt(f.from(),d.anchor)):(u=d.anchor,xt(f.to(),d.head));var m=k.ranges.slice(0);m[T]=function(t,e){var i=e.anchor,r=e.head,n=lt(t.doc,i.line);if(0==_t(i,r)&&i.sticky==r.sticky)return e;var o=Jt(n);if(!o)return e;var s=Xt(o,i.ch,i.sticky),a=o[s];if(a.from!=i.ch&&a.to!=i.ch)return e;var l,c=s+(a.from==i.ch==(1!=a.level)?0:1);if(0==c||c==o.length)return e;if(r.line!=i.line)l=0<(r.line-i.line)*("ltr"==t.doc.direction?1:-1);else{var h=Xt(o,r.ch,r.sticky),u=h-s||(r.ch-i.ch)*(1==a.level?-1:1);l=h==c-1||h==c?u<0:0<u}var f=o[c+(l?-1:0)],d=l==(1==f.level),p=d?f.from:f.to,m=d?"after":"before";return i.ch==p&&i.sticky==m?e:new _n(new gt(i.line,p,m),r)}(g,new _n(bt(y,p),u)),Yn(y,vn(g,m,T),G)}}var l=s.wrapper.getBoundingClientRect(),c=0;function r(t){g.state.selectingText=!1,c=1/0,ce(t),s.input.focus(),re(s.wrapper.ownerDocument,"mousemove",n),re(s.wrapper.ownerDocument,"mouseup",o),y.history.lastSelOrigin=null}var n=Vr(g,function(t){0!==t.buttons&&pe(t)?function t(e){var i=++c;var r=or(g,e,!0,"rectangle"==v.unit);if(!r)return;if(0!=_t(r,b)){g.curOp.focus=I(),a(r);var n=yr(s,y);(r.line>=n.to||r.line<n.from)&&setTimeout(Vr(g,function(){c==i&&t(e)}),150)}else{var o=e.clientY<l.top?-20:e.clientY>l.bottom?20:0;o&&setTimeout(Vr(g,function(){c==i&&(s.scroller.scrollTop+=o,t(e))}),50)}}(t):r(t)}),o=Vr(g,r);g.state.selectingText=o,ee(s.wrapper.ownerDocument,"mousemove",n),ee(s.wrapper.ownerDocument,"mouseup",o)}(t,r,e,o)}(e,s,l,t):de(t)==i.scroller&&ce(t):2==a?(s&&zn(e.doc,s),setTimeout(function(){return i.input.focus()},20)):3==a&&(b?e.display.input.onContextMenu(t):pr(e)))}}function us(t,e,i){if("char"==i)return new _n(e,e);if("word"==i)return t.findWordAt(e);if("line"==i)return new _n(gt(e.line,0),bt(t.doc,gt(e.line+1,0)));var r=i(t,e);return new _n(r.from,r.to)}function fs(t,e,i,r){var n,o;if(e.touches)n=e.touches[0].clientX,o=e.touches[0].clientY;else try{n=e.clientX,o=e.clientY}catch(e){return!1}if(n>=Math.floor(t.display.gutters.getBoundingClientRect().right))return!1;r&&ce(e);var s=t.display,a=s.lineDiv.getBoundingClientRect();if(o>a.bottom||!ae(t,i))return ue(e);o-=a.top-s.viewOffset;for(var l=0;l<t.options.gutters.length;++l){var c=s.gutters.childNodes[l];if(c&&c.getBoundingClientRect().right>=n)return ne(t,i,t,dt(t.doc,o),t.options.gutters[l],e),ue(e)}}function ds(t,e){return fs(t,e,"gutterClick",!0)}function ps(t,e){var i,r;xi(t.display,e)||(r=e,ae(i=t,"gutterContextMenu")&&fs(i,r,"gutterContextMenu",!1))||(oe(t,e,"contextmenu")||b||t.display.input.onContextMenu(e))}function ms(t){t.display.wrapper.className=t.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+t.options.theme.replace(/(^|\s)\s*/g," cm-s-"),Fi(t)}cs.prototype.compare=function(t,e,i){return this.time+400>t&&0==_t(e,this.pos)&&i==this.button};var gs={toString:function(){return"CodeMirror.Init"}},_s={},vs={};function ys(t){cn(t),$r(t),xr(t)}function xs(t,e,i){if(!e!=!(i&&i!=gs)){var r=t.display.dragFunctions,n=e?ee:re;n(t.display.scroller,"dragstart",r.start),n(t.display.scroller,"dragenter",r.enter),n(t.display.scroller,"dragover",r.over),n(t.display.scroller,"dragleave",r.leave),n(t.display.scroller,"drop",r.drop)}}function Ts(t){t.options.lineWrapping?(R(t.display.wrapper,"CodeMirror-wrap"),t.display.sizer.style.minWidth="",t.display.sizerWidth=null):(C(t.display.wrapper,"CodeMirror-wrap"),$t(t)),nr(t),$r(t),Fi(t),setTimeout(function(){return Mr(t)},100)}function ks(t,e){var i=this;if(!(this instanceof ks))return new ks(t,e);this.options=e=e?B(e):{},B(_s,e,!1),hn(e);var r=e.value;"string"==typeof r?r=new Eo(r,e.mode,null,e.lineSeparator,e.direction):e.mode&&(r.modeOption=e.mode),this.doc=r;var n=new ks.inputStyles[e.inputStyle](this),o=this.display=new at(t,r,n);for(var s in cn(o.wrapper.CodeMirror=this),ms(this),e.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),Br(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:!1,cutIncoming:!1,selectingText:!1,draggingText:!1,highlight:new U,keySeq:null,specialChars:null},e.autofocus&&!f&&o.input.focus(),T&&k<11&&setTimeout(function(){return i.display.input.reset(!0)},20),function(n){var o=n.display;ee(o.scroller,"mousedown",Vr(n,hs)),ee(o.scroller,"dblclick",T&&k<11?Vr(n,function(t){if(!oe(n,t)){var e=or(n,t);if(e&&!ds(n,t)&&!xi(n.display,t)){ce(t);var i=n.findWordAt(e);zn(n.doc,i.anchor,i.head)}}}):function(t){return oe(n,t)||ce(t)});ee(o.scroller,"contextmenu",function(t){return ps(n,t)});var i,r={end:0};function s(){o.activeTouch&&(i=setTimeout(function(){return o.activeTouch=null},1e3),(r=o.activeTouch).end=+new Date)}function a(t,e){if(null==e.left)return!0;var i=e.left-t.left,r=e.top-t.top;return 400<i*i+r*r}ee(o.scroller,"touchstart",function(t){if(!oe(n,t)&&!function(t){if(1!=t.touches.length)return!1;var e=t.touches[0];return e.radiusX<=1&&e.radiusY<=1}(t)&&!ds(n,t)){o.input.ensurePolled(),clearTimeout(i);var e=+new Date;o.activeTouch={start:e,moved:!1,prev:e-r.end<=300?r:null},1==t.touches.length&&(o.activeTouch.left=t.touches[0].pageX,o.activeTouch.top=t.touches[0].pageY)}}),ee(o.scroller,"touchmove",function(){o.activeTouch&&(o.activeTouch.moved=!0)}),ee(o.scroller,"touchend",function(t){var e=o.activeTouch;if(e&&!xi(o,t)&&null!=e.left&&!e.moved&&new Date-e.start<300){var i,r=n.coordsChar(o.activeTouch,"page");i=!e.prev||a(e,e.prev)?new _n(r,r):!e.prev.prev||a(e,e.prev.prev)?n.findWordAt(r):new _n(gt(r.line,0),bt(n.doc,gt(r.line+1,0))),n.setSelection(i.anchor,i.head),n.focus(),ce(t)}s()}),ee(o.scroller,"touchcancel",s),ee(o.scroller,"scroll",function(){o.scroller.clientHeight&&(Ar(n,o.scroller.scrollTop),Nr(n,o.scroller.scrollLeft,!0),ne(n,"scroll",n))}),ee(o.scroller,"mousewheel",function(t){return mn(n,t)}),ee(o.scroller,"DOMMouseScroll",function(t){return mn(n,t)}),ee(o.wrapper,"scroll",function(){return o.wrapper.scrollTop=o.wrapper.scrollLeft=0}),o.dragFunctions={enter:function(t){oe(n,t)||fe(t)},over:function(t){oe(n,t)||(!function(t,e){var i=or(t,e);if(i){var r=document.createDocumentFragment();cr(t,i,r),t.display.dragCursor||(t.display.dragCursor=N("div",null,"CodeMirror-cursors CodeMirror-dragcursors"),t.display.lineSpace.insertBefore(t.display.dragCursor,t.display.cursorDiv)),A(t.display.dragCursor,r)}}(n,t),fe(t))},start:function(t){return function(t,e){if(T&&(!t.state.draggingText||+new Date-Co<100))fe(e);else if(!oe(t,e)&&!xi(t.display,e)&&(e.dataTransfer.setData("Text",t.getSelection()),e.dataTransfer.effectAllowed="copyMove",e.dataTransfer.setDragImage&&!l)){var i=N("img",null,null,"position: fixed; left: 0; top: 0;");i.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",g&&(i.width=i.height=1,t.display.wrapper.appendChild(i),i._top=i.offsetTop),e.dataTransfer.setDragImage(i,0,0),g&&i.parentNode.removeChild(i)}}(n,t)},drop:Vr(n,So),leave:function(t){oe(n,t)||Ao(n)}};var t=o.input.getField();ee(t,"keyup",function(t){return os.call(n,t)}),ee(t,"keydown",Vr(n,ns)),ee(t,"keypress",Vr(n,ss)),ee(t,"focus",function(t){return mr(n,t)}),ee(t,"blur",function(t){return gr(n,t)})}(this),Oo(),Ur(this),this.curOp.forceUpdate=!0,Ln(this,r),e.autofocus&&!f||this.hasFocus()?setTimeout(P(mr,this),20):gr(this),vs)vs.hasOwnProperty(s)&&vs[s](i,e[s],gs);Tr(this),e.finishInit&&e.finishInit(this);for(var a=0;a<bs.length;++a)bs[a](i);Hr(this),y&&e.lineWrapping&&"optimizelegibility"==getComputedStyle(o.lineDiv).textRendering&&(o.lineDiv.style.textRendering="auto")}ks.defaults=_s,ks.optionHandlers=vs;var bs=[];function ws(t,e,i,r){var n,o=t.doc;null==i&&(i="add"),"smart"==i&&(o.mode.indent?n=Ue(t,e).state:i="prev");var s=t.options.tabSize,a=lt(o,e),l=F(a.text,null,s);a.stateAfter&&(a.stateAfter=null);var c,h=a.text.match(/^\s*/)[0];if(r||/\S/.test(a.text)){if("smart"==i&&((c=o.mode.indent(n,a.text.slice(h.length),a.text))==z||150<c)){if(!r)return;i="prev"}}else c=0,i="not";"prev"==i?c=e>o.first?F(lt(o,e-1).text,null,s):0:"add"==i?c=l+t.options.indentUnit:"subtract"==i?c=l-t.options.indentUnit:"number"==typeof i&&(c=l+i),c=Math.max(0,c);var u="",f=0;if(t.options.indentWithTabs)for(var d=Math.floor(c/s);d;--d)f+=s,u+="\t";if(f<c&&(u+=K(c-f)),u!=h)return lo(o,u,gt(e,0),gt(e,h.length),"+input"),!(a.stateAfter=null);for(var p=0;p<o.sel.ranges.length;p++){var m=o.sel.ranges[p];if(m.head.line==e&&m.head.ch<h.length){var g=gt(e,h.length);Gn(o,p,new _n(g,g));break}}}ks.defineInitHook=function(t){return bs.push(t)};var Es=null;function Cs(t){Es=t}function Ss(t,e,i,r,n){var o=t.doc;t.display.shift=!1,r||(r=o.sel);var s,a=t.state.pasteIncoming||"paste"==n,l=Te(e),c=null;if(a&&1<r.ranges.length)if(Es&&Es.text.join("\n")==e){if(r.ranges.length%Es.text.length==0){c=[];for(var h=0;h<Es.text.length;h++)c.push(o.splitLines(Es.text[h]))}}else l.length==r.ranges.length&&t.options.pasteLinesPerSelection&&(c=Q(l,function(t){return[t]}));for(var u=r.ranges.length-1;0<=u;u--){var f=r.ranges[u],d=f.from(),p=f.to();f.empty()&&(i&&0<i?d=gt(d.line,d.ch-i):t.state.overwrite&&!a?p=gt(p.line,Math.min(lt(o,p.line).text.length,p.ch+$(l).length)):a&&Es&&Es.lineWise&&Es.text.join("\n")==e&&(d=p=gt(d.line,0))),s=t.curOp.updateInput;var m={from:d,to:p,text:c?c[u%c.length]:l,origin:n||(a?"paste":t.state.cutIncoming?"cut":"+input")};ro(t.doc,m),ai(t,"inputRead",t,m)}e&&!a&&Ls(t,e),wr(t),t.curOp.updateInput=s,t.curOp.typing=!0,t.state.pasteIncoming=t.state.cutIncoming=!1}function As(t,e){var i=t.clipboardData&&t.clipboardData.getData("Text");if(i)return t.preventDefault(),e.isReadOnly()||e.options.disableInput||jr(e,function(){return Ss(e,i,0,null,"paste")}),!0}function Ls(t,e){if(t.options.electricChars&&t.options.smartIndent)for(var i=t.doc.sel,r=i.ranges.length-1;0<=r;r--){var n=i.ranges[r];if(!(100<n.head.ch||r&&i.ranges[r-1].head.line==n.head.line)){var o=t.getModeAt(n.head),s=!1;if(o.electricChars){for(var a=0;a<o.electricChars.length;a++)if(-1<e.indexOf(o.electricChars.charAt(a))){s=ws(t,n.head.line,"smart");break}}else o.electricInput&&o.electricInput.test(lt(t.doc,n.head.line).text.slice(0,n.head.ch))&&(s=ws(t,n.head.line,"smart"));s&&ai(t,"electricInput",t,n.head.line)}}}function Ns(t){for(var e=[],i=[],r=0;r<t.doc.sel.ranges.length;r++){var n=t.doc.sel.ranges[r].head.line,o={anchor:gt(n,0),head:gt(n+1,0)};i.push(o),e.push(t.getRange(o.anchor,o.head))}return{text:e,ranges:i}}function Os(t,e){t.setAttribute("autocorrect","off"),t.setAttribute("autocapitalize","off"),t.setAttribute("spellcheck",!!e)}function Is(){var t=N("textarea",null,null,"position: absolute; bottom: -1em; padding: 0; width: 1px; height: 1em; outline: none"),e=N("div",[t],null,"overflow: hidden; position: relative; width: 3px; height: 0px;");return y?t.style.width="1000px":t.setAttribute("wrap","off"),h&&(t.style.border="1px solid black"),Os(t),e}function Rs(r,n,o,t,s){var e=n,i=o,a=lt(r,n.line);function l(t){var e,i;if(null==(e=s?function(e,i,a,t){var l=Jt(i,e.doc.direction);if(!l)return Yo(i,a,t);a.ch>=i.text.length?(a.ch=i.text.length,a.sticky="before"):a.ch<=0&&(a.ch=0,a.sticky="after");var r=Xt(l,a.ch,a.sticky),n=l[r];if("ltr"==e.doc.direction&&n.level%2==0&&(0<t?n.to>a.ch:n.from<a.ch))return Yo(i,a,t);var o,c=function(t,e){return Vo(i,t instanceof gt?t.ch:t,e)},s=function(t){return e.options.lineWrapping?(o=o||Ni(e,i),Qi(e,i,o,t)):{begin:0,end:i.text.length}},h=s("before"==a.sticky?c(a,-1):a.ch);if("rtl"==e.doc.direction||1==n.level){var u=1==n.level==t<0,f=c(a,u?1:-1);if(null!=f&&(u?f<=n.to&&f<=h.end:f>=n.from&&f>=h.begin)){var d=u?"before":"after";return new gt(a.line,f,d)}}var p=function(t,e,i){for(var r=function(t,e){return e?new gt(a.line,c(t,1),"before"):new gt(a.line,t,"after")};0<=t&&t<l.length;t+=e){var n=l[t],o=0<e==(1!=n.level),s=o?i.begin:c(i.end,-1);if(n.from<=s&&s<n.to)return r(s,o);if(s=o?n.from:c(n.to,-1),i.begin<=s&&s<i.end)return r(s,o)}},m=p(r+t,t,h);if(m)return m;var g=0<t?h.end:c(h.begin,-1);return null==g||0<t&&g==i.text.length||!(m=p(0<t?0:l.length-1,t,s(g)))?null:m}(r.cm,a,n,o):Yo(a,n,o))){if(t||(i=n.line+o)<r.first||i>=r.first+r.size||(n=new gt(i,n.ch,n.sticky),!(a=lt(r,i))))return!1;n=Ko(s,r.cm,a,n.line,o)}else n=e;return!0}if("char"==t)l();else if("column"==t)l(!0);else if("word"==t||"group"==t)for(var c=null,h="group"==t,u=r.cm&&r.cm.getHelper(n,"wordChars"),f=!0;!(o<0)||l(!f);f=!1){var d=a.text.charAt(n.ch)||"\n",p=et(d,u)?"w":h&&"\n"==d?"n":!h||/\s/.test(d)?null:"p";if(!h||f||p||(p="s"),c&&c!=p){o<0&&(o=1,l(),n.sticky="after");break}if(p&&(c=p),0<o&&!l(!f))break}var m=Jn(r,n,e,i,!0);return vt(e,m)&&(m.hitSide=!0),m}function Ms(t,e,i,r){var n,o,s=t.doc,a=e.left;if("page"==r){var l=Math.min(t.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight),c=Math.max(l-.5*Ji(t.display),3);n=(0<i?e.bottom:e.top)+i*c}else"line"==r&&(n=0<i?e.bottom+3:e.top-3);for(;(o=Ki(t,a,n)).outside;){if(i<0?n<=0:n>=s.height){o.hitSide=!0;break}n+=5*i}return o}var Ds=function(t){this.cm=t,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new U,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};function Ps(t,e){var i=Li(t,e.line);if(!i||i.hidden)return null;var r=lt(t.doc,e.line),n=Si(i,r,e.line),o=Jt(r,t.doc.direction),s="left";o&&(s=Xt(o,e.ch)%2?"right":"left");var a=Mi(n.map,e.ch,s);return a.offset="right"==a.collapse?a.end:a.start,a}function Bs(t,e){return e&&(t.bad=!0),t}function Fs(t,e,i){var r;if(e==t.display.lineDiv){if(!(r=t.display.lineDiv.childNodes[i]))return Bs(t.clipPos(gt(t.display.viewTo-1)),!0);e=null,i=0}else for(r=e;;r=r.parentNode){if(!r||r==t.display.lineDiv)return null;if(r.parentNode&&r.parentNode==t.display.lineDiv)break}for(var n=0;n<t.display.view.length;n++){var o=t.display.view[n];if(o.node==r)return Us(o,e,i)}}function Us(c,t,e){var i=c.text.firstChild,r=!1;if(!t||!O(i,t))return Bs(gt(ft(c.line),0),!0);if(t==i&&(r=!0,t=i.childNodes[e],e=0,!t)){var n=c.rest?$(c.rest):c.line;return Bs(gt(ft(n),n.text.length),r)}var o=3==t.nodeType?t:null,s=t;for(o||1!=t.childNodes.length||3!=t.firstChild.nodeType||(o=t.firstChild,e&&(e=o.nodeValue.length));s.parentNode!=i;)s=s.parentNode;var h=c.measure,u=h.maps;function a(t,e,i){for(var r=-1;r<(u?u.length:0);r++)for(var n=r<0?h.map:u[r],o=0;o<n.length;o+=3){var s=n[o+2];if(s==t||s==e){var a=ft(r<0?c.line:c.rest[r]),l=n[o]+i;return(i<0||s!=t)&&(l=n[o+(i?1:0)]),gt(a,l)}}}var l=a(o,s,e);if(l)return Bs(l,r);for(var f=s.nextSibling,d=o?o.nodeValue.length-e:0;f;f=f.nextSibling){if(l=a(f,f.firstChild,0))return Bs(gt(l.line,l.ch-d),r);d+=f.textContent.length}for(var p=s.previousSibling,m=e;p;p=p.previousSibling){if(l=a(p,p.firstChild,-1))return Bs(gt(l.line,l.ch+m),r);m+=p.textContent.length}}Ds.prototype.init=function(t){var e=this,s=this,a=s.cm,l=s.div=t.lineDiv;function i(t){if(!oe(a,t)){if(a.somethingSelected())Cs({lineWise:!1,text:a.getSelections()}),"cut"==t.type&&a.replaceSelection("",null,"cut");else{if(!a.options.lineWiseCopyCut)return;var e=Ns(a);Cs({lineWise:!0,text:e.text}),"cut"==t.type&&a.operation(function(){a.setSelections(e.ranges,0,q),a.replaceSelection("",null,"cut")})}if(t.clipboardData){t.clipboardData.clearData();var i=Es.text.join("\n");if(t.clipboardData.setData("Text",i),t.clipboardData.getData("Text")==i)return void t.preventDefault()}var r=Is(),n=r.firstChild;a.display.lineSpace.insertBefore(r,a.display.lineSpace.firstChild),n.value=Es.text.join("\n");var o=document.activeElement;D(n),setTimeout(function(){a.display.lineSpace.removeChild(r),o.focus(),o==l&&s.showPrimarySelection()},50)}}Os(l,a.options.spellcheck),ee(l,"paste",function(t){oe(a,t)||As(t,a)||k<=11&&setTimeout(Vr(a,function(){return e.updateFromDOM()}),20)}),ee(l,"compositionstart",function(t){e.composing={data:t.data,done:!1}}),ee(l,"compositionupdate",function(t){e.composing||(e.composing={data:t.data,done:!1})}),ee(l,"compositionend",function(t){e.composing&&(t.data!=e.composing.data&&e.readFromDOMSoon(),e.composing.done=!0)}),ee(l,"touchstart",function(){return s.forceCompositionEnd()}),ee(l,"input",function(){e.composing||e.readFromDOMSoon()}),ee(l,"copy",i),ee(l,"cut",i)},Ds.prototype.prepareSelection=function(){var t=lr(this.cm,!1);return t.focus=this.cm.state.focused,t},Ds.prototype.showSelection=function(t,e){t&&this.cm.display.view.length&&((t.focus||e)&&this.showPrimarySelection(),this.showMultipleSelections(t))},Ds.prototype.getSelection=function(){return this.cm.display.wrapper.ownerDocument.getSelection()},Ds.prototype.showPrimarySelection=function(){var t=this.getSelection(),e=this.cm,i=e.doc.sel.primary(),r=i.from(),n=i.to();if(e.display.viewTo==e.display.viewFrom||r.line>=e.display.viewTo||n.line<e.display.viewFrom)t.removeAllRanges();else{var o=Fs(e,t.anchorNode,t.anchorOffset),s=Fs(e,t.focusNode,t.focusOffset);if(!o||o.bad||!s||s.bad||0!=_t(Tt(o,s),r)||0!=_t(xt(o,s),n)){var a=e.display.view,l=r.line>=e.display.viewFrom&&Ps(e,r)||{node:a[0].measure.map[2],offset:0},c=n.line<e.display.viewTo&&Ps(e,n);if(!c){var h=a[a.length-1].measure,u=h.maps?h.maps[h.maps.length-1]:h.map;c={node:u[u.length-1],offset:u[u.length-2]-u[u.length-3]}}if(l&&c){var f,d=t.rangeCount&&t.getRangeAt(0);try{f=E(l.node,l.offset,c.offset,c.node)}catch(t){}f&&(!m&&e.state.focused?(t.collapse(l.node,l.offset),f.collapsed||(t.removeAllRanges(),t.addRange(f))):(t.removeAllRanges(),t.addRange(f)),d&&null==t.anchorNode?t.addRange(d):m&&this.startGracePeriod()),this.rememberSelection()}else t.removeAllRanges()}}},Ds.prototype.startGracePeriod=function(){var t=this;clearTimeout(this.gracePeriod),this.gracePeriod=setTimeout(function(){t.gracePeriod=!1,t.selectionChanged()&&t.cm.operation(function(){return t.cm.curOp.selectionChanged=!0})},20)},Ds.prototype.showMultipleSelections=function(t){A(this.cm.display.cursorDiv,t.cursors),A(this.cm.display.selectionDiv,t.selection)},Ds.prototype.rememberSelection=function(){var t=this.getSelection();this.lastAnchorNode=t.anchorNode,this.lastAnchorOffset=t.anchorOffset,this.lastFocusNode=t.focusNode,this.lastFocusOffset=t.focusOffset},Ds.prototype.selectionInEditor=function(){var t=this.getSelection();if(!t.rangeCount)return!1;var e=t.getRangeAt(0).commonAncestorContainer;return O(this.div,e)},Ds.prototype.focus=function(){"nocursor"!=this.cm.options.readOnly&&(this.selectionInEditor()||this.showSelection(this.prepareSelection(),!0),this.div.focus())},Ds.prototype.blur=function(){this.div.blur()},Ds.prototype.getField=function(){return this.div},Ds.prototype.supportsTouch=function(){return!0},Ds.prototype.receivedFocus=function(){var e=this;this.selectionInEditor()?this.pollSelection():jr(this.cm,function(){return e.cm.curOp.selectionChanged=!0}),this.polling.set(this.cm.options.pollInterval,function t(){e.cm.state.focused&&(e.pollSelection(),e.polling.set(e.cm.options.pollInterval,t))})},Ds.prototype.selectionChanged=function(){var t=this.getSelection();return t.anchorNode!=this.lastAnchorNode||t.anchorOffset!=this.lastAnchorOffset||t.focusNode!=this.lastFocusNode||t.focusOffset!=this.lastFocusOffset},Ds.prototype.pollSelection=function(){if(null==this.readDOMTimeout&&!this.gracePeriod&&this.selectionChanged()){var t=this.getSelection(),e=this.cm;if(u&&s&&this.cm.options.gutters.length&&function(t){for(var e=t;e;e=e.parentNode)if(/CodeMirror-gutter-wrapper/.test(e.className))return!0;return!1}(t.anchorNode))return this.cm.triggerOnKeyDown({type:"keydown",keyCode:8,preventDefault:Math.abs}),this.blur(),void this.focus();if(!this.composing){this.rememberSelection();var i=Fs(e,t.anchorNode,t.anchorOffset),r=Fs(e,t.focusNode,t.focusOffset);i&&r&&jr(e,function(){Yn(e.doc,yn(i,r),q),(i.bad||r.bad)&&(e.curOp.selectionChanged=!0)})}}},Ds.prototype.pollContent=function(){null!=this.readDOMTimeout&&(clearTimeout(this.readDOMTimeout),this.readDOMTimeout=null);var t,e,i,r=this.cm,n=r.display,o=r.doc.sel.primary(),s=o.from(),a=o.to();if(0==s.ch&&s.line>r.firstLine()&&(s=gt(s.line-1,lt(r.doc,s.line-1).length)),a.ch==lt(r.doc,a.line).text.length&&a.line<r.lastLine()&&(a=gt(a.line+1,0)),s.line<n.viewFrom||a.line>n.viewTo-1)return!1;i=s.line==n.viewFrom||0==(t=sr(r,s.line))?(e=ft(n.view[0].line),n.view[0].node):(e=ft(n.view[t].line),n.view[t-1].node.nextSibling);var l,c,h=sr(r,a.line);if(c=h==n.view.length-1?(l=n.viewTo-1,n.lineDiv.lastChild):(l=ft(n.view[h+1].line)-1,n.view[h+1].node.previousSibling),!i)return!1;for(var u=r.doc.splitLines(function(l,t,e,c,h){var i="",u=!1,f=l.doc.lineSeparator(),d=!1;function p(){u&&(i+=f,d&&(i+=f),u=d=!1)}function m(t){t&&(p(),i+=t)}function g(t){if(1==t.nodeType){var e=t.getAttribute("cm-text");if(e)return void m(e);var i,r=t.getAttribute("cm-marker");if(r){var n=l.findMarks(gt(c,0),gt(h+1,0),(a=+r,function(t){return t.id==a}));return void(n.length&&(i=n[0].find(0))&&m(ct(l.doc,i.from,i.to).join(f)))}if("false"==t.getAttribute("contenteditable"))return;var o=/^(pre|div|p|li|table|br)$/i.test(t.nodeName);if(!/^br$/i.test(t.nodeName)&&0==t.textContent.length)return;o&&p();for(var s=0;s<t.childNodes.length;s++)g(t.childNodes[s]);/^(pre|p)$/i.test(t.nodeName)&&(d=!0),o&&(u=!0)}else 3==t.nodeType&&m(t.nodeValue.replace(/\u200b/g,"").replace(/\u00a0/g," "));var a}for(;g(t),t!=e;)t=t.nextSibling,d=!1;return i}(r,i,c,e,l)),f=ct(r.doc,gt(e,0),gt(l,lt(r.doc,l).text.length));1<u.length&&1<f.length;)if($(u)==$(f))u.pop(),f.pop(),l--;else{if(u[0]!=f[0])break;u.shift(),f.shift(),e++}for(var d=0,p=0,m=u[0],g=f[0],_=Math.min(m.length,g.length);d<_&&m.charCodeAt(d)==g.charCodeAt(d);)++d;for(var v=$(u),y=$(f),x=Math.min(v.length-(1==u.length?d:0),y.length-(1==f.length?d:0));p<x&&v.charCodeAt(v.length-p-1)==y.charCodeAt(y.length-p-1);)++p;if(1==u.length&&1==f.length&&e==s.line)for(;d&&d>s.ch&&v.charCodeAt(v.length-p-1)==y.charCodeAt(y.length-p-1);)d--,p++;u[u.length-1]=v.slice(0,v.length-p).replace(/^\u200b+/,""),u[0]=u[0].slice(d).replace(/\u200b+$/,"");var T=gt(e,d),k=gt(l,f.length?$(f).length-p:0);return 1<u.length||u[0]||_t(T,k)?(lo(r.doc,u,T,k,"+input"),!0):void 0},Ds.prototype.ensurePolled=function(){this.forceCompositionEnd()},Ds.prototype.reset=function(){this.forceCompositionEnd()},Ds.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},Ds.prototype.readFromDOMSoon=function(){var t=this;null==this.readDOMTimeout&&(this.readDOMTimeout=setTimeout(function(){if(t.readDOMTimeout=null,t.composing){if(!t.composing.done)return;t.composing=null}t.updateFromDOM()},80))},Ds.prototype.updateFromDOM=function(){var t=this;!this.cm.isReadOnly()&&this.pollContent()||jr(this.cm,function(){return $r(t.cm)})},Ds.prototype.setUneditable=function(t){t.contentEditable="false"},Ds.prototype.onKeyPress=function(t){0==t.charCode||this.composing||(t.preventDefault(),this.cm.isReadOnly()||Vr(this.cm,Ss)(this.cm,String.fromCharCode(null==t.charCode?t.keyCode:t.charCode),0))},Ds.prototype.readOnlyChanged=function(t){this.div.contentEditable=String("nocursor"!=t)},Ds.prototype.onContextMenu=function(){},Ds.prototype.resetPosition=function(){},Ds.prototype.needsContentAttribute=!0;var Hs,Ws,zs,qs=function(t){this.cm=t,this.prevInput="",this.pollingFast=!1,this.polling=new U,this.hasSelection=!1,this.composing=null};qs.prototype.init=function(e){var t=this,i=this,r=this.cm;this.createField(e);var n=this.textarea;function o(t){if(!oe(r,t)){if(r.somethingSelected())Cs({lineWise:!1,text:r.getSelections()});else{if(!r.options.lineWiseCopyCut)return;var e=Ns(r);Cs({lineWise:!0,text:e.text}),"cut"==t.type?r.setSelections(e.ranges,null,q):(i.prevInput="",n.value=e.text.join("\n"),D(n))}"cut"==t.type&&(r.state.cutIncoming=!0)}}e.wrapper.insertBefore(this.wrapper,e.wrapper.firstChild),h&&(n.style.width="0px"),ee(n,"input",function(){T&&9<=k&&t.hasSelection&&(t.hasSelection=null),i.poll()}),ee(n,"paste",function(t){oe(r,t)||As(t,r)||(r.state.pasteIncoming=!0,i.fastPoll())}),ee(n,"cut",o),ee(n,"copy",o),ee(e.scroller,"paste",function(t){xi(e,t)||oe(r,t)||(r.state.pasteIncoming=!0,i.focus())}),ee(e.lineSpace,"selectstart",function(t){xi(e,t)||ce(t)}),ee(n,"compositionstart",function(){var t=r.getCursor("from");i.composing&&i.composing.range.clear(),i.composing={start:t,range:r.markText(t,r.getCursor("to"),{className:"CodeMirror-composing"})}}),ee(n,"compositionend",function(){i.composing&&(i.poll(),i.composing.range.clear(),i.composing=null)})},qs.prototype.createField=function(t){this.wrapper=Is(),this.textarea=this.wrapper.firstChild},qs.prototype.prepareSelection=function(){var t=this.cm,e=t.display,i=t.doc,r=lr(t);if(t.options.moveInputWithCursor){var n=ji(t,i.sel.primary().head,"div"),o=e.wrapper.getBoundingClientRect(),s=e.lineDiv.getBoundingClientRect();r.teTop=Math.max(0,Math.min(e.wrapper.clientHeight-10,n.top+s.top-o.top)),r.teLeft=Math.max(0,Math.min(e.wrapper.clientWidth-10,n.left+s.left-o.left))}return r},qs.prototype.showSelection=function(t){var e=this.cm.display;A(e.cursorDiv,t.cursors),A(e.selectionDiv,t.selection),null!=t.teTop&&(this.wrapper.style.top=t.teTop+"px",this.wrapper.style.left=t.teLeft+"px")},qs.prototype.reset=function(t){if(!this.contextMenuPending&&!this.composing){var e=this.cm;if(e.somethingSelected()){this.prevInput="";var i=e.getSelection();this.textarea.value=i,e.state.focused&&D(this.textarea),T&&9<=k&&(this.hasSelection=i)}else t||(this.prevInput=this.textarea.value="",T&&9<=k&&(this.hasSelection=null))}},qs.prototype.getField=function(){return this.textarea},qs.prototype.supportsTouch=function(){return!1},qs.prototype.focus=function(){if("nocursor"!=this.cm.options.readOnly&&(!f||I()!=this.textarea))try{this.textarea.focus()}catch(t){}},qs.prototype.blur=function(){this.textarea.blur()},qs.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},qs.prototype.receivedFocus=function(){this.slowPoll()},qs.prototype.slowPoll=function(){var t=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,function(){t.poll(),t.cm.state.focused&&t.slowPoll()})},qs.prototype.fastPoll=function(){var e=!1,i=this;i.pollingFast=!0,i.polling.set(20,function t(){i.poll()||e?(i.pollingFast=!1,i.slowPoll()):(e=!0,i.polling.set(60,t))})},qs.prototype.poll=function(){var t=this,e=this.cm,i=this.textarea,r=this.prevInput;if(this.contextMenuPending||!e.state.focused||ke(i)&&!r&&!this.composing||e.isReadOnly()||e.options.disableInput||e.state.keySeq)return!1;var n=i.value;if(n==r&&!e.somethingSelected())return!1;if(T&&9<=k&&this.hasSelection===n||x&&/[\uf700-\uf7ff]/.test(n))return e.display.input.reset(),!1;if(e.doc.sel==e.display.selForContextMenu){var o=n.charCodeAt(0);if(8203!=o||r||(r="​"),8666==o)return this.reset(),this.cm.execCommand("undo")}for(var s=0,a=Math.min(r.length,n.length);s<a&&r.charCodeAt(s)==n.charCodeAt(s);)++s;return jr(e,function(){Ss(e,n.slice(s),r.length-s,null,t.composing?"*compose":null),1e3<n.length||-1<n.indexOf("\n")?i.value=t.prevInput="":t.prevInput=n,t.composing&&(t.composing.range.clear(),t.composing.range=e.markText(t.composing.start,e.getCursor("to"),{className:"CodeMirror-composing"}))}),!0},qs.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},qs.prototype.onKeyPress=function(){T&&9<=k&&(this.hasSelection=null),this.fastPoll()},qs.prototype.onContextMenu=function(t){var i=this,r=i.cm,n=r.display,o=i.textarea,e=or(r,t),s=n.scroller.scrollTop;if(e&&!g){r.options.resetSelectionOnContextMenu&&-1==r.doc.sel.contains(e)&&Vr(r,Yn)(r.doc,yn(e),q);var a=o.style.cssText,l=i.wrapper.style.cssText;i.wrapper.style.cssText="position: absolute";var c,h=i.wrapper.getBoundingClientRect();if(o.style.cssText="position: absolute; width: 30px; height: 30px;\n top: "+(t.clientY-h.top-5)+"px; left: "+(t.clientX-h.left-5)+"px;\n z-index: 1000; background: "+(T?"rgba(255, 255, 255, .05)":"transparent")+";\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);",y&&(c=window.scrollY),n.input.focus(),y&&window.scrollTo(null,c),n.input.reset(),r.somethingSelected()||(o.value=i.prevInput=" "),i.contextMenuPending=!0,n.selForContextMenu=r.doc.sel,clearTimeout(n.detectingSelectAll),T&&9<=k&&f(),b){fe(t);var u=function(){re(window,"mouseup",u),setTimeout(d,20)};ee(window,"mouseup",u)}else setTimeout(d,50)}function f(){if(null!=o.selectionStart){var t=r.somethingSelected(),e="​"+(t?o.value:"");o.value="⇚",o.value=e,i.prevInput=t?"":"​",o.selectionStart=1,o.selectionEnd=e.length,n.selForContextMenu=r.doc.sel}}function d(){if(i.contextMenuPending=!1,i.wrapper.style.cssText=l,o.style.cssText=a,T&&k<9&&n.scrollbars.setScrollTop(n.scroller.scrollTop=s),null!=o.selectionStart){(!T||T&&k<9)&&f();var t=0,e=function(){n.selForContextMenu==r.doc.sel&&0==o.selectionStart&&0<o.selectionEnd&&"​"==i.prevInput?Vr(r,eo)(r):t++<10?n.detectingSelectAll=setTimeout(e,500):(n.selForContextMenu=null,n.input.reset())};n.detectingSelectAll=setTimeout(e,200)}}},qs.prototype.readOnlyChanged=function(t){t||this.reset(),this.textarea.disabled="nocursor"==t},qs.prototype.setUneditable=function(){},qs.prototype.needsContentAttribute=!1,function(n){var o=n.optionHandlers;function t(t,e,r,i){n.defaults[t]=e,r&&(o[t]=i?function(t,e,i){i!=gs&&r(t,e,i)}:r)}n.defineOption=t,n.Init=gs,t("value","",function(t,e){return t.setValue(e)},!0),t("mode",null,function(t,e){t.doc.modeOption=e,wn(t)},!0),t("indentUnit",2,wn,!0),t("indentWithTabs",!1),t("smartIndent",!0),t("tabSize",4,function(t){En(t),Fi(t),$r(t)},!0),t("lineSeparator",null,function(t,r){if(t.doc.lineSep=r){var n=[],o=t.doc.first;t.doc.iter(function(t){for(var e=0;;){var i=t.text.indexOf(r,e);if(-1==i)break;e=i+r.length,n.push(gt(o,i))}o++});for(var e=n.length-1;0<=e;e--)lo(t.doc,r,n[e],gt(n[e].line,n[e].ch+r.length))}}),t("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b-\u200f\u2028\u2029\ufeff]/g,function(t,e,i){t.state.specialChars=new RegExp(e.source+(e.test("\t")?"":"|\t"),"g"),i!=gs&&t.refresh()}),t("specialCharPlaceholder",Ze,function(t){return t.refresh()},!0),t("electricChars",!0),t("inputStyle",f?"contenteditable":"textarea",function(){throw new Error("inputStyle can not (yet) be changed in a running editor")},!0),t("spellcheck",!1,function(t,e){return t.getInputField().spellcheck=e},!0),t("rtlMoveVisually",!p),t("wholeLineUpdateBefore",!0),t("theme","default",function(t){ms(t),ys(t)},!0),t("keyMap","default",function(t,e,i){var r=Go(e),n=i!=gs&&Go(i);n&&n.detach&&n.detach(t,r),r.attach&&r.attach(t,n||null)}),t("extraKeys",null),t("configureMouse",null),t("lineWrapping",!1,Ts,!0),t("gutters",[],function(t){hn(t.options),ys(t)},!0),t("fixedGutter",!0,function(t,e){t.display.gutters.style.left=e?ir(t.display)+"px":"0",t.refresh()},!0),t("coverGutterNextToScrollbar",!1,function(t){return Mr(t)},!0),t("scrollbarStyle","native",function(t){Br(t),Mr(t),t.display.scrollbars.setScrollTop(t.doc.scrollTop),t.display.scrollbars.setScrollLeft(t.doc.scrollLeft)},!0),t("lineNumbers",!1,function(t){hn(t.options),ys(t)},!0),t("firstLineNumber",1,ys,!0),t("lineNumberFormatter",function(t){return t},ys,!0),t("showCursorWhenSelecting",!1,ar,!0),t("resetSelectionOnContextMenu",!0),t("lineWiseCopyCut",!0),t("pasteLinesPerSelection",!0),t("selectionsMayTouch",!1),t("readOnly",!1,function(t,e){"nocursor"==e&&(gr(t),t.display.input.blur()),t.display.input.readOnlyChanged(e)}),t("disableInput",!1,function(t,e){e||t.display.input.reset()},!0),t("dragDrop",!0,xs),t("allowDropFileTypes",null),t("cursorBlinkRate",530),t("cursorScrollMargin",0),t("cursorHeight",1,ar,!0),t("singleCursorHeightPerLine",!0,ar,!0),t("workTime",100),t("workDelay",100),t("flattenSpans",!0,En,!0),t("addModeClass",!1,En,!0),t("pollInterval",100),t("undoDepth",200,function(t,e){return t.doc.history.undoDepth=e}),t("historyEventDelay",1250),t("viewportMargin",10,function(t){return t.refresh()},!0),t("maxHighlightLength",1e4,En,!0),t("moveInputWithCursor",!0,function(t,e){e||t.display.input.resetPosition()}),t("tabindex",null,function(t,e){return t.display.input.getField().tabIndex=e||""}),t("autofocus",null),t("direction","ltr",function(t,e){return t.doc.setDirection(e)},!0),t("phrases",null)}(ks),Ws=(Hs=ks).optionHandlers,zs=Hs.helpers={},Hs.prototype={constructor:Hs,focus:function(){window.focus(),this.display.input.focus()},setOption:function(t,e){var i=this.options,r=i[t];i[t]==e&&"mode"!=t||(i[t]=e,Ws.hasOwnProperty(t)&&Vr(this,Ws[t])(this,e,r),ne(this,"optionChange",this,t))},getOption:function(t){return this.options[t]},getDoc:function(){return this.doc},addKeyMap:function(t,e){this.state.keyMaps[e?"push":"unshift"](Go(t))},removeKeyMap:function(t){for(var e=this.state.keyMaps,i=0;i<e.length;++i)if(e[i]==t||e[i].name==t)return e.splice(i,1),!0},addOverlay:Yr(function(t,e){var i=t.token?t:Hs.getMode(this.options,t);if(i.startState)throw new Error("Overlays may not be stateful.");!function(t,e,i){for(var r=0,n=i(e);r<t.length&&i(t[r])<=n;)r++;t.splice(r,0,e)}(this.state.overlays,{mode:i,modeSpec:t,opaque:e&&e.opaque,priority:e&&e.priority||0},function(t){return t.priority}),this.state.modeGen++,$r(this)}),removeOverlay:Yr(function(t){for(var e=this.state.overlays,i=0;i<e.length;++i){var r=e[i].modeSpec;if(r==t||"string"==typeof t&&r.name==t)return e.splice(i,1),this.state.modeGen++,void $r(this)}}),indentLine:Yr(function(t,e,i){"string"!=typeof e&&"number"!=typeof e&&(e=null==e?this.options.smartIndent?"smart":"prev":e?"add":"subtract"),pt(this.doc,t)&&ws(this,t,e,i)}),indentSelection:Yr(function(t){for(var e=this.doc.sel.ranges,i=-1,r=0;r<e.length;r++){var n=e[r];if(n.empty())n.head.line>i&&(ws(this,n.head.line,t,!0),i=n.head.line,r==this.doc.sel.primIndex&&wr(this));else{var o=n.from(),s=n.to(),a=Math.max(i,o.line);i=Math.min(this.lastLine(),s.line-(s.ch?0:1))+1;for(var l=a;l<i;++l)ws(this,l,t);var c=this.doc.sel.ranges;0==o.ch&&e.length==c.length&&0<c[r].from().ch&&Gn(this.doc,r,new _n(o,c[r].to()),q)}}}),getTokenAt:function(t,e){return Ge(this,t,e)},getLineTokens:function(t,e){return Ge(this,gt(t),e,!0)},getTokenTypeAt:function(t){t=bt(this.doc,t);var e,i=Fe(this,lt(this.doc,t.line)),r=0,n=(i.length-1)/2,o=t.ch;if(0==o)e=i[2];else for(;;){var s=r+n>>1;if((s?i[2*s-1]:0)>=o)n=s;else{if(!(i[2*s+1]<o)){e=i[2*s+2];break}r=s+1}}var a=e?e.indexOf("overlay "):-1;return a<0?e:0==a?null:e.slice(0,a-1)},getModeAt:function(t){var e=this.doc.mode;return e.innerMode?Hs.innerMode(e,this.getTokenAt(t).state).mode:e},getHelper:function(t,e){return this.getHelpers(t,e)[0]},getHelpers:function(t,e){var i=[];if(!zs.hasOwnProperty(e))return i;var r=zs[e],n=this.getModeAt(t);if("string"==typeof n[e])r[n[e]]&&i.push(r[n[e]]);else if(n[e])for(var o=0;o<n[e].length;o++){var s=r[n[e][o]];s&&i.push(s)}else n.helperType&&r[n.helperType]?i.push(r[n.helperType]):r[n.name]&&i.push(r[n.name]);for(var a=0;a<r._global.length;a++){var l=r._global[a];l.pred(n,this)&&-1==H(i,l.val)&&i.push(l.val)}return i},getStateAfter:function(t,e){var i=this.doc;return Ue(this,(t=kt(i,null==t?i.first+i.size-1:t))+1,e).state},cursorCoords:function(t,e){var i=this.doc.sel.primary();return ji(this,null==t?i.head:"object"==typeof t?bt(this.doc,t):t?i.from():i.to(),e||"page")},charCoords:function(t,e){return Gi(this,bt(this.doc,t),e||"page")},coordsChar:function(t,e){return Ki(this,(t=qi(this,t,e||"page")).left,t.top)},lineAtHeight:function(t,e){return t=qi(this,{top:t,left:0},e||"page").top,dt(this.doc,t+this.display.viewOffset)},heightAtLine:function(t,e,i){var r,n=!1;if("number"==typeof t){var o=this.doc.first+this.doc.size-1;t<this.doc.first?t=this.doc.first:o<t&&(t=o,n=!0),r=lt(this.doc,t)}else r=t;return zi(this,r,{top:0,left:0},e||"page",i||n).top+(n?this.doc.height-Yt(r):0)},defaultTextHeight:function(){return Ji(this.display)},defaultCharWidth:function(){return tr(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(t,e,i,r,n){var o,s,a,l=this.display,c=(t=ji(this,bt(this.doc,t))).bottom,h=t.left;if(e.style.position="absolute",e.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(e),l.sizer.appendChild(e),"over"==r)c=t.top;else if("above"==r||"near"==r){var u=Math.max(l.wrapper.clientHeight,this.doc.height),f=Math.max(l.sizer.clientWidth,l.lineSpace.clientWidth);("above"==r||t.bottom+e.offsetHeight>u)&&t.top>e.offsetHeight?c=t.top-e.offsetHeight:t.bottom+e.offsetHeight<=u&&(c=t.bottom),h+e.offsetWidth>f&&(h=f-e.offsetWidth)}e.style.top=c+"px",e.style.left=e.style.right="","right"==n?(h=l.sizer.clientWidth-e.offsetWidth,e.style.right="0px"):("left"==n?h=0:"middle"==n&&(h=(l.sizer.clientWidth-e.offsetWidth)/2),e.style.left=h+"px"),i&&(o=this,s={left:h,top:c,right:h+e.offsetWidth,bottom:c+e.offsetHeight},null!=(a=kr(o,s)).scrollTop&&Ar(o,a.scrollTop),null!=a.scrollLeft&&Nr(o,a.scrollLeft))},triggerOnKeyDown:Yr(ns),triggerOnKeyPress:Yr(ss),triggerOnKeyUp:os,triggerOnMouseDown:Yr(hs),execCommand:function(t){if($o.hasOwnProperty(t))return $o[t].call(null,this)},triggerElectric:Yr(function(t){Ls(this,t)}),findPosH:function(t,e,i,r){var n=1;e<0&&(n=-1,e=-e);for(var o=bt(this.doc,t),s=0;s<e&&!(o=Rs(this.doc,o,n,i,r)).hitSide;++s);return o},moveH:Yr(function(e,i){var r=this;this.extendSelectionsBy(function(t){return r.display.shift||r.doc.extend||t.empty()?Rs(r.doc,t.head,e,i,r.options.rtlMoveVisually):e<0?t.from():t.to()},j)}),deleteH:Yr(function(i,r){var t=this.doc.sel,n=this.doc;t.somethingSelected()?n.replaceSelection("",null,"+delete"):jo(this,function(t){var e=Rs(n,t.head,i,r,!1);return i<0?{from:e,to:t.head}:{from:t.head,to:e}})}),findPosV:function(t,e,i,r){var n=1,o=r;e<0&&(n=-1,e=-e);for(var s=bt(this.doc,t),a=0;a<e;++a){var l=ji(this,s,"div");if(null==o?o=l.left:l.left=o,(s=Ms(this,l,n,i)).hitSide)break}return s},moveV:Yr(function(r,n){var o=this,s=this.doc,a=[],l=!this.display.shift&&!s.extend&&s.sel.somethingSelected();if(s.extendSelectionsBy(function(t){if(l)return r<0?t.from():t.to();var e=ji(o,t.head,"div");null!=t.goalColumn&&(e.left=t.goalColumn),a.push(e.left);var i=Ms(o,e,r,n);return"page"==n&&t==s.sel.primary()&&br(o,Gi(o,i,"div").top-e.top),i},j),a.length)for(var t=0;t<s.sel.ranges.length;t++)s.sel.ranges[t].goalColumn=a[t]}),findWordAt:function(t){var e=lt(this.doc,t.line).text,i=t.ch,r=t.ch;if(e){var n=this.getHelper(t,"wordChars");"before"!=t.sticky&&r!=e.length||!i?++r:--i;for(var o=e.charAt(i),s=et(o,n)?function(t){return et(t,n)}:/\s/.test(o)?function(t){return/\s/.test(t)}:function(t){return!/\s/.test(t)&&!et(t)};0<i&&s(e.charAt(i-1));)--i;for(;r<e.length&&s(e.charAt(r));)++r}return new _n(gt(t.line,i),gt(t.line,r))},toggleOverwrite:function(t){null!=t&&t==this.state.overwrite||((this.state.overwrite=!this.state.overwrite)?R(this.display.cursorDiv,"CodeMirror-overwrite"):C(this.display.cursorDiv,"CodeMirror-overwrite"),ne(this,"overwriteToggle",this,this.state.overwrite))},hasFocus:function(){return this.display.input.getField()==I()},isReadOnly:function(){return!(!this.options.readOnly&&!this.doc.cantEdit)},scrollTo:Yr(function(t,e){Er(this,t,e)}),getScrollInfo:function(){var t=this.display.scroller;return{left:t.scrollLeft,top:t.scrollTop,height:t.scrollHeight-wi(this)-this.display.barHeight,width:t.scrollWidth-wi(this)-this.display.barWidth,clientHeight:Ci(this),clientWidth:Ei(this)}},scrollIntoView:Yr(function(t,e){var i,r;null==t?(t={from:this.doc.sel.primary().head,to:null},null==e&&(e=this.options.cursorScrollMargin)):"number"==typeof t?t={from:gt(t,0),to:null}:null==t.from&&(t={from:t,to:null}),t.to||(t.to=t.from),t.margin=e||0,null!=t.from.line?(r=t,Cr(i=this),i.curOp.scrollToPos=r):Sr(this,t.from,t.to,t.margin)}),setSize:Yr(function(t,e){var i=this,r=function(t){return"number"==typeof t||/^\d+$/.test(String(t))?t+"px":t};null!=t&&(this.display.wrapper.style.width=r(t)),null!=e&&(this.display.wrapper.style.height=r(e)),this.options.lineWrapping&&Bi(this);var n=this.display.viewFrom;this.doc.iter(n,this.display.viewTo,function(t){if(t.widgets)for(var e=0;e<t.widgets.length;e++)if(t.widgets[e].noHScroll){Qr(i,n,"widget");break}++n}),this.curOp.forceUpdate=!0,ne(this,"refresh",this)}),operation:function(t){return jr(this,t)},startOperation:function(){return Ur(this)},endOperation:function(){return Hr(this)},refresh:Yr(function(){var t=this.display.cachedTextHeight;$r(this),this.curOp.forceUpdate=!0,Fi(this),Er(this,this.doc.scrollLeft,this.doc.scrollTop),an(this),(null==t||.5<Math.abs(t-Ji(this.display)))&&nr(this),ne(this,"refresh",this)}),swapDoc:Yr(function(t){var e=this.doc;return e.cm=null,Ln(this,t),Fi(this),this.display.input.reset(),Er(this,t.scrollLeft,t.scrollTop),this.curOp.forceScroll=!0,ai(this,"swapDoc",this,e),e}),phrase:function(t){var e=this.options.phrases;return e&&Object.prototype.hasOwnProperty.call(e,t)?e[t]:t},getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},le(Hs),Hs.registerHelper=function(t,e,i){zs.hasOwnProperty(t)||(zs[t]=Hs[t]={_global:[]}),zs[t][e]=i},Hs.registerGlobalHelper=function(t,e,i,r){Hs.registerHelper(t,e,r),zs[t]._global.push({pred:i,val:r})};var Gs,js="iter insert remove copy getEditor constructor".split(" ");for(var Vs in Eo.prototype)Eo.prototype.hasOwnProperty(Vs)&&H(js,Vs)<0&&(ks.prototype[Vs]=function(t){return function(){return t.apply(this.doc,arguments)}}(Eo.prototype[Vs]));return le(Eo),ks.inputStyles={textarea:qs,contenteditable:Ds},ks.defineMode=function(t){ks.defaults.mode||"null"==t||(ks.defaults.mode=t),function(t,e){2<arguments.length&&(e.dependencies=Array.prototype.slice.call(arguments,2)),Ee[t]=e}.apply(this,arguments)},ks.defineMIME=function(t,e){Ce[t]=e},ks.defineMode("null",function(){return{token:function(t){return t.skipToEnd()}}}),ks.defineMIME("text/plain","null"),ks.defineExtension=function(t,e){ks.prototype[t]=e},ks.defineDocExtension=function(t,e){Eo.prototype[t]=e},ks.fromTextArea=function(e,t){if((t=t?B(t):{}).value=e.value,!t.tabindex&&e.tabIndex&&(t.tabindex=e.tabIndex),!t.placeholder&&e.placeholder&&(t.placeholder=e.placeholder),null==t.autofocus){var i=I();t.autofocus=i==e||null!=e.getAttribute("autofocus")&&i==document.body}function r(){e.value=a.getValue()}var n;if(e.form&&(ee(e.form,"submit",r),!t.leaveSubmitMethodAlone)){var o=e.form;n=o.submit;try{var s=o.submit=function(){r(),o.submit=n,o.submit(),o.submit=s}}catch(t){}}t.finishInit=function(t){t.save=r,t.getTextArea=function(){return e},t.toTextArea=function(){t.toTextArea=isNaN,r(),e.parentNode.removeChild(t.getWrapperElement()),e.style.display="",e.form&&(re(e.form,"submit",r),"function"==typeof e.form.submit&&(e.form.submit=n))}},e.style.display="none";var a=ks(function(t){return e.parentNode.insertBefore(t,e.nextSibling)},t);return a},(Gs=ks).off=re,Gs.on=ee,Gs.wheelEventPixels=pn,Gs.Doc=Eo,Gs.splitLines=Te,Gs.countColumn=F,Gs.findColumn=V,Gs.isWordChar=tt,Gs.Pass=z,Gs.signal=ne,Gs.Line=Ye,Gs.changeEnd=xn,Gs.scrollbarModel=Pr,Gs.Pos=gt,Gs.cmpPos=_t,Gs.modes=Ee,Gs.mimeModes=Ce,Gs.resolveMode=Se,Gs.getMode=Ae,Gs.modeExtensions=Le,Gs.extendMode=Ne,Gs.copyState=Oe,Gs.startState=Re,Gs.innerMode=Ie,Gs.commands=$o,Gs.keyMap=Bo,Gs.keyName=qo,Gs.isModifierKey=Wo,Gs.lookupKey=Ho,Gs.normalizeKeyMap=Uo,Gs.StringStream=Me,Gs.SharedTextMarker=To,Gs.TextMarker=yo,Gs.LineWidget=go,Gs.e_preventDefault=ce,Gs.e_stopPropagation=he,Gs.e_stop=fe,Gs.addClass=R,Gs.contains=O,Gs.rmClass=C,Gs.keyNames=Ro,ks.version="5.42.0",ks},"object"==typeof i&&void 0!==e?e.exports=n():"function"==typeof define&&define.amd?define(n):r.CodeMirror=n()},{}],13:[function(t,e,i){var r;r=function(N){"use strict";function O(t,e,i,r,n,o){this.indented=t,this.column=e,this.type=i,this.info=r,this.align=n,this.prev=o}function I(t,e,i,r){var n=t.indented;return t.context&&"statement"==t.context.type&&"statement"!=i&&(n=t.context.indented),t.context=new O(n,e,i,r,null,t.context)}function R(t){var e=t.context.type;return")"!=e&&"]"!=e&&"}"!=e||(t.indented=t.context.indented),t.context=t.context.prev}function M(t,e,i){return"variable"==e.prevToken||"type"==e.prevToken||(!!/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(t.string.slice(0,i))||(!(!e.typeAtEndOfLine||t.column()!=t.indentation())||void 0))}function D(t){for(;;){if(!t||"top"==t.type)return!0;if("}"==t.type&&"namespace"!=t.prev.info)return!1;t=t.prev}}function t(t){for(var e={},i=t.split(" "),r=0;r<i.length;++r)e[i[r]]=!0;return e}function P(t,e){return"function"==typeof t?t(e):t.propertyIsEnumerable(e)}N.defineMode("clike",function(t,a){var s,l,c=t.indentUnit,h=a.statementIndentUnit||c,u=a.dontAlignCalls,f=a.keywords||{},d=a.types||{},p=a.builtin||{},m=a.blockKeywords||{},g=a.defKeywords||{},_=a.atoms||{},v=a.hooks||{},y=a.multiLineStrings,o=!1!==a.indentStatements,e=!1!==a.indentSwitch,x=a.namespaceSeparator,T=a.isPunctuationChar||/[\[\]{}\(\),;\:\.]/,k=a.numberStart||/[\d\.]/,b=a.number||/^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,w=a.isOperatorChar||/[+\-*&%=<>!?|\/]/,E=a.isIdentifierChar||/[\w\$_\xa1-\uffff]/,C=a.isReservedIdentifier||!1;function S(t,e){var o,i=t.next();if(v[i]){var r=v[i](t,e);if(!1!==r)return r}if('"'==i||"'"==i)return e.tokenize=(o=i,function(t,e){for(var i,r=!1,n=!1;null!=(i=t.next());){if(i==o&&!r){n=!0;break}r=!r&&"\\"==i}return(n||!r&&!y)&&(e.tokenize=null),"string"}),e.tokenize(t,e);if(T.test(i))return s=i,null;if(k.test(i)){if(t.backUp(1),t.match(b))return"number";t.next()}if("/"==i){if(t.eat("*"))return(e.tokenize=A)(t,e);if(t.eat("/"))return t.skipToEnd(),"comment"}if(w.test(i)){for(;!t.match(/^\/[\/*]/,!1)&&t.eat(w););return"operator"}if(t.eatWhile(E),x)for(;t.match(x);)t.eatWhile(E);var n=t.current();return P(f,n)?(P(m,n)&&(s="newstatement"),P(g,n)&&(l=!0),"keyword"):P(d,n)?"type":P(p,n)||C&&C(n)?(P(m,n)&&(s="newstatement"),"builtin"):P(_,n)?"atom":"variable"}function A(t,e){for(var i,r=!1;i=t.next();){if("/"==i&&r){e.tokenize=null;break}r="*"==i}return"comment"}function L(t,e){a.typeFirstDefinitions&&t.eol()&&D(e.context)&&(e.typeAtEndOfLine=M(t,e,t.pos))}return{startState:function(t){return{tokenize:null,context:new O((t||0)-c,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(t,e){var i=e.context;if(t.sol()&&(null==i.align&&(i.align=!1),e.indented=t.indentation(),e.startOfLine=!0),t.eatSpace())return L(t,e),null;s=l=null;var r=(e.tokenize||S)(t,e);if("comment"==r||"meta"==r)return r;if(null==i.align&&(i.align=!0),";"==s||":"==s||","==s&&t.match(/^\s*(?:\/\/.*)?$/,!1))for(;"statement"==e.context.type;)R(e);else if("{"==s)I(e,t.column(),"}");else if("["==s)I(e,t.column(),"]");else if("("==s)I(e,t.column(),")");else if("}"==s){for(;"statement"==i.type;)i=R(e);for("}"==i.type&&(i=R(e));"statement"==i.type;)i=R(e)}else s==i.type?R(e):o&&(("}"==i.type||"top"==i.type)&&";"!=s||"statement"==i.type&&"newstatement"==s)&&I(e,t.column(),"statement",t.current());if("variable"==r&&("def"==e.prevToken||a.typeFirstDefinitions&&M(t,e,t.start)&&D(e.context)&&t.match(/^\s*\(/,!1))&&(r="def"),v.token){var n=v.token(t,e,r);void 0!==n&&(r=n)}return"def"==r&&!1===a.styleDefs&&(r="variable"),e.startOfLine=!1,e.prevToken=l?"def":r||s,L(t,e),r},indent:function(t,e){if(t.tokenize!=S&&null!=t.tokenize||t.typeAtEndOfLine)return N.Pass;var i=t.context,r=e&&e.charAt(0),n=r==i.type;if("statement"==i.type&&"}"==r&&(i=i.prev),a.dontIndentStatements)for(;"statement"==i.type&&a.dontIndentStatements.test(i.info);)i=i.prev;if(v.indent){var o=v.indent(t,i,e,c);if("number"==typeof o)return o}var s=i.prev&&"switch"==i.prev.info;if(a.allmanIndentation&&/[{(]/.test(r)){for(;"top"!=i.type&&"}"!=i.type;)i=i.prev;return i.indented}return"statement"==i.type?i.indented+("{"==r?0:h):!i.align||u&&")"==i.type?")"!=i.type||n?i.indented+(n?0:c)+(n||!s||/^(?:case|default)\b/.test(e)?0:c):i.indented+h:i.column+(n?0:1)},electricInput:e?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:"//",fold:"brace"}});var e="auto if break case register continue return default do sizeof static else struct switch extern typedef union for goto while enum const volatile inline restrict asm fortran",i=t("int long char short double float unsigned signed void bool"),r=t("SEL instancetype id Class Protocol BOOL");function n(t){return P(i,t)||/.+_t/.test(t)}var o="case do else for if switch while struct enum union",s="struct enum union";function a(t,e){if(!e.startOfLine)return!1;for(var i,r=null;i=t.peek();){if("\\"==i&&t.match(/^.$/)){r=a;break}if("/"==i&&t.match(/^\/[\/\*]/,!1))break;t.next()}return e.tokenize=r,"meta"}function l(t,e){return"type"==e.prevToken&&"type"}function c(t){return!(!t||t.length<2)&&("_"==t[0]&&("_"==t[1]||t[1]!==t[1].toLowerCase()))}function h(t){return t.eatWhile(/[\w\.']/),"number"}function u(t,e){if(t.backUp(1),t.match(/(R|u8R|uR|UR|LR)/)){var i=t.match(/"([^\s\\()]{0,16})\(/);return!!i&&(e.cpp11RawStringDelim=i[1],(e.tokenize=d)(t,e))}return t.match(/(u8|u|U|L)/)?!!t.match(/["']/,!1)&&"string":(t.next(),!1)}function f(t,e){for(var i;null!=(i=t.next());)if('"'==i&&!t.eat('"')){e.tokenize=null;break}return"string"}function d(t,e){var i=e.cpp11RawStringDelim.replace(/[^\w\s]/g,"\\$&");return t.match(new RegExp(".*?\\)"+i+'"'))?e.tokenize=null:t.skipToEnd(),"string"}function p(t,e){"string"==typeof t&&(t=[t]);var i=[];function r(t){if(t)for(var e in t)t.hasOwnProperty(e)&&i.push(e)}r(e.keywords),r(e.types),r(e.builtin),r(e.atoms),i.length&&(e.helperType=t[0],N.registerHelper("hintWords",t[0],i));for(var n=0;n<t.length;++n)N.defineMIME(t[n],e)}function m(t,e){for(var i=!1;!t.eol();){if(!i&&t.match('"""')){e.tokenize=null;break}i="\\"==t.next()&&!i}return"string"}p(["text/x-csrc","text/x-c","text/x-chdr"],{name:"clike",keywords:t(e),types:n,blockKeywords:t(o),defKeywords:t(s),typeFirstDefinitions:!0,atoms:t("NULL true false"),isReservedIdentifier:c,hooks:{"#":a,"*":l},modeProps:{fold:["brace","include"]}}),p(["text/x-c++src","text/x-c++hdr"],{name:"clike",keywords:t(e+"alignas alignof and and_eq audit axiom bitand bitor catch class compl concept constexpr const_cast decltype delete dynamic_cast explicit export final friend import module mutable namespace new noexcept not not_eq operator or or_eq override private protected public reinterpret_cast requires static_assert static_cast template this thread_local throw try typeid typename using virtual xor xor_eq"),types:n,blockKeywords:t(o+" class try catch"),defKeywords:t(s+" class namespace"),typeFirstDefinitions:!0,atoms:t("true false NULL nullptr"),dontIndentStatements:/^template$/,isIdentifierChar:/[\w\$_~\xa1-\uffff]/,isReservedIdentifier:c,hooks:{"#":a,"*":l,u:u,U:u,L:u,R:u,0:h,1:h,2:h,3:h,4:h,5:h,6:h,7:h,8:h,9:h,token:function(t,e,i){if("variable"==i&&"("==t.peek()&&(";"==e.prevToken||null==e.prevToken||"}"==e.prevToken)&&(r=t.current(),(n=/(\w+)::~?(\w+)$/.exec(r))&&n[1]==n[2]))return"def";var r,n}},namespaceSeparator:"::",modeProps:{fold:["brace","include"]}}),p("text/x-java",{name:"clike",keywords:t("abstract assert break case catch class const continue default do else enum extends final finally float for goto if implements import instanceof interface native new package private protected public return static strictfp super switch synchronized this throw throws transient try volatile while @interface"),types:t("byte short int long float double boolean char void Boolean Byte Character Double Float Integer Long Number Object Short String StringBuffer StringBuilder Void"),blockKeywords:t("catch class do else finally for if switch try while"),defKeywords:t("class interface enum @interface"),typeFirstDefinitions:!0,atoms:t("true false null"),number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+\.?\d*|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,hooks:{"@":function(t){return!t.match("interface",!1)&&(t.eatWhile(/[\w\$_]/),"meta")}},modeProps:{fold:["brace","import"]}}),p("text/x-csharp",{name:"clike",keywords:t("abstract as async await base break case catch checked class const continue default delegate do else enum event explicit extern finally fixed for foreach goto if implicit in interface internal is lock namespace new operator out override params private protected public readonly ref return sealed sizeof stackalloc static struct switch this throw try typeof unchecked unsafe using virtual void volatile while add alias ascending descending dynamic from get global group into join let orderby partial remove select set value var yield"),types:t("Action Boolean Byte Char DateTime DateTimeOffset Decimal Double Func Guid Int16 Int32 Int64 Object SByte Single String Task TimeSpan UInt16 UInt32 UInt64 bool byte char decimal double short int long object sbyte float string ushort uint ulong"),blockKeywords:t("catch class do else finally for foreach if struct switch try while"),defKeywords:t("class interface namespace struct var"),typeFirstDefinitions:!0,atoms:t("true false null"),hooks:{"@":function(t,e){return t.eat('"')?(e.tokenize=f)(t,e):(t.eatWhile(/[\w\$_]/),"meta")}}}),p("text/x-scala",{name:"clike",keywords:t("abstract case catch class def do else extends final finally for forSome if implicit import lazy match new null object override package private protected return sealed super this throw trait try type val var while with yield _ assert assume require print println printf readLine readBoolean readByte readShort readChar readInt readLong readFloat readDouble"),types:t("AnyVal App Application Array BufferedIterator BigDecimal BigInt Char Console Either Enumeration Equiv Error Exception Fractional Function IndexedSeq Int Integral Iterable Iterator List Map Numeric Nil NotNull Option Ordered Ordering PartialFunction PartialOrdering Product Proxy Range Responder Seq Serializable Set Specializable Stream StringBuilder StringContext Symbol Throwable Traversable TraversableOnce Tuple Unit Vector Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void"),multiLineStrings:!0,blockKeywords:t("catch class enum do else finally for forSome if match switch try while"),defKeywords:t("class enum def object package trait type val var"),atoms:t("true false null"),indentStatements:!1,indentSwitch:!1,isOperatorChar:/[+\-*&%=<>!?|\/#:@]/,hooks:{"@":function(t){return t.eatWhile(/[\w\$_]/),"meta"},'"':function(t,e){return!!t.match('""')&&(e.tokenize=m,e.tokenize(t,e))},"'":function(t){return t.eatWhile(/[\w\$_\xa1-\uffff]/),"atom"},"=":function(t,e){var i=e.context;return!("}"!=i.type||!i.align||!t.eat(">"))&&(e.context=new O(i.indented,i.column,i.type,i.info,null,i.prev),"operator")},"/":function(t,e){return!!t.eat("*")&&(e.tokenize=function r(n){return function(t,e){for(var i;i=t.next();){if("*"==i&&t.eat("/")){if(1!=n)return e.tokenize=r(n-1),e.tokenize(t,e);e.tokenize=null;break}if("/"==i&&t.eat("*"))return e.tokenize=r(n+1),e.tokenize(t,e)}return"comment"}}(1),e.tokenize(t,e))}},modeProps:{closeBrackets:{pairs:'()[]{}""',triples:'"'}}}),p("text/x-kotlin",{name:"clike",keywords:t("package as typealias class interface this super val operator var fun for is in This throw return annotation break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend actual expect setparam"),types:t("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void Annotation Any BooleanArray ByteArray Char CharArray DeprecationLevel DoubleArray Enum FloatArray Function Int IntArray Lazy LazyThreadSafetyMode LongArray Nothing ShortArray Unit"),intendSwitch:!1,indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+(\.\d+)?|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,blockKeywords:t("catch class do else finally for if where try while enum"),defKeywords:t("class val var object interface fun"),atoms:t("true false null this"),hooks:{"@":function(t){return t.eatWhile(/[\w\$_]/),"meta"},"*":function(t,e){return"."==e.prevToken?"variable":"operator"},'"':function(t,e){var o;return e.tokenize=(o=t.match('""'),function(t,e){for(var i,r=!1,n=!1;!t.eol();){if(!o&&!r&&t.match('"')){n=!0;break}if(o&&t.match('"""')){n=!0;break}i=t.next(),!r&&"$"==i&&t.match("{")&&t.skipTo("}"),r=!r&&"\\"==i&&!o}return!n&&o||(e.tokenize=null),"string"}),e.tokenize(t,e)},indent:function(t,e,i,r){var n=i&&i.charAt(0);return"}"!=t.prevToken&&")"!=t.prevToken||""!=i?"operator"==t.prevToken&&"}"!=i||"variable"==t.prevToken&&"."==n||("}"==t.prevToken||")"==t.prevToken)&&"."==n?2*r+e.indented:e.align&&"}"==e.type?e.indented+(t.context.type==(i||"").charAt(0)?0:r):void 0:t.indented}},modeProps:{closeBrackets:{triples:'"'}}}),p(["x-shader/x-vertex","x-shader/x-fragment"],{name:"clike",keywords:t("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:t("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:t("for while do if else struct"),builtin:t("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:t("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TexureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),indentSwitch:!1,hooks:{"#":a},modeProps:{fold:["brace","include"]}}),p("text/x-nesc",{name:"clike",keywords:t(e+" as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:n,blockKeywords:t(o),atoms:t("null true false"),hooks:{"#":a},modeProps:{fold:["brace","include"]}}),p("text/x-objectivec",{name:"clike",keywords:t(e+" bycopy byref in inout oneway out self super atomic nonatomic retain copy readwrite readonly strong weak assign typeof nullable nonnull null_resettable _cmd @interface @implementation @end @protocol @encode @property @synthesize @dynamic @class @public @package @private @protected @required @optional @try @catch @finally @import @selector @encode @defs @synchronized @autoreleasepool @compatibility_alias @available"),types:function(t){return n(t)||P(r,t)},builtin:t("FOUNDATION_EXPORT FOUNDATION_EXTERN NS_INLINE NS_FORMAT_FUNCTION NS_RETURNS_RETAINED NS_ERROR_ENUM NS_RETURNS_NOT_RETAINED NS_RETURNS_INNER_POINTER NS_DESIGNATED_INITIALIZER NS_ENUM NS_OPTIONS NS_REQUIRES_NIL_TERMINATION NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_SWIFT_NAME NS_REFINED_FOR_SWIFT"),blockKeywords:t(o+" @synthesize @try @catch @finally @autoreleasepool @synchronized"),defKeywords:t(s+" @interface @implementation @protocol @class"),dontIndentStatements:/^@.*$/,typeFirstDefinitions:!0,atoms:t("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:c,hooks:{"#":a,"*":l},modeProps:{fold:["brace","include"]}}),p("text/x-squirrel",{name:"clike",keywords:t("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:n,blockKeywords:t("case catch class else for foreach if switch try while"),defKeywords:t("function local class"),typeFirstDefinitions:!0,atoms:t("true false null"),hooks:{"#":a},modeProps:{fold:["brace","include"]}});var g=null;p("text/x-ceylon",{name:"clike",keywords:t("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"),types:function(t){var e=t.charAt(0);return e===e.toUpperCase()&&e!==e.toLowerCase()},blockKeywords:t("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:t("class dynamic function interface module object package value"),builtin:t("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;\:\.`]/,isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:t("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(t){return t.eatWhile(/[\w\$_]/),"meta"},'"':function(t,e){return e.tokenize=function o(s){return function(t,e){for(var i,r=!1,n=!1;!t.eol();){if(!r&&t.match('"')&&("single"==s||t.match('""'))){n=!0;break}if(!r&&t.match("``")){g=o(s),n=!0;break}i=t.next(),r="single"==s&&!r&&"\\"==i}return n&&(e.tokenize=null),"string"}}(t.match('""')?"triple":"single"),e.tokenize(t,e)},"`":function(t,e){return!(!g||!t.match("`"))&&(e.tokenize=g,g=null,e.tokenize(t,e))},"'":function(t){return t.eatWhile(/[\w\$_\xa1-\uffff]/),"atom"},token:function(t,e,i){if(("variable"==i||"type"==i)&&"."==e.prevToken)return"variable-2"}},modeProps:{fold:["brace","import"],closeBrackets:{triples:'"'}}})},"object"==typeof i&&"object"==typeof e?r(t("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],r):r(CodeMirror)},{"../../lib/codemirror":12}],14:[function(t,e,i){var r;r=function(N){"use strict";function t(t){for(var e={},i=0;i<t.length;++i)e[t[i].toLowerCase()]=!0;return e}N.defineMode("css",function(t,e){var i=e.inline;e.propertyKeywords||(e=N.resolveMode("text/css"));var r,n,o=t.indentUnit,s=e.tokenHooks,a=e.documentTypes||{},l=e.mediaTypes||{},c=e.mediaFeatures||{},h=e.mediaValueKeywords||{},u=e.propertyKeywords||{},f=e.nonStandardPropertyKeywords||{},d=e.fontProperties||{},p=e.counterDescriptors||{},m=e.colorKeywords||{},g=e.valueKeywords||{},_=e.allowNested,v=e.lineComment,y=!0===e.supportsAtComponent;function x(t,e){return r=e,t}function T(n){return function(t,e){for(var i,r=!1;null!=(i=t.next());){if(i==n&&!r){")"==n&&t.backUp(1);break}r=!r&&"\\"==i}return(i==n||!r&&")"!=n)&&(e.tokenize=null),x("string","string")}}function k(t,e){return t.next(),t.match(/\s*[\"\')]/,!1)?e.tokenize=null:e.tokenize=T(")"),x(null,"(")}function b(t,e,i){this.type=t,this.indent=e,this.prev=i}function w(t,e,i,r){return t.context=new b(i,e.indentation()+(!1===r?0:o),t.context),i}function E(t){return t.context.prev&&(t.context=t.context.prev),t.context.type}function C(t,e,i){return L[i.context.type](t,e,i)}function S(t,e,i,r){for(var n=r||1;0<n;n--)i.context=i.context.prev;return C(t,e,i)}function A(t){var e=t.current().toLowerCase();n=g.hasOwnProperty(e)?"atom":m.hasOwnProperty(e)?"keyword":"variable"}var L={top:function(t,e,i){if("{"==t)return w(i,e,"block");if("}"==t&&i.context.prev)return E(i);if(y&&/@component/i.test(t))return w(i,e,"atComponentBlock");if(/^@(-moz-)?document$/i.test(t))return w(i,e,"documentTypes");if(/^@(media|supports|(-moz-)?document|import)$/i.test(t))return w(i,e,"atBlock");if(/^@(font-face|counter-style)/i.test(t))return i.stateArg=t,"restricted_atBlock_before";if(/^@(-(moz|ms|o|webkit)-)?keyframes$/i.test(t))return"keyframes";if(t&&"@"==t.charAt(0))return w(i,e,"at");if("hash"==t)n="builtin";else if("word"==t)n="tag";else{if("variable-definition"==t)return"maybeprop";if("interpolation"==t)return w(i,e,"interpolation");if(":"==t)return"pseudo";if(_&&"("==t)return w(i,e,"parens")}return i.context.type},block:function(t,e,i){if("word"!=t)return"meta"==t?"block":_||"hash"!=t&&"qualifier"!=t?L.top(t,e,i):(n="error","block");var r=e.current().toLowerCase();return u.hasOwnProperty(r)?(n="property","maybeprop"):f.hasOwnProperty(r)?(n="string-2","maybeprop"):_?(n=e.match(/^\s*:(?:\s|$)/,!1)?"property":"tag","block"):(n+=" error","maybeprop")},maybeprop:function(t,e,i){return":"==t?w(i,e,"prop"):C(t,e,i)},prop:function(t,e,i){if(";"==t)return E(i);if("{"==t&&_)return w(i,e,"propBlock");if("}"==t||"{"==t)return S(t,e,i);if("("==t)return w(i,e,"parens");if("hash"!=t||/^#([0-9a-fA-f]{3,4}|[0-9a-fA-f]{6}|[0-9a-fA-f]{8})$/.test(e.current())){if("word"==t)A(e);else if("interpolation"==t)return w(i,e,"interpolation")}else n+=" error";return"prop"},propBlock:function(t,e,i){return"}"==t?E(i):"word"==t?(n="property","maybeprop"):i.context.type},parens:function(t,e,i){return"{"==t||"}"==t?S(t,e,i):")"==t?E(i):"("==t?w(i,e,"parens"):"interpolation"==t?w(i,e,"interpolation"):("word"==t&&A(e),"parens")},pseudo:function(t,e,i){return"meta"==t?"pseudo":"word"==t?(n="variable-3",i.context.type):C(t,e,i)},documentTypes:function(t,e,i){return"word"==t&&a.hasOwnProperty(e.current())?(n="tag",i.context.type):L.atBlock(t,e,i)},atBlock:function(t,e,i){if("("==t)return w(i,e,"atBlock_parens");if("}"==t||";"==t)return S(t,e,i);if("{"==t)return E(i)&&w(i,e,_?"block":"top");if("interpolation"==t)return w(i,e,"interpolation");if("word"==t){var r=e.current().toLowerCase();n="only"==r||"not"==r||"and"==r||"or"==r?"keyword":l.hasOwnProperty(r)?"attribute":c.hasOwnProperty(r)?"property":h.hasOwnProperty(r)?"keyword":u.hasOwnProperty(r)?"property":f.hasOwnProperty(r)?"string-2":g.hasOwnProperty(r)?"atom":m.hasOwnProperty(r)?"keyword":"error"}return i.context.type},atComponentBlock:function(t,e,i){return"}"==t?S(t,e,i):"{"==t?E(i)&&w(i,e,_?"block":"top",!1):("word"==t&&(n="error"),i.context.type)},atBlock_parens:function(t,e,i){return")"==t?E(i):"{"==t||"}"==t?S(t,e,i,2):L.atBlock(t,e,i)},restricted_atBlock_before:function(t,e,i){return"{"==t?w(i,e,"restricted_atBlock"):"word"==t&&"@counter-style"==i.stateArg?(n="variable","restricted_atBlock_before"):C(t,e,i)},restricted_atBlock:function(t,e,i){return"}"==t?(i.stateArg=null,E(i)):"word"==t?(n="@font-face"==i.stateArg&&!d.hasOwnProperty(e.current().toLowerCase())||"@counter-style"==i.stateArg&&!p.hasOwnProperty(e.current().toLowerCase())?"error":"property","maybeprop"):"restricted_atBlock"},keyframes:function(t,e,i){return"word"==t?(n="variable","keyframes"):"{"==t?w(i,e,"top"):C(t,e,i)},at:function(t,e,i){return";"==t?E(i):"{"==t||"}"==t?S(t,e,i):("word"==t?n="tag":"hash"==t&&(n="builtin"),"at")},interpolation:function(t,e,i){return"}"==t?E(i):"{"==t||";"==t?S(t,e,i):("word"==t?n="variable":"variable"!=t&&"("!=t&&")"!=t&&(n="error"),"interpolation")}};return{startState:function(t){return{tokenize:null,state:i?"block":"top",stateArg:null,context:new b(i?"block":"top",t||0,null)}},token:function(t,e){if(!e.tokenize&&t.eatSpace())return null;var i=(e.tokenize||function(t,e){var i=t.next();if(s[i]){var r=s[i](t,e);if(!1!==r)return r}return"@"==i?(t.eatWhile(/[\w\\\-]/),x("def",t.current())):"="==i||("~"==i||"|"==i)&&t.eat("=")?x(null,"compare"):'"'==i||"'"==i?(e.tokenize=T(i),e.tokenize(t,e)):"#"==i?(t.eatWhile(/[\w\\\-]/),x("atom","hash")):"!"==i?(t.match(/^\s*\w*/),x("keyword","important")):/\d/.test(i)||"."==i&&t.eat(/\d/)?(t.eatWhile(/[\w.%]/),x("number","unit")):"-"!==i?/[,+>*\/]/.test(i)?x(null,"select-op"):"."==i&&t.match(/^-?[_a-z][_a-z0-9-]*/i)?x("qualifier","qualifier"):/[:;{}\[\]\(\)]/.test(i)?x(null,i):("u"==i||"U"==i)&&t.match(/rl(-prefix)?\(/i)||("d"==i||"D"==i)&&t.match("omain(",!0,!0)||("r"==i||"R"==i)&&t.match("egexp(",!0,!0)?(t.backUp(1),e.tokenize=k,x("property","word")):/[\w\\\-]/.test(i)?(t.eatWhile(/[\w\\\-]/),x("property","word")):x(null,null):/[\d.]/.test(t.peek())?(t.eatWhile(/[\w.%]/),x("number","unit")):t.match(/^-[\w\\\-]+/)?(t.eatWhile(/[\w\\\-]/),t.match(/^\s*:/,!1)?x("variable-2","variable-definition"):x("variable-2","variable")):t.match(/^\w+-/)?x("meta","meta"):void 0})(t,e);return i&&"object"==typeof i&&(r=i[1],i=i[0]),n=i,"comment"!=r&&(e.state=L[e.state](r,t,e)),n},indent:function(t,e){var i=t.context,r=e&&e.charAt(0),n=i.indent;return"prop"!=i.type||"}"!=r&&")"!=r||(i=i.prev),i.prev&&("}"!=r||"block"!=i.type&&"top"!=i.type&&"interpolation"!=i.type&&"restricted_atBlock"!=i.type?(")"!=r||"parens"!=i.type&&"atBlock_parens"!=i.type)&&("{"!=r||"at"!=i.type&&"atBlock"!=i.type)||(n=Math.max(0,i.indent-o)):n=(i=i.prev).indent),n},electricChars:"}",blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:v,fold:"brace"}});var e=["domain","regexp","url","url-prefix"],i=t(e),r=["all","aural","braille","handheld","print","projection","screen","tty","tv","embossed"],n=t(r),o=["width","min-width","max-width","height","min-height","max-height","device-width","min-device-width","max-device-width","device-height","min-device-height","max-device-height","aspect-ratio","min-aspect-ratio","max-aspect-ratio","device-aspect-ratio","min-device-aspect-ratio","max-device-aspect-ratio","color","min-color","max-color","color-index","min-color-index","max-color-index","monochrome","min-monochrome","max-monochrome","resolution","min-resolution","max-resolution","scan","grid","orientation","device-pixel-ratio","min-device-pixel-ratio","max-device-pixel-ratio","pointer","any-pointer","hover","any-hover"],s=t(o),a=["landscape","portrait","none","coarse","fine","on-demand","hover","interlace","progressive"],l=t(a),c=["align-content","align-items","align-self","alignment-adjust","alignment-baseline","anchor-point","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","azimuth","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","baseline-shift","binding","bleed","bookmark-label","bookmark-level","bookmark-state","bookmark-target","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","color","color-profile","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","crop","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","drop-initial-after-adjust","drop-initial-after-align","drop-initial-before-adjust","drop-initial-before-align","drop-initial-size","drop-initial-value","elevation","empty-cells","fit","fit-position","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","float-offset","flow-from","flow-into","font","font-feature-settings","font-family","font-kerning","font-language-override","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-weight","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-gap","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-gap","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","inline-box-align","justify-content","justify-items","justify-self","left","letter-spacing","line-break","line-height","line-stacking","line-stacking-ruby","line-stacking-shift","line-stacking-strategy","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","marquee-direction","marquee-loop","marquee-play-count","marquee-speed","marquee-style","max-height","max-width","min-height","min-width","mix-blend-mode","move-to","nav-down","nav-index","nav-left","nav-right","nav-up","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-style","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","page-policy","pause","pause-after","pause-before","perspective","perspective-origin","pitch","pitch-range","place-content","place-items","place-self","play-during","position","presentation-level","punctuation-trim","quotes","region-break-after","region-break-before","region-break-inside","region-fragment","rendering-intent","resize","rest","rest-after","rest-before","richness","right","rotation","rotation-point","ruby-align","ruby-overhang","ruby-position","ruby-span","shape-image-threshold","shape-inside","shape-margin","shape-outside","size","speak","speak-as","speak-header","speak-numeral","speak-punctuation","speech-rate","stress","string-set","tab-size","table-layout","target","target-name","target-new","target-position","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-height","text-indent","text-justify","text-outline","text-overflow","text-shadow","text-size-adjust","text-space-collapse","text-transform","text-underline-position","text-wrap","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","user-select","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","z-index","clip-path","clip-rule","mask","enable-background","filter","flood-color","flood-opacity","lighting-color","stop-color","stop-opacity","pointer-events","color-interpolation","color-interpolation-filters","color-rendering","fill","fill-opacity","fill-rule","image-rendering","marker","marker-end","marker-mid","marker-start","shape-rendering","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-rendering","baseline-shift","dominant-baseline","glyph-orientation-horizontal","glyph-orientation-vertical","text-anchor","writing-mode"],h=t(c),u=["scrollbar-arrow-color","scrollbar-base-color","scrollbar-dark-shadow-color","scrollbar-face-color","scrollbar-highlight-color","scrollbar-shadow-color","scrollbar-3d-light-color","scrollbar-track-color","shape-inside","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","zoom"],f=t(u),d=t(["font-family","src","unicode-range","font-variant","font-feature-settings","font-stretch","font-weight","font-style"]),p=t(["additive-symbols","fallback","negative","pad","prefix","range","speak-as","suffix","symbols","system"]),m=["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"],g=t(m),_=["above","absolute","activeborder","additive","activecaption","afar","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","amharic","amharic-abegede","antialiased","appworkspace","arabic-indic","armenian","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","background","backwards","baseline","below","bidi-override","binary","bengali","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","cambodian","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","cjk-earthly-branch","cjk-heavenly-stem","cjk-ideographic","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","devanagari","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic","ethiopic-abegede","ethiopic-abegede-am-et","ethiopic-abegede-gez","ethiopic-abegede-ti-er","ethiopic-abegede-ti-et","ethiopic-halehame-aa-er","ethiopic-halehame-aa-et","ethiopic-halehame-am-et","ethiopic-halehame-gez","ethiopic-halehame-om-et","ethiopic-halehame-sid-et","ethiopic-halehame-so-et","ethiopic-halehame-ti-er","ethiopic-halehame-ti-et","ethiopic-halehame-tig","ethiopic-numeric","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","georgian","graytext","grid","groove","gujarati","gurmukhi","hand","hangul","hangul-consonant","hard-light","hebrew","help","hidden","hide","higher","highlight","highlighttext","hiragana","hiragana-iroha","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","japanese-formal","japanese-informal","justify","kannada","katakana","katakana-iroha","keep-all","khmer","korean-hangul-formal","korean-hanja-formal","korean-hanja-informal","landscape","lao","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-alpha","lower-armenian","lower-greek","lower-hexadecimal","lower-latin","lower-norwegian","lower-roman","lowercase","ltr","luminosity","malayalam","match","matrix","matrix3d","media-controls-background","media-current-time-display","media-fullscreen-button","media-mute-button","media-play-button","media-return-to-realtime-button","media-rewind-button","media-seek-back-button","media-seek-forward-button","media-slider","media-sliderthumb","media-time-remaining-display","media-volume-slider","media-volume-slider-container","media-volume-sliderthumb","medium","menu","menulist","menulist-button","menulist-text","menulist-textfield","menutext","message-box","middle","min-intrinsic","mix","mongolian","monospace","move","multiple","multiply","myanmar","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","octal","opacity","open-quote","optimizeLegibility","optimizeSpeed","oriya","oromo","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","persian","perspective","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","searchfield","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","sidama","simp-chinese-formal","simp-chinese-informal","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","somali","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","square-button","start","static","status-bar","stretch","stroke","sub","subpixel-antialiased","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","tamil","telugu","text","text-bottom","text-top","textarea","textfield","thai","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","tibetan","tigre","tigrinya-er","tigrinya-er-abegede","tigrinya-et","tigrinya-et-abegede","to","top","trad-chinese-formal","trad-chinese-informal","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unset","up","upper-alpha","upper-armenian","upper-greek","upper-hexadecimal","upper-latin","upper-norwegian","upper-roman","uppercase","urdu","url","var","vertical","vertical-text","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"],v=t(_),y=e.concat(r).concat(o).concat(a).concat(c).concat(u).concat(m).concat(_);function x(t,e){for(var i,r=!1;null!=(i=t.next());){if(r&&"/"==i){e.tokenize=null;break}r="*"==i}return["comment","comment"]}N.registerHelper("hintWords","css",y),N.defineMIME("text/css",{documentTypes:i,mediaTypes:n,mediaFeatures:s,mediaValueKeywords:l,propertyKeywords:h,nonStandardPropertyKeywords:f,fontProperties:d,counterDescriptors:p,colorKeywords:g,valueKeywords:v,tokenHooks:{"/":function(t,e){return!!t.eat("*")&&(e.tokenize=x)(t,e)}},name:"css"}),N.defineMIME("text/x-scss",{mediaTypes:n,mediaFeatures:s,mediaValueKeywords:l,propertyKeywords:h,nonStandardPropertyKeywords:f,colorKeywords:g,valueKeywords:v,fontProperties:d,allowNested:!0,lineComment:"//",tokenHooks:{"/":function(t,e){return t.eat("/")?(t.skipToEnd(),["comment","comment"]):t.eat("*")?(e.tokenize=x)(t,e):["operator","operator"]},":":function(t){return!!t.match(/\s*\{/,!1)&&[null,null]},$:function(t){return t.match(/^[\w-]+/),t.match(/^\s*:/,!1)?["variable-2","variable-definition"]:["variable-2","variable"]},"#":function(t){return!!t.eat("{")&&[null,"interpolation"]}},name:"css",helperType:"scss"}),N.defineMIME("text/x-less",{mediaTypes:n,mediaFeatures:s,mediaValueKeywords:l,propertyKeywords:h,nonStandardPropertyKeywords:f,colorKeywords:g,valueKeywords:v,fontProperties:d,allowNested:!0,lineComment:"//",tokenHooks:{"/":function(t,e){return t.eat("/")?(t.skipToEnd(),["comment","comment"]):t.eat("*")?(e.tokenize=x)(t,e):["operator","operator"]},"@":function(t){return t.eat("{")?[null,"interpolation"]:!t.match(/^(charset|document|font-face|import|(-(moz|ms|o|webkit)-)?keyframes|media|namespace|page|supports)\b/i,!1)&&(t.eatWhile(/[\w\\\-]/),t.match(/^\s*:/,!1)?["variable-2","variable-definition"]:["variable-2","variable"])},"&":function(){return["atom","atom"]}},name:"css",helperType:"less"}),N.defineMIME("text/x-gss",{documentTypes:i,mediaTypes:n,mediaFeatures:s,propertyKeywords:h,nonStandardPropertyKeywords:f,fontProperties:d,counterDescriptors:p,colorKeywords:g,valueKeywords:v,supportsAtComponent:!0,tokenHooks:{"/":function(t,e){return!!t.eat("*")&&(e.tokenize=x)(t,e)}},name:"css",helperType:"gss"})},"object"==typeof i&&"object"==typeof e?r(t("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],r):r(CodeMirror)},{"../../lib/codemirror":12}],15:[function(t,e,i){var r;r=function(p){"use strict";var n={script:[["lang",/(javascript|babel)/i,"javascript"],["type",/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i,"javascript"],["type",/./,"text/plain"],[null,null,"javascript"]],style:[["lang",/^css$/i,"css"],["type",/^(text\/)?(x-)?(stylesheet|css)$/i,"css"],["type",/./,"text/plain"],[null,null,"css"]]};var o={};function m(t,e){var i,r=t.match(o[i=e]||(o[i]=new RegExp("\\s+"+i+"\\s*=\\s*('|\")?([^'\"]+)('|\")?\\s*")));return r?/^\s*(.*?)\s*$/.exec(r[2])[1]:""}function g(t,e){return new RegExp((e?"^":"")+"</s*"+t+"s*>","i")}function s(t,e){for(var i in t)for(var r=e[i]||(e[i]=[]),n=t[i],o=n.length-1;0<=o;o--)r.unshift(n[o])}p.defineMode("htmlmixed",function(h,t){var u=p.getMode(h,{name:"xml",htmlMode:!0,multilineTagIndentFactor:t.multilineTagIndentFactor,multilineTagIndentPastTag:t.multilineTagIndentPastTag}),f={},e=t&&t.tags,i=t&&t.scriptTypes;if(s(n,f),e&&s(e,f),i)for(var r=i.length-1;0<=r;r--)f.script.unshift(["type",i[r].matches,i[r].mode]);function d(t,e){var i,r=u.token(t,e.htmlState),n=/\btag\b/.test(r);if(n&&!/[<>\s\/]/.test(t.current())&&(i=e.htmlState.tagName&&e.htmlState.tagName.toLowerCase())&&f.hasOwnProperty(i))e.inTag=i+" ";else if(e.inTag&&n&&/>$/.test(t.current())){var o=/^([\S]+) (.*)/.exec(e.inTag);e.inTag=null;var s=">"==t.current()&&function(t,e){for(var i=0;i<t.length;i++){var r=t[i];if(!r[0]||r[1].test(m(e,r[0])))return r[2]}}(f[o[1]],o[2]),a=p.getMode(h,s),l=g(o[1],!0),c=g(o[1],!1);e.token=function(t,e){return t.match(l,!1)?(e.token=d,e.localState=e.localMode=null,null):(i=t,r=c,n=e.localMode.token(t,e.localState),o=i.current(),-1<(s=o.search(r))?i.backUp(o.length-s):o.match(/<\/?$/)&&(i.backUp(o.length),i.match(r,!1)||i.match(o)),n);var i,r,n,o,s},e.localMode=a,e.localState=p.startState(a,u.indent(e.htmlState,""))}else e.inTag&&(e.inTag+=t.current(),t.eol()&&(e.inTag+=" "));return r}return{startState:function(){return{token:d,inTag:null,localMode:null,localState:null,htmlState:p.startState(u)}},copyState:function(t){var e;return t.localState&&(e=p.copyState(t.localMode,t.localState)),{token:t.token,inTag:t.inTag,localMode:t.localMode,localState:e,htmlState:p.copyState(u,t.htmlState)}},token:function(t,e){return e.token(t,e)},indent:function(t,e,i){return!t.localMode||/^\s*<\//.test(e)?u.indent(t.htmlState,e):t.localMode.indent?t.localMode.indent(t.localState,e,i):p.Pass},innerMode:function(t){return{state:t.localState||t.htmlState,mode:t.localMode||u}}}},"xml","javascript","css"),p.defineMIME("text/html","htmlmixed")},"object"==typeof i&&"object"==typeof e?r(t("../../lib/codemirror"),t("../xml/xml"),t("../javascript/javascript"),t("../css/css")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../xml/xml","../javascript/javascript","../css/css"],r):r(CodeMirror)},{"../../lib/codemirror":12,"../css/css":14,"../javascript/javascript":16,"../xml/xml":18}],16:[function(t,e,i){var r;r=function(Yt){"use strict";Yt.defineMode("javascript",function(t,u){var r,n,f=t.indentUnit,d=u.statementIndent,s=u.jsonld,a=u.json||s,c=u.typescript,h=u.wordCharacters||/[\w$\xa1-\uffff]/,l=function(){function t(t){return{type:t,style:"keyword"}}var e=t("keyword a"),i=t("keyword b"),r=t("keyword c"),n=t("keyword d"),o=t("operator"),s={type:"atom",style:"atom"};return{if:t("if"),while:e,with:e,else:i,do:i,try:i,finally:i,return:n,break:n,continue:n,new:t("new"),delete:r,void:r,throw:r,debugger:t("debugger"),var:t("var"),const:t("var"),let:t("var"),function:t("function"),catch:t("catch"),for:t("for"),switch:t("switch"),case:t("case"),default:t("default"),in:o,typeof:o,instanceof:o,true:s,false:s,null:s,undefined:s,NaN:s,Infinity:s,this:t("this"),class:t("class"),super:t("atom"),yield:r,export:t("export"),import:t("import"),extends:r,await:r}}(),p=/[+\-*&%=<>!?|~^@]/,m=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/;function g(t,e,i){return r=t,n=i,e}function _(t,e){var n,i=t.next();if('"'==i||"'"==i)return e.tokenize=(n=i,function(t,e){var i,r=!1;if(s&&"@"==t.peek()&&t.match(m))return e.tokenize=_,g("jsonld-keyword","meta");for(;null!=(i=t.next())&&(i!=n||r);)r=!r&&"\\"==i;return r||(e.tokenize=_),g("string","string")}),e.tokenize(t,e);if("."==i&&t.match(/^\d+(?:[eE][+\-]?\d+)?/))return g("number","number");if("."==i&&t.match(".."))return g("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(i))return g(i);if("="==i&&t.eat(">"))return g("=>","operator");if("0"==i&&t.match(/^(?:x[\da-f]+|o[0-7]+|b[01]+)n?/i))return g("number","number");if(/\d/.test(i))return t.match(/^\d*(?:n|(?:\.\d*)?(?:[eE][+\-]?\d+)?)?/),g("number","number");if("/"==i)return t.eat("*")?(e.tokenize=v)(t,e):t.eat("/")?(t.skipToEnd(),g("comment","comment")):Vt(t,e,1)?(function(t){for(var e,i=!1,r=!1;null!=(e=t.next());){if(!i){if("/"==e&&!r)return;"["==e?r=!0:r&&"]"==e&&(r=!1)}i=!i&&"\\"==e}}(t),t.match(/^\b(([gimyus])(?![gimyus]*\2))+\b/),g("regexp","string-2")):(t.eat("="),g("operator","operator",t.current()));if("`"==i)return(e.tokenize=y)(t,e);if("#"==i)return t.skipToEnd(),g("error","error");if(p.test(i))return">"==i&&e.lexical&&">"==e.lexical.type||(t.eat("=")?"!"!=i&&"="!=i||t.eat("="):/[<>*+\-]/.test(i)&&(t.eat(i),">"==i&&t.eat(i))),g("operator","operator",t.current());if(h.test(i)){t.eatWhile(h);var r=t.current();if("."!=e.lastType){if(l.propertyIsEnumerable(r)){var o=l[r];return g(o.type,o.style,r)}if("async"==r&&t.match(/^(\s|\/\*.*?\*\/)*[\[\(\w]/,!1))return g("async","keyword",r)}return g("variable","variable",r)}}function v(t,e){for(var i,r=!1;i=t.next();){if("/"==i&&r){e.tokenize=_;break}r="*"==i}return g("comment","comment")}function y(t,e){for(var i,r=!1;null!=(i=t.next());){if(!r&&("`"==i||"$"==i&&t.eat("{"))){e.tokenize=_;break}r=!r&&"\\"==i}return g("quasi","string-2",t.current())}var x="([{}])";function o(t,e){e.fatArrowAt&&(e.fatArrowAt=null);var i=t.string.indexOf("=>",t.start);if(!(i<0)){if(c){var r=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(t.string.slice(t.start,i));r&&(i=r.index)}for(var n=0,o=!1,s=i-1;0<=s;--s){var a=t.string.charAt(s),l=x.indexOf(a);if(0<=l&&l<3){if(!n){++s;break}if(0==--n){"("==a&&(o=!0);break}}else if(3<=l&&l<6)++n;else if(h.test(a))o=!0;else{if(/["'\/]/.test(a))return;if(o&&!n){++s;break}}}o&&!n&&(e.fatArrowAt=s)}}var T={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,"jsonld-keyword":!0};function k(t,e,i,r,n,o){this.indented=t,this.column=e,this.type=i,this.prev=n,this.info=o,null!=r&&(this.align=r)}function b(t,e){for(var i=t.localVars;i;i=i.next)if(i.name==e)return!0;for(var r=t.context;r;r=r.prev)for(i=r.vars;i;i=i.next)if(i.name==e)return!0}var w={state:null,column:null,marked:null,cc:null};function E(){for(var t=arguments.length-1;0<=t;t--)w.cc.push(arguments[t])}function C(){return E.apply(null,arguments),!0}function S(t,e){for(var i=e;i;i=i.next)if(i.name==t)return!0;return!1}function i(t){var e=w.state;if(w.marked="def",e.context)if("var"==e.lexical.info&&e.context&&e.context.block){var i=function t(e,i){{if(i){if(i.block){var r=t(e,i.prev);return r?r==i.prev?i:new L(r,i.vars,!0):null}return S(e,i.vars)?i:new L(i.prev,new N(e,i.vars),!1)}return null}}(t,e.context);if(null!=i)return void(e.context=i)}else if(!S(t,e.localVars))return void(e.localVars=new N(t,e.localVars));u.globalVars&&!S(t,e.globalVars)&&(e.globalVars=new N(t,e.globalVars))}function A(t){return"public"==t||"private"==t||"protected"==t||"abstract"==t||"readonly"==t}function L(t,e,i){this.prev=t,this.vars=e,this.block=i}function N(t,e){this.name=t,this.next=e}var e=new N("this",new N("arguments",null));function O(){w.state.context=new L(w.state.context,w.state.localVars,!1),w.state.localVars=e}function I(){w.state.context=new L(w.state.context,w.state.localVars,!0),w.state.localVars=null}function R(){w.state.localVars=w.state.context.vars,w.state.context=w.state.context.prev}function M(r,n){var t=function(){var t=w.state,e=t.indented;if("stat"==t.lexical.type)e=t.lexical.indented;else for(var i=t.lexical;i&&")"==i.type&&i.align;i=i.prev)e=i.indented;t.lexical=new k(e,w.stream.column(),r,null,t.lexical,n)};return t.lex=!0,t}function D(){var t=w.state;t.lexical.prev&&(")"==t.lexical.type&&(t.indented=t.lexical.indented),t.lexical=t.lexical.prev)}function P(i){return function t(e){return e==i?C():";"==i||"}"==e||")"==e||"]"==e?E():C(t)}}function B(t,e){return"var"==t?C(M("vardef",e),_t,P(";"),D):"keyword a"==t?C(M("form"),W,B,D):"keyword b"==t?C(M("form"),B,D):"keyword d"==t?w.stream.match(/^\s*$/,!1)?C():C(M("stat"),q,P(";"),D):"debugger"==t?C(P(";")):"{"==t?C(M("}"),I,ot,D,R):";"==t?C():"if"==t?("else"==w.state.lexical.info&&w.state.cc[w.state.cc.length-1]==D&&w.state.cc.pop()(),C(M("form"),W,B,D,bt)):"function"==t?C(Lt):"for"==t?C(M("form"),wt,B,D):"class"==t||c&&"interface"==e?(w.marked="keyword",C(M("form"),It,D)):"variable"==t?c&&"declare"==e?(w.marked="keyword",C(B)):c&&("module"==e||"enum"==e||"type"==e)&&w.stream.match(/^\s*\w/,!1)?(w.marked="keyword","enum"==e?C(Gt):"type"==e?C(ct,P("operator"),ct,P(";")):C(M("form"),vt,P("{"),M("}"),ot,D,D)):c&&"namespace"==e?(w.marked="keyword",C(M("form"),U,ot,D)):c&&"abstract"==e?(w.marked="keyword",C(B)):C(M("stat"),Z):"switch"==t?C(M("form"),W,P("{"),M("}","switch"),I,ot,D,D,R):"case"==t?C(U,P(":")):"default"==t?C(P(":")):"catch"==t?C(M("form"),O,F,B,D,R):"export"==t?C(M("stat"),Pt,D):"import"==t?C(M("stat"),Ft,D):"async"==t?C(B):"@"==e?C(U,B):E(M("stat"),U,P(";"),D)}function F(t){if("("==t)return C(Nt,P(")"))}function U(t,e){return z(t,e,!1)}function H(t,e){return z(t,e,!0)}function W(t){return"("!=t?E():C(M(")"),U,P(")"),D)}function z(t,e,i){if(w.state.fatArrowAt==w.stream.start){var r=i?$:K;if("("==t)return C(O,M(")"),rt(Nt,")"),D,P("=>"),r,R);if("variable"==t)return E(O,vt,P("=>"),r,R)}var n,o=i?j:G;return T.hasOwnProperty(t)?C(o):"function"==t?C(Lt,o):"class"==t||c&&"interface"==e?(w.marked="keyword",C(M("form"),Ot,D)):"keyword c"==t||"async"==t?C(i?H:U):"("==t?C(M(")"),q,P(")"),D,o):"operator"==t||"spread"==t?C(i?H:U):"["==t?C(M("]"),qt,D,o):"{"==t?nt(tt,"}",null,o):"quasi"==t?E(V,o):"new"==t?C((n=i,function(t){return"."==t?C(n?X:Q):"variable"==t&&c?C(pt,n?j:G):E(n?H:U)})):"import"==t?C(U):C()}function q(t){return t.match(/[;\}\)\],]/)?E():E(U)}function G(t,e){return","==t?C(U):j(t,e,!1)}function j(t,e,i){var r=0==i?G:j,n=0==i?U:H;return"=>"==t?C(O,i?$:K,R):"operator"==t?/\+\+|--/.test(e)||c&&"!"==e?C(r):c&&"<"==e&&w.stream.match(/^([^>]|<.*?>)*>\s*\(/,!1)?C(M(">"),rt(ct,">"),D,r):"?"==e?C(U,P(":"),n):C(n):"quasi"==t?E(V,r):";"!=t?"("==t?nt(H,")","call",r):"."==t?C(J,r):"["==t?C(M("]"),q,P("]"),D,r):c&&"as"==e?(w.marked="keyword",C(ct,r)):"regexp"==t?(w.state.lastType=w.marked="operator",w.stream.backUp(w.stream.pos-w.stream.start-1),C(n)):void 0:void 0}function V(t,e){return"quasi"!=t?E():"${"!=e.slice(e.length-2)?C(V):C(U,Y)}function Y(t){if("}"==t)return w.marked="string-2",w.state.tokenize=y,C(V)}function K(t){return o(w.stream,w.state),E("{"==t?B:U)}function $(t){return o(w.stream,w.state),E("{"==t?B:H)}function Q(t,e){if("target"==e)return w.marked="keyword",C(G)}function X(t,e){if("target"==e)return w.marked="keyword",C(j)}function Z(t){return":"==t?C(D,B):E(G,P(";"),D)}function J(t){if("variable"==t)return w.marked="property",C()}function tt(t,e){if("async"==t)return w.marked="property",C(tt);if("variable"==t||"keyword"==w.style){return w.marked="property","get"==e||"set"==e?C(et):(c&&w.state.fatArrowAt==w.stream.start&&(i=w.stream.match(/^\s*:\s*/,!1))&&(w.state.fatArrowAt=w.stream.pos+i[0].length),C(it));var i}else{if("number"==t||"string"==t)return w.marked=s?"property":w.style+" property",C(it);if("jsonld-keyword"==t)return C(it);if(c&&A(e))return w.marked="keyword",C(tt);if("["==t)return C(U,st,P("]"),it);if("spread"==t)return C(H,it);if("*"==e)return w.marked="keyword",C(tt);if(":"==t)return E(it)}}function et(t){return"variable"!=t?E(it):(w.marked="property",C(Lt))}function it(t){return":"==t?C(H):"("==t?E(Lt):void 0}function rt(r,n,o){function s(t,e){if(o?-1<o.indexOf(t):","==t){var i=w.state.lexical;return"call"==i.info&&(i.pos=(i.pos||0)+1),C(function(t,e){return t==n||e==n?E():E(r)},s)}return t==n||e==n?C():C(P(n))}return function(t,e){return t==n||e==n?C():E(r,s)}}function nt(t,e,i){for(var r=3;r<arguments.length;r++)w.cc.push(arguments[r]);return C(M(e,i),rt(t,e),D)}function ot(t){return"}"==t?C():E(B,ot)}function st(t,e){if(c){if(":"==t)return C(ct);if("?"==e)return C(st)}}function at(t){if(c&&":"==t)return w.stream.match(/^\s*\w+\s+is\b/,!1)?C(U,lt,ct):C(ct)}function lt(t,e){if("is"==e)return w.marked="keyword",C()}function ct(t,e){return"keyof"==e||"typeof"==e?(w.marked="keyword",C("keyof"==e?ct:H)):"variable"==t||"void"==e?(w.marked="type",C(dt)):"string"==t||"number"==t||"atom"==t?C(dt):"["==t?C(M("]"),rt(ct,"]",","),D,dt):"{"==t?C(M("}"),rt(ut,"}",",;"),D,dt):"("==t?C(rt(ft,")"),ht):"<"==t?C(rt(ct,">"),ct):void 0}function ht(t){if("=>"==t)return C(ct)}function ut(t,e){return"variable"==t||"keyword"==w.style?(w.marked="property",C(ut)):"?"==e?C(ut):":"==t?C(ct):"["==t?C(U,st,P("]"),ut):void 0}function ft(t,e){return"variable"==t&&w.stream.match(/^\s*[?:]/,!1)||"?"==e?C(ft):":"==t?C(ct):E(ct)}function dt(t,e){return"<"==e?C(M(">"),rt(ct,">"),D,dt):"|"==e||"."==t||"&"==e?C(ct):"["==t?C(P("]"),dt):"extends"==e||"implements"==e?(w.marked="keyword",C(ct)):void 0}function pt(t,e){if("<"==e)return C(M(">"),rt(ct,">"),D,dt)}function mt(){return E(ct,gt)}function gt(t,e){if("="==e)return C(ct)}function _t(t,e){return"enum"==e?(w.marked="keyword",C(Gt)):E(vt,st,Tt,kt)}function vt(t,e){return c&&A(e)?(w.marked="keyword",C(vt)):"variable"==t?(i(e),C()):"spread"==t?C(vt):"["==t?nt(xt,"]"):"{"==t?nt(yt,"}"):void 0}function yt(t,e){return"variable"!=t||w.stream.match(/^\s*:/,!1)?("variable"==t&&(w.marked="property"),"spread"==t?C(vt):"}"==t?E():"["==t?C(U,P("]"),P(":"),yt):C(P(":"),vt,Tt)):(i(e),C(Tt))}function xt(){return E(vt,Tt)}function Tt(t,e){if("="==e)return C(H)}function kt(t){if(","==t)return C(_t)}function bt(t,e){if("keyword b"==t&&"else"==e)return C(M("form","else"),B,D)}function wt(t,e){return"await"==e?C(wt):"("==t?C(M(")"),Et,P(")"),D):void 0}function Et(t){return"var"==t?C(_t,P(";"),St):";"==t?C(St):"variable"==t?C(Ct):E(U,P(";"),St)}function Ct(t,e){return"in"==e||"of"==e?(w.marked="keyword",C(U)):C(G,St)}function St(t,e){return";"==t?C(At):"in"==e||"of"==e?(w.marked="keyword",C(U)):E(U,P(";"),At)}function At(t){")"!=t&&C(U)}function Lt(t,e){return"*"==e?(w.marked="keyword",C(Lt)):"variable"==t?(i(e),C(Lt)):"("==t?C(O,M(")"),rt(Nt,")"),D,at,B,R):c&&"<"==e?C(M(">"),rt(mt,">"),D,Lt):void 0}function Nt(t,e){return"@"==e&&C(U,Nt),"spread"==t?C(Nt):c&&A(e)?(w.marked="keyword",C(Nt)):E(vt,st,Tt)}function Ot(t,e){return"variable"==t?It(t,e):Rt(t,e)}function It(t,e){if("variable"==t)return i(e),C(Rt)}function Rt(t,e){return"<"==e?C(M(">"),rt(mt,">"),D,Rt):"extends"==e||"implements"==e||c&&","==t?("implements"==e&&(w.marked="keyword"),C(c?ct:U,Rt)):"{"==t?C(M("}"),Mt,D):void 0}function Mt(t,e){return"async"==t||"variable"==t&&("static"==e||"get"==e||"set"==e||c&&A(e))&&w.stream.match(/^\s+[\w$\xa1-\uffff]/,!1)?(w.marked="keyword",C(Mt)):"variable"==t||"keyword"==w.style?(w.marked="property",C(c?Dt:Lt,Mt)):"["==t?C(U,st,P("]"),c?Dt:Lt,Mt):"*"==e?(w.marked="keyword",C(Mt)):";"==t?C(Mt):"}"==t?C():"@"==e?C(U,Mt):void 0}function Dt(t,e){return"?"==e?C(Dt):":"==t?C(ct,Tt):"="==e?C(H):E(Lt)}function Pt(t,e){return"*"==e?(w.marked="keyword",C(zt,P(";"))):"default"==e?(w.marked="keyword",C(U,P(";"))):"{"==t?C(rt(Bt,"}"),zt,P(";")):E(B)}function Bt(t,e){return"as"==e?(w.marked="keyword",C(P("variable"))):"variable"==t?E(H,Bt):void 0}function Ft(t){return"string"==t?C():"("==t?E(U):E(Ut,Ht,zt)}function Ut(t,e){return"{"==t?nt(Ut,"}"):("variable"==t&&i(e),"*"==e&&(w.marked="keyword"),C(Wt))}function Ht(t){if(","==t)return C(Ut,Ht)}function Wt(t,e){if("as"==e)return w.marked="keyword",C(Ut)}function zt(t,e){if("from"==e)return w.marked="keyword",C(U)}function qt(t){return"]"==t?C():E(rt(H,"]"))}function Gt(){return E(M("form"),vt,P("{"),M("}"),rt(jt,"}"),D,D)}function jt(){return E(vt,Tt)}function Vt(t,e,i){return e.tokenize==_&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(e.lastType)||"quasi"==e.lastType&&/\{\s*$/.test(t.string.slice(0,t.pos-(i||0)))}return D.lex=R.lex=!0,{startState:function(t){var e={tokenize:_,lastType:"sof",cc:[],lexical:new k((t||0)-f,0,"block",!1),localVars:u.localVars,context:u.localVars&&new L(null,null,!1),indented:t||0};return u.globalVars&&"object"==typeof u.globalVars&&(e.globalVars=u.globalVars),e},token:function(t,e){if(t.sol()&&(e.lexical.hasOwnProperty("align")||(e.lexical.align=!1),e.indented=t.indentation(),o(t,e)),e.tokenize!=v&&t.eatSpace())return null;var i=e.tokenize(t,e);return"comment"==r?i:(e.lastType="operator"!=r||"++"!=n&&"--"!=n?r:"incdec",function(t,e,i,r,n){var o=t.cc;for(w.state=t,w.stream=n,w.marked=null,w.cc=o,w.style=e,t.lexical.hasOwnProperty("align")||(t.lexical.align=!0);;)if((o.length?o.pop():a?U:B)(i,r)){for(;o.length&&o[o.length-1].lex;)o.pop()();return w.marked?w.marked:"variable"==i&&b(t,r)?"variable-2":e}}(e,i,r,n,t))},indent:function(t,e){if(t.tokenize==v)return Yt.Pass;if(t.tokenize!=_)return 0;var i,r=e&&e.charAt(0),n=t.lexical;if(!/^\s*else\b/.test(e))for(var o=t.cc.length-1;0<=o;--o){var s=t.cc[o];if(s==D)n=n.prev;else if(s!=bt)break}for(;("stat"==n.type||"form"==n.type)&&("}"==r||(i=t.cc[t.cc.length-1])&&(i==G||i==j)&&!/^[,\.=+\-*:?[\(]/.test(e));)n=n.prev;d&&")"==n.type&&"stat"==n.prev.type&&(n=n.prev);var a,l,c=n.type,h=r==c;return"vardef"==c?n.indented+("operator"==t.lastType||","==t.lastType?n.info.length+1:0):"form"==c&&"{"==r?n.indented:"form"==c?n.indented+f:"stat"==c?n.indented+(l=e,"operator"==(a=t).lastType||","==a.lastType||p.test(l.charAt(0))||/[,.]/.test(l.charAt(0))?d||f:0):"switch"!=n.info||h||0==u.doubleIndentSwitch?n.align?n.column+(h?0:1):n.indented+(h?0:f):n.indented+(/^(?:case|default)\b/.test(e)?f:2*f)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:a?null:"/*",blockCommentEnd:a?null:"*/",blockCommentContinue:a?null:" * ",lineComment:a?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:a?"json":"javascript",jsonldMode:s,jsonMode:a,expressionAllowed:Vt,skipExpression:function(t){var e=t.cc[t.cc.length-1];e!=U&&e!=H||t.cc.pop()}}}),Yt.registerHelper("wordChars","javascript",/[\w$]/),Yt.defineMIME("text/javascript","javascript"),Yt.defineMIME("text/ecmascript","javascript"),Yt.defineMIME("application/javascript","javascript"),Yt.defineMIME("application/x-javascript","javascript"),Yt.defineMIME("application/ecmascript","javascript"),Yt.defineMIME("application/json",{name:"javascript",json:!0}),Yt.defineMIME("application/x-json",{name:"javascript",json:!0}),Yt.defineMIME("application/ld+json",{name:"javascript",jsonld:!0}),Yt.defineMIME("text/typescript",{name:"javascript",typescript:!0}),Yt.defineMIME("application/typescript",{name:"javascript",typescript:!0})},"object"==typeof i&&"object"==typeof e?r(t("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],r):r(CodeMirror)},{"../../lib/codemirror":12}],17:[function(t,e,i){var r;r=function(c){"use strict";function t(t){for(var e={},i=t.split(" "),r=0;r<i.length;++r)e[i[r]]=!0;return e}function a(n,o,s){return 0==n.length?l(o):function(t,e){for(var i=n[0],r=0;r<i.length;r++)if(t.match(i[r][0]))return e.tokenize=a(n.slice(1),o),i[r][1];return e.tokenize=l(o,s),"string"}}function l(i,r){return function(t,e){return function(t,e,i,r){if(!1!==r&&t.match("${",!1)||t.match("{$",!1))return e.tokenize=null,"string";if(!1!==r&&t.match(/^\$[a-zA-Z_][a-zA-Z0-9_]*/))return t.match("[",!1)&&(e.tokenize=a([[["[",null]],[[/\d[\w\.]*/,"number"],[/\$[a-zA-Z_][a-zA-Z0-9_]*/,"variable-2"],[/[\w\$]+/,"variable"]],[["]",null]]],i,r)),t.match(/\-\>\w/,!1)&&(e.tokenize=a([[["->",null]],[[/[\w]+/,"variable"]]],i,r)),"variable-2";var n=!1;for(;!t.eol()&&(n||!1===r||!t.match("{$",!1)&&!t.match(/^(\$[a-zA-Z_][a-zA-Z0-9_]*|\$\{)/,!1));){if(!n&&t.match(i)){e.tokenize=null,e.tokStack.pop(),e.tokStack.pop();break}n="\\"==t.next()&&!n}return"string"}(t,e,i,r)}}var e="abstract and array as break case catch class clone const continue declare default do else elseif enddeclare endfor endforeach endif endswitch endwhile extends final for foreach function global goto if implements interface instanceof namespace new or private protected public static switch throw trait try use var while xor die echo empty exit eval include include_once isset list require require_once return print unset __halt_compiler self static parent yield insteadof finally",i="true false null TRUE FALSE NULL __CLASS__ __DIR__ __FILE__ __LINE__ __METHOD__ __FUNCTION__ __NAMESPACE__ __TRAIT__",r="func_num_args func_get_arg func_get_args strlen strcmp strncmp strcasecmp strncasecmp each error_reporting define defined trigger_error user_error set_error_handler restore_error_handler get_declared_classes get_loaded_extensions extension_loaded get_extension_funcs debug_backtrace constant bin2hex hex2bin sleep usleep time mktime gmmktime strftime gmstrftime strtotime date gmdate getdate localtime checkdate flush wordwrap htmlspecialchars htmlentities html_entity_decode md5 md5_file crc32 getimagesize image_type_to_mime_type phpinfo phpversion phpcredits strnatcmp strnatcasecmp substr_count strspn strcspn strtok strtoupper strtolower strpos strrpos strrev hebrev hebrevc nl2br basename dirname pathinfo stripslashes stripcslashes strstr stristr strrchr str_shuffle str_word_count strcoll substr substr_replace quotemeta ucfirst ucwords strtr addslashes addcslashes rtrim str_replace str_repeat count_chars chunk_split trim ltrim strip_tags similar_text explode implode setlocale localeconv parse_str str_pad chop strchr sprintf printf vprintf vsprintf sscanf fscanf parse_url urlencode urldecode rawurlencode rawurldecode readlink linkinfo link unlink exec system escapeshellcmd escapeshellarg passthru shell_exec proc_open proc_close rand srand getrandmax mt_rand mt_srand mt_getrandmax base64_decode base64_encode abs ceil floor round is_finite is_nan is_infinite bindec hexdec octdec decbin decoct dechex base_convert number_format fmod ip2long long2ip getenv putenv getopt microtime gettimeofday getrusage uniqid quoted_printable_decode set_time_limit get_cfg_var magic_quotes_runtime set_magic_quotes_runtime get_magic_quotes_gpc get_magic_quotes_runtime import_request_variables error_log serialize unserialize memory_get_usage var_dump var_export debug_zval_dump print_r highlight_file show_source highlight_string ini_get ini_get_all ini_set ini_alter ini_restore get_include_path set_include_path restore_include_path setcookie header headers_sent connection_aborted connection_status ignore_user_abort parse_ini_file is_uploaded_file move_uploaded_file intval floatval doubleval strval gettype settype is_null is_resource is_bool is_long is_float is_int is_integer is_double is_real is_numeric is_string is_array is_object is_scalar ereg ereg_replace eregi eregi_replace split spliti join sql_regcase dl pclose popen readfile rewind rmdir umask fclose feof fgetc fgets fgetss fread fopen fpassthru ftruncate fstat fseek ftell fflush fwrite fputs mkdir rename copy tempnam tmpfile file file_get_contents file_put_contents stream_select stream_context_create stream_context_set_params stream_context_set_option stream_context_get_options stream_filter_prepend stream_filter_append fgetcsv flock get_meta_tags stream_set_write_buffer set_file_buffer set_socket_blocking stream_set_blocking socket_set_blocking stream_get_meta_data stream_register_wrapper stream_wrapper_register stream_set_timeout socket_set_timeout socket_get_status realpath fnmatch fsockopen pfsockopen pack unpack get_browser crypt opendir closedir chdir getcwd rewinddir readdir dir glob fileatime filectime filegroup fileinode filemtime fileowner fileperms filesize filetype file_exists is_writable is_writeable is_readable is_executable is_file is_dir is_link stat lstat chown touch clearstatcache mail ob_start ob_flush ob_clean ob_end_flush ob_end_clean ob_get_flush ob_get_clean ob_get_length ob_get_level ob_get_status ob_get_contents ob_implicit_flush ob_list_handlers ksort krsort natsort natcasesort asort arsort sort rsort usort uasort uksort shuffle array_walk count end prev next reset current key min max in_array array_search extract compact array_fill range array_multisort array_push array_pop array_shift array_unshift array_splice array_slice array_merge array_merge_recursive array_keys array_values array_count_values array_reverse array_reduce array_pad array_flip array_change_key_case array_rand array_unique array_intersect array_intersect_assoc array_diff array_diff_assoc array_sum array_filter array_map array_chunk array_key_exists array_intersect_key array_combine array_column pos sizeof key_exists assert assert_options version_compare ftok str_rot13 aggregate session_name session_module_name session_save_path session_id session_regenerate_id session_decode session_register session_unregister session_is_registered session_encode session_start session_destroy session_unset session_set_save_handler session_cache_limiter session_cache_expire session_set_cookie_params session_get_cookie_params session_write_close preg_match preg_match_all preg_replace preg_replace_callback preg_split preg_quote preg_grep overload ctype_alnum ctype_alpha ctype_cntrl ctype_digit ctype_lower ctype_graph ctype_print ctype_punct ctype_space ctype_upper ctype_xdigit virtual apache_request_headers apache_note apache_lookup_uri apache_child_terminate apache_setenv apache_response_headers apache_get_version getallheaders mysql_connect mysql_pconnect mysql_close mysql_select_db mysql_create_db mysql_drop_db mysql_query mysql_unbuffered_query mysql_db_query mysql_list_dbs mysql_list_tables mysql_list_fields mysql_list_processes mysql_error mysql_errno mysql_affected_rows mysql_insert_id mysql_result mysql_num_rows mysql_num_fields mysql_fetch_row mysql_fetch_array mysql_fetch_assoc mysql_fetch_object mysql_data_seek mysql_fetch_lengths mysql_fetch_field mysql_field_seek mysql_free_result mysql_field_name mysql_field_table mysql_field_len mysql_field_type mysql_field_flags mysql_escape_string mysql_real_escape_string mysql_stat mysql_thread_id mysql_client_encoding mysql_get_client_info mysql_get_host_info mysql_get_proto_info mysql_get_server_info mysql_info mysql mysql_fieldname mysql_fieldtable mysql_fieldlen mysql_fieldtype mysql_fieldflags mysql_selectdb mysql_createdb mysql_dropdb mysql_freeresult mysql_numfields mysql_numrows mysql_listdbs mysql_listtables mysql_listfields mysql_db_name mysql_dbname mysql_tablename mysql_table_name pg_connect pg_pconnect pg_close pg_connection_status pg_connection_busy pg_connection_reset pg_host pg_dbname pg_port pg_tty pg_options pg_ping pg_query pg_send_query pg_cancel_query pg_fetch_result pg_fetch_row pg_fetch_assoc pg_fetch_array pg_fetch_object pg_fetch_all pg_affected_rows pg_get_result pg_result_seek pg_result_status pg_free_result pg_last_oid pg_num_rows pg_num_fields pg_field_name pg_field_num pg_field_size pg_field_type pg_field_prtlen pg_field_is_null pg_get_notify pg_get_pid pg_result_error pg_last_error pg_last_notice pg_put_line pg_end_copy pg_copy_to pg_copy_from pg_trace pg_untrace pg_lo_create pg_lo_unlink pg_lo_open pg_lo_close pg_lo_read pg_lo_write pg_lo_read_all pg_lo_import pg_lo_export pg_lo_seek pg_lo_tell pg_escape_string pg_escape_bytea pg_unescape_bytea pg_client_encoding pg_set_client_encoding pg_meta_data pg_convert pg_insert pg_update pg_delete pg_select pg_exec pg_getlastoid pg_cmdtuples pg_errormessage pg_numrows pg_numfields pg_fieldname pg_fieldsize pg_fieldtype pg_fieldnum pg_fieldprtlen pg_fieldisnull pg_freeresult pg_result pg_loreadall pg_locreate pg_lounlink pg_loopen pg_loclose pg_loread pg_lowrite pg_loimport pg_loexport http_response_code get_declared_traits getimagesizefromstring socket_import_stream stream_set_chunk_size trait_exists header_register_callback class_uses session_status session_register_shutdown echo print global static exit array empty eval isset unset die include require include_once require_once json_decode json_encode json_last_error json_last_error_msg curl_close curl_copy_handle curl_errno curl_error curl_escape curl_exec curl_file_create curl_getinfo curl_init curl_multi_add_handle curl_multi_close curl_multi_exec curl_multi_getcontent curl_multi_info_read curl_multi_init curl_multi_remove_handle curl_multi_select curl_multi_setopt curl_multi_strerror curl_pause curl_reset curl_setopt_array curl_setopt curl_share_close curl_share_init curl_share_setopt curl_strerror curl_unescape curl_version mysqli_affected_rows mysqli_autocommit mysqli_change_user mysqli_character_set_name mysqli_close mysqli_commit mysqli_connect_errno mysqli_connect_error mysqli_connect mysqli_data_seek mysqli_debug mysqli_dump_debug_info mysqli_errno mysqli_error_list mysqli_error mysqli_fetch_all mysqli_fetch_array mysqli_fetch_assoc mysqli_fetch_field_direct mysqli_fetch_field mysqli_fetch_fields mysqli_fetch_lengths mysqli_fetch_object mysqli_fetch_row mysqli_field_count mysqli_field_seek mysqli_field_tell mysqli_free_result mysqli_get_charset mysqli_get_client_info mysqli_get_client_stats mysqli_get_client_version mysqli_get_connection_stats mysqli_get_host_info mysqli_get_proto_info mysqli_get_server_info mysqli_get_server_version mysqli_info mysqli_init mysqli_insert_id mysqli_kill mysqli_more_results mysqli_multi_query mysqli_next_result mysqli_num_fields mysqli_num_rows mysqli_options mysqli_ping mysqli_prepare mysqli_query mysqli_real_connect mysqli_real_escape_string mysqli_real_query mysqli_reap_async_query mysqli_refresh mysqli_rollback mysqli_select_db mysqli_set_charset mysqli_set_local_infile_default mysqli_set_local_infile_handler mysqli_sqlstate mysqli_ssl_set mysqli_stat mysqli_stmt_init mysqli_store_result mysqli_thread_id mysqli_thread_safe mysqli_use_result mysqli_warning_count";c.registerHelper("hintWords","php",[e,i,r].join(" ").split(" ")),c.registerHelper("wordChars","php",/[\w$]/);var n={name:"clike",helperType:"php",keywords:t(e),blockKeywords:t("catch do else elseif for foreach if switch try while finally"),defKeywords:t("class function interface namespace trait"),atoms:t(i),builtin:t(r),multiLineStrings:!0,hooks:{$:function(t){return t.eatWhile(/[\w\$_]/),"variable-2"},"<":function(t,e){var i;if(i=t.match(/<<\s*/)){var r=t.eat(/['"]/);t.eatWhile(/[\w\.]/);var n=t.current().slice(i[0].length+(r?2:1));if(r&&t.eat(r),n)return(e.tokStack||(e.tokStack=[])).push(n,0),e.tokenize=l(n,"'"!=r),"string"}return!1},"#":function(t){for(;!t.eol()&&!t.match("?>",!1);)t.next();return"comment"},"/":function(t){if(t.eat("/")){for(;!t.eol()&&!t.match("?>",!1);)t.next();return"comment"}return!1},'"':function(t,e){return(e.tokStack||(e.tokStack=[])).push('"',0),e.tokenize=l('"'),"string"},"{":function(t,e){return e.tokStack&&e.tokStack.length&&e.tokStack[e.tokStack.length-1]++,!1},"}":function(t,e){return e.tokStack&&0<e.tokStack.length&&!--e.tokStack[e.tokStack.length-1]&&(e.tokenize=l(e.tokStack[e.tokStack.length-2])),!1}}};c.defineMode("php",function(t,i){var a=c.getMode(t,i&&i.htmlMode||"text/html"),l=c.getMode(t,n);return{startState:function(){var t=c.startState(a),e=i.startOpen?c.startState(l):null;return{html:t,php:e,curMode:i.startOpen?l:a,curState:i.startOpen?e:t,pending:null}},copyState:function(t){var e,i=t.html,r=c.copyState(a,i),n=t.php,o=n&&c.copyState(l,n);return e=t.curMode==a?r:o,{html:r,php:o,curMode:t.curMode,curState:e,pending:t.pending}},token:function(t,e){var i=e.curMode==l;if(t.sol()&&e.pending&&'"'!=e.pending&&"'"!=e.pending&&(e.pending=null),i)return i&&null==e.php.tokenize&&t.match("?>")?(e.curMode=a,e.curState=e.html,e.php.context.prev||(e.php=null),"meta"):l.token(t,e.curState);if(t.match(/^<\?\w*/))return e.curMode=l,e.php||(e.php=c.startState(l,a.indent(e.html,""))),e.curState=e.php,"meta";if('"'==e.pending||"'"==e.pending){for(;!t.eol()&&t.next()!=e.pending;);var r="string"}else r=e.pending&&t.pos<e.pending.end?(t.pos=e.pending.end,e.pending.style):a.token(t,e.curState);e.pending&&(e.pending=null);var n,o=t.current(),s=o.search(/<\?/);return-1!=s&&("string"==r&&(n=o.match(/[\'\"]$/))&&!/\?>/.test(o)?e.pending=n[0]:e.pending={end:t.pos,style:r},t.backUp(o.length-s)),r},indent:function(t,e){return t.curMode!=l&&/^\s*<\//.test(e)||t.curMode==l&&/^\?>/.test(e)?a.indent(t.html,e):t.curMode.indent(t.curState,e)},blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//",innerMode:function(t){return{state:t.curState,mode:t.curMode}}}},"htmlmixed","clike"),c.defineMIME("application/x-httpd-php","php"),c.defineMIME("application/x-httpd-php-open",{name:"php",startOpen:!0}),c.defineMIME("text/x-php",n)},"object"==typeof i&&"object"==typeof e?r(t("../../lib/codemirror"),t("../htmlmixed/htmlmixed"),t("../clike/clike")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../htmlmixed/htmlmixed","../clike/clike"],r):r(CodeMirror)},{"../../lib/codemirror":12,"../clike/clike":13,"../htmlmixed/htmlmixed":15}],18:[function(t,e,i){var r;r=function(b){"use strict";var w={autoSelfClosers:{area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},implicitlyClosed:{dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},contextGrabbers:{dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}},doNotIndent:{pre:!0},allowUnquoted:!0,allowMissing:!0,caseFold:!0},E={autoSelfClosers:{},implicitlyClosed:{},contextGrabbers:{},doNotIndent:{},allowUnquoted:!1,allowMissing:!1,allowMissingTagName:!1,caseFold:!1};b.defineMode("xml",function(t,e){var s,o,a=t.indentUnit,l={},i=e.htmlMode?w:E;for(var r in i)l[r]=i[r];for(var r in e)l[r]=e[r];function c(e,i){function t(t){return(i.tokenize=t)(e,i)}var r=e.next();return"<"==r?e.eat("!")?e.eat("[")?e.match("CDATA[")?t(n("atom","]]>")):null:e.match("--")?t(n("comment","--\x3e")):e.match("DOCTYPE",!0,!0)?(e.eatWhile(/[\w\._\-]/),t(function r(n){return function(t,e){for(var i;null!=(i=t.next());){if("<"==i)return e.tokenize=r(n+1),e.tokenize(t,e);if(">"==i){if(1!=n)return e.tokenize=r(n-1),e.tokenize(t,e);e.tokenize=c;break}}return"meta"}}(1))):null:e.eat("?")?(e.eatWhile(/[\w\._\-]/),i.tokenize=n("meta","?>"),"meta"):(s=e.eat("/")?"closeTag":"openTag",i.tokenize=h,"tag bracket"):"&"!=r?(e.eatWhile(/[^&<]/),null):(e.eat("#")?e.eat("x")?e.eatWhile(/[a-fA-F\d]/)&&e.eat(";"):e.eatWhile(/[\d]/)&&e.eat(";"):e.eatWhile(/[\w\.\-:]/)&&e.eat(";"))?"atom":"error"}function h(t,e){var i=t.next();if(">"==i||"/"==i&&t.eat(">"))return e.tokenize=c,s=">"==i?"endTag":"selfcloseTag","tag bracket";if("="==i)return s="equals",null;if("<"!=i)return/[\'\"]/.test(i)?(e.tokenize=(r=i,(n=function(t,e){for(;!t.eol();)if(t.next()==r){e.tokenize=h;break}return"string"}).isInAttribute=!0,n),e.stringStartCol=t.column(),e.tokenize(t,e)):(t.match(/^[^\s\u00a0=<>\"\']*[^\s\u00a0=<>\"\'\/]/),"word");e.tokenize=c,e.state=p,e.tagName=e.tagStart=null;var r,n,o=e.tokenize(t,e);return o?o+" tag error":"tag error"}function n(i,r){return function(t,e){for(;!t.eol();){if(t.match(r)){e.tokenize=c;break}t.next()}return i}}function u(t,e,i){this.prev=t.context,this.tagName=e,this.indent=t.indented,this.startOfLine=i,(l.doNotIndent.hasOwnProperty(e)||t.context&&t.context.noIndent)&&(this.noIndent=!0)}function f(t){t.context&&(t.context=t.context.prev)}function d(t,e){for(var i;;){if(!t.context)return;if(i=t.context.tagName,!l.contextGrabbers.hasOwnProperty(i)||!l.contextGrabbers[i].hasOwnProperty(e))return;f(t)}}function p(t,e,i){return"openTag"==t?(i.tagStart=e.column(),m):"closeTag"==t?g:p}function m(t,e,i){return"word"==t?(i.tagName=e.current(),o="tag",y):l.allowMissingTagName&&"endTag"==t?(o="tag bracket",y(t,e,i)):(o="error",m)}function g(t,e,i){if("word"!=t)return l.allowMissingTagName&&"endTag"==t?(o="tag bracket",_(t,e,i)):(o="error",v);var r=e.current();return i.context&&i.context.tagName!=r&&l.implicitlyClosed.hasOwnProperty(i.context.tagName)&&f(i),i.context&&i.context.tagName==r||!1===l.matchClosing?(o="tag",_):(o="tag error",v)}function _(t,e,i){return"endTag"!=t?(o="error",_):(f(i),p)}function v(t,e,i){return o="error",_(t,0,i)}function y(t,e,i){if("word"==t)return o="attribute",x;if("endTag"!=t&&"selfcloseTag"!=t)return o="error",y;var r=i.tagName,n=i.tagStart;return i.tagName=i.tagStart=null,"selfcloseTag"==t||l.autoSelfClosers.hasOwnProperty(r)?d(i,r):(d(i,r),i.context=new u(i,r,n==i.indented)),p}function x(t,e,i){return"equals"==t?T:(l.allowMissing||(o="error"),y(t,0,i))}function T(t,e,i){return"string"==t?k:"word"==t&&l.allowUnquoted?(o="string",y):(o="error",y(t,0,i))}function k(t,e,i){return"string"==t?k:y(t,0,i)}return c.isInText=!0,{startState:function(t){var e={tokenize:c,state:p,indented:t||0,tagName:null,tagStart:null,context:null};return null!=t&&(e.baseIndent=t),e},token:function(t,e){if(!e.tagName&&t.sol()&&(e.indented=t.indentation()),t.eatSpace())return null;s=null;var i=e.tokenize(t,e);return(i||s)&&"comment"!=i&&(o=null,e.state=e.state(s||i,t,e),o&&(i="error"==o?i+" error":o)),i},indent:function(t,e,i){var r=t.context;if(t.tokenize.isInAttribute)return t.tagStart==t.indented?t.stringStartCol+1:t.indented+a;if(r&&r.noIndent)return b.Pass;if(t.tokenize!=h&&t.tokenize!=c)return i?i.match(/^(\s*)/)[0].length:0;if(t.tagName)return!1!==l.multilineTagIndentPastTag?t.tagStart+t.tagName.length+2:t.tagStart+a*(l.multilineTagIndentFactor||1);if(l.alignCDATA&&/<!\[CDATA\[/.test(e))return 0;var n=e&&/^<(\/)?([\w_:\.-]*)/.exec(e);if(n&&n[1])for(;r;){if(r.tagName==n[2]){r=r.prev;break}if(!l.implicitlyClosed.hasOwnProperty(r.tagName))break;r=r.prev}else if(n)for(;r;){var o=l.contextGrabbers[r.tagName];if(!o||!o.hasOwnProperty(n[2]))break;r=r.prev}for(;r&&r.prev&&!r.startOfLine;)r=r.prev;return r?r.indent+a:t.baseIndent||0},electricInput:/<\/[\s\w:]+>$/,blockCommentStart:"\x3c!--",blockCommentEnd:"--\x3e",configuration:l.htmlMode?"html":"xml",helperType:l.htmlMode?"html":"xml",skipAttribute:function(t){t.state==T&&(t.state=y)}}}),b.defineMIME("text/xml","xml"),b.defineMIME("application/xml","xml"),b.mimeModes.hasOwnProperty("text/html")||b.defineMIME("text/html",{name:"xml",htmlMode:!0})},"object"==typeof i&&"object"==typeof e?r(t("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],r):r(CodeMirror)},{"../../lib/codemirror":12}],19:[function(NIa,OIa,PIa){var RIa,SIa;RIa=window,SIa=function(){return function(i){var r={};function n(t){if(r[t])return r[t].exports;var e=r[t]={i:t,l:!1,exports:{}};return i[t].call(e.exports,e,e.exports,n),e.l=!0,e.exports}return n.m=i,n.c=r,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(i,r,function(t){return e[t]}.bind(null,r));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=12)}([function(t,e,i){"use strict";var r=i(2);t.exports=r.extends("statement",function(t,e,i){r.apply(this,[t||"statement",e,i])})},function(t,e,i){"use strict";var r=i(2),n="expression";t.exports=r.extends(n,function(t,e,i){r.apply(this,[t||n,e,i])})},function(t,e,i){"use strict";var r=function(t,e,i){this.kind=t,e&&(this.leadingComments=e),i&&(this.loc=i)};r.prototype.setTrailingComments=function(t){this.trailingComments=t},r.prototype.includeToken=function(t){return this.loc&&(this.loc.end&&(this.loc.end.line=t.lexer.yylloc.last_line,this.loc.end.column=t.lexer.yylloc.last_column,this.loc.end.offset=t.lexer.offset),t.ast.withSource&&(this.loc.source=t.lexer._input.substring(this.loc.start.offset,t.lexer.offset))),this},r.extends=function(t,e){return e.prototype=Object.create(this.prototype),e.extends=this.extends,(e.prototype.constructor=e).kind=t,e},t.exports=r},function(t,e,i){"use strict";var o=i(1);t.exports=o.extends("literal",function(t,e,i,r,n){o.apply(this,[t||"literal",r,n]),this.value=e,i&&(this.raw=i)})},function(t,e,i){"use strict";var n=i(0),o="declaration",r=n.extends(o,function(t,e,i,r){n.apply(this,[t||o,i,r]),this.name=e});r.prototype.parseFlags=function(t){this.isAbstract=1===t[2],this.isFinal=2===t[2],"class"!==this.kind&&(-1===t[0]?this.visibility="":null===t[0]?this.visibility=null:0===t[0]?this.visibility="public":1===t[0]?this.visibility="protected":2===t[0]&&(this.visibility="private"),this.isStatic=1===t[1])},t.exports=r},function(t,e,i){"use strict";var r=i(1);t.exports=r.extends("operation",function(t,e,i){r.apply(this,[t||"operation",e,i])})},function(t,e,i){"use strict";var r=i(2),n=r.extends("reference",function(t,e,i){r.apply(this,[t||"reference",e,i])});t.exports=n},function(t,e,i){"use strict";var n=i(0);t.exports=n.extends("block",function(t,e,i,r){n.apply(this,[t||"block",i,r]),this.children=e.filter(Boolean)})},function(t,e,i){"use strict";var o=i(1);t.exports=o.extends("lookup",function(t,e,i,r,n){o.apply(this,[t||"lookup",r,n]),this.what=e,this.offset=i})},function(t,e,i){"use strict";var n=i(2);t.exports=n.extends("comment",function(t,e,i,r){n.apply(this,[t,i,r]),this.value=e})},function(t,e,i){"use strict";var n=i(0),o="constantstatement";t.exports=n.extends(o,function(t,e,i,r){n.apply(this,[t||o,i,r]),this.items=e})},function(t,e,i){"use strict";var a=i(4);t.exports=a.extends("function",function(t,e,i,r,n,o,s){a.apply(this,["function",t,o,s]),this.arguments=e,this.byref=i,this.type=r,this.nullable=n,this.body=null})},function(t,e,h){"use strict";(function(e){var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=h(18),r=h(28),n=h(44),o=h(45);function a(t,e){for(var i=Object.keys(t),r=i.length;r--;){var n=i[r],o=t[n];null===o?delete e[n]:"function"==typeof o?e[n]=o.bind(e):Array.isArray(o)?e[n]=Array.isArray(e[n])?e[n].concat(o):o:"object"===(void 0===o?"undefined":s(o))?e[n]="object"===s(e[n])?a(o,e[n]):o:e[n]=o}return e}var l=function(t){if("function"==typeof this)return new this(t);this.tokens=n,this.lexer=new i(this),this.ast=new o,this.parser=new r(this.lexer,this.ast),t&&"object"===(void 0===t?"undefined":s(t))&&(t.parser&&!1===t.parser.php7&&(t.lexer||(t.lexer={}),t.lexer.php7=!1),a(t,this))},c=function(t){return e.isBuffer(t)?t.toString():t};l.create=function(t){return new l(t)},l.parseEval=function(t,e){return new l(e).parseEval(t)},l.prototype.parseEval=function(t){return this.lexer.mode_eval=!0,this.lexer.all_tokens=!1,t=c(t),this.parser.parse(t,"eval")},l.parseCode=function(t,e,i){return"object"!==(void 0===e?"undefined":s(e))||i||(i=e,e="unknown"),new l(i).parseCode(t,e)},l.prototype.parseCode=function(t,e){return this.lexer.mode_eval=!1,this.lexer.all_tokens=!1,t=c(t),this.parser.parse(t,e)},l.tokenGetAll=function(t,e){return new l(e).tokenGetAll(t)},l.prototype.tokenGetAll=function(t){this.lexer.mode_eval=!1,this.lexer.all_tokens=!0,t=c(t);var e=this.lexer.EOF,i=this.tokens.values;this.lexer.setInput(t);for(var r=this.lexer.lex()||e,n=[];r!=e;){var o=this.lexer.yytext;i.hasOwnProperty(r)&&(o=[i[r],o,this.lexer.yylloc.first_line]),n.push(o),r=this.lexer.lex()||e}return n},t.exports=l,t.exports.tokens=n,t.exports.lexer=i,t.exports.AST=o,t.exports.parser=r,t.exports.combine=a,t.exports.default=l}).call(this,h(13).Buffer)},function(t,F,e){"use strict";(function(t){var r=e(15),o=e(16),s=e(17);function i(){return u.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function a(t,e){if(i()<e)throw new RangeError("Invalid typed array length");return u.TYPED_ARRAY_SUPPORT?(t=new Uint8Array(e)).__proto__=u.prototype:(null===t&&(t=new u(e)),t.length=e),t}function u(t,e,i){if(!(u.TYPED_ARRAY_SUPPORT||this instanceof u))return new u(t,e,i);if("number"!=typeof t)return n(this,t,e,i);if("string"==typeof e)throw new Error("If encoding is specified then the first argument must be a string");return c(this,t)}function n(t,e,i,r){if("number"==typeof e)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer?function(t,e,i,r){if(e.byteLength,i<0||e.byteLength<i)throw new RangeError("'offset' is out of bounds");if(e.byteLength<i+(r||0))throw new RangeError("'length' is out of bounds");e=void 0===i&&void 0===r?new Uint8Array(e):void 0===r?new Uint8Array(e,i):new Uint8Array(e,i,r);u.TYPED_ARRAY_SUPPORT?(t=e).__proto__=u.prototype:t=h(t,e);return t}(t,e,i,r):"string"==typeof e?function(t,e,i){"string"==typeof i&&""!==i||(i="utf8");if(!u.isEncoding(i))throw new TypeError('"encoding" must be a valid string encoding');var r=0|d(e,i),n=(t=a(t,r)).write(e,i);n!==r&&(t=t.slice(0,n));return t}(t,e,i):function(t,e){if(u.isBuffer(e)){var i=0|f(e.length);return 0===(t=a(t,i)).length||e.copy(t,0,0,i),t}if(e){if("undefined"!=typeof ArrayBuffer&&e.buffer instanceof ArrayBuffer||"length"in e)return"number"!=typeof e.length||(r=e.length)!=r?a(t,0):h(t,e);if("Buffer"===e.type&&s(e.data))return h(t,e.data)}var r;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(t,e)}function l(t){if("number"!=typeof t)throw new TypeError('"size" argument must be a number');if(t<0)throw new RangeError('"size" argument must not be negative')}function c(t,e){if(l(e),t=a(t,e<0?0:0|f(e)),!u.TYPED_ARRAY_SUPPORT)for(var i=0;i<e;++i)t[i]=0;return t}function h(t,e){var i=e.length<0?0:0|f(e.length);t=a(t,i);for(var r=0;r<i;r+=1)t[r]=255&e[r];return t}function f(t){if(t>=i())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+i().toString(16)+" bytes");return 0|t}function d(t,e){if(u.isBuffer(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var i=t.length;if(0===i)return 0;for(var r=!1;;)switch(e){case"ascii":case"latin1":case"binary":return i;case"utf8":case"utf-8":case void 0:return D(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*i;case"hex":return i>>>1;case"base64":return P(t).length;default:if(r)return D(t).length;e=(""+e).toLowerCase(),r=!0}}function p(t,e,i){var r=t[e];t[e]=t[i],t[i]=r}function m(t,e,i,r,n){if(0===t.length)return-1;if("string"==typeof i?(r=i,i=0):2147483647<i?i=2147483647:i<-2147483648&&(i=-2147483648),i=+i,isNaN(i)&&(i=n?0:t.length-1),i<0&&(i=t.length+i),i>=t.length){if(n)return-1;i=t.length-1}else if(i<0){if(!n)return-1;i=0}if("string"==typeof e&&(e=u.from(e,r)),u.isBuffer(e))return 0===e.length?-1:g(t,e,i,r,n);if("number"==typeof e)return e&=255,u.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?n?Uint8Array.prototype.indexOf.call(t,e,i):Uint8Array.prototype.lastIndexOf.call(t,e,i):g(t,[e],i,r,n);throw new TypeError("val must be string, number or Buffer")}function g(t,e,i,r,n){var o,s=1,a=t.length,l=e.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(t.length<2||e.length<2)return-1;a/=s=2,l/=2,i/=2}function c(t,e){return 1===s?t[e]:t.readUInt16BE(e*s)}if(n){var h=-1;for(o=i;o<a;o++)if(c(t,o)===c(e,-1===h?0:o-h)){if(-1===h&&(h=o),o-h+1===l)return h*s}else-1!==h&&(o-=o-h),h=-1}else for(a<i+l&&(i=a-l),o=i;0<=o;o--){for(var u=!0,f=0;f<l;f++)if(c(t,o+f)!==c(e,f)){u=!1;break}if(u)return o}return-1}function _(t,e,i,r){i=Number(i)||0;var n=t.length-i;r?n<(r=Number(r))&&(r=n):r=n;var o=e.length;if(o%2!=0)throw new TypeError("Invalid hex string");o/2<r&&(r=o/2);for(var s=0;s<r;++s){var a=parseInt(e.substr(2*s,2),16);if(isNaN(a))return s;t[i+s]=a}return s}function v(t,e,i,r){return B(function(t){for(var e=[],i=0;i<t.length;++i)e.push(255&t.charCodeAt(i));return e}(e),t,i,r)}function y(t,e,i){return 0===e&&i===t.length?r.fromByteArray(t):r.fromByteArray(t.slice(e,i))}function x(t,e,i){i=Math.min(t.length,i);for(var r=[],n=e;n<i;){var o,s,a,l,c=t[n],h=null,u=239<c?4:223<c?3:191<c?2:1;if(n+u<=i)switch(u){case 1:c<128&&(h=c);break;case 2:128==(192&(o=t[n+1]))&&127<(l=(31&c)<<6|63&o)&&(h=l);break;case 3:o=t[n+1],s=t[n+2],128==(192&o)&&128==(192&s)&&2047<(l=(15&c)<<12|(63&o)<<6|63&s)&&(l<55296||57343<l)&&(h=l);break;case 4:o=t[n+1],s=t[n+2],a=t[n+3],128==(192&o)&&128==(192&s)&&128==(192&a)&&65535<(l=(15&c)<<18|(63&o)<<12|(63&s)<<6|63&a)&&l<1114112&&(h=l)}null===h?(h=65533,u=1):65535<h&&(h-=65536,r.push(h>>>10&1023|55296),h=56320|1023&h),r.push(h),n+=u}return function(t){var e=t.length;if(e<=T)return String.fromCharCode.apply(String,t);var i="",r=0;for(;r<e;)i+=String.fromCharCode.apply(String,t.slice(r,r+=T));return i}(r)}F.Buffer=u,F.SlowBuffer=function(t){+t!=t&&(t=0);return u.alloc(+t)},F.INSPECT_MAX_BYTES=50,u.TYPED_ARRAY_SUPPORT=void 0!==t.TYPED_ARRAY_SUPPORT?t.TYPED_ARRAY_SUPPORT:function(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()&&"function"==typeof t.subarray&&0===t.subarray(1,1).byteLength}catch(t){return!1}}(),F.kMaxLength=i(),u.poolSize=8192,u._augment=function(t){return t.__proto__=u.prototype,t},u.from=function(t,e,i){return n(null,t,e,i)},u.TYPED_ARRAY_SUPPORT&&(u.prototype.__proto__=Uint8Array.prototype,u.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&u[Symbol.species]===u&&Object.defineProperty(u,Symbol.species,{value:null,configurable:!0})),u.alloc=function(t,e,i){return r=null,o=e,s=i,l(n=t),n<=0?a(r,n):void 0!==o?"string"==typeof s?a(r,n).fill(o,s):a(r,n).fill(o):a(r,n);var r,n,o,s},u.allocUnsafe=function(t){return c(null,t)},u.allocUnsafeSlow=function(t){return c(null,t)},u.isBuffer=function(t){return!(null==t||!t._isBuffer)},u.compare=function(t,e){if(!u.isBuffer(t)||!u.isBuffer(e))throw new TypeError("Arguments must be Buffers");if(t===e)return 0;for(var i=t.length,r=e.length,n=0,o=Math.min(i,r);n<o;++n)if(t[n]!==e[n]){i=t[n],r=e[n];break}return i<r?-1:r<i?1:0},u.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},u.concat=function(t,e){if(!s(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return u.alloc(0);var i;if(void 0===e)for(i=e=0;i<t.length;++i)e+=t[i].length;var r=u.allocUnsafe(e),n=0;for(i=0;i<t.length;++i){var o=t[i];if(!u.isBuffer(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(r,n),n+=o.length}return r},u.byteLength=d,u.prototype._isBuffer=!0,u.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;e<t;e+=2)p(this,e,e+1);return this},u.prototype.swap32=function(){var t=this.length;if(t%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var e=0;e<t;e+=4)p(this,e,e+3),p(this,e+1,e+2);return this},u.prototype.swap64=function(){var t=this.length;if(t%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var e=0;e<t;e+=8)p(this,e,e+7),p(this,e+1,e+6),p(this,e+2,e+5),p(this,e+3,e+4);return this},u.prototype.toString=function(){var t=0|this.length;return 0===t?"":0===arguments.length?x(this,0,t):function(t,e,i){var r=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===i||i>this.length)&&(i=this.length),i<=0)return"";if((i>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return w(this,e,i);case"utf8":case"utf-8":return x(this,e,i);case"ascii":return k(this,e,i);case"latin1":case"binary":return b(this,e,i);case"base64":return y(this,e,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return E(this,e,i);default:if(r)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),r=!0}}.apply(this,arguments)},u.prototype.equals=function(t){if(!u.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===u.compare(this,t)},u.prototype.inspect=function(){var t="",e=F.INSPECT_MAX_BYTES;return 0<this.length&&(t=this.toString("hex",0,e).match(/.{2}/g).join(" "),this.length>e&&(t+=" ... ")),"<Buffer "+t+">"},u.prototype.compare=function(t,e,i,r,n){if(!u.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===i&&(i=t?t.length:0),void 0===r&&(r=0),void 0===n&&(n=this.length),e<0||i>t.length||r<0||n>this.length)throw new RangeError("out of range index");if(n<=r&&i<=e)return 0;if(n<=r)return-1;if(i<=e)return 1;if(this===t)return 0;for(var o=(n>>>=0)-(r>>>=0),s=(i>>>=0)-(e>>>=0),a=Math.min(o,s),l=this.slice(r,n),c=t.slice(e,i),h=0;h<a;++h)if(l[h]!==c[h]){o=l[h],s=c[h];break}return o<s?-1:s<o?1:0},u.prototype.includes=function(t,e,i){return-1!==this.indexOf(t,e,i)},u.prototype.indexOf=function(t,e,i){return m(this,t,e,i,!0)},u.prototype.lastIndexOf=function(t,e,i){return m(this,t,e,i,!1)},u.prototype.write=function(t,e,i,r){if(void 0===e)r="utf8",i=this.length,e=0;else if(void 0===i&&"string"==typeof e)r=e,i=this.length,e=0;else{if(!isFinite(e))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");e|=0,isFinite(i)?(i|=0,void 0===r&&(r="utf8")):(r=i,i=void 0)}var n=this.length-e;if((void 0===i||n<i)&&(i=n),0<t.length&&(i<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var o,s,a,l,c,h,u,f,d,p=!1;;)switch(r){case"hex":return _(this,t,e,i);case"utf8":case"utf-8":return f=e,d=i,B(D(t,(u=this).length-f),u,f,d);case"ascii":return v(this,t,e,i);case"latin1":case"binary":return v(this,t,e,i);case"base64":return l=this,c=e,h=i,B(P(t),l,c,h);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return s=e,a=i,B(function(t,e){for(var i,r,n,o=[],s=0;s<t.length&&!((e-=2)<0);++s)i=t.charCodeAt(s),r=i>>8,n=i%256,o.push(n),o.push(r);return o}(t,(o=this).length-s),o,s,a);default:if(p)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),p=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var T=4096;function k(t,e,i){var r="";i=Math.min(t.length,i);for(var n=e;n<i;++n)r+=String.fromCharCode(127&t[n]);return r}function b(t,e,i){var r="";i=Math.min(t.length,i);for(var n=e;n<i;++n)r+=String.fromCharCode(t[n]);return r}function w(t,e,i){var r=t.length;(!e||e<0)&&(e=0),(!i||i<0||r<i)&&(i=r);for(var n="",o=e;o<i;++o)n+=M(t[o]);return n}function E(t,e,i){for(var r=t.slice(e,i),n="",o=0;o<r.length;o+=2)n+=String.fromCharCode(r[o]+256*r[o+1]);return n}function C(t,e,i){if(t%1!=0||t<0)throw new RangeError("offset is not uint");if(i<t+e)throw new RangeError("Trying to access beyond buffer length")}function S(t,e,i,r,n,o){if(!u.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(n<e||e<o)throw new RangeError('"value" argument is out of bounds');if(i+r>t.length)throw new RangeError("Index out of range")}function A(t,e,i,r){e<0&&(e=65535+e+1);for(var n=0,o=Math.min(t.length-i,2);n<o;++n)t[i+n]=(e&255<<8*(r?n:1-n))>>>8*(r?n:1-n)}function L(t,e,i,r){e<0&&(e=4294967295+e+1);for(var n=0,o=Math.min(t.length-i,4);n<o;++n)t[i+n]=e>>>8*(r?n:3-n)&255}function N(t,e,i,r,n,o){if(i+r>t.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("Index out of range")}function O(t,e,i,r,n){return n||N(t,0,i,4),o.write(t,e,i,r,23,4),i+4}function I(t,e,i,r,n){return n||N(t,0,i,8),o.write(t,e,i,r,52,8),i+8}u.prototype.slice=function(t,e){var i,r=this.length;if((t=~~t)<0?(t+=r)<0&&(t=0):r<t&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):r<e&&(e=r),e<t&&(e=t),u.TYPED_ARRAY_SUPPORT)(i=this.subarray(t,e)).__proto__=u.prototype;else{var n=e-t;i=new u(n,void 0);for(var o=0;o<n;++o)i[o]=this[o+t]}return i},u.prototype.readUIntLE=function(t,e,i){t|=0,e|=0,i||C(t,e,this.length);for(var r=this[t],n=1,o=0;++o<e&&(n*=256);)r+=this[t+o]*n;return r},u.prototype.readUIntBE=function(t,e,i){t|=0,e|=0,i||C(t,e,this.length);for(var r=this[t+--e],n=1;0<e&&(n*=256);)r+=this[t+--e]*n;return r},u.prototype.readUInt8=function(t,e){return e||C(t,1,this.length),this[t]},u.prototype.readUInt16LE=function(t,e){return e||C(t,2,this.length),this[t]|this[t+1]<<8},u.prototype.readUInt16BE=function(t,e){return e||C(t,2,this.length),this[t]<<8|this[t+1]},u.prototype.readUInt32LE=function(t,e){return e||C(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},u.prototype.readUInt32BE=function(t,e){return e||C(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},u.prototype.readIntLE=function(t,e,i){t|=0,e|=0,i||C(t,e,this.length);for(var r=this[t],n=1,o=0;++o<e&&(n*=256);)r+=this[t+o]*n;return(n*=128)<=r&&(r-=Math.pow(2,8*e)),r},u.prototype.readIntBE=function(t,e,i){t|=0,e|=0,i||C(t,e,this.length);for(var r=e,n=1,o=this[t+--r];0<r&&(n*=256);)o+=this[t+--r]*n;return(n*=128)<=o&&(o-=Math.pow(2,8*e)),o},u.prototype.readInt8=function(t,e){return e||C(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},u.prototype.readInt16LE=function(t,e){e||C(t,2,this.length);var i=this[t]|this[t+1]<<8;return 32768&i?4294901760|i:i},u.prototype.readInt16BE=function(t,e){e||C(t,2,this.length);var i=this[t+1]|this[t]<<8;return 32768&i?4294901760|i:i},u.prototype.readInt32LE=function(t,e){return e||C(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},u.prototype.readInt32BE=function(t,e){return e||C(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},u.prototype.readFloatLE=function(t,e){return e||C(t,4,this.length),o.read(this,t,!0,23,4)},u.prototype.readFloatBE=function(t,e){return e||C(t,4,this.length),o.read(this,t,!1,23,4)},u.prototype.readDoubleLE=function(t,e){return e||C(t,8,this.length),o.read(this,t,!0,52,8)},u.prototype.readDoubleBE=function(t,e){return e||C(t,8,this.length),o.read(this,t,!1,52,8)},u.prototype.writeUIntLE=function(t,e,i,r){(t=+t,e|=0,i|=0,r)||S(this,t,e,i,Math.pow(2,8*i)-1,0);var n=1,o=0;for(this[e]=255&t;++o<i&&(n*=256);)this[e+o]=t/n&255;return e+i},u.prototype.writeUIntBE=function(t,e,i,r){(t=+t,e|=0,i|=0,r)||S(this,t,e,i,Math.pow(2,8*i)-1,0);var n=i-1,o=1;for(this[e+n]=255&t;0<=--n&&(o*=256);)this[e+n]=t/o&255;return e+i},u.prototype.writeUInt8=function(t,e,i){return t=+t,e|=0,i||S(this,t,e,1,255,0),u.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},u.prototype.writeUInt16LE=function(t,e,i){return t=+t,e|=0,i||S(this,t,e,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):A(this,t,e,!0),e+2},u.prototype.writeUInt16BE=function(t,e,i){return t=+t,e|=0,i||S(this,t,e,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):A(this,t,e,!1),e+2},u.prototype.writeUInt32LE=function(t,e,i){return t=+t,e|=0,i||S(this,t,e,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):L(this,t,e,!0),e+4},u.prototype.writeUInt32BE=function(t,e,i){return t=+t,e|=0,i||S(this,t,e,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):L(this,t,e,!1),e+4},u.prototype.writeIntLE=function(t,e,i,r){if(t=+t,e|=0,!r){var n=Math.pow(2,8*i-1);S(this,t,e,i,n-1,-n)}var o=0,s=1,a=0;for(this[e]=255&t;++o<i&&(s*=256);)t<0&&0===a&&0!==this[e+o-1]&&(a=1),this[e+o]=(t/s>>0)-a&255;return e+i},u.prototype.writeIntBE=function(t,e,i,r){if(t=+t,e|=0,!r){var n=Math.pow(2,8*i-1);S(this,t,e,i,n-1,-n)}var o=i-1,s=1,a=0;for(this[e+o]=255&t;0<=--o&&(s*=256);)t<0&&0===a&&0!==this[e+o+1]&&(a=1),this[e+o]=(t/s>>0)-a&255;return e+i},u.prototype.writeInt8=function(t,e,i){return t=+t,e|=0,i||S(this,t,e,1,127,-128),u.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=255&t,e+1},u.prototype.writeInt16LE=function(t,e,i){return t=+t,e|=0,i||S(this,t,e,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):A(this,t,e,!0),e+2},u.prototype.writeInt16BE=function(t,e,i){return t=+t,e|=0,i||S(this,t,e,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):A(this,t,e,!1),e+2},u.prototype.writeInt32LE=function(t,e,i){return t=+t,e|=0,i||S(this,t,e,4,2147483647,-2147483648),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):L(this,t,e,!0),e+4},u.prototype.writeInt32BE=function(t,e,i){return t=+t,e|=0,i||S(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):L(this,t,e,!1),e+4},u.prototype.writeFloatLE=function(t,e,i){return O(this,t,e,!0,i)},u.prototype.writeFloatBE=function(t,e,i){return O(this,t,e,!1,i)},u.prototype.writeDoubleLE=function(t,e,i){return I(this,t,e,!0,i)},u.prototype.writeDoubleBE=function(t,e,i){return I(this,t,e,!1,i)},u.prototype.copy=function(t,e,i,r){if(i||(i=0),r||0===r||(r=this.length),e>=t.length&&(e=t.length),e||(e=0),0<r&&r<i&&(r=i),r===i)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(i<0||i>=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),t.length-e<r-i&&(r=t.length-e+i);var n,o=r-i;if(this===t&&i<e&&e<r)for(n=o-1;0<=n;--n)t[n+e]=this[n+i];else if(o<1e3||!u.TYPED_ARRAY_SUPPORT)for(n=0;n<o;++n)t[n+e]=this[n+i];else Uint8Array.prototype.set.call(t,this.subarray(i,i+o),e);return o},u.prototype.fill=function(t,e,i,r){if("string"==typeof t){if("string"==typeof e?(r=e,e=0,i=this.length):"string"==typeof i&&(r=i,i=this.length),1===t.length){var n=t.charCodeAt(0);n<256&&(t=n)}if(void 0!==r&&"string"!=typeof r)throw new TypeError("encoding must be a string");if("string"==typeof r&&!u.isEncoding(r))throw new TypeError("Unknown encoding: "+r)}else"number"==typeof t&&(t&=255);if(e<0||this.length<e||this.length<i)throw new RangeError("Out of range index");if(i<=e)return this;var o;if(e>>>=0,i=void 0===i?this.length:i>>>0,t||(t=0),"number"==typeof t)for(o=e;o<i;++o)this[o]=t;else{var s=u.isBuffer(t)?t:D(new u(t,r).toString()),a=s.length;for(o=0;o<i-e;++o)this[o+e]=s[o%a]}return this};var R=/[^+\/0-9A-Za-z-_]/g;function M(t){return t<16?"0"+t.toString(16):t.toString(16)}function D(t,e){var i;e=e||1/0;for(var r=t.length,n=null,o=[],s=0;s<r;++s){if(55295<(i=t.charCodeAt(s))&&i<57344){if(!n){if(56319<i){-1<(e-=3)&&o.push(239,191,189);continue}if(s+1===r){-1<(e-=3)&&o.push(239,191,189);continue}n=i;continue}if(i<56320){-1<(e-=3)&&o.push(239,191,189),n=i;continue}i=65536+(n-55296<<10|i-56320)}else n&&-1<(e-=3)&&o.push(239,191,189);if(n=null,i<128){if((e-=1)<0)break;o.push(i)}else if(i<2048){if((e-=2)<0)break;o.push(i>>6|192,63&i|128)}else if(i<65536){if((e-=3)<0)break;o.push(i>>12|224,i>>6&63|128,63&i|128)}else{if(!(i<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(i>>18|240,i>>12&63|128,i>>6&63|128,63&i|128)}}return o}function P(t){return r.toByteArray(function(t){var e;if((t=(e=t,e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")).replace(R,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function B(t,e,i,r){for(var n=0;n<r&&!(n+i>=e.length||n>=t.length);++n)e[n+i]=t[n];return n}}).call(this,e(14))},function(aWa,bWa){var cWa;cWa=function(){return this}();try{cWa=cWa||Function("return this")()||eval("this")}catch(t){"object"==typeof window&&(cWa=window)}aWa.exports=cWa},function(t,e,i){"use strict";e.byteLength=function(t){var e=d(t),i=e[0],r=e[1];return 3*(i+r)/4-r},e.toByteArray=function(t){for(var e,i=d(t),r=i[0],n=i[1],o=new f((c=r,h=n,3*(c+h)/4-h)),s=0,a=0<n?r-4:r,l=0;l<a;l+=4)e=u[t.charCodeAt(l)]<<18|u[t.charCodeAt(l+1)]<<12|u[t.charCodeAt(l+2)]<<6|u[t.charCodeAt(l+3)],o[s++]=e>>16&255,o[s++]=e>>8&255,o[s++]=255&e;var c,h;2===n&&(e=u[t.charCodeAt(l)]<<2|u[t.charCodeAt(l+1)]>>4,o[s++]=255&e);1===n&&(e=u[t.charCodeAt(l)]<<10|u[t.charCodeAt(l+1)]<<4|u[t.charCodeAt(l+2)]>>2,o[s++]=e>>8&255,o[s++]=255&e);return o},e.fromByteArray=function(t){for(var e,i=t.length,r=i%3,n=[],o=0,s=i-r;o<s;o+=16383)n.push(l(t,o,s<o+16383?s:o+16383));1===r?(e=t[i-1],n.push(a[e>>2]+a[e<<4&63]+"==")):2===r&&(e=(t[i-2]<<8)+t[i-1],n.push(a[e>>10]+a[e>>4&63]+a[e<<2&63]+"="));return n.join("")};for(var a=[],u=[],f="undefined"!=typeof Uint8Array?Uint8Array:Array,r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n=0,o=r.length;n<o;++n)a[n]=r[n],u[r.charCodeAt(n)]=n;function d(t){var e=t.length;if(0<e%4)throw new Error("Invalid string. Length must be a multiple of 4");var i=t.indexOf("=");return-1===i&&(i=e),[i,i===e?0:4-i%4]}function l(t,e,i){for(var r,n,o=[],s=e;s<i;s+=3)r=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(255&t[s+2]),o.push(a[(n=r)>>18&63]+a[n>>12&63]+a[n>>6&63]+a[63&n]);return o.join("")}u["-".charCodeAt(0)]=62,u["_".charCodeAt(0)]=63},function(t,e){e.read=function(t,e,i,r,n){var o,s,a=8*n-r-1,l=(1<<a)-1,c=l>>1,h=-7,u=i?n-1:0,f=i?-1:1,d=t[e+u];for(u+=f,o=d&(1<<-h)-1,d>>=-h,h+=a;0<h;o=256*o+t[e+u],u+=f,h-=8);for(s=o&(1<<-h)-1,o>>=-h,h+=r;0<h;s=256*s+t[e+u],u+=f,h-=8);if(0===o)o=1-c;else{if(o===l)return s?NaN:1/0*(d?-1:1);s+=Math.pow(2,r),o-=c}return(d?-1:1)*s*Math.pow(2,o-r)},e.write=function(t,e,i,r,n,o){var s,a,l,c=8*o-n-1,h=(1<<c)-1,u=h>>1,f=23===n?Math.pow(2,-24)-Math.pow(2,-77):0,d=r?0:o-1,p=r?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,s=h):(s=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-s))<1&&(s--,l*=2),2<=(e+=1<=s+u?f/l:f*Math.pow(2,1-u))*l&&(s++,l/=2),h<=s+u?(a=0,s=h):1<=s+u?(a=(e*l-1)*Math.pow(2,n),s+=u):(a=e*Math.pow(2,u-1)*Math.pow(2,n),s=0));8<=n;t[i+d]=255&a,d+=p,a/=256,n-=8);for(s=s<<n|a,c+=n;0<c;t[i+d]=255&s,d+=p,s/=256,c-=8);t[i+d-p]|=128*m}},function(t,e){var i={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==i.call(t)}},function(t,e,i){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n=function(t){this.engine=t,this.tok=this.engine.tokens.names,this.EOF=1,this.debug=!1,this.all_tokens=!0,this.comment_tokens=!1,this.mode_eval=!1,this.asp_tags=!1,this.short_tags=!0,this.php7=!0,this.yyprevcol=0,this.keywords={__class__:this.tok.T_CLASS_C,__trait__:this.tok.T_TRAIT_C,__function__:this.tok.T_FUNC_C,__method__:this.tok.T_METHOD_C,__line__:this.tok.T_LINE,__file__:this.tok.T_FILE,__dir__:this.tok.T_DIR,__namespace__:this.tok.T_NS_C,exit:this.tok.T_EXIT,die:this.tok.T_EXIT,function:this.tok.T_FUNCTION,const:this.tok.T_CONST,return:this.tok.T_RETURN,try:this.tok.T_TRY,catch:this.tok.T_CATCH,finally:this.tok.T_FINALLY,throw:this.tok.T_THROW,if:this.tok.T_IF,elseif:this.tok.T_ELSEIF,endif:this.tok.T_ENDIF,else:this.tok.T_ELSE,while:this.tok.T_WHILE,endwhile:this.tok.T_ENDWHILE,do:this.tok.T_DO,for:this.tok.T_FOR,endfor:this.tok.T_ENDFOR,foreach:this.tok.T_FOREACH,endforeach:this.tok.T_ENDFOREACH,declare:this.tok.T_DECLARE,enddeclare:this.tok.T_ENDDECLARE,instanceof:this.tok.T_INSTANCEOF,as:this.tok.T_AS,switch:this.tok.T_SWITCH,endswitch:this.tok.T_ENDSWITCH,case:this.tok.T_CASE,default:this.tok.T_DEFAULT,break:this.tok.T_BREAK,continue:this.tok.T_CONTINUE,goto:this.tok.T_GOTO,echo:this.tok.T_ECHO,print:this.tok.T_PRINT,class:this.tok.T_CLASS,interface:this.tok.T_INTERFACE,trait:this.tok.T_TRAIT,extends:this.tok.T_EXTENDS,implements:this.tok.T_IMPLEMENTS,new:this.tok.T_NEW,clone:this.tok.T_CLONE,var:this.tok.T_VAR,eval:this.tok.T_EVAL,include:this.tok.T_INCLUDE,include_once:this.tok.T_INCLUDE_ONCE,require:this.tok.T_REQUIRE,require_once:this.tok.T_REQUIRE_ONCE,namespace:this.tok.T_NAMESPACE,use:this.tok.T_USE,insteadof:this.tok.T_INSTEADOF,global:this.tok.T_GLOBAL,isset:this.tok.T_ISSET,empty:this.tok.T_EMPTY,__halt_compiler:this.tok.T_HALT_COMPILER,static:this.tok.T_STATIC,abstract:this.tok.T_ABSTRACT,final:this.tok.T_FINAL,private:this.tok.T_PRIVATE,protected:this.tok.T_PROTECTED,public:this.tok.T_PUBLIC,unset:this.tok.T_UNSET,list:this.tok.T_LIST,array:this.tok.T_ARRAY,callable:this.tok.T_CALLABLE,or:this.tok.T_LOGICAL_OR,and:this.tok.T_LOGICAL_AND,xor:this.tok.T_LOGICAL_XOR},this.castKeywords={int:this.tok.T_INT_CAST,integer:this.tok.T_INT_CAST,real:this.tok.T_DOUBLE_CAST,double:this.tok.T_DOUBLE_CAST,float:this.tok.T_DOUBLE_CAST,string:this.tok.T_STRING_CAST,binary:this.tok.T_STRING_CAST,array:this.tok.T_ARRAY_CAST,object:this.tok.T_OBJECT_CAST,bool:this.tok.T_BOOL_CAST,boolean:this.tok.T_BOOL_CAST,unset:this.tok.T_UNSET_CAST}};n.prototype.setInput=function(t){return this._input=t,this.size=t.length,this.yylineno=1,this.offset=0,this.yyprevcol=0,this.yytext="",this.yylloc={first_offset:0,first_line:1,first_column:0,prev_offset:0,prev_line:1,prev_column:0,last_line:1,last_column:0},this.tokens=[],this.done=this.offset>=this.size,!this.all_tokens&&this.mode_eval?(this.conditionStack=["INITIAL"],this.begin("ST_IN_SCRIPTING")):(this.conditionStack=[],this.begin("INITIAL")),this},n.prototype.input=function(){var t=this._input[this.offset];return t?(this.yytext+=t,this.offset++,"\r"===t&&"\n"===this._input[this.offset]&&(this.yytext+="\n",this.offset++),"\n"===t||"\r"===t?(this.yylloc.last_line=++this.yylineno,this.yyprevcol=this.yylloc.last_column,this.yylloc.last_column=0):this.yylloc.last_column++,t):""},n.prototype.unput=function(t){if(1===t)this.offset--,"\n"===this._input[this.offset]&&"\r"===this._input[this.offset-1]&&(this.offset--,t++),"\r"===this._input[this.offset]||"\n"===this._input[this.offset]?(this.yylloc.last_line--,this.yylineno--,this.yylloc.last_column=this.yyprevcol):this.yylloc.last_column--,this.yytext=this.yytext.substring(0,this.yytext.length-t);else if(0<t)if(this.offset-=t,t<this.yytext.length){this.yytext=this.yytext.substring(0,this.yytext.length-t),this.yylloc.last_line=this.yylloc.first_line,this.yylloc.last_column=this.yyprevcol=this.yylloc.first_column;for(var e=0;e<this.yytext.length;e++){var i=this.yytext[e];"\r"===i?(i=this.yytext[++e],this.yyprevcol=this.yylloc.last_column,this.yylloc.last_line++,this.yylloc.last_column=0,"\n"!==i&&("\r"===i?this.yylloc.last_line++:this.yylloc.last_column++)):"\n"===i?(this.yyprevcol=this.yylloc.last_column,this.yylloc.last_line++,this.yylloc.last_column=0):this.yylloc.last_column++}this.yylineno=this.yylloc.last_line}else this.yytext="",this.yylloc.last_line=this.yylineno=this.yylloc.first_line,this.yylloc.last_column=this.yylloc.first_column;return this},n.prototype.tryMatch=function(t){return t===this.ahead(t.length)},n.prototype.tryMatchCaseless=function(t){return t===this.ahead(t.length).toLowerCase()},n.prototype.ahead=function(t){var e=this._input.substring(this.offset,this.offset+t);return"\r"===e[e.length-1]&&"\n"===this._input[this.offset+t+1]&&(e+="\n"),e},n.prototype.consume=function(t){for(var e=0;e<t;e++){var i=this._input[this.offset];if(!i)break;this.yytext+=i,this.offset++,"\r"===i&&"\n"===this._input[this.offset]&&(this.yytext+="\n",this.offset++,e++),"\n"===i||"\r"===i?(this.yylloc.last_line=++this.yylineno,this.yyprevcol=this.yylloc.last_column,this.yylloc.last_column=0):this.yylloc.last_column++}return this},n.prototype.getState=function(){return{yytext:this.yytext,offset:this.offset,yylineno:this.yylineno,yyprevcol:this.yyprevcol,yylloc:{first_offset:this.yylloc.first_offset,first_line:this.yylloc.first_line,first_column:this.yylloc.first_column,last_line:this.yylloc.last_line,last_column:this.yylloc.last_column}}},n.prototype.setState=function(t){return this.yytext=t.yytext,this.offset=t.offset,this.yylineno=t.yylineno,this.yyprevcol=t.yyprevcol,this.yylloc=t.yylloc,this},n.prototype.appendToken=function(t,e){return this.tokens.push([t,e]),this},n.prototype.lex=function(){this.yylloc.prev_offset=this.offset,this.yylloc.prev_line=this.yylloc.last_line,this.yylloc.prev_column=this.yylloc.last_column;var t=this.next()||this.lex();if(!this.all_tokens){for(;t===this.tok.T_WHITESPACE||!this.comment_tokens&&(t===this.tok.T_COMMENT||t===this.tok.T_DOC_COMMENT)||t===this.tok.T_OPEN_TAG;)t=this.next()||this.lex();if(t==this.tok.T_OPEN_TAG_WITH_ECHO)return this.tok.T_ECHO;if(t===this.tok.T_CLOSE_TAG)return";"}return this.yylloc.prev_offset||(this.yylloc.prev_offset=this.yylloc.first_offset,this.yylloc.prev_line=this.yylloc.first_line,this.yylloc.prev_column=this.yylloc.first_column),t},n.prototype.begin=function(t){if(this.conditionStack.push(t),this.curCondition=t,this.stateCb=this["match"+t],"function"!=typeof this.stateCb)throw new Error('Undefined condition state "'+t+'"');return this},n.prototype.popState=function(){var t=0<this.conditionStack.length-1?this.conditionStack.pop():this.conditionStack[0];if(this.curCondition=this.conditionStack[this.conditionStack.length-1],this.stateCb=this["match"+this.curCondition],"function"!=typeof this.stateCb)throw new Error('Undefined condition state "'+this.curCondition+'"');return t},n.prototype.next=function(){var t=void 0;if(this._input||(this.done=!0),this.yylloc.first_offset=this.offset,this.yylloc.first_line=this.yylloc.last_line,this.yylloc.first_column=this.yylloc.last_column,this.yytext="",this.done)return this.yylloc.prev_offset=this.yylloc.first_offset,this.yylloc.prev_line=this.yylloc.first_line,this.yylloc.prev_column=this.yylloc.first_column,this.EOF;if(t=0<this.tokens.length?(t=this.tokens.shift(),"object"===r(t[1])?this.setState(t[1]):this.consume(t[1]),t[0]):this.stateCb.apply(this,[]),this.offset>=this.size&&0===this.tokens.length&&(this.done=!0),this.debug){var e=t;e="number"==typeof e?this.engine.tokens.values[e]:'"'+e+'"';var i=new Error(e+"\tfrom "+this.yylloc.first_line+","+this.yylloc.first_column+"\t - to "+this.yylloc.last_line+","+this.yylloc.last_column+'\t"'+this.yytext+'"');console.error(i.stack)}return t},[i(19),i(20),i(21),i(23),i(24),i(25),i(26),i(27)].forEach(function(t){for(var e in t)n.prototype[e]=t[e]}),t.exports=n},function(t,e,i){"use strict";t.exports={T_COMMENT:function(){for(;this.offset<this.size;){var t=this.input();if("\n"===t||"\r"===t)return this.tok.T_COMMENT;if("?"===t&&!this.aspTagMode&&">"===this._input[this.offset])return this.unput(1),this.tok.T_COMMENT;if("%"===t&&this.aspTagMode&&">"===this._input[this.offset])return this.unput(1),this.tok.T_COMMENT}return this.tok.T_COMMENT},T_DOC_COMMENT:function(){var t=this.input(),e=this.tok.T_COMMENT;if("*"===t){if(t=this.input(),this.is_WHITESPACE()&&(e=this.tok.T_DOC_COMMENT),"/"===t)return e;this.unput(1)}for(;this.offset<this.size;)if("*"===(t=this.input())&&"/"===this._input[this.offset]){this.input();break}return e}}},function(t,e,i){"use strict";t.exports={nextINITIAL:function(){return 1<this.conditionStack.length&&"INITIAL"===this.conditionStack[this.conditionStack.length-1]?this.popState():this.begin("ST_IN_SCRIPTING"),this},matchINITIAL:function(){for(;this.offset<this.size;){var t=this.input();if("<"==t)if("?"==(t=this.ahead(1))){if(this.tryMatch("?=")){this.unput(1).appendToken(this.tok.T_OPEN_TAG_WITH_ECHO,3).nextINITIAL();break}if(this.tryMatchCaseless("?php")&&(" "===(t=this._input[this.offset+4])||"\t"===t||"\n"===t||"\r"===t)){this.unput(1).appendToken(this.tok.T_OPEN_TAG,6).nextINITIAL();break}if(this.short_tags){this.unput(1).appendToken(this.tok.T_OPEN_TAG,2).nextINITIAL();break}}else if(this.asp_tags&&"%"==t){if(this.tryMatch("%=")){this.aspTagMode=!0,this.unput(1).appendToken(this.tok.T_OPEN_TAG_WITH_ECHO,3).nextINITIAL();break}this.aspTagMode=!0,this.unput(1).appendToken(this.tok.T_OPEN_TAG,2).nextINITIAL();break}}return 0<this.yytext.length&&this.tok.T_INLINE_HTML}}},function(e,t,i){"use strict";(function(t){var i=10,r="2147483648";"x64"==t.arch&&(i=19,r="9223372036854775808"),e.exports={consume_NUM:function(){var t=this.yytext[0],e="."===this.yytext[0];if("0"===t)if("x"===(t=this.input())||"X"===t){if(t=this.input(),this.is_HEX())return this.consume_HNUM();this.unput(t?2:1)}else if("b"===t||"B"===t){if("0"===(t=this.input())||"1"===t)return this.consume_BNUM();this.unput(t?2:1)}else this.is_NUM()||t&&this.unput(1);for(;this.offset<this.size;)if(t=this.input(),!this.is_NUM()){if("."!==t||e){if("e"===t||"E"===t){if("+"===(t=this.input())||"-"===t){if(t=this.input(),this.is_NUM())return this.consume_LNUM(),this.tok.T_DNUMBER;this.unput(t?3:2);break}if(this.is_NUM())return this.consume_LNUM(),this.tok.T_DNUMBER;this.unput(t?2:1);break}t&&this.unput(1);break}e=!0}return e?this.tok.T_DNUMBER:this.yytext.length<i-1?this.tok.T_LNUMBER:this.yytext.length<i||this.yytext.length==i&&this.yytext<r?this.tok.T_LNUMBER:this.tok.T_DNUMBER},consume_HNUM:function(){for(;this.offset<this.size;){var t=this.input();if(!this.is_HEX()){t&&this.unput(1);break}}return this.tok.T_LNUMBER},consume_LNUM:function(){for(;this.offset<this.size;){var t=this.input();if(!this.is_NUM()){t&&this.unput(1);break}}return this.tok.T_LNUMBER},consume_BNUM:function(){for(var t=void 0;this.offset<this.size;)if("0"!==(t=this.input())&&"1"!==t){t&&this.unput(1);break}return this.tok.T_LNUMBER}}}).call(this,i(22))},function(t,e){var i,r,n=t.exports={};function o(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function a(e){if(i===setTimeout)return setTimeout(e,0);if((i===o||!i)&&setTimeout)return i=setTimeout,setTimeout(e,0);try{return i(e,0)}catch(t){try{return i.call(null,e,0)}catch(t){return i.call(this,e,0)}}}!function(){try{i="function"==typeof setTimeout?setTimeout:o}catch(t){i=o}try{r="function"==typeof clearTimeout?clearTimeout:s}catch(t){r=s}}();var l,c=[],h=!1,u=-1;function f(){h&&l&&(h=!1,l.length?c=l.concat(c):u=-1,c.length&&d())}function d(){if(!h){var t=a(f);h=!0;for(var e=c.length;e;){for(l=c,c=[];++u<e;)l&&l[u].run();u=-1,e=c.length}l=null,h=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===s||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(t)}}function p(t,e){this.fun=t,this.array=e}function m(){}n.nextTick=function(t){var e=new Array(arguments.length-1);if(1<arguments.length)for(var i=1;i<arguments.length;i++)e[i-1]=arguments[i];c.push(new p(t,e)),1!==c.length||h||a(d)},p.prototype.run=function(){this.fun.apply(null,this.array)},n.title="browser",n.browser=!0,n.env={},n.argv=[],n.version="",n.versions={},n.on=m,n.addListener=m,n.once=m,n.off=m,n.removeListener=m,n.removeAllListeners=m,n.emit=m,n.prependListener=m,n.prependOnceListener=m,n.listeners=function(t){return[]},n.binding=function(t){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(t){throw new Error("process.chdir is not supported")},n.umask=function(){return 0}},function(t,e,i){"use strict";t.exports={matchST_LOOKING_FOR_PROPERTY:function(){var t=this.input();if("-"===t){if(">"===(t=this.input()))return this.tok.T_OBJECT_OPERATOR;t&&this.unput(1)}else{if(this.is_WHITESPACE())return this.tok.T_WHITESPACE;if(this.is_LABEL_START())return this.consume_LABEL(),this.popState(),this.tok.T_STRING}return this.popState(),t&&this.unput(1),!1},matchST_LOOKING_FOR_VARNAME:function(){var t=this.input();if(this.popState(),this.begin("ST_IN_SCRIPTING"),this.is_LABEL_START()){if(this.consume_LABEL(),"["===(t=this.input())||"}"===t)return this.unput(1),this.tok.T_STRING_VARNAME;this.unput(this.yytext.length)}else t&&this.unput(1);return!1},matchST_VAR_OFFSET:function(){var t=this.input();if(this.is_NUM())return this.consume_NUM(),this.tok.T_NUM_STRING;if("]"===t)return this.popState(),"]";if("$"===t){if(this.input(),this.is_LABEL_START())return this.consume_LABEL(),this.tok.T_VARIABLE;throw new Error("Unexpected terminal")}if(this.is_LABEL_START())return this.consume_LABEL(),this.tok.T_STRING;if(this.is_WHITESPACE()||"\\"===t||"'"===t||"#"===t)return this.tok.T_ENCAPSED_AND_WHITESPACE;if("["===t||"{"===t||"}"===t||'"'===t||"`"===t||this.is_TOKEN())return t;throw new Error("Unexpected terminal")}}},function(t,e,i){"use strict";t.exports={matchST_IN_SCRIPTING:function(){var t=this.input();switch(t){case" ":case"\t":case"\n":case"\r":case"\r\n":return this.T_WHITESPACE();case"#":return this.T_COMMENT();case"/":return"/"===this._input[this.offset]?this.T_COMMENT():"*"===this._input[this.offset]?(this.input(),this.T_DOC_COMMENT()):this.consume_TOKEN();case"'":return this.T_CONSTANT_ENCAPSED_STRING();case'"':return this.ST_DOUBLE_QUOTES();case"`":return this.begin("ST_BACKQUOTE"),"`";case"?":if(this.aspTagMode||!this.tryMatch(">"))return this.consume_TOKEN();this.input();var e=this._input[this.offset];return"\n"!==e&&"\r"!==e||this.input(),1<this.conditionStack.length&&this.begin("INITIAL"),this.tok.T_CLOSE_TAG;case"%":return this.aspTagMode&&">"===this._input[this.offset]?(this.input(),"\n"!==(t=this._input[this.offset])&&"\r"!==t||this.input(),this.aspTagMode=!1,1<this.conditionStack.length&&this.begin("INITIAL"),this.tok.T_CLOSE_TAG):this.consume_TOKEN();case"{":return this.begin("ST_IN_SCRIPTING"),"{";case"}":return 2<this.conditionStack.length&&this.popState(),"}";default:if("."===t){if(t=this.input(),this.is_NUM())return this.consume_NUM();t&&this.unput(1)}if(this.is_NUM())return this.consume_NUM();if(this.is_LABEL_START())return this.consume_LABEL().T_STRING();if(this.is_TOKEN())return this.consume_TOKEN()}throw new Error('Bad terminal sequence "'+t+'" at line '+this.yylineno+" (offset "+this.offset+")")},T_WHITESPACE:function(){for(;this.offset<this.size;){var t=this.input();if(" "!==t&&"\t"!==t&&"\n"!==t&&"\r"!==t){t&&this.unput(1);break}}return this.tok.T_WHITESPACE}}},function(t,e,i){"use strict";t.exports={T_CONSTANT_ENCAPSED_STRING:function(){for(var t=void 0;this.offset<this.size;)if("\\"==(t=this.input()))this.input();else if("'"==t)break;return this.tok.T_CONSTANT_ENCAPSED_STRING},is_HEREDOC:function(){var t=this.offset;if("<"===this._input[this.offset-1]&&"<"===this._input[this.offset]&&"<"===this._input[this.offset+1]){if(this.offset+=3,this.is_TABSPACE())for(;this.offset<this.size&&(this.offset++,this.is_TABSPACE()););var e=this._input[this.offset-1];if("'"===e||'"'===e?this.offset++:e=null,this.is_LABEL_START()){for(var i=this.offset-1;this.offset<this.size&&(this.offset++,this.is_LABEL()););var r=this._input.substring(i,this.offset-1);if((!e||e===this._input[this.offset-1])&&(e&&this.offset++,"\r"===this._input[this.offset-1]||"\n"===this._input[this.offset-1]))return this.heredoc_label=r,i=this.offset-t,this.offset=t,this.consume(i),"'"===e?this.begin("ST_NOWDOC"):this.begin("ST_HEREDOC"),this.tok.T_START_HEREDOC}}return this.offset=t,!1},ST_DOUBLE_QUOTES:function(){for(var t=void 0;this.offset<this.size;)if("\\"==(t=this.input()))this.input();else{if('"'==t)break;if("$"==t){if("{"==(t=this.input())||this.is_LABEL_START()){this.unput(2);break}t&&this.unput(1)}else if("{"==t){if("$"==(t=this.input())){this.unput(2);break}t&&this.unput(1)}}if('"'==t)return this.tok.T_CONSTANT_ENCAPSED_STRING;var e=1;return"b"!==this.yytext[0]&&"B"!==this.yytext[0]||(e=2),2<this.yytext.length&&this.appendToken(this.tok.T_ENCAPSED_AND_WHITESPACE,this.yytext.length-e),this.unput(this.yytext.length-e),this.begin("ST_DOUBLE_QUOTES"),this.yytext},isDOC_MATCH:function(){if(this._input.substring(this.offset-1,this.offset-1+this.heredoc_label.length)===this.heredoc_label){var t=this._input[this.offset-1+this.heredoc_label.length];if("\n"===t||"\r"===t||";"===t)return!0}return!1},matchST_NOWDOC:function(){if(this.isDOC_MATCH())return this.consume(this.heredoc_label.length),this.popState(),this.tok.T_END_HEREDOC;for(var t=this._input[this.offset-1];this.offset<this.size;)if("\n"===t||"\r"===t){if(t=this.input(),this.isDOC_MATCH())return this.unput(1).popState(),this.appendToken(this.tok.T_END_HEREDOC,this.heredoc_label.length),this.tok.T_ENCAPSED_AND_WHITESPACE}else t=this.input();return this.tok.T_ENCAPSED_AND_WHITESPACE},matchST_HEREDOC:function(){var t=this.input();if(this.isDOC_MATCH())return this.consume(this.heredoc_label.length-1),this.popState(),this.tok.T_END_HEREDOC;for(;this.offset<this.size;)if("\\"===t&&"\n"!==(t=this.input())&&"\r"!==t&&(t=this.input()),"\n"===t||"\r"===t){if(t=this.input(),this.isDOC_MATCH())return this.unput(1).popState(),this.appendToken(this.tok.T_END_HEREDOC,this.heredoc_label.length),this.tok.T_ENCAPSED_AND_WHITESPACE}else if("$"===t){if("{"===(t=this.input()))return this.begin("ST_LOOKING_FOR_VARNAME"),2<this.yytext.length?(this.appendToken(this.tok.T_DOLLAR_OPEN_CURLY_BRACES,2),this.unput(2),this.tok.T_ENCAPSED_AND_WHITESPACE):this.tok.T_DOLLAR_OPEN_CURLY_BRACES;if(this.is_LABEL_START()){var e=this.offset,i=this.consume_VARIABLE();return this.yytext.length>this.offset-e+2?(this.appendToken(i,this.offset-e+2),this.unput(this.offset-e+2),this.tok.T_ENCAPSED_AND_WHITESPACE):i}}else if("{"===t){if("$"===(t=this.input()))return this.begin("ST_IN_SCRIPTING"),2<this.yytext.length?(this.appendToken(this.tok.T_CURLY_OPEN,1),this.unput(2),this.tok.T_ENCAPSED_AND_WHITESPACE):(this.unput(1),this.tok.T_CURLY_OPEN)}else t=this.input();return this.tok.T_ENCAPSED_AND_WHITESPACE},consume_VARIABLE:function(){this.consume_LABEL();var t=this.input();if("["==t)return this.unput(1),this.begin("ST_VAR_OFFSET"),this.tok.T_VARIABLE;if("-"===t){if(">"===this.input())return this.input(),this.is_LABEL_START()&&this.begin("ST_LOOKING_FOR_PROPERTY"),this.unput(3),this.tok.T_VARIABLE;this.unput(2)}else t&&this.unput(1);return this.tok.T_VARIABLE},matchST_BACKQUOTE:function(){var t=this.input();if("$"===t){if("{"===(t=this.input()))return this.begin("ST_LOOKING_FOR_VARNAME"),this.tok.T_DOLLAR_OPEN_CURLY_BRACES;if(this.is_LABEL_START())return this.consume_VARIABLE()}else if("{"===t){if("$"===this._input[this.offset])return this.begin("ST_IN_SCRIPTING"),this.tok.T_CURLY_OPEN}else if("`"===t)return this.popState(),"`";for(;this.offset<this.size;){if("\\"===t)this.input();else{if("`"===t){this.unput(1),this.popState(),this.appendToken("`",1);break}if("$"===t){if("{"===(t=this.input()))return this.begin("ST_LOOKING_FOR_VARNAME"),2<this.yytext.length?(this.appendToken(this.tok.T_DOLLAR_OPEN_CURLY_BRACES,2),this.unput(2),this.tok.T_ENCAPSED_AND_WHITESPACE):this.tok.T_DOLLAR_OPEN_CURLY_BRACES;if(this.is_LABEL_START()){var e=this.offset,i=this.consume_VARIABLE();return this.yytext.length>this.offset-e+2?(this.appendToken(i,this.offset-e+2),this.unput(this.offset-e+2),this.tok.T_ENCAPSED_AND_WHITESPACE):i}continue}if("{"===t){if("$"===(t=this.input()))return this.begin("ST_IN_SCRIPTING"),2<this.yytext.length?(this.appendToken(this.tok.T_CURLY_OPEN,1),this.unput(2),this.tok.T_ENCAPSED_AND_WHITESPACE):(this.unput(1),this.tok.T_CURLY_OPEN);continue}}t=this.input()}return this.tok.T_ENCAPSED_AND_WHITESPACE},matchST_DOUBLE_QUOTES:function(){var t=this.input();if("$"===t){if("{"===(t=this.input()))return this.begin("ST_LOOKING_FOR_VARNAME"),this.tok.T_DOLLAR_OPEN_CURLY_BRACES;if(this.is_LABEL_START())return this.consume_VARIABLE()}else if("{"===t){if("$"===this._input[this.offset])return this.begin("ST_IN_SCRIPTING"),this.tok.T_CURLY_OPEN}else if('"'===t)return this.popState(),'"';for(;this.offset<this.size;){if("\\"===t)this.input();else{if('"'===t){this.unput(1),this.popState(),this.appendToken('"',1);break}if("$"===t){if("{"===(t=this.input()))return this.begin("ST_LOOKING_FOR_VARNAME"),2<this.yytext.length?(this.appendToken(this.tok.T_DOLLAR_OPEN_CURLY_BRACES,2),this.unput(2),this.tok.T_ENCAPSED_AND_WHITESPACE):this.tok.T_DOLLAR_OPEN_CURLY_BRACES;if(this.is_LABEL_START()){var e=this.offset,i=this.consume_VARIABLE();return this.yytext.length>this.offset-e+2?(this.appendToken(i,this.offset-e+2),this.unput(this.offset-e+2),this.tok.T_ENCAPSED_AND_WHITESPACE):i}t&&this.unput(1)}else if("{"===t){if("$"===(t=this.input()))return this.begin("ST_IN_SCRIPTING"),2<this.yytext.length?(this.appendToken(this.tok.T_CURLY_OPEN,1),this.unput(2),this.tok.T_ENCAPSED_AND_WHITESPACE):(this.unput(1),this.tok.T_CURLY_OPEN);t&&this.unput(1)}}t=this.input()}return this.tok.T_ENCAPSED_AND_WHITESPACE}}},function(t,e,i){"use strict";t.exports={T_STRING:function(){var t=this.yytext.toLowerCase(),e=this.keywords[t];if("number"!=typeof e)if("yield"===t)e=this.php7&&this.tryMatch(" from")?(this.consume(5),this.tok.T_YIELD_FROM):this.tok.T_YIELD;else if(e=this.tok.T_STRING,"b"===t||"B"===t){var i=this.input(1);if('"'===i)return this.ST_DOUBLE_QUOTES();if("'"===i)return this.T_CONSTANT_ENCAPSED_STRING();i&&this.unput(1)}return e},consume_TOKEN:function(){var t=this._input[this.offset-1],e=this.tokenTerminals[t];return e?e.apply(this,[]):this.yytext},tokenTerminals:{$:function(){return this.offset++,this.is_LABEL_START()?(this.offset--,this.consume_LABEL(),this.tok.T_VARIABLE):(this.offset--,"$")},"-":function(){var t=this._input[this.offset];return">"===t?(this.begin("ST_LOOKING_FOR_PROPERTY").input(),this.tok.T_OBJECT_OPERATOR):"-"===t?(this.input(),this.tok.T_DEC):"="===t?(this.input(),this.tok.T_MINUS_EQUAL):"-"},"\\":function(){return this.tok.T_NS_SEPARATOR},"/":function(){return"="===this._input[this.offset]?(this.input(),this.tok.T_DIV_EQUAL):"/"},":":function(){return":"===this._input[this.offset]?(this.input(),this.tok.T_DOUBLE_COLON):":"},"(":function(){var t=this.offset;if(this.input(),this.is_TABSPACE()&&this.consume_TABSPACE().input(),this.is_LABEL_START()){var e=this.yytext.length;this.consume_LABEL();var i=this.yytext.substring(e-1).toLowerCase(),r=this.castKeywords[i];if("number"==typeof r&&(this.input(),this.is_TABSPACE()&&this.consume_TABSPACE().input(),")"===this._input[this.offset-1]))return r}return this.unput(this.offset-t),"("},"=":function(){var t=this._input[this.offset];return">"===t?(this.input(),this.tok.T_DOUBLE_ARROW):"="===t?"="===this._input[this.offset+1]?(this.consume(2),this.tok.T_IS_IDENTICAL):(this.input(),this.tok.T_IS_EQUAL):"="},"+":function(){var t=this._input[this.offset];return"+"===t?(this.input(),this.tok.T_INC):"="===t?(this.input(),this.tok.T_PLUS_EQUAL):"+"},"!":function(){return"="===this._input[this.offset]?"="===this._input[this.offset+1]?(this.consume(2),this.tok.T_IS_NOT_IDENTICAL):(this.input(),this.tok.T_IS_NOT_EQUAL):"!"},"?":function(){return this.php7&&"?"===this._input[this.offset]?(this.input(),this.tok.T_COALESCE):"?"},"<":function(){var t=this._input[this.offset];return"<"===t?"="===(t=this._input[this.offset+1])?(this.consume(2),this.tok.T_SL_EQUAL):"<"===t&&this.is_HEREDOC()?this.tok.T_START_HEREDOC:(this.input(),this.tok.T_SL):"="===t?(this.input(),this.php7&&">"===this._input[this.offset]?(this.input(),this.tok.T_SPACESHIP):this.tok.T_IS_SMALLER_OR_EQUAL):">"===t?(this.input(),this.tok.T_IS_NOT_EQUAL):"<"},">":function(){var t=this._input[this.offset];return"="===t?(this.input(),this.tok.T_IS_GREATER_OR_EQUAL):">"===t?"="===(t=this._input[this.offset+1])?(this.consume(2),this.tok.T_SR_EQUAL):(this.input(),this.tok.T_SR):">"},"*":function(){var t=this._input[this.offset];return"="===t?(this.input(),this.tok.T_MUL_EQUAL):"*"===t?(this.input(),"="===this._input[this.offset]?(this.input(),this.tok.T_POW_EQUAL):this.tok.T_POW):"*"},".":function(){var t=this._input[this.offset];return"="===t?(this.input(),this.tok.T_CONCAT_EQUAL):"."===t&&"."===this._input[this.offset+1]?(this.consume(2),this.tok.T_ELLIPSIS):"."},"%":function(){return"="===this._input[this.offset]?(this.input(),this.tok.T_MOD_EQUAL):"%"},"&":function(){var t=this._input[this.offset];return"="===t?(this.input(),this.tok.T_AND_EQUAL):"&"===t?(this.input(),this.tok.T_BOOLEAN_AND):"&"},"|":function(){var t=this._input[this.offset];return"="===t?(this.input(),this.tok.T_OR_EQUAL):"|"===t?(this.input(),this.tok.T_BOOLEAN_OR):"|"},"^":function(){return"="===this._input[this.offset]?(this.input(),this.tok.T_XOR_EQUAL):"^"}}}},function(t,e,i){"use strict";t.exports={is_NUM:function(){var t=this._input.charCodeAt(this.offset-1);return 47<t&&t<58},is_LABEL:function(){var t=this._input.charCodeAt(this.offset-1);return 96<t&&t<123||64<t&&t<91||95===t||47<t&&t<58||126<t},is_LABEL_START:function(){var t=this._input.charCodeAt(this.offset-1);return 96<t&&t<123||64<t&&t<91||95===t||126<t},consume_LABEL:function(){for(;this.offset<this.size;){var t=this.input();if(!this.is_LABEL()){t&&this.unput(1);break}}return this},is_TOKEN:function(){var t=this._input[this.offset-1];return-1!==";:,.\\[]()|^&+-/*=%!~$<>?@".indexOf(t)},is_WHITESPACE:function(){var t=this._input[this.offset-1];return" "===t||"\t"===t||"\n"===t||"\r"===t},is_TABSPACE:function(){var t=this._input[this.offset-1];return" "===t||"\t"===t},consume_TABSPACE:function(){for(;this.offset<this.size;){var t=this.input();if(!this.is_TABSPACE()){t&&this.unput(1);break}}return this},is_HEX:function(){var t=this._input.charCodeAt(this.offset-1);return 47<t&&t<58||64<t&&t<71||96<t&&t<103}}},function(t,e,i){"use strict";function o(t){return"."!=t&&","!=t&&!isNaN(parseFloat(t))&&isFinite(t)}var r=function(t,e){this.lexer=t,this.ast=e,this.tok=t.tok,this.EOF=t.EOF,this.token=null,this.prev=null,this.debug=!1,this.php7=!0,this.extractDoc=!1,this.extractTokens=!1,this.suppressErrors=!1;var i=function(t){return[t,null]};this.entries={IDENTIFIER:new Map([this.tok.T_ABSTRACT,this.tok.T_ARRAY,this.tok.T_AS,this.tok.T_BREAK,this.tok.T_CALLABLE,this.tok.T_CASE,this.tok.T_CATCH,this.tok.T_CLASS,this.tok.T_CLASS_C,this.tok.T_CLONE,this.tok.T_CONST,this.tok.T_CONTINUE,this.tok.T_DECLARE,this.tok.T_DEFAULT,this.tok.T_DIR,this.tok.T_DO,this.tok.T_ECHO,this.tok.T_ELSE,this.tok.T_ELSEIF,this.tok.T_EMPTY,this.tok.T_ENDDECLARE,this.tok.T_ENDFOR,this.tok.T_ENDFOREACH,this.tok.T_ENDIF,this.tok.T_ENDSWITCH,this.tok.T_ENDWHILE,this.tok.T_EVAL,this.tok.T_EXIT,this.tok.T_EXTENDS,this.tok.T_FILE,this.tok.T_FINAL,this.tok.T_FINALLY,this.tok.T_FUNC_C,this.tok.T_FOR,this.tok.T_FOREACH,this.tok.T_FUNCTION,this.tok.T_GLOBAL,this.tok.T_GOTO,this.tok.T_IF,this.tok.T_IMPLEMENTS,this.tok.T_INCLUDE,this.tok.T_INCLUDE_ONCE,this.tok.T_INSTANCEOF,this.tok.T_INSTEADOF,this.tok.T_INTERFACE,this.tok.T_ISSET,this.tok.T_LINE,this.tok.T_LIST,this.tok.T_LOGICAL_AND,this.tok.T_LOGICAL_OR,this.tok.T_LOGICAL_XOR,this.tok.T_METHOD_C,this.tok.T_NAMESPACE,this.tok.T_NEW,this.tok.T_NS_C,this.tok.T_PRINT,this.tok.T_PRIVATE,this.tok.T_PROTECTED,this.tok.T_PUBLIC,this.tok.T_REQUIRE,this.tok.T_REQUIRE_ONCE,this.tok.T_RETURN,this.tok.T_STATIC,this.tok.T_SWITCH,this.tok.T_THROW,this.tok.T_TRAIT,this.tok.T_TRY,this.tok.T_UNSET,this.tok.T_USE,this.tok.T_VAR,this.tok.T_WHILE,this.tok.T_YIELD].map(i)),VARIABLE:new Map([this.tok.T_VARIABLE,"$","&",this.tok.T_NS_SEPARATOR,this.tok.T_STRING,this.tok.T_NAMESPACE,this.tok.T_STATIC].map(i)),SCALAR:new Map([this.tok.T_CONSTANT_ENCAPSED_STRING,this.tok.T_START_HEREDOC,this.tok.T_LNUMBER,this.tok.T_DNUMBER,this.tok.T_ARRAY,"[",this.tok.T_CLASS_C,this.tok.T_TRAIT_C,this.tok.T_FUNC_C,this.tok.T_METHOD_C,this.tok.T_LINE,this.tok.T_FILE,this.tok.T_DIR,this.tok.T_NS_C,'"','b"','B"',"-",this.tok.T_NS_SEPARATOR].map(i)),T_MAGIC_CONST:new Map([this.tok.T_CLASS_C,this.tok.T_TRAIT_C,this.tok.T_FUNC_C,this.tok.T_METHOD_C,this.tok.T_LINE,this.tok.T_FILE,this.tok.T_DIR,this.tok.T_NS_C].map(i)),T_MEMBER_FLAGS:new Map([this.tok.T_PUBLIC,this.tok.T_PRIVATE,this.tok.T_PROTECTED,this.tok.T_STATIC,this.tok.T_ABSTRACT,this.tok.T_FINAL].map(i)),EOS:new Map([";",this.EOF,this.tok.T_INLINE_HTML].map(i)),EXPR:new Map(["@","-","+","!","~","(","`",this.tok.T_LIST,this.tok.T_CLONE,this.tok.T_INC,this.tok.T_DEC,this.tok.T_NEW,this.tok.T_ISSET,this.tok.T_EMPTY,this.tok.T_INCLUDE,this.tok.T_INCLUDE_ONCE,this.tok.T_REQUIRE,this.tok.T_REQUIRE_ONCE,this.tok.T_EVAL,this.tok.T_INT_CAST,this.tok.T_DOUBLE_CAST,this.tok.T_STRING_CAST,this.tok.T_ARRAY_CAST,this.tok.T_OBJECT_CAST,this.tok.T_BOOL_CAST,this.tok.T_UNSET_CAST,this.tok.T_EXIT,this.tok.T_PRINT,this.tok.T_YIELD,this.tok.T_STATIC,this.tok.T_FUNCTION,this.tok.T_VARIABLE,"$",this.tok.T_NS_SEPARATOR,this.tok.T_STRING,this.tok.T_STRING,this.tok.T_CONSTANT_ENCAPSED_STRING,this.tok.T_START_HEREDOC,this.tok.T_LNUMBER,this.tok.T_DNUMBER,this.tok.T_ARRAY,"[",this.tok.T_CLASS_C,this.tok.T_TRAIT_C,this.tok.T_FUNC_C,this.tok.T_METHOD_C,this.tok.T_LINE,this.tok.T_FILE,this.tok.T_DIR,this.tok.T_NS_C].map(i))}};r.prototype.getTokenName=function(t){return o(t)?t==this.EOF?"the end of file (EOF)":this.lexer.engine.tokens.values[t]:"'"+t+"'"},r.prototype.parse=function(t,e){this._errors=[],this.filename=e||"eval",this.currentNamespace=[""],this.extractDoc?this._docs=[]:this._docs=null,this.extractTokens?this._tokens=[]:this._tokens=null,this._docIndex=0,this.lexer.setInput(t),this.lexer.all_tokens=this.extractTokens,this.lexer.comment_tokens=this.extractDoc,this.length=this.lexer._input.length,this.innerList=!1,this.innerListForm=!1;var i=this.node("program"),r=[];for(this.next();this.token!=this.EOF;){var n=this.read_start();null!=n&&(Array.isArray(n)?r=r.concat(n):r.push(n))}return this.prev=[this.lexer.yylloc.last_line,this.lexer.yylloc.last_column,this.lexer.offset],i(r,this._errors,this._docs,this._tokens)},r.prototype.raiseError=function(t,e,i,r){if(t+=" on line "+this.lexer.yylloc.first_line,!this.suppressErrors){var n=new SyntaxError(t,this.filename,this.lexer.yylloc.first_line);throw n.lineNumber=this.lexer.yylloc.first_line,n.fileName=this.filename,n.columnNumber=this.lexer.yylloc.first_column,n}var o=this.ast.prepare("error",null,this)(t,r,this.lexer.yylloc.first_line,i);return this._errors.push(o),o},r.prototype.error=function(t){var e="Parse Error : syntax error",i=this.getTokenName(this.token),r="";if(this.token!==this.EOF){if(o(this.token)){var n=this.text();10<n.length&&(n=n.substring(0,7)+"..."),i="'"+n+"' ("+i+")"}e+=", unexpected "+i}return t&&!Array.isArray(t)&&((o(t)||1===t.length)&&(r=", expecting "+this.getTokenName(t)),e+=r),this.raiseError(e,r,t,i)},r.prototype.node=function(t){if(this.extractDoc){var e=null;this._docIndex<this._docs.length&&(e=this._docs.slice(this._docIndex),this._docIndex=this._docs.length,this.debug&&(console.log(new Error("Append docs on "+t)),console.log(e)));var i=this.ast.prepare(t,e,this);return i.preBuild=function(){this._docIndex<this._docs.length&&(i.setTrailingComments(this._docs.slice(this._docIndex)),this._docIndex=this._docs.length)}.bind(this),i}return this.ast.prepare(t,null,this)},r.prototype.expectEndOfStatement=function(t){if(";"===this.token)t&&";"===this.lexer.yytext&&t.includeToken(this);else if(this.token!==this.tok.T_INLINE_HTML&&this.token!==this.EOF)return this.error(";"),!1;return this.next(),!0};var s=["parser.next","parser.node","parser.showlog"];r.prototype.showlog=function(){for(var t=(new Error).stack.split("\n"),e=void 0,i=2;i<t.length;i++){e=t[i].trim();for(var r=!1,n=0;n<s.length;n++)if(e.substring(3,3+s[n].length)===s[n]){r=!0;break}if(!r)break}return console.log("Line "+this.lexer.yylloc.first_line+" : "+this.getTokenName(this.token)+">"+this.lexer.yytext+"< @--\x3e"+e),this},r.prototype.expect=function(t){if(Array.isArray(t)){if(-1===t.indexOf(this.token))return this.error(t),!1}else if(this.token!=t)return this.error(t),!1;return!0},r.prototype.text=function(){return this.lexer.yytext},r.prototype.next=function(){if(";"===this.token&&";"!==this.lexer.yytext||(this.prev=[this.lexer.yylloc.last_line,this.lexer.yylloc.last_column,this.lexer.offset]),this.lex(),this.debug&&this.showlog(),this.extractDoc)for(;this.token===this.tok.T_COMMENT||this.token===this.tok.T_DOC_COMMENT;)this.token===this.tok.T_COMMENT?this._docs.push(this.read_comment()):this._docs.push(this.read_doc_comment());return this},r.prototype.lex=function(){if(this.extractTokens)do{if(this.token=this.lexer.lex()||this.EOF,this.token===this.EOF)return this;var t=this.lexer.yytext;if(t=this.lexer.engine.tokens.values.hasOwnProperty(this.token)?[this.lexer.engine.tokens.values[this.token],t,this.lexer.yylloc.first_line,this.lexer.yylloc.first_offset,this.lexer.offset]:[null,t,this.lexer.yylloc.first_line,this.lexer.yylloc.first_offset,this.lexer.offset],this._tokens.push(t),this.token===this.tok.T_CLOSE_TAG)return this.token=";",this;if(this.token===this.tok.T_OPEN_TAG_WITH_ECHO)return this.token=this.tok.T_ECHO,this}while(this.token===this.tok.T_WHITESPACE||!this.extractDoc&&(this.token===this.tok.T_COMMENT||this.token===this.tok.T_DOC_COMMENT)||this.token===this.tok.T_OPEN_TAG);else this.token=this.lexer.lex()||this.EOF;return this},r.prototype.is=function(t){return Array.isArray(t)?-1!==t.indexOf(this.token):this.entries[t].has(this.token)},[i(29),i(30),i(31),i(32),i(33),i(34),i(35),i(36),i(37),i(38),i(39),i(40),i(41),i(42),i(43)].forEach(function(t){for(var e in t)r.prototype[e]=t[e]}),t.exports=r},function(t,e,i){"use strict";t.exports={read_array:function(){var t=null,e=!1,i=this.node("array");t=this.token===this.tok.T_ARRAY?(this.next().expect("("),")"):(e=!0,"]");var r=[];return this.next().token!==t&&(r=this.read_array_pair_list(e)),this.expect(t),this.next(),i(e,r)},read_array_pair_list:function(t){var e=this;return this.read_list(function(){return e.read_array_pair(t)},",",!0)},read_array_pair:function(t){if(","===this.token||!t&&")"===this.token||t&&"]"===this.token)return null;if("&"===this.token)return this.next().read_variable(!0,!1,!0);var e=this.node("entry"),i=this.read_expr();return this.token===this.tok.T_DOUBLE_ARROW?"&"===this.next().token?e(i,this.next().read_variable(!0,!1,!0)):e(i,this.read_expr()):i},read_dim_offset:function(){return"]"!=this.token&&this.read_expr()}}},function(t,e,i){"use strict";t.exports={read_class:function(){var t=this.node("class"),e=this.read_class_scope();if(this.token!==this.tok.T_CLASS)return this.error(this.tok.T_CLASS),this.next(),null;this.next().expect(this.tok.T_STRING);var i=this.text(),r=null,n=null;return this.next().token==this.tok.T_EXTENDS&&(r=this.next().read_namespace_name()),this.token==this.tok.T_IMPLEMENTS&&(n=this.next().read_name_list()),this.expect("{"),t(i,r,n,this.next().read_class_body(),e)},read_class_scope:function(){var t=this.token;return t==this.tok.T_FINAL?(this.next(),[0,0,2]):t==this.tok.T_ABSTRACT?(this.next(),[0,0,1]):[0,0,0]},read_class_body:function(){for(var t=[];this.token!==this.EOF&&"}"!==this.token;)if(this.token!==this.tok.T_COMMENT)if(this.token!==this.tok.T_DOC_COMMENT)if(this.token!==this.tok.T_USE){var e=this.read_member_flags(!1);if(this.token!==this.tok.T_CONST)if(this.token===this.tok.T_VAR&&(this.next().expect(this.tok.T_VARIABLE),e[0]=null,e[1]=0),this.token===this.tok.T_VARIABLE){var i=this.read_variable_list(e);this.expect(";"),this.next(),t=t.concat(i)}else this.token===this.tok.T_FUNCTION?t.push(this.read_function(!1,e)):(this.error([this.tok.T_CONST,this.tok.T_VARIABLE,this.tok.T_FUNCTION]),this.next());else{var r=this.read_constant_list(e);this.expect(";")&&this.next(),t=t.concat(r)}}else t=t.concat(this.read_trait_use_statement());else t.push(this.read_doc_comment());else t.push(this.read_comment());return this.expect("}"),this.next(),t},read_variable_list:function(i){return this.read_list(function(){var t=this.node("property");this.expect(this.tok.T_VARIABLE);var e=this.text().substring(1);return this.next(),";"===this.token||","===this.token?t(e,null,i):"="===this.token?t(e,this.next().read_expr(),i):(this.expect([",",";","="]),t(e,null,i))},",")},read_constant_list:function(t){return this.expect(this.tok.T_CONST)&&this.next(),this.node("classconstant")(null,this.read_list(function(){var t=this.node("constant"),e=null,i=null;return this.token===this.tok.T_STRING||this.php7&&this.is("IDENTIFIER")?(e=this.text(),this.next()):this.expect("IDENTIFIER"),this.expect("=")&&(i=this.next().read_expr()),t(e,i)},","),t)},read_member_flags:function(t){var e=[-1,-1,-1];if(this.is("T_MEMBER_FLAGS")){var i=0,r=0;do{switch(this.token){case this.tok.T_PUBLIC:r=i=0;break;case this.tok.T_PROTECTED:i=0,r=1;break;case this.tok.T_PRIVATE:i=0,r=2;break;case this.tok.T_STATIC:r=i=1;break;case this.tok.T_ABSTRACT:i=2,r=1;break;case this.tok.T_FINAL:r=i=2}t&&(0==i&&2==r?(this.expect([this.tok.T_PUBLIC,this.tok.T_PROTECTED]),r=-1):2==i&&1==r&&(this.error(),r=-1)),-1!==e[i]?this.error():-1!==r&&(e[i]=r)}while(this.next().is("T_MEMBER_FLAGS"))}return-1==e[1]&&(e[1]=0),-1==e[2]&&(e[2]=0),e},read_interface:function(){var t=this.node("interface"),e=null,i=null,r=null;return this.expect(this.tok.T_INTERFACE)&&this.next(),this.expect(this.tok.T_STRING)&&(e=this.text(),this.next()),this.token===this.tok.T_EXTENDS&&(r=this.next().read_name_list()),this.expect("{")&&(i=this.next().read_interface_body()),t(e,r,i)},read_interface_body:function(){for(var t=[];this.token!==this.EOF&&"}"!==this.token;)if(this.token!==this.tok.T_COMMENT)if(this.token!==this.tok.T_DOC_COMMENT){var e=this.read_member_flags(!0);if(this.token==this.tok.T_CONST){var i=this.read_constant_list(e);this.expect(";")&&this.next(),t=t.concat(i)}else if(this.token===this.tok.T_FUNCTION){var r=this.read_function_declaration(2,e);r.parseFlags(e),t.push(r),this.expect(";")&&this.next()}else this.error([this.tok.T_CONST,this.tok.T_FUNCTION]),this.next()}else t.push(this.read_doc_comment());else t.push(this.read_comment());return this.expect("}")&&this.next(),t},read_trait:function(){var t=this.node("trait"),e=null,i=null,r=null,n=null;return this.expect(this.tok.T_TRAIT)&&this.next(),this.expect(this.tok.T_STRING)&&(e=this.text()),this.next().token==this.tok.T_EXTENDS&&(i=this.next().read_namespace_name()),this.token==this.tok.T_IMPLEMENTS&&(r=this.next().read_name_list()),this.expect("{")&&(n=this.next().read_class_body()),t(e,i,r,n)},read_trait_use_statement:function(){var t=this.node("traituse");this.expect(this.tok.T_USE)&&this.next();for(var e=[this.read_namespace_name()],i=null;","===this.token;)e.push(this.next().read_namespace_name());if("{"===this.token){for(i=[];this.next().token!==this.EOF&&"}"!==this.token;)i.push(this.read_trait_use_alias()),this.expect(";");this.expect("}")&&this.next()}else this.expect(";")&&this.next();return t(e,i)},read_trait_use_alias:function(){var t=this.node(),e=null,i=void 0;if(this.is("IDENTIFIER")?(i=this.text(),this.next()):(i=this.read_namespace_name(),this.token===this.tok.T_DOUBLE_COLON?(this.next(),this.token===this.tok.T_STRING||this.php7&&this.is("IDENTIFIER")?(e=i,i=this.text(),this.next()):this.expect(this.tok.T_STRING)):i=i.name),this.token===this.tok.T_INSTEADOF)return t("traitprecedence",e,i,this.next().read_name_list());if(this.token!==this.tok.T_AS)return this.expect([this.tok.T_AS,this.tok.T_INSTEADOF]),t("traitalias",e,i,null,null);var r=null,n=null;return this.next().is("T_MEMBER_FLAGS")&&(r=this.read_member_flags()),this.token===this.tok.T_STRING||this.php7&&this.is("IDENTIFIER")?(n=this.text(),this.next()):!1===r&&this.expect(this.tok.T_STRING),t("traitalias",e,i,n,r)}}},function(t,e,i){"use strict";t.exports={read_comment:function(){var t=this.text(),e=this.ast.prepare("/*"===t.substring(0,2)?"commentblock":"commentline",null,this),i=this.prev;return this.prev=[this.lexer.yylloc.last_line,this.lexer.yylloc.last_column,this.lexer.offset],this.lex(),e=e(t),this.prev=i,e},read_doc_comment:function(){var t=this.ast.prepare("commentblock",null,this),e=this.text(),i=this.prev;return this.prev=[this.lexer.yylloc.last_line,this.lexer.yylloc.last_column,this.lexer.offset],this.lex(),t=t(e),this.prev=i,t}}},function(t,e,i){"use strict";t.exports={read_expr:function(t){var e=this.node();if(t||(t=this.read_expr_item()),"|"===this.token)return e("bin","|",t,this.next().read_expr());if("&"===this.token)return e("bin","&",t,this.next().read_expr());if("^"===this.token)return e("bin","^",t,this.next().read_expr());if("."===this.token)return e("bin",".",t,this.next().read_expr());if("+"===this.token)return e("bin","+",t,this.next().read_expr());if("-"===this.token)return e("bin","-",t,this.next().read_expr());if("*"===this.token)return e("bin","*",t,this.next().read_expr());if("/"===this.token)return e("bin","/",t,this.next().read_expr());if("%"===this.token)return e("bin","%",t,this.next().read_expr());if(this.token===this.tok.T_POW)return e("bin","**",t,this.next().read_expr());if(this.token===this.tok.T_SL)return e("bin","<<",t,this.next().read_expr());if(this.token===this.tok.T_SR)return e("bin",">>",t,this.next().read_expr());if(this.token===this.tok.T_BOOLEAN_OR)return e("bin","||",t,this.next().read_expr());if(this.token===this.tok.T_LOGICAL_OR)return e("bin","or",t,this.next().read_expr());if(this.token===this.tok.T_BOOLEAN_AND)return e("bin","&&",t,this.next().read_expr());if(this.token===this.tok.T_LOGICAL_AND)return e("bin","and",t,this.next().read_expr());if(this.token===this.tok.T_LOGICAL_XOR)return e("bin","xor",t,this.next().read_expr());if(this.token===this.tok.T_IS_IDENTICAL)return e("bin","===",t,this.next().read_expr());if(this.token===this.tok.T_IS_NOT_IDENTICAL)return e("bin","!==",t,this.next().read_expr());if(this.token===this.tok.T_IS_EQUAL)return e("bin","==",t,this.next().read_expr());if(this.token===this.tok.T_IS_NOT_EQUAL)return e("bin","!=",t,this.next().read_expr());if("<"===this.token)return e("bin","<",t,this.next().read_expr());if(">"===this.token)return e("bin",">",t,this.next().read_expr());if(this.token===this.tok.T_IS_SMALLER_OR_EQUAL)return e("bin","<=",t,this.next().read_expr());if(this.token===this.tok.T_IS_GREATER_OR_EQUAL)return e("bin",">=",t,this.next().read_expr());if(this.token===this.tok.T_SPACESHIP)return e("bin","<=>",t,this.next().read_expr());if(this.token===this.tok.T_INSTANCEOF&&(t=e("bin","instanceof",t,this.next().read_class_name_reference()),";"!==this.token&&this.token!==this.tok.T_INLINE_HTML&&this.token!==this.EOF&&(t=this.read_expr(t))),this.token===this.tok.T_COALESCE)return e("bin","??",t,this.next().read_expr());if("?"!==this.token)return e.destroy(t),t;var i=null;return":"!==this.next().token&&(i=this.read_expr()),this.expect(":")&&this.next(),e("retif",t,i,this.read_expr())},read_expr_cast:function(t){return this.node("cast")(t,this.text(),this.next().read_expr())},read_expr_item:function(){var t=void 0,e=void 0;if("@"===this.token)return this.node("silent")(this.next().read_expr());if("+"===this.token)return this.node("unary")("+",this.next().read_expr());if("-"===this.token)return this.node("unary")("-",this.next().read_expr());if("!"===this.token)return this.node("unary")("!",this.next().read_expr());if("~"===this.token)return this.node("unary")("~",this.next().read_expr());if("("===this.token)return(e=this.next().read_expr()).parenthesizedExpression=!0,this.expect(")")&&this.next(),this.handleDereferencable(e);if("`"===this.token)return this.read_encapsed_string("`");if(this.token===this.tok.T_LIST){var i=null,r=this.innerList;t=this.node("list"),r||(i=this.node("assign")),this.next().expect("(")&&this.next(),this.innerList||(this.innerList=!0);var n=this.read_array_pair_list(!1);this.expect(")")&&this.next();for(var o=!1,s=0;s<n.length;s++)if(null!==n[s]){o=!0;break}return o||this.raiseError("Fatal Error : Cannot use empty list on line "+this.lexer.yylloc.first_line),r?t(n,!1):(this.innerList=!1,this.expect("=")?i(t(n,!1),this.next().read_expr(),"="):t(n,!1))}if(this.token===this.tok.T_CLONE)return this.node("clone")(this.next().read_expr());switch(this.token){case this.tok.T_INC:return this.node("pre")("+",this.next().read_variable(!1,!1,!1));case this.tok.T_DEC:return this.node("pre")("-",this.next().read_variable(!1,!1,!1));case this.tok.T_NEW:return this.read_new_expr();case this.tok.T_ISSET:t=this.node("isset"),this.next().expect("(")&&this.next();var a=this.read_list(this.read_expr,",");return this.expect(")")&&this.next(),t(a);case this.tok.T_EMPTY:t=this.node("empty"),this.next().expect("(")&&this.next();var l=this.read_expr();return this.expect(")")&&this.next(),t(l);case this.tok.T_INCLUDE:return this.node("include")(!1,!1,this.next().read_expr());case this.tok.T_INCLUDE_ONCE:return this.node("include")(!0,!1,this.next().read_expr());case this.tok.T_REQUIRE:return this.node("include")(!1,!0,this.next().read_expr());case this.tok.T_REQUIRE_ONCE:return this.node("include")(!0,!0,this.next().read_expr());case this.tok.T_EVAL:return t=this.node("eval"),this.next().expect("(")&&this.next(),e=this.read_expr(),this.expect(")")&&this.next(),t(e);case this.tok.T_INT_CAST:return this.read_expr_cast("int");case this.tok.T_DOUBLE_CAST:return this.read_expr_cast("float");case this.tok.T_STRING_CAST:return this.read_expr_cast(-1!==this.text().indexOf("binary")?"binary":"string");case this.tok.T_ARRAY_CAST:return this.read_expr_cast("array");case this.tok.T_OBJECT_CAST:return this.read_expr_cast("object");case this.tok.T_BOOL_CAST:return this.read_expr_cast("bool");case this.tok.T_UNSET_CAST:return this.read_expr_cast("unset");case this.tok.T_EXIT:var c="die"===this.lexer.yytext.toLowerCase();t=this.node("exit");var h=null;return"("===this.next().token&&(")"!==this.next().token?(h=this.read_expr(),this.expect(")")&&this.next()):this.next()),t(h,c);case this.tok.T_PRINT:return this.node("print")(this.next().read_expr());case this.tok.T_YIELD:var u=null,f=null;return t=this.node("yield"),this.next().is("EXPR")&&(u=this.read_expr(),this.token===this.tok.T_DOUBLE_ARROW&&(f=u,u=this.next().read_expr())),t(u,f);case this.tok.T_YIELD_FROM:return(t=this.node("yieldfrom"))(e=this.next().read_expr());case this.tok.T_FUNCTION:return this.read_function(!0);case this.tok.T_STATIC:var d=[this.token,this.lexer.getState()];if(this.next().token===this.tok.T_FUNCTION)return this.read_function(!0,[0,1,0]);this.lexer.tokens.push(d),this.next()}if(this.is("VARIABLE")){t=this.node();var p="identifier"===(e=this.read_variable(!1,!1,!1)).kind||"staticlookup"===e.kind&&"identifier"===e.offset.kind;switch(this.token){case"=":p&&this.error("VARIABLE");return t("assign",e,"&"==this.next().token?this.next().token===this.tok.T_NEW?this.read_new_expr():this.read_variable(!1,!1,!0):this.read_expr(),"=");case this.tok.T_PLUS_EQUAL:return p&&this.error("VARIABLE"),t("assign",e,this.next().read_expr(),"+=");case this.tok.T_MINUS_EQUAL:return p&&this.error("VARIABLE"),t("assign",e,this.next().read_expr(),"-=");case this.tok.T_MUL_EQUAL:return p&&this.error("VARIABLE"),t("assign",e,this.next().read_expr(),"*=");case this.tok.T_POW_EQUAL:return p&&this.error("VARIABLE"),t("assign",e,this.next().read_expr(),"**=");case this.tok.T_DIV_EQUAL:return p&&this.error("VARIABLE"),t("assign",e,this.next().read_expr(),"/=");case this.tok.T_CONCAT_EQUAL:return p&&this.error("VARIABLE"),t("assign",e,this.next().read_expr(),".=");case this.tok.T_MOD_EQUAL:return p&&this.error("VARIABLE"),t("assign",e,this.next().read_expr(),"%=");case this.tok.T_AND_EQUAL:return p&&this.error("VARIABLE"),t("assign",e,this.next().read_expr(),"&=");case this.tok.T_OR_EQUAL:return p&&this.error("VARIABLE"),t("assign",e,this.next().read_expr(),"|=");case this.tok.T_XOR_EQUAL:return p&&this.error("VARIABLE"),t("assign",e,this.next().read_expr(),"^=");case this.tok.T_SL_EQUAL:return p&&this.error("VARIABLE"),t("assign",e,this.next().read_expr(),"<<=");case this.tok.T_SR_EQUAL:return p&&this.error("VARIABLE"),t("assign",e,this.next().read_expr(),">>=");case this.tok.T_INC:return p&&this.error("VARIABLE"),this.next(),t("post","+",e);case this.tok.T_DEC:return p&&this.error("VARIABLE"),this.next(),t("post","-",e);default:t.destroy(e)}}else{if(this.is("SCALAR")){if(t=this.node(),"array"===(e=this.read_scalar()).kind&&e.shortForm&&"="===this.token){var m=this.node("list")(e.items,!0);return e.loc&&(m.loc=e.loc),t("assign",m,this.next().read_expr(),"=")}return t.destroy(e),this.handleDereferencable(e)}this.error("EXPR"),this.next()}return e},read_new_expr:function(){var t=this.node("new");this.expect(this.tok.T_NEW)&&this.next();var e=[];if(this.token===this.tok.T_CLASS){var i=this.node("class"),r=null,n=null,o=null;return"("===this.next().token&&(e=this.read_function_argument_list()),this.token==this.tok.T_EXTENDS&&(r=this.next().read_namespace_name()),this.token==this.tok.T_IMPLEMENTS&&(n=this.next().read_name_list()),this.expect("{")&&(o=this.next().read_class_body()),t(i(null,r,n,o,[0,0,0]),e)}var s=this.read_class_name_reference();return"("===this.token&&(e=this.read_function_argument_list()),t(s,e)},read_class_name_reference:function(){if(this.token===this.tok.T_NS_SEPARATOR||this.token===this.tok.T_STRING||this.token===this.tok.T_NAMESPACE){var t=this.read_namespace_name();return this.token===this.tok.T_DOUBLE_COLON&&(t=this.read_static_getter(t)),t}if(this.is("VARIABLE"))return this.read_variable(!0,!1,!1);this.expect([this.tok.T_STRING,"VARIABLE"])},handleDereferencable:function(t){for(;this.token!==this.EOF;)if(this.token===this.tok.T_OBJECT_OPERATOR||this.token===this.tok.T_DOUBLE_COLON)t=this.recursive_variable_chain_scan(t,!1,!1,!0);else if(this.token===this.tok.T_CURLY_OPEN||"["===this.token)t=this.read_dereferencable(t);else{if("("!==this.token)return t;t=this.node("call")(t,this.read_function_argument_list())}return t}}},function(t,e,i){"use strict";t.exports={is_reference:function(){return"&"==this.token&&(this.next(),!0)},is_variadic:function(){return this.token===this.tok.T_ELLIPSIS&&(this.next(),!0)},read_function:function(t,e){var i=this.read_function_declaration(t?1:e?2:0,e&&1===e[1]);return e&&1==e[2]?(i.parseFlags(e),this.expect(";")&&this.next()):(this.expect("{")&&(i.body=this.read_code_block(!1),i.loc&&i.body.loc&&(i.loc.end=i.body.loc.end)),!t&&e&&i.parseFlags(e)),i},read_function_declaration:function(t,e){var i="function";1===t?i="closure":2===t&&(i="method");var r=this.node(i);this.expect(this.tok.T_FUNCTION)&&this.next();var n=this.is_reference(),o=!1,s=[],a=null,l=!1;if(1!==t){var c=this.node("identifier");2===t?this.token===this.tok.T_STRING||this.php7&&this.is("IDENTIFIER")?(o=this.text(),this.next()):this.error("IDENTIFIER"):(this.expect(this.tok.T_STRING)&&(o=this.text()),this.next()),o=c(o)}this.expect("(")&&this.next();var h=this.read_parameter_list();return this.expect(")")&&this.next(),1===t&&this.token===this.tok.T_USE&&(this.next().expect("(")&&this.next(),s=this.read_list(this.read_lexical_var,","),this.expect(")")&&this.next()),":"===this.token&&("?"===this.next().token&&(l=!0,this.next()),a=this.read_type()),1===t?r(h,n,s,a,l,e):r(o,h,n,a,l)},read_lexical_var:function(){var t=this.node("variable"),e=!1;"&"===this.token&&(e=!0,this.next()),this.expect(this.tok.T_VARIABLE);var i=this.text().substring(1);return this.next(),t(i,e,!1)},read_parameter_list:function(){var t=[];if(")"!=this.token)for(;this.token!=this.EOF;){if(t.push(this.read_parameter()),","!=this.token){if(")"==this.token)break;this.error([",",")"]);break}this.next()}return t},read_parameter:function(){var t,e=this.node("parameter"),i=null,r=null,n=!1;"?"===this.token&&(this.next(),n=!0),t=this.read_type(),n&&!t&&this.raiseError("Expecting a type definition combined with nullable operator");var o=this.is_reference(),s=this.is_variadic();return this.expect(this.tok.T_VARIABLE)&&(i=this.text().substring(1),this.next()),"="==this.token&&(r=this.next().read_expr()),e(i,t,r,o,s,n)},read_function_argument_list:function(){var t=[],e=!1;if(this.expect("(")&&this.next(),")"!==this.token)for(;this.token!=this.EOF;){var i=this.read_argument_list();if(i&&(t.push(i),"variadic"===i.kind?e=!0:e&&this.raiseError("Unexpected argument after a variadic argument")),","!==this.token)break;this.next()}return this.expect(")")&&this.next(),t},read_argument_list:function(){return this.token===this.tok.T_ELLIPSIS?this.node("variadic")(this.next().read_expr()):this.read_expr()},read_type:function(){var t=this.node();if(this.token===this.tok.T_ARRAY||this.token===this.tok.T_CALLABLE){var e=this.text();return this.next(),t("typereference",e.toLowerCase(),e)}if(this.token!==this.tok.T_STRING)return this.token===this.tok.T_NAMESPACE||this.token===this.tok.T_NS_SEPARATOR?this.read_namespace_name():null;var i=this.text(),r=[this.token,this.lexer.getState()];return this.next(),this.token!==this.tok.T_NS_SEPARATOR&&-1<this.ast.typereference.types.indexOf(i.toLowerCase())?t("typereference",i.toLowerCase(),i):(this.lexer.tokens.push(r),this.next(),this.read_namespace_name())}}},function(t,e,i){"use strict";t.exports={read_if:function(){var t,e=this.node("if"),i=null,r=null,n=!1;if(t=this.next().read_if_expr(),":"===this.token){n=!0,this.next(),i=this.node("block");for(var o=[];this.token!==this.EOF&&this.token!==this.tok.T_ENDIF;){if(this.token===this.tok.T_ELSEIF){r=this.read_elseif_short();break}if(this.token===this.tok.T_ELSE){r=this.read_else_short();break}o.push(this.read_inner_statement())}i=i(null,o),this.expect(this.tok.T_ENDIF)&&this.next(),this.expectEndOfStatement()}else i=this.read_statement(),this.token===this.tok.T_ELSEIF?r=this.read_if():this.token===this.tok.T_ELSE&&(r=this.next().read_statement());return e(t,i,r,n)},read_if_expr:function(){this.expect("(")&&this.next();var t=this.read_expr();return this.expect(")")&&this.next(),t},read_elseif_short:function(){var t,e=this.node("if"),i=null,r=null,n=[];for(t=this.next().read_if_expr(),this.expect(":")&&this.next(),r=this.node("block");this.token!=this.EOF&&this.token!==this.tok.T_ENDIF;){if(this.token===this.tok.T_ELSEIF){i=this.read_elseif_short();break}if(this.token===this.tok.T_ELSE){i=this.read_else_short();break}n.push(this.read_inner_statement())}return e(t,r=r(null,n),i,!0)},read_else_short:function(){var t=this.node("block");this.next().expect(":")&&this.next();for(var e=[];this.token!=this.EOF&&this.token!==this.tok.T_ENDIF;)e.push(this.read_inner_statement());return t(null,e)}}},function(t,e,i){"use strict";t.exports={read_while:function(){var t=this.node("while");this.expect(this.tok.T_WHILE)&&this.next();var e,i=!1;return this.expect("(")&&this.next(),e=this.read_expr(),this.expect(")")&&this.next(),t(e,":"===this.token?(i=!0,this.read_short_form(this.tok.T_ENDWHILE)):this.read_statement(),i)},read_do:function(){var t=this.node("do");this.expect(this.tok.T_DO)&&this.next();var e,i=null;return e=this.read_statement(),this.expect(this.tok.T_WHILE)&&(this.next().expect("(")&&this.next(),i=this.read_expr(),this.expect(")")&&this.next(),this.expect(";")&&this.next()),t(i,e)},read_for:function(){var t=this.node("for");this.expect(this.tok.T_FOR)&&this.next();var e=[],i=[],r=[],n=!1;return this.expect("(")&&this.next(),";"!==this.token?(e=this.read_list(this.read_expr,","),this.expect(";")&&this.next()):this.next(),";"!==this.token?(i=this.read_list(this.read_expr,","),this.expect(";")&&this.next()):this.next(),")"!==this.token?(r=this.read_list(this.read_expr,","),this.expect(")")&&this.next()):this.next(),t(e,i,r,":"===this.token?(n=!0,this.read_short_form(this.tok.T_ENDFOR)):this.read_statement(),n)},read_foreach:function(){var t=this.node("foreach");this.expect(this.tok.T_FOREACH)&&this.next();var e,i=null,r=null,n=!1;return this.expect("(")&&this.next(),e=this.read_expr(),this.expect(this.tok.T_AS)&&(this.next(),r=this.read_foreach_variable(),this.token===this.tok.T_DOUBLE_ARROW&&(i=r,r=this.next().read_foreach_variable())),i&&"list"===i.kind&&this.raiseError("Fatal Error : Cannot use list as key element"),this.expect(")")&&this.next(),t(e,i,r,":"===this.token?(n=!0,this.read_short_form(this.tok.T_ENDFOREACH)):this.read_statement(),n)},read_foreach_variable:function(){if(this.token!==this.tok.T_LIST&&"["!==this.token)return this.read_variable(!1,!1,!1);var t="["===this.token,e=this.node("list");this.next(),!t&&this.expect("(")&&this.next();var i=this.read_array_pair_list(t);return this.expect(t?"]":")")&&this.next(),e(i,t)}}},function(t,e,i){"use strict";t.exports={read_start:function(){return this.token==this.tok.T_NAMESPACE?this.read_namespace():this.read_top_statement()}}},function(t,e,i){"use strict";t.exports={read_namespace:function(){var t=this.node("namespace"),e=void 0;if(this.expect(this.tok.T_NAMESPACE)&&this.next(),"{"==this.token)return this.currentNamespace=[""],e=this.next().read_top_statements(),this.expect("}")&&this.next(),t([""],e,!0);var i=this.read_namespace_name();return";"==this.token?(this.currentNamespace=i,e=this.next().read_top_statements(),this.expect(this.EOF),t(i.name,e,!1)):"{"==this.token?(this.currentNamespace=i,e=this.next().read_top_statements(),this.expect("}")&&this.next(),t(i.name,e,!0)):"("===this.token?(i.resolution=this.ast.reference.RELATIVE_NAME,i.name=i.name.substring(1),this.node("call")(i,this.read_function_argument_list())):(this.error(["{",";"]),this.currentNamespace=i,e=this.read_top_statements(),this.expect(this.EOF),t(i,e,!1))},read_namespace_name:function(){var t=this.node(),e=!1;this.token===this.tok.T_NAMESPACE&&(this.next().expect(this.tok.T_NS_SEPARATOR)&&this.next(),e=!0);var i=this.read_list(this.tok.T_STRING,this.tok.T_NS_SEPARATOR,!0);if(!e&&1===i.length){if("parent"===i[0].toLowerCase())return t("parentreference",i[0]);if("self"===i[0].toLowerCase())return t("selfreference",i[0])}return t("classreference",i,e)},read_use_statement:function(){var t=this.node("usegroup"),e=[],i=null;this.expect(this.tok.T_USE)&&this.next();var r=this.read_use_type();return e.push(this.read_use_declaration(!1)),","===this.token?e=e.concat(this.next().read_use_declarations(!1)):"{"===this.token&&(i=e[0].name,e=this.next().read_use_declarations(null===r),this.expect("}")&&this.next()),t=t(i,r,e),this.expect(";")&&this.next(),t},read_class_name_reference:function(){return this.read_variable(!0,!1,!1)},read_use_declaration:function(t){var e=this.node("useitem"),i=null;t&&(i=this.read_use_type());var r=this.read_namespace_name(),n=this.read_use_alias();return e(r.name,n,i)},read_use_declarations:function(t){for(var e=[this.read_use_declaration(t)];","===this.token;){if(this.next(),t){if(this.token!==this.tok.T_FUNCTION&&this.token!==this.tok.T_CONST&&this.token!==this.tok.T_STRING)break}else if(this.token!==this.tok.T_STRING)break;e.push(this.read_use_declaration(t))}return e},read_use_alias:function(){var t=null;return this.token===this.tok.T_AS&&this.next().expect(this.tok.T_STRING)&&(t=this.text(),this.next()),t},read_use_type:function(){return this.token===this.tok.T_FUNCTION?(this.next(),this.ast.useitem.TYPE_FUNCTION):this.token===this.tok.T_CONST?(this.next(),this.ast.useitem.TYPE_CONST):null}}},function(t,e,i){"use strict";var r={"\\r":"\r","\\n":"\n","\\t":"\t","\\v":String.fromCharCode(11),"\\e":String.fromCharCode(27),"\\f":String.fromCharCode(12),"\\\\":"\\","\\$":"$",'\\"':'"',"\\'":"'"};t.exports={resolve_special_chars:function(t,e){return e?t.replace(/\\[rntvef"'\\$]/g,function(t){return r[t]}):t.replace(/\\['\\]/g,function(t){return r[t]})},read_scalar:function(){if(this.is("T_MAGIC_CONST"))return this.get_magic_constant();var t=void 0,e=void 0;switch(this.token){case this.tok.T_CONSTANT_ENCAPSED_STRING:t=this.node("string");var i=this.text(),r=0;"b"!==i[0]&&"B"!==i[0]||(r=1);var n='"'===i[r];return this.next(),t=t(n,this.resolve_special_chars(i.substring(r+1,i.length-1),n),1===r,i),this.token===this.tok.T_DOUBLE_COLON?this.read_static_getter(t):t;case this.tok.T_START_HEREDOC:if("ST_NOWDOC"!==this.lexer.curCondition)return this.read_encapsed_string(this.tok.T_END_HEREDOC);var o=this.lexer.yylloc.first_offset;e=this.node("nowdoc");var s=(t=this.next().text())[t.length-1];"\n"===s?t="\r"===t[t.length-2]?t.substring(0,t.length-2):t.substring(0,t.length-1):"\r"===s&&(t=t.substring(0,t.length-1)),this.expect(this.tok.T_ENCAPSED_AND_WHITESPACE)&&this.next();var a=this.lexer._input.substring(o,this.lexer.yylloc.last_offset);return this.expect(this.tok.T_END_HEREDOC)&&this.next(),e=e(t,a,this.lexer.heredoc_label,'"'===a[3]||"'"===a[3]);case'"':return this.read_encapsed_string('"');case'b"':case'B"':return this.read_encapsed_string('"',!0);case this.tok.T_LNUMBER:case this.tok.T_DNUMBER:var l=this.node("number");return t=this.text(),this.next(),l(t,null);case this.tok.T_ARRAY:case"[":return this.read_array();default:var c=this.error("SCALAR");return this.next(),c}},read_dereferencable:function(t){var e=void 0,i=void 0,r=this.node("offsetlookup");return"["===this.token?(i=this.next().read_expr(),this.expect("]")&&this.next(),e=r(t,i)):this.token===this.tok.T_DOLLAR_OPEN_CURLY_BRACES&&(e=r(t,i=this.read_encapsed_string_item(!1))),e},read_encapsed_string_item:function(t){var e=this.node("encapsedpart"),i=!1,r=this.node(),n=void 0,o=void 0,s=void 0;if(this.token===this.tok.T_ENCAPSED_AND_WHITESPACE){var a=this.text();this.next(),r=r("string",!1,this.resolve_special_chars(a,t),!1,a)}else if(this.token===this.tok.T_DOLLAR_OPEN_CURLY_BRACES){if(s=null,this.next().token===this.tok.T_STRING_VARNAME){s=this.node("variable");var l=this.text();this.next(),s="["===this.token?(s=s(l,!1),o=this.node("offsetlookup"),n=this.next().read_expr(),this.expect("]")&&this.next(),o(s,n)):l}else s=this.read_expr();this.expect("}")&&this.next(),r=r("variable",s,!1,!0)}else if(this.token===this.tok.T_CURLY_OPEN)i=!0,r.destroy(),r=this.next().read_variable(!1,!1,!1),this.expect("}")&&this.next();else if(this.token===this.tok.T_VARIABLE){if(r.destroy(),r=this.read_simple_variable(!1),"["===this.token&&(o=this.node("offsetlookup"),n=this.next().read_encaps_var_offset(),this.expect("]")&&this.next(),r=o(r,n)),this.token===this.tok.T_OBJECT_OPERATOR){o=this.node("propertylookup"),this.next().expect(this.tok.T_STRING);var c=this.node("identifier");s=this.text(),this.next(),r=o(r,c(s))}}else{this.expect(this.tok.T_ENCAPSED_AND_WHITESPACE);var h=this.text();this.next(),r.destroy(),r=r("string",!1,h,!1,h)}return e(r,i)},read_encapsed_string:function(t){var e=1<arguments.length&&void 0!==arguments[1]&&arguments[1],i=this.node("encapsed");this.next();var r=this.lexer.yylloc.prev_offset-(e?1:0),n=[],o=null;for(o="`"===t?this.ast.encapsed.TYPE_SHELL:'"'===t?this.ast.encapsed.TYPE_STRING:this.ast.encapsed.TYPE_HEREDOC;this.token!==t&&this.token!==this.EOF;)n.push(this.read_encapsed_string_item(!0));return this.expect(t)&&this.next(),i=i(n,this.lexer._input.substring(r-1,this.lexer.yylloc.first_offset),o),t===this.tok.T_END_HEREDOC&&(i.label=this.lexer.heredoc_label),i},get_magic_constant:function(){var t=this.node("magic"),e=this.text();return this.next(),t(e.toUpperCase(),e)}}},function(t,e,i){"use strict";t.exports={read_top_statements:function(){for(var t=[];this.token!==this.EOF&&"}"!==this.token;){var e=this.read_top_statement();e&&(Array.isArray(e)?t=t.concat(e):t.push(e))}return t},read_top_statement:function(){switch(this.token){case this.tok.T_FUNCTION:return this.read_function(!1,!1);case this.tok.T_ABSTRACT:case this.tok.T_FINAL:case this.tok.T_CLASS:return this.read_class();case this.tok.T_INTERFACE:return this.read_interface();case this.tok.T_TRAIT:return this.read_trait();case this.tok.T_USE:return this.read_use_statement();case this.tok.T_CONST:var t=this.node("constantstatement"),e=this.next().read_const_list();return this.expectEndOfStatement(),t(null,e);case this.tok.T_NAMESPACE:return this.read_namespace();case this.tok.T_HALT_COMPILER:var i=this.node("halt");return this.next().expect("(")&&this.next(),this.expect(")")&&this.next(),this.expect(";"),this.lexer.done=!0,i(this.lexer._input.substring(this.lexer.offset));default:return this.read_statement()}},read_inner_statements:function(){for(var t=[];this.token!=this.EOF&&"}"!==this.token;){var e=this.read_inner_statement();e&&(Array.isArray(e)?t=t.concat(e):t.push(e))}return t},read_const_list:function(){return this.read_list(function(){this.expect(this.tok.T_STRING);var t=this.node("constant"),e=this.text();return this.next().expect("=")?t(e,this.next().read_expr()):t(e,null)},",",!1)},read_declare_list:function(){for(var t={};this.token!=this.EOF&&")"!==this.token;){this.expect(this.tok.T_STRING);var e=this.text().toLowerCase();if(this.next().expect("=")?t[e]=this.next().read_expr():t[e]=null,","!==this.token)break;this.next()}return t},read_inner_statement:function(){switch(this.token){case this.tok.T_FUNCTION:return this.read_function(!1,!1);case this.tok.T_ABSTRACT:case this.tok.T_FINAL:case this.tok.T_CLASS:return this.read_class();case this.tok.T_INTERFACE:return this.read_interface();case this.tok.T_TRAIT:return this.read_trait();case this.tok.T_HALT_COMPILER:this.raiseError("__HALT_COMPILER() can only be used from the outermost scope");var t=this.node("halt");return this.next().expect("(")&&this.next(),this.expect(")")&&this.next(),t=t(this.lexer._input.substring(this.lexer.offset)),this.expect(";")&&this.next(),t;default:return this.read_statement()}},read_statement:function(){switch(this.token){case"{":return this.read_code_block(!1);case this.tok.T_IF:return this.read_if();case this.tok.T_SWITCH:return this.read_switch();case this.tok.T_FOR:return this.read_for();case this.tok.T_FOREACH:return this.read_foreach();case this.tok.T_WHILE:return this.read_while();case this.tok.T_DO:return this.read_do();case this.tok.T_COMMENT:return this.read_comment();case this.tok.T_DOC_COMMENT:return this.read_doc_comment();case this.tok.T_RETURN:var t=this.node("return"),e=null;return this.next().is("EOS")||(e=this.read_expr()),this.expectEndOfStatement(),t(e);case this.tok.T_BREAK:case this.tok.T_CONTINUE:var i=this.node(this.token===this.tok.T_CONTINUE?"continue":"break"),r=null;return this.next(),";"!==this.token&&(r=this.read_expr()),this.expectEndOfStatement(),i(r);case this.tok.T_GLOBAL:var n=this.node("global"),o=this.next().read_list(this.read_simple_variable,",");return this.expectEndOfStatement(),n(o);case this.tok.T_STATIC:var s=[this.token,this.lexer.getState()],a=this.node();if(this.next().token===this.tok.T_DOUBLE_COLON){this.lexer.tokens.push(s);var l=this.next().read_expr();return this.expectEndOfStatement(l),a("expressionstatement",l)}if(this.token===this.tok.T_FUNCTION)return this.read_function(!0,[0,1,0]);var c=this.read_variable_declarations();return this.expectEndOfStatement(),a("static",c);case this.tok.T_ECHO:var h=this.node("echo"),u=this.text(),f="<?="===u||"<%="===u,d=this.next().read_list(this.read_expr,",");return this.expectEndOfStatement(),h(d,f);case this.tok.T_INLINE_HTML:var p=this.text(),m=0<this.lexer.yylloc.first_offset?this.lexer._input[this.lexer.yylloc.first_offset-1]:null,g="\r"===m||"\n"===m;g&&"\n"===m&&1<this.lexer.yylloc.first_offset&&"\r"===this.lexer._input[this.lexer.yylloc.first_offset-2]&&(m="\r\n");var _=this.node("inline");return this.next(),_(p,g?m+p:p);case this.tok.T_UNSET:var v=this.node("unset");this.next().expect("(")&&this.next();var y=this.read_list(this.read_variable,",");return this.expect(")")&&this.next(),this.expect(";")&&this.next(),v(y);case this.tok.T_DECLARE:var x=this.node("declare"),T=[],k=void 0;this.next().expect("(")&&this.next();var b=this.read_declare_list();if(this.expect(")")&&this.next(),":"===this.token){for(this.next();this.token!=this.EOF&&this.token!==this.tok.T_ENDDECLARE;)T.push(this.read_top_statement());this.expect(this.tok.T_ENDDECLARE)&&this.next(),this.expectEndOfStatement(),k=this.ast.declare.MODE_SHORT}else if("{"===this.token){for(this.next();this.token!=this.EOF&&"}"!==this.token;)T.push(this.read_top_statement());this.expect("}")&&this.next(),k=this.ast.declare.MODE_BLOCK}else this.expect(";")&&this.next(),k=this.ast.declare.MODE_NONE;return x(b,T,k);case this.tok.T_TRY:return this.read_try();case this.tok.T_THROW:var w=this.node("throw"),E=this.next().read_expr();return this.expectEndOfStatement(),w(E);case";":return this.next(),null;case this.tok.T_STRING:var C=this.node(),S=[this.token,this.lexer.getState()],A=this.text();if(":"===this.next().token)return this.next(),C("label",A);this.lexer.tokens.push(S);var L=this.next().read_expr();return this.expectEndOfStatement(),L;case this.tok.T_GOTO:var N=this.node("goto"),O=null;return this.next().expect(this.tok.T_STRING)&&(O=this.text(),this.next().expectEndOfStatement()),N(O);default:var I=this.node("expressionstatement"),R=this.read_expr();return this.expectEndOfStatement(R),I(R)}},read_code_block:function(t){var e=this.node("block");this.expect("{")&&this.next();var i=t?this.read_top_statements():this.read_inner_statements();return this.expect("}")&&this.next(),e(null,i)}}},function(t,e,i){"use strict";t.exports={read_switch:function(){var t=this.node("switch");this.expect(this.tok.T_SWITCH)&&this.next(),this.expect("(")&&this.next();var e=this.read_expr();this.expect(")")&&this.next();var i=":"===this.token;return t(e,this.read_switch_case_list(),i)},read_switch_case_list:function(){var t=null,e=this.node("block"),i=[];for("{"===this.token?t="}":":"===this.token?t=this.tok.T_ENDSWITCH:this.expect(["{",":"]),";"===this.next().token&&this.next();this.token!==this.EOF&&this.token!==t;)i.push(this.read_case_list(t));return this.expect(t)&&this.next(),t===this.tok.T_ENDSWITCH&&this.expectEndOfStatement(),e(null,i)},read_case_list:function(t){var e=this.node("case"),i=null,r=null,n=[];for(this.token===this.tok.T_CASE?i=this.next().read_expr():this.token===this.tok.T_DEFAULT?this.next():this.expect([this.tok.T_CASE,this.tok.T_DEFAULT]),this.expect([":",";"])&&this.next(),r=this.node("block");this.token!=this.EOF&&this.token!==t&&this.token!==this.tok.T_CASE&&this.token!==this.tok.T_DEFAULT;)n.push(this.read_inner_statement());return e(i,0<n.length?r(null,n):null)}}},function(t,e,i){"use strict";t.exports={read_try:function(){this.expect(this.tok.T_TRY);for(var t=this.node("try"),e=null,i=[],r=this.next().read_statement();this.token===this.tok.T_CATCH;){var n=this.node("catch");this.next().expect("(")&&this.next();var o=this.read_list(this.read_namespace_name,"|",!1),s=this.read_variable(!0,!1,!1);this.expect(")"),i.push(n(this.next().read_statement(),o,s))}return this.token===this.tok.T_FINALLY&&(e=this.next().read_statement()),t(r,i,e)}}},function(t,e,i){"use strict";t.exports={read_short_form:function(t){var e=this.node("block"),i=[];for(this.expect(":")&&this.next();this.token!=this.EOF&&this.token!==t;)i.push(this.read_inner_statement());return this.expect(t)&&this.next(),this.expectEndOfStatement(),e(null,i)},read_list:function(t,e,i){var r=[];if(this.token==e&&(i&&r.push(null),this.next()),"function"==typeof t){do{if(r.push(t.apply(this,[])),this.token!=e)break}while(this.next().token!=this.EOF)}else{if(!this.expect(t))return[];for(r.push(this.text());this.next().token!=this.EOF&&this.token==e&&this.next().token==t;)r.push(this.text())}return r},read_name_list:function(){return this.read_list(this.read_namespace_name,",",!1)},read_variable_declarations:function(){return this.read_list(function(){var t=this.node("assign"),e=this.node("variable");if(this.expect(this.tok.T_VARIABLE)){var i=this.text().substring(1);this.next(),e=e(i,!1,!1)}else e=e("#ERR",!1,!1);return"="===this.token?t(e,this.next().read_expr()):e},",")}}},function(t,e,i){"use strict";t.exports={read_variable:function(t,e,i){var r=void 0;if(i||"&"!==this.token||(i=!0,this.next()),this.is([this.tok.T_VARIABLE,"$"]))r=this.read_reference_variable(e,i);else if(this.is([this.tok.T_NS_SEPARATOR,this.tok.T_STRING,this.tok.T_NAMESPACE])){r=this.node();var n=this.read_namespace_name();if(this.token!=this.tok.T_DOUBLE_COLON&&"("!=this.token&&-1===["parentreference","selfreference"].indexOf(n.kind)){var o=n.name.toLowerCase();r="true"===o?r("boolean",!0,n.name):"false"===o?r("boolean",!1,n.name):r("identifier",n)}else r=n}else if(this.token===this.tok.T_STATIC){r=this.node("staticreference");var s=this.text();this.next(),r=r(s)}else this.expect("VARIABLE");return this.token===this.tok.T_DOUBLE_COLON&&(r=this.read_static_getter(r,e)),this.recursive_variable_chain_scan(r,t,e)},read_static_getter:function(t,e){var i=this.node("staticlookup"),r=void 0,n=void 0;return this.next().is([this.tok.T_VARIABLE,"$"])?r=this.read_reference_variable(e,!1):this.token===this.tok.T_STRING||this.token===this.tok.T_CLASS||this.php7&&this.is("IDENTIFIER")?(r=this.node("identifier"),n=this.text(),this.next(),r=r(n)):"{"===this.token?(r=this.next().read_expr(),this.expect("}")&&this.next(),this.expect("(")):(this.error([this.tok.T_VARIABLE,this.tok.T_STRING]),r=this.node("identifier"),n=this.text(),this.next(),r=r(n)),i(t,r)},read_what:function(){var t=0<arguments.length&&void 0!==arguments[0]&&arguments[0],e=null,i=null;switch(this.next().token){case this.tok.T_STRING:if(e=this.node("identifier"),i=this.text(),this.next(),e=e(i),t&&this.token===this.tok.T_OBJECT_OPERATOR&&this.error(),this.token===this.tok.T_VARIABLE){var r=this.node("variable");i=this.text().substring(1),this.next(),(e=this.node("encapsed")([e,r(i,!1,!1)],null,"offset")).loc&&e.value[0].loc&&(e.loc.start=e.value[0].loc.start)}else if("{"===this.token){var n=this.next().read_expr();this.expect("}")&&this.next(),(e=this.node("encapsed")([e,n],null,"offset")).loc&&e.value[0].loc&&(e.loc.start=e.value[0].loc.start)}break;case this.tok.T_VARIABLE:e=this.node("variable"),i=this.text().substring(1),this.next(),e=e(i,!1,!1);break;case"$":this.next().expect(["{",this.tok.T_VARIABLE]),"{"===this.token?(e=this.next().read_expr(),this.expect("}")&&this.next()):e=this.read_expr();break;case"{":e=this.next().read_expr(),this.expect("}")&&this.next();break;default:this.error([this.tok.T_STRING,this.tok.T_VARIABLE,"$","{"]),e=this.node("identifier"),i=this.text(),this.next(),e=e(i)}return e},recursive_variable_chain_scan:function(t,e,i,r){var n=void 0,o=void 0;t:for(;this.token!=this.EOF;)switch(this.token){case"(":if(e)return t;t=this.node("call")(t,this.read_function_argument_list());break;case"[":n=this.node("offsetlookup"),this.next(),o=!1,i?(o=this.read_encaps_var_offset(),this.expect("]")&&this.next()):"]"!==this.token?(o=this.read_expr(),this.expect("]")&&this.next()):this.next(),t=n(t,o);break;case this.tok.T_DOUBLE_COLON:"staticlookup"===t.kind&&"identifier"===t.offset.kind&&this.error(),t=(n=this.node("staticlookup"))(t,this.read_what(!0)),r&&"("!==this.token&&this.error("(");break;case this.tok.T_OBJECT_OPERATOR:t=(n=this.node("propertylookup"))(t,this.read_what());break;default:break t}return t},read_encaps_var_offset:function(){var t=this.node();if(this.token===this.tok.T_STRING){var e=this.text();this.next(),t=t("identifier",e)}else if(this.token===this.tok.T_NUM_STRING){var i=this.text();this.next(),t=t("number",i,null)}else if(this.token===this.tok.T_VARIABLE){var r=this.text().substring(1);this.next(),t=t("variable",r,!1,!1)}else{this.expect([this.tok.T_STRING,this.tok.T_NUM_STRING,this.tok.T_VARIABLE]);var n=this.text();this.next(),t=t("identifier",n)}return t},read_reference_variable:function(t,e){for(var i=this.read_simple_variable(e),r=void 0;this.token!=this.EOF;){var n=this.node();if("["==this.token)r=null,r=t?this.next().read_encaps_var_offset():"]"===this.next().token?null:this.read_dim_offset(),this.expect("]")&&this.next(),i=n("offsetlookup",i,r);else{if("{"!=this.token||t){n.destroy();break}r=this.next().read_expr(),this.expect("}")&&this.next(),i=n("offsetlookup",i,r)}}return i},read_simple_variable:function(t){var e=this.node("variable"),i=void 0;if(this.expect([this.tok.T_VARIABLE,"$"])&&this.token===this.tok.T_VARIABLE)i=this.text().substring(1),this.next(),e=e(i,t,!1);else switch("$"===this.token&&this.next(),this.token){case"{":var r=this.next().read_expr();this.expect("}")&&this.next(),e=e(r,t,!0);break;case"$":e=e(this.read_simple_variable(!1),t);break;case this.tok.T_VARIABLE:i=this.text().substring(1);var n=this.node("variable");this.next(),e=e(n(i,!1,!1),t,!1);break;default:this.error(["{","$",this.tok.T_VARIABLE]),i=this.text(),this.next(),e=e(i,t,!1)}return e}}},function(t,e,i){"use strict";t.exports={values:{101:"T_HALT_COMPILER",102:"T_USE",103:"T_ENCAPSED_AND_WHITESPACE",104:"T_OBJECT_OPERATOR",105:"T_STRING",106:"T_DOLLAR_OPEN_CURLY_BRACES",107:"T_STRING_VARNAME",108:"T_CURLY_OPEN",109:"T_NUM_STRING",110:"T_ISSET",111:"T_EMPTY",112:"T_INCLUDE",113:"T_INCLUDE_ONCE",114:"T_EVAL",115:"T_REQUIRE",116:"T_REQUIRE_ONCE",117:"T_NAMESPACE",118:"T_NS_SEPARATOR",119:"T_AS",120:"T_IF",121:"T_ENDIF",122:"T_WHILE",123:"T_DO",124:"T_FOR",125:"T_SWITCH",126:"T_BREAK",127:"T_CONTINUE",128:"T_RETURN",129:"T_GLOBAL",130:"T_STATIC",131:"T_ECHO",132:"T_INLINE_HTML",133:"T_UNSET",134:"T_FOREACH",135:"T_DECLARE",136:"T_TRY",137:"T_THROW",138:"T_GOTO",139:"T_FINALLY",140:"T_CATCH",141:"T_ENDDECLARE",142:"T_LIST",143:"T_CLONE",144:"T_PLUS_EQUAL",145:"T_MINUS_EQUAL",146:"T_MUL_EQUAL",147:"T_DIV_EQUAL",148:"T_CONCAT_EQUAL",149:"T_MOD_EQUAL",150:"T_AND_EQUAL",151:"T_OR_EQUAL",152:"T_XOR_EQUAL",153:"T_SL_EQUAL",154:"T_SR_EQUAL",155:"T_INC",156:"T_DEC",157:"T_BOOLEAN_OR",158:"T_BOOLEAN_AND",159:"T_LOGICAL_OR",160:"T_LOGICAL_AND",161:"T_LOGICAL_XOR",162:"T_SL",163:"T_SR",164:"T_IS_IDENTICAL",165:"T_IS_NOT_IDENTICAL",166:"T_IS_EQUAL",167:"T_IS_NOT_EQUAL",168:"T_IS_SMALLER_OR_EQUAL",169:"T_IS_GREATER_OR_EQUAL",170:"T_INSTANCEOF",171:"T_INT_CAST",172:"T_DOUBLE_CAST",173:"T_STRING_CAST",174:"T_ARRAY_CAST",175:"T_OBJECT_CAST",176:"T_BOOL_CAST",177:"T_UNSET_CAST",178:"T_EXIT",179:"T_PRINT",180:"T_YIELD",181:"T_YIELD_FROM",182:"T_FUNCTION",183:"T_DOUBLE_ARROW",184:"T_DOUBLE_COLON",185:"T_ARRAY",186:"T_CALLABLE",187:"T_CLASS",188:"T_ABSTRACT",189:"T_TRAIT",190:"T_FINAL",191:"T_EXTENDS",192:"T_INTERFACE",193:"T_IMPLEMENTS",194:"T_VAR",195:"T_PUBLIC",196:"T_PROTECTED",197:"T_PRIVATE",198:"T_CONST",199:"T_NEW",200:"T_INSTEADOF",201:"T_ELSEIF",202:"T_ELSE",203:"T_ENDSWITCH",204:"T_CASE",205:"T_DEFAULT",206:"T_ENDFOR",207:"T_ENDFOREACH",208:"T_ENDWHILE",209:"T_CONSTANT_ENCAPSED_STRING",210:"T_LNUMBER",211:"T_DNUMBER",212:"T_LINE",213:"T_FILE",214:"T_DIR",215:"T_TRAIT_C",216:"T_METHOD_C",217:"T_FUNC_C",218:"T_NS_C",219:"T_START_HEREDOC",220:"T_END_HEREDOC",221:"T_CLASS_C",222:"T_VARIABLE",223:"T_OPEN_TAG",224:"T_OPEN_TAG_WITH_ECHO",225:"T_CLOSE_TAG",226:"T_WHITESPACE",227:"T_COMMENT",228:"T_DOC_COMMENT",229:"T_ELLIPSIS",230:"T_COALESCE",231:"T_POW",232:"T_POW_EQUAL",233:"T_SPACESHIP"},names:{T_HALT_COMPILER:101,T_USE:102,T_ENCAPSED_AND_WHITESPACE:103,T_OBJECT_OPERATOR:104,T_STRING:105,T_DOLLAR_OPEN_CURLY_BRACES:106,T_STRING_VARNAME:107,T_CURLY_OPEN:108,T_NUM_STRING:109,T_ISSET:110,T_EMPTY:111,T_INCLUDE:112,T_INCLUDE_ONCE:113,T_EVAL:114,T_REQUIRE:115,T_REQUIRE_ONCE:116,T_NAMESPACE:117,T_NS_SEPARATOR:118,T_AS:119,T_IF:120,T_ENDIF:121,T_WHILE:122,T_DO:123,T_FOR:124,T_SWITCH:125,T_BREAK:126,T_CONTINUE:127,T_RETURN:128,T_GLOBAL:129,T_STATIC:130,T_ECHO:131,T_INLINE_HTML:132,T_UNSET:133,T_FOREACH:134,T_DECLARE:135,T_TRY:136,T_THROW:137,T_GOTO:138,T_FINALLY:139,T_CATCH:140,T_ENDDECLARE:141,T_LIST:142,T_CLONE:143,T_PLUS_EQUAL:144,T_MINUS_EQUAL:145,T_MUL_EQUAL:146,T_DIV_EQUAL:147,T_CONCAT_EQUAL:148,T_MOD_EQUAL:149,T_AND_EQUAL:150,T_OR_EQUAL:151,T_XOR_EQUAL:152,T_SL_EQUAL:153,T_SR_EQUAL:154,T_INC:155,T_DEC:156,T_BOOLEAN_OR:157,T_BOOLEAN_AND:158,T_LOGICAL_OR:159,T_LOGICAL_AND:160,T_LOGICAL_XOR:161,T_SL:162,T_SR:163,T_IS_IDENTICAL:164,T_IS_NOT_IDENTICAL:165,T_IS_EQUAL:166,T_IS_NOT_EQUAL:167,T_IS_SMALLER_OR_EQUAL:168,T_IS_GREATER_OR_EQUAL:169,T_INSTANCEOF:170,T_INT_CAST:171,T_DOUBLE_CAST:172,T_STRING_CAST:173,T_ARRAY_CAST:174,T_OBJECT_CAST:175,T_BOOL_CAST:176,T_UNSET_CAST:177,T_EXIT:178,T_PRINT:179,T_YIELD:180,T_YIELD_FROM:181,T_FUNCTION:182,T_DOUBLE_ARROW:183,T_DOUBLE_COLON:184,T_ARRAY:185,T_CALLABLE:186,T_CLASS:187,T_ABSTRACT:188,T_TRAIT:189,T_FINAL:190,T_EXTENDS:191,T_INTERFACE:192,T_IMPLEMENTS:193,T_VAR:194,T_PUBLIC:195,T_PROTECTED:196,T_PRIVATE:197,T_CONST:198,T_NEW:199,T_INSTEADOF:200,T_ELSEIF:201,T_ELSE:202,T_ENDSWITCH:203,T_CASE:204,T_DEFAULT:205,T_ENDFOR:206,T_ENDFOREACH:207,T_ENDWHILE:208,T_CONSTANT_ENCAPSED_STRING:209,T_LNUMBER:210,T_DNUMBER:211,T_LINE:212,T_FILE:213,T_DIR:214,T_TRAIT_C:215,T_METHOD_C:216,T_FUNC_C:217,T_NS_C:218,T_START_HEREDOC:219,T_END_HEREDOC:220,T_CLASS_C:221,T_VARIABLE:222,T_OPEN_TAG:223,T_OPEN_TAG_WITH_ECHO:224,T_CLOSE_TAG:225,T_WHITESPACE:226,T_COMMENT:227,T_DOC_COMMENT:228,T_ELLIPSIS:229,T_COALESCE:230,T_POW:231,T_POW_EQUAL:232,T_SPACESHIP:233}}},function(t,e,i){"use strict";var u=i(46),f=i(47),n=function(t,e){this.withPositions=t,this.withSource=e};n.prototype.position=function(t){return new f(t.lexer.yylloc.first_line,t.lexer.yylloc.first_column,t.lexer.yylloc.first_offset)},n.precedence={},[["or"],["xor"],["and"],["="],["?"],["??"],["||"],["&&"],["|"],["^"],["&"],["==","!=","===","!==","<=>"],["<","<=",">",">="],["<<",">>"],["+","-","."],["*","/","%"],["!"],["instanceof"]].forEach(function(t,e){t.forEach(function(t){n.precedence[t]=e+1})}),n.prototype.resolvePrecedence=function(t){var e=void 0,i=void 0,r=void 0;return"bin"===t.kind?t.right&&!t.right.parenthesizedExpression&&("bin"===t.right.kind?(i=n.precedence[t.type],r=n.precedence[t.right.type],i&&r&&r<=i&&(e=t.right,t.right=t.right.left,e.left=this.resolvePrecedence(t),t=e)):"retif"===t.right.kind&&(i=n.precedence[t.type],r=n.precedence["?"],i&&r&&r<=i&&(e=t.right,t.right=t.right.test,e.test=this.resolvePrecedence(t),t=e))):"unary"===t.kind?t.what&&!t.what.parenthesizedExpression&&("bin"===t.what.kind?(e=t.what,t.what=t.what.left,e.left=this.resolvePrecedence(t),t=e):"retif"===t.what.kind&&(e=t.what,t.what=t.what.test,e.test=this.resolvePrecedence(t),t=e)):"retif"===t.kind?t.falseExpr&&"retif"===t.falseExpr.kind&&!t.falseExpr.parenthesizedExpression&&(e=t.falseExpr,t.falseExpr=e.test,e.test=this.resolvePrecedence(t),t=e):"assign"===t.kind&&t.right&&"bin"===t.right.kind&&!t.right.parenthesizedExpression&&(i=n.precedence["="],r=n.precedence[t.right.type],i&&r&&r<i&&(e=t.right,t.right=t.right.left,e.left=t,t=e)),t},n.prototype.prepare=function(s,a,l){var c=null;(this.withPositions||this.withSource)&&(c=this.position(l));var h=this,e=function t(){var e=null,i=Array.prototype.slice.call(arguments);if(i.push(a),"function"==typeof t.preBuild&&t.preBuild(arguments),h.withPositions||h.withSource){var r=null;h.withSource&&(r=l.lexer._input.substring(c.offset,l.prev[2])),e=h.withPositions?new u(r,c,new f(l.prev[0],l.prev[1],l.prev[2])):new u(r,null,null),i.push(e)}s||(s=i.shift());var n=h[s];if("function"!=typeof n)throw new Error('Undefined node "'+s+'"');var o=Object.create(n.prototype);return n.apply(o,i),t.instance=o,t.trailingComments&&(o.trailingComments=t.trailingComments),h.resolvePrecedence(o)};return e.setKind=function(t){s=t},e.setTrailingComments=function(t){e.instance?e.instance.setTrailingComments(t):e.trailingComments=t},e.destroy=function(t){a&&(t?t.leadingComments?t.leadingComments=a.concat(t.leadingComments):t.leadingComments=a:l._docIndex=l._docs.length-a.length)},e},[i(48),i(49),i(50),i(7),i(51),i(52),i(53),i(54),i(55),i(56),i(57),i(58),i(59),i(60),i(61),i(9),i(62),i(63),i(64),i(10),i(65),i(4),i(66),i(67),i(68),i(69),i(70),i(71),i(72),i(73),i(74),i(75),i(1),i(76),i(77),i(78),i(11),i(79),i(80),i(81),i(82),i(83),i(84),i(85),i(86),i(87),i(88),i(89),i(3),i(8),i(90),i(91),i(92),i(93),i(2),i(94),i(95),i(96),i(5),i(97),i(98),i(99),i(100),i(101),i(102),i(103),i(104),i(6),i(105),i(106),i(107),i(108),i(0),i(109),i(110),i(111),i(112),i(113),i(114),i(115),i(116),i(117),i(118),i(119),i(120),i(121),i(122),i(123),i(124),i(125),i(126),i(127),i(128),i(129)].forEach(function(t){n.prototype[t.kind]=t}),t.exports=n},function(t,e,i){"use strict";t.exports=function(t,e,i){this.source=t,this.start=e,this.end=i}},function(t,e,i){"use strict";t.exports=function(t,e,i){this.line=t,this.column=e,this.offset=i}},function(t,e,i){"use strict";var n=i(1);t.exports=n.extends("array",function(t,e,i,r){n.apply(this,["array",i,r]),this.items=e,this.shortForm=t})},function(t,e,i){"use strict";var o=i(1);t.exports=o.extends("assign",function(t,e,i,r,n){o.apply(this,["assign",r,n]),this.operator=i,this.left=t,this.right=e})},function(t,e,i){"use strict";var o=i(5);t.exports=o.extends("bin",function(t,e,i,r,n){o.apply(this,["bin",r,n]),this.type=t,this.left=e,this.right=i})},function(t,e,i){"use strict";var n=i(3);t.exports=n.extends("boolean",function(t,e,i,r){n.apply(this,["boolean",t,e,i,r])})},function(t,e,i){"use strict";var r=i(0);t.exports=r.extends("break",function(t,e,i){r.apply(this,["break",e,i]),this.level=t})},function(t,e,i){"use strict";var n=i(1);t.exports=n.extends("call",function(t,e,i,r){n.apply(this,["call",i,r]),this.what=t,this.arguments=e})},function(t,e,i){"use strict";var n=i(0);t.exports=n.extends("case",function(t,e,i,r){n.apply(this,["case",i,r]),this.test=t,this.body=e})},function(t,e,i){"use strict";var o=i(5);t.exports=o.extends("cast",function(t,e,i,r,n){o.apply(this,["cast",r,n]),this.type=t,this.raw=e,this.what=i})},function(t,e,i){"use strict";var o=i(0);t.exports=o.extends("catch",function(t,e,i,r,n){o.apply(this,["catch",r,n]),this.body=t,this.what=e,this.variable=i})},function(t,e,i){"use strict";var a=i(4);t.exports=a.extends("class",function(t,e,i,r,n,o,s){a.apply(this,["class",t,o,s]),this.isAnonymous=!t,this.extends=e,this.implements=i,this.body=r,this.parseFlags(n)})},function(t,e,i){"use strict";var o=i(10),s="classconstant",r=o.extends(s,function(t,e,i,r,n){o.apply(this,[t||s,e,r,n]),this.parseFlags(i)});r.prototype.parseFlags=function(t){-1===t[0]?this.visibility="":null===t[0]?this.visibility=null:0===t[0]?this.visibility="public":1===t[0]?this.visibility="protected":2===t[0]&&(this.visibility="private")},t.exports=r},function(t,e,i){"use strict";var o=i(6),s="classreference",r=o.extends(s,function t(e,i,r,n){o.apply(this,[s,r,n]),i?this.resolution=t.RELATIVE_NAME:1===e.length?this.resolution=t.UNQUALIFIED_NAME:""===e[0]?this.resolution=t.FULL_QUALIFIED_NAME:this.resolution=t.QUALIFIED_NAME,this.name=e.join("\\")});r.UNQUALIFIED_NAME="uqn",r.QUALIFIED_NAME="qn",r.FULL_QUALIFIED_NAME="fqn",r.RELATIVE_NAME="rn",t.exports=r},function(t,e,i){"use strict";var r=i(1);t.exports=r.extends("clone",function(t,e,i){r.apply(this,["clone",e,i]),this.what=t})},function(t,e,i){"use strict";var l=i(0);t.exports=l.extends("closure",function(t,e,i,r,n,o,s,a){l.apply(this,["closure",s,a]),this.uses=i,this.arguments=t,this.byref=e,this.type=r,this.nullable=n,this.isStatic=o||!1,this.body=null})},function(t,e,i){"use strict";var r=i(9),n="commentblock";t.exports=r.extends(n,function(t,e,i){r.apply(this,[n,t,e,i])})},function(t,e,i){"use strict";var r=i(9),n="commentline";t.exports=r.extends(n,function(t,e,i){r.apply(this,[n,t,e,i])})},function(t,e,i){"use strict";var n=i(2);t.exports=n.extends("constant",function(t,e,i,r){n.apply(this,["constant",i,r]),this.name=t,this.value=e})},function(t,e,i){"use strict";var r=i(0);t.exports=r.extends("continue",function(t,e,i){r.apply(this,["continue",e,i]),this.level=t})},function(t,e,i){"use strict";var o=i(7),r=o.extends("declare",function(t,e,i,r,n){o.apply(this,["declare",e,r,n]),this.what=t,this.mode=i});r.MODE_SHORT="short",r.MODE_BLOCK="block",r.MODE_NONE="none",t.exports=r},function(t,e,i){"use strict";var n=i(0);t.exports=n.extends("do",function(t,e,i,r){n.apply(this,["do",i,r]),this.test=t,this.body=e})},function(t,e,i){"use strict";var n=i(0);t.exports=n.extends("echo",function(t,e,i,r){n.apply(this,["echo",i,r]),this.shortForm=e,this.expressions=t})},function(t,e,i){"use strict";var r=i(1);t.exports=r.extends("empty",function(t,e,i){r.apply(this,["empty",e,i]),this.expression=t})},function(t,e,i){"use strict";var o=i(3),r=o.extends("encapsed",function(t,e,i,r,n){o.apply(this,["encapsed",t,e,r,n]),this.type=i});r.TYPE_STRING="string",r.TYPE_SHELL="shell",r.TYPE_HEREDOC="heredoc",r.TYPE_OFFSET="offset",t.exports=r},function(t,e,i){"use strict";var n=i(1),o="encapsedpart";t.exports=n.extends(o,function(t,e,i,r){n.apply(this,[o,i,r]),this.expression=t,this.curly=e})},function(t,e,i){"use strict";var n=i(2);t.exports=n.extends("entry",function(t,e,i,r){n.apply(this,["entry",i,r]),this.key=t,this.value=e})},function(t,e,i){"use strict";var s=i(2);t.exports=s.extends("error",function(t,e,i,r,n,o){s.apply(this,["error",n,o]),this.message=t,this.token=e,this.line=i,this.expected=r})},function(t,e,i){"use strict";var r=i(1);t.exports=r.extends("eval",function(t,e,i){r.apply(this,["eval",e,i]),this.source=t})},function(t,e,i){"use strict";var n=i(1);t.exports=n.extends("exit",function(t,e,i,r){n.apply(this,["exit",i,r]),this.status=t,this.useDie=e})},function(t,e,i){"use strict";var r=i(0),n="expressionstatement";t.exports=r.extends(n,function(t,e,i){r.apply(this,[n,e,i]),this.expression=t})},function(t,e,i){"use strict";var a=i(0);t.exports=a.extends("for",function(t,e,i,r,n,o,s){a.apply(this,["for",o,s]),this.init=t,this.test=e,this.increment=i,this.shortForm=n,this.body=r})},function(t,e,i){"use strict";var a=i(0);t.exports=a.extends("foreach",function(t,e,i,r,n,o,s){a.apply(this,["foreach",o,s]),this.source=t,this.key=e,this.value=i,this.shortForm=n,this.body=r})},function(t,e,i){"use strict";var r=i(0);t.exports=r.extends("global",function(t,e,i){r.apply(this,["global",e,i]),this.items=t})},function(t,e,i){"use strict";var r=i(0);t.exports=r.extends("goto",function(t,e,i){r.apply(this,["goto",e,i]),this.label=t})},function(t,e,i){"use strict";var r=i(0);t.exports=r.extends("halt",function(t,e,i){r.apply(this,["halt",e,i]),this.after=t})},function(t,e,i){"use strict";var r=i(2),n="identifier",o=r.extends(n,function(t,e,i){r.apply(this,[n,e,i]),this.name=t});t.exports=o},function(t,e,i){"use strict";var s=i(0);t.exports=s.extends("if",function(t,e,i,r,n,o){s.apply(this,["if",n,o]),this.test=t,this.body=e,this.alternate=i,this.shortForm=r})},function(t,e,i){"use strict";var o=i(1);t.exports=o.extends("include",function(t,e,i,r,n){o.apply(this,["include",r,n]),this.once=t,this.require=e,this.target=i})},function(t,e,i){"use strict";var n=i(3);t.exports=n.extends("inline",function(t,e,i,r){n.apply(this,["inline",t,e,i,r])})},function(t,e,i){"use strict";var o=i(4);t.exports=o.extends("interface",function(t,e,i,r,n){o.apply(this,["interface",t,r,n]),this.extends=e,this.body=i})},function(t,e,i){"use strict";var r=i(1);t.exports=r.extends("isset",function(t,e,i){r.apply(this,["isset",e,i]),this.variables=t})},function(t,e,i){"use strict";var r=i(0);t.exports=r.extends("label",function(t,e,i){r.apply(this,["label",e,i]),this.name=t})},function(t,e,i){"use strict";var n=i(1);t.exports=n.extends("list",function(t,e,i,r){n.apply(this,["list",i,r]),this.items=t,this.shortForm=e})},function(t,e,i){"use strict";var n=i(3);t.exports=n.extends("magic",function(t,e,i,r){n.apply(this,["magic",t,e,i,r])})},function(t,e,i){"use strict";var r=i(11);t.exports=r.extends("method",function(){r.apply(this,arguments),this.kind="method"})},function(t,e,i){"use strict";var o=i(7);t.exports=o.extends("namespace",function(t,e,i,r,n){o.apply(this,["namespace",e,r,n]),this.name=t,this.withBrackets=i||!1})},function(t,e,i){"use strict";var n=i(1);t.exports=n.extends("new",function(t,e,i,r){n.apply(this,["new",i,r]),this.what=t,this.arguments=e})},function(t,e,i){"use strict";var s=i(3);t.exports=s.extends("nowdoc",function(t,e,i,r,n,o){s.apply(this,["nowdoc",t,e,n,o]),this.label=i,this.quote=r})},function(t,e,i){"use strict";var n=i(3);t.exports=n.extends("number",function(t,e,i,r){n.apply(this,["number",t,e,i,r])})},function(t,e,i){"use strict";var n=i(8),o="offsetlookup";t.exports=n.extends(o,function(t,e,i,r){n.apply(this,[o,t,e,i,r])})},function(t,e,i){"use strict";var l=i(4);t.exports=l.extends("parameter",function(t,e,i,r,n,o,s,a){l.apply(this,["parameter",t,s,a]),this.value=i,this.type=e,this.byref=r,this.variadic=n,this.nullable=o})},function(t,e,i){"use strict";var r=i(6),n="parentreference",o=r.extends(n,function(t,e,i){r.apply(this,[n,e,i]),this.raw=t});t.exports=o},function(t,e,i){"use strict";var n=i(5);t.exports=n.extends("post",function(t,e,i,r){n.apply(this,["post",i,r]),this.type=t,this.what=e})},function(t,e,i){"use strict";var n=i(5);t.exports=n.extends("pre",function(t,e,i,r){n.apply(this,["pre",i,r]),this.type=t,this.what=e})},function(t,e,i){"use strict";var r=i(1);t.exports=r.extends("print",function(t,e,i){r.apply(this,["print",e,i]),this.expression=t})},function(t,e,i){"use strict";var s=i(7);t.exports=s.extends("program",function(t,e,i,r,n,o){s.apply(this,["program",t,n,o]),this.errors=e,i&&(this.comments=i),r&&(this.tokens=r)})},function(t,e,i){"use strict";var o=i(4);t.exports=o.extends("property",function(t,e,i,r,n){o.apply(this,["property",t,r,n]),this.value=e,this.parseFlags(i)})},function(t,e,i){"use strict";var n=i(8),o="propertylookup";t.exports=n.extends(o,function(t,e,i,r){n.apply(this,[o,t,e,i,r])})},function(t,e,i){"use strict";var o=i(1);t.exports=o.extends("retif",function(t,e,i,r,n){o.apply(this,["retif",r,n]),this.test=t,this.trueExpr=e,this.falseExpr=i})},function(t,e,i){"use strict";var r=i(0);t.exports=r.extends("return",function(t,e,i){r.apply(this,["return",e,i]),this.expr=t})},function(t,e,i){"use strict";var r=i(6),n="selfreference",o=r.extends(n,function(t,e,i){r.apply(this,[n,e,i]),this.raw=t});t.exports=o},function(t,e,i){"use strict";var r=i(1);t.exports=r.extends("silent",function(t,e,i){r.apply(this,["silent",e,i]),this.expr=t})},function(t,e,i){"use strict";var r=i(0);t.exports=r.extends("static",function(t,e,i){r.apply(this,["static",e,i]),this.items=t})},function(t,e,i){"use strict";var n=i(8),o="staticlookup";t.exports=n.extends(o,function(t,e,i,r){n.apply(this,[o,t,e,i,r])})},function(t,e,i){"use strict";var r=i(6),n="staticreference",o=r.extends(n,function(t,e,i){r.apply(this,[n,e,i]),this.raw=t});t.exports=o},function(t,e,i){"use strict";var s=i(3);t.exports=s.extends("string",function(t,e,i,r,n,o){s.apply(this,["string",e,r,n,o]),this.unicode=i,this.isDoubleQuote=t})},function(t,e,i){"use strict";var o=i(0);t.exports=o.extends("switch",function(t,e,i,r,n){o.apply(this,["switch",r,n]),this.test=t,this.body=e,this.shortForm=i})},function(t,e,i){"use strict";var r=i(0);t.exports=r.extends("throw",function(t,e,i){r.apply(this,["throw",e,i]),this.what=t})},function(t,e,i){"use strict";var s=i(4);t.exports=s.extends("trait",function(t,e,i,r,n,o){s.apply(this,["trait",t,n,o]),this.extends=e,this.implements=i,this.body=r})},function(t,e,i){"use strict";var s=i(2),a="traitalias";t.exports=s.extends(a,function(t,e,i,r,n,o){s.apply(this,[a,n,o]),this.trait=t,this.method=e,this.as=i,this.visibility="",r&&(0===r[0]?this.visibility="public":1===r[0]?this.visibility="protected":2===r[0]&&(this.visibility="private"))})},function(t,e,i){"use strict";var o=i(2),s="traitprecedence";t.exports=o.extends(s,function(t,e,i,r,n){o.apply(this,[s,r,n]),this.trait=t,this.method=e,this.instead=i})},function(t,e,i){"use strict";var n=i(2);t.exports=n.extends("traituse",function(t,e,i,r){n.apply(this,["traituse",i,r]),this.traits=t,this.adaptations=e})},function(t,e,i){"use strict";var o=i(0);t.exports=o.extends("try",function(t,e,i,r,n){o.apply(this,["try",r,n]),this.body=t,this.catches=e,this.always=i})},function(t,e,i){"use strict";var n=i(6),o="typereference",r=n.extends(o,function(t,e,i,r){n.apply(this,[o,i,r]),this.name=t,this.raw=e});r.types=["int","float","string","bool","object","array","callable","iterable","void"],t.exports=r},function(t,e,i){"use strict";var n=i(5);t.exports=n.extends("unary",function(t,e,i,r){n.apply(this,["unary",i,r]),this.type=t,this.what=e})},function(t,e,i){"use strict";var r=i(0);t.exports=r.extends("unset",function(t,e,i){r.apply(this,["unset",e,i]),this.variables=t})},function(t,e,i){"use strict";var o=i(0);t.exports=o.extends("usegroup",function(t,e,i,r,n){o.apply(this,["usegroup",r,n]),this.name=t,this.type=e,this.items=i})},function(t,e,i){"use strict";var o=i(0),r=o.extends("useitem",function(t,e,i,r,n){o.apply(this,["useitem",r,n]),this.name=t,this.alias=e,this.type=i});r.TYPE_CONST="const",r.TYPE_FUNCTION="function",t.exports=r},function(t,e,i){"use strict";var o=i(1);t.exports=o.extends("variable",function(t,e,i,r,n){o.apply(this,["variable",r,n]),this.name=t,this.byref=e||!1,this.curly=i||!1})},function(t,e,i){"use strict";var r=i(1);t.exports=r.extends("variadic",function(t,e,i){r.apply(this,["variadic",e,i]),this.what=t})},function(t,e,i){"use strict";var o=i(0);t.exports=o.extends("while",function(t,e,i,r,n){o.apply(this,["while",r,n]),this.test=t,this.body=e,this.shortForm=i})},function(t,e,i){"use strict";var n=i(1);t.exports=n.extends("yield",function(t,e,i,r){n.apply(this,["yield",i,r]),this.value=t,this.key=e})},function(t,e,i){"use strict";var r=i(1);t.exports=r.extends("yieldfrom",function(t,e,i){r.apply(this,["yieldfrom",e,i]),this.value=t})}]).default},"object"==typeof PIa&&"object"==typeof OIa?OIa.exports=SIa():"function"==typeof define&&define.amd?define([],SIa):"object"==typeof PIa?PIa.PhpParser=SIa():RIa.PhpParser=SIa()},{}]},{},[1]);
1
+ !function o(s,a,l){function c(e,t){if(!a[e]){if(!s[e]){var i="function"==typeof require&&require;if(!t&&i)return i(e,!0);if(h)return h(e,!0);var r=new Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r}var n=a[e]={exports:{}};s[e][0].call(n.exports,function(t){return c(s[e][1][t]||t)},n,n.exports,o,s,a,l)}return a[e].exports}for(var h="function"==typeof require&&require,t=0;t<l.length;t++)c(l[t]);return c}({1:[function(t,e,i){"use strict";var r,n=(r=t("codemirror/lib/codemirror"))&&r.__esModule?r:{default:r};t("codemirror/mode/php/php"),t("codemirror/addon/edit/matchbrackets"),t("codemirror/addon/edit/closebrackets"),t("codemirror/addon/search/search"),t("codemirror/addon/search/match-highlighter"),t("./php-lint"),window.Code_Snippets_CodeMirror=n.default},{"./php-lint":2,"codemirror/addon/edit/closebrackets":4,"codemirror/addon/edit/matchbrackets":5,"codemirror/addon/search/match-highlighter":8,"codemirror/addon/search/search":10,"codemirror/lib/codemirror":12,"codemirror/mode/php/php":17}],2:[function(t,e,i){"use strict";var n=r(t("php-parser")),o=r(t("codemirror/lib/codemirror"));function r(t){return t&&t.__esModule?t:{default:t}}function s(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}t("codemirror/addon/lint/lint");var a=function(){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),this.code=t,this.annotations=[],this.function_names=new Set,this.class_names=new Set}var t,i,r;return t=e,(i=[{key:"lint",value:function(){var t=new n.default({parser:{suppressErrors:!0},ast:{withPositions:!0}});try{var e=t.parseEval(this.code);if(e.errors&&0<e.errors.length)for(var i=0;i<e.errors.length;i++)this.annotate(e.errors[i].message,e.errors[i].loc);this.visit(e)}catch(t){this.annotate(t.message,t)}}},{key:"visit",value:function(t){if(t.hasOwnProperty("kind")&&this.validate(t),t.hasOwnProperty("children")){var e=!0,i=!1,r=void 0;try{for(var n,o=t.children[Symbol.iterator]();!(e=(n=o.next()).done);e=!0){var s=n.value;this.visit(s)}}catch(t){i=!0,r=t}finally{try{e||null==o.return||o.return()}finally{if(i)throw r}}}}},{key:"validate",value:function(t){"function"!==t.kind&&"class"!==t.kind||!t.hasOwnProperty("name")||"identifier"!==t.name.kind||("function"===t.kind?this.function_names.has(t.name.name)?this.annotate("Cannot redeclare function ".concat(t.name.name,"()"),t.name.loc):this.function_names.add(t.name.name):"class"===t.kind&&(this.class_names.has(t.name.name)?this.annotate("Cannot redeclare class ".concat(t.name.name),t.name.loc):this.class_names.add(t.name.name)))}},{key:"annotate",value:function(t,e,i){var r,n;e.lineNumber&&e.columnNumber?(r=o.default.Pos(e.lineNumber-1,e.columnNumber-1),n=o.default.Pos(e.lineNumber-1,e.columnNumber)):e.start&&e.end&&(e.end.offset<e.start.offset?(n=o.default.Pos(e.start.line-1,e.start.column),r=o.default.Pos(e.end.line-1,e.end.column)):(r=o.default.Pos(e.start.line-1,e.start.column),n=o.default.Pos(e.end.line-1,e.end.column))),r&&n&&(i=i||"error",this.annotations.push({message:t,severity:i,from:r,to:n}))}}])&&s(t.prototype,i),r&&s(t,r),e}();o.default.registerHelper("lint","php",function(t,e){var i=new a(t);return i.lint(),i.annotations})},{"codemirror/addon/lint/lint":6,"codemirror/lib/codemirror":12,"php-parser":19}],3:[function(t,e,i){var r;r=function(u){function f(t,e,i){var r,n=t.getWrapperElement();return(r=n.appendChild(document.createElement("div"))).className=i?"CodeMirror-dialog CodeMirror-dialog-bottom":"CodeMirror-dialog CodeMirror-dialog-top","string"==typeof e?r.innerHTML=e:r.appendChild(e),u.addClass(n,"dialog-opened"),r}function d(t,e){t.state.currentNotificationClose&&t.state.currentNotificationClose(),t.state.currentNotificationClose=e}u.defineExtension("openDialog",function(t,e,i){i||(i={}),d(this,null);var r=f(this,t,i.bottom),n=!1,o=this;function s(t){if("string"==typeof t)l.value=t;else{if(n)return;n=!0,u.rmClass(r.parentNode,"dialog-opened"),r.parentNode.removeChild(r),o.focus(),i.onClose&&i.onClose(r)}}var a,l=r.getElementsByTagName("input")[0];return l?(l.focus(),i.value&&(l.value=i.value,!1!==i.selectValueOnOpen&&l.select()),i.onInput&&u.on(l,"input",function(t){i.onInput(t,l.value,s)}),i.onKeyUp&&u.on(l,"keyup",function(t){i.onKeyUp(t,l.value,s)}),u.on(l,"keydown",function(t){i&&i.onKeyDown&&i.onKeyDown(t,l.value,s)||((27==t.keyCode||!1!==i.closeOnEnter&&13==t.keyCode)&&(l.blur(),u.e_stop(t),s()),13==t.keyCode&&e(l.value,t))}),!1!==i.closeOnBlur&&u.on(l,"blur",s)):(a=r.getElementsByTagName("button")[0])&&(u.on(a,"click",function(){s(),o.focus()}),!1!==i.closeOnBlur&&u.on(a,"blur",s),a.focus()),s}),u.defineExtension("openConfirm",function(t,e,i){d(this,null);var r=f(this,t,i&&i.bottom),n=r.getElementsByTagName("button"),o=!1,s=this,a=1;function l(){o||(o=!0,u.rmClass(r.parentNode,"dialog-opened"),r.parentNode.removeChild(r),s.focus())}n[0].focus();for(var c=0;c<n.length;++c){var h=n[c];!function(e){u.on(h,"click",function(t){u.e_preventDefault(t),l(),e&&e(s)})}(e[c]),u.on(h,"blur",function(){--a,setTimeout(function(){a<=0&&l()},200)}),u.on(h,"focus",function(){++a})}}),u.defineExtension("openNotification",function(t,e){d(this,s);var i,r=f(this,t,e&&e.bottom),n=!1,o=e&&void 0!==e.duration?e.duration:5e3;function s(){n||(n=!0,clearTimeout(i),u.rmClass(r.parentNode,"dialog-opened"),r.parentNode.removeChild(r))}return u.on(r,"click",function(t){u.e_preventDefault(t),s()}),o&&(i=setTimeout(s,o)),s})},"object"==typeof i&&"object"==typeof e?r(t("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],r):r(CodeMirror)},{"../../lib/codemirror":12}],4:[function(t,e,i){var r;r=function(T){var i={pairs:"()[]{}''\"\"",triples:"",explode:"[]{}"},k=T.Pos;function b(t,e){return"pairs"==e&&"string"==typeof t?t:"object"==typeof t&&null!=t[e]?t[e]:i[e]}T.defineOption("autoCloseBrackets",!1,function(t,e,i){i&&i!=T.Init&&(t.removeKeyMap(n),t.state.closeBrackets=null),e&&(r(b(e,"pairs")),t.state.closeBrackets=e,t.addKeyMap(n))});var n={Backspace:function(t){var e=w(t);if(!e||t.getOption("disableInput"))return T.Pass;for(var i=b(e,"pairs"),r=t.listSelections(),n=0;n<r.length;n++){if(!r[n].empty())return T.Pass;var o=a(t,r[n].head);if(!o||i.indexOf(o)%2!=0)return T.Pass}for(var n=r.length-1;0<=n;n--){var s=r[n].head;t.replaceRange("",k(s.line,s.ch-1),k(s.line,s.ch+1),"+delete")}},Enter:function(r){var t=w(r),e=t&&b(t,"explode");if(!e||r.getOption("disableInput"))return T.Pass;for(var n=r.listSelections(),i=0;i<n.length;i++){if(!n[i].empty())return T.Pass;var o=a(r,n[i].head);if(!o||e.indexOf(o)%2!=0)return T.Pass}r.operation(function(){var t=r.lineSeparator()||"\n";r.replaceSelection(t+t,null),r.execCommand("goCharLeft"),n=r.listSelections();for(var e=0;e<n.length;e++){var i=n[e].head.line;r.indentLine(i,null,!0),r.indentLine(i+1,null,!0)}})}};function r(t){for(var e=0;e<t.length;e++){var i=t.charAt(e),r="'"+i+"'";n[r]||(n[r]=o(i))}}function o(e){return function(t){return function(n,t){var e=w(n);if(!e||n.getOption("disableInput"))return T.Pass;var i=b(e,"pairs"),r=i.indexOf(t);if(-1==r)return T.Pass;for(var o,s=b(e,"triples"),a=i.charAt(r+1)==t,l=n.listSelections(),c=r%2==0,h=0;h<l.length;h++){var u,f=l[h],d=f.head,p=n.getRange(d,k(d.line,d.ch+1));if(c&&!f.empty())u="surround";else if(!a&&c||p!=t)if(a&&1<d.ch&&0<=s.indexOf(t)&&n.getRange(k(d.line,d.ch-2),d)==t+t){if(2<d.ch&&/\bstring/.test(n.getTokenTypeAt(k(d.line,d.ch-2))))return T.Pass;u="addFour"}else if(a){var m=0==d.ch?" ":n.getRange(k(d.line,d.ch-1),d);if(T.isWordChar(p)||m==t||T.isWordChar(m))return T.Pass;u="both"}else{if(!c)return T.Pass;u="both"}else u=!a||(_=d,void 0,v=(g=n).getTokenAt(k(_.line,_.ch+1)),!/\bstring/.test(v.type)||v.start!=_.ch||0!=_.ch&&/\bstring/.test(g.getTokenTypeAt(_)))?0<=s.indexOf(t)&&n.getRange(d,k(d.line,d.ch+3))==t+t+t?"skipThree":"skip":"both";if(o){if(o!=u)return T.Pass}else o=u}var g,_,v;var y=r%2?i.charAt(r-1):t,x=r%2?t:i.charAt(r+1);n.operation(function(){if("skip"==o)n.execCommand("goCharRight");else if("skipThree"==o)for(var t=0;t<3;t++)n.execCommand("goCharRight");else if("surround"==o){for(var e=n.getSelections(),t=0;t<e.length;t++)e[t]=y+e[t]+x;n.replaceSelections(e,"around"),e=n.listSelections().slice();for(var t=0;t<e.length;t++)e[t]=(i=e[t],void 0,r=0<T.cmpPos(i.anchor,i.head),{anchor:new k(i.anchor.line,i.anchor.ch+(r?-1:1)),head:new k(i.head.line,i.head.ch+(r?1:-1))});n.setSelections(e)}else"both"==o?(n.replaceSelection(y+x,null),n.triggerElectric(y+x),n.execCommand("goCharLeft")):"addFour"==o&&(n.replaceSelection(y+y+y+y,"before"),n.execCommand("goCharRight"));var i,r})}(t,e)}}function w(t){var e=t.state.closeBrackets;return!e||e.override?e:t.getModeAt(t.getCursor()).closeBrackets||e}function a(t,e){var i=t.getRange(k(e.line,e.ch-1),k(e.line,e.ch+1));return 2==i.length?i:null}r(i.pairs+"`")},"object"==typeof i&&"object"==typeof e?r(t("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],r):r(CodeMirror)},{"../../lib/codemirror":12}],5:[function(t,e,i){var r;r=function(r){var h=/MSIE \d/.test(navigator.userAgent)&&(null==document.documentMode||document.documentMode<8),m=r.Pos,g={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<","<":">>",">":"<<"};function _(t){return t&&t.bracketRegex||/[(){}[\]]/}function u(t,e,i){var r=t.getLineHandle(e.line),n=e.ch-1,o=i&&i.afterCursor;null==o&&(o=/(^| )cm-fat-cursor($| )/.test(t.getWrapperElement().className));var s=_(i),a=!o&&0<=n&&s.test(r.text.charAt(n))&&g[r.text.charAt(n)]||s.test(r.text.charAt(n+1))&&g[r.text.charAt(++n)];if(!a)return null;var l=">"==a.charAt(1)?1:-1;if(i&&i.strict&&0<l!=(n==e.ch))return null;var c=t.getTokenTypeAt(m(e.line,n+1)),h=f(t,m(e.line,n+(0<l?1:0)),l,c||null,i);return null==h?null:{from:m(e.line,n),to:h&&h.pos,match:h&&h.ch==a.charAt(0),forward:0<l}}function f(t,e,i,r,n){for(var o=n&&n.maxScanLineLength||1e4,s=n&&n.maxScanLines||1e3,a=[],l=_(n),c=0<i?Math.min(e.line+s,t.lastLine()+1):Math.max(t.firstLine()-1,e.line-s),h=e.line;h!=c;h+=i){var u=t.getLine(h);if(u){var f=0<i?0:u.length-1,d=0<i?u.length:-1;if(!(u.length>o))for(h==e.line&&(f=e.ch-(i<0?1:0));f!=d;f+=i){var p=u.charAt(f);if(l.test(p)&&(void 0===r||t.getTokenTypeAt(m(h,f+1))==r))if(">"==g[p].charAt(1)==0<i)a.push(p);else{if(!a.length)return{pos:m(h,f),ch:p};a.pop()}}}}return h-i!=(0<i?t.lastLine():t.firstLine())&&null}function e(t,e,i){for(var r=t.state.matchBrackets.maxHighlightLineLength||1e3,n=[],o=t.listSelections(),s=0;s<o.length;s++){var a=o[s].empty()&&u(t,o[s].head,i);if(a&&t.getLine(a.from.line).length<=r){var l=a.match?"CodeMirror-matchingbracket":"CodeMirror-nonmatchingbracket";n.push(t.markText(a.from,m(a.from.line,a.from.ch+1),{className:l})),a.to&&t.getLine(a.to.line).length<=r&&n.push(t.markText(a.to,m(a.to.line,a.to.ch+1),{className:l}))}}if(n.length){h&&t.state.focused&&t.focus();var c=function(){t.operation(function(){for(var t=0;t<n.length;t++)n[t].clear()})};if(!e)return c;setTimeout(c,800)}}function n(t){t.operation(function(){t.state.matchBrackets.currentlyHighlighted&&(t.state.matchBrackets.currentlyHighlighted(),t.state.matchBrackets.currentlyHighlighted=null),t.state.matchBrackets.currentlyHighlighted=e(t,!1,t.state.matchBrackets)})}r.defineOption("matchBrackets",!1,function(t,e,i){i&&i!=r.Init&&(t.off("cursorActivity",n),t.state.matchBrackets&&t.state.matchBrackets.currentlyHighlighted&&(t.state.matchBrackets.currentlyHighlighted(),t.state.matchBrackets.currentlyHighlighted=null)),e&&(t.state.matchBrackets="object"==typeof e?e:{},t.on("cursorActivity",n))}),r.defineExtension("matchBrackets",function(){e(this,!0)}),r.defineExtension("findMatchingBracket",function(t,e,i){return(i||"boolean"==typeof e)&&(e=i?(i.strict=e,i):e?{strict:!0}:null),u(this,t,e)}),r.defineExtension("scanForBracket",function(t,e,i,r){return f(this,t,e,i,r)})},"object"==typeof i&&"object"==typeof e?r(t("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],r):r(CodeMirror)},{"../../lib/codemirror":12}],6:[function(t,e,i){var r;r=function(l){"use strict";var p="CodeMirror-lint-markers";function s(t){t.parentNode&&t.parentNode.removeChild(t)}function h(t,e,i){var r=function(t,e){var i=document.createElement("div");function r(t){if(!i.parentNode)return l.off(document,"mousemove",r);i.style.top=Math.max(0,t.clientY-i.offsetHeight-5)+"px",i.style.left=t.clientX+5+"px"}return i.className="CodeMirror-lint-tooltip",i.appendChild(e.cloneNode(!0)),document.body.appendChild(i),l.on(document,"mousemove",r),r(t),null!=i.style.opacity&&(i.style.opacity=1),i}(t,e);function n(){var t;l.off(i,"mouseout",n),r&&((t=r).parentNode&&(null==t.style.opacity&&s(t),t.style.opacity=0,setTimeout(function(){s(t)},600)),r=null)}var o=setInterval(function(){if(r)for(var t=i;;t=t.parentNode){if(t&&11==t.nodeType&&(t=t.host),t==document.body)return;if(!t){n();break}}if(!r)return clearInterval(o)},400);l.on(i,"mouseout",n)}function c(e,t,i){this.marked=[],this.options=t,this.timeout=null,this.hasGutter=i,this.onMouseOver=function(t){!function(t,e){var i=e.target||e.srcElement;if(!/\bCodeMirror-lint-mark-/.test(i.className))return;for(var r=i.getBoundingClientRect(),n=(r.left+r.right)/2,o=(r.top+r.bottom)/2,s=t.findMarksAt(t.coordsChar({left:n,top:o},"client")),a=[],l=0;l<s.length;++l){var c=s[l].__annotation;c&&a.push(c)}a.length&&function(t,e){for(var i=e.target||e.srcElement,r=document.createDocumentFragment(),n=0;n<t.length;n++){var o=t[n];r.appendChild(_(o))}h(e,r,i)}(a,e)}(e,t)},this.waitingFor=0}function m(t){var e=t.state.lint;e.hasGutter&&t.clearGutter(p);for(var i=0;i<e.marked.length;++i)e.marked[i].clear();e.marked.length=0}function g(e,t,i,r){var n=document.createElement("div"),o=n;return n.className="CodeMirror-lint-marker-"+t,i&&((o=n.appendChild(document.createElement("div"))).className="CodeMirror-lint-marker-multiple"),0!=r&&l.on(o,"mouseover",function(t){h(t,e,o)}),n}function _(t){var e=t.severity;e||(e="error");var i=document.createElement("div");return i.className="CodeMirror-lint-message-"+e,void 0!==t.messageHTML?i.innerHTML=t.messageHTML:i.appendChild(document.createTextNode(t.message)),i}function u(e){var t=e.state.lint.options,i=t.options||t,r=t.getAnnotations||e.getHelper(l.Pos(0,0),"lint");if(r)if(t.async||r.async)!function(i,t,e){var r=i.state.lint,n=++r.waitingFor;function o(){n=-1,i.off("change",o)}i.on("change",o),t(i.getValue(),function(t,e){i.off("change",o),r.waitingFor==n&&(e&&t instanceof l&&(t=e),i.operation(function(){a(i,t)}))},e,i)}(e,r,i);else{var n=r(e.getValue(),i,e);if(!n)return;n.then?n.then(function(t){e.operation(function(){a(e,t)})}):e.operation(function(){a(e,n)})}}function a(t,e){m(t);for(var i,r,n=t.state.lint,o=n.options,s=function(t){for(var e=[],i=0;i<t.length;++i){var r=t[i],n=r.from.line;(e[n]||(e[n]=[])).push(r)}return e}(e),a=0;a<s.length;++a){var l=s[a];if(l){for(var c=null,h=n.hasGutter&&document.createDocumentFragment(),u=0;u<l.length;++u){var f=l[u],d=f.severity;d||(d="error"),r=d,c="error"==(i=c)?i:r,o.formatAnnotation&&(f=o.formatAnnotation(f)),n.hasGutter&&h.appendChild(_(f)),f.to&&n.marked.push(t.markText(f.from,f.to,{className:"CodeMirror-lint-mark-"+d,__annotation:f}))}n.hasGutter&&t.setGutterMarker(a,p,g(h,c,1<l.length,n.options.tooltips))}}o.onUpdateLinting&&o.onUpdateLinting(e,s,t)}function f(t){var e=t.state.lint;e&&(clearTimeout(e.timeout),e.timeout=setTimeout(function(){u(t)},e.options.delay||500))}l.defineOption("lint",!1,function(t,e,i){if(i&&i!=l.Init&&(m(t),!1!==t.state.lint.options.lintOnChange&&t.off("change",f),l.off(t.getWrapperElement(),"mouseover",t.state.lint.onMouseOver),clearTimeout(t.state.lint.timeout),delete t.state.lint),e){for(var r=t.getOption("gutters"),n=!1,o=0;o<r.length;++o)r[o]==p&&(n=!0);var s=t.state.lint=new c(t,(a=e)instanceof Function?{getAnnotations:a}:(a&&!0!==a||(a={}),a),n);!1!==s.options.lintOnChange&&t.on("change",f),0!=s.options.tooltips&&"gutter"!=s.options.tooltips&&l.on(t.getWrapperElement(),"mouseover",s.onMouseOver),u(t)}var a}),l.defineExtension("performLint",function(){this.state.lint&&u(this)})},"object"==typeof i&&"object"==typeof e?r(t("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],r):r(CodeMirror)},{"../../lib/codemirror":12}],7:[function(t,e,i){var r;r=function(t){"use strict";function e(t,e){function i(t){clearTimeout(r.doRedraw),r.doRedraw=setTimeout(function(){r.redraw()},t)}this.cm=t,this.options=e,this.buttonHeight=e.scrollButtonHeight||t.getOption("scrollButtonHeight"),this.annotations=[],this.doRedraw=this.doUpdate=null,this.div=t.getWrapperElement().appendChild(document.createElement("div")),this.div.style.cssText="position: absolute; right: 0; top: 0; z-index: 7; pointer-events: none",this.computeScale();var r=this;t.on("refresh",this.resizeHandler=function(){clearTimeout(r.doUpdate),r.doUpdate=setTimeout(function(){r.computeScale()&&i(20)},100)}),t.on("markerAdded",this.resizeHandler),t.on("markerCleared",this.resizeHandler),!1!==e.listenForChanges&&t.on("change",this.changeHandler=function(){i(250)})}t.defineExtension("annotateScrollbar",function(t){return"string"==typeof t&&(t={className:t}),new e(this,t)}),t.defineOption("scrollButtonHeight",0),e.prototype.computeScale=function(){var t=this.cm,e=(t.getWrapperElement().clientHeight-t.display.barHeight-2*this.buttonHeight)/t.getScrollerElement().scrollHeight;if(e!=this.hScale)return this.hScale=e,!0},e.prototype.update=function(t){this.annotations=t,this.redraw()},e.prototype.redraw=function(t){!1!==t&&this.computeScale();var i=this.cm,e=this.hScale,r=document.createDocumentFragment(),n=this.annotations,o=i.getOption("lineWrapping"),s=o&&1.5*i.defaultTextHeight(),a=null,l=null;function c(t,e){return a!=t.line&&(a=t.line,l=i.getLineHandle(a)),l.widgets&&l.widgets.length||o&&l.height>s?i.charCoords(t,"local")[e?"top":"bottom"]:i.heightAtLine(l,"local")+(e?0:l.height)}var h=i.lastLine();if(i.display.barWidth)for(var u,f=0;f<n.length;f++){var d=n[f];if(!(d.to.line>h)){for(var p=u||c(d.from,!0)*e,m=c(d.to,!1)*e;f<n.length-1&&!(n[f+1].to.line>h)&&!(m+.9<(u=c(n[f+1].from,!0)*e));)m=c((d=n[++f]).to,!1)*e;if(m!=p){var g=Math.max(m-p,3),_=r.appendChild(document.createElement("div"));_.style.cssText="position: absolute; right: 0px; width: "+Math.max(i.display.barWidth-1,2)+"px; top: "+(p+this.buttonHeight)+"px; height: "+g+"px",_.className=this.options.className,d.id&&_.setAttribute("annotation-id",d.id)}}}this.div.textContent="",this.div.appendChild(r)},e.prototype.clear=function(){this.cm.off("refresh",this.resizeHandler),this.cm.off("markerAdded",this.resizeHandler),this.cm.off("markerCleared",this.resizeHandler),this.changeHandler&&this.cm.off("change",this.changeHandler),this.div.parentNode.removeChild(this.div)}},"object"==typeof i&&"object"==typeof e?r(t("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],r):r(CodeMirror)},{"../../lib/codemirror":12}],8:[function(t,e,i){var r;r=function(n){"use strict";var i={style:"matchhighlight",minChars:2,delay:100,wordsOnly:!1,annotateScrollbar:!1,showToken:!1,trim:!0};function o(t){for(var e in this.options={},i)this.options[e]=(t&&t.hasOwnProperty(e)?t:i)[e];this.overlay=this.timeout=null,this.matchesonscroll=null,this.active=!1}function s(t){var e=t.state.matchHighlighter;(e.active||t.hasFocus())&&r(t,e)}function a(t){var e=t.state.matchHighlighter;e.active||(e.active=!0,r(t,e))}function r(t,e){clearTimeout(e.timeout),e.timeout=setTimeout(function(){l(t)},e.options.delay)}function h(t,e,i,r){var n,o,s,a=t.state.matchHighlighter;if(t.addOverlay(a.overlay=(n=e,o=i,s=r,{token:function(t){if(t.match(n)&&(!o||(i=o,!((e=t).start&&i.test(e.string.charAt(e.start-1))||e.pos!=e.string.length&&i.test(e.string.charAt(e.pos))))))return s;var e,i;t.next(),t.skipTo(n.charAt(0))||t.skipToEnd()}})),a.options.annotateScrollbar&&t.showMatchesOnScrollbar){var l=i?new RegExp("\\b"+e.replace(/[\\\[.+*?(){|^$]/g,"\\$&")+"\\b"):e;a.matchesonscroll=t.showMatchesOnScrollbar(l,!1,{className:"CodeMirror-selection-highlight-scrollbar"})}}function u(t){var e=t.state.matchHighlighter;e.overlay&&(t.removeOverlay(e.overlay),e.overlay=null,e.matchesonscroll&&(e.matchesonscroll.clear(),e.matchesonscroll=null))}function l(c){c.operation(function(){var t=c.state.matchHighlighter;if(u(c),c.somethingSelected()||!t.options.showToken){var e=c.getCursor("from"),i=c.getCursor("to");if(e.line==i.line&&(!t.options.wordsOnly||function(t,e,i){{if(null===t.getRange(e,i).match(/^\w+$/))return!1;if(0<e.ch){var r={line:e.line,ch:e.ch-1},n=t.getRange(r,e);if(null===n.match(/\W/))return!1}if(i.ch<t.getLine(e.line).length){var r={line:i.line,ch:i.ch+1},n=t.getRange(i,r);if(null===n.match(/\W/))return!1}return!0}}(c,e,i))){var r=c.getRange(e,i);t.options.trim&&(r=r.replace(/^\s+|\s+$/g,"")),r.length>=t.options.minChars&&h(c,r,!1,t.options.style)}}else{for(var n=!0===t.options.showToken?/[\w$]/:t.options.showToken,o=c.getCursor(),s=c.getLine(o.line),a=o.ch,l=a;a&&n.test(s.charAt(a-1));)--a;for(;l<s.length&&n.test(s.charAt(l));)++l;a<l&&h(c,s.slice(a,l),n,t.options.style)}})}n.defineOption("highlightSelectionMatches",!1,function(t,e,i){if(i&&i!=n.Init&&(u(t),clearTimeout(t.state.matchHighlighter.timeout),t.state.matchHighlighter=null,t.off("cursorActivity",s),t.off("focus",a)),e){var r=t.state.matchHighlighter=new o(e);t.hasFocus()?(r.active=!0,l(t)):t.on("focus",a),t.on("cursorActivity",s)}})},"object"==typeof i&&"object"==typeof e?r(t("../../lib/codemirror"),t("./matchesonscrollbar")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","./matchesonscrollbar"],r):r(CodeMirror)},{"../../lib/codemirror":12,"./matchesonscrollbar":9}],9:[function(t,e,i){var r;r=function(c){"use strict";function r(t,e,i,r){this.cm=t,this.options=r;var n={listenForChanges:!1};for(var o in r)n[o]=r[o];n.className||(n.className="CodeMirror-search-match"),this.annotation=t.annotateScrollbar(n),this.query=e,this.caseFold=i,this.gap={from:t.firstLine(),to:t.lastLine()+1},this.matches=[],this.update=null,this.findMatches(),this.annotation.update(this.matches);var s=this;t.on("change",this.changeHandler=function(t,e){s.onChange(e)})}c.defineExtension("showMatchesOnScrollbar",function(t,e,i){return"string"==typeof i&&(i={className:i}),i||(i={}),new r(this,t,e,i)});function h(t,e,i){return t<=e?t:Math.max(e,t+i)}r.prototype.findMatches=function(){if(this.gap){for(var t=0;t<this.matches.length;t++){if((r=this.matches[t]).from.line>=this.gap.to)break;r.to.line>=this.gap.from&&this.matches.splice(t--,1)}for(var e=this.cm.getSearchCursor(this.query,c.Pos(this.gap.from,0),this.caseFold),i=this.options&&this.options.maxMatches||1e3;e.findNext();){var r;if((r={from:e.from(),to:e.to()}).from.line>=this.gap.to)break;if(this.matches.splice(t++,0,r),this.matches.length>i)break}this.gap=null}},r.prototype.onChange=function(t){var e=t.from.line,i=c.changeEnd(t).line,r=i-t.to.line;if(this.gap?(this.gap.from=Math.min(h(this.gap.from,e,r),t.from.line),this.gap.to=Math.max(h(this.gap.to,e,r),t.from.line)):this.gap={from:t.from.line,to:i+1},r)for(var n=0;n<this.matches.length;n++){var o=this.matches[n],s=h(o.from.line,e,r);s!=o.from.line&&(o.from=c.Pos(s,o.from.ch));var a=h(o.to.line,e,r);a!=o.to.line&&(o.to=c.Pos(a,o.to.ch))}clearTimeout(this.update);var l=this;this.update=setTimeout(function(){l.updateAfterChange()},250)},r.prototype.updateAfterChange=function(){this.findMatches(),this.annotation.update(this.matches)},r.prototype.clear=function(){this.cm.off("change",this.changeHandler),this.annotation.clear()}},"object"==typeof i&&"object"==typeof e?r(t("../../lib/codemirror"),t("./searchcursor"),t("../scroll/annotatescrollbar")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","./searchcursor","../scroll/annotatescrollbar"],r):r(CodeMirror)},{"../../lib/codemirror":12,"../scroll/annotatescrollbar":7,"./searchcursor":11}],10:[function(t,e,i){var r;r=function(d){"use strict";function e(){this.posFrom=this.posTo=this.lastQuery=this.query=null,this.overlay=null}function p(t){return t.state.search||(t.state.search=new e)}function o(t){return"string"==typeof t&&t==t.toLowerCase()}function m(t,e,i){return t.getSearchCursor(e,i,{caseFold:o(e),multiline:!0})}function g(t,e,i,r,n){t.openDialog?t.openDialog(e,n,{value:r,selectValueOnOpen:!0}):n(prompt(i,r))}function r(t){return t.replace(/\\(.)/g,function(t,e){return"n"==e?"\n":"r"==e?"\r":e})}function s(t){var e=t.match(/^\/(.*)\/([a-z]*)$/);if(e)try{t=new RegExp(e[1],-1==e[2].indexOf("i")?"":"i")}catch(t){}else t=r(t);return("string"==typeof t?""==t:t.test(""))&&(t=/x^/),t}function _(t,e,i){var r,n;e.queryText=i,e.query=s(i),t.removeOverlay(e.overlay,o(e.query)),e.overlay=(r=e.query,n=o(e.query),"string"==typeof r?r=new RegExp(r.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),n?"gi":"g"):r.global||(r=new RegExp(r.source,r.ignoreCase?"gi":"g")),{token:function(t){r.lastIndex=t.pos;var e=r.exec(t.string);if(e&&e.index==t.pos)return t.pos+=e[0].length||1,"searching";e?t.pos=e.index:t.skipToEnd()}}),t.addOverlay(e.overlay),t.showMatchesOnScrollbar&&(e.annotate&&(e.annotate.clear(),e.annotate=null),e.annotate=t.showMatchesOnScrollbar(e.query,o(e.query)))}function i(o,e,t,i){var r=p(o);if(r.query)return v(o,e);var n,s,a,l,c,h=o.getSelection()||r.lastQuery;if(h instanceof RegExp&&"x^"==h.source&&(h=null),t&&o.openDialog){var u=null,f=function(t,e){d.e_stop(e),t&&(t!=r.queryText&&(_(o,r,t),r.posFrom=r.posTo=o.getCursor()),u&&(u.style.opacity=1),v(o,e.shiftKey,function(t,e){var i;e.line<3&&document.querySelector&&(i=o.display.wrapper.querySelector(".CodeMirror-dialog"))&&i.getBoundingClientRect().bottom-4>o.cursorCoords(e,"window").top&&((u=i).style.opacity=.4)}))};s=x(n=o),a=h,l=f,c=function(t,e){var i=d.keyName(t),r=o.getOption("extraKeys"),n=r&&r[i]||d.keyMap[o.getOption("keyMap")][i];"findNext"==n||"findPrev"==n||"findPersistentNext"==n||"findPersistentPrev"==n?(d.e_stop(t),_(o,p(o),e),o.execCommand(n)):"find"!=n&&"findPersistent"!=n||(d.e_stop(t),f(e,t))},n.openDialog(s,l,{value:a,selectValueOnOpen:!0,closeOnEnter:!1,onClose:function(){y(n)},onKeyDown:c}),i&&h&&(_(o,r,h),v(o,e))}else g(o,x(o),"Search for:",h,function(t){t&&!r.query&&o.operation(function(){_(o,r,t),r.posFrom=r.posTo=o.getCursor(),v(o,e)})})}function v(i,r,n){i.operation(function(){var t=p(i),e=m(i,t.query,r?t.posFrom:t.posTo);(e.find(r)||(e=m(i,t.query,r?d.Pos(i.lastLine()):d.Pos(i.firstLine(),0))).find(r))&&(i.setSelection(e.from(),e.to()),i.scrollIntoView({from:e.from(),to:e.to()},20),t.posFrom=e.from(),t.posTo=e.to(),n&&n(e.from(),e.to()))})}function y(e){e.operation(function(){var t=p(e);t.lastQuery=t.query,t.query&&(t.query=t.queryText=null,e.removeOverlay(t.overlay),t.annotate&&(t.annotate.clear(),t.annotate=null))})}function x(t){return'<span class="CodeMirror-search-label">'+t.phrase("Search:")+'</span> <input type="text" style="width: 10em" class="CodeMirror-search-field"/> <span style="color: #888" class="CodeMirror-search-hint">'+t.phrase("(Use /re/ syntax for regexp search)")+"</span>"}function T(e,r,n){e.operation(function(){for(var t=m(e,r);t.findNext();)if("string"!=typeof r){var i=e.getRange(t.from(),t.to()).match(r);t.replace(n.replace(/\$(\d)/g,function(t,e){return i[e]}))}else t.replace(n)})}function n(f,t){if(!f.getOption("readOnly")){var e=f.getSelection()||p(f).lastQuery,i='<span class="CodeMirror-search-label">'+(t?f.phrase("Replace all:"):f.phrase("Replace:"))+"</span>";g(f,i+(' <input type="text" style="width: 10em" class="CodeMirror-search-field"/> <span style="color: #888" class="CodeMirror-search-hint">'+f.phrase("(Use /re/ syntax for regexp search)")+"</span>"),i,e,function(u){u&&(u=s(u),g(f,'<span class="CodeMirror-search-label">'+f.phrase("With:")+'</span> <input type="text" style="width: 10em" class="CodeMirror-search-field"/>',f.phrase("Replace with:"),"",function(a){if(a=r(a),t)T(f,u,a);else{y(f);var l=m(f,u,f.getCursor("from")),c=function(){var t,e,i,r,n,o,s=l.from();!(t=l.findNext())&&(l=m(f,u),!(t=l.findNext())||s&&l.from().line==s.line&&l.from().ch==s.ch)||(f.setSelection(l.from(),l.to()),f.scrollIntoView({from:l.from(),to:l.to()}),i='<span class="CodeMirror-search-label">'+(o=e=f).phrase("Replace?")+"</span> <button>"+o.phrase("Yes")+"</button> <button>"+o.phrase("No")+"</button> <button>"+o.phrase("All")+"</button> <button>"+o.phrase("Stop")+"</button> ",r=f.phrase("Replace?"),n=[function(){h(t)},c,function(){T(f,u,a)}],e.openConfirm?e.openConfirm(i,n):confirm(r)&&n[0]())},h=function(i){l.replace("string"==typeof u?a:a.replace(/\$(\d)/g,function(t,e){return i[e]})),c()};c()}}))})}}d.commands.find=function(t){y(t),i(t)},d.commands.findPersistent=function(t){y(t),i(t,!1,!0)},d.commands.findPersistentNext=function(t){i(t,!1,!0,!0)},d.commands.findPersistentPrev=function(t){i(t,!0,!0,!0)},d.commands.findNext=i,d.commands.findPrev=function(t){i(t,!0)},d.commands.clearSearch=y,d.commands.replace=n,d.commands.replaceAll=function(t){n(t,!0)}},"object"==typeof i&&"object"==typeof e?r(t("../../lib/codemirror"),t("./searchcursor"),t("../dialog/dialog")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","./searchcursor","../dialog/dialog"],r):r(CodeMirror)},{"../../lib/codemirror":12,"../dialog/dialog":3,"./searchcursor":11}],11:[function(t,e,i){var r;r=function(n){"use strict";var _,v,y=n.Pos;function p(t,e){for(var i,r,n=null!=(r=(i=t).flags)?r:(i.ignoreCase?"i":"")+(i.global?"g":"")+(i.multiline?"m":""),o=n,s=0;s<e.length;s++)-1==o.indexOf(e.charAt(s))&&(o+=e.charAt(s));return n==o?t:new RegExp(t.source,o)}function m(t,e,i){e=p(e,"g");for(var r=i.line,n=i.ch,o=t.lastLine();r<=o;r++,n=0){e.lastIndex=n;var s=t.getLine(r),a=e.exec(s);if(a)return{from:y(r,a.index),to:y(r,a.index+a[0].length),match:a}}}function g(t,e){for(var i,r=0;;){e.lastIndex=r;var n=e.exec(t);if(!n)return i;if((r=(i=n).index+(i[0].length||1))==t.length)return i}}function x(t,e,i,r){if(t.length==e.length)return i;for(var n=0,o=i+Math.max(0,t.length-e.length);;){if(n==o)return n;var s=n+o>>1,a=r(t.slice(0,s)).length;if(a==i)return s;i<a?o=s:n=s+1}}function r(i,r,t,e){var n;this.atOccurrence=!1,this.doc=i,t=t?i.clipPos(t):y(0,0),this.pos={from:t,to:t},"object"==typeof e?n=e.caseFold:(n=e,e=null),"string"==typeof r?(null==n&&(n=!1),this.matches=function(t,e){return(t?function(t,e,i,r){if(!e.length)return null;var n=r?_:v,o=n(e).split(/\r|\n\r?/);t:for(var s=i.line,a=i.ch,l=t.firstLine()-1+o.length;l<=s;s--,a=-1){var c=t.getLine(s);-1<a&&(c=c.slice(0,a));var h=n(c);if(1==o.length){var u=h.lastIndexOf(o[0]);if(-1==u)continue t;return{from:y(s,x(c,h,u,n)),to:y(s,x(c,h,u+o[0].length,n))}}var f=o[o.length-1];if(h.slice(0,f.length)==f){var d=1;for(i=s-o.length+1;d<o.length-1;d++)if(n(t.getLine(i+d))!=o[d])continue t;var p=t.getLine(s+1-o.length),m=n(p);if(m.slice(m.length-o[0].length)==o[0])return{from:y(s+1-o.length,x(p,m,p.length-o[0].length,n)),to:y(s,x(c,h,f.length,n))}}}}:function(t,e,i,r){if(!e.length)return null;var n=r?_:v,o=n(e).split(/\r|\n\r?/);t:for(var s=i.line,a=i.ch,l=t.lastLine()+1-o.length;s<=l;s++,a=0){var c=t.getLine(s).slice(a),h=n(c);if(1==o.length){var u=h.indexOf(o[0]);if(-1==u)continue t;return i=x(c,h,u,n)+a,{from:y(s,x(c,h,u,n)+a),to:y(s,x(c,h,u+o[0].length,n)+a)}}var f=h.length-o[0].length;if(h.slice(f)==o[0]){for(var d=1;d<o.length-1;d++)if(n(t.getLine(s+d))!=o[d])continue t;var p=t.getLine(s+o.length-1),m=n(p),g=o[o.length-1];if(m.slice(0,g.length)==g)return{from:y(s,x(c,h,f,n)+a),to:y(s+o.length-1,x(p,m,g.length,n))}}}})(i,r,e,n)}):(r=p(r,"gm"),e&&!1===e.multiline?this.matches=function(t,e){return(t?function(t,e,i){e=p(e,"g");for(var r=i.line,n=i.ch,o=t.firstLine();o<=r;r--,n=-1){var s=t.getLine(r);-1<n&&(s=s.slice(0,n));var a=g(s,e);if(a)return{from:y(r,a.index),to:y(r,a.index+a[0].length),match:a}}}:m)(i,r,e)}:this.matches=function(t,e){return(t?function(t,e,i){e=p(e,"gm");for(var r,n=1,o=i.line,s=t.firstLine();s<=o;){for(var a=0;a<n;a++){var l=t.getLine(o--);r=null==r?l.slice(0,i.ch):l+"\n"+r}n*=2;var c=g(r,e);if(c){var h=r.slice(0,c.index).split("\n"),u=c[0].split("\n"),f=o+h.length,d=h[h.length-1].length;return{from:y(f,d),to:y(f+u.length-1,1==u.length?d+u[0].length:u[u.length-1].length),match:c}}}}:function(t,e,i){if(!/\\s|\\n|\n|\\W|\\D|\[\^/.test(e.source))return m(t,e,i);e=p(e,"gm");for(var r,n=1,o=i.line,s=t.lastLine();o<=s;){for(var a=0;a<n&&!(s<o);a++){var l=t.getLine(o++);r=null==r?l:r+"\n"+l}n*=2,e.lastIndex=i.ch;var c=e.exec(r);if(c){var h=r.slice(0,c.index).split("\n"),u=c[0].split("\n"),f=i.line+h.length-1,d=h[h.length-1].length;return{from:y(f,d),to:y(f+u.length-1,1==u.length?d+u[0].length:u[u.length-1].length),match:c}}}})(i,r,e)})}v=String.prototype.normalize?(_=function(t){return t.normalize("NFD").toLowerCase()},function(t){return t.normalize("NFD")}):(_=function(t){return t.toLowerCase()},function(t){return t}),r.prototype={findNext:function(){return this.find(!1)},findPrevious:function(){return this.find(!0)},find:function(t){for(var e=this.matches(t,this.doc.clipPos(t?this.pos.from:this.pos.to));e&&0==n.cmpPos(e.from,e.to);)t?e.from.ch?e.from=y(e.from.line,e.from.ch-1):e=e.from.line==this.doc.firstLine()?null:this.matches(t,this.doc.clipPos(y(e.from.line-1))):e.to.ch<this.doc.getLine(e.to.line).length?e.to=y(e.to.line,e.to.ch+1):e=e.to.line==this.doc.lastLine()?null:this.matches(t,y(e.to.line+1,0));if(e)return this.pos=e,this.atOccurrence=!0,this.pos.match||!0;var i=y(t?this.doc.firstLine():this.doc.lastLine()+1,0);return this.pos={from:i,to:i},this.atOccurrence=!1},from:function(){if(this.atOccurrence)return this.pos.from},to:function(){if(this.atOccurrence)return this.pos.to},replace:function(t,e){if(this.atOccurrence){var i=n.splitLines(t);this.doc.replaceRange(i,this.pos.from,this.pos.to,e),this.pos.to=y(this.pos.from.line+i.length-1,i[i.length-1].length+(1==i.length?this.pos.from.ch:0))}}},n.defineExtension("getSearchCursor",function(t,e,i){return new r(this.doc,t,e,i)}),n.defineDocExtension("getSearchCursor",function(t,e,i){return new r(this,t,e,i)}),n.defineExtension("selectMatches",function(t,e){for(var i=[],r=this.getSearchCursor(t,this.getCursor("from"),e);r.findNext()&&!(0<n.cmpPos(r.to(),this.getCursor("to")));)i.push({anchor:r.from(),head:r.to()});i.length&&this.setSelections(i,0)})},"object"==typeof i&&"object"==typeof e?r(t("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],r):r(CodeMirror)},{"../../lib/codemirror":12}],12:[function(t,e,i){var r,n;r=this,n=function(){"use strict";var t=navigator.userAgent,e=navigator.platform,m=/gecko\/\d/i.test(t),i=/MSIE \d/.test(t),r=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(t),n=/Edge\/(\d+)/.exec(t),T=i||r||n,k=T&&(i?document.documentMode||6:+(n||r)[1]),y=!n&&/WebKit\//.test(t),o=y&&/Qt\/\d+\.\d+/.test(t),s=!n&&/Chrome\//.test(t),g=/Opera\//.test(t),l=/Apple Computer/.test(navigator.vendor),a=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(t),c=/PhantomJS/.test(t),h=!n&&/AppleWebKit/.test(t)&&/Mobile\/\w+/.test(t),u=/Android/.test(t),f=h||u||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(t),x=h||/Mac/.test(e),d=/\bCrOS\b/.test(t),p=/win/i.test(e),_=g&&t.match(/Version\/(\d*\.\d*)/);_&&(_=Number(_[1])),_&&15<=_&&(y=!(g=!1));var v=x&&(o||g&&(null==_||_<12.11)),b=m||T&&9<=k;function w(t){return new RegExp("(^|\\s)"+t+"(?:$|\\s)\\s*")}var E,C=function(t,e){var i=t.className,r=w(e).exec(i);if(r){var n=i.slice(r.index+r[0].length);t.className=i.slice(0,r.index)+(n?r[1]+n:"")}};function S(t){for(var e=t.childNodes.length;0<e;--e)t.removeChild(t.firstChild);return t}function A(t,e){return S(t).appendChild(e)}function N(t,e,i,r){var n=document.createElement(t);if(i&&(n.className=i),r&&(n.style.cssText=r),"string"==typeof e)n.appendChild(document.createTextNode(e));else if(e)for(var o=0;o<e.length;++o)n.appendChild(e[o]);return n}function L(t,e,i,r){var n=N(t,e,i,r);return n.setAttribute("role","presentation"),n}function O(t,e){if(3==e.nodeType&&(e=e.parentNode),t.contains)return t.contains(e);do{if(11==e.nodeType&&(e=e.host),e==t)return!0}while(e=e.parentNode)}function I(){var e;try{e=document.activeElement}catch(t){e=document.body||null}for(;e&&e.shadowRoot&&e.shadowRoot.activeElement;)e=e.shadowRoot.activeElement;return e}function R(t,e){var i=t.className;w(e).test(i)||(t.className+=(i?" ":"")+e)}function M(t,e){for(var i=t.split(" "),r=0;r<i.length;r++)i[r]&&!w(i[r]).test(e)&&(e+=" "+i[r]);return e}E=document.createRange?function(t,e,i,r){var n=document.createRange();return n.setEnd(r||t,i),n.setStart(t,e),n}:function(t,e,i){var r=document.body.createTextRange();try{r.moveToElementText(t.parentNode)}catch(t){return r}return r.collapse(!0),r.moveEnd("character",i),r.moveStart("character",e),r};var D=function(t){t.select()};function P(t){var e=Array.prototype.slice.call(arguments,1);return function(){return t.apply(null,e)}}function B(t,e,i){for(var r in e||(e={}),t)!t.hasOwnProperty(r)||!1===i&&e.hasOwnProperty(r)||(e[r]=t[r]);return e}function F(t,e,i,r,n){null==e&&-1==(e=t.search(/[^\s\u00a0]/))&&(e=t.length);for(var o=r||0,s=n||0;;){var a=t.indexOf("\t",o);if(a<0||e<=a)return s+(e-o);s+=a-o,s+=i-s%i,o=a+1}}h?D=function(t){t.selectionStart=0,t.selectionEnd=t.value.length}:T&&(D=function(t){try{t.select()}catch(t){}});var U=function(){this.id=null};function H(t,e){for(var i=0;i<t.length;++i)if(t[i]==e)return i;return-1}U.prototype.set=function(t,e){clearTimeout(this.id),this.id=setTimeout(e,t)};var W=30,z={toString:function(){return"CodeMirror.Pass"}},q={scroll:!1},G={origin:"*mouse"},j={origin:"+move"};function V(t,e,i){for(var r=0,n=0;;){var o=t.indexOf("\t",r);-1==o&&(o=t.length);var s=o-r;if(o==t.length||e<=n+s)return r+Math.min(s,e-n);if(n+=o-r,r=o+1,e<=(n+=i-n%i))return r}}var Y=[""];function K(t){for(;Y.length<=t;)Y.push($(Y)+" ");return Y[t]}function $(t){return t[t.length-1]}function Q(t,e){for(var i=[],r=0;r<t.length;r++)i[r]=e(t[r],r);return i}function X(){}function J(t,e){var i;return i=Object.create?Object.create(t):(X.prototype=t,new X),e&&B(e,i),i}var Z=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;function tt(t){return/\w/.test(t)||"€"<t&&(t.toUpperCase()!=t.toLowerCase()||Z.test(t))}function et(t,e){return e?!!(-1<e.source.indexOf("\\w")&&tt(t))||e.test(t):tt(t)}function it(t){for(var e in t)if(t.hasOwnProperty(e)&&t[e])return!1;return!0}var rt=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/;function nt(t){return 768<=t.charCodeAt(0)&&rt.test(t)}function ot(t,e,i){for(;(i<0?0<e:e<t.length)&&nt(t.charAt(e));)e+=i;return e}function st(t,e,i){for(var r=i<e?-1:1;;){if(e==i)return e;var n=(e+i)/2,o=r<0?Math.ceil(n):Math.floor(n);if(o==e)return t(o)?e:i;t(o)?i=o:e=o+r}}function at(t,e,i){var r=this;this.input=i,r.scrollbarFiller=N("div",null,"CodeMirror-scrollbar-filler"),r.scrollbarFiller.setAttribute("cm-not-content","true"),r.gutterFiller=N("div",null,"CodeMirror-gutter-filler"),r.gutterFiller.setAttribute("cm-not-content","true"),r.lineDiv=L("div",null,"CodeMirror-code"),r.selectionDiv=N("div",null,null,"position: relative; z-index: 1"),r.cursorDiv=N("div",null,"CodeMirror-cursors"),r.measure=N("div",null,"CodeMirror-measure"),r.lineMeasure=N("div",null,"CodeMirror-measure"),r.lineSpace=L("div",[r.measure,r.lineMeasure,r.selectionDiv,r.cursorDiv,r.lineDiv],null,"position: relative; outline: none");var n=L("div",[r.lineSpace],"CodeMirror-lines");r.mover=N("div",[n],null,"position: relative"),r.sizer=N("div",[r.mover],"CodeMirror-sizer"),r.sizerWidth=null,r.heightForcer=N("div",null,null,"position: absolute; height: "+W+"px; width: 1px;"),r.gutters=N("div",null,"CodeMirror-gutters"),r.lineGutter=null,r.scroller=N("div",[r.sizer,r.heightForcer,r.gutters],"CodeMirror-scroll"),r.scroller.setAttribute("tabIndex","-1"),r.wrapper=N("div",[r.scrollbarFiller,r.gutterFiller,r.scroller],"CodeMirror"),T&&k<8&&(r.gutters.style.zIndex=-1,r.scroller.style.paddingRight=0),y||m&&f||(r.scroller.draggable=!0),t&&(t.appendChild?t.appendChild(r.wrapper):t(r.wrapper)),r.viewFrom=r.viewTo=e.first,r.reportedViewFrom=r.reportedViewTo=e.first,r.view=[],r.renderedView=null,r.externalMeasured=null,r.viewOffset=0,r.lastWrapHeight=r.lastWrapWidth=0,r.updateLineNumbers=null,r.nativeBarWidth=r.barHeight=r.barWidth=0,r.scrollbarsClipped=!1,r.lineNumWidth=r.lineNumInnerWidth=r.lineNumChars=null,r.alignWidgets=!1,r.cachedCharWidth=r.cachedTextHeight=r.cachedPaddingH=null,r.maxLine=null,r.maxLineLength=0,r.maxLineChanged=!1,r.wheelDX=r.wheelDY=r.wheelStartX=r.wheelStartY=null,r.shift=!1,r.selForContextMenu=null,r.activeTouch=null,i.init(r)}function lt(t,e){if((e-=t.first)<0||e>=t.size)throw new Error("There is no line "+(e+t.first)+" in the document.");for(var i=t;!i.lines;)for(var r=0;;++r){var n=i.children[r],o=n.chunkSize();if(e<o){i=n;break}e-=o}return i.lines[e]}function ct(t,i,r){var n=[],o=i.line;return t.iter(i.line,r.line+1,function(t){var e=t.text;o==r.line&&(e=e.slice(0,r.ch)),o==i.line&&(e=e.slice(i.ch)),n.push(e),++o}),n}function ht(t,e,i){var r=[];return t.iter(e,i,function(t){r.push(t.text)}),r}function ut(t,e){var i=e-t.height;if(i)for(var r=t;r;r=r.parent)r.height+=i}function ft(t){if(null==t.parent)return null;for(var e=t.parent,i=H(e.lines,t),r=e.parent;r;r=(e=r).parent)for(var n=0;r.children[n]!=e;++n)i+=r.children[n].chunkSize();return i+e.first}function dt(t,e){var i=t.first;t:do{for(var r=0;r<t.children.length;++r){var n=t.children[r],o=n.height;if(e<o){t=n;continue t}e-=o,i+=n.chunkSize()}return i}while(!t.lines);for(var s=0;s<t.lines.length;++s){var a=t.lines[s].height;if(e<a)break;e-=a}return i+s}function pt(t,e){return e>=t.first&&e<t.first+t.size}function mt(t,e){return String(t.lineNumberFormatter(e+t.firstLineNumber))}function gt(t,e,i){if(void 0===i&&(i=null),!(this instanceof gt))return new gt(t,e,i);this.line=t,this.ch=e,this.sticky=i}function _t(t,e){return t.line-e.line||t.ch-e.ch}function vt(t,e){return t.sticky==e.sticky&&0==_t(t,e)}function yt(t){return gt(t.line,t.ch)}function xt(t,e){return _t(t,e)<0?e:t}function Tt(t,e){return _t(t,e)<0?t:e}function kt(t,e){return Math.max(t.first,Math.min(e,t.first+t.size-1))}function bt(t,e){if(e.line<t.first)return gt(t.first,0);var i,r,n,o=t.first+t.size-1;return e.line>o?gt(o,lt(t,o).text.length):(r=lt(t,(i=e).line).text.length,null==(n=i.ch)||r<n?gt(i.line,r):n<0?gt(i.line,0):i)}function wt(t,e){for(var i=[],r=0;r<e.length;r++)i[r]=bt(t,e[r]);return i}var Et=!1,Ct=!1;function St(t,e,i){this.marker=t,this.from=e,this.to=i}function At(t,e){if(t)for(var i=0;i<t.length;++i){var r=t[i];if(r.marker==e)return r}}function Lt(t,e){for(var i,r=0;r<t.length;++r)t[r]!=e&&(i||(i=[])).push(t[r]);return i}function Nt(t,e){if(e.full)return null;var i=pt(t,e.from.line)&&lt(t,e.from.line).markedSpans,r=pt(t,e.to.line)&&lt(t,e.to.line).markedSpans;if(!i&&!r)return null;var n=e.from.ch,o=e.to.ch,s=0==_t(e.from,e.to),a=function(t,e,i){var r;if(t)for(var n=0;n<t.length;++n){var o=t[n],s=o.marker;if(null==o.from||(s.inclusiveLeft?o.from<=e:o.from<e)||o.from==e&&"bookmark"==s.type&&(!i||!o.marker.insertLeft)){var a=null==o.to||(s.inclusiveRight?o.to>=e:o.to>e);(r||(r=[])).push(new St(s,o.from,a?null:o.to))}}return r}(i,n,s),l=function(t,e,i){var r;if(t)for(var n=0;n<t.length;++n){var o=t[n],s=o.marker;if(null==o.to||(s.inclusiveRight?o.to>=e:o.to>e)||o.from==e&&"bookmark"==s.type&&(!i||o.marker.insertLeft)){var a=null==o.from||(s.inclusiveLeft?o.from<=e:o.from<e);(r||(r=[])).push(new St(s,a?null:o.from-e,null==o.to?null:o.to-e))}}return r}(r,o,s),c=1==e.text.length,h=$(e.text).length+(c?n:0);if(a)for(var u=0;u<a.length;++u){var f=a[u];if(null==f.to){var d=At(l,f.marker);d?c&&(f.to=null==d.to?null:d.to+h):f.to=n}}if(l)for(var p=0;p<l.length;++p){var m=l[p];if(null!=m.to&&(m.to+=h),null==m.from)At(a,m.marker)||(m.from=h,c&&(a||(a=[])).push(m));else m.from+=h,c&&(a||(a=[])).push(m)}a&&(a=Ot(a)),l&&l!=a&&(l=Ot(l));var g=[a];if(!c){var _,v=e.text.length-2;if(0<v&&a)for(var y=0;y<a.length;++y)null==a[y].to&&(_||(_=[])).push(new St(a[y].marker,null,null));for(var x=0;x<v;++x)g.push(_);g.push(l)}return g}function Ot(t){for(var e=0;e<t.length;++e){var i=t[e];null!=i.from&&i.from==i.to&&!1!==i.marker.clearWhenEmpty&&t.splice(e--,1)}return t.length?t:null}function It(t){var e=t.markedSpans;if(e){for(var i=0;i<e.length;++i)e[i].marker.detachLine(t);t.markedSpans=null}}function Rt(t,e){if(e){for(var i=0;i<e.length;++i)e[i].marker.attachLine(t);t.markedSpans=e}}function Mt(t){return t.inclusiveLeft?-1:0}function Dt(t){return t.inclusiveRight?1:0}function Pt(t,e){var i=t.lines.length-e.lines.length;if(0!=i)return i;var r=t.find(),n=e.find(),o=_t(r.from,n.from)||Mt(t)-Mt(e);if(o)return-o;var s=_t(r.to,n.to)||Dt(t)-Dt(e);return s||e.id-t.id}function Bt(t,e){var i,r=Ct&&t.markedSpans;if(r)for(var n=void 0,o=0;o<r.length;++o)(n=r[o]).marker.collapsed&&null==(e?n.from:n.to)&&(!i||Pt(i,n.marker)<0)&&(i=n.marker);return i}function Ft(t){return Bt(t,!0)}function Ut(t){return Bt(t,!1)}function Ht(t,e){var i,r=Ct&&t.markedSpans;if(r)for(var n=0;n<r.length;++n){var o=r[n];o.marker.collapsed&&(null==o.from||o.from<e)&&(null==o.to||o.to>e)&&(!i||Pt(i,o.marker)<0)&&(i=o.marker)}return i}function Wt(t,e,i,r,n){var o=lt(t,e),s=Ct&&o.markedSpans;if(s)for(var a=0;a<s.length;++a){var l=s[a];if(l.marker.collapsed){var c=l.marker.find(0),h=_t(c.from,i)||Mt(l.marker)-Mt(n),u=_t(c.to,r)||Dt(l.marker)-Dt(n);if(!(0<=h&&u<=0||h<=0&&0<=u)&&(h<=0&&(l.marker.inclusiveRight&&n.inclusiveLeft?0<=_t(c.to,i):0<_t(c.to,i))||0<=h&&(l.marker.inclusiveRight&&n.inclusiveLeft?_t(c.from,r)<=0:_t(c.from,r)<0)))return!0}}}function zt(t){for(var e;e=Ft(t);)t=e.find(-1,!0).line;return t}function qt(t,e){var i=lt(t,e),r=zt(i);return i==r?e:ft(r)}function Gt(t,e){if(e>t.lastLine())return e;var i,r=lt(t,e);if(!jt(t,r))return e;for(;i=Ut(r);)r=i.find(1,!0).line;return ft(r)+1}function jt(t,e){var i=Ct&&e.markedSpans;if(i)for(var r=void 0,n=0;n<i.length;++n)if((r=i[n]).marker.collapsed){if(null==r.from)return!0;if(!r.marker.widgetNode&&0==r.from&&r.marker.inclusiveLeft&&Vt(t,e,r))return!0}}function Vt(t,e,i){if(null==i.to){var r=i.marker.find(1,!0);return Vt(t,r.line,At(r.line.markedSpans,i.marker))}if(i.marker.inclusiveRight&&i.to==e.text.length)return!0;for(var n=void 0,o=0;o<e.markedSpans.length;++o)if((n=e.markedSpans[o]).marker.collapsed&&!n.marker.widgetNode&&n.from==i.to&&(null==n.to||n.to!=i.from)&&(n.marker.inclusiveLeft||i.marker.inclusiveRight)&&Vt(t,e,n))return!0}function Yt(t){for(var e=0,i=(t=zt(t)).parent,r=0;r<i.lines.length;++r){var n=i.lines[r];if(n==t)break;e+=n.height}for(var o=i.parent;o;o=(i=o).parent)for(var s=0;s<o.children.length;++s){var a=o.children[s];if(a==i)break;e+=a.height}return e}function Kt(t){if(0==t.height)return 0;for(var e,i=t.text.length,r=t;e=Ft(r);){var n=e.find(0,!0);r=n.from.line,i+=n.from.ch-n.to.ch}for(r=t;e=Ut(r);){var o=e.find(0,!0);i-=r.text.length-o.from.ch,i+=(r=o.to.line).text.length-o.to.ch}return i}function $t(t){var i=t.display,e=t.doc;i.maxLine=lt(e,e.first),i.maxLineLength=Kt(i.maxLine),i.maxLineChanged=!0,e.iter(function(t){var e=Kt(t);e>i.maxLineLength&&(i.maxLineLength=e,i.maxLine=t)})}var Qt=null;function Xt(t,e,i){var r;Qt=null;for(var n=0;n<t.length;++n){var o=t[n];if(o.from<e&&o.to>e)return n;o.to==e&&(o.from!=o.to&&"before"==i?r=n:Qt=n),o.from==e&&(o.from!=o.to&&"before"!=i?r=n:Qt=n)}return null!=r?r:Qt}var Jt=function(){var B="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN",F="nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111";var U=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,H=/[stwN]/,W=/[LRr]/,z=/[Lb1n]/,q=/[1n]/;function G(t,e,i){this.level=t,this.from=e,this.to=i}return function(t,e){var i="ltr"==e?"L":"R";if(0==t.length||"ltr"==e&&!U.test(t))return!1;for(var r,n=t.length,o=[],s=0;s<n;++s)o.push((r=t.charCodeAt(s))<=247?B.charAt(r):1424<=r&&r<=1524?"R":1536<=r&&r<=1785?F.charAt(r-1536):1774<=r&&r<=2220?"r":8192<=r&&r<=8203?"w":8204==r?"b":"L");for(var a=0,l=i;a<n;++a){var c=o[a];"m"==c?o[a]=l:l=c}for(var h=0,u=i;h<n;++h){var f=o[h];"1"==f&&"r"==u?o[h]="n":W.test(f)&&"r"==(u=f)&&(o[h]="R")}for(var d=1,p=o[0];d<n-1;++d){var m=o[d];"+"==m&&"1"==p&&"1"==o[d+1]?o[d]="1":","!=m||p!=o[d+1]||"1"!=p&&"n"!=p||(o[d]=p),p=m}for(var g=0;g<n;++g){var _=o[g];if(","==_)o[g]="N";else if("%"==_){var v=void 0;for(v=g+1;v<n&&"%"==o[v];++v);for(var y=g&&"!"==o[g-1]||v<n&&"1"==o[v]?"1":"N",x=g;x<v;++x)o[x]=y;g=v-1}}for(var T=0,k=i;T<n;++T){var b=o[T];"L"==k&&"1"==b?o[T]="L":W.test(b)&&(k=b)}for(var w=0;w<n;++w)if(H.test(o[w])){var E=void 0;for(E=w+1;E<n&&H.test(o[E]);++E);for(var C="L"==(w?o[w-1]:i),S=C==("L"==(E<n?o[E]:i))?C?"L":"R":i,A=w;A<E;++A)o[A]=S;w=E-1}for(var L,N=[],O=0;O<n;)if(z.test(o[O])){var I=O;for(++O;O<n&&z.test(o[O]);++O);N.push(new G(0,I,O))}else{var R=O,M=N.length;for(++O;O<n&&"L"!=o[O];++O);for(var D=R;D<O;)if(q.test(o[D])){R<D&&N.splice(M,0,new G(1,R,D));var P=D;for(++D;D<O&&q.test(o[D]);++D);N.splice(M,0,new G(2,P,D)),R=D}else++D;R<O&&N.splice(M,0,new G(1,R,O))}return"ltr"==e&&(1==N[0].level&&(L=t.match(/^\s+/))&&(N[0].from=L[0].length,N.unshift(new G(0,0,L[0].length))),1==$(N).level&&(L=t.match(/\s+$/))&&($(N).to-=L[0].length,N.push(new G(0,n-L[0].length,n)))),"rtl"==e?N.reverse():N}}();function Zt(t,e){var i=t.order;return null==i&&(i=t.order=Jt(t.text,e)),i}var te=[],ee=function(t,e,i){if(t.addEventListener)t.addEventListener(e,i,!1);else if(t.attachEvent)t.attachEvent("on"+e,i);else{var r=t._handlers||(t._handlers={});r[e]=(r[e]||te).concat(i)}};function ie(t,e){return t._handlers&&t._handlers[e]||te}function re(t,e,i){if(t.removeEventListener)t.removeEventListener(e,i,!1);else if(t.detachEvent)t.detachEvent("on"+e,i);else{var r=t._handlers,n=r&&r[e];if(n){var o=H(n,i);-1<o&&(r[e]=n.slice(0,o).concat(n.slice(o+1)))}}}function ne(t,e){var i=ie(t,e);if(i.length)for(var r=Array.prototype.slice.call(arguments,2),n=0;n<i.length;++n)i[n].apply(null,r)}function oe(t,e,i){return"string"==typeof e&&(e={type:e,preventDefault:function(){this.defaultPrevented=!0}}),ne(t,i||e.type,t,e),ue(e)||e.codemirrorIgnore}function se(t){var e=t._handlers&&t._handlers.cursorActivity;if(e)for(var i=t.curOp.cursorActivityHandlers||(t.curOp.cursorActivityHandlers=[]),r=0;r<e.length;++r)-1==H(i,e[r])&&i.push(e[r])}function ae(t,e){return 0<ie(t,e).length}function le(t){t.prototype.on=function(t,e){ee(this,t,e)},t.prototype.off=function(t,e){re(this,t,e)}}function ce(t){t.preventDefault?t.preventDefault():t.returnValue=!1}function he(t){t.stopPropagation?t.stopPropagation():t.cancelBubble=!0}function ue(t){return null!=t.defaultPrevented?t.defaultPrevented:0==t.returnValue}function fe(t){ce(t),he(t)}function de(t){return t.target||t.srcElement}function pe(t){var e=t.which;return null==e&&(1&t.button?e=1:2&t.button?e=3:4&t.button&&(e=2)),x&&t.ctrlKey&&1==e&&(e=3),e}var me,ge,_e=function(){if(T&&k<9)return!1;var t=N("div");return"draggable"in t||"dragDrop"in t}();function ve(t){if(null==me){var e=N("span","​");A(t,N("span",[e,document.createTextNode("x")])),0!=t.firstChild.offsetHeight&&(me=e.offsetWidth<=1&&2<e.offsetHeight&&!(T&&k<8))}var i=me?N("span","​"):N("span"," ",null,"display: inline-block; width: 1px; margin-right: -1px");return i.setAttribute("cm-text",""),i}function ye(t){if(null!=ge)return ge;var e=A(t,document.createTextNode("AخA")),i=E(e,0,1).getBoundingClientRect(),r=E(e,1,2).getBoundingClientRect();return S(t),!(!i||i.left==i.right)&&(ge=r.right-i.right<3)}var xe,Te=3!="\n\nb".split(/\n/).length?function(t){for(var e=0,i=[],r=t.length;e<=r;){var n=t.indexOf("\n",e);-1==n&&(n=t.length);var o=t.slice(e,"\r"==t.charAt(n-1)?n-1:n),s=o.indexOf("\r");-1!=s?(i.push(o.slice(0,s)),e+=s+1):(i.push(o),e=n+1)}return i}:function(t){return t.split(/\r\n?|\n/)},ke=window.getSelection?function(t){try{return t.selectionStart!=t.selectionEnd}catch(t){return!1}}:function(t){var e;try{e=t.ownerDocument.selection.createRange()}catch(t){}return!(!e||e.parentElement()!=t)&&0!=e.compareEndPoints("StartToEnd",e)},be="oncopy"in(xe=N("div"))||(xe.setAttribute("oncopy","return;"),"function"==typeof xe.oncopy),we=null;var Ee={},Ce={};function Se(t){if("string"==typeof t&&Ce.hasOwnProperty(t))t=Ce[t];else if(t&&"string"==typeof t.name&&Ce.hasOwnProperty(t.name)){var e=Ce[t.name];"string"==typeof e&&(e={name:e}),(t=J(e,t)).name=e.name}else{if("string"==typeof t&&/^[\w\-]+\/[\w\-]+\+xml$/.test(t))return Se("application/xml");if("string"==typeof t&&/^[\w\-]+\/[\w\-]+\+json$/.test(t))return Se("application/json")}return"string"==typeof t?{name:t}:t||{name:"null"}}function Ae(t,e){e=Se(e);var i=Ee[e.name];if(!i)return Ae(t,"text/plain");var r=i(t,e);if(Le.hasOwnProperty(e.name)){var n=Le[e.name];for(var o in n)n.hasOwnProperty(o)&&(r.hasOwnProperty(o)&&(r["_"+o]=r[o]),r[o]=n[o])}if(r.name=e.name,e.helperType&&(r.helperType=e.helperType),e.modeProps)for(var s in e.modeProps)r[s]=e.modeProps[s];return r}var Le={};function Ne(t,e){B(e,Le.hasOwnProperty(t)?Le[t]:Le[t]={})}function Oe(t,e){if(!0===e)return e;if(t.copyState)return t.copyState(e);var i={};for(var r in e){var n=e[r];n instanceof Array&&(n=n.concat([])),i[r]=n}return i}function Ie(t,e){for(var i;t.innerMode&&(i=t.innerMode(e))&&i.mode!=t;)e=i.state,t=i.mode;return i||{mode:t,state:e}}function Re(t,e,i){return!t.startState||t.startState(e,i)}var Me=function(t,e,i){this.pos=this.start=0,this.string=t,this.tabSize=e||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=i};Me.prototype.eol=function(){return this.pos>=this.string.length},Me.prototype.sol=function(){return this.pos==this.lineStart},Me.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},Me.prototype.next=function(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)},Me.prototype.eat=function(t){var e=this.string.charAt(this.pos);if("string"==typeof t?e==t:e&&(t.test?t.test(e):t(e)))return++this.pos,e},Me.prototype.eatWhile=function(t){for(var e=this.pos;this.eat(t););return this.pos>e},Me.prototype.eatSpace=function(){for(var t=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>t},Me.prototype.skipToEnd=function(){this.pos=this.string.length},Me.prototype.skipTo=function(t){var e=this.string.indexOf(t,this.pos);if(-1<e)return this.pos=e,!0},Me.prototype.backUp=function(t){this.pos-=t},Me.prototype.column=function(){return this.lastColumnPos<this.start&&(this.lastColumnValue=F(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start),this.lastColumnValue-(this.lineStart?F(this.string,this.lineStart,this.tabSize):0)},Me.prototype.indentation=function(){return F(this.string,null,this.tabSize)-(this.lineStart?F(this.string,this.lineStart,this.tabSize):0)},Me.prototype.match=function(t,e,i){if("string"!=typeof t){var r=this.string.slice(this.pos).match(t);return r&&0<r.index?null:(r&&!1!==e&&(this.pos+=r[0].length),r)}var n=function(t){return i?t.toLowerCase():t};if(n(this.string.substr(this.pos,t.length))==n(t))return!1!==e&&(this.pos+=t.length),!0},Me.prototype.current=function(){return this.string.slice(this.start,this.pos)},Me.prototype.hideFirstChars=function(t,e){this.lineStart+=t;try{return e()}finally{this.lineStart-=t}},Me.prototype.lookAhead=function(t){var e=this.lineOracle;return e&&e.lookAhead(t)},Me.prototype.baseToken=function(){var t=this.lineOracle;return t&&t.baseToken(this.pos)};var De=function(t,e){this.state=t,this.lookAhead=e},Pe=function(t,e,i,r){this.state=e,this.doc=t,this.line=i,this.maxLookAhead=r||0,this.baseTokens=null,this.baseTokenPos=1};function Be(e,i,r,t){var l=[e.state.modeGen],n={};Ve(e,i.text,e.doc.mode,r,function(t,e){return l.push(t,e)},n,t);for(var c=r.state,o=function(t){r.baseTokens=l;var o=e.state.overlays[t],s=1,a=0;r.state=!0,Ve(e,i.text,o.mode,r,function(t,e){for(var i=s;a<t;){var r=l[s];t<r&&l.splice(s,1,t,l[s+1],r),s+=2,a=Math.min(t,r)}if(e)if(o.opaque)l.splice(i,s-i,t,"overlay "+e),s=i+2;else for(;i<s;i+=2){var n=l[i+1];l[i+1]=(n?n+" ":"")+"overlay "+e}},n),r.state=c,r.baseTokens=null,r.baseTokenPos=1},s=0;s<e.state.overlays.length;++s)o(s);return{styles:l,classes:n.bgClass||n.textClass?n:null}}function Fe(t,e,i){if(!e.styles||e.styles[0]!=t.state.modeGen){var r=Ue(t,ft(e)),n=e.text.length>t.options.maxHighlightLength&&Oe(t.doc.mode,r.state),o=Be(t,e,r);n&&(r.state=n),e.stateAfter=r.save(!n),e.styles=o.styles,o.classes?e.styleClasses=o.classes:e.styleClasses&&(e.styleClasses=null),i===t.doc.highlightFrontier&&(t.doc.modeFrontier=Math.max(t.doc.modeFrontier,++t.doc.highlightFrontier))}return e.styles}function Ue(i,r,t){var e=i.doc,n=i.display;if(!e.mode.startState)return new Pe(e,!0,r);var o=function(t,e,i){for(var r,n,o=t.doc,s=i?-1:e-(t.doc.mode.innerMode?1e3:100),a=e;s<a;--a){if(a<=o.first)return o.first;var l=lt(o,a-1),c=l.stateAfter;if(c&&(!i||a+(c instanceof De?c.lookAhead:0)<=o.modeFrontier))return a;var h=F(l.text,null,t.options.tabSize);(null==n||h<r)&&(n=a-1,r=h)}return n}(i,r,t),s=o>e.first&&lt(e,o-1).stateAfter,a=s?Pe.fromSaved(e,s,o):new Pe(e,Re(e.mode),o);return e.iter(o,r,function(t){He(i,t.text,a);var e=a.line;t.stateAfter=e==r-1||e%5==0||e>=n.viewFrom&&e<n.viewTo?a.save():null,a.nextLine()}),t&&(e.modeFrontier=a.line),a}function He(t,e,i,r){var n=t.doc.mode,o=new Me(e,t.options.tabSize,i);for(o.start=o.pos=r||0,""==e&&We(n,i.state);!o.eol();)ze(n,o,i.state),o.start=o.pos}function We(t,e){if(t.blankLine)return t.blankLine(e);if(t.innerMode){var i=Ie(t,e);return i.mode.blankLine?i.mode.blankLine(i.state):void 0}}function ze(t,e,i,r){for(var n=0;n<10;n++){r&&(r[0]=Ie(t,i).mode);var o=t.token(e,i);if(e.pos>e.start)return o}throw new Error("Mode "+t.name+" failed to advance stream.")}Pe.prototype.lookAhead=function(t){var e=this.doc.getLine(this.line+t);return null!=e&&t>this.maxLookAhead&&(this.maxLookAhead=t),e},Pe.prototype.baseToken=function(t){if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=t;)this.baseTokenPos+=2;var e=this.baseTokens[this.baseTokenPos+1];return{type:e&&e.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-t}},Pe.prototype.nextLine=function(){this.line++,0<this.maxLookAhead&&this.maxLookAhead--},Pe.fromSaved=function(t,e,i){return e instanceof De?new Pe(t,Oe(t.mode,e.state),i,e.lookAhead):new Pe(t,Oe(t.mode,e),i)},Pe.prototype.save=function(t){var e=!1!==t?Oe(this.doc.mode,this.state):this.state;return 0<this.maxLookAhead?new De(e,this.maxLookAhead):e};var qe=function(t,e,i){this.start=t.start,this.end=t.pos,this.string=t.current(),this.type=e||null,this.state=i};function Ge(t,e,i,r){var n,o,s=t.doc,a=s.mode,l=lt(s,(e=bt(s,e)).line),c=Ue(t,e.line,i),h=new Me(l.text,t.options.tabSize,c);for(r&&(o=[]);(r||h.pos<e.ch)&&!h.eol();)h.start=h.pos,n=ze(a,h,c.state),r&&o.push(new qe(h,n,Oe(s.mode,c.state)));return r?o:new qe(h,n,c.state)}function je(t,e){if(t)for(;;){var i=t.match(/(?:^|\s+)line-(background-)?(\S+)/);if(!i)break;t=t.slice(0,i.index)+t.slice(i.index+i[0].length);var r=i[1]?"bgClass":"textClass";null==e[r]?e[r]=i[2]:new RegExp("(?:^|s)"+i[2]+"(?:$|s)").test(e[r])||(e[r]+=" "+i[2])}return t}function Ve(t,e,i,r,n,o,s){var a=i.flattenSpans;null==a&&(a=t.options.flattenSpans);var l,c=0,h=null,u=new Me(e,t.options.tabSize,r),f=t.options.addModeClass&&[null];for(""==e&&je(We(i,r.state),o);!u.eol();){if(l=u.pos>t.options.maxHighlightLength?(a=!1,s&&He(t,e,r,u.pos),u.pos=e.length,null):je(ze(i,u,r.state,f),o),f){var d=f[0].name;d&&(l="m-"+(l?d+" "+l:d))}if(!a||h!=l){for(;c<u.start;)n(c=Math.min(u.start,c+5e3),h);h=l}u.start=u.pos}for(;c<u.pos;){var p=Math.min(u.pos,c+5e3);n(p,h),c=p}}var Ye=function(t,e,i){this.text=t,Rt(this,e),this.height=i?i(this):1};Ye.prototype.lineNo=function(){return ft(this)},le(Ye);var Ke={},$e={};function Qe(t,e){if(!t||/^\s*$/.test(t))return null;var i=e.addModeClass?$e:Ke;return i[t]||(i[t]=t.replace(/\S+/g,"cm-$&"))}function Xe(t,e){var i=L("span",null,null,y?"padding-right: .1px":null),r={pre:L("pre",[i],"CodeMirror-line"),content:i,col:0,pos:0,cm:t,trailingSpace:!1,splitSpaces:t.getOption("lineWrapping")};e.measure={};for(var n=0;n<=(e.rest?e.rest.length:0);n++){var o=n?e.rest[n-1]:e.line,s=void 0;r.pos=0,r.addToken=Ze,ye(t.display.measure)&&(s=Zt(o,t.doc.direction))&&(r.addToken=ti(r.addToken,s)),r.map=[],ii(o,r,Fe(t,o,e!=t.display.externalMeasured&&ft(o))),o.styleClasses&&(o.styleClasses.bgClass&&(r.bgClass=M(o.styleClasses.bgClass,r.bgClass||"")),o.styleClasses.textClass&&(r.textClass=M(o.styleClasses.textClass,r.textClass||""))),0==r.map.length&&r.map.push(0,0,r.content.appendChild(ve(t.display.measure))),0==n?(e.measure.map=r.map,e.measure.cache={}):((e.measure.maps||(e.measure.maps=[])).push(r.map),(e.measure.caches||(e.measure.caches=[])).push({}))}if(y){var a=r.content.lastChild;(/\bcm-tab\b/.test(a.className)||a.querySelector&&a.querySelector(".cm-tab"))&&(r.content.className="cm-tab-wrap-hack")}return ne(t,"renderLine",t,e.line,r.pre),r.pre.className&&(r.textClass=M(r.pre.className,r.textClass||"")),r}function Je(t){var e=N("span","•","cm-invalidchar");return e.title="\\u"+t.charCodeAt(0).toString(16),e.setAttribute("aria-label",e.title),e}function Ze(t,e,i,r,n,o,s){if(e){var a,l=t.splitSpaces?function(t,e){if(1<t.length&&!/ /.test(t))return t;for(var i=e,r="",n=0;n<t.length;n++){var o=t.charAt(n);" "!=o||!i||n!=t.length-1&&32!=t.charCodeAt(n+1)||(o=" "),r+=o,i=" "==o}return r}(e,t.trailingSpace):e,c=t.cm.state.specialChars,h=!1;if(c.test(e)){a=document.createDocumentFragment();for(var u=0;;){c.lastIndex=u;var f=c.exec(e),d=f?f.index-u:e.length-u;if(d){var p=document.createTextNode(l.slice(u,u+d));T&&k<9?a.appendChild(N("span",[p])):a.appendChild(p),t.map.push(t.pos,t.pos+d,p),t.col+=d,t.pos+=d}if(!f)break;u+=d+1;var m=void 0;if("\t"==f[0]){var g=t.cm.options.tabSize,_=g-t.col%g;(m=a.appendChild(N("span",K(_),"cm-tab"))).setAttribute("role","presentation"),m.setAttribute("cm-text","\t"),t.col+=_}else"\r"==f[0]||"\n"==f[0]?(m=a.appendChild(N("span","\r"==f[0]?"␍":"␤","cm-invalidchar"))).setAttribute("cm-text",f[0]):((m=t.cm.options.specialCharPlaceholder(f[0])).setAttribute("cm-text",f[0]),T&&k<9?a.appendChild(N("span",[m])):a.appendChild(m)),t.col+=1;t.map.push(t.pos,t.pos+1,m),t.pos++}}else t.col+=e.length,a=document.createTextNode(l),t.map.push(t.pos,t.pos+e.length,a),T&&k<9&&(h=!0),t.pos+=e.length;if(t.trailingSpace=32==l.charCodeAt(e.length-1),i||r||n||h||o){var v=i||"";r&&(v+=r),n&&(v+=n);var y=N("span",[a],v,o);if(s)for(var x in s)s.hasOwnProperty(x)&&"style"!=x&&"class"!=x&&y.setAttribute(x,s[x]);return t.content.appendChild(y)}t.content.appendChild(a)}}function ti(u,f){return function(t,e,i,r,n,o,s){i=i?i+" cm-force-border":"cm-force-border";for(var a=t.pos,l=a+e.length;;){for(var c=void 0,h=0;h<f.length&&!((c=f[h]).to>a&&c.from<=a);h++);if(c.to>=l)return u(t,e,i,r,n,o,s);u(t,e.slice(0,c.to-a),i,r,null,o,s),r=null,e=e.slice(c.to-a),a=c.to}}}function ei(t,e,i,r){var n=!r&&i.widgetNode;n&&t.map.push(t.pos,t.pos+e,n),!r&&t.cm.display.input.needsContentAttribute&&(n||(n=t.content.appendChild(document.createElement("span"))),n.setAttribute("cm-marker",i.id)),n&&(t.cm.display.input.setUneditable(n),t.content.appendChild(n)),t.pos+=e,t.trailingSpace=!1}function ii(t,e,i){var r=t.markedSpans,n=t.text,o=0;if(r)for(var s,a,l,c,h,u,f,d=n.length,p=0,m=1,g="",_=0;;){if(_==p){l=c=h=a="",u=f=null,_=1/0;for(var v=[],y=void 0,x=0;x<r.length;++x){var T=r[x],k=T.marker;if("bookmark"==k.type&&T.from==p&&k.widgetNode)v.push(k);else if(T.from<=p&&(null==T.to||T.to>p||k.collapsed&&T.to==p&&T.from==p)){if(null!=T.to&&T.to!=p&&_>T.to&&(_=T.to,c=""),k.className&&(l+=" "+k.className),k.css&&(a=(a?a+";":"")+k.css),k.startStyle&&T.from==p&&(h+=" "+k.startStyle),k.endStyle&&T.to==_&&(y||(y=[])).push(k.endStyle,T.to),k.title&&((f||(f={})).title=k.title),k.attributes)for(var b in k.attributes)(f||(f={}))[b]=k.attributes[b];k.collapsed&&(!u||Pt(u.marker,k)<0)&&(u=T)}else T.from>p&&_>T.from&&(_=T.from)}if(y)for(var w=0;w<y.length;w+=2)y[w+1]==_&&(c+=" "+y[w]);if(!u||u.from==p)for(var E=0;E<v.length;++E)ei(e,0,v[E]);if(u&&(u.from||0)==p){if(ei(e,(null==u.to?d+1:u.to)-p,u.marker,null==u.from),null==u.to)return;u.to==p&&(u=!1)}}if(d<=p)break;for(var C=Math.min(d,_);;){if(g){var S=p+g.length;if(!u){var A=C<S?g.slice(0,C-p):g;e.addToken(e,A,s?s+l:l,h,p+A.length==_?c:"",a,f)}if(C<=S){g=g.slice(C-p),p=C;break}p=S,h=""}g=n.slice(o,o=i[m++]),s=Qe(i[m++],e.cm.options)}}else for(var L=1;L<i.length;L+=2)e.addToken(e,n.slice(o,o=i[L]),Qe(i[L+1],e.cm.options))}function ri(t,e,i){this.line=e,this.rest=function(t){for(var e,i;e=Ut(t);)t=e.find(1,!0).line,(i||(i=[])).push(t);return i}(e),this.size=this.rest?ft($(this.rest))-i+1:1,this.node=this.text=null,this.hidden=jt(t,e)}function ni(t,e,i){for(var r,n=[],o=e;o<i;o=r){var s=new ri(t.doc,lt(t.doc,o),o);r=o+s.size,n.push(s)}return n}var oi=null;var si=null;function ai(t,e){var i=ie(t,e);if(i.length){var r,n=Array.prototype.slice.call(arguments,2);oi?r=oi.delayedCallbacks:si?r=si:(r=si=[],setTimeout(li,0));for(var o=function(t){r.push(function(){return i[t].apply(null,n)})},s=0;s<i.length;++s)o(s)}}function li(){var t=si;si=null;for(var e=0;e<t.length;++e)t[e]()}function ci(t,e,i,r){for(var n=0;n<e.changes.length;n++){var o=e.changes[n];"text"==o?fi(t,e):"gutter"==o?pi(t,e,i,r):"class"==o?di(t,e):"widget"==o&&mi(t,e,r)}e.changes=null}function hi(t){return t.node==t.text&&(t.node=N("div",null,null,"position: relative"),t.text.parentNode&&t.text.parentNode.replaceChild(t.node,t.text),t.node.appendChild(t.text),T&&k<8&&(t.node.style.zIndex=2)),t.node}function ui(t,e){var i=t.display.externalMeasured;return i&&i.line==e.line?(t.display.externalMeasured=null,e.measure=i.measure,i.built):Xe(t,e)}function fi(t,e){var i=e.text.className,r=ui(t,e);e.text==e.node&&(e.node=r.pre),e.text.parentNode.replaceChild(r.pre,e.text),e.text=r.pre,r.bgClass!=e.bgClass||r.textClass!=e.textClass?(e.bgClass=r.bgClass,e.textClass=r.textClass,di(t,e)):i&&(e.text.className=i)}function di(t,e){!function(t,e){var i=e.bgClass?e.bgClass+" "+(e.line.bgClass||""):e.line.bgClass;if(i&&(i+=" CodeMirror-linebackground"),e.background)i?e.background.className=i:(e.background.parentNode.removeChild(e.background),e.background=null);else if(i){var r=hi(e);e.background=r.insertBefore(N("div",null,i),r.firstChild),t.display.input.setUneditable(e.background)}}(t,e),e.line.wrapClass?hi(e).className=e.line.wrapClass:e.node!=e.text&&(e.node.className="");var i=e.textClass?e.textClass+" "+(e.line.textClass||""):e.line.textClass;e.text.className=i||""}function pi(t,e,i,r){if(e.gutter&&(e.node.removeChild(e.gutter),e.gutter=null),e.gutterBackground&&(e.node.removeChild(e.gutterBackground),e.gutterBackground=null),e.line.gutterClass){var n=hi(e);e.gutterBackground=N("div",null,"CodeMirror-gutter-background "+e.line.gutterClass,"left: "+(t.options.fixedGutter?r.fixedPos:-r.gutterTotalWidth)+"px; width: "+r.gutterTotalWidth+"px"),t.display.input.setUneditable(e.gutterBackground),n.insertBefore(e.gutterBackground,e.text)}var o=e.line.gutterMarkers;if(t.options.lineNumbers||o){var s=hi(e),a=e.gutter=N("div",null,"CodeMirror-gutter-wrapper","left: "+(t.options.fixedGutter?r.fixedPos:-r.gutterTotalWidth)+"px");if(t.display.input.setUneditable(a),s.insertBefore(a,e.text),e.line.gutterClass&&(a.className+=" "+e.line.gutterClass),!t.options.lineNumbers||o&&o["CodeMirror-linenumbers"]||(e.lineNumber=a.appendChild(N("div",mt(t.options,i),"CodeMirror-linenumber CodeMirror-gutter-elt","left: "+r.gutterLeft["CodeMirror-linenumbers"]+"px; width: "+t.display.lineNumInnerWidth+"px"))),o)for(var l=0;l<t.options.gutters.length;++l){var c=t.options.gutters[l],h=o.hasOwnProperty(c)&&o[c];h&&a.appendChild(N("div",[h],"CodeMirror-gutter-elt","left: "+r.gutterLeft[c]+"px; width: "+r.gutterWidth[c]+"px"))}}}function mi(t,e,i){e.alignable&&(e.alignable=null);for(var r=e.node.firstChild,n=void 0;r;r=n)n=r.nextSibling,"CodeMirror-linewidget"==r.className&&e.node.removeChild(r);gi(t,e,i)}function gi(t,e,i){if(_i(t,e.line,e,i,!0),e.rest)for(var r=0;r<e.rest.length;r++)_i(t,e.rest[r],e,i,!1)}function _i(t,e,i,r,n){if(e.widgets)for(var o=hi(i),s=0,a=e.widgets;s<a.length;++s){var l=a[s],c=N("div",[l.node],"CodeMirror-linewidget");l.handleMouseEvents||c.setAttribute("cm-ignore-events","true"),vi(l,c,i,r),t.display.input.setUneditable(c),n&&l.above?o.insertBefore(c,i.gutter||i.text):o.appendChild(c),ai(l,"redraw")}}function vi(t,e,i,r){if(t.noHScroll){(i.alignable||(i.alignable=[])).push(e);var n=r.wrapperWidth;e.style.left=r.fixedPos+"px",t.coverGutter||(n-=r.gutterTotalWidth,e.style.paddingLeft=r.gutterTotalWidth+"px"),e.style.width=n+"px"}t.coverGutter&&(e.style.zIndex=5,e.style.position="relative",t.noHScroll||(e.style.marginLeft=-r.gutterTotalWidth+"px"))}function yi(t){if(null!=t.height)return t.height;var e=t.doc.cm;if(!e)return 0;if(!O(document.body,t.node)){var i="position: relative;";t.coverGutter&&(i+="margin-left: -"+e.display.gutters.offsetWidth+"px;"),t.noHScroll&&(i+="width: "+e.display.wrapper.clientWidth+"px;"),A(e.display.measure,N("div",[t.node],null,i))}return t.height=t.node.parentNode.offsetHeight}function xi(t,e){for(var i=de(e);i!=t.wrapper;i=i.parentNode)if(!i||1==i.nodeType&&"true"==i.getAttribute("cm-ignore-events")||i.parentNode==t.sizer&&i!=t.mover)return!0}function Ti(t){return t.lineSpace.offsetTop}function ki(t){return t.mover.offsetHeight-t.lineSpace.offsetHeight}function bi(t){if(t.cachedPaddingH)return t.cachedPaddingH;var e=A(t.measure,N("pre","x")),i=window.getComputedStyle?window.getComputedStyle(e):e.currentStyle,r={left:parseInt(i.paddingLeft),right:parseInt(i.paddingRight)};return isNaN(r.left)||isNaN(r.right)||(t.cachedPaddingH=r),r}function wi(t){return W-t.display.nativeBarWidth}function Ei(t){return t.display.scroller.clientWidth-wi(t)-t.display.barWidth}function Ci(t){return t.display.scroller.clientHeight-wi(t)-t.display.barHeight}function Si(t,e,i){if(t.line==e)return{map:t.measure.map,cache:t.measure.cache};for(var r=0;r<t.rest.length;r++)if(t.rest[r]==e)return{map:t.measure.maps[r],cache:t.measure.caches[r]};for(var n=0;n<t.rest.length;n++)if(ft(t.rest[n])>i)return{map:t.measure.maps[n],cache:t.measure.caches[n],before:!0}}function Ai(t,e,i,r){return Oi(t,Ni(t,e),i,r)}function Li(t,e){if(e>=t.display.viewFrom&&e<t.display.viewTo)return t.display.view[sr(t,e)];var i=t.display.externalMeasured;return i&&e>=i.lineN&&e<i.lineN+i.size?i:void 0}function Ni(t,e){var i=ft(e),r=Li(t,i);r&&!r.text?r=null:r&&r.changes&&(ci(t,r,i,er(t)),t.curOp.forceUpdate=!0),r||(r=function(t,e){var i=ft(e=zt(e)),r=t.display.externalMeasured=new ri(t.doc,e,i);r.lineN=i;var n=r.built=Xe(t,r);return r.text=n.pre,A(t.display.lineMeasure,n.pre),r}(t,e));var n=Si(r,e,i);return{line:e,view:r,rect:null,map:n.map,cache:n.cache,before:n.before,hasHeights:!1}}function Oi(t,e,i,r,n){e.before&&(i=-1);var o,s=i+(r||"");return e.cache.hasOwnProperty(s)?o=e.cache[s]:(e.rect||(e.rect=e.view.text.getBoundingClientRect()),e.hasHeights||(!function(t,e,i){var r=t.options.lineWrapping,n=r&&Ei(t);if(!e.measure.heights||r&&e.measure.width!=n){var o=e.measure.heights=[];if(r){e.measure.width=n;for(var s=e.text.firstChild.getClientRects(),a=0;a<s.length-1;a++){var l=s[a],c=s[a+1];2<Math.abs(l.bottom-c.bottom)&&o.push((l.bottom+c.top)/2-i.top)}}o.push(i.bottom-i.top)}}(t,e.view,e.rect),e.hasHeights=!0),(o=function(t,e,i,r){var n,o=Mi(e.map,i,r),s=o.node,a=o.start,l=o.end,c=o.collapse;if(3==s.nodeType){for(var h=0;h<4;h++){for(;a&&nt(e.line.text.charAt(o.coverStart+a));)--a;for(;o.coverStart+l<o.coverEnd&&nt(e.line.text.charAt(o.coverStart+l));)++l;if((n=T&&k<9&&0==a&&l==o.coverEnd-o.coverStart?s.parentNode.getBoundingClientRect():Di(E(s,a,l).getClientRects(),r)).left||n.right||0==a)break;l=a,a-=1,c="right"}T&&k<11&&(n=function(t,e){if(!window.screen||null==screen.logicalXDPI||screen.logicalXDPI==screen.deviceXDPI||!function(t){if(null!=we)return we;var e=A(t,N("span","x")),i=e.getBoundingClientRect(),r=E(e,0,1).getBoundingClientRect();return we=1<Math.abs(i.left-r.left)}(t))return e;var i=screen.logicalXDPI/screen.deviceXDPI,r=screen.logicalYDPI/screen.deviceYDPI;return{left:e.left*i,right:e.right*i,top:e.top*r,bottom:e.bottom*r}}(t.display.measure,n))}else{var u;0<a&&(c=r="right"),n=t.options.lineWrapping&&1<(u=s.getClientRects()).length?u["right"==r?u.length-1:0]:s.getBoundingClientRect()}if(T&&k<9&&!a&&(!n||!n.left&&!n.right)){var f=s.parentNode.getClientRects()[0];n=f?{left:f.left,right:f.left+tr(t.display),top:f.top,bottom:f.bottom}:Ri}for(var d=n.top-e.rect.top,p=n.bottom-e.rect.top,m=(d+p)/2,g=e.view.measure.heights,_=0;_<g.length-1&&!(m<g[_]);_++);var v=_?g[_-1]:0,y=g[_],x={left:("right"==c?n.right:n.left)-e.rect.left,right:("left"==c?n.left:n.right)-e.rect.left,top:v,bottom:y};n.left||n.right||(x.bogus=!0);t.options.singleCursorHeightPerLine||(x.rtop=d,x.rbottom=p);return x}(t,e,i,r)).bogus||(e.cache[s]=o)),{left:o.left,right:o.right,top:n?o.rtop:o.top,bottom:n?o.rbottom:o.bottom}}var Ii,Ri={left:0,right:0,top:0,bottom:0};function Mi(t,e,i){for(var r,n,o,s,a,l,c=0;c<t.length;c+=3)if(a=t[c],l=t[c+1],e<a?(n=0,o=1,s="left"):e<l?o=(n=e-a)+1:(c==t.length-3||e==l&&t[c+3]>e)&&(n=(o=l-a)-1,l<=e&&(s="right")),null!=n){if(r=t[c+2],a==l&&i==(r.insertLeft?"left":"right")&&(s=i),"left"==i&&0==n)for(;c&&t[c-2]==t[c-3]&&t[c-1].insertLeft;)r=t[2+(c-=3)],s="left";if("right"==i&&n==l-a)for(;c<t.length-3&&t[c+3]==t[c+4]&&!t[c+5].insertLeft;)r=t[(c+=3)+2],s="right";break}return{node:r,start:n,end:o,collapse:s,coverStart:a,coverEnd:l}}function Di(t,e){var i=Ri;if("left"==e)for(var r=0;r<t.length&&(i=t[r]).left==i.right;r++);else for(var n=t.length-1;0<=n&&(i=t[n]).left==i.right;n--);return i}function Pi(t){if(t.measure&&(t.measure.cache={},t.measure.heights=null,t.rest))for(var e=0;e<t.rest.length;e++)t.measure.caches[e]={}}function Bi(t){t.display.externalMeasure=null,S(t.display.lineMeasure);for(var e=0;e<t.display.view.length;e++)Pi(t.display.view[e])}function Fi(t){Bi(t),t.display.cachedCharWidth=t.display.cachedTextHeight=t.display.cachedPaddingH=null,t.options.lineWrapping||(t.display.maxLineChanged=!0),t.display.lineNumChars=null}function Ui(){return s&&u?-(document.body.getBoundingClientRect().left-parseInt(getComputedStyle(document.body).marginLeft)):window.pageXOffset||(document.documentElement||document.body).scrollLeft}function Hi(){return s&&u?-(document.body.getBoundingClientRect().top-parseInt(getComputedStyle(document.body).marginTop)):window.pageYOffset||(document.documentElement||document.body).scrollTop}function Wi(t){var e=0;if(t.widgets)for(var i=0;i<t.widgets.length;++i)t.widgets[i].above&&(e+=yi(t.widgets[i]));return e}function zi(t,e,i,r,n){if(!n){var o=Wi(e);i.top+=o,i.bottom+=o}if("line"==r)return i;r||(r="local");var s=Yt(e);if("local"==r?s+=Ti(t.display):s-=t.display.viewOffset,"page"==r||"window"==r){var a=t.display.lineSpace.getBoundingClientRect();s+=a.top+("window"==r?0:Hi());var l=a.left+("window"==r?0:Ui());i.left+=l,i.right+=l}return i.top+=s,i.bottom+=s,i}function qi(t,e,i){if("div"==i)return e;var r=e.left,n=e.top;if("page"==i)r-=Ui(),n-=Hi();else if("local"==i||!i){var o=t.display.sizer.getBoundingClientRect();r+=o.left,n+=o.top}var s=t.display.lineSpace.getBoundingClientRect();return{left:r-s.left,top:n-s.top}}function Gi(t,e,i,r,n){return r||(r=lt(t.doc,e.line)),zi(t,r,Ai(t,r,e.ch,n),i)}function ji(r,t,n,o,s,a){function l(t,e){var i=Oi(r,s,t,e?"right":"left",a);return e?i.left=i.right:i.right=i.left,zi(r,o,i,n)}o=o||lt(r.doc,t.line),s||(s=Ni(r,o));var c=Zt(o,r.doc.direction),e=t.ch,i=t.sticky;if(e>=o.text.length?(e=o.text.length,i="before"):e<=0&&(e=0,i="after"),!c)return l("before"==i?e-1:e,"before"==i);function h(t,e,i){return l(i?t-1:t,1==c[e].level!=i)}var u=Xt(c,e,i),f=Qt,d=h(e,u,"before"==i);return null!=f&&(d.other=h(e,f,"before"!=i)),d}function Vi(t,e){var i=0;e=bt(t.doc,e),t.options.lineWrapping||(i=tr(t.display)*e.ch);var r=lt(t.doc,e.line),n=Yt(r)+Ti(t.display);return{left:i,right:i,top:n,bottom:n+r.height}}function Yi(t,e,i,r,n){var o=gt(t,e,i);return o.xRel=n,r&&(o.outside=!0),o}function Ki(t,e,i){var r=t.doc;if((i+=t.display.viewOffset)<0)return Yi(r.first,0,null,!0,-1);var n=dt(r,i),o=r.first+r.size-1;if(o<n)return Yi(r.first+r.size-1,lt(r,o).text.length,null,!0,1);e<0&&(e=0);for(var s=lt(r,n);;){var a=Ji(t,s,n,e,i),l=Ht(s,a.ch+(0<a.xRel?1:0));if(!l)return a;var c=l.find(1);if(c.line==n)return c;s=lt(r,n=c.line)}}function $i(e,t,i,r){r-=Wi(t);var n=t.text.length,o=st(function(t){return Oi(e,i,t-1).bottom<=r},n,0);return{begin:o,end:n=st(function(t){return Oi(e,i,t).top>r},o,n)}}function Qi(t,e,i,r){return i||(i=Ni(t,e)),$i(t,e,i,zi(t,e,Oi(t,i,r),"line").top)}function Xi(t,e,i,r){return!(t.bottom<=i)&&(t.top>i||(r?t.left:t.right)>e)}function Ji(i,t,e,r,n){n-=Yt(t);var o=Ni(i,t),s=Wi(t),a=0,l=t.text.length,c=!0,h=Zt(t,i.doc.direction);if(h){var u=(i.options.lineWrapping?function(t,e,i,r,n,o,s){var a=$i(t,e,r,s),l=a.begin,c=a.end;/\s/.test(e.text.charAt(c-1))&&c--;for(var h=null,u=null,f=0;f<n.length;f++){var d=n[f];if(!(d.from>=c||d.to<=l)){var p=1!=d.level,m=Oi(t,r,p?Math.min(c,d.to)-1:Math.max(l,d.from)).right,g=m<o?o-m+1e9:m-o;(!h||g<u)&&(h=d,u=g)}}h||(h=n[n.length-1]);h.from<l&&(h={from:l,to:h.to,level:h.level});h.to>c&&(h={from:h.from,to:c,level:h.level});return h}:function(r,n,o,s,a,l,c){var t=st(function(t){var e=a[t],i=1!=e.level;return Xi(ji(r,gt(o,i?e.to:e.from,i?"before":"after"),"line",n,s),l,c,!0)},0,a.length-1),e=a[t];if(0<t){var i=1!=e.level,h=ji(r,gt(o,i?e.from:e.to,i?"after":"before"),"line",n,s);Xi(h,l,c,!0)&&h.top>c&&(e=a[t-1])}return e})(i,t,e,o,h,r,n);a=(c=1!=u.level)?u.from:u.to-1,l=c?u.to:u.from-1}var f,d,p=null,m=null,g=st(function(t){var e=Oi(i,o,t);return e.top+=s,e.bottom+=s,!!Xi(e,r,n,!1)&&(e.top<=n&&e.left<=r&&(p=t,m=e),!0)},a,l),_=!1;if(m){var v=r-m.left<m.right-r,y=v==c;g=p+(y?0:1),d=y?"after":"before",f=v?m.left:m.right}else{c||g!=l&&g!=a||g++,d=0==g?"after":g==t.text.length?"before":Oi(i,o,g-(c?1:0)).bottom+s<=n==c?"after":"before";var x=ji(i,gt(e,g,d),"line",t,o);f=x.left,_=n<x.top||n>=x.bottom}return Yi(e,g=ot(t.text,g,1),d,_,r-f)}function Zi(t){if(null!=t.cachedTextHeight)return t.cachedTextHeight;if(null==Ii){Ii=N("pre");for(var e=0;e<49;++e)Ii.appendChild(document.createTextNode("x")),Ii.appendChild(N("br"));Ii.appendChild(document.createTextNode("x"))}A(t.measure,Ii);var i=Ii.offsetHeight/50;return 3<i&&(t.cachedTextHeight=i),S(t.measure),i||1}function tr(t){if(null!=t.cachedCharWidth)return t.cachedCharWidth;var e=N("span","xxxxxxxxxx"),i=N("pre",[e]);A(t.measure,i);var r=e.getBoundingClientRect(),n=(r.right-r.left)/10;return 2<n&&(t.cachedCharWidth=n),n||10}function er(t){for(var e=t.display,i={},r={},n=e.gutters.clientLeft,o=e.gutters.firstChild,s=0;o;o=o.nextSibling,++s)i[t.options.gutters[s]]=o.offsetLeft+o.clientLeft+n,r[t.options.gutters[s]]=o.clientWidth;return{fixedPos:ir(e),gutterTotalWidth:e.gutters.offsetWidth,gutterLeft:i,gutterWidth:r,wrapperWidth:e.wrapper.clientWidth}}function ir(t){return t.scroller.getBoundingClientRect().left-t.sizer.getBoundingClientRect().left}function rr(r){var n=Zi(r.display),o=r.options.lineWrapping,s=o&&Math.max(5,r.display.scroller.clientWidth/tr(r.display)-3);return function(t){if(jt(r.doc,t))return 0;var e=0;if(t.widgets)for(var i=0;i<t.widgets.length;i++)t.widgets[i].height&&(e+=t.widgets[i].height);return o?e+(Math.ceil(t.text.length/s)||1)*n:e+n}}function nr(t){var e=t.doc,i=rr(t);e.iter(function(t){var e=i(t);e!=t.height&&ut(t,e)})}function or(t,e,i,r){var n=t.display;if(!i&&"true"==de(e).getAttribute("cm-not-content"))return null;var o,s,a=n.lineSpace.getBoundingClientRect();try{o=e.clientX-a.left,s=e.clientY-a.top}catch(e){return null}var l,c=Ki(t,o,s);if(r&&1==c.xRel&&(l=lt(t.doc,c.line).text).length==c.ch){var h=F(l,l.length,t.options.tabSize)-l.length;c=gt(c.line,Math.max(0,Math.round((o-bi(t.display).left)/tr(t.display))-h))}return c}function sr(t,e){if(e>=t.display.viewTo)return null;if((e-=t.display.viewFrom)<0)return null;for(var i=t.display.view,r=0;r<i.length;r++)if((e-=i[r].size)<0)return r}function ar(t){t.display.input.showSelection(t.display.input.prepareSelection())}function lr(t,e){void 0===e&&(e=!0);for(var i=t.doc,r={},n=r.cursors=document.createDocumentFragment(),o=r.selection=document.createDocumentFragment(),s=0;s<i.sel.ranges.length;s++)if(e||s!=i.sel.primIndex){var a=i.sel.ranges[s];if(!(a.from().line>=t.display.viewTo||a.to().line<t.display.viewFrom)){var l=a.empty();(l||t.options.showCursorWhenSelecting)&&cr(t,a.head,n),l||ur(t,a,o)}}return r}function cr(t,e,i){var r=ji(t,e,"div",null,null,!t.options.singleCursorHeightPerLine),n=i.appendChild(N("div"," ","CodeMirror-cursor"));if(n.style.left=r.left+"px",n.style.top=r.top+"px",n.style.height=Math.max(0,r.bottom-r.top)*t.options.cursorHeight+"px",r.other){var o=i.appendChild(N("div"," ","CodeMirror-cursor CodeMirror-secondarycursor"));o.style.display="",o.style.left=r.other.left+"px",o.style.top=r.other.top+"px",o.style.height=.85*(r.other.bottom-r.other.top)+"px"}}function hr(t,e){return t.top-e.top||t.left-e.left}function ur(s,t,e){var i=s.display,r=s.doc,n=document.createDocumentFragment(),o=bi(s.display),C=o.left,S=Math.max(i.sizerWidth,Ei(s)-i.sizer.offsetLeft)-o.right,A="ltr"==r.direction;function L(t,e,i,r){e<0&&(e=0),e=Math.round(e),r=Math.round(r),n.appendChild(N("div",null,"CodeMirror-selected","position: absolute; left: "+t+"px;\n top: "+e+"px; width: "+(null==i?S-t:i)+"px;\n height: "+(r-e)+"px"))}function a(i,v,y){var x,T,o=lt(r,i),k=o.text.length;function b(t,e){return Gi(s,gt(i,t),"div",o,e)}function w(t,e,i){var r=Qi(s,o,null,t),n="ltr"==e==("after"==i)?"left":"right";return b("after"==i?r.begin:r.end-(/\s/.test(o.text.charAt(r.end-1))?2:1),n)[n]}var E=Zt(o,r.direction);return function(t,e,i,r){if(!t)return r(e,i,"ltr",0);for(var n=!1,o=0;o<t.length;++o){var s=t[o];(s.from<i&&s.to>e||e==i&&s.to==e)&&(r(Math.max(s.from,e),Math.min(s.to,i),1==s.level?"rtl":"ltr",o),n=!0)}n||r(e,i,"ltr")}(E,v||0,null==y?k:y,function(t,e,i,r){var n="ltr"==i,o=b(t,n?"left":"right"),s=b(e-1,n?"right":"left"),a=null==v&&0==t,l=null==y&&e==k,c=0==r,h=!E||r==E.length-1;if(s.top-o.top<=3){var u=(A?l:a)&&h,f=(A?a:l)&&c?C:(n?o:s).left,d=u?S:(n?s:o).right;L(f,o.top,d-f,o.bottom)}else{var p,m,g,_;_=n?(p=A&&a&&c?C:o.left,m=A?S:w(t,i,"before"),g=A?C:w(e,i,"after"),A&&l&&h?S:s.right):(p=A?w(t,i,"before"):C,m=!A&&a&&c?S:o.right,g=!A&&l&&h?C:s.left,A?w(e,i,"after"):S),L(p,o.top,m-p,o.bottom),o.bottom<s.top&&L(C,o.bottom,null,s.top),L(g,s.top,_-g,s.bottom)}(!x||hr(o,x)<0)&&(x=o),hr(s,x)<0&&(x=s),(!T||hr(o,T)<0)&&(T=o),hr(s,T)<0&&(T=s)}),{start:x,end:T}}var l=t.from(),c=t.to();if(l.line==c.line)a(l.line,l.ch,c.ch);else{var h=lt(r,l.line),u=lt(r,c.line),f=zt(h)==zt(u),d=a(l.line,l.ch,f?h.text.length+1:null).end,p=a(c.line,f?0:null,c.ch).start;f&&(d.top<p.top-2?(L(d.right,d.top,null,d.bottom),L(C,p.top,p.left,p.bottom)):L(d.right,d.top,p.left-d.right,d.bottom)),d.bottom<p.top&&L(C,d.bottom,null,p.top)}e.appendChild(n)}function fr(t){if(t.state.focused){var e=t.display;clearInterval(e.blinker);var i=!0;e.cursorDiv.style.visibility="",0<t.options.cursorBlinkRate?e.blinker=setInterval(function(){return e.cursorDiv.style.visibility=(i=!i)?"":"hidden"},t.options.cursorBlinkRate):t.options.cursorBlinkRate<0&&(e.cursorDiv.style.visibility="hidden")}}function dr(t){t.state.focused||(t.display.input.focus(),mr(t))}function pr(t){t.state.delayingBlurEvent=!0,setTimeout(function(){t.state.delayingBlurEvent&&(t.state.delayingBlurEvent=!1,gr(t))},100)}function mr(t,e){t.state.delayingBlurEvent&&(t.state.delayingBlurEvent=!1),"nocursor"!=t.options.readOnly&&(t.state.focused||(ne(t,"focus",t,e),t.state.focused=!0,R(t.display.wrapper,"CodeMirror-focused"),t.curOp||t.display.selForContextMenu==t.doc.sel||(t.display.input.reset(),y&&setTimeout(function(){return t.display.input.reset(!0)},20)),t.display.input.receivedFocus()),fr(t))}function gr(t,e){t.state.delayingBlurEvent||(t.state.focused&&(ne(t,"blur",t,e),t.state.focused=!1,C(t.display.wrapper,"CodeMirror-focused")),clearInterval(t.display.blinker),setTimeout(function(){t.state.focused||(t.display.shift=!1)},150))}function _r(t){for(var e=t.display,i=e.lineDiv.offsetTop,r=0;r<e.view.length;r++){var n=e.view[r],o=t.options.lineWrapping,s=void 0,a=0;if(!n.hidden){if(T&&k<8){var l=n.node.offsetTop+n.node.offsetHeight;s=l-i,i=l}else{var c=n.node.getBoundingClientRect();s=c.bottom-c.top,!o&&n.text.firstChild&&(a=n.text.firstChild.getBoundingClientRect().right-c.left-1)}var h=n.line.height-s;if(s<2&&(s=Zi(e)),(.005<h||h<-.005)&&(ut(n.line,s),vr(n.line),n.rest))for(var u=0;u<n.rest.length;u++)vr(n.rest[u]);if(a>t.display.sizerWidth){var f=Math.ceil(a/tr(t.display));f>t.display.maxLineLength&&(t.display.maxLineLength=f,t.display.maxLine=n.line,t.display.maxLineChanged=!0)}}}}function vr(t){if(t.widgets)for(var e=0;e<t.widgets.length;++e){var i=t.widgets[e],r=i.node.parentNode;r&&(i.height=r.offsetHeight)}}function yr(t,e,i){var r=i&&null!=i.top?Math.max(0,i.top):t.scroller.scrollTop;r=Math.floor(r-Ti(t));var n=i&&null!=i.bottom?i.bottom:r+t.wrapper.clientHeight,o=dt(e,r),s=dt(e,n);if(i&&i.ensure){var a=i.ensure.from.line,l=i.ensure.to.line;a<o?s=dt(e,Yt(lt(e,o=a))+t.wrapper.clientHeight):Math.min(l,e.lastLine())>=s&&(o=dt(e,Yt(lt(e,l))-t.wrapper.clientHeight),s=l)}return{from:o,to:Math.max(s,o+1)}}function xr(t){var e=t.display,i=e.view;if(e.alignWidgets||e.gutters.firstChild&&t.options.fixedGutter){for(var r=ir(e)-e.scroller.scrollLeft+t.doc.scrollLeft,n=e.gutters.offsetWidth,o=r+"px",s=0;s<i.length;s++)if(!i[s].hidden){t.options.fixedGutter&&(i[s].gutter&&(i[s].gutter.style.left=o),i[s].gutterBackground&&(i[s].gutterBackground.style.left=o));var a=i[s].alignable;if(a)for(var l=0;l<a.length;l++)a[l].style.left=o}t.options.fixedGutter&&(e.gutters.style.left=r+n+"px")}}function Tr(t){if(!t.options.lineNumbers)return!1;var e=t.doc,i=mt(t.options,e.first+e.size-1),r=t.display;if(i.length==r.lineNumChars)return!1;var n=r.measure.appendChild(N("div",[N("div",i)],"CodeMirror-linenumber CodeMirror-gutter-elt")),o=n.firstChild.offsetWidth,s=n.offsetWidth-o;return r.lineGutter.style.width="",r.lineNumInnerWidth=Math.max(o,r.lineGutter.offsetWidth-s)+1,r.lineNumWidth=r.lineNumInnerWidth+s,r.lineNumChars=r.lineNumInnerWidth?i.length:-1,r.lineGutter.style.width=r.lineNumWidth+"px",an(t),!0}function kr(t,e){var i=t.display,r=Zi(t.display);e.top<0&&(e.top=0);var n=t.curOp&&null!=t.curOp.scrollTop?t.curOp.scrollTop:i.scroller.scrollTop,o=Ci(t),s={};e.bottom-e.top>o&&(e.bottom=e.top+o);var a=t.doc.height+ki(i),l=e.top<r,c=e.bottom>a-r;if(e.top<n)s.scrollTop=l?0:e.top;else if(e.bottom>n+o){var h=Math.min(e.top,(c?a:e.bottom)-o);h!=n&&(s.scrollTop=h)}var u=t.curOp&&null!=t.curOp.scrollLeft?t.curOp.scrollLeft:i.scroller.scrollLeft,f=Ei(t)-(t.options.fixedGutter?i.gutters.offsetWidth:0),d=e.right-e.left>f;return d&&(e.right=e.left+f),e.left<10?s.scrollLeft=0:e.left<u?s.scrollLeft=Math.max(0,e.left-(d?0:10)):e.right>f+u-3&&(s.scrollLeft=e.right+(d?0:10)-f),s}function br(t,e){null!=e&&(Cr(t),t.curOp.scrollTop=(null==t.curOp.scrollTop?t.doc.scrollTop:t.curOp.scrollTop)+e)}function wr(t){Cr(t);var e=t.getCursor();t.curOp.scrollToPos={from:e,to:e,margin:t.options.cursorScrollMargin}}function Er(t,e,i){null==e&&null==i||Cr(t),null!=e&&(t.curOp.scrollLeft=e),null!=i&&(t.curOp.scrollTop=i)}function Cr(t){var e=t.curOp.scrollToPos;e&&(t.curOp.scrollToPos=null,Sr(t,Vi(t,e.from),Vi(t,e.to),e.margin))}function Sr(t,e,i,r){var n=kr(t,{left:Math.min(e.left,i.left),top:Math.min(e.top,i.top)-r,right:Math.max(e.right,i.right),bottom:Math.max(e.bottom,i.bottom)+r});Er(t,n.scrollLeft,n.scrollTop)}function Ar(t,e){Math.abs(t.doc.scrollTop-e)<2||(m||sn(t,{top:e}),Lr(t,e,!0),m&&sn(t),tn(t,100))}function Lr(t,e,i){e=Math.min(t.display.scroller.scrollHeight-t.display.scroller.clientHeight,e),(t.display.scroller.scrollTop!=e||i)&&(t.doc.scrollTop=e,t.display.scrollbars.setScrollTop(e),t.display.scroller.scrollTop!=e&&(t.display.scroller.scrollTop=e))}function Nr(t,e,i,r){e=Math.min(e,t.display.scroller.scrollWidth-t.display.scroller.clientWidth),(i?e==t.doc.scrollLeft:Math.abs(t.doc.scrollLeft-e)<2)&&!r||(t.doc.scrollLeft=e,xr(t),t.display.scroller.scrollLeft!=e&&(t.display.scroller.scrollLeft=e),t.display.scrollbars.setScrollLeft(e))}function Or(t){var e=t.display,i=e.gutters.offsetWidth,r=Math.round(t.doc.height+ki(t.display));return{clientHeight:e.scroller.clientHeight,viewHeight:e.wrapper.clientHeight,scrollWidth:e.scroller.scrollWidth,clientWidth:e.scroller.clientWidth,viewWidth:e.wrapper.clientWidth,barLeft:t.options.fixedGutter?i:0,docHeight:r,scrollHeight:r+wi(t)+e.barHeight,nativeBarWidth:e.nativeBarWidth,gutterWidth:i}}var Ir=function(t,e,i){this.cm=i;var r=this.vert=N("div",[N("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),n=this.horiz=N("div",[N("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");r.tabIndex=n.tabIndex=-1,t(r),t(n),ee(r,"scroll",function(){r.clientHeight&&e(r.scrollTop,"vertical")}),ee(n,"scroll",function(){n.clientWidth&&e(n.scrollLeft,"horizontal")}),this.checkedZeroWidth=!1,T&&k<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};Ir.prototype.update=function(t){var e=t.scrollWidth>t.clientWidth+1,i=t.scrollHeight>t.clientHeight+1,r=t.nativeBarWidth;if(i){this.vert.style.display="block",this.vert.style.bottom=e?r+"px":"0";var n=t.viewHeight-(e?r:0);this.vert.firstChild.style.height=Math.max(0,t.scrollHeight-t.clientHeight+n)+"px"}else this.vert.style.display="",this.vert.firstChild.style.height="0";if(e){this.horiz.style.display="block",this.horiz.style.right=i?r+"px":"0",this.horiz.style.left=t.barLeft+"px";var o=t.viewWidth-t.barLeft-(i?r:0);this.horiz.firstChild.style.width=Math.max(0,t.scrollWidth-t.clientWidth+o)+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&0<t.clientHeight&&(0==r&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:i?r:0,bottom:e?r:0}},Ir.prototype.setScrollLeft=function(t){this.horiz.scrollLeft!=t&&(this.horiz.scrollLeft=t),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")},Ir.prototype.setScrollTop=function(t){this.vert.scrollTop!=t&&(this.vert.scrollTop=t),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")},Ir.prototype.zeroWidthHack=function(){var t=x&&!a?"12px":"18px";this.horiz.style.height=this.vert.style.width=t,this.horiz.style.pointerEvents=this.vert.style.pointerEvents="none",this.disableHoriz=new U,this.disableVert=new U},Ir.prototype.enableZeroWidthBar=function(i,r,n){i.style.pointerEvents="auto",r.set(1e3,function t(){var e=i.getBoundingClientRect();("vert"==n?document.elementFromPoint(e.right-1,(e.top+e.bottom)/2):document.elementFromPoint((e.right+e.left)/2,e.bottom-1))!=i?i.style.pointerEvents="none":r.set(1e3,t)})},Ir.prototype.clear=function(){var t=this.horiz.parentNode;t.removeChild(this.horiz),t.removeChild(this.vert)};var Rr=function(){};function Mr(t,e){e||(e=Or(t));var i=t.display.barWidth,r=t.display.barHeight;Dr(t,e);for(var n=0;n<4&&i!=t.display.barWidth||r!=t.display.barHeight;n++)i!=t.display.barWidth&&t.options.lineWrapping&&_r(t),Dr(t,Or(t)),i=t.display.barWidth,r=t.display.barHeight}function Dr(t,e){var i=t.display,r=i.scrollbars.update(e);i.sizer.style.paddingRight=(i.barWidth=r.right)+"px",i.sizer.style.paddingBottom=(i.barHeight=r.bottom)+"px",i.heightForcer.style.borderBottom=r.bottom+"px solid transparent",r.right&&r.bottom?(i.scrollbarFiller.style.display="block",i.scrollbarFiller.style.height=r.bottom+"px",i.scrollbarFiller.style.width=r.right+"px"):i.scrollbarFiller.style.display="",r.bottom&&t.options.coverGutterNextToScrollbar&&t.options.fixedGutter?(i.gutterFiller.style.display="block",i.gutterFiller.style.height=r.bottom+"px",i.gutterFiller.style.width=e.gutterWidth+"px"):i.gutterFiller.style.display=""}Rr.prototype.update=function(){return{bottom:0,right:0}},Rr.prototype.setScrollLeft=function(){},Rr.prototype.setScrollTop=function(){},Rr.prototype.clear=function(){};var Pr={native:Ir,null:Rr};function Br(i){i.display.scrollbars&&(i.display.scrollbars.clear(),i.display.scrollbars.addClass&&C(i.display.wrapper,i.display.scrollbars.addClass)),i.display.scrollbars=new Pr[i.options.scrollbarStyle](function(t){i.display.wrapper.insertBefore(t,i.display.scrollbarFiller),ee(t,"mousedown",function(){i.state.focused&&setTimeout(function(){return i.display.input.focus()},0)}),t.setAttribute("cm-not-content","true")},function(t,e){"horizontal"==e?Nr(i,t):Ar(i,t)},i),i.display.scrollbars.addClass&&R(i.display.wrapper,i.display.scrollbars.addClass)}var Fr=0;function Ur(t){var e;t.curOp={cm:t,viewChanged:!1,startHeight:t.doc.height,forceUpdate:!1,updateInput:0,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++Fr},e=t.curOp,oi?oi.ops.push(e):e.ownsGroup=oi={ops:[e],delayedCallbacks:[]}}function Hr(t){var e=t.curOp;e&&function(t,e){var i=t.ownsGroup;if(i)try{!function(t){var e=t.delayedCallbacks,i=0;do{for(;i<e.length;i++)e[i].call(null);for(var r=0;r<t.ops.length;r++){var n=t.ops[r];if(n.cursorActivityHandlers)for(;n.cursorActivityCalled<n.cursorActivityHandlers.length;)n.cursorActivityHandlers[n.cursorActivityCalled++].call(null,n.cm)}}while(i<e.length)}(i)}finally{oi=null,e(i)}}(e,function(t){for(var e=0;e<t.ops.length;e++)t.ops[e].cm.curOp=null;!function(t){for(var e=t.ops,i=0;i<e.length;i++)Wr(e[i]);for(var r=0;r<e.length;r++)(n=e[r]).updatedDisplay=n.mustUpdate&&nn(n.cm,n.update);var n;for(var o=0;o<e.length;o++)zr(e[o]);for(var s=0;s<e.length;s++)qr(e[s]);for(var a=0;a<e.length;a++)Gr(e[a])}(t)})}function Wr(t){var e,i,r=t.cm,n=r.display;!(i=(e=r).display).scrollbarsClipped&&i.scroller.offsetWidth&&(i.nativeBarWidth=i.scroller.offsetWidth-i.scroller.clientWidth,i.heightForcer.style.height=wi(e)+"px",i.sizer.style.marginBottom=-i.nativeBarWidth+"px",i.sizer.style.borderRightWidth=wi(e)+"px",i.scrollbarsClipped=!0),t.updateMaxLine&&$t(r),t.mustUpdate=t.viewChanged||t.forceUpdate||null!=t.scrollTop||t.scrollToPos&&(t.scrollToPos.from.line<n.viewFrom||t.scrollToPos.to.line>=n.viewTo)||n.maxLineChanged&&r.options.lineWrapping,t.update=t.mustUpdate&&new rn(r,t.mustUpdate&&{top:t.scrollTop,ensure:t.scrollToPos},t.forceUpdate)}function zr(t){var e=t.cm,i=e.display;t.updatedDisplay&&_r(e),t.barMeasure=Or(e),i.maxLineChanged&&!e.options.lineWrapping&&(t.adjustWidthTo=Ai(e,i.maxLine,i.maxLine.text.length).left+3,e.display.sizerWidth=t.adjustWidthTo,t.barMeasure.scrollWidth=Math.max(i.scroller.clientWidth,i.sizer.offsetLeft+t.adjustWidthTo+wi(e)+e.display.barWidth),t.maxScrollLeft=Math.max(0,i.sizer.offsetLeft+t.adjustWidthTo-Ei(e))),(t.updatedDisplay||t.selectionChanged)&&(t.preparedSelection=i.input.prepareSelection())}function qr(t){var e=t.cm;null!=t.adjustWidthTo&&(e.display.sizer.style.minWidth=t.adjustWidthTo+"px",t.maxScrollLeft<e.doc.scrollLeft&&Nr(e,Math.min(e.display.scroller.scrollLeft,t.maxScrollLeft),!0),e.display.maxLineChanged=!1);var i=t.focus&&t.focus==I();t.preparedSelection&&e.display.input.showSelection(t.preparedSelection,i),(t.updatedDisplay||t.startHeight!=e.doc.height)&&Mr(e,t.barMeasure),t.updatedDisplay&&ln(e,t.barMeasure),t.selectionChanged&&fr(e),e.state.focused&&t.updateInput&&e.display.input.reset(t.typing),i&&dr(t.cm)}function Gr(t){var e=t.cm,i=e.display,r=e.doc;(t.updatedDisplay&&on(e,t.update),null==i.wheelStartX||null==t.scrollTop&&null==t.scrollLeft&&!t.scrollToPos||(i.wheelStartX=i.wheelStartY=null),null!=t.scrollTop&&Lr(e,t.scrollTop,t.forceScroll),null!=t.scrollLeft&&Nr(e,t.scrollLeft,!0,!0),t.scrollToPos)&&function(t,e){if(!oe(t,"scrollCursorIntoView")){var i=t.display,r=i.sizer.getBoundingClientRect(),n=null;if(e.top+r.top<0?n=!0:e.bottom+r.top>(window.innerHeight||document.documentElement.clientHeight)&&(n=!1),null!=n&&!c){var o=N("div","​",null,"position: absolute;\n top: "+(e.top-i.viewOffset-Ti(t.display))+"px;\n height: "+(e.bottom-e.top+wi(t)+i.barHeight)+"px;\n left: "+e.left+"px; width: "+Math.max(2,e.right-e.left)+"px;");t.display.lineSpace.appendChild(o),o.scrollIntoView(n),t.display.lineSpace.removeChild(o)}}}(e,function(t,e,i,r){var n;null==r&&(r=0),t.options.lineWrapping||e!=i||(i="before"==(e=e.ch?gt(e.line,"before"==e.sticky?e.ch-1:e.ch,"after"):e).sticky?gt(e.line,e.ch+1,"before"):e);for(var o=0;o<5;o++){var s=!1,a=ji(t,e),l=i&&i!=e?ji(t,i):a,c=kr(t,n={left:Math.min(a.left,l.left),top:Math.min(a.top,l.top)-r,right:Math.max(a.left,l.left),bottom:Math.max(a.bottom,l.bottom)+r}),h=t.doc.scrollTop,u=t.doc.scrollLeft;if(null!=c.scrollTop&&(Ar(t,c.scrollTop),1<Math.abs(t.doc.scrollTop-h)&&(s=!0)),null!=c.scrollLeft&&(Nr(t,c.scrollLeft),1<Math.abs(t.doc.scrollLeft-u)&&(s=!0)),!s)break}return n}(e,bt(r,t.scrollToPos.from),bt(r,t.scrollToPos.to),t.scrollToPos.margin));var n=t.maybeHiddenMarkers,o=t.maybeUnhiddenMarkers;if(n)for(var s=0;s<n.length;++s)n[s].lines.length||ne(n[s],"hide");if(o)for(var a=0;a<o.length;++a)o[a].lines.length&&ne(o[a],"unhide");i.wrapper.offsetHeight&&(r.scrollTop=e.display.scroller.scrollTop),t.changeObjs&&ne(e,"changes",e,t.changeObjs),t.update&&t.update.finish()}function jr(t,e){if(t.curOp)return e();Ur(t);try{return e()}finally{Hr(t)}}function Vr(t,e){return function(){if(t.curOp)return e.apply(t,arguments);Ur(t);try{return e.apply(t,arguments)}finally{Hr(t)}}}function Yr(t){return function(){if(this.curOp)return t.apply(this,arguments);Ur(this);try{return t.apply(this,arguments)}finally{Hr(this)}}}function Kr(e){return function(){var t=this.cm;if(!t||t.curOp)return e.apply(this,arguments);Ur(t);try{return e.apply(this,arguments)}finally{Hr(t)}}}function $r(t,e,i,r){null==e&&(e=t.doc.first),null==i&&(i=t.doc.first+t.doc.size),r||(r=0);var n=t.display;if(r&&i<n.viewTo&&(null==n.updateLineNumbers||n.updateLineNumbers>e)&&(n.updateLineNumbers=e),t.curOp.viewChanged=!0,e>=n.viewTo)Ct&&qt(t.doc,e)<n.viewTo&&Xr(t);else if(i<=n.viewFrom)Ct&&Gt(t.doc,i+r)>n.viewFrom?Xr(t):(n.viewFrom+=r,n.viewTo+=r);else if(e<=n.viewFrom&&i>=n.viewTo)Xr(t);else if(e<=n.viewFrom){var o=Jr(t,i,i+r,1);o?(n.view=n.view.slice(o.index),n.viewFrom=o.lineN,n.viewTo+=r):Xr(t)}else if(i>=n.viewTo){var s=Jr(t,e,e,-1);s?(n.view=n.view.slice(0,s.index),n.viewTo=s.lineN):Xr(t)}else{var a=Jr(t,e,e,-1),l=Jr(t,i,i+r,1);a&&l?(n.view=n.view.slice(0,a.index).concat(ni(t,a.lineN,l.lineN)).concat(n.view.slice(l.index)),n.viewTo+=r):Xr(t)}var c=n.externalMeasured;c&&(i<c.lineN?c.lineN+=r:e<c.lineN+c.size&&(n.externalMeasured=null))}function Qr(t,e,i){t.curOp.viewChanged=!0;var r=t.display,n=t.display.externalMeasured;if(n&&e>=n.lineN&&e<n.lineN+n.size&&(r.externalMeasured=null),!(e<r.viewFrom||e>=r.viewTo)){var o=r.view[sr(t,e)];if(null!=o.node){var s=o.changes||(o.changes=[]);-1==H(s,i)&&s.push(i)}}}function Xr(t){t.display.viewFrom=t.display.viewTo=t.doc.first,t.display.view=[],t.display.viewOffset=0}function Jr(t,e,i,r){var n,o=sr(t,e),s=t.display.view;if(!Ct||i==t.doc.first+t.doc.size)return{index:o,lineN:i};for(var a=t.display.viewFrom,l=0;l<o;l++)a+=s[l].size;if(a!=e){if(0<r){if(o==s.length-1)return null;n=a+s[o].size-e,o++}else n=a-e;e+=n,i+=n}for(;qt(t.doc,i)!=i;){if(o==(r<0?0:s.length-1))return null;i+=r*s[o-(r<0?1:0)].size,o+=r}return{index:o,lineN:i}}function Zr(t){for(var e=t.display.view,i=0,r=0;r<e.length;r++){var n=e[r];n.hidden||n.node&&!n.changes||++i}return i}function tn(t,e){t.doc.highlightFrontier<t.display.viewTo&&t.state.highlight.set(e,P(en,t))}function en(l){var c=l.doc;if(!(c.highlightFrontier>=l.display.viewTo)){var h=+new Date+l.options.workTime,u=Ue(l,c.highlightFrontier),f=[];c.iter(u.line,Math.min(c.first+c.size,l.display.viewTo+500),function(t){if(u.line>=l.display.viewFrom){var e=t.styles,i=t.text.length>l.options.maxHighlightLength?Oe(c.mode,u.state):null,r=Be(l,t,u,!0);i&&(u.state=i),t.styles=r.styles;var n=t.styleClasses,o=r.classes;o?t.styleClasses=o:n&&(t.styleClasses=null);for(var s=!e||e.length!=t.styles.length||n!=o&&(!n||!o||n.bgClass!=o.bgClass||n.textClass!=o.textClass),a=0;!s&&a<e.length;++a)s=e[a]!=t.styles[a];s&&f.push(u.line),t.stateAfter=u.save(),u.nextLine()}else t.text.length<=l.options.maxHighlightLength&&He(l,t.text,u),t.stateAfter=u.line%5==0?u.save():null,u.nextLine();if(+new Date>h)return tn(l,l.options.workDelay),!0}),c.highlightFrontier=u.line,c.modeFrontier=Math.max(c.modeFrontier,u.line),f.length&&jr(l,function(){for(var t=0;t<f.length;t++)Qr(l,f[t],"text")})}}var rn=function(t,e,i){var r=t.display;this.viewport=e,this.visible=yr(r,t.doc,e),this.editorIsHidden=!r.wrapper.offsetWidth,this.wrapperHeight=r.wrapper.clientHeight,this.wrapperWidth=r.wrapper.clientWidth,this.oldDisplayWidth=Ei(t),this.force=i,this.dims=er(t),this.events=[]};function nn(t,e){var i=t.display,r=t.doc;if(e.editorIsHidden)return Xr(t),!1;if(!e.force&&e.visible.from>=i.viewFrom&&e.visible.to<=i.viewTo&&(null==i.updateLineNumbers||i.updateLineNumbers>=i.viewTo)&&i.renderedView==i.view&&0==Zr(t))return!1;Tr(t)&&(Xr(t),e.dims=er(t));var n=r.first+r.size,o=Math.max(e.visible.from-t.options.viewportMargin,r.first),s=Math.min(n,e.visible.to+t.options.viewportMargin);i.viewFrom<o&&o-i.viewFrom<20&&(o=Math.max(r.first,i.viewFrom)),i.viewTo>s&&i.viewTo-s<20&&(s=Math.min(n,i.viewTo)),Ct&&(o=qt(t.doc,o),s=Gt(t.doc,s));var a,l,c,h,u=o!=i.viewFrom||s!=i.viewTo||i.lastWrapHeight!=e.wrapperHeight||i.lastWrapWidth!=e.wrapperWidth;l=o,c=s,0==(h=(a=t).display).view.length||l>=h.viewTo||c<=h.viewFrom?(h.view=ni(a,l,c),h.viewFrom=l):(h.viewFrom>l?h.view=ni(a,l,h.viewFrom).concat(h.view):h.viewFrom<l&&(h.view=h.view.slice(sr(a,l))),h.viewFrom=l,h.viewTo<c?h.view=h.view.concat(ni(a,h.viewTo,c)):h.viewTo>c&&(h.view=h.view.slice(0,sr(a,c)))),h.viewTo=c,i.viewOffset=Yt(lt(t.doc,i.viewFrom)),t.display.mover.style.top=i.viewOffset+"px";var f=Zr(t);if(!u&&0==f&&!e.force&&i.renderedView==i.view&&(null==i.updateLineNumbers||i.updateLineNumbers>=i.viewTo))return!1;var d=function(t){if(t.hasFocus())return null;var e=I();if(!e||!O(t.display.lineDiv,e))return null;var i={activeElt:e};if(window.getSelection){var r=window.getSelection();r.anchorNode&&r.extend&&O(t.display.lineDiv,r.anchorNode)&&(i.anchorNode=r.anchorNode,i.anchorOffset=r.anchorOffset,i.focusNode=r.focusNode,i.focusOffset=r.focusOffset)}return i}(t);return 4<f&&(i.lineDiv.style.display="none"),function(i,t,e){var r=i.display,n=i.options.lineNumbers,o=r.lineDiv,s=o.firstChild;function a(t){var e=t.nextSibling;return y&&x&&i.display.currentWheelTarget==t?t.style.display="none":t.parentNode.removeChild(t),e}for(var l=r.view,c=r.viewFrom,h=0;h<l.length;h++){var u=l[h];if(u.hidden);else if(u.node&&u.node.parentNode==o){for(;s!=u.node;)s=a(s);var f=n&&null!=t&&t<=c&&u.lineNumber;u.changes&&(-1<H(u.changes,"gutter")&&(f=!1),ci(i,u,c,e)),f&&(S(u.lineNumber),u.lineNumber.appendChild(document.createTextNode(mt(i.options,c)))),s=u.node.nextSibling}else{var d=(g=c,_=e,void 0,v=ui(p=i,m=u),m.text=m.node=v.pre,v.bgClass&&(m.bgClass=v.bgClass),v.textClass&&(m.textClass=v.textClass),di(p,m),pi(p,m,g,_),gi(p,m,_),m.node);o.insertBefore(d,s)}c+=u.size}var p,m,g,_,v;for(;s;)s=a(s)}(t,i.updateLineNumbers,e.dims),4<f&&(i.lineDiv.style.display=""),i.renderedView=i.view,function(t){if(t&&t.activeElt&&t.activeElt!=I()&&(t.activeElt.focus(),t.anchorNode&&O(document.body,t.anchorNode)&&O(document.body,t.focusNode))){var e=window.getSelection(),i=document.createRange();i.setEnd(t.anchorNode,t.anchorOffset),i.collapse(!1),e.removeAllRanges(),e.addRange(i),e.extend(t.focusNode,t.focusOffset)}}(d),S(i.cursorDiv),S(i.selectionDiv),i.gutters.style.height=i.sizer.style.minHeight=0,u&&(i.lastWrapHeight=e.wrapperHeight,i.lastWrapWidth=e.wrapperWidth,tn(t,400)),!(i.updateLineNumbers=null)}function on(t,e){for(var i=e.viewport,r=!0;(r&&t.options.lineWrapping&&e.oldDisplayWidth!=Ei(t)||(i&&null!=i.top&&(i={top:Math.min(t.doc.height+ki(t.display)-Ci(t),i.top)}),e.visible=yr(t.display,t.doc,i),!(e.visible.from>=t.display.viewFrom&&e.visible.to<=t.display.viewTo)))&&nn(t,e);r=!1){_r(t);var n=Or(t);ar(t),Mr(t,n),ln(t,n),e.force=!1}e.signal(t,"update",t),t.display.viewFrom==t.display.reportedViewFrom&&t.display.viewTo==t.display.reportedViewTo||(e.signal(t,"viewportChange",t,t.display.viewFrom,t.display.viewTo),t.display.reportedViewFrom=t.display.viewFrom,t.display.reportedViewTo=t.display.viewTo)}function sn(t,e){var i=new rn(t,e);if(nn(t,i)){_r(t),on(t,i);var r=Or(t);ar(t),Mr(t,r),ln(t,r),i.finish()}}function an(t){var e=t.display.gutters.offsetWidth;t.display.sizer.style.marginLeft=e+"px"}function ln(t,e){t.display.sizer.style.minHeight=e.docHeight+"px",t.display.heightForcer.style.top=e.docHeight+"px",t.display.gutters.style.height=e.docHeight+t.display.barHeight+wi(t)+"px"}function cn(t){var e=t.display.gutters,i=t.options.gutters;S(e);for(var r=0;r<i.length;++r){var n=i[r],o=e.appendChild(N("div",null,"CodeMirror-gutter "+n));"CodeMirror-linenumbers"==n&&((t.display.lineGutter=o).style.width=(t.display.lineNumWidth||1)+"px")}e.style.display=r?"":"none",an(t)}function hn(t){var e=H(t.gutters,"CodeMirror-linenumbers");-1==e&&t.lineNumbers?t.gutters=t.gutters.concat(["CodeMirror-linenumbers"]):-1<e&&!t.lineNumbers&&(t.gutters=t.gutters.slice(0),t.gutters.splice(e,1))}rn.prototype.signal=function(t,e){ae(t,e)&&this.events.push(arguments)},rn.prototype.finish=function(){for(var t=0;t<this.events.length;t++)ne.apply(null,this.events[t])};var un=0,fn=null;function dn(t){var e=t.wheelDeltaX,i=t.wheelDeltaY;return null==e&&t.detail&&t.axis==t.HORIZONTAL_AXIS&&(e=t.detail),null==i&&t.detail&&t.axis==t.VERTICAL_AXIS?i=t.detail:null==i&&(i=t.wheelDelta),{x:e,y:i}}function pn(t){var e=dn(t);return e.x*=fn,e.y*=fn,e}function mn(t,e){var i=dn(e),r=i.x,n=i.y,o=t.display,s=o.scroller,a=s.scrollWidth>s.clientWidth,l=s.scrollHeight>s.clientHeight;if(r&&a||n&&l){if(n&&x&&y)t:for(var c=e.target,h=o.view;c!=s;c=c.parentNode)for(var u=0;u<h.length;u++)if(h[u].node==c){t.display.currentWheelTarget=c;break t}if(r&&!m&&!g&&null!=fn)return n&&l&&Ar(t,Math.max(0,s.scrollTop+n*fn)),Nr(t,Math.max(0,s.scrollLeft+r*fn)),(!n||n&&l)&&ce(e),void(o.wheelStartX=null);if(n&&null!=fn){var f=n*fn,d=t.doc.scrollTop,p=d+o.wrapper.clientHeight;f<0?d=Math.max(0,d+f-50):p=Math.min(t.doc.height,p+f+50),sn(t,{top:d,bottom:p})}un<20&&(null==o.wheelStartX?(o.wheelStartX=s.scrollLeft,o.wheelStartY=s.scrollTop,o.wheelDX=r,o.wheelDY=n,setTimeout(function(){if(null!=o.wheelStartX){var t=s.scrollLeft-o.wheelStartX,e=s.scrollTop-o.wheelStartY,i=e&&o.wheelDY&&e/o.wheelDY||t&&o.wheelDX&&t/o.wheelDX;o.wheelStartX=o.wheelStartY=null,i&&(fn=(fn*un+i)/(un+1),++un)}},200)):(o.wheelDX+=r,o.wheelDY+=n))}}T?fn=-.53:m?fn=15:s?fn=-.7:l&&(fn=-1/3);var gn=function(t,e){this.ranges=t,this.primIndex=e};gn.prototype.primary=function(){return this.ranges[this.primIndex]},gn.prototype.equals=function(t){if(t==this)return!0;if(t.primIndex!=this.primIndex||t.ranges.length!=this.ranges.length)return!1;for(var e=0;e<this.ranges.length;e++){var i=this.ranges[e],r=t.ranges[e];if(!vt(i.anchor,r.anchor)||!vt(i.head,r.head))return!1}return!0},gn.prototype.deepCopy=function(){for(var t=[],e=0;e<this.ranges.length;e++)t[e]=new _n(yt(this.ranges[e].anchor),yt(this.ranges[e].head));return new gn(t,this.primIndex)},gn.prototype.somethingSelected=function(){for(var t=0;t<this.ranges.length;t++)if(!this.ranges[t].empty())return!0;return!1},gn.prototype.contains=function(t,e){e||(e=t);for(var i=0;i<this.ranges.length;i++){var r=this.ranges[i];if(0<=_t(e,r.from())&&_t(t,r.to())<=0)return i}return-1};var _n=function(t,e){this.anchor=t,this.head=e};function vn(t,e,i){var r=t&&t.options.selectionsMayTouch,n=e[i];e.sort(function(t,e){return _t(t.from(),e.from())}),i=H(e,n);for(var o=1;o<e.length;o++){var s=e[o],a=e[o-1],l=_t(a.to(),s.from());if(r&&!s.empty()?0<l:0<=l){var c=Tt(a.from(),s.from()),h=xt(a.to(),s.to()),u=a.empty()?s.from()==s.head:a.from()==a.head;o<=i&&--i,e.splice(--o,2,new _n(u?h:c,u?c:h))}}return new gn(e,i)}function yn(t,e){return new gn([new _n(t,e||t)],0)}function xn(t){return t.text?gt(t.from.line+t.text.length-1,$(t.text).length+(1==t.text.length?t.from.ch:0)):t.to}function Tn(t,e){if(_t(t,e.from)<0)return t;if(_t(t,e.to)<=0)return xn(e);var i=t.line+e.text.length-(e.to.line-e.from.line)-1,r=t.ch;return t.line==e.to.line&&(r+=xn(e).ch-e.to.ch),gt(i,r)}function kn(t,e){for(var i=[],r=0;r<t.sel.ranges.length;r++){var n=t.sel.ranges[r];i.push(new _n(Tn(n.anchor,e),Tn(n.head,e)))}return vn(t.cm,i,t.sel.primIndex)}function bn(t,e,i){return t.line==e.line?gt(i.line,t.ch-e.ch+i.ch):gt(i.line+(t.line-e.line),t.ch)}function wn(t){t.doc.mode=Ae(t.options,t.doc.modeOption),En(t)}function En(t){t.doc.iter(function(t){t.stateAfter&&(t.stateAfter=null),t.styles&&(t.styles=null)}),t.doc.modeFrontier=t.doc.highlightFrontier=t.doc.first,tn(t,100),t.state.modeGen++,t.curOp&&$r(t)}function Cn(t,e){return 0==e.from.ch&&0==e.to.ch&&""==$(e.text)&&(!t.cm||t.cm.options.wholeLineUpdateBefore)}function Sn(t,r,e,n){function o(t){return e?e[t]:null}function i(t,e,i){!function(t,e,i,r){t.text=e,t.stateAfter&&(t.stateAfter=null),t.styles&&(t.styles=null),null!=t.order&&(t.order=null),It(t),Rt(t,i);var n=r?r(t):1;n!=t.height&&ut(t,n)}(t,e,i,n),ai(t,"change",t,r)}function s(t,e){for(var i=[],r=t;r<e;++r)i.push(new Ye(c[r],o(r),n));return i}var a=r.from,l=r.to,c=r.text,h=lt(t,a.line),u=lt(t,l.line),f=$(c),d=o(c.length-1),p=l.line-a.line;if(r.full)t.insert(0,s(0,c.length)),t.remove(c.length,t.size-c.length);else if(Cn(t,r)){var m=s(0,c.length-1);i(u,u.text,d),p&&t.remove(a.line,p),m.length&&t.insert(a.line,m)}else if(h==u)if(1==c.length)i(h,h.text.slice(0,a.ch)+f+h.text.slice(l.ch),d);else{var g=s(1,c.length-1);g.push(new Ye(f+h.text.slice(l.ch),d,n)),i(h,h.text.slice(0,a.ch)+c[0],o(0)),t.insert(a.line+1,g)}else if(1==c.length)i(h,h.text.slice(0,a.ch)+c[0]+u.text.slice(l.ch),o(0)),t.remove(a.line+1,p);else{i(h,h.text.slice(0,a.ch)+c[0],o(0)),i(u,f+u.text.slice(l.ch),d);var _=s(1,c.length-1);1<p&&t.remove(a.line+1,p-1),t.insert(a.line+1,_)}ai(t,"change",t,r)}function An(t,a,l){!function t(e,i,r){if(e.linked)for(var n=0;n<e.linked.length;++n){var o=e.linked[n];if(o.doc!=i){var s=r&&o.sharedHist;l&&!s||(a(o.doc,s),t(o.doc,e,s))}}}(t,null,!0)}function Ln(t,e){if(e.cm)throw new Error("This document is already in use.");nr((t.doc=e).cm=t),wn(t),Nn(t),t.options.lineWrapping||$t(t),t.options.mode=e.modeOption,$r(t)}function Nn(t){("rtl"==t.doc.direction?R:C)(t.display.lineDiv,"CodeMirror-rtl")}function On(t){this.done=[],this.undone=[],this.undoDepth=1/0,this.lastModTime=this.lastSelTime=0,this.lastOp=this.lastSelOp=null,this.lastOrigin=this.lastSelOrigin=null,this.generation=this.maxGeneration=t||1}function In(t,e){var i={from:yt(e.from),to:xn(e),text:ct(t,e.from,e.to)};return Bn(t,i,e.from.line,e.to.line+1),An(t,function(t){return Bn(t,i,e.from.line,e.to.line+1)},!0),i}function Rn(t){for(;t.length;){if(!$(t).ranges)break;t.pop()}}function Mn(t,e,i,r){var n=t.history;n.undone.length=0;var o,s,a,l=+new Date;if((n.lastOp==r||n.lastOrigin==e.origin&&e.origin&&("+"==e.origin.charAt(0)&&n.lastModTime>l-(t.cm?t.cm.options.historyEventDelay:500)||"*"==e.origin.charAt(0)))&&(o=(a=n).lastOp==r?(Rn(a.done),$(a.done)):a.done.length&&!$(a.done).ranges?$(a.done):1<a.done.length&&!a.done[a.done.length-2].ranges?(a.done.pop(),$(a.done)):void 0))s=$(o.changes),0==_t(e.from,e.to)&&0==_t(e.from,s.to)?s.to=xn(e):o.changes.push(In(t,e));else{var c=$(n.done);for(c&&c.ranges||Pn(t.sel,n.done),o={changes:[In(t,e)],generation:n.generation},n.done.push(o);n.done.length>n.undoDepth;)n.done.shift(),n.done[0].ranges||n.done.shift()}n.done.push(i),n.generation=++n.maxGeneration,n.lastModTime=n.lastSelTime=l,n.lastOp=n.lastSelOp=r,n.lastOrigin=n.lastSelOrigin=e.origin,s||ne(t,"historyAdded")}function Dn(t,e,i,r){var n,o,s,a,l,c=t.history,h=r&&r.origin;i==c.lastSelOp||h&&c.lastSelOrigin==h&&(c.lastModTime==c.lastSelTime&&c.lastOrigin==h||(n=t,o=h,s=$(c.done),a=e,"*"==(l=o.charAt(0))||"+"==l&&s.ranges.length==a.ranges.length&&s.somethingSelected()==a.somethingSelected()&&new Date-n.history.lastSelTime<=(n.cm?n.cm.options.historyEventDelay:500)))?c.done[c.done.length-1]=e:Pn(e,c.done),c.lastSelTime=+new Date,c.lastSelOrigin=h,c.lastSelOp=i,r&&!1!==r.clearRedo&&Rn(c.undone)}function Pn(t,e){var i=$(e);i&&i.ranges&&i.equals(t)||e.push(t)}function Bn(e,i,t,r){var n=i["spans_"+e.id],o=0;e.iter(Math.max(e.first,t),Math.min(e.first+e.size,r),function(t){t.markedSpans&&((n||(n=i["spans_"+e.id]={}))[o]=t.markedSpans),++o})}function Fn(t){if(!t)return null;for(var e,i=0;i<t.length;++i)t[i].marker.explicitlyCleared?e||(e=t.slice(0,i)):e&&e.push(t[i]);return e?e.length?e:null:t}function Un(t,e){var i=function(t,e){var i=e["spans_"+t.id];if(!i)return null;for(var r=[],n=0;n<e.text.length;++n)r.push(Fn(i[n]));return r}(t,e),r=Nt(t,e);if(!i)return r;if(!r)return i;for(var n=0;n<i.length;++n){var o=i[n],s=r[n];if(o&&s)t:for(var a=0;a<s.length;++a){for(var l=s[a],c=0;c<o.length;++c)if(o[c].marker==l.marker)continue t;o.push(l)}else s&&(i[n]=s)}return i}function Hn(t,e,i){for(var r=[],n=0;n<t.length;++n){var o=t[n];if(o.ranges)r.push(i?gn.prototype.deepCopy.call(o):o);else{var s=o.changes,a=[];r.push({changes:a});for(var l=0;l<s.length;++l){var c=s[l],h=void 0;if(a.push({from:c.from,to:c.to,text:c.text}),e)for(var u in c)(h=u.match(/^spans_(\d+)$/))&&-1<H(e,Number(h[1]))&&($(a)[u]=c[u],delete c[u])}}}return r}function Wn(t,e,i,r){if(r){var n=t.anchor;if(i){var o=_t(e,n)<0;o!=_t(i,n)<0?(n=e,e=i):o!=_t(e,i)<0&&(e=i)}return new _n(n,e)}return new _n(i||e,e)}function zn(t,e,i,r,n){null==n&&(n=t.cm&&(t.cm.display.shift||t.extend)),Yn(t,new gn([Wn(t.sel.primary(),e,i,n)],0),r)}function qn(t,e,i){for(var r=[],n=t.cm&&(t.cm.display.shift||t.extend),o=0;o<t.sel.ranges.length;o++)r[o]=Wn(t.sel.ranges[o],e[o],null,n);Yn(t,vn(t.cm,r,t.sel.primIndex),i)}function Gn(t,e,i,r){var n=t.sel.ranges.slice(0);n[e]=i,Yn(t,vn(t.cm,n,t.sel.primIndex),r)}function jn(t,e,i,r){Yn(t,yn(e,i),r)}function Vn(t,e,i){var r=t.history.done,n=$(r);n&&n.ranges?Kn(t,r[r.length-1]=e,i):Yn(t,e,i)}function Yn(t,e,i){Kn(t,e,i),Dn(t,t.sel,t.cm?t.cm.curOp.id:NaN,i)}function Kn(t,e,i){var r,n,o,s;(ae(t,"beforeSelectionChange")||t.cm&&ae(t.cm,"beforeSelectionChange"))&&(r=t,o=i,s={ranges:(n=e).ranges,update:function(t){this.ranges=[];for(var e=0;e<t.length;e++)this.ranges[e]=new _n(bt(r,t[e].anchor),bt(r,t[e].head))},origin:o&&o.origin},ne(r,"beforeSelectionChange",r,s),r.cm&&ne(r.cm,"beforeSelectionChange",r.cm,s),e=s.ranges!=n.ranges?vn(r.cm,s.ranges,s.ranges.length-1):n),$n(t,Xn(t,e,i&&i.bias||(_t(e.primary().head,t.sel.primary().head)<0?-1:1),!0)),i&&!1===i.scroll||!t.cm||wr(t.cm)}function $n(t,e){e.equals(t.sel)||(t.sel=e,t.cm&&(t.cm.curOp.updateInput=1,t.cm.curOp.selectionChanged=!0,se(t.cm)),ai(t,"cursorActivity",t))}function Qn(t){$n(t,Xn(t,t.sel,null,!1))}function Xn(t,e,i,r){for(var n,o=0;o<e.ranges.length;o++){var s=e.ranges[o],a=e.ranges.length==t.sel.ranges.length&&t.sel.ranges[o],l=Zn(t,s.anchor,a&&a.anchor,i,r),c=Zn(t,s.head,a&&a.head,i,r);(n||l!=s.anchor||c!=s.head)&&(n||(n=e.ranges.slice(0,o)),n[o]=new _n(l,c))}return n?vn(t.cm,n,e.primIndex):e}function Jn(t,e,i,r,n){var o=lt(t,e.line);if(o.markedSpans)for(var s=0;s<o.markedSpans.length;++s){var a=o.markedSpans[s],l=a.marker;if((null==a.from||(l.inclusiveLeft?a.from<=e.ch:a.from<e.ch))&&(null==a.to||(l.inclusiveRight?a.to>=e.ch:a.to>e.ch))){if(n&&(ne(l,"beforeCursorEnter"),l.explicitlyCleared)){if(o.markedSpans){--s;continue}break}if(!l.atomic)continue;if(i){var c=l.find(r<0?1:-1),h=void 0;if((r<0?l.inclusiveRight:l.inclusiveLeft)&&(c=to(t,c,-r,c&&c.line==e.line?o:null)),c&&c.line==e.line&&(h=_t(c,i))&&(r<0?h<0:0<h))return Jn(t,c,e,r,n)}var u=l.find(r<0?-1:1);return(r<0?l.inclusiveLeft:l.inclusiveRight)&&(u=to(t,u,r,u.line==e.line?o:null)),u?Jn(t,u,e,r,n):null}}return e}function Zn(t,e,i,r,n){var o=r||1,s=Jn(t,e,i,o,n)||!n&&Jn(t,e,i,o,!0)||Jn(t,e,i,-o,n)||!n&&Jn(t,e,i,-o,!0);return s||(t.cantEdit=!0,gt(t.first,0))}function to(t,e,i,r){return i<0&&0==e.ch?e.line>t.first?bt(t,gt(e.line-1)):null:0<i&&e.ch==(r||lt(t,e.line)).text.length?e.line<t.first+t.size-1?gt(e.line+1,0):null:new gt(e.line,e.ch+i)}function eo(t){t.setSelection(gt(t.firstLine(),0),gt(t.lastLine()),q)}function io(n,t,e){var o={canceled:!1,from:t.from,to:t.to,text:t.text,origin:t.origin,cancel:function(){return o.canceled=!0}};return e&&(o.update=function(t,e,i,r){t&&(o.from=bt(n,t)),e&&(o.to=bt(n,e)),i&&(o.text=i),void 0!==r&&(o.origin=r)}),ne(n,"beforeChange",n,o),n.cm&&ne(n.cm,"beforeChange",n.cm,o),o.canceled?(n.cm&&(n.cm.curOp.updateInput=2),null):{from:o.from,to:o.to,text:o.text,origin:o.origin}}function ro(t,e,i){if(t.cm){if(!t.cm.curOp)return Vr(t.cm,ro)(t,e,i);if(t.cm.state.suppressEdits)return}if(!(ae(t,"beforeChange")||t.cm&&ae(t.cm,"beforeChange"))||(e=io(t,e,!0))){var r=Et&&!i&&function(t,e,i){var r=null;if(t.iter(e.line,i.line+1,function(t){if(t.markedSpans)for(var e=0;e<t.markedSpans.length;++e){var i=t.markedSpans[e].marker;!i.readOnly||r&&-1!=H(r,i)||(r||(r=[])).push(i)}}),!r)return null;for(var n=[{from:e,to:i}],o=0;o<r.length;++o)for(var s=r[o],a=s.find(0),l=0;l<n.length;++l){var c=n[l];if(!(_t(c.to,a.from)<0||0<_t(c.from,a.to))){var h=[l,1],u=_t(c.from,a.from),f=_t(c.to,a.to);(u<0||!s.inclusiveLeft&&!u)&&h.push({from:c.from,to:a.from}),(0<f||!s.inclusiveRight&&!f)&&h.push({from:a.to,to:c.to}),n.splice.apply(n,h),l+=h.length-3}}return n}(t,e.from,e.to);if(r)for(var n=r.length-1;0<=n;--n)no(t,{from:r[n].from,to:r[n].to,text:n?[""]:e.text,origin:e.origin});else no(t,e)}}function no(t,i){if(1!=i.text.length||""!=i.text[0]||0!=_t(i.from,i.to)){var e=kn(t,i);Mn(t,i,e,t.cm?t.cm.curOp.id:NaN),ao(t,i,e,Nt(t,i));var r=[];An(t,function(t,e){e||-1!=H(r,t.history)||(uo(t.history,i),r.push(t.history)),ao(t,i,null,Nt(t,i))})}}function oo(n,o,t){var e=n.cm&&n.cm.state.suppressEdits;if(!e||t){for(var s,i=n.history,r=n.sel,a="undo"==o?i.done:i.undone,l="undo"==o?i.undone:i.done,c=0;c<a.length&&(s=a[c],t?!s.ranges||s.equals(n.sel):s.ranges);c++);if(c!=a.length){for(i.lastOrigin=i.lastSelOrigin=null;;){if(!(s=a.pop()).ranges){if(e)return void a.push(s);break}if(Pn(s,l),t&&!s.equals(n.sel))return void Yn(n,s,{clearRedo:!1});r=s}var h=[];Pn(r,l),l.push({changes:h,generation:i.generation}),i.generation=s.generation||++i.maxGeneration;for(var u=ae(n,"beforeChange")||n.cm&&ae(n.cm,"beforeChange"),f=function(t){var i=s.changes[t];if(i.origin=o,u&&!io(n,i,!1))return a.length=0,{};h.push(In(n,i));var e=t?kn(n,i):$(a);ao(n,i,e,Un(n,i)),!t&&n.cm&&n.cm.scrollIntoView({from:i.from,to:xn(i)});var r=[];An(n,function(t,e){e||-1!=H(r,t.history)||(uo(t.history,i),r.push(t.history)),ao(t,i,null,Un(t,i))})},d=s.changes.length-1;0<=d;--d){var p=f(d);if(p)return p.v}}}}function so(t,e){if(0!=e&&(t.first+=e,t.sel=new gn(Q(t.sel.ranges,function(t){return new _n(gt(t.anchor.line+e,t.anchor.ch),gt(t.head.line+e,t.head.ch))}),t.sel.primIndex),t.cm)){$r(t.cm,t.first,t.first-e,e);for(var i=t.cm.display,r=i.viewFrom;r<i.viewTo;r++)Qr(t.cm,r,"gutter")}}function ao(t,e,i,r){if(t.cm&&!t.cm.curOp)return Vr(t.cm,ao)(t,e,i,r);if(e.to.line<t.first)so(t,e.text.length-1-(e.to.line-e.from.line));else if(!(e.from.line>t.lastLine())){if(e.from.line<t.first){var n=e.text.length-1-(t.first-e.from.line);so(t,n),e={from:gt(t.first,0),to:gt(e.to.line+n,e.to.ch),text:[$(e.text)],origin:e.origin}}var o=t.lastLine();e.to.line>o&&(e={from:e.from,to:gt(o,lt(t,o).text.length),text:[e.text[0]],origin:e.origin}),e.removed=ct(t,e.from,e.to),i||(i=kn(t,e)),t.cm?function(t,e,i){var r=t.doc,n=t.display,o=e.from,s=e.to,a=!1,l=o.line;t.options.lineWrapping||(l=ft(zt(lt(r,o.line))),r.iter(l,s.line+1,function(t){if(t==n.maxLine)return a=!0}));-1<r.sel.contains(e.from,e.to)&&se(t);Sn(r,e,i,rr(t)),t.options.lineWrapping||(r.iter(l,o.line+e.text.length,function(t){var e=Kt(t);e>n.maxLineLength&&(n.maxLine=t,n.maxLineLength=e,n.maxLineChanged=!0,a=!1)}),a&&(t.curOp.updateMaxLine=!0));(function(t,e){if(t.modeFrontier=Math.min(t.modeFrontier,e),!(t.highlightFrontier<e-10)){for(var i=t.first,r=e-1;i<r;r--){var n=lt(t,r).stateAfter;if(n&&(!(n instanceof De)||r+n.lookAhead<e)){i=r+1;break}}t.highlightFrontier=Math.min(t.highlightFrontier,i)}})(r,o.line),tn(t,400);var c=e.text.length-(s.line-o.line)-1;e.full?$r(t):o.line!=s.line||1!=e.text.length||Cn(t.doc,e)?$r(t,o.line,s.line+1,c):Qr(t,o.line,"text");var h=ae(t,"changes"),u=ae(t,"change");if(u||h){var f={from:o,to:s,text:e.text,removed:e.removed,origin:e.origin};u&&ai(t,"change",t,f),h&&(t.curOp.changeObjs||(t.curOp.changeObjs=[])).push(f)}t.display.selForContextMenu=null}(t.cm,e,r):Sn(t,e,r),Kn(t,i,q)}}function lo(t,e,i,r,n){var o;r||(r=i),_t(r,i)<0&&(i=(o=[r,i])[0],r=o[1]),"string"==typeof e&&(e=t.splitLines(e)),ro(t,{from:i,to:r,text:e,origin:n})}function co(t,e,i,r){i<t.line?t.line+=r:e<t.line&&(t.line=e,t.ch=0)}function ho(t,e,i,r){for(var n=0;n<t.length;++n){var o=t[n],s=!0;if(o.ranges){o.copied||((o=t[n]=o.deepCopy()).copied=!0);for(var a=0;a<o.ranges.length;a++)co(o.ranges[a].anchor,e,i,r),co(o.ranges[a].head,e,i,r)}else{for(var l=0;l<o.changes.length;++l){var c=o.changes[l];if(i<c.from.line)c.from=gt(c.from.line+r,c.from.ch),c.to=gt(c.to.line+r,c.to.ch);else if(e<=c.to.line){s=!1;break}}s||(t.splice(0,n+1),n=0)}}}function uo(t,e){var i=e.from.line,r=e.to.line,n=e.text.length-(r-i)-1;ho(t.done,i,r,n),ho(t.undone,i,r,n)}function fo(t,e,i,r){var n=e,o=e;return"number"==typeof e?o=lt(t,kt(t,e)):n=ft(e),null==n?null:(r(o,n)&&t.cm&&Qr(t.cm,n,i),o)}function po(t){this.lines=t,this.parent=null;for(var e=0,i=0;i<t.length;++i)t[i].parent=this,e+=t[i].height;this.height=e}function mo(t){this.children=t;for(var e=0,i=0,r=0;r<t.length;++r){var n=t[r];e+=n.chunkSize(),i+=n.height,n.parent=this}this.size=e,this.height=i,this.parent=null}_n.prototype.from=function(){return Tt(this.anchor,this.head)},_n.prototype.to=function(){return xt(this.anchor,this.head)},_n.prototype.empty=function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch},po.prototype={chunkSize:function(){return this.lines.length},removeInner:function(t,e){for(var i,r=t,n=t+e;r<n;++r){var o=this.lines[r];this.height-=o.height,(i=o).parent=null,It(i),ai(o,"delete")}this.lines.splice(t,e)},collapse:function(t){t.push.apply(t,this.lines)},insertInner:function(t,e,i){this.height+=i,this.lines=this.lines.slice(0,t).concat(e).concat(this.lines.slice(t));for(var r=0;r<e.length;++r)e[r].parent=this},iterN:function(t,e,i){for(var r=t+e;t<r;++t)if(i(this.lines[t]))return!0}},mo.prototype={chunkSize:function(){return this.size},removeInner:function(t,e){this.size-=e;for(var i=0;i<this.children.length;++i){var r=this.children[i],n=r.chunkSize();if(t<n){var o=Math.min(e,n-t),s=r.height;if(r.removeInner(t,o),this.height-=s-r.height,n==o&&(this.children.splice(i--,1),r.parent=null),0==(e-=o))break;t=0}else t-=n}if(this.size-e<25&&(1<this.children.length||!(this.children[0]instanceof po))){var a=[];this.collapse(a),this.children=[new po(a)],this.children[0].parent=this}},collapse:function(t){for(var e=0;e<this.children.length;++e)this.children[e].collapse(t)},insertInner:function(t,e,i){this.size+=e.length,this.height+=i;for(var r=0;r<this.children.length;++r){var n=this.children[r],o=n.chunkSize();if(t<=o){if(n.insertInner(t,e,i),n.lines&&50<n.lines.length){for(var s=n.lines.length%25+25,a=s;a<n.lines.length;){var l=new po(n.lines.slice(a,a+=25));n.height-=l.height,this.children.splice(++r,0,l),l.parent=this}n.lines=n.lines.slice(0,s),this.maybeSpill()}break}t-=o}},maybeSpill:function(){if(!(this.children.length<=10)){var t=this;do{var e=new mo(t.children.splice(t.children.length-5,5));if(t.parent){t.size-=e.size,t.height-=e.height;var i=H(t.parent.children,t);t.parent.children.splice(i+1,0,e)}else{var r=new mo(t.children);(r.parent=t).children=[r,e],t=r}e.parent=t.parent}while(10<t.children.length);t.parent.maybeSpill()}},iterN:function(t,e,i){for(var r=0;r<this.children.length;++r){var n=this.children[r],o=n.chunkSize();if(t<o){var s=Math.min(e,o-t);if(n.iterN(t,s,i))return!0;if(0==(e-=s))break;t=0}else t-=o}}};var go=function(t,e,i){if(i)for(var r in i)i.hasOwnProperty(r)&&(this[r]=i[r]);this.doc=t,this.node=e};function _o(t,e,i){Yt(e)<(t.curOp&&t.curOp.scrollTop||t.doc.scrollTop)&&br(t,i)}go.prototype.clear=function(){var t=this.doc.cm,e=this.line.widgets,i=this.line,r=ft(i);if(null!=r&&e){for(var n=0;n<e.length;++n)e[n]==this&&e.splice(n--,1);e.length||(i.widgets=null);var o=yi(this);ut(i,Math.max(0,i.height-o)),t&&(jr(t,function(){_o(t,i,-o),Qr(t,r,"widget")}),ai(t,"lineWidgetCleared",t,this,r))}},go.prototype.changed=function(){var t=this,e=this.height,i=this.doc.cm,r=this.line;this.height=null;var n=yi(this)-e;n&&(jt(this.doc,r)||ut(r,r.height+n),i&&jr(i,function(){i.curOp.forceUpdate=!0,_o(i,r,n),ai(i,"lineWidgetChanged",i,t,ft(r))}))},le(go);var vo=0,yo=function(t,e){this.lines=[],this.type=e,this.doc=t,this.id=++vo};function xo(e,r,n,t,i){if(t&&t.shared)return function(t,i,r,n,o){(n=B(n)).shared=!1;var s=[xo(t,i,r,n,o)],a=s[0],l=n.widgetNode;return An(t,function(t){l&&(n.widgetNode=l.cloneNode(!0)),s.push(xo(t,bt(t,i),bt(t,r),n,o));for(var e=0;e<t.linked.length;++e)if(t.linked[e].isParent)return;a=$(s)}),new To(s,a)}(e,r,n,t,i);if(e.cm&&!e.cm.curOp)return Vr(e.cm,xo)(e,r,n,t,i);var o=new yo(e,i),s=_t(r,n);if(t&&B(t,o,!1),0<s||0==s&&!1!==o.clearWhenEmpty)return o;if(o.replacedWith&&(o.collapsed=!0,o.widgetNode=L("span",[o.replacedWith],"CodeMirror-widget"),t.handleMouseEvents||o.widgetNode.setAttribute("cm-ignore-events","true"),t.insertLeft&&(o.widgetNode.insertLeft=!0)),o.collapsed){if(Wt(e,r.line,r,n,o)||r.line!=n.line&&Wt(e,n.line,r,n,o))throw new Error("Inserting collapsed marker partially overlapping an existing one");Ct=!0}o.addToHistory&&Mn(e,{from:r,to:n,origin:"markText"},e.sel,NaN);var a,l=r.line,c=e.cm;if(e.iter(l,n.line+1,function(t){var e,i;c&&o.collapsed&&!c.options.lineWrapping&&zt(t)==c.display.maxLine&&(a=!0),o.collapsed&&l!=r.line&&ut(t,0),e=t,i=new St(o,l==r.line?r.ch:null,l==n.line?n.ch:null),e.markedSpans=e.markedSpans?e.markedSpans.concat([i]):[i],i.marker.attachLine(e),++l}),o.collapsed&&e.iter(r.line,n.line+1,function(t){jt(e,t)&&ut(t,0)}),o.clearOnEnter&&ee(o,"beforeCursorEnter",function(){return o.clear()}),o.readOnly&&(Et=!0,(e.history.done.length||e.history.undone.length)&&e.clearHistory()),o.collapsed&&(o.id=++vo,o.atomic=!0),c){if(a&&(c.curOp.updateMaxLine=!0),o.collapsed)$r(c,r.line,n.line+1);else if(o.className||o.startStyle||o.endStyle||o.css||o.attributes||o.title)for(var h=r.line;h<=n.line;h++)Qr(c,h,"text");o.atomic&&Qn(c.doc),ai(c,"markerAdded",c,o)}return o}yo.prototype.clear=function(){var t=this;if(!this.explicitlyCleared){var e=this.doc.cm,i=e&&!e.curOp;if(i&&Ur(e),ae(this,"clear")){var r=this.find();r&&ai(this,"clear",r.from,r.to)}for(var n=null,o=null,s=0;s<this.lines.length;++s){var a=t.lines[s],l=At(a.markedSpans,t);e&&!t.collapsed?Qr(e,ft(a),"text"):e&&(null!=l.to&&(o=ft(a)),null!=l.from&&(n=ft(a))),a.markedSpans=Lt(a.markedSpans,l),null==l.from&&t.collapsed&&!jt(t.doc,a)&&e&&ut(a,Zi(e.display))}if(e&&this.collapsed&&!e.options.lineWrapping)for(var c=0;c<this.lines.length;++c){var h=zt(t.lines[c]),u=Kt(h);u>e.display.maxLineLength&&(e.display.maxLine=h,e.display.maxLineLength=u,e.display.maxLineChanged=!0)}null!=n&&e&&this.collapsed&&$r(e,n,o+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,e&&Qn(e.doc)),e&&ai(e,"markerCleared",e,this,n,o),i&&Hr(e),this.parent&&this.parent.clear()}},yo.prototype.find=function(t,e){var i,r;null==t&&"bookmark"==this.type&&(t=1);for(var n=0;n<this.lines.length;++n){var o=this.lines[n],s=At(o.markedSpans,this);if(null!=s.from&&(i=gt(e?o:ft(o),s.from),-1==t))return i;if(null!=s.to&&(r=gt(e?o:ft(o),s.to),1==t))return r}return i&&{from:i,to:r}},yo.prototype.changed=function(){var o=this,s=this.find(-1,!0),a=this,l=this.doc.cm;s&&l&&jr(l,function(){var t=s.line,e=ft(s.line),i=Li(l,e);if(i&&(Pi(i),l.curOp.selectionChanged=l.curOp.forceUpdate=!0),l.curOp.updateMaxLine=!0,!jt(a.doc,t)&&null!=a.height){var r=a.height;a.height=null;var n=yi(a)-r;n&&ut(t,t.height+n)}ai(l,"markerChanged",l,o)})},yo.prototype.attachLine=function(t){if(!this.lines.length&&this.doc.cm){var e=this.doc.cm.curOp;e.maybeHiddenMarkers&&-1!=H(e.maybeHiddenMarkers,this)||(e.maybeUnhiddenMarkers||(e.maybeUnhiddenMarkers=[])).push(this)}this.lines.push(t)},yo.prototype.detachLine=function(t){if(this.lines.splice(H(this.lines,t),1),!this.lines.length&&this.doc.cm){var e=this.doc.cm.curOp;(e.maybeHiddenMarkers||(e.maybeHiddenMarkers=[])).push(this)}},le(yo);var To=function(t,e){this.markers=t,this.primary=e;for(var i=0;i<t.length;++i)t[i].parent=this};function ko(t){return t.findMarks(gt(t.first,0),t.clipPos(gt(t.lastLine())),function(t){return t.parent})}function bo(o){for(var t=function(t){var e=o[t],i=[e.primary.doc];An(e.primary.doc,function(t){return i.push(t)});for(var r=0;r<e.markers.length;r++){var n=e.markers[r];-1==H(i,n.doc)&&(n.parent=null,e.markers.splice(r--,1))}},e=0;e<o.length;e++)t(e)}To.prototype.clear=function(){if(!this.explicitlyCleared){this.explicitlyCleared=!0;for(var t=0;t<this.markers.length;++t)this.markers[t].clear();ai(this,"clear")}},To.prototype.find=function(t,e){return this.primary.find(t,e)},le(To);var wo=0,Eo=function(t,e,i,r,n){if(!(this instanceof Eo))return new Eo(t,e,i,r,n);null==i&&(i=0),mo.call(this,[new po([new Ye("",null)])]),this.first=i,this.scrollTop=this.scrollLeft=0,this.cantEdit=!1,this.cleanGeneration=1,this.modeFrontier=this.highlightFrontier=i;var o=gt(i,0);this.sel=yn(o),this.history=new On(null),this.id=++wo,this.modeOption=e,this.lineSep=r,this.direction="rtl"==n?"rtl":"ltr",this.extend=!1,"string"==typeof t&&(t=this.splitLines(t)),Sn(this,{from:o,to:o,text:t}),Yn(this,yn(o),q)};Eo.prototype=J(mo.prototype,{constructor:Eo,iter:function(t,e,i){i?this.iterN(t-this.first,e-t,i):this.iterN(this.first,this.first+this.size,t)},insert:function(t,e){for(var i=0,r=0;r<e.length;++r)i+=e[r].height;this.insertInner(t-this.first,e,i)},remove:function(t,e){this.removeInner(t-this.first,e)},getValue:function(t){var e=ht(this,this.first,this.first+this.size);return!1===t?e:e.join(t||this.lineSeparator())},setValue:Kr(function(t){var e=gt(this.first,0),i=this.first+this.size-1;ro(this,{from:e,to:gt(i,lt(this,i).text.length),text:this.splitLines(t),origin:"setValue",full:!0},!0),this.cm&&Er(this.cm,0,0),Yn(this,yn(e),q)}),replaceRange:function(t,e,i,r){lo(this,t,e=bt(this,e),i=i?bt(this,i):e,r)},getRange:function(t,e,i){var r=ct(this,bt(this,t),bt(this,e));return!1===i?r:r.join(i||this.lineSeparator())},getLine:function(t){var e=this.getLineHandle(t);return e&&e.text},getLineHandle:function(t){if(pt(this,t))return lt(this,t)},getLineNumber:function(t){return ft(t)},getLineHandleVisualStart:function(t){return"number"==typeof t&&(t=lt(this,t)),zt(t)},lineCount:function(){return this.size},firstLine:function(){return this.first},lastLine:function(){return this.first+this.size-1},clipPos:function(t){return bt(this,t)},getCursor:function(t){var e=this.sel.primary();return null==t||"head"==t?e.head:"anchor"==t?e.anchor:"end"==t||"to"==t||!1===t?e.to():e.from()},listSelections:function(){return this.sel.ranges},somethingSelected:function(){return this.sel.somethingSelected()},setCursor:Kr(function(t,e,i){jn(this,bt(this,"number"==typeof t?gt(t,e||0):t),null,i)}),setSelection:Kr(function(t,e,i){jn(this,bt(this,t),bt(this,e||t),i)}),extendSelection:Kr(function(t,e,i){zn(this,bt(this,t),e&&bt(this,e),i)}),extendSelections:Kr(function(t,e){qn(this,wt(this,t),e)}),extendSelectionsBy:Kr(function(t,e){qn(this,wt(this,Q(this.sel.ranges,t)),e)}),setSelections:Kr(function(t,e,i){if(t.length){for(var r=[],n=0;n<t.length;n++)r[n]=new _n(bt(this,t[n].anchor),bt(this,t[n].head));null==e&&(e=Math.min(t.length-1,this.sel.primIndex)),Yn(this,vn(this.cm,r,e),i)}}),addSelection:Kr(function(t,e,i){var r=this.sel.ranges.slice(0);r.push(new _n(bt(this,t),bt(this,e||t))),Yn(this,vn(this.cm,r,r.length-1),i)}),getSelection:function(t){for(var e,i=this.sel.ranges,r=0;r<i.length;r++){var n=ct(this,i[r].from(),i[r].to());e=e?e.concat(n):n}return!1===t?e:e.join(t||this.lineSeparator())},getSelections:function(t){for(var e=[],i=this.sel.ranges,r=0;r<i.length;r++){var n=ct(this,i[r].from(),i[r].to());!1!==t&&(n=n.join(t||this.lineSeparator())),e[r]=n}return e},replaceSelection:function(t,e,i){for(var r=[],n=0;n<this.sel.ranges.length;n++)r[n]=t;this.replaceSelections(r,e,i||"+input")},replaceSelections:Kr(function(t,e,i){for(var r=[],n=this.sel,o=0;o<n.ranges.length;o++){var s=n.ranges[o];r[o]={from:s.from(),to:s.to(),text:this.splitLines(t[o]),origin:i}}for(var a=e&&"end"!=e&&function(t,e,i){for(var r=[],n=gt(t.first,0),o=n,s=0;s<e.length;s++){var a=e[s],l=bn(a.from,n,o),c=bn(xn(a),n,o);if(n=a.to,o=c,"around"==i){var h=t.sel.ranges[s],u=_t(h.head,h.anchor)<0;r[s]=new _n(u?c:l,u?l:c)}else r[s]=new _n(l,l)}return new gn(r,t.sel.primIndex)}(this,r,e),l=r.length-1;0<=l;l--)ro(this,r[l]);a?Vn(this,a):this.cm&&wr(this.cm)}),undo:Kr(function(){oo(this,"undo")}),redo:Kr(function(){oo(this,"redo")}),undoSelection:Kr(function(){oo(this,"undo",!0)}),redoSelection:Kr(function(){oo(this,"redo",!0)}),setExtending:function(t){this.extend=t},getExtending:function(){return this.extend},historySize:function(){for(var t=this.history,e=0,i=0,r=0;r<t.done.length;r++)t.done[r].ranges||++e;for(var n=0;n<t.undone.length;n++)t.undone[n].ranges||++i;return{undo:e,redo:i}},clearHistory:function(){this.history=new On(this.history.maxGeneration)},markClean:function(){this.cleanGeneration=this.changeGeneration(!0)},changeGeneration:function(t){return t&&(this.history.lastOp=this.history.lastSelOp=this.history.lastOrigin=null),this.history.generation},isClean:function(t){return this.history.generation==(t||this.cleanGeneration)},getHistory:function(){return{done:Hn(this.history.done),undone:Hn(this.history.undone)}},setHistory:function(t){var e=this.history=new On(this.history.maxGeneration);e.done=Hn(t.done.slice(0),null,!0),e.undone=Hn(t.undone.slice(0),null,!0)},setGutterMarker:Kr(function(t,i,r){return fo(this,t,"gutter",function(t){var e=t.gutterMarkers||(t.gutterMarkers={});return!(e[i]=r)&&it(e)&&(t.gutterMarkers=null),!0})}),clearGutter:Kr(function(e){var i=this;this.iter(function(t){t.gutterMarkers&&t.gutterMarkers[e]&&fo(i,t,"gutter",function(){return t.gutterMarkers[e]=null,it(t.gutterMarkers)&&(t.gutterMarkers=null),!0})})}),lineInfo:function(t){var e;if("number"==typeof t){if(!pt(this,t))return null;if(!(t=lt(this,e=t)))return null}else if(null==(e=ft(t)))return null;return{line:e,handle:t,text:t.text,gutterMarkers:t.gutterMarkers,textClass:t.textClass,bgClass:t.bgClass,wrapClass:t.wrapClass,widgets:t.widgets}},addLineClass:Kr(function(t,i,r){return fo(this,t,"gutter"==i?"gutter":"class",function(t){var e="text"==i?"textClass":"background"==i?"bgClass":"gutter"==i?"gutterClass":"wrapClass";if(t[e]){if(w(r).test(t[e]))return!1;t[e]+=" "+r}else t[e]=r;return!0})}),removeLineClass:Kr(function(t,o,s){return fo(this,t,"gutter"==o?"gutter":"class",function(t){var e="text"==o?"textClass":"background"==o?"bgClass":"gutter"==o?"gutterClass":"wrapClass",i=t[e];if(!i)return!1;if(null==s)t[e]=null;else{var r=i.match(w(s));if(!r)return!1;var n=r.index+r[0].length;t[e]=i.slice(0,r.index)+(r.index&&n!=i.length?" ":"")+i.slice(n)||null}return!0})}),addLineWidget:Kr(function(t,e,i){return n=t,o=new go(r=this,e,i),(s=r.cm)&&o.noHScroll&&(s.display.alignWidgets=!0),fo(r,n,"widget",function(t){var e=t.widgets||(t.widgets=[]);if(null==o.insertAt?e.push(o):e.splice(Math.min(e.length-1,Math.max(0,o.insertAt)),0,o),o.line=t,s&&!jt(r,t)){var i=Yt(t)<r.scrollTop;ut(t,t.height+yi(o)),i&&br(s,o.height),s.curOp.forceUpdate=!0}return!0}),s&&ai(s,"lineWidgetAdded",s,o,"number"==typeof n?n:ft(n)),o;var r,n,o,s}),removeLineWidget:function(t){t.clear()},markText:function(t,e,i){return xo(this,bt(this,t),bt(this,e),i,i&&i.type||"range")},setBookmark:function(t,e){var i={replacedWith:e&&(null==e.nodeType?e.widget:e),insertLeft:e&&e.insertLeft,clearWhenEmpty:!1,shared:e&&e.shared,handleMouseEvents:e&&e.handleMouseEvents};return xo(this,t=bt(this,t),t,i,"bookmark")},findMarksAt:function(t){var e=[],i=lt(this,(t=bt(this,t)).line).markedSpans;if(i)for(var r=0;r<i.length;++r){var n=i[r];(null==n.from||n.from<=t.ch)&&(null==n.to||n.to>=t.ch)&&e.push(n.marker.parent||n.marker)}return e},findMarks:function(n,o,s){n=bt(this,n),o=bt(this,o);var a=[],l=n.line;return this.iter(n.line,o.line+1,function(t){var e=t.markedSpans;if(e)for(var i=0;i<e.length;i++){var r=e[i];null!=r.to&&l==n.line&&n.ch>=r.to||null==r.from&&l!=n.line||null!=r.from&&l==o.line&&r.from>=o.ch||s&&!s(r.marker)||a.push(r.marker.parent||r.marker)}++l}),a},getAllMarks:function(){var r=[];return this.iter(function(t){var e=t.markedSpans;if(e)for(var i=0;i<e.length;++i)null!=e[i].from&&r.push(e[i].marker)}),r},posFromIndex:function(i){var r,n=this.first,o=this.lineSeparator().length;return this.iter(function(t){var e=t.text.length+o;if(i<e)return r=i,!0;i-=e,++n}),bt(this,gt(n,r))},indexFromPos:function(t){var e=(t=bt(this,t)).ch;if(t.line<this.first||t.ch<0)return 0;var i=this.lineSeparator().length;return this.iter(this.first,t.line,function(t){e+=t.text.length+i}),e},copy:function(t){var e=new Eo(ht(this,this.first,this.first+this.size),this.modeOption,this.first,this.lineSep,this.direction);return e.scrollTop=this.scrollTop,e.scrollLeft=this.scrollLeft,e.sel=this.sel,e.extend=!1,t&&(e.history.undoDepth=this.history.undoDepth,e.setHistory(this.getHistory())),e},linkedDoc:function(t){t||(t={});var e=this.first,i=this.first+this.size;null!=t.from&&t.from>e&&(e=t.from),null!=t.to&&t.to<i&&(i=t.to);var r=new Eo(ht(this,e,i),t.mode||this.modeOption,e,this.lineSep,this.direction);return t.sharedHist&&(r.history=this.history),(this.linked||(this.linked=[])).push({doc:r,sharedHist:t.sharedHist}),r.linked=[{doc:this,isParent:!0,sharedHist:t.sharedHist}],function(t,e){for(var i=0;i<e.length;i++){var r=e[i],n=r.find(),o=t.clipPos(n.from),s=t.clipPos(n.to);if(_t(o,s)){var a=xo(t,o,s,r.primary,r.primary.type);r.markers.push(a),a.parent=r}}}(r,ko(this)),r},unlinkDoc:function(t){if(t instanceof ks&&(t=t.doc),this.linked)for(var e=0;e<this.linked.length;++e){if(this.linked[e].doc==t){this.linked.splice(e,1),t.unlinkDoc(this),bo(ko(this));break}}if(t.history==this.history){var i=[t.id];An(t,function(t){return i.push(t.id)},!0),t.history=new On(null),t.history.done=Hn(this.history.done,i),t.history.undone=Hn(this.history.undone,i)}},iterLinkedDocs:function(t){An(this,t)},getMode:function(){return this.mode},getEditor:function(){return this.cm},splitLines:function(t){return this.lineSep?t.split(this.lineSep):Te(t)},lineSeparator:function(){return this.lineSep||"\n"},setDirection:Kr(function(t){var e;("rtl"!=t&&(t="ltr"),t!=this.direction)&&(this.direction=t,this.iter(function(t){return t.order=null}),this.cm&&jr(e=this.cm,function(){Nn(e),$r(e)}))})}),Eo.prototype.eachLine=Eo.prototype.iter;var Co=0;function So(t){var n=this;if(Ao(n),!oe(n,t)&&!xi(n.display,t)){ce(t),T&&(Co=+new Date);var o=or(n,t,!0),e=t.dataTransfer.files;if(o&&!n.isReadOnly())if(e&&e.length&&window.FileReader&&window.File)for(var s=e.length,a=Array(s),l=0,i=function(t,i){if(!n.options.allowDropFileTypes||-1!=H(n.options.allowDropFileTypes,t.type)){var r=new FileReader;r.onload=Vr(n,function(){var t=r.result;if(/[\x00-\x08\x0e-\x1f]{2}/.test(t)&&(t=""),a[i]=t,++l==s){var e={from:o=bt(n.doc,o),to:o,text:n.doc.splitLines(a.join(n.doc.lineSeparator())),origin:"paste"};ro(n.doc,e),Vn(n.doc,yn(o,xn(e)))}}),r.readAsText(t)}},r=0;r<s;++r)i(e[r],r);else{if(n.state.draggingText&&-1<n.doc.sel.contains(o))return n.state.draggingText(t),void setTimeout(function(){return n.display.input.focus()},20);try{var c=t.dataTransfer.getData("Text");if(c){var h;if(n.state.draggingText&&!n.state.draggingText.copy&&(h=n.listSelections()),Kn(n.doc,yn(o,o)),h)for(var u=0;u<h.length;++u)lo(n.doc,"",h[u].anchor,h[u].head,"drag");n.replaceSelection(c,"around","paste"),n.display.input.focus()}}catch(t){}}}}function Ao(t){t.display.dragCursor&&(t.display.lineSpace.removeChild(t.display.dragCursor),t.display.dragCursor=null)}function Lo(e){if(document.getElementsByClassName){for(var t=document.getElementsByClassName("CodeMirror"),i=[],r=0;r<t.length;r++){var n=t[r].CodeMirror;n&&i.push(n)}i.length&&i[0].operation(function(){for(var t=0;t<i.length;t++)e(i[t])})}}var No=!1;function Oo(){var t;No||(ee(window,"resize",function(){null==t&&(t=setTimeout(function(){t=null,Lo(Io)},100))}),ee(window,"blur",function(){return Lo(gr)}),No=!0)}function Io(t){var e=t.display;e.cachedCharWidth=e.cachedTextHeight=e.cachedPaddingH=null,e.scrollbarsClipped=!1,t.setSize()}for(var Ro={3:"Pause",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"PrintScrn",45:"Insert",46:"Delete",59:";",61:"=",91:"Mod",92:"Mod",93:"Mod",106:"*",107:"=",109:"-",110:".",111:"/",127:"Delete",145:"ScrollLock",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",63232:"Up",63233:"Down",63234:"Left",63235:"Right",63272:"Delete",63273:"Home",63275:"End",63276:"PageUp",63277:"PageDown",63302:"Insert"},Mo=0;Mo<10;Mo++)Ro[Mo+48]=Ro[Mo+96]=String(Mo);for(var Do=65;Do<=90;Do++)Ro[Do]=String.fromCharCode(Do);for(var Po=1;Po<=12;Po++)Ro[Po+111]=Ro[Po+63235]="F"+Po;var Bo={};function Fo(t){var e,i,r,n,o=t.split(/-(?!$)/);t=o[o.length-1];for(var s=0;s<o.length-1;s++){var a=o[s];if(/^(cmd|meta|m)$/i.test(a))n=!0;else if(/^a(lt)?$/i.test(a))e=!0;else if(/^(c|ctrl|control)$/i.test(a))i=!0;else{if(!/^s(hift)?$/i.test(a))throw new Error("Unrecognized modifier name: "+a);r=!0}}return e&&(t="Alt-"+t),i&&(t="Ctrl-"+t),n&&(t="Cmd-"+t),r&&(t="Shift-"+t),t}function Uo(t){var e={};for(var i in t)if(t.hasOwnProperty(i)){var r=t[i];if(/^(name|fallthrough|(de|at)tach)$/.test(i))continue;if("..."==r){delete t[i];continue}for(var n=Q(i.split(" "),Fo),o=0;o<n.length;o++){var s=void 0,a=void 0;s=o==n.length-1?(a=n.join(" "),r):(a=n.slice(0,o+1).join(" "),"...");var l=e[a];if(l){if(l!=s)throw new Error("Inconsistent bindings for "+a)}else e[a]=s}delete t[i]}for(var c in e)t[c]=e[c];return t}function Ho(t,e,i,r){var n=(e=Go(e)).call?e.call(t,r):e[t];if(!1===n)return"nothing";if("..."===n)return"multi";if(null!=n&&i(n))return"handled";if(e.fallthrough){if("[object Array]"!=Object.prototype.toString.call(e.fallthrough))return Ho(t,e.fallthrough,i,r);for(var o=0;o<e.fallthrough.length;o++){var s=Ho(t,e.fallthrough[o],i,r);if(s)return s}}}function Wo(t){var e="string"==typeof t?t:Ro[t.keyCode];return"Ctrl"==e||"Alt"==e||"Shift"==e||"Mod"==e}function zo(t,e,i){var r=t;return e.altKey&&"Alt"!=r&&(t="Alt-"+t),(v?e.metaKey:e.ctrlKey)&&"Ctrl"!=r&&(t="Ctrl-"+t),(v?e.ctrlKey:e.metaKey)&&"Cmd"!=r&&(t="Cmd-"+t),!i&&e.shiftKey&&"Shift"!=r&&(t="Shift-"+t),t}function qo(t,e){if(g&&34==t.keyCode&&t.char)return!1;var i=Ro[t.keyCode];return null!=i&&!t.altGraphKey&&(3==t.keyCode&&t.code&&(i=t.code),zo(i,t,e))}function Go(t){return"string"==typeof t?Bo[t]:t}function jo(e,t){for(var i=e.doc.sel.ranges,r=[],n=0;n<i.length;n++){for(var o=t(i[n]);r.length&&_t(o.from,$(r).to)<=0;){var s=r.pop();if(_t(s.from,o.from)<0){o.from=s.from;break}}r.push(o)}jr(e,function(){for(var t=r.length-1;0<=t;t--)lo(e.doc,"",r[t].from,r[t].to,"+delete");wr(e)})}function Vo(t,e,i){var r=ot(t.text,e+i,i);return r<0||r>t.text.length?null:r}function Yo(t,e,i){var r=Vo(t,e.ch,i);return null==r?null:new gt(e.line,r,i<0?"after":"before")}function Ko(t,e,i,r,n){if(t){var o=Zt(i,e.doc.direction);if(o){var s,a=n<0?$(o):o[0],l=n<0==(1==a.level)?"after":"before";if(0<a.level||"rtl"==e.doc.direction){var c=Ni(e,i);s=n<0?i.text.length-1:0;var h=Oi(e,c,s).top;s=st(function(t){return Oi(e,c,t).top==h},n<0==(1==a.level)?a.from:a.to-1,s),"before"==l&&(s=Vo(i,s,1))}else s=n<0?a.to:a.from;return new gt(r,s,l)}}return new gt(r,n<0?i.text.length:0,n<0?"before":"after")}Bo.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore","Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite",Esc:"singleSelection"},Bo.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Up":"goLineUp","Ctrl-Down":"goLineDown","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore","Ctrl-U":"undoSelection","Shift-Ctrl-U":"redoSelection","Alt-U":"redoSelection",fallthrough:"basic"},Bo.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Alt-F":"goWordRight","Alt-B":"goWordLeft","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-D":"delWordAfter","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars","Ctrl-O":"openLine"},Bo.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Home":"goDocStart","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineLeft","Cmd-Right":"goLineRight","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delWrappedLineLeft","Cmd-Delete":"delWrappedLineRight","Cmd-U":"undoSelection","Shift-Cmd-U":"redoSelection","Ctrl-Up":"goDocStart","Ctrl-Down":"goDocEnd",fallthrough:["basic","emacsy"]},Bo.default=x?Bo.macDefault:Bo.pcDefault;var $o={selectAll:eo,singleSelection:function(t){return t.setSelection(t.getCursor("anchor"),t.getCursor("head"),q)},killLine:function(i){return jo(i,function(t){if(t.empty()){var e=lt(i.doc,t.head.line).text.length;return t.head.ch==e&&t.head.line<i.lastLine()?{from:t.head,to:gt(t.head.line+1,0)}:{from:t.head,to:gt(t.head.line,e)}}return{from:t.from(),to:t.to()}})},deleteLine:function(e){return jo(e,function(t){return{from:gt(t.from().line,0),to:bt(e.doc,gt(t.to().line+1,0))}})},delLineLeft:function(t){return jo(t,function(t){return{from:gt(t.from().line,0),to:t.from()}})},delWrappedLineLeft:function(i){return jo(i,function(t){var e=i.charCoords(t.head,"div").top+5;return{from:i.coordsChar({left:0,top:e},"div"),to:t.from()}})},delWrappedLineRight:function(r){return jo(r,function(t){var e=r.charCoords(t.head,"div").top+5,i=r.coordsChar({left:r.display.lineDiv.offsetWidth+100,top:e},"div");return{from:t.from(),to:i}})},undo:function(t){return t.undo()},redo:function(t){return t.redo()},undoSelection:function(t){return t.undoSelection()},redoSelection:function(t){return t.redoSelection()},goDocStart:function(t){return t.extendSelection(gt(t.firstLine(),0))},goDocEnd:function(t){return t.extendSelection(gt(t.lastLine()))},goLineStart:function(e){return e.extendSelectionsBy(function(t){return Qo(e,t.head.line)},{origin:"+move",bias:1})},goLineStartSmart:function(e){return e.extendSelectionsBy(function(t){return Xo(e,t.head)},{origin:"+move",bias:1})},goLineEnd:function(e){return e.extendSelectionsBy(function(t){return function(t,e){var i=lt(t.doc,e),r=function(t){for(var e;e=Ut(t);)t=e.find(1,!0).line;return t}(i);r!=i&&(e=ft(r));return Ko(!0,t,i,e,-1)}(e,t.head.line)},{origin:"+move",bias:-1})},goLineRight:function(i){return i.extendSelectionsBy(function(t){var e=i.cursorCoords(t.head,"div").top+5;return i.coordsChar({left:i.display.lineDiv.offsetWidth+100,top:e},"div")},j)},goLineLeft:function(i){return i.extendSelectionsBy(function(t){var e=i.cursorCoords(t.head,"div").top+5;return i.coordsChar({left:0,top:e},"div")},j)},goLineLeftSmart:function(r){return r.extendSelectionsBy(function(t){var e=r.cursorCoords(t.head,"div").top+5,i=r.coordsChar({left:0,top:e},"div");return i.ch<r.getLine(i.line).search(/\S/)?Xo(r,t.head):i},j)},goLineUp:function(t){return t.moveV(-1,"line")},goLineDown:function(t){return t.moveV(1,"line")},goPageUp:function(t){return t.moveV(-1,"page")},goPageDown:function(t){return t.moveV(1,"page")},goCharLeft:function(t){return t.moveH(-1,"char")},goCharRight:function(t){return t.moveH(1,"char")},goColumnLeft:function(t){return t.moveH(-1,"column")},goColumnRight:function(t){return t.moveH(1,"column")},goWordLeft:function(t){return t.moveH(-1,"word")},goGroupRight:function(t){return t.moveH(1,"group")},goGroupLeft:function(t){return t.moveH(-1,"group")},goWordRight:function(t){return t.moveH(1,"word")},delCharBefore:function(t){return t.deleteH(-1,"char")},delCharAfter:function(t){return t.deleteH(1,"char")},delWordBefore:function(t){return t.deleteH(-1,"word")},delWordAfter:function(t){return t.deleteH(1,"word")},delGroupBefore:function(t){return t.deleteH(-1,"group")},delGroupAfter:function(t){return t.deleteH(1,"group")},indentAuto:function(t){return t.indentSelection("smart")},indentMore:function(t){return t.indentSelection("add")},indentLess:function(t){return t.indentSelection("subtract")},insertTab:function(t){return t.replaceSelection("\t")},insertSoftTab:function(t){for(var e=[],i=t.listSelections(),r=t.options.tabSize,n=0;n<i.length;n++){var o=i[n].from(),s=F(t.getLine(o.line),o.ch,r);e.push(K(r-s%r))}t.replaceSelections(e)},defaultTab:function(t){t.somethingSelected()?t.indentSelection("add"):t.execCommand("insertTab")},transposeChars:function(s){return jr(s,function(){for(var t=s.listSelections(),e=[],i=0;i<t.length;i++)if(t[i].empty()){var r=t[i].head,n=lt(s.doc,r.line).text;if(n)if(r.ch==n.length&&(r=new gt(r.line,r.ch-1)),0<r.ch)r=new gt(r.line,r.ch+1),s.replaceRange(n.charAt(r.ch-1)+n.charAt(r.ch-2),gt(r.line,r.ch-2),r,"+transpose");else if(r.line>s.doc.first){var o=lt(s.doc,r.line-1).text;o&&(r=new gt(r.line,1),s.replaceRange(n.charAt(0)+s.doc.lineSeparator()+o.charAt(o.length-1),gt(r.line-1,o.length-1),r,"+transpose"))}e.push(new _n(r,r))}s.setSelections(e)})},newlineAndIndent:function(r){return jr(r,function(){for(var t=r.listSelections(),e=t.length-1;0<=e;e--)r.replaceRange(r.doc.lineSeparator(),t[e].anchor,t[e].head,"+input");t=r.listSelections();for(var i=0;i<t.length;i++)r.indentLine(t[i].from().line,null,!0);wr(r)})},openLine:function(t){return t.replaceSelection("\n","start")},toggleOverwrite:function(t){return t.toggleOverwrite()}};function Qo(t,e){var i=lt(t.doc,e),r=zt(i);return r!=i&&(e=ft(r)),Ko(!0,t,r,e,1)}function Xo(t,e){var i=Qo(t,e.line),r=lt(t.doc,i.line),n=Zt(r,t.doc.direction);if(n&&0!=n[0].level)return i;var o=Math.max(0,r.text.search(/\S/)),s=e.line==i.line&&e.ch<=o&&e.ch;return gt(i.line,s?0:o,i.sticky)}function Jo(t,e,i){if("string"==typeof e&&!(e=$o[e]))return!1;t.display.input.ensurePolled();var r=t.display.shift,n=!1;try{t.isReadOnly()&&(t.state.suppressEdits=!0),i&&(t.display.shift=!1),n=e(t)!=z}finally{t.display.shift=r,t.state.suppressEdits=!1}return n}var Zo=new U;function ts(t,e,i,r){var n=t.state.keySeq;if(n){if(Wo(e))return"handled";if(/\'$/.test(e)?t.state.keySeq=null:Zo.set(50,function(){t.state.keySeq==n&&(t.state.keySeq=null,t.display.input.reset())}),es(t,n+" "+e,i,r))return!0}return es(t,e,i,r)}function es(t,e,i,r){var n=function(t,e,i){for(var r=0;r<t.state.keyMaps.length;r++){var n=Ho(e,t.state.keyMaps[r],i,t);if(n)return n}return t.options.extraKeys&&Ho(e,t.options.extraKeys,i,t)||Ho(e,t.options.keyMap,i,t)}(t,e,r);return"multi"==n&&(t.state.keySeq=e),"handled"==n&&ai(t,"keyHandled",t,e,i),"handled"!=n&&"multi"!=n||(ce(i),fr(t)),!!n}function is(e,t){var i=qo(t,!0);return!!i&&(t.shiftKey&&!e.state.keySeq?ts(e,"Shift-"+i,t,function(t){return Jo(e,t,!0)})||ts(e,i,t,function(t){if("string"==typeof t?/^go[A-Z]/.test(t):t.motion)return Jo(e,t)}):ts(e,i,t,function(t){return Jo(e,t)}))}var rs=null;function ns(t){if(this.curOp.focus=I(),!oe(this,t)){T&&k<11&&27==t.keyCode&&(t.returnValue=!1);var e=t.keyCode;this.display.shift=16==e||t.shiftKey;var i=is(this,t);g&&(rs=i?e:null,!i&&88==e&&!be&&(x?t.metaKey:t.ctrlKey)&&this.replaceSelection("",null,"cut")),18!=e||/\bCodeMirror-crosshair\b/.test(this.display.lineDiv.className)||function(t){var e=t.display.lineDiv;function i(t){18!=t.keyCode&&t.altKey||(C(e,"CodeMirror-crosshair"),re(document,"keyup",i),re(document,"mouseover",i))}R(e,"CodeMirror-crosshair"),ee(document,"keyup",i),ee(document,"mouseover",i)}(this)}}function os(t){16==t.keyCode&&(this.doc.sel.shift=!1),oe(this,t)}function ss(t){if(!(xi(this.display,t)||oe(this,t)||t.ctrlKey&&!t.altKey||x&&t.metaKey)){var e=t.keyCode,i=t.charCode;if(g&&e==rs)return rs=null,void ce(t);if(!g||t.which&&!(t.which<10)||!is(this,t)){var r,n=String.fromCharCode(null==i?e:i);if("\b"!=n)if(!ts(r=this,"'"+n+"'",t,function(t){return Jo(r,t,!0)}))this.display.input.onKeyPress(t)}}}var as,ls,cs=function(t,e,i){this.time=t,this.pos=e,this.button=i};function hs(t){var e=this,i=e.display;if(!(oe(e,t)||i.activeTouch&&i.input.supportsTouch()))if(i.input.ensurePolled(),i.shift=t.shiftKey,xi(i,t))y||(i.scroller.draggable=!1,setTimeout(function(){return i.scroller.draggable=!0},100));else if(!ds(e,t)){var r,n,o,s=or(e,t),a=pe(t),l=s?(r=s,n=a,o=+new Date,ls&&ls.compare(o,r,n)?(as=ls=null,"triple"):as&&as.compare(o,r,n)?(ls=new cs(o,r,n),as=null,"double"):(as=new cs(o,r,n),ls=null,"single")):"single";window.focus(),1==a&&e.state.selectingText&&e.state.selectingText(t),s&&function(i,t,r,e,n){var o="Click";"double"==e?o="Double"+o:"triple"==e&&(o="Triple"+o);return ts(i,zo(o=(1==t?"Left":2==t?"Middle":"Right")+o,n),n,function(t){if("string"==typeof t&&(t=$o[t]),!t)return!1;var e=!1;try{i.isReadOnly()&&(i.state.suppressEdits=!0),e=t(i,r)!=z}finally{i.state.suppressEdits=!1}return e})}(e,a,s,l,t)||(1==a?s?function(t,e,i,r){T?setTimeout(P(dr,t),0):t.curOp.focus=I();var n,o=function(t,e,i){var r=t.getOption("configureMouse"),n=r?r(t,e,i):{};if(null==n.unit){var o=d?i.shiftKey&&i.metaKey:i.altKey;n.unit=o?"rectangle":"single"==e?"char":"double"==e?"word":"line"}(null==n.extend||t.doc.extend)&&(n.extend=t.doc.extend||i.shiftKey);null==n.addNew&&(n.addNew=x?i.metaKey:i.ctrlKey);null==n.moveOnDrag&&(n.moveOnDrag=!(x?i.altKey:i.ctrlKey));return n}(t,i,r),s=t.doc.sel;t.options.dragDrop&&_e&&!t.isReadOnly()&&"single"==i&&-1<(n=s.contains(e))&&(_t((n=s.ranges[n]).from(),e)<0||0<e.xRel)&&(0<_t(n.to(),e)||e.xRel<0)?function(e,i,r,n){var o=e.display,s=!1,a=Vr(e,function(t){y&&(o.scroller.draggable=!1),e.state.draggingText=!1,re(o.wrapper.ownerDocument,"mouseup",a),re(o.wrapper.ownerDocument,"mousemove",l),re(o.scroller,"dragstart",c),re(o.scroller,"drop",a),s||(ce(t),n.addNew||zn(e.doc,r,null,null,n.extend),y||T&&9==k?setTimeout(function(){o.wrapper.ownerDocument.body.focus(),o.input.focus()},20):o.input.focus())}),l=function(t){s=s||10<=Math.abs(i.clientX-t.clientX)+Math.abs(i.clientY-t.clientY)},c=function(){return s=!0};y&&(o.scroller.draggable=!0);(e.state.draggingText=a).copy=!n.moveOnDrag,o.scroller.dragDrop&&o.scroller.dragDrop();ee(o.wrapper.ownerDocument,"mouseup",a),ee(o.wrapper.ownerDocument,"mousemove",l),ee(o.scroller,"dragstart",c),ee(o.scroller,"drop",a),pr(e),setTimeout(function(){return o.input.focus()},20)}(t,r,e,o):function(g,t,_,v){var s=g.display,y=g.doc;ce(t);var x,T,k=y.sel,e=k.ranges;v.addNew&&!v.extend?(T=y.sel.contains(_),x=-1<T?e[T]:new _n(_,_)):(x=y.sel.primary(),T=y.sel.primIndex);if("rectangle"==v.unit)v.addNew||(x=new _n(_,_)),_=or(g,t,!0,!0),T=-1;else{var i=us(g,_,v.unit);x=v.extend?Wn(x,i.anchor,i.head,v.extend):i}v.addNew?-1==T?(T=e.length,Yn(y,vn(g,e.concat([x]),T),{scroll:!1,origin:"*mouse"})):1<e.length&&e[T].empty()&&"char"==v.unit&&!v.extend?(Yn(y,vn(g,e.slice(0,T).concat(e.slice(T+1)),0),{scroll:!1,origin:"*mouse"}),k=y.sel):Gn(y,T,x,G):(Yn(y,new gn([x],T=0),G),k=y.sel);var b=_;function a(t){if(0!=_t(b,t))if(b=t,"rectangle"==v.unit){for(var e=[],i=g.options.tabSize,r=F(lt(y,_.line).text,_.ch,i),n=F(lt(y,t.line).text,t.ch,i),o=Math.min(r,n),s=Math.max(r,n),a=Math.min(_.line,t.line),l=Math.min(g.lastLine(),Math.max(_.line,t.line));a<=l;a++){var c=lt(y,a).text,h=V(c,o,i);o==s?e.push(new _n(gt(a,h),gt(a,h))):c.length>h&&e.push(new _n(gt(a,h),gt(a,V(c,s,i))))}e.length||e.push(new _n(_,_)),Yn(y,vn(g,k.ranges.slice(0,T).concat(e),T),{origin:"*mouse",scroll:!1}),g.scrollIntoView(t)}else{var u,f=x,d=us(g,t,v.unit),p=f.anchor;p=0<_t(d.anchor,p)?(u=d.head,Tt(f.from(),d.anchor)):(u=d.anchor,xt(f.to(),d.head));var m=k.ranges.slice(0);m[T]=function(t,e){var i=e.anchor,r=e.head,n=lt(t.doc,i.line);if(0==_t(i,r)&&i.sticky==r.sticky)return e;var o=Zt(n);if(!o)return e;var s=Xt(o,i.ch,i.sticky),a=o[s];if(a.from!=i.ch&&a.to!=i.ch)return e;var l,c=s+(a.from==i.ch==(1!=a.level)?0:1);if(0==c||c==o.length)return e;if(r.line!=i.line)l=0<(r.line-i.line)*("ltr"==t.doc.direction?1:-1);else{var h=Xt(o,r.ch,r.sticky),u=h-s||(r.ch-i.ch)*(1==a.level?-1:1);l=h==c-1||h==c?u<0:0<u}var f=o[c+(l?-1:0)],d=l==(1==f.level),p=d?f.from:f.to,m=d?"after":"before";return i.ch==p&&i.sticky==m?e:new _n(new gt(i.line,p,m),r)}(g,new _n(bt(y,p),u)),Yn(y,vn(g,m,T),G)}}var l=s.wrapper.getBoundingClientRect(),c=0;function r(t){g.state.selectingText=!1,c=1/0,ce(t),s.input.focus(),re(s.wrapper.ownerDocument,"mousemove",n),re(s.wrapper.ownerDocument,"mouseup",o),y.history.lastSelOrigin=null}var n=Vr(g,function(t){0!==t.buttons&&pe(t)?function t(e){var i=++c;var r=or(g,e,!0,"rectangle"==v.unit);if(!r)return;if(0!=_t(r,b)){g.curOp.focus=I(),a(r);var n=yr(s,y);(r.line>=n.to||r.line<n.from)&&setTimeout(Vr(g,function(){c==i&&t(e)}),150)}else{var o=e.clientY<l.top?-20:e.clientY>l.bottom?20:0;o&&setTimeout(Vr(g,function(){c==i&&(s.scroller.scrollTop+=o,t(e))}),50)}}(t):r(t)}),o=Vr(g,r);g.state.selectingText=o,ee(s.wrapper.ownerDocument,"mousemove",n),ee(s.wrapper.ownerDocument,"mouseup",o)}(t,r,e,o)}(e,s,l,t):de(t)==i.scroller&&ce(t):2==a?(s&&zn(e.doc,s),setTimeout(function(){return i.input.focus()},20)):3==a&&(b?e.display.input.onContextMenu(t):pr(e)))}}function us(t,e,i){if("char"==i)return new _n(e,e);if("word"==i)return t.findWordAt(e);if("line"==i)return new _n(gt(e.line,0),bt(t.doc,gt(e.line+1,0)));var r=i(t,e);return new _n(r.from,r.to)}function fs(t,e,i,r){var n,o;if(e.touches)n=e.touches[0].clientX,o=e.touches[0].clientY;else try{n=e.clientX,o=e.clientY}catch(e){return!1}if(n>=Math.floor(t.display.gutters.getBoundingClientRect().right))return!1;r&&ce(e);var s=t.display,a=s.lineDiv.getBoundingClientRect();if(o>a.bottom||!ae(t,i))return ue(e);o-=a.top-s.viewOffset;for(var l=0;l<t.options.gutters.length;++l){var c=s.gutters.childNodes[l];if(c&&c.getBoundingClientRect().right>=n)return ne(t,i,t,dt(t.doc,o),t.options.gutters[l],e),ue(e)}}function ds(t,e){return fs(t,e,"gutterClick",!0)}function ps(t,e){var i,r;xi(t.display,e)||(r=e,ae(i=t,"gutterContextMenu")&&fs(i,r,"gutterContextMenu",!1))||(oe(t,e,"contextmenu")||b||t.display.input.onContextMenu(e))}function ms(t){t.display.wrapper.className=t.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+t.options.theme.replace(/(^|\s)\s*/g," cm-s-"),Fi(t)}cs.prototype.compare=function(t,e,i){return this.time+400>t&&0==_t(e,this.pos)&&i==this.button};var gs={toString:function(){return"CodeMirror.Init"}},_s={},vs={};function ys(t){cn(t),$r(t),xr(t)}function xs(t,e,i){if(!e!=!(i&&i!=gs)){var r=t.display.dragFunctions,n=e?ee:re;n(t.display.scroller,"dragstart",r.start),n(t.display.scroller,"dragenter",r.enter),n(t.display.scroller,"dragover",r.over),n(t.display.scroller,"dragleave",r.leave),n(t.display.scroller,"drop",r.drop)}}function Ts(t){t.options.lineWrapping?(R(t.display.wrapper,"CodeMirror-wrap"),t.display.sizer.style.minWidth="",t.display.sizerWidth=null):(C(t.display.wrapper,"CodeMirror-wrap"),$t(t)),nr(t),$r(t),Fi(t),setTimeout(function(){return Mr(t)},100)}function ks(t,e){var i=this;if(!(this instanceof ks))return new ks(t,e);this.options=e=e?B(e):{},B(_s,e,!1),hn(e);var r=e.value;"string"==typeof r?r=new Eo(r,e.mode,null,e.lineSeparator,e.direction):e.mode&&(r.modeOption=e.mode),this.doc=r;var n=new ks.inputStyles[e.inputStyle](this),o=this.display=new at(t,r,n);for(var s in cn(o.wrapper.CodeMirror=this),ms(this),e.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),Br(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:!1,cutIncoming:!1,selectingText:!1,draggingText:!1,highlight:new U,keySeq:null,specialChars:null},e.autofocus&&!f&&o.input.focus(),T&&k<11&&setTimeout(function(){return i.display.input.reset(!0)},20),function(n){var o=n.display;ee(o.scroller,"mousedown",Vr(n,hs)),ee(o.scroller,"dblclick",T&&k<11?Vr(n,function(t){if(!oe(n,t)){var e=or(n,t);if(e&&!ds(n,t)&&!xi(n.display,t)){ce(t);var i=n.findWordAt(e);zn(n.doc,i.anchor,i.head)}}}):function(t){return oe(n,t)||ce(t)});ee(o.scroller,"contextmenu",function(t){return ps(n,t)});var i,r={end:0};function s(){o.activeTouch&&(i=setTimeout(function(){return o.activeTouch=null},1e3),(r=o.activeTouch).end=+new Date)}function a(t,e){if(null==e.left)return!0;var i=e.left-t.left,r=e.top-t.top;return 400<i*i+r*r}ee(o.scroller,"touchstart",function(t){if(!oe(n,t)&&!function(t){if(1!=t.touches.length)return!1;var e=t.touches[0];return e.radiusX<=1&&e.radiusY<=1}(t)&&!ds(n,t)){o.input.ensurePolled(),clearTimeout(i);var e=+new Date;o.activeTouch={start:e,moved:!1,prev:e-r.end<=300?r:null},1==t.touches.length&&(o.activeTouch.left=t.touches[0].pageX,o.activeTouch.top=t.touches[0].pageY)}}),ee(o.scroller,"touchmove",function(){o.activeTouch&&(o.activeTouch.moved=!0)}),ee(o.scroller,"touchend",function(t){var e=o.activeTouch;if(e&&!xi(o,t)&&null!=e.left&&!e.moved&&new Date-e.start<300){var i,r=n.coordsChar(o.activeTouch,"page");i=!e.prev||a(e,e.prev)?new _n(r,r):!e.prev.prev||a(e,e.prev.prev)?n.findWordAt(r):new _n(gt(r.line,0),bt(n.doc,gt(r.line+1,0))),n.setSelection(i.anchor,i.head),n.focus(),ce(t)}s()}),ee(o.scroller,"touchcancel",s),ee(o.scroller,"scroll",function(){o.scroller.clientHeight&&(Ar(n,o.scroller.scrollTop),Nr(n,o.scroller.scrollLeft,!0),ne(n,"scroll",n))}),ee(o.scroller,"mousewheel",function(t){return mn(n,t)}),ee(o.scroller,"DOMMouseScroll",function(t){return mn(n,t)}),ee(o.wrapper,"scroll",function(){return o.wrapper.scrollTop=o.wrapper.scrollLeft=0}),o.dragFunctions={enter:function(t){oe(n,t)||fe(t)},over:function(t){oe(n,t)||(!function(t,e){var i=or(t,e);if(i){var r=document.createDocumentFragment();cr(t,i,r),t.display.dragCursor||(t.display.dragCursor=N("div",null,"CodeMirror-cursors CodeMirror-dragcursors"),t.display.lineSpace.insertBefore(t.display.dragCursor,t.display.cursorDiv)),A(t.display.dragCursor,r)}}(n,t),fe(t))},start:function(t){return function(t,e){if(T&&(!t.state.draggingText||+new Date-Co<100))fe(e);else if(!oe(t,e)&&!xi(t.display,e)&&(e.dataTransfer.setData("Text",t.getSelection()),e.dataTransfer.effectAllowed="copyMove",e.dataTransfer.setDragImage&&!l)){var i=N("img",null,null,"position: fixed; left: 0; top: 0;");i.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",g&&(i.width=i.height=1,t.display.wrapper.appendChild(i),i._top=i.offsetTop),e.dataTransfer.setDragImage(i,0,0),g&&i.parentNode.removeChild(i)}}(n,t)},drop:Vr(n,So),leave:function(t){oe(n,t)||Ao(n)}};var t=o.input.getField();ee(t,"keyup",function(t){return os.call(n,t)}),ee(t,"keydown",Vr(n,ns)),ee(t,"keypress",Vr(n,ss)),ee(t,"focus",function(t){return mr(n,t)}),ee(t,"blur",function(t){return gr(n,t)})}(this),Oo(),Ur(this),this.curOp.forceUpdate=!0,Ln(this,r),e.autofocus&&!f||this.hasFocus()?setTimeout(P(mr,this),20):gr(this),vs)vs.hasOwnProperty(s)&&vs[s](i,e[s],gs);Tr(this),e.finishInit&&e.finishInit(this);for(var a=0;a<bs.length;++a)bs[a](i);Hr(this),y&&e.lineWrapping&&"optimizelegibility"==getComputedStyle(o.lineDiv).textRendering&&(o.lineDiv.style.textRendering="auto")}ks.defaults=_s,ks.optionHandlers=vs;var bs=[];function ws(t,e,i,r){var n,o=t.doc;null==i&&(i="add"),"smart"==i&&(o.mode.indent?n=Ue(t,e).state:i="prev");var s=t.options.tabSize,a=lt(o,e),l=F(a.text,null,s);a.stateAfter&&(a.stateAfter=null);var c,h=a.text.match(/^\s*/)[0];if(r||/\S/.test(a.text)){if("smart"==i&&((c=o.mode.indent(n,a.text.slice(h.length),a.text))==z||150<c)){if(!r)return;i="prev"}}else c=0,i="not";"prev"==i?c=e>o.first?F(lt(o,e-1).text,null,s):0:"add"==i?c=l+t.options.indentUnit:"subtract"==i?c=l-t.options.indentUnit:"number"==typeof i&&(c=l+i),c=Math.max(0,c);var u="",f=0;if(t.options.indentWithTabs)for(var d=Math.floor(c/s);d;--d)f+=s,u+="\t";if(f<c&&(u+=K(c-f)),u!=h)return lo(o,u,gt(e,0),gt(e,h.length),"+input"),!(a.stateAfter=null);for(var p=0;p<o.sel.ranges.length;p++){var m=o.sel.ranges[p];if(m.head.line==e&&m.head.ch<h.length){var g=gt(e,h.length);Gn(o,p,new _n(g,g));break}}}ks.defineInitHook=function(t){return bs.push(t)};var Es=null;function Cs(t){Es=t}function Ss(t,e,i,r,n){var o=t.doc;t.display.shift=!1,r||(r=o.sel);var s=t.state.pasteIncoming||"paste"==n,a=Te(e),l=null;if(s&&1<r.ranges.length)if(Es&&Es.text.join("\n")==e){if(r.ranges.length%Es.text.length==0){l=[];for(var c=0;c<Es.text.length;c++)l.push(o.splitLines(Es.text[c]))}}else a.length==r.ranges.length&&t.options.pasteLinesPerSelection&&(l=Q(a,function(t){return[t]}));for(var h=t.curOp.updateInput,u=r.ranges.length-1;0<=u;u--){var f=r.ranges[u],d=f.from(),p=f.to();f.empty()&&(i&&0<i?d=gt(d.line,d.ch-i):t.state.overwrite&&!s?p=gt(p.line,Math.min(lt(o,p.line).text.length,p.ch+$(a).length)):s&&Es&&Es.lineWise&&Es.text.join("\n")==e&&(d=p=gt(d.line,0)));var m={from:d,to:p,text:l?l[u%l.length]:a,origin:n||(s?"paste":t.state.cutIncoming?"cut":"+input")};ro(t.doc,m),ai(t,"inputRead",t,m)}e&&!s&&Ls(t,e),wr(t),t.curOp.updateInput<2&&(t.curOp.updateInput=h),t.curOp.typing=!0,t.state.pasteIncoming=t.state.cutIncoming=!1}function As(t,e){var i=t.clipboardData&&t.clipboardData.getData("Text");if(i)return t.preventDefault(),e.isReadOnly()||e.options.disableInput||jr(e,function(){return Ss(e,i,0,null,"paste")}),!0}function Ls(t,e){if(t.options.electricChars&&t.options.smartIndent)for(var i=t.doc.sel,r=i.ranges.length-1;0<=r;r--){var n=i.ranges[r];if(!(100<n.head.ch||r&&i.ranges[r-1].head.line==n.head.line)){var o=t.getModeAt(n.head),s=!1;if(o.electricChars){for(var a=0;a<o.electricChars.length;a++)if(-1<e.indexOf(o.electricChars.charAt(a))){s=ws(t,n.head.line,"smart");break}}else o.electricInput&&o.electricInput.test(lt(t.doc,n.head.line).text.slice(0,n.head.ch))&&(s=ws(t,n.head.line,"smart"));s&&ai(t,"electricInput",t,n.head.line)}}}function Ns(t){for(var e=[],i=[],r=0;r<t.doc.sel.ranges.length;r++){var n=t.doc.sel.ranges[r].head.line,o={anchor:gt(n,0),head:gt(n+1,0)};i.push(o),e.push(t.getRange(o.anchor,o.head))}return{text:e,ranges:i}}function Os(t,e,i,r){t.setAttribute("autocorrect",!!i),t.setAttribute("autocapitalize",!!r),t.setAttribute("spellcheck",!!e)}function Is(){var t=N("textarea",null,null,"position: absolute; bottom: -1em; padding: 0; width: 1px; height: 1em; outline: none"),e=N("div",[t],null,"overflow: hidden; position: relative; width: 3px; height: 0px;");return y?t.style.width="1000px":t.setAttribute("wrap","off"),h&&(t.style.border="1px solid black"),Os(t),e}function Rs(r,n,o,t,s){var e=n,i=o,a=lt(r,n.line);function l(t){var e,i;if(null==(e=s?function(e,i,a,t){var l=Zt(i,e.doc.direction);if(!l)return Yo(i,a,t);a.ch>=i.text.length?(a.ch=i.text.length,a.sticky="before"):a.ch<=0&&(a.ch=0,a.sticky="after");var r=Xt(l,a.ch,a.sticky),n=l[r];if("ltr"==e.doc.direction&&n.level%2==0&&(0<t?n.to>a.ch:n.from<a.ch))return Yo(i,a,t);var o,c=function(t,e){return Vo(i,t instanceof gt?t.ch:t,e)},s=function(t){return e.options.lineWrapping?(o=o||Ni(e,i),Qi(e,i,o,t)):{begin:0,end:i.text.length}},h=s("before"==a.sticky?c(a,-1):a.ch);if("rtl"==e.doc.direction||1==n.level){var u=1==n.level==t<0,f=c(a,u?1:-1);if(null!=f&&(u?f<=n.to&&f<=h.end:f>=n.from&&f>=h.begin)){var d=u?"before":"after";return new gt(a.line,f,d)}}var p=function(t,e,i){for(var r=function(t,e){return e?new gt(a.line,c(t,1),"before"):new gt(a.line,t,"after")};0<=t&&t<l.length;t+=e){var n=l[t],o=0<e==(1!=n.level),s=o?i.begin:c(i.end,-1);if(n.from<=s&&s<n.to)return r(s,o);if(s=o?n.from:c(n.to,-1),i.begin<=s&&s<i.end)return r(s,o)}},m=p(r+t,t,h);if(m)return m;var g=0<t?h.end:c(h.begin,-1);return null==g||0<t&&g==i.text.length||!(m=p(0<t?0:l.length-1,t,s(g)))?null:m}(r.cm,a,n,o):Yo(a,n,o))){if(t||(i=n.line+o)<r.first||i>=r.first+r.size||(n=new gt(i,n.ch,n.sticky),!(a=lt(r,i))))return!1;n=Ko(s,r.cm,a,n.line,o)}else n=e;return!0}if("char"==t)l();else if("column"==t)l(!0);else if("word"==t||"group"==t)for(var c=null,h="group"==t,u=r.cm&&r.cm.getHelper(n,"wordChars"),f=!0;!(o<0)||l(!f);f=!1){var d=a.text.charAt(n.ch)||"\n",p=et(d,u)?"w":h&&"\n"==d?"n":!h||/\s/.test(d)?null:"p";if(!h||f||p||(p="s"),c&&c!=p){o<0&&(o=1,l(),n.sticky="after");break}if(p&&(c=p),0<o&&!l(!f))break}var m=Zn(r,n,e,i,!0);return vt(e,m)&&(m.hitSide=!0),m}function Ms(t,e,i,r){var n,o,s=t.doc,a=e.left;if("page"==r){var l=Math.min(t.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight),c=Math.max(l-.5*Zi(t.display),3);n=(0<i?e.bottom:e.top)+i*c}else"line"==r&&(n=0<i?e.bottom+3:e.top-3);for(;(o=Ki(t,a,n)).outside;){if(i<0?n<=0:n>=s.height){o.hitSide=!0;break}n+=5*i}return o}var Ds=function(t){this.cm=t,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new U,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};function Ps(t,e){var i=Li(t,e.line);if(!i||i.hidden)return null;var r=lt(t.doc,e.line),n=Si(i,r,e.line),o=Zt(r,t.doc.direction),s="left";o&&(s=Xt(o,e.ch)%2?"right":"left");var a=Mi(n.map,e.ch,s);return a.offset="right"==a.collapse?a.end:a.start,a}function Bs(t,e){return e&&(t.bad=!0),t}function Fs(t,e,i){var r;if(e==t.display.lineDiv){if(!(r=t.display.lineDiv.childNodes[i]))return Bs(t.clipPos(gt(t.display.viewTo-1)),!0);e=null,i=0}else for(r=e;;r=r.parentNode){if(!r||r==t.display.lineDiv)return null;if(r.parentNode&&r.parentNode==t.display.lineDiv)break}for(var n=0;n<t.display.view.length;n++){var o=t.display.view[n];if(o.node==r)return Us(o,e,i)}}function Us(c,t,e){var i=c.text.firstChild,r=!1;if(!t||!O(i,t))return Bs(gt(ft(c.line),0),!0);if(t==i&&(r=!0,t=i.childNodes[e],e=0,!t)){var n=c.rest?$(c.rest):c.line;return Bs(gt(ft(n),n.text.length),r)}var o=3==t.nodeType?t:null,s=t;for(o||1!=t.childNodes.length||3!=t.firstChild.nodeType||(o=t.firstChild,e&&(e=o.nodeValue.length));s.parentNode!=i;)s=s.parentNode;var h=c.measure,u=h.maps;function a(t,e,i){for(var r=-1;r<(u?u.length:0);r++)for(var n=r<0?h.map:u[r],o=0;o<n.length;o+=3){var s=n[o+2];if(s==t||s==e){var a=ft(r<0?c.line:c.rest[r]),l=n[o]+i;return(i<0||s!=t)&&(l=n[o+(i?1:0)]),gt(a,l)}}}var l=a(o,s,e);if(l)return Bs(l,r);for(var f=s.nextSibling,d=o?o.nodeValue.length-e:0;f;f=f.nextSibling){if(l=a(f,f.firstChild,0))return Bs(gt(l.line,l.ch-d),r);d+=f.textContent.length}for(var p=s.previousSibling,m=e;p;p=p.previousSibling){if(l=a(p,p.firstChild,-1))return Bs(gt(l.line,l.ch+m),r);m+=p.textContent.length}}Ds.prototype.init=function(t){var e=this,s=this,a=s.cm,l=s.div=t.lineDiv;function i(t){if(!oe(a,t)){if(a.somethingSelected())Cs({lineWise:!1,text:a.getSelections()}),"cut"==t.type&&a.replaceSelection("",null,"cut");else{if(!a.options.lineWiseCopyCut)return;var e=Ns(a);Cs({lineWise:!0,text:e.text}),"cut"==t.type&&a.operation(function(){a.setSelections(e.ranges,0,q),a.replaceSelection("",null,"cut")})}if(t.clipboardData){t.clipboardData.clearData();var i=Es.text.join("\n");if(t.clipboardData.setData("Text",i),t.clipboardData.getData("Text")==i)return void t.preventDefault()}var r=Is(),n=r.firstChild;a.display.lineSpace.insertBefore(r,a.display.lineSpace.firstChild),n.value=Es.text.join("\n");var o=document.activeElement;D(n),setTimeout(function(){a.display.lineSpace.removeChild(r),o.focus(),o==l&&s.showPrimarySelection()},50)}}Os(l,a.options.spellcheck,a.options.autocorrect,a.options.autocapitalize),ee(l,"paste",function(t){oe(a,t)||As(t,a)||k<=11&&setTimeout(Vr(a,function(){return e.updateFromDOM()}),20)}),ee(l,"compositionstart",function(t){e.composing={data:t.data,done:!1}}),ee(l,"compositionupdate",function(t){e.composing||(e.composing={data:t.data,done:!1})}),ee(l,"compositionend",function(t){e.composing&&(t.data!=e.composing.data&&e.readFromDOMSoon(),e.composing.done=!0)}),ee(l,"touchstart",function(){return s.forceCompositionEnd()}),ee(l,"input",function(){e.composing||e.readFromDOMSoon()}),ee(l,"copy",i),ee(l,"cut",i)},Ds.prototype.prepareSelection=function(){var t=lr(this.cm,!1);return t.focus=this.cm.state.focused,t},Ds.prototype.showSelection=function(t,e){t&&this.cm.display.view.length&&((t.focus||e)&&this.showPrimarySelection(),this.showMultipleSelections(t))},Ds.prototype.getSelection=function(){return this.cm.display.wrapper.ownerDocument.getSelection()},Ds.prototype.showPrimarySelection=function(){var t=this.getSelection(),e=this.cm,i=e.doc.sel.primary(),r=i.from(),n=i.to();if(e.display.viewTo==e.display.viewFrom||r.line>=e.display.viewTo||n.line<e.display.viewFrom)t.removeAllRanges();else{var o=Fs(e,t.anchorNode,t.anchorOffset),s=Fs(e,t.focusNode,t.focusOffset);if(!o||o.bad||!s||s.bad||0!=_t(Tt(o,s),r)||0!=_t(xt(o,s),n)){var a=e.display.view,l=r.line>=e.display.viewFrom&&Ps(e,r)||{node:a[0].measure.map[2],offset:0},c=n.line<e.display.viewTo&&Ps(e,n);if(!c){var h=a[a.length-1].measure,u=h.maps?h.maps[h.maps.length-1]:h.map;c={node:u[u.length-1],offset:u[u.length-2]-u[u.length-3]}}if(l&&c){var f,d=t.rangeCount&&t.getRangeAt(0);try{f=E(l.node,l.offset,c.offset,c.node)}catch(t){}f&&(!m&&e.state.focused?(t.collapse(l.node,l.offset),f.collapsed||(t.removeAllRanges(),t.addRange(f))):(t.removeAllRanges(),t.addRange(f)),d&&null==t.anchorNode?t.addRange(d):m&&this.startGracePeriod()),this.rememberSelection()}else t.removeAllRanges()}}},Ds.prototype.startGracePeriod=function(){var t=this;clearTimeout(this.gracePeriod),this.gracePeriod=setTimeout(function(){t.gracePeriod=!1,t.selectionChanged()&&t.cm.operation(function(){return t.cm.curOp.selectionChanged=!0})},20)},Ds.prototype.showMultipleSelections=function(t){A(this.cm.display.cursorDiv,t.cursors),A(this.cm.display.selectionDiv,t.selection)},Ds.prototype.rememberSelection=function(){var t=this.getSelection();this.lastAnchorNode=t.anchorNode,this.lastAnchorOffset=t.anchorOffset,this.lastFocusNode=t.focusNode,this.lastFocusOffset=t.focusOffset},Ds.prototype.selectionInEditor=function(){var t=this.getSelection();if(!t.rangeCount)return!1;var e=t.getRangeAt(0).commonAncestorContainer;return O(this.div,e)},Ds.prototype.focus=function(){"nocursor"!=this.cm.options.readOnly&&(this.selectionInEditor()||this.showSelection(this.prepareSelection(),!0),this.div.focus())},Ds.prototype.blur=function(){this.div.blur()},Ds.prototype.getField=function(){return this.div},Ds.prototype.supportsTouch=function(){return!0},Ds.prototype.receivedFocus=function(){var e=this;this.selectionInEditor()?this.pollSelection():jr(this.cm,function(){return e.cm.curOp.selectionChanged=!0}),this.polling.set(this.cm.options.pollInterval,function t(){e.cm.state.focused&&(e.pollSelection(),e.polling.set(e.cm.options.pollInterval,t))})},Ds.prototype.selectionChanged=function(){var t=this.getSelection();return t.anchorNode!=this.lastAnchorNode||t.anchorOffset!=this.lastAnchorOffset||t.focusNode!=this.lastFocusNode||t.focusOffset!=this.lastFocusOffset},Ds.prototype.pollSelection=function(){if(null==this.readDOMTimeout&&!this.gracePeriod&&this.selectionChanged()){var t=this.getSelection(),e=this.cm;if(u&&s&&this.cm.options.gutters.length&&function(t){for(var e=t;e;e=e.parentNode)if(/CodeMirror-gutter-wrapper/.test(e.className))return!0;return!1}(t.anchorNode))return this.cm.triggerOnKeyDown({type:"keydown",keyCode:8,preventDefault:Math.abs}),this.blur(),void this.focus();if(!this.composing){this.rememberSelection();var i=Fs(e,t.anchorNode,t.anchorOffset),r=Fs(e,t.focusNode,t.focusOffset);i&&r&&jr(e,function(){Yn(e.doc,yn(i,r),q),(i.bad||r.bad)&&(e.curOp.selectionChanged=!0)})}}},Ds.prototype.pollContent=function(){null!=this.readDOMTimeout&&(clearTimeout(this.readDOMTimeout),this.readDOMTimeout=null);var t,e,i,r=this.cm,n=r.display,o=r.doc.sel.primary(),s=o.from(),a=o.to();if(0==s.ch&&s.line>r.firstLine()&&(s=gt(s.line-1,lt(r.doc,s.line-1).length)),a.ch==lt(r.doc,a.line).text.length&&a.line<r.lastLine()&&(a=gt(a.line+1,0)),s.line<n.viewFrom||a.line>n.viewTo-1)return!1;i=s.line==n.viewFrom||0==(t=sr(r,s.line))?(e=ft(n.view[0].line),n.view[0].node):(e=ft(n.view[t].line),n.view[t-1].node.nextSibling);var l,c,h=sr(r,a.line);if(c=h==n.view.length-1?(l=n.viewTo-1,n.lineDiv.lastChild):(l=ft(n.view[h+1].line)-1,n.view[h+1].node.previousSibling),!i)return!1;for(var u=r.doc.splitLines(function(l,t,e,c,h){var i="",u=!1,f=l.doc.lineSeparator(),d=!1;function p(){u&&(i+=f,d&&(i+=f),u=d=!1)}function m(t){t&&(p(),i+=t)}function g(t){if(1==t.nodeType){var e=t.getAttribute("cm-text");if(e)return void m(e);var i,r=t.getAttribute("cm-marker");if(r){var n=l.findMarks(gt(c,0),gt(h+1,0),(a=+r,function(t){return t.id==a}));return void(n.length&&(i=n[0].find(0))&&m(ct(l.doc,i.from,i.to).join(f)))}if("false"==t.getAttribute("contenteditable"))return;var o=/^(pre|div|p|li|table|br)$/i.test(t.nodeName);if(!/^br$/i.test(t.nodeName)&&0==t.textContent.length)return;o&&p();for(var s=0;s<t.childNodes.length;s++)g(t.childNodes[s]);/^(pre|p)$/i.test(t.nodeName)&&(d=!0),o&&(u=!0)}else 3==t.nodeType&&m(t.nodeValue.replace(/\u200b/g,"").replace(/\u00a0/g," "));var a}for(;g(t),t!=e;)t=t.nextSibling,d=!1;return i}(r,i,c,e,l)),f=ct(r.doc,gt(e,0),gt(l,lt(r.doc,l).text.length));1<u.length&&1<f.length;)if($(u)==$(f))u.pop(),f.pop(),l--;else{if(u[0]!=f[0])break;u.shift(),f.shift(),e++}for(var d=0,p=0,m=u[0],g=f[0],_=Math.min(m.length,g.length);d<_&&m.charCodeAt(d)==g.charCodeAt(d);)++d;for(var v=$(u),y=$(f),x=Math.min(v.length-(1==u.length?d:0),y.length-(1==f.length?d:0));p<x&&v.charCodeAt(v.length-p-1)==y.charCodeAt(y.length-p-1);)++p;if(1==u.length&&1==f.length&&e==s.line)for(;d&&d>s.ch&&v.charCodeAt(v.length-p-1)==y.charCodeAt(y.length-p-1);)d--,p++;u[u.length-1]=v.slice(0,v.length-p).replace(/^\u200b+/,""),u[0]=u[0].slice(d).replace(/\u200b+$/,"");var T=gt(e,d),k=gt(l,f.length?$(f).length-p:0);return 1<u.length||u[0]||_t(T,k)?(lo(r.doc,u,T,k,"+input"),!0):void 0},Ds.prototype.ensurePolled=function(){this.forceCompositionEnd()},Ds.prototype.reset=function(){this.forceCompositionEnd()},Ds.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},Ds.prototype.readFromDOMSoon=function(){var t=this;null==this.readDOMTimeout&&(this.readDOMTimeout=setTimeout(function(){if(t.readDOMTimeout=null,t.composing){if(!t.composing.done)return;t.composing=null}t.updateFromDOM()},80))},Ds.prototype.updateFromDOM=function(){var t=this;!this.cm.isReadOnly()&&this.pollContent()||jr(this.cm,function(){return $r(t.cm)})},Ds.prototype.setUneditable=function(t){t.contentEditable="false"},Ds.prototype.onKeyPress=function(t){0==t.charCode||this.composing||(t.preventDefault(),this.cm.isReadOnly()||Vr(this.cm,Ss)(this.cm,String.fromCharCode(null==t.charCode?t.keyCode:t.charCode),0))},Ds.prototype.readOnlyChanged=function(t){this.div.contentEditable=String("nocursor"!=t)},Ds.prototype.onContextMenu=function(){},Ds.prototype.resetPosition=function(){},Ds.prototype.needsContentAttribute=!0;var Hs,Ws,zs,qs=function(t){this.cm=t,this.prevInput="",this.pollingFast=!1,this.polling=new U,this.hasSelection=!1,this.composing=null};qs.prototype.init=function(e){var t=this,i=this,r=this.cm;this.createField(e);var n=this.textarea;function o(t){if(!oe(r,t)){if(r.somethingSelected())Cs({lineWise:!1,text:r.getSelections()});else{if(!r.options.lineWiseCopyCut)return;var e=Ns(r);Cs({lineWise:!0,text:e.text}),"cut"==t.type?r.setSelections(e.ranges,null,q):(i.prevInput="",n.value=e.text.join("\n"),D(n))}"cut"==t.type&&(r.state.cutIncoming=!0)}}e.wrapper.insertBefore(this.wrapper,e.wrapper.firstChild),h&&(n.style.width="0px"),ee(n,"input",function(){T&&9<=k&&t.hasSelection&&(t.hasSelection=null),i.poll()}),ee(n,"paste",function(t){oe(r,t)||As(t,r)||(r.state.pasteIncoming=!0,i.fastPoll())}),ee(n,"cut",o),ee(n,"copy",o),ee(e.scroller,"paste",function(t){xi(e,t)||oe(r,t)||(r.state.pasteIncoming=!0,i.focus())}),ee(e.lineSpace,"selectstart",function(t){xi(e,t)||ce(t)}),ee(n,"compositionstart",function(){var t=r.getCursor("from");i.composing&&i.composing.range.clear(),i.composing={start:t,range:r.markText(t,r.getCursor("to"),{className:"CodeMirror-composing"})}}),ee(n,"compositionend",function(){i.composing&&(i.poll(),i.composing.range.clear(),i.composing=null)})},qs.prototype.createField=function(t){this.wrapper=Is(),this.textarea=this.wrapper.firstChild},qs.prototype.prepareSelection=function(){var t=this.cm,e=t.display,i=t.doc,r=lr(t);if(t.options.moveInputWithCursor){var n=ji(t,i.sel.primary().head,"div"),o=e.wrapper.getBoundingClientRect(),s=e.lineDiv.getBoundingClientRect();r.teTop=Math.max(0,Math.min(e.wrapper.clientHeight-10,n.top+s.top-o.top)),r.teLeft=Math.max(0,Math.min(e.wrapper.clientWidth-10,n.left+s.left-o.left))}return r},qs.prototype.showSelection=function(t){var e=this.cm.display;A(e.cursorDiv,t.cursors),A(e.selectionDiv,t.selection),null!=t.teTop&&(this.wrapper.style.top=t.teTop+"px",this.wrapper.style.left=t.teLeft+"px")},qs.prototype.reset=function(t){if(!this.contextMenuPending&&!this.composing){var e=this.cm;if(e.somethingSelected()){this.prevInput="";var i=e.getSelection();this.textarea.value=i,e.state.focused&&D(this.textarea),T&&9<=k&&(this.hasSelection=i)}else t||(this.prevInput=this.textarea.value="",T&&9<=k&&(this.hasSelection=null))}},qs.prototype.getField=function(){return this.textarea},qs.prototype.supportsTouch=function(){return!1},qs.prototype.focus=function(){if("nocursor"!=this.cm.options.readOnly&&(!f||I()!=this.textarea))try{this.textarea.focus()}catch(t){}},qs.prototype.blur=function(){this.textarea.blur()},qs.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},qs.prototype.receivedFocus=function(){this.slowPoll()},qs.prototype.slowPoll=function(){var t=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,function(){t.poll(),t.cm.state.focused&&t.slowPoll()})},qs.prototype.fastPoll=function(){var e=!1,i=this;i.pollingFast=!0,i.polling.set(20,function t(){i.poll()||e?(i.pollingFast=!1,i.slowPoll()):(e=!0,i.polling.set(60,t))})},qs.prototype.poll=function(){var t=this,e=this.cm,i=this.textarea,r=this.prevInput;if(this.contextMenuPending||!e.state.focused||ke(i)&&!r&&!this.composing||e.isReadOnly()||e.options.disableInput||e.state.keySeq)return!1;var n=i.value;if(n==r&&!e.somethingSelected())return!1;if(T&&9<=k&&this.hasSelection===n||x&&/[\uf700-\uf7ff]/.test(n))return e.display.input.reset(),!1;if(e.doc.sel==e.display.selForContextMenu){var o=n.charCodeAt(0);if(8203!=o||r||(r="​"),8666==o)return this.reset(),this.cm.execCommand("undo")}for(var s=0,a=Math.min(r.length,n.length);s<a&&r.charCodeAt(s)==n.charCodeAt(s);)++s;return jr(e,function(){Ss(e,n.slice(s),r.length-s,null,t.composing?"*compose":null),1e3<n.length||-1<n.indexOf("\n")?i.value=t.prevInput="":t.prevInput=n,t.composing&&(t.composing.range.clear(),t.composing.range=e.markText(t.composing.start,e.getCursor("to"),{className:"CodeMirror-composing"}))}),!0},qs.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},qs.prototype.onKeyPress=function(){T&&9<=k&&(this.hasSelection=null),this.fastPoll()},qs.prototype.onContextMenu=function(t){var i=this,r=i.cm,n=r.display,o=i.textarea;i.contextMenuPending&&i.contextMenuPending();var e=or(r,t),s=n.scroller.scrollTop;if(e&&!g){r.options.resetSelectionOnContextMenu&&-1==r.doc.sel.contains(e)&&Vr(r,Yn)(r.doc,yn(e),q);var a,l=o.style.cssText,c=i.wrapper.style.cssText,h=i.wrapper.offsetParent.getBoundingClientRect();if(i.wrapper.style.cssText="position: static",o.style.cssText="position: absolute; width: 30px; height: 30px;\n top: "+(t.clientY-h.top-5)+"px; left: "+(t.clientX-h.left-5)+"px;\n z-index: 1000; background: "+(T?"rgba(255, 255, 255, .05)":"transparent")+";\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);",y&&(a=window.scrollY),n.input.focus(),y&&window.scrollTo(null,a),n.input.reset(),r.somethingSelected()||(o.value=i.prevInput=" "),i.contextMenuPending=d,n.selForContextMenu=r.doc.sel,clearTimeout(n.detectingSelectAll),T&&9<=k&&f(),b){fe(t);var u=function(){re(window,"mouseup",u),setTimeout(d,20)};ee(window,"mouseup",u)}else setTimeout(d,50)}function f(){if(null!=o.selectionStart){var t=r.somethingSelected(),e="​"+(t?o.value:"");o.value="⇚",o.value=e,i.prevInput=t?"":"​",o.selectionStart=1,o.selectionEnd=e.length,n.selForContextMenu=r.doc.sel}}function d(){if(i.contextMenuPending==d&&(i.contextMenuPending=!1,i.wrapper.style.cssText=c,o.style.cssText=l,T&&k<9&&n.scrollbars.setScrollTop(n.scroller.scrollTop=s),null!=o.selectionStart)){(!T||T&&k<9)&&f();var t=0,e=function(){n.selForContextMenu==r.doc.sel&&0==o.selectionStart&&0<o.selectionEnd&&"​"==i.prevInput?Vr(r,eo)(r):t++<10?n.detectingSelectAll=setTimeout(e,500):(n.selForContextMenu=null,n.input.reset())};n.detectingSelectAll=setTimeout(e,200)}}},qs.prototype.readOnlyChanged=function(t){t||this.reset(),this.textarea.disabled="nocursor"==t},qs.prototype.setUneditable=function(){},qs.prototype.needsContentAttribute=!1,function(n){var o=n.optionHandlers;function t(t,e,r,i){n.defaults[t]=e,r&&(o[t]=i?function(t,e,i){i!=gs&&r(t,e,i)}:r)}n.defineOption=t,n.Init=gs,t("value","",function(t,e){return t.setValue(e)},!0),t("mode",null,function(t,e){t.doc.modeOption=e,wn(t)},!0),t("indentUnit",2,wn,!0),t("indentWithTabs",!1),t("smartIndent",!0),t("tabSize",4,function(t){En(t),Fi(t),$r(t)},!0),t("lineSeparator",null,function(t,r){if(t.doc.lineSep=r){var n=[],o=t.doc.first;t.doc.iter(function(t){for(var e=0;;){var i=t.text.indexOf(r,e);if(-1==i)break;e=i+r.length,n.push(gt(o,i))}o++});for(var e=n.length-1;0<=e;e--)lo(t.doc,r,n[e],gt(n[e].line,n[e].ch+r.length))}}),t("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b-\u200f\u2028\u2029\ufeff]/g,function(t,e,i){t.state.specialChars=new RegExp(e.source+(e.test("\t")?"":"|\t"),"g"),i!=gs&&t.refresh()}),t("specialCharPlaceholder",Je,function(t){return t.refresh()},!0),t("electricChars",!0),t("inputStyle",f?"contenteditable":"textarea",function(){throw new Error("inputStyle can not (yet) be changed in a running editor")},!0),t("spellcheck",!1,function(t,e){return t.getInputField().spellcheck=e},!0),t("autocorrect",!1,function(t,e){return t.getInputField().autocorrect=e},!0),t("autocapitalize",!1,function(t,e){return t.getInputField().autocapitalize=e},!0),t("rtlMoveVisually",!p),t("wholeLineUpdateBefore",!0),t("theme","default",function(t){ms(t),ys(t)},!0),t("keyMap","default",function(t,e,i){var r=Go(e),n=i!=gs&&Go(i);n&&n.detach&&n.detach(t,r),r.attach&&r.attach(t,n||null)}),t("extraKeys",null),t("configureMouse",null),t("lineWrapping",!1,Ts,!0),t("gutters",[],function(t){hn(t.options),ys(t)},!0),t("fixedGutter",!0,function(t,e){t.display.gutters.style.left=e?ir(t.display)+"px":"0",t.refresh()},!0),t("coverGutterNextToScrollbar",!1,function(t){return Mr(t)},!0),t("scrollbarStyle","native",function(t){Br(t),Mr(t),t.display.scrollbars.setScrollTop(t.doc.scrollTop),t.display.scrollbars.setScrollLeft(t.doc.scrollLeft)},!0),t("lineNumbers",!1,function(t){hn(t.options),ys(t)},!0),t("firstLineNumber",1,ys,!0),t("lineNumberFormatter",function(t){return t},ys,!0),t("showCursorWhenSelecting",!1,ar,!0),t("resetSelectionOnContextMenu",!0),t("lineWiseCopyCut",!0),t("pasteLinesPerSelection",!0),t("selectionsMayTouch",!1),t("readOnly",!1,function(t,e){"nocursor"==e&&(gr(t),t.display.input.blur()),t.display.input.readOnlyChanged(e)}),t("disableInput",!1,function(t,e){e||t.display.input.reset()},!0),t("dragDrop",!0,xs),t("allowDropFileTypes",null),t("cursorBlinkRate",530),t("cursorScrollMargin",0),t("cursorHeight",1,ar,!0),t("singleCursorHeightPerLine",!0,ar,!0),t("workTime",100),t("workDelay",100),t("flattenSpans",!0,En,!0),t("addModeClass",!1,En,!0),t("pollInterval",100),t("undoDepth",200,function(t,e){return t.doc.history.undoDepth=e}),t("historyEventDelay",1250),t("viewportMargin",10,function(t){return t.refresh()},!0),t("maxHighlightLength",1e4,En,!0),t("moveInputWithCursor",!0,function(t,e){e||t.display.input.resetPosition()}),t("tabindex",null,function(t,e){return t.display.input.getField().tabIndex=e||""}),t("autofocus",null),t("direction","ltr",function(t,e){return t.doc.setDirection(e)},!0),t("phrases",null)}(ks),Ws=(Hs=ks).optionHandlers,zs=Hs.helpers={},Hs.prototype={constructor:Hs,focus:function(){window.focus(),this.display.input.focus()},setOption:function(t,e){var i=this.options,r=i[t];i[t]==e&&"mode"!=t||(i[t]=e,Ws.hasOwnProperty(t)&&Vr(this,Ws[t])(this,e,r),ne(this,"optionChange",this,t))},getOption:function(t){return this.options[t]},getDoc:function(){return this.doc},addKeyMap:function(t,e){this.state.keyMaps[e?"push":"unshift"](Go(t))},removeKeyMap:function(t){for(var e=this.state.keyMaps,i=0;i<e.length;++i)if(e[i]==t||e[i].name==t)return e.splice(i,1),!0},addOverlay:Yr(function(t,e){var i=t.token?t:Hs.getMode(this.options,t);if(i.startState)throw new Error("Overlays may not be stateful.");!function(t,e,i){for(var r=0,n=i(e);r<t.length&&i(t[r])<=n;)r++;t.splice(r,0,e)}(this.state.overlays,{mode:i,modeSpec:t,opaque:e&&e.opaque,priority:e&&e.priority||0},function(t){return t.priority}),this.state.modeGen++,$r(this)}),removeOverlay:Yr(function(t){for(var e=this.state.overlays,i=0;i<e.length;++i){var r=e[i].modeSpec;if(r==t||"string"==typeof t&&r.name==t)return e.splice(i,1),this.state.modeGen++,void $r(this)}}),indentLine:Yr(function(t,e,i){"string"!=typeof e&&"number"!=typeof e&&(e=null==e?this.options.smartIndent?"smart":"prev":e?"add":"subtract"),pt(this.doc,t)&&ws(this,t,e,i)}),indentSelection:Yr(function(t){for(var e=this.doc.sel.ranges,i=-1,r=0;r<e.length;r++){var n=e[r];if(n.empty())n.head.line>i&&(ws(this,n.head.line,t,!0),i=n.head.line,r==this.doc.sel.primIndex&&wr(this));else{var o=n.from(),s=n.to(),a=Math.max(i,o.line);i=Math.min(this.lastLine(),s.line-(s.ch?0:1))+1;for(var l=a;l<i;++l)ws(this,l,t);var c=this.doc.sel.ranges;0==o.ch&&e.length==c.length&&0<c[r].from().ch&&Gn(this.doc,r,new _n(o,c[r].to()),q)}}}),getTokenAt:function(t,e){return Ge(this,t,e)},getLineTokens:function(t,e){return Ge(this,gt(t),e,!0)},getTokenTypeAt:function(t){t=bt(this.doc,t);var e,i=Fe(this,lt(this.doc,t.line)),r=0,n=(i.length-1)/2,o=t.ch;if(0==o)e=i[2];else for(;;){var s=r+n>>1;if((s?i[2*s-1]:0)>=o)n=s;else{if(!(i[2*s+1]<o)){e=i[2*s+2];break}r=s+1}}var a=e?e.indexOf("overlay "):-1;return a<0?e:0==a?null:e.slice(0,a-1)},getModeAt:function(t){var e=this.doc.mode;return e.innerMode?Hs.innerMode(e,this.getTokenAt(t).state).mode:e},getHelper:function(t,e){return this.getHelpers(t,e)[0]},getHelpers:function(t,e){var i=[];if(!zs.hasOwnProperty(e))return i;var r=zs[e],n=this.getModeAt(t);if("string"==typeof n[e])r[n[e]]&&i.push(r[n[e]]);else if(n[e])for(var o=0;o<n[e].length;o++){var s=r[n[e][o]];s&&i.push(s)}else n.helperType&&r[n.helperType]?i.push(r[n.helperType]):r[n.name]&&i.push(r[n.name]);for(var a=0;a<r._global.length;a++){var l=r._global[a];l.pred(n,this)&&-1==H(i,l.val)&&i.push(l.val)}return i},getStateAfter:function(t,e){var i=this.doc;return Ue(this,(t=kt(i,null==t?i.first+i.size-1:t))+1,e).state},cursorCoords:function(t,e){var i=this.doc.sel.primary();return ji(this,null==t?i.head:"object"==typeof t?bt(this.doc,t):t?i.from():i.to(),e||"page")},charCoords:function(t,e){return Gi(this,bt(this.doc,t),e||"page")},coordsChar:function(t,e){return Ki(this,(t=qi(this,t,e||"page")).left,t.top)},lineAtHeight:function(t,e){return t=qi(this,{top:t,left:0},e||"page").top,dt(this.doc,t+this.display.viewOffset)},heightAtLine:function(t,e,i){var r,n=!1;if("number"==typeof t){var o=this.doc.first+this.doc.size-1;t<this.doc.first?t=this.doc.first:o<t&&(t=o,n=!0),r=lt(this.doc,t)}else r=t;return zi(this,r,{top:0,left:0},e||"page",i||n).top+(n?this.doc.height-Yt(r):0)},defaultTextHeight:function(){return Zi(this.display)},defaultCharWidth:function(){return tr(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(t,e,i,r,n){var o,s,a,l=this.display,c=(t=ji(this,bt(this.doc,t))).bottom,h=t.left;if(e.style.position="absolute",e.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(e),l.sizer.appendChild(e),"over"==r)c=t.top;else if("above"==r||"near"==r){var u=Math.max(l.wrapper.clientHeight,this.doc.height),f=Math.max(l.sizer.clientWidth,l.lineSpace.clientWidth);("above"==r||t.bottom+e.offsetHeight>u)&&t.top>e.offsetHeight?c=t.top-e.offsetHeight:t.bottom+e.offsetHeight<=u&&(c=t.bottom),h+e.offsetWidth>f&&(h=f-e.offsetWidth)}e.style.top=c+"px",e.style.left=e.style.right="","right"==n?(h=l.sizer.clientWidth-e.offsetWidth,e.style.right="0px"):("left"==n?h=0:"middle"==n&&(h=(l.sizer.clientWidth-e.offsetWidth)/2),e.style.left=h+"px"),i&&(o=this,s={left:h,top:c,right:h+e.offsetWidth,bottom:c+e.offsetHeight},null!=(a=kr(o,s)).scrollTop&&Ar(o,a.scrollTop),null!=a.scrollLeft&&Nr(o,a.scrollLeft))},triggerOnKeyDown:Yr(ns),triggerOnKeyPress:Yr(ss),triggerOnKeyUp:os,triggerOnMouseDown:Yr(hs),execCommand:function(t){if($o.hasOwnProperty(t))return $o[t].call(null,this)},triggerElectric:Yr(function(t){Ls(this,t)}),findPosH:function(t,e,i,r){var n=1;e<0&&(n=-1,e=-e);for(var o=bt(this.doc,t),s=0;s<e&&!(o=Rs(this.doc,o,n,i,r)).hitSide;++s);return o},moveH:Yr(function(e,i){var r=this;this.extendSelectionsBy(function(t){return r.display.shift||r.doc.extend||t.empty()?Rs(r.doc,t.head,e,i,r.options.rtlMoveVisually):e<0?t.from():t.to()},j)}),deleteH:Yr(function(i,r){var t=this.doc.sel,n=this.doc;t.somethingSelected()?n.replaceSelection("",null,"+delete"):jo(this,function(t){var e=Rs(n,t.head,i,r,!1);return i<0?{from:e,to:t.head}:{from:t.head,to:e}})}),findPosV:function(t,e,i,r){var n=1,o=r;e<0&&(n=-1,e=-e);for(var s=bt(this.doc,t),a=0;a<e;++a){var l=ji(this,s,"div");if(null==o?o=l.left:l.left=o,(s=Ms(this,l,n,i)).hitSide)break}return s},moveV:Yr(function(r,n){var o=this,s=this.doc,a=[],l=!this.display.shift&&!s.extend&&s.sel.somethingSelected();if(s.extendSelectionsBy(function(t){if(l)return r<0?t.from():t.to();var e=ji(o,t.head,"div");null!=t.goalColumn&&(e.left=t.goalColumn),a.push(e.left);var i=Ms(o,e,r,n);return"page"==n&&t==s.sel.primary()&&br(o,Gi(o,i,"div").top-e.top),i},j),a.length)for(var t=0;t<s.sel.ranges.length;t++)s.sel.ranges[t].goalColumn=a[t]}),findWordAt:function(t){var e=lt(this.doc,t.line).text,i=t.ch,r=t.ch;if(e){var n=this.getHelper(t,"wordChars");"before"!=t.sticky&&r!=e.length||!i?++r:--i;for(var o=e.charAt(i),s=et(o,n)?function(t){return et(t,n)}:/\s/.test(o)?function(t){return/\s/.test(t)}:function(t){return!/\s/.test(t)&&!et(t)};0<i&&s(e.charAt(i-1));)--i;for(;r<e.length&&s(e.charAt(r));)++r}return new _n(gt(t.line,i),gt(t.line,r))},toggleOverwrite:function(t){null!=t&&t==this.state.overwrite||((this.state.overwrite=!this.state.overwrite)?R(this.display.cursorDiv,"CodeMirror-overwrite"):C(this.display.cursorDiv,"CodeMirror-overwrite"),ne(this,"overwriteToggle",this,this.state.overwrite))},hasFocus:function(){return this.display.input.getField()==I()},isReadOnly:function(){return!(!this.options.readOnly&&!this.doc.cantEdit)},scrollTo:Yr(function(t,e){Er(this,t,e)}),getScrollInfo:function(){var t=this.display.scroller;return{left:t.scrollLeft,top:t.scrollTop,height:t.scrollHeight-wi(this)-this.display.barHeight,width:t.scrollWidth-wi(this)-this.display.barWidth,clientHeight:Ci(this),clientWidth:Ei(this)}},scrollIntoView:Yr(function(t,e){var i,r;null==t?(t={from:this.doc.sel.primary().head,to:null},null==e&&(e=this.options.cursorScrollMargin)):"number"==typeof t?t={from:gt(t,0),to:null}:null==t.from&&(t={from:t,to:null}),t.to||(t.to=t.from),t.margin=e||0,null!=t.from.line?(r=t,Cr(i=this),i.curOp.scrollToPos=r):Sr(this,t.from,t.to,t.margin)}),setSize:Yr(function(t,e){var i=this,r=function(t){return"number"==typeof t||/^\d+$/.test(String(t))?t+"px":t};null!=t&&(this.display.wrapper.style.width=r(t)),null!=e&&(this.display.wrapper.style.height=r(e)),this.options.lineWrapping&&Bi(this);var n=this.display.viewFrom;this.doc.iter(n,this.display.viewTo,function(t){if(t.widgets)for(var e=0;e<t.widgets.length;e++)if(t.widgets[e].noHScroll){Qr(i,n,"widget");break}++n}),this.curOp.forceUpdate=!0,ne(this,"refresh",this)}),operation:function(t){return jr(this,t)},startOperation:function(){return Ur(this)},endOperation:function(){return Hr(this)},refresh:Yr(function(){var t=this.display.cachedTextHeight;$r(this),this.curOp.forceUpdate=!0,Fi(this),Er(this,this.doc.scrollLeft,this.doc.scrollTop),an(this),(null==t||.5<Math.abs(t-Zi(this.display)))&&nr(this),ne(this,"refresh",this)}),swapDoc:Yr(function(t){var e=this.doc;return e.cm=null,Ln(this,t),Fi(this),this.display.input.reset(),Er(this,t.scrollLeft,t.scrollTop),this.curOp.forceScroll=!0,ai(this,"swapDoc",this,e),e}),phrase:function(t){var e=this.options.phrases;return e&&Object.prototype.hasOwnProperty.call(e,t)?e[t]:t},getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},le(Hs),Hs.registerHelper=function(t,e,i){zs.hasOwnProperty(t)||(zs[t]=Hs[t]={_global:[]}),zs[t][e]=i},Hs.registerGlobalHelper=function(t,e,i,r){Hs.registerHelper(t,e,r),zs[t]._global.push({pred:i,val:r})};var Gs,js="iter insert remove copy getEditor constructor".split(" ");for(var Vs in Eo.prototype)Eo.prototype.hasOwnProperty(Vs)&&H(js,Vs)<0&&(ks.prototype[Vs]=function(t){return function(){return t.apply(this.doc,arguments)}}(Eo.prototype[Vs]));return le(Eo),ks.inputStyles={textarea:qs,contenteditable:Ds},ks.defineMode=function(t){ks.defaults.mode||"null"==t||(ks.defaults.mode=t),function(t,e){2<arguments.length&&(e.dependencies=Array.prototype.slice.call(arguments,2)),Ee[t]=e}.apply(this,arguments)},ks.defineMIME=function(t,e){Ce[t]=e},ks.defineMode("null",function(){return{token:function(t){return t.skipToEnd()}}}),ks.defineMIME("text/plain","null"),ks.defineExtension=function(t,e){ks.prototype[t]=e},ks.defineDocExtension=function(t,e){Eo.prototype[t]=e},ks.fromTextArea=function(e,t){if((t=t?B(t):{}).value=e.value,!t.tabindex&&e.tabIndex&&(t.tabindex=e.tabIndex),!t.placeholder&&e.placeholder&&(t.placeholder=e.placeholder),null==t.autofocus){var i=I();t.autofocus=i==e||null!=e.getAttribute("autofocus")&&i==document.body}function r(){e.value=a.getValue()}var n;if(e.form&&(ee(e.form,"submit",r),!t.leaveSubmitMethodAlone)){var o=e.form;n=o.submit;try{var s=o.submit=function(){r(),o.submit=n,o.submit(),o.submit=s}}catch(t){}}t.finishInit=function(t){t.save=r,t.getTextArea=function(){return e},t.toTextArea=function(){t.toTextArea=isNaN,r(),e.parentNode.removeChild(t.getWrapperElement()),e.style.display="",e.form&&(re(e.form,"submit",r),"function"==typeof e.form.submit&&(e.form.submit=n))}},e.style.display="none";var a=ks(function(t){return e.parentNode.insertBefore(t,e.nextSibling)},t);return a},(Gs=ks).off=re,Gs.on=ee,Gs.wheelEventPixels=pn,Gs.Doc=Eo,Gs.splitLines=Te,Gs.countColumn=F,Gs.findColumn=V,Gs.isWordChar=tt,Gs.Pass=z,Gs.signal=ne,Gs.Line=Ye,Gs.changeEnd=xn,Gs.scrollbarModel=Pr,Gs.Pos=gt,Gs.cmpPos=_t,Gs.modes=Ee,Gs.mimeModes=Ce,Gs.resolveMode=Se,Gs.getMode=Ae,Gs.modeExtensions=Le,Gs.extendMode=Ne,Gs.copyState=Oe,Gs.startState=Re,Gs.innerMode=Ie,Gs.commands=$o,Gs.keyMap=Bo,Gs.keyName=qo,Gs.isModifierKey=Wo,Gs.lookupKey=Ho,Gs.normalizeKeyMap=Uo,Gs.StringStream=Me,Gs.SharedTextMarker=To,Gs.TextMarker=yo,Gs.LineWidget=go,Gs.e_preventDefault=ce,Gs.e_stopPropagation=he,Gs.e_stop=fe,Gs.addClass=R,Gs.contains=O,Gs.rmClass=C,Gs.keyNames=Ro,ks.version="5.43.0",ks},"object"==typeof i&&void 0!==e?e.exports=n():"function"==typeof define&&define.amd?define(n):r.CodeMirror=n()},{}],13:[function(t,e,i){var r;r=function(N){"use strict";function O(t,e,i,r,n,o){this.indented=t,this.column=e,this.type=i,this.info=r,this.align=n,this.prev=o}function I(t,e,i,r){var n=t.indented;return t.context&&"statement"==t.context.type&&"statement"!=i&&(n=t.context.indented),t.context=new O(n,e,i,r,null,t.context)}function R(t){var e=t.context.type;return")"!=e&&"]"!=e&&"}"!=e||(t.indented=t.context.indented),t.context=t.context.prev}function M(t,e,i){return"variable"==e.prevToken||"type"==e.prevToken||(!!/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(t.string.slice(0,i))||(!(!e.typeAtEndOfLine||t.column()!=t.indentation())||void 0))}function D(t){for(;;){if(!t||"top"==t.type)return!0;if("}"==t.type&&"namespace"!=t.prev.info)return!1;t=t.prev}}function t(t){for(var e={},i=t.split(" "),r=0;r<i.length;++r)e[i[r]]=!0;return e}function P(t,e){return"function"==typeof t?t(e):t.propertyIsEnumerable(e)}N.defineMode("clike",function(t,a){var s,l,c=t.indentUnit,h=a.statementIndentUnit||c,u=a.dontAlignCalls,f=a.keywords||{},d=a.types||{},p=a.builtin||{},m=a.blockKeywords||{},g=a.defKeywords||{},_=a.atoms||{},v=a.hooks||{},y=a.multiLineStrings,o=!1!==a.indentStatements,e=!1!==a.indentSwitch,x=a.namespaceSeparator,T=a.isPunctuationChar||/[\[\]{}\(\),;\:\.]/,k=a.numberStart||/[\d\.]/,b=a.number||/^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,w=a.isOperatorChar||/[+\-*&%=<>!?|\/]/,E=a.isIdentifierChar||/[\w\$_\xa1-\uffff]/,C=a.isReservedIdentifier||!1;function S(t,e){var o,i=t.next();if(v[i]){var r=v[i](t,e);if(!1!==r)return r}if('"'==i||"'"==i)return e.tokenize=(o=i,function(t,e){for(var i,r=!1,n=!1;null!=(i=t.next());){if(i==o&&!r){n=!0;break}r=!r&&"\\"==i}return(n||!r&&!y)&&(e.tokenize=null),"string"}),e.tokenize(t,e);if(T.test(i))return s=i,null;if(k.test(i)){if(t.backUp(1),t.match(b))return"number";t.next()}if("/"==i){if(t.eat("*"))return(e.tokenize=A)(t,e);if(t.eat("/"))return t.skipToEnd(),"comment"}if(w.test(i)){for(;!t.match(/^\/[\/*]/,!1)&&t.eat(w););return"operator"}if(t.eatWhile(E),x)for(;t.match(x);)t.eatWhile(E);var n=t.current();return P(f,n)?(P(m,n)&&(s="newstatement"),P(g,n)&&(l=!0),"keyword"):P(d,n)?"type":P(p,n)||C&&C(n)?(P(m,n)&&(s="newstatement"),"builtin"):P(_,n)?"atom":"variable"}function A(t,e){for(var i,r=!1;i=t.next();){if("/"==i&&r){e.tokenize=null;break}r="*"==i}return"comment"}function L(t,e){a.typeFirstDefinitions&&t.eol()&&D(e.context)&&(e.typeAtEndOfLine=M(t,e,t.pos))}return{startState:function(t){return{tokenize:null,context:new O((t||0)-c,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(t,e){var i=e.context;if(t.sol()&&(null==i.align&&(i.align=!1),e.indented=t.indentation(),e.startOfLine=!0),t.eatSpace())return L(t,e),null;s=l=null;var r=(e.tokenize||S)(t,e);if("comment"==r||"meta"==r)return r;if(null==i.align&&(i.align=!0),";"==s||":"==s||","==s&&t.match(/^\s*(?:\/\/.*)?$/,!1))for(;"statement"==e.context.type;)R(e);else if("{"==s)I(e,t.column(),"}");else if("["==s)I(e,t.column(),"]");else if("("==s)I(e,t.column(),")");else if("}"==s){for(;"statement"==i.type;)i=R(e);for("}"==i.type&&(i=R(e));"statement"==i.type;)i=R(e)}else s==i.type?R(e):o&&(("}"==i.type||"top"==i.type)&&";"!=s||"statement"==i.type&&"newstatement"==s)&&I(e,t.column(),"statement",t.current());if("variable"==r&&("def"==e.prevToken||a.typeFirstDefinitions&&M(t,e,t.start)&&D(e.context)&&t.match(/^\s*\(/,!1))&&(r="def"),v.token){var n=v.token(t,e,r);void 0!==n&&(r=n)}return"def"==r&&!1===a.styleDefs&&(r="variable"),e.startOfLine=!1,e.prevToken=l?"def":r||s,L(t,e),r},indent:function(t,e){if(t.tokenize!=S&&null!=t.tokenize||t.typeAtEndOfLine)return N.Pass;var i=t.context,r=e&&e.charAt(0),n=r==i.type;if("statement"==i.type&&"}"==r&&(i=i.prev),a.dontIndentStatements)for(;"statement"==i.type&&a.dontIndentStatements.test(i.info);)i=i.prev;if(v.indent){var o=v.indent(t,i,e,c);if("number"==typeof o)return o}var s=i.prev&&"switch"==i.prev.info;if(a.allmanIndentation&&/[{(]/.test(r)){for(;"top"!=i.type&&"}"!=i.type;)i=i.prev;return i.indented}return"statement"==i.type?i.indented+("{"==r?0:h):!i.align||u&&")"==i.type?")"!=i.type||n?i.indented+(n?0:c)+(n||!s||/^(?:case|default)\b/.test(e)?0:c):i.indented+h:i.column+(n?0:1)},electricInput:e?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:"//",fold:"brace"}});var e="auto if break case register continue return default do sizeof static else struct switch extern typedef union for goto while enum const volatile inline restrict asm fortran",i=t("int long char short double float unsigned signed void bool"),r=t("SEL instancetype id Class Protocol BOOL");function n(t){return P(i,t)||/.+_t/.test(t)}var o="case do else for if switch while struct enum union",s="struct enum union";function a(t,e){if(!e.startOfLine)return!1;for(var i,r=null;i=t.peek();){if("\\"==i&&t.match(/^.$/)){r=a;break}if("/"==i&&t.match(/^\/[\/\*]/,!1))break;t.next()}return e.tokenize=r,"meta"}function l(t,e){return"type"==e.prevToken&&"type"}function c(t){return!(!t||t.length<2)&&("_"==t[0]&&("_"==t[1]||t[1]!==t[1].toLowerCase()))}function h(t){return t.eatWhile(/[\w\.']/),"number"}function u(t,e){if(t.backUp(1),t.match(/(R|u8R|uR|UR|LR)/)){var i=t.match(/"([^\s\\()]{0,16})\(/);return!!i&&(e.cpp11RawStringDelim=i[1],(e.tokenize=d)(t,e))}return t.match(/(u8|u|U|L)/)?!!t.match(/["']/,!1)&&"string":(t.next(),!1)}function f(t,e){for(var i;null!=(i=t.next());)if('"'==i&&!t.eat('"')){e.tokenize=null;break}return"string"}function d(t,e){var i=e.cpp11RawStringDelim.replace(/[^\w\s]/g,"\\$&");return t.match(new RegExp(".*?\\)"+i+'"'))?e.tokenize=null:t.skipToEnd(),"string"}function p(t,e){"string"==typeof t&&(t=[t]);var i=[];function r(t){if(t)for(var e in t)t.hasOwnProperty(e)&&i.push(e)}r(e.keywords),r(e.types),r(e.builtin),r(e.atoms),i.length&&(e.helperType=t[0],N.registerHelper("hintWords",t[0],i));for(var n=0;n<t.length;++n)N.defineMIME(t[n],e)}function m(t,e){for(var i=!1;!t.eol();){if(!i&&t.match('"""')){e.tokenize=null;break}i="\\"==t.next()&&!i}return"string"}p(["text/x-csrc","text/x-c","text/x-chdr"],{name:"clike",keywords:t(e),types:n,blockKeywords:t(o),defKeywords:t(s),typeFirstDefinitions:!0,atoms:t("NULL true false"),isReservedIdentifier:c,hooks:{"#":a,"*":l},modeProps:{fold:["brace","include"]}}),p(["text/x-c++src","text/x-c++hdr"],{name:"clike",keywords:t(e+"alignas alignof and and_eq audit axiom bitand bitor catch class compl concept constexpr const_cast decltype delete dynamic_cast explicit export final friend import module mutable namespace new noexcept not not_eq operator or or_eq override private protected public reinterpret_cast requires static_assert static_cast template this thread_local throw try typeid typename using virtual xor xor_eq"),types:n,blockKeywords:t(o+" class try catch"),defKeywords:t(s+" class namespace"),typeFirstDefinitions:!0,atoms:t("true false NULL nullptr"),dontIndentStatements:/^template$/,isIdentifierChar:/[\w\$_~\xa1-\uffff]/,isReservedIdentifier:c,hooks:{"#":a,"*":l,u:u,U:u,L:u,R:u,0:h,1:h,2:h,3:h,4:h,5:h,6:h,7:h,8:h,9:h,token:function(t,e,i){if("variable"==i&&"("==t.peek()&&(";"==e.prevToken||null==e.prevToken||"}"==e.prevToken)&&(r=t.current(),(n=/(\w+)::~?(\w+)$/.exec(r))&&n[1]==n[2]))return"def";var r,n}},namespaceSeparator:"::",modeProps:{fold:["brace","include"]}}),p("text/x-java",{name:"clike",keywords:t("abstract assert break case catch class const continue default do else enum extends final finally float for goto if implements import instanceof interface native new package private protected public return static strictfp super switch synchronized this throw throws transient try volatile while @interface"),types:t("byte short int long float double boolean char void Boolean Byte Character Double Float Integer Long Number Object Short String StringBuffer StringBuilder Void"),blockKeywords:t("catch class do else finally for if switch try while"),defKeywords:t("class interface enum @interface"),typeFirstDefinitions:!0,atoms:t("true false null"),number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+\.?\d*|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,hooks:{"@":function(t){return!t.match("interface",!1)&&(t.eatWhile(/[\w\$_]/),"meta")}},modeProps:{fold:["brace","import"]}}),p("text/x-csharp",{name:"clike",keywords:t("abstract as async await base break case catch checked class const continue default delegate do else enum event explicit extern finally fixed for foreach goto if implicit in interface internal is lock namespace new operator out override params private protected public readonly ref return sealed sizeof stackalloc static struct switch this throw try typeof unchecked unsafe using virtual void volatile while add alias ascending descending dynamic from get global group into join let orderby partial remove select set value var yield"),types:t("Action Boolean Byte Char DateTime DateTimeOffset Decimal Double Func Guid Int16 Int32 Int64 Object SByte Single String Task TimeSpan UInt16 UInt32 UInt64 bool byte char decimal double short int long object sbyte float string ushort uint ulong"),blockKeywords:t("catch class do else finally for foreach if struct switch try while"),defKeywords:t("class interface namespace struct var"),typeFirstDefinitions:!0,atoms:t("true false null"),hooks:{"@":function(t,e){return t.eat('"')?(e.tokenize=f)(t,e):(t.eatWhile(/[\w\$_]/),"meta")}}}),p("text/x-scala",{name:"clike",keywords:t("abstract case catch class def do else extends final finally for forSome if implicit import lazy match new null object override package private protected return sealed super this throw trait try type val var while with yield _ assert assume require print println printf readLine readBoolean readByte readShort readChar readInt readLong readFloat readDouble"),types:t("AnyVal App Application Array BufferedIterator BigDecimal BigInt Char Console Either Enumeration Equiv Error Exception Fractional Function IndexedSeq Int Integral Iterable Iterator List Map Numeric Nil NotNull Option Ordered Ordering PartialFunction PartialOrdering Product Proxy Range Responder Seq Serializable Set Specializable Stream StringBuilder StringContext Symbol Throwable Traversable TraversableOnce Tuple Unit Vector Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void"),multiLineStrings:!0,blockKeywords:t("catch class enum do else finally for forSome if match switch try while"),defKeywords:t("class enum def object package trait type val var"),atoms:t("true false null"),indentStatements:!1,indentSwitch:!1,isOperatorChar:/[+\-*&%=<>!?|\/#:@]/,hooks:{"@":function(t){return t.eatWhile(/[\w\$_]/),"meta"},'"':function(t,e){return!!t.match('""')&&(e.tokenize=m,e.tokenize(t,e))},"'":function(t){return t.eatWhile(/[\w\$_\xa1-\uffff]/),"atom"},"=":function(t,e){var i=e.context;return!("}"!=i.type||!i.align||!t.eat(">"))&&(e.context=new O(i.indented,i.column,i.type,i.info,null,i.prev),"operator")},"/":function(t,e){return!!t.eat("*")&&(e.tokenize=function r(n){return function(t,e){for(var i;i=t.next();){if("*"==i&&t.eat("/")){if(1!=n)return e.tokenize=r(n-1),e.tokenize(t,e);e.tokenize=null;break}if("/"==i&&t.eat("*"))return e.tokenize=r(n+1),e.tokenize(t,e)}return"comment"}}(1),e.tokenize(t,e))}},modeProps:{closeBrackets:{pairs:'()[]{}""',triples:'"'}}}),p("text/x-kotlin",{name:"clike",keywords:t("package as typealias class interface this super val operator var fun for is in This throw return annotation break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend actual expect setparam"),types:t("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void Annotation Any BooleanArray ByteArray Char CharArray DeprecationLevel DoubleArray Enum FloatArray Function Int IntArray Lazy LazyThreadSafetyMode LongArray Nothing ShortArray Unit"),intendSwitch:!1,indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+(\.\d+)?|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,blockKeywords:t("catch class do else finally for if where try while enum"),defKeywords:t("class val var object interface fun"),atoms:t("true false null this"),hooks:{"@":function(t){return t.eatWhile(/[\w\$_]/),"meta"},"*":function(t,e){return"."==e.prevToken?"variable":"operator"},'"':function(t,e){var o;return e.tokenize=(o=t.match('""'),function(t,e){for(var i,r=!1,n=!1;!t.eol();){if(!o&&!r&&t.match('"')){n=!0;break}if(o&&t.match('"""')){n=!0;break}i=t.next(),!r&&"$"==i&&t.match("{")&&t.skipTo("}"),r=!r&&"\\"==i&&!o}return!n&&o||(e.tokenize=null),"string"}),e.tokenize(t,e)},indent:function(t,e,i,r){var n=i&&i.charAt(0);return"}"!=t.prevToken&&")"!=t.prevToken||""!=i?"operator"==t.prevToken&&"}"!=i||"variable"==t.prevToken&&"."==n||("}"==t.prevToken||")"==t.prevToken)&&"."==n?2*r+e.indented:e.align&&"}"==e.type?e.indented+(t.context.type==(i||"").charAt(0)?0:r):void 0:t.indented}},modeProps:{closeBrackets:{triples:'"'}}}),p(["x-shader/x-vertex","x-shader/x-fragment"],{name:"clike",keywords:t("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:t("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:t("for while do if else struct"),builtin:t("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:t("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TexureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),indentSwitch:!1,hooks:{"#":a},modeProps:{fold:["brace","include"]}}),p("text/x-nesc",{name:"clike",keywords:t(e+" as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:n,blockKeywords:t(o),atoms:t("null true false"),hooks:{"#":a},modeProps:{fold:["brace","include"]}}),p("text/x-objectivec",{name:"clike",keywords:t(e+" bycopy byref in inout oneway out self super atomic nonatomic retain copy readwrite readonly strong weak assign typeof nullable nonnull null_resettable _cmd @interface @implementation @end @protocol @encode @property @synthesize @dynamic @class @public @package @private @protected @required @optional @try @catch @finally @import @selector @encode @defs @synchronized @autoreleasepool @compatibility_alias @available"),types:function(t){return n(t)||P(r,t)},builtin:t("FOUNDATION_EXPORT FOUNDATION_EXTERN NS_INLINE NS_FORMAT_FUNCTION NS_RETURNS_RETAINED NS_ERROR_ENUM NS_RETURNS_NOT_RETAINED NS_RETURNS_INNER_POINTER NS_DESIGNATED_INITIALIZER NS_ENUM NS_OPTIONS NS_REQUIRES_NIL_TERMINATION NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_SWIFT_NAME NS_REFINED_FOR_SWIFT"),blockKeywords:t(o+" @synthesize @try @catch @finally @autoreleasepool @synchronized"),defKeywords:t(s+" @interface @implementation @protocol @class"),dontIndentStatements:/^@.*$/,typeFirstDefinitions:!0,atoms:t("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:c,hooks:{"#":a,"*":l},modeProps:{fold:["brace","include"]}}),p("text/x-squirrel",{name:"clike",keywords:t("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:n,blockKeywords:t("case catch class else for foreach if switch try while"),defKeywords:t("function local class"),typeFirstDefinitions:!0,atoms:t("true false null"),hooks:{"#":a},modeProps:{fold:["brace","include"]}});var g=null;p("text/x-ceylon",{name:"clike",keywords:t("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"),types:function(t){var e=t.charAt(0);return e===e.toUpperCase()&&e!==e.toLowerCase()},blockKeywords:t("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:t("class dynamic function interface module object package value"),builtin:t("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;\:\.`]/,isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:t("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(t){return t.eatWhile(/[\w\$_]/),"meta"},'"':function(t,e){return e.tokenize=function o(s){return function(t,e){for(var i,r=!1,n=!1;!t.eol();){if(!r&&t.match('"')&&("single"==s||t.match('""'))){n=!0;break}if(!r&&t.match("``")){g=o(s),n=!0;break}i=t.next(),r="single"==s&&!r&&"\\"==i}return n&&(e.tokenize=null),"string"}}(t.match('""')?"triple":"single"),e.tokenize(t,e)},"`":function(t,e){return!(!g||!t.match("`"))&&(e.tokenize=g,g=null,e.tokenize(t,e))},"'":function(t){return t.eatWhile(/[\w\$_\xa1-\uffff]/),"atom"},token:function(t,e,i){if(("variable"==i||"type"==i)&&"."==e.prevToken)return"variable-2"}},modeProps:{fold:["brace","import"],closeBrackets:{triples:'"'}}})},"object"==typeof i&&"object"==typeof e?r(t("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],r):r(CodeMirror)},{"../../lib/codemirror":12}],14:[function(t,e,i){var r;r=function(N){"use strict";function t(t){for(var e={},i=0;i<t.length;++i)e[t[i].toLowerCase()]=!0;return e}N.defineMode("css",function(t,e){var i=e.inline;e.propertyKeywords||(e=N.resolveMode("text/css"));var r,n,o=t.indentUnit,s=e.tokenHooks,a=e.documentTypes||{},l=e.mediaTypes||{},c=e.mediaFeatures||{},h=e.mediaValueKeywords||{},u=e.propertyKeywords||{},f=e.nonStandardPropertyKeywords||{},d=e.fontProperties||{},p=e.counterDescriptors||{},m=e.colorKeywords||{},g=e.valueKeywords||{},_=e.allowNested,v=e.lineComment,y=!0===e.supportsAtComponent;function x(t,e){return r=e,t}function T(n){return function(t,e){for(var i,r=!1;null!=(i=t.next());){if(i==n&&!r){")"==n&&t.backUp(1);break}r=!r&&"\\"==i}return(i==n||!r&&")"!=n)&&(e.tokenize=null),x("string","string")}}function k(t,e){return t.next(),t.match(/\s*[\"\')]/,!1)?e.tokenize=null:e.tokenize=T(")"),x(null,"(")}function b(t,e,i){this.type=t,this.indent=e,this.prev=i}function w(t,e,i,r){return t.context=new b(i,e.indentation()+(!1===r?0:o),t.context),i}function E(t){return t.context.prev&&(t.context=t.context.prev),t.context.type}function C(t,e,i){return L[i.context.type](t,e,i)}function S(t,e,i,r){for(var n=r||1;0<n;n--)i.context=i.context.prev;return C(t,e,i)}function A(t){var e=t.current().toLowerCase();n=g.hasOwnProperty(e)?"atom":m.hasOwnProperty(e)?"keyword":"variable"}var L={top:function(t,e,i){if("{"==t)return w(i,e,"block");if("}"==t&&i.context.prev)return E(i);if(y&&/@component/i.test(t))return w(i,e,"atComponentBlock");if(/^@(-moz-)?document$/i.test(t))return w(i,e,"documentTypes");if(/^@(media|supports|(-moz-)?document|import)$/i.test(t))return w(i,e,"atBlock");if(/^@(font-face|counter-style)/i.test(t))return i.stateArg=t,"restricted_atBlock_before";if(/^@(-(moz|ms|o|webkit)-)?keyframes$/i.test(t))return"keyframes";if(t&&"@"==t.charAt(0))return w(i,e,"at");if("hash"==t)n="builtin";else if("word"==t)n="tag";else{if("variable-definition"==t)return"maybeprop";if("interpolation"==t)return w(i,e,"interpolation");if(":"==t)return"pseudo";if(_&&"("==t)return w(i,e,"parens")}return i.context.type},block:function(t,e,i){if("word"!=t)return"meta"==t?"block":_||"hash"!=t&&"qualifier"!=t?L.top(t,e,i):(n="error","block");var r=e.current().toLowerCase();return u.hasOwnProperty(r)?(n="property","maybeprop"):f.hasOwnProperty(r)?(n="string-2","maybeprop"):_?(n=e.match(/^\s*:(?:\s|$)/,!1)?"property":"tag","block"):(n+=" error","maybeprop")},maybeprop:function(t,e,i){return":"==t?w(i,e,"prop"):C(t,e,i)},prop:function(t,e,i){if(";"==t)return E(i);if("{"==t&&_)return w(i,e,"propBlock");if("}"==t||"{"==t)return S(t,e,i);if("("==t)return w(i,e,"parens");if("hash"!=t||/^#([0-9a-fA-f]{3,4}|[0-9a-fA-f]{6}|[0-9a-fA-f]{8})$/.test(e.current())){if("word"==t)A(e);else if("interpolation"==t)return w(i,e,"interpolation")}else n+=" error";return"prop"},propBlock:function(t,e,i){return"}"==t?E(i):"word"==t?(n="property","maybeprop"):i.context.type},parens:function(t,e,i){return"{"==t||"}"==t?S(t,e,i):")"==t?E(i):"("==t?w(i,e,"parens"):"interpolation"==t?w(i,e,"interpolation"):("word"==t&&A(e),"parens")},pseudo:function(t,e,i){return"meta"==t?"pseudo":"word"==t?(n="variable-3",i.context.type):C(t,e,i)},documentTypes:function(t,e,i){return"word"==t&&a.hasOwnProperty(e.current())?(n="tag",i.context.type):L.atBlock(t,e,i)},atBlock:function(t,e,i){if("("==t)return w(i,e,"atBlock_parens");if("}"==t||";"==t)return S(t,e,i);if("{"==t)return E(i)&&w(i,e,_?"block":"top");if("interpolation"==t)return w(i,e,"interpolation");if("word"==t){var r=e.current().toLowerCase();n="only"==r||"not"==r||"and"==r||"or"==r?"keyword":l.hasOwnProperty(r)?"attribute":c.hasOwnProperty(r)?"property":h.hasOwnProperty(r)?"keyword":u.hasOwnProperty(r)?"property":f.hasOwnProperty(r)?"string-2":g.hasOwnProperty(r)?"atom":m.hasOwnProperty(r)?"keyword":"error"}return i.context.type},atComponentBlock:function(t,e,i){return"}"==t?S(t,e,i):"{"==t?E(i)&&w(i,e,_?"block":"top",!1):("word"==t&&(n="error"),i.context.type)},atBlock_parens:function(t,e,i){return")"==t?E(i):"{"==t||"}"==t?S(t,e,i,2):L.atBlock(t,e,i)},restricted_atBlock_before:function(t,e,i){return"{"==t?w(i,e,"restricted_atBlock"):"word"==t&&"@counter-style"==i.stateArg?(n="variable","restricted_atBlock_before"):C(t,e,i)},restricted_atBlock:function(t,e,i){return"}"==t?(i.stateArg=null,E(i)):"word"==t?(n="@font-face"==i.stateArg&&!d.hasOwnProperty(e.current().toLowerCase())||"@counter-style"==i.stateArg&&!p.hasOwnProperty(e.current().toLowerCase())?"error":"property","maybeprop"):"restricted_atBlock"},keyframes:function(t,e,i){return"word"==t?(n="variable","keyframes"):"{"==t?w(i,e,"top"):C(t,e,i)},at:function(t,e,i){return";"==t?E(i):"{"==t||"}"==t?S(t,e,i):("word"==t?n="tag":"hash"==t&&(n="builtin"),"at")},interpolation:function(t,e,i){return"}"==t?E(i):"{"==t||";"==t?S(t,e,i):("word"==t?n="variable":"variable"!=t&&"("!=t&&")"!=t&&(n="error"),"interpolation")}};return{startState:function(t){return{tokenize:null,state:i?"block":"top",stateArg:null,context:new b(i?"block":"top",t||0,null)}},token:function(t,e){if(!e.tokenize&&t.eatSpace())return null;var i=(e.tokenize||function(t,e){var i=t.next();if(s[i]){var r=s[i](t,e);if(!1!==r)return r}return"@"==i?(t.eatWhile(/[\w\\\-]/),x("def",t.current())):"="==i||("~"==i||"|"==i)&&t.eat("=")?x(null,"compare"):'"'==i||"'"==i?(e.tokenize=T(i),e.tokenize(t,e)):"#"==i?(t.eatWhile(/[\w\\\-]/),x("atom","hash")):"!"==i?(t.match(/^\s*\w*/),x("keyword","important")):/\d/.test(i)||"."==i&&t.eat(/\d/)?(t.eatWhile(/[\w.%]/),x("number","unit")):"-"!==i?/[,+>*\/]/.test(i)?x(null,"select-op"):"."==i&&t.match(/^-?[_a-z][_a-z0-9-]*/i)?x("qualifier","qualifier"):/[:;{}\[\]\(\)]/.test(i)?x(null,i):t.match(/[\w-.]+(?=\()/)?(/^(url(-prefix)?|domain|regexp)$/.test(t.current().toLowerCase())&&(e.tokenize=k),x("variable callee","variable")):/[\w\\\-]/.test(i)?(t.eatWhile(/[\w\\\-]/),x("property","word")):x(null,null):/[\d.]/.test(t.peek())?(t.eatWhile(/[\w.%]/),x("number","unit")):t.match(/^-[\w\\\-]*/)?(t.eatWhile(/[\w\\\-]/),t.match(/^\s*:/,!1)?x("variable-2","variable-definition"):x("variable-2","variable")):t.match(/^\w+-/)?x("meta","meta"):void 0})(t,e);return i&&"object"==typeof i&&(r=i[1],i=i[0]),n=i,"comment"!=r&&(e.state=L[e.state](r,t,e)),n},indent:function(t,e){var i=t.context,r=e&&e.charAt(0),n=i.indent;return"prop"!=i.type||"}"!=r&&")"!=r||(i=i.prev),i.prev&&("}"!=r||"block"!=i.type&&"top"!=i.type&&"interpolation"!=i.type&&"restricted_atBlock"!=i.type?(")"!=r||"parens"!=i.type&&"atBlock_parens"!=i.type)&&("{"!=r||"at"!=i.type&&"atBlock"!=i.type)||(n=Math.max(0,i.indent-o)):n=(i=i.prev).indent),n},electricChars:"}",blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:v,fold:"brace"}});var e=["domain","regexp","url","url-prefix"],i=t(e),r=["all","aural","braille","handheld","print","projection","screen","tty","tv","embossed"],n=t(r),o=["width","min-width","max-width","height","min-height","max-height","device-width","min-device-width","max-device-width","device-height","min-device-height","max-device-height","aspect-ratio","min-aspect-ratio","max-aspect-ratio","device-aspect-ratio","min-device-aspect-ratio","max-device-aspect-ratio","color","min-color","max-color","color-index","min-color-index","max-color-index","monochrome","min-monochrome","max-monochrome","resolution","min-resolution","max-resolution","scan","grid","orientation","device-pixel-ratio","min-device-pixel-ratio","max-device-pixel-ratio","pointer","any-pointer","hover","any-hover"],s=t(o),a=["landscape","portrait","none","coarse","fine","on-demand","hover","interlace","progressive"],l=t(a),c=["align-content","align-items","align-self","alignment-adjust","alignment-baseline","anchor-point","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","azimuth","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","baseline-shift","binding","bleed","bookmark-label","bookmark-level","bookmark-state","bookmark-target","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","color","color-profile","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","crop","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","drop-initial-after-adjust","drop-initial-after-align","drop-initial-before-adjust","drop-initial-before-align","drop-initial-size","drop-initial-value","elevation","empty-cells","fit","fit-position","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","float-offset","flow-from","flow-into","font","font-feature-settings","font-family","font-kerning","font-language-override","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-weight","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-gap","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-gap","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","inline-box-align","justify-content","justify-items","justify-self","left","letter-spacing","line-break","line-height","line-stacking","line-stacking-ruby","line-stacking-shift","line-stacking-strategy","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","marquee-direction","marquee-loop","marquee-play-count","marquee-speed","marquee-style","max-height","max-width","min-height","min-width","mix-blend-mode","move-to","nav-down","nav-index","nav-left","nav-right","nav-up","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-style","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","page-policy","pause","pause-after","pause-before","perspective","perspective-origin","pitch","pitch-range","place-content","place-items","place-self","play-during","position","presentation-level","punctuation-trim","quotes","region-break-after","region-break-before","region-break-inside","region-fragment","rendering-intent","resize","rest","rest-after","rest-before","richness","right","rotation","rotation-point","ruby-align","ruby-overhang","ruby-position","ruby-span","shape-image-threshold","shape-inside","shape-margin","shape-outside","size","speak","speak-as","speak-header","speak-numeral","speak-punctuation","speech-rate","stress","string-set","tab-size","table-layout","target","target-name","target-new","target-position","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-height","text-indent","text-justify","text-outline","text-overflow","text-shadow","text-size-adjust","text-space-collapse","text-transform","text-underline-position","text-wrap","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","user-select","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","z-index","clip-path","clip-rule","mask","enable-background","filter","flood-color","flood-opacity","lighting-color","stop-color","stop-opacity","pointer-events","color-interpolation","color-interpolation-filters","color-rendering","fill","fill-opacity","fill-rule","image-rendering","marker","marker-end","marker-mid","marker-start","shape-rendering","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-rendering","baseline-shift","dominant-baseline","glyph-orientation-horizontal","glyph-orientation-vertical","text-anchor","writing-mode"],h=t(c),u=["scrollbar-arrow-color","scrollbar-base-color","scrollbar-dark-shadow-color","scrollbar-face-color","scrollbar-highlight-color","scrollbar-shadow-color","scrollbar-3d-light-color","scrollbar-track-color","shape-inside","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","zoom"],f=t(u),d=t(["font-family","src","unicode-range","font-variant","font-feature-settings","font-stretch","font-weight","font-style"]),p=t(["additive-symbols","fallback","negative","pad","prefix","range","speak-as","suffix","symbols","system"]),m=["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"],g=t(m),_=["above","absolute","activeborder","additive","activecaption","afar","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","amharic","amharic-abegede","antialiased","appworkspace","arabic-indic","armenian","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","background","backwards","baseline","below","bidi-override","binary","bengali","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","cambodian","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","cjk-earthly-branch","cjk-heavenly-stem","cjk-ideographic","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","devanagari","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic","ethiopic-abegede","ethiopic-abegede-am-et","ethiopic-abegede-gez","ethiopic-abegede-ti-er","ethiopic-abegede-ti-et","ethiopic-halehame-aa-er","ethiopic-halehame-aa-et","ethiopic-halehame-am-et","ethiopic-halehame-gez","ethiopic-halehame-om-et","ethiopic-halehame-sid-et","ethiopic-halehame-so-et","ethiopic-halehame-ti-er","ethiopic-halehame-ti-et","ethiopic-halehame-tig","ethiopic-numeric","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","georgian","graytext","grid","groove","gujarati","gurmukhi","hand","hangul","hangul-consonant","hard-light","hebrew","help","hidden","hide","higher","highlight","highlighttext","hiragana","hiragana-iroha","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","japanese-formal","japanese-informal","justify","kannada","katakana","katakana-iroha","keep-all","khmer","korean-hangul-formal","korean-hanja-formal","korean-hanja-informal","landscape","lao","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-alpha","lower-armenian","lower-greek","lower-hexadecimal","lower-latin","lower-norwegian","lower-roman","lowercase","ltr","luminosity","malayalam","match","matrix","matrix3d","media-controls-background","media-current-time-display","media-fullscreen-button","media-mute-button","media-play-button","media-return-to-realtime-button","media-rewind-button","media-seek-back-button","media-seek-forward-button","media-slider","media-sliderthumb","media-time-remaining-display","media-volume-slider","media-volume-slider-container","media-volume-sliderthumb","medium","menu","menulist","menulist-button","menulist-text","menulist-textfield","menutext","message-box","middle","min-intrinsic","mix","mongolian","monospace","move","multiple","multiply","myanmar","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","octal","opacity","open-quote","optimizeLegibility","optimizeSpeed","oriya","oromo","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","persian","perspective","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","searchfield","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","sidama","simp-chinese-formal","simp-chinese-informal","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","somali","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","square-button","start","static","status-bar","stretch","stroke","sub","subpixel-antialiased","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","tamil","telugu","text","text-bottom","text-top","textarea","textfield","thai","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","tibetan","tigre","tigrinya-er","tigrinya-er-abegede","tigrinya-et","tigrinya-et-abegede","to","top","trad-chinese-formal","trad-chinese-informal","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unset","up","upper-alpha","upper-armenian","upper-greek","upper-hexadecimal","upper-latin","upper-norwegian","upper-roman","uppercase","urdu","url","var","vertical","vertical-text","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"],v=t(_),y=e.concat(r).concat(o).concat(a).concat(c).concat(u).concat(m).concat(_);function x(t,e){for(var i,r=!1;null!=(i=t.next());){if(r&&"/"==i){e.tokenize=null;break}r="*"==i}return["comment","comment"]}N.registerHelper("hintWords","css",y),N.defineMIME("text/css",{documentTypes:i,mediaTypes:n,mediaFeatures:s,mediaValueKeywords:l,propertyKeywords:h,nonStandardPropertyKeywords:f,fontProperties:d,counterDescriptors:p,colorKeywords:g,valueKeywords:v,tokenHooks:{"/":function(t,e){return!!t.eat("*")&&(e.tokenize=x)(t,e)}},name:"css"}),N.defineMIME("text/x-scss",{mediaTypes:n,mediaFeatures:s,mediaValueKeywords:l,propertyKeywords:h,nonStandardPropertyKeywords:f,colorKeywords:g,valueKeywords:v,fontProperties:d,allowNested:!0,lineComment:"//",tokenHooks:{"/":function(t,e){return t.eat("/")?(t.skipToEnd(),["comment","comment"]):t.eat("*")?(e.tokenize=x)(t,e):["operator","operator"]},":":function(t){return!!t.match(/\s*\{/,!1)&&[null,null]},$:function(t){return t.match(/^[\w-]+/),t.match(/^\s*:/,!1)?["variable-2","variable-definition"]:["variable-2","variable"]},"#":function(t){return!!t.eat("{")&&[null,"interpolation"]}},name:"css",helperType:"scss"}),N.defineMIME("text/x-less",{mediaTypes:n,mediaFeatures:s,mediaValueKeywords:l,propertyKeywords:h,nonStandardPropertyKeywords:f,colorKeywords:g,valueKeywords:v,fontProperties:d,allowNested:!0,lineComment:"//",tokenHooks:{"/":function(t,e){return t.eat("/")?(t.skipToEnd(),["comment","comment"]):t.eat("*")?(e.tokenize=x)(t,e):["operator","operator"]},"@":function(t){return t.eat("{")?[null,"interpolation"]:!t.match(/^(charset|document|font-face|import|(-(moz|ms|o|webkit)-)?keyframes|media|namespace|page|supports)\b/i,!1)&&(t.eatWhile(/[\w\\\-]/),t.match(/^\s*:/,!1)?["variable-2","variable-definition"]:["variable-2","variable"])},"&":function(){return["atom","atom"]}},name:"css",helperType:"less"}),N.defineMIME("text/x-gss",{documentTypes:i,mediaTypes:n,mediaFeatures:s,propertyKeywords:h,nonStandardPropertyKeywords:f,fontProperties:d,counterDescriptors:p,colorKeywords:g,valueKeywords:v,supportsAtComponent:!0,tokenHooks:{"/":function(t,e){return!!t.eat("*")&&(e.tokenize=x)(t,e)}},name:"css",helperType:"gss"})},"object"==typeof i&&"object"==typeof e?r(t("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],r):r(CodeMirror)},{"../../lib/codemirror":12}],15:[function(t,e,i){var r;r=function(p){"use strict";var n={script:[["lang",/(javascript|babel)/i,"javascript"],["type",/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i,"javascript"],["type",/./,"text/plain"],[null,null,"javascript"]],style:[["lang",/^css$/i,"css"],["type",/^(text\/)?(x-)?(stylesheet|css)$/i,"css"],["type",/./,"text/plain"],[null,null,"css"]]};var o={};function m(t,e){var i,r=t.match(o[i=e]||(o[i]=new RegExp("\\s+"+i+"\\s*=\\s*('|\")?([^'\"]+)('|\")?\\s*")));return r?/^\s*(.*?)\s*$/.exec(r[2])[1]:""}function g(t,e){return new RegExp((e?"^":"")+"</s*"+t+"s*>","i")}function s(t,e){for(var i in t)for(var r=e[i]||(e[i]=[]),n=t[i],o=n.length-1;0<=o;o--)r.unshift(n[o])}p.defineMode("htmlmixed",function(h,t){var u=p.getMode(h,{name:"xml",htmlMode:!0,multilineTagIndentFactor:t.multilineTagIndentFactor,multilineTagIndentPastTag:t.multilineTagIndentPastTag}),f={},e=t&&t.tags,i=t&&t.scriptTypes;if(s(n,f),e&&s(e,f),i)for(var r=i.length-1;0<=r;r--)f.script.unshift(["type",i[r].matches,i[r].mode]);function d(t,e){var i,r=u.token(t,e.htmlState),n=/\btag\b/.test(r);if(n&&!/[<>\s\/]/.test(t.current())&&(i=e.htmlState.tagName&&e.htmlState.tagName.toLowerCase())&&f.hasOwnProperty(i))e.inTag=i+" ";else if(e.inTag&&n&&/>$/.test(t.current())){var o=/^([\S]+) (.*)/.exec(e.inTag);e.inTag=null;var s=">"==t.current()&&function(t,e){for(var i=0;i<t.length;i++){var r=t[i];if(!r[0]||r[1].test(m(e,r[0])))return r[2]}}(f[o[1]],o[2]),a=p.getMode(h,s),l=g(o[1],!0),c=g(o[1],!1);e.token=function(t,e){return t.match(l,!1)?(e.token=d,e.localState=e.localMode=null,null):(i=t,r=c,n=e.localMode.token(t,e.localState),o=i.current(),-1<(s=o.search(r))?i.backUp(o.length-s):o.match(/<\/?$/)&&(i.backUp(o.length),i.match(r,!1)||i.match(o)),n);var i,r,n,o,s},e.localMode=a,e.localState=p.startState(a,u.indent(e.htmlState,"",""))}else e.inTag&&(e.inTag+=t.current(),t.eol()&&(e.inTag+=" "));return r}return{startState:function(){return{token:d,inTag:null,localMode:null,localState:null,htmlState:p.startState(u)}},copyState:function(t){var e;return t.localState&&(e=p.copyState(t.localMode,t.localState)),{token:t.token,inTag:t.inTag,localMode:t.localMode,localState:e,htmlState:p.copyState(u,t.htmlState)}},token:function(t,e){return e.token(t,e)},indent:function(t,e,i){return!t.localMode||/^\s*<\//.test(e)?u.indent(t.htmlState,e,i):t.localMode.indent?t.localMode.indent(t.localState,e,i):p.Pass},innerMode:function(t){return{state:t.localState||t.htmlState,mode:t.localMode||u}}}},"xml","javascript","css"),p.defineMIME("text/html","htmlmixed")},"object"==typeof i&&"object"==typeof e?r(t("../../lib/codemirror"),t("../xml/xml"),t("../javascript/javascript"),t("../css/css")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../xml/xml","../javascript/javascript","../css/css"],r):r(CodeMirror)},{"../../lib/codemirror":12,"../css/css":14,"../javascript/javascript":16,"../xml/xml":18}],16:[function(t,e,i){var r;r=function($t){"use strict";$t.defineMode("javascript",function(t,u){var r,n,f=t.indentUnit,d=u.statementIndent,s=u.jsonld,a=u.json||s,c=u.typescript,h=u.wordCharacters||/[\w$\xa1-\uffff]/,l=function(){function t(t){return{type:t,style:"keyword"}}var e=t("keyword a"),i=t("keyword b"),r=t("keyword c"),n=t("keyword d"),o=t("operator"),s={type:"atom",style:"atom"};return{if:t("if"),while:e,with:e,else:i,do:i,try:i,finally:i,return:n,break:n,continue:n,new:t("new"),delete:r,void:r,throw:r,debugger:t("debugger"),var:t("var"),const:t("var"),let:t("var"),function:t("function"),catch:t("catch"),for:t("for"),switch:t("switch"),case:t("case"),default:t("default"),in:o,typeof:o,instanceof:o,true:s,false:s,null:s,undefined:s,NaN:s,Infinity:s,this:t("this"),class:t("class"),super:t("atom"),yield:r,export:t("export"),import:t("import"),extends:r,await:r}}(),p=/[+\-*&%=<>!?|~^@]/,m=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/;function g(t,e,i){return r=t,n=i,e}function _(t,e){var n,i=t.next();if('"'==i||"'"==i)return e.tokenize=(n=i,function(t,e){var i,r=!1;if(s&&"@"==t.peek()&&t.match(m))return e.tokenize=_,g("jsonld-keyword","meta");for(;null!=(i=t.next())&&(i!=n||r);)r=!r&&"\\"==i;return r||(e.tokenize=_),g("string","string")}),e.tokenize(t,e);if("."==i&&t.match(/^\d+(?:[eE][+\-]?\d+)?/))return g("number","number");if("."==i&&t.match(".."))return g("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(i))return g(i);if("="==i&&t.eat(">"))return g("=>","operator");if("0"==i&&t.match(/^(?:x[\da-f]+|o[0-7]+|b[01]+)n?/i))return g("number","number");if(/\d/.test(i))return t.match(/^\d*(?:n|(?:\.\d*)?(?:[eE][+\-]?\d+)?)?/),g("number","number");if("/"==i)return t.eat("*")?(e.tokenize=v)(t,e):t.eat("/")?(t.skipToEnd(),g("comment","comment")):Kt(t,e,1)?(function(t){for(var e,i=!1,r=!1;null!=(e=t.next());){if(!i){if("/"==e&&!r)return;"["==e?r=!0:r&&"]"==e&&(r=!1)}i=!i&&"\\"==e}}(t),t.match(/^\b(([gimyus])(?![gimyus]*\2))+\b/),g("regexp","string-2")):(t.eat("="),g("operator","operator",t.current()));if("`"==i)return(e.tokenize=y)(t,e);if("#"==i)return t.skipToEnd(),g("error","error");if(p.test(i))return">"==i&&e.lexical&&">"==e.lexical.type||(t.eat("=")?"!"!=i&&"="!=i||t.eat("="):/[<>*+\-]/.test(i)&&(t.eat(i),">"==i&&t.eat(i))),g("operator","operator",t.current());if(h.test(i)){t.eatWhile(h);var r=t.current();if("."!=e.lastType){if(l.propertyIsEnumerable(r)){var o=l[r];return g(o.type,o.style,r)}if("async"==r&&t.match(/^(\s|\/\*.*?\*\/)*[\[\(\w]/,!1))return g("async","keyword",r)}return g("variable","variable",r)}}function v(t,e){for(var i,r=!1;i=t.next();){if("/"==i&&r){e.tokenize=_;break}r="*"==i}return g("comment","comment")}function y(t,e){for(var i,r=!1;null!=(i=t.next());){if(!r&&("`"==i||"$"==i&&t.eat("{"))){e.tokenize=_;break}r=!r&&"\\"==i}return g("quasi","string-2",t.current())}var x="([{}])";function o(t,e){e.fatArrowAt&&(e.fatArrowAt=null);var i=t.string.indexOf("=>",t.start);if(!(i<0)){if(c){var r=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(t.string.slice(t.start,i));r&&(i=r.index)}for(var n=0,o=!1,s=i-1;0<=s;--s){var a=t.string.charAt(s),l=x.indexOf(a);if(0<=l&&l<3){if(!n){++s;break}if(0==--n){"("==a&&(o=!0);break}}else if(3<=l&&l<6)++n;else if(h.test(a))o=!0;else{if(/["'\/]/.test(a))return;if(o&&!n){++s;break}}}o&&!n&&(e.fatArrowAt=s)}}var T={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,"jsonld-keyword":!0};function k(t,e,i,r,n,o){this.indented=t,this.column=e,this.type=i,this.prev=n,this.info=o,null!=r&&(this.align=r)}function b(t,e){for(var i=t.localVars;i;i=i.next)if(i.name==e)return!0;for(var r=t.context;r;r=r.prev)for(i=r.vars;i;i=i.next)if(i.name==e)return!0}var w={state:null,column:null,marked:null,cc:null};function E(){for(var t=arguments.length-1;0<=t;t--)w.cc.push(arguments[t])}function C(){return E.apply(null,arguments),!0}function S(t,e){for(var i=e;i;i=i.next)if(i.name==t)return!0;return!1}function i(t){var e=w.state;if(w.marked="def",e.context)if("var"==e.lexical.info&&e.context&&e.context.block){var i=function t(e,i){{if(i){if(i.block){var r=t(e,i.prev);return r?r==i.prev?i:new L(r,i.vars,!0):null}return S(e,i.vars)?i:new L(i.prev,new N(e,i.vars),!1)}return null}}(t,e.context);if(null!=i)return void(e.context=i)}else if(!S(t,e.localVars))return void(e.localVars=new N(t,e.localVars));u.globalVars&&!S(t,e.globalVars)&&(e.globalVars=new N(t,e.globalVars))}function A(t){return"public"==t||"private"==t||"protected"==t||"abstract"==t||"readonly"==t}function L(t,e,i){this.prev=t,this.vars=e,this.block=i}function N(t,e){this.name=t,this.next=e}var e=new N("this",new N("arguments",null));function O(){w.state.context=new L(w.state.context,w.state.localVars,!1),w.state.localVars=e}function I(){w.state.context=new L(w.state.context,w.state.localVars,!0),w.state.localVars=null}function R(){w.state.localVars=w.state.context.vars,w.state.context=w.state.context.prev}function M(r,n){var t=function(){var t=w.state,e=t.indented;if("stat"==t.lexical.type)e=t.lexical.indented;else for(var i=t.lexical;i&&")"==i.type&&i.align;i=i.prev)e=i.indented;t.lexical=new k(e,w.stream.column(),r,null,t.lexical,n)};return t.lex=!0,t}function D(){var t=w.state;t.lexical.prev&&(")"==t.lexical.type&&(t.indented=t.lexical.indented),t.lexical=t.lexical.prev)}function P(i){return function t(e){return e==i?C():";"==i||"}"==e||")"==e||"]"==e?E():C(t)}}function B(t,e){return"var"==t?C(M("vardef",e),_t,P(";"),D):"keyword a"==t?C(M("form"),W,B,D):"keyword b"==t?C(M("form"),B,D):"keyword d"==t?w.stream.match(/^\s*$/,!1)?C():C(M("stat"),q,P(";"),D):"debugger"==t?C(P(";")):"{"==t?C(M("}"),I,ot,D,R):";"==t?C():"if"==t?("else"==w.state.lexical.info&&w.state.cc[w.state.cc.length-1]==D&&w.state.cc.pop()(),C(M("form"),W,B,D,bt)):"function"==t?C(Lt):"for"==t?C(M("form"),wt,B,D):"class"==t||c&&"interface"==e?(w.marked="keyword",C(M("form","class"==t?t:e),Mt,D)):"variable"==t?c&&"declare"==e?(w.marked="keyword",C(B)):c&&("module"==e||"enum"==e||"type"==e)&&w.stream.match(/^\s*\w/,!1)?(w.marked="keyword","enum"==e?C(Vt):"type"==e?C(Ot,P("operator"),ct,P(";")):C(M("form"),vt,P("{"),M("}"),ot,D,D)):c&&"namespace"==e?(w.marked="keyword",C(M("form"),U,B,D)):c&&"abstract"==e?(w.marked="keyword",C(B)):C(M("stat"),J):"switch"==t?C(M("form"),W,P("{"),M("}","switch"),I,ot,D,D,R):"case"==t?C(U,P(":")):"default"==t?C(P(":")):"catch"==t?C(M("form"),O,F,B,D,R):"export"==t?C(M("stat"),Ft,D):"import"==t?C(M("stat"),Ht,D):"async"==t?C(B):"@"==e?C(U,B):E(M("stat"),U,P(";"),D)}function F(t){if("("==t)return C(It,P(")"))}function U(t,e){return z(t,e,!1)}function H(t,e){return z(t,e,!0)}function W(t){return"("!=t?E():C(M(")"),U,P(")"),D)}function z(t,e,i){if(w.state.fatArrowAt==w.stream.start){var r=i?$:K;if("("==t)return C(O,M(")"),rt(It,")"),D,P("=>"),r,R);if("variable"==t)return E(O,vt,P("=>"),r,R)}var n,o=i?j:G;return T.hasOwnProperty(t)?C(o):"function"==t?C(Lt,o):"class"==t||c&&"interface"==e?(w.marked="keyword",C(M("form"),Rt,D)):"keyword c"==t||"async"==t?C(i?H:U):"("==t?C(M(")"),q,P(")"),D,o):"operator"==t||"spread"==t?C(i?H:U):"["==t?C(M("]"),jt,D,o):"{"==t?nt(tt,"}",null,o):"quasi"==t?E(V,o):"new"==t?C((n=i,function(t){return"."==t?C(n?X:Q):"variable"==t&&c?C(pt,n?j:G):E(n?H:U)})):"import"==t?C(U):C()}function q(t){return t.match(/[;\}\)\],]/)?E():E(U)}function G(t,e){return","==t?C(U):j(t,e,!1)}function j(t,e,i){var r=0==i?G:j,n=0==i?U:H;return"=>"==t?C(O,i?$:K,R):"operator"==t?/\+\+|--/.test(e)||c&&"!"==e?C(r):c&&"<"==e&&w.stream.match(/^([^>]|<.*?>)*>\s*\(/,!1)?C(M(">"),rt(ct,">"),D,r):"?"==e?C(U,P(":"),n):C(n):"quasi"==t?E(V,r):";"!=t?"("==t?nt(H,")","call",r):"."==t?C(Z,r):"["==t?C(M("]"),q,P("]"),D,r):c&&"as"==e?(w.marked="keyword",C(ct,r)):"regexp"==t?(w.state.lastType=w.marked="operator",w.stream.backUp(w.stream.pos-w.stream.start-1),C(n)):void 0:void 0}function V(t,e){return"quasi"!=t?E():"${"!=e.slice(e.length-2)?C(V):C(U,Y)}function Y(t){if("}"==t)return w.marked="string-2",w.state.tokenize=y,C(V)}function K(t){return o(w.stream,w.state),E("{"==t?B:U)}function $(t){return o(w.stream,w.state),E("{"==t?B:H)}function Q(t,e){if("target"==e)return w.marked="keyword",C(G)}function X(t,e){if("target"==e)return w.marked="keyword",C(j)}function J(t){return":"==t?C(D,B):E(G,P(";"),D)}function Z(t){if("variable"==t)return w.marked="property",C()}function tt(t,e){if("async"==t)return w.marked="property",C(tt);if("variable"==t||"keyword"==w.style){return w.marked="property","get"==e||"set"==e?C(et):(c&&w.state.fatArrowAt==w.stream.start&&(i=w.stream.match(/^\s*:\s*/,!1))&&(w.state.fatArrowAt=w.stream.pos+i[0].length),C(it));var i}else{if("number"==t||"string"==t)return w.marked=s?"property":w.style+" property",C(it);if("jsonld-keyword"==t)return C(it);if(c&&A(e))return w.marked="keyword",C(tt);if("["==t)return C(U,st,P("]"),it);if("spread"==t)return C(H,it);if("*"==e)return w.marked="keyword",C(tt);if(":"==t)return E(it)}}function et(t){return"variable"!=t?E(it):(w.marked="property",C(Lt))}function it(t){return":"==t?C(H):"("==t?E(Lt):void 0}function rt(r,n,o){function s(t,e){if(o?-1<o.indexOf(t):","==t){var i=w.state.lexical;return"call"==i.info&&(i.pos=(i.pos||0)+1),C(function(t,e){return t==n||e==n?E():E(r)},s)}return t==n||e==n?C():o&&-1<o.indexOf(";")?E(r):C(P(n))}return function(t,e){return t==n||e==n?C():E(r,s)}}function nt(t,e,i){for(var r=3;r<arguments.length;r++)w.cc.push(arguments[r]);return C(M(e,i),rt(t,e),D)}function ot(t){return"}"==t?C():E(B,ot)}function st(t,e){if(c){if(":"==t||"in"==e)return C(ct);if("?"==e)return C(st)}}function at(t){if(c&&":"==t)return w.stream.match(/^\s*\w+\s+is\b/,!1)?C(U,lt,ct):C(ct)}function lt(t,e){if("is"==e)return w.marked="keyword",C()}function ct(t,e){return"keyof"==e||"typeof"==e||"infer"==e?(w.marked="keyword",C("typeof"==e?H:ct)):"variable"==t||"void"==e?(w.marked="type",C(dt)):"string"==t||"number"==t||"atom"==t?C(dt):"["==t?C(M("]"),rt(ct,"]",","),D,dt):"{"==t?C(M("}"),rt(ut,"}",",;"),D,dt):"("==t?C(rt(ft,")"),ht,dt):"<"==t?C(rt(ct,">"),ct):void 0}function ht(t){if("=>"==t)return C(ct)}function ut(t,e){return"variable"==t||"keyword"==w.style?(w.marked="property",C(ut)):"?"==e||"number"==t||"string"==t?C(ut):":"==t?C(ct):"["==t?C(P("variable"),st,P("]"),ut):"("==t?E(Nt,ut):void 0}function ft(t,e){return"variable"==t&&w.stream.match(/^\s*[?:]/,!1)||"?"==e?C(ft):":"==t?C(ct):"spread"==t?C(ft):E(ct)}function dt(t,e){return"<"==e?C(M(">"),rt(ct,">"),D,dt):"|"==e||"."==t||"&"==e?C(ct):"["==t?C(ct,P("]"),dt):"extends"==e||"implements"==e?(w.marked="keyword",C(ct)):"?"==e?C(ct,P(":"),ct):void 0}function pt(t,e){if("<"==e)return C(M(">"),rt(ct,">"),D,dt)}function mt(){return E(ct,gt)}function gt(t,e){if("="==e)return C(ct)}function _t(t,e){return"enum"==e?(w.marked="keyword",C(Vt)):E(vt,st,Tt,kt)}function vt(t,e){return c&&A(e)?(w.marked="keyword",C(vt)):"variable"==t?(i(e),C()):"spread"==t?C(vt):"["==t?nt(xt,"]"):"{"==t?nt(yt,"}"):void 0}function yt(t,e){return"variable"!=t||w.stream.match(/^\s*:/,!1)?("variable"==t&&(w.marked="property"),"spread"==t?C(vt):"}"==t?E():"["==t?C(U,P("]"),P(":"),yt):C(P(":"),vt,Tt)):(i(e),C(Tt))}function xt(){return E(vt,Tt)}function Tt(t,e){if("="==e)return C(H)}function kt(t){if(","==t)return C(_t)}function bt(t,e){if("keyword b"==t&&"else"==e)return C(M("form","else"),B,D)}function wt(t,e){return"await"==e?C(wt):"("==t?C(M(")"),Et,P(")"),D):void 0}function Et(t){return"var"==t?C(_t,P(";"),St):";"==t?C(St):"variable"==t?C(Ct):E(U,P(";"),St)}function Ct(t,e){return"in"==e||"of"==e?(w.marked="keyword",C(U)):C(G,St)}function St(t,e){return";"==t?C(At):"in"==e||"of"==e?(w.marked="keyword",C(U)):E(U,P(";"),At)}function At(t){")"!=t&&C(U)}function Lt(t,e){return"*"==e?(w.marked="keyword",C(Lt)):"variable"==t?(i(e),C(Lt)):"("==t?C(O,M(")"),rt(It,")"),D,at,B,R):c&&"<"==e?C(M(">"),rt(mt,">"),D,Lt):void 0}function Nt(t,e){return"*"==e?(w.marked="keyword",C(Nt)):"variable"==t?(i(e),C(Nt)):"("==t?C(O,M(")"),rt(It,")"),D,at,R):c&&"<"==e?C(M(">"),rt(mt,">"),D,Nt):void 0}function Ot(t,e){return"keyword"==t||"variable"==t?(w.marked="type",C(Ot)):"<"==e?C(M(">"),rt(mt,">"),D):void 0}function It(t,e){return"@"==e&&C(U,It),"spread"==t?C(It):c&&A(e)?(w.marked="keyword",C(It)):E(vt,st,Tt)}function Rt(t,e){return"variable"==t?Mt(t,e):Dt(t,e)}function Mt(t,e){if("variable"==t)return i(e),C(Dt)}function Dt(t,e){return"<"==e?C(M(">"),rt(mt,">"),D,Dt):"extends"==e||"implements"==e||c&&","==t?("implements"==e&&(w.marked="keyword"),C(c?ct:U,Dt)):"{"==t?C(M("}"),Pt,D):void 0}function Pt(t,e){return"async"==t||"variable"==t&&("static"==e||"get"==e||"set"==e||c&&A(e))&&w.stream.match(/^\s+[\w$\xa1-\uffff]/,!1)?(w.marked="keyword",C(Pt)):"variable"==t||"keyword"==w.style?(w.marked="property",C(c?Bt:Lt,Pt)):"number"==t||"string"==t?C(c?Bt:Lt,Pt):"["==t?C(U,st,P("]"),c?Bt:Lt,Pt):"*"==e?(w.marked="keyword",C(Pt)):c&&"("==t?E(Nt,Pt):";"==t||","==t?C(Pt):"}"==t?C():"@"==e?C(U,Pt):void 0}function Bt(t,e){if("?"==e)return C(Bt);if(":"==t)return C(ct,Tt);if("="==e)return C(H);var i=w.state.lexical.prev;return E(i&&"interface"==i.info?Nt:Lt)}function Ft(t,e){return"*"==e?(w.marked="keyword",C(Gt,P(";"))):"default"==e?(w.marked="keyword",C(U,P(";"))):"{"==t?C(rt(Ut,"}"),Gt,P(";")):E(B)}function Ut(t,e){return"as"==e?(w.marked="keyword",C(P("variable"))):"variable"==t?E(H,Ut):void 0}function Ht(t){return"string"==t?C():"("==t?E(U):E(Wt,zt,Gt)}function Wt(t,e){return"{"==t?nt(Wt,"}"):("variable"==t&&i(e),"*"==e&&(w.marked="keyword"),C(qt))}function zt(t){if(","==t)return C(Wt,zt)}function qt(t,e){if("as"==e)return w.marked="keyword",C(Wt)}function Gt(t,e){if("from"==e)return w.marked="keyword",C(U)}function jt(t){return"]"==t?C():E(rt(H,"]"))}function Vt(){return E(M("form"),vt,P("{"),M("}"),rt(Yt,"}"),D,D)}function Yt(){return E(vt,Tt)}function Kt(t,e,i){return e.tokenize==_&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(e.lastType)||"quasi"==e.lastType&&/\{\s*$/.test(t.string.slice(0,t.pos-(i||0)))}return D.lex=R.lex=!0,{startState:function(t){var e={tokenize:_,lastType:"sof",cc:[],lexical:new k((t||0)-f,0,"block",!1),localVars:u.localVars,context:u.localVars&&new L(null,null,!1),indented:t||0};return u.globalVars&&"object"==typeof u.globalVars&&(e.globalVars=u.globalVars),e},token:function(t,e){if(t.sol()&&(e.lexical.hasOwnProperty("align")||(e.lexical.align=!1),e.indented=t.indentation(),o(t,e)),e.tokenize!=v&&t.eatSpace())return null;var i=e.tokenize(t,e);return"comment"==r?i:(e.lastType="operator"!=r||"++"!=n&&"--"!=n?r:"incdec",function(t,e,i,r,n){var o=t.cc;for(w.state=t,w.stream=n,w.marked=null,w.cc=o,w.style=e,t.lexical.hasOwnProperty("align")||(t.lexical.align=!0);;)if((o.length?o.pop():a?U:B)(i,r)){for(;o.length&&o[o.length-1].lex;)o.pop()();return w.marked?w.marked:"variable"==i&&b(t,r)?"variable-2":e}}(e,i,r,n,t))},indent:function(t,e){if(t.tokenize==v)return $t.Pass;if(t.tokenize!=_)return 0;var i,r=e&&e.charAt(0),n=t.lexical;if(!/^\s*else\b/.test(e))for(var o=t.cc.length-1;0<=o;--o){var s=t.cc[o];if(s==D)n=n.prev;else if(s!=bt)break}for(;("stat"==n.type||"form"==n.type)&&("}"==r||(i=t.cc[t.cc.length-1])&&(i==G||i==j)&&!/^[,\.=+\-*:?[\(]/.test(e));)n=n.prev;d&&")"==n.type&&"stat"==n.prev.type&&(n=n.prev);var a,l,c=n.type,h=r==c;return"vardef"==c?n.indented+("operator"==t.lastType||","==t.lastType?n.info.length+1:0):"form"==c&&"{"==r?n.indented:"form"==c?n.indented+f:"stat"==c?n.indented+(l=e,"operator"==(a=t).lastType||","==a.lastType||p.test(l.charAt(0))||/[,.]/.test(l.charAt(0))?d||f:0):"switch"!=n.info||h||0==u.doubleIndentSwitch?n.align?n.column+(h?0:1):n.indented+(h?0:f):n.indented+(/^(?:case|default)\b/.test(e)?f:2*f)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:a?null:"/*",blockCommentEnd:a?null:"*/",blockCommentContinue:a?null:" * ",lineComment:a?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:a?"json":"javascript",jsonldMode:s,jsonMode:a,expressionAllowed:Kt,skipExpression:function(t){var e=t.cc[t.cc.length-1];e!=U&&e!=H||t.cc.pop()}}}),$t.registerHelper("wordChars","javascript",/[\w$]/),$t.defineMIME("text/javascript","javascript"),$t.defineMIME("text/ecmascript","javascript"),$t.defineMIME("application/javascript","javascript"),$t.defineMIME("application/x-javascript","javascript"),$t.defineMIME("application/ecmascript","javascript"),$t.defineMIME("application/json",{name:"javascript",json:!0}),$t.defineMIME("application/x-json",{name:"javascript",json:!0}),$t.defineMIME("application/ld+json",{name:"javascript",jsonld:!0}),$t.defineMIME("text/typescript",{name:"javascript",typescript:!0}),$t.defineMIME("application/typescript",{name:"javascript",typescript:!0})},"object"==typeof i&&"object"==typeof e?r(t("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],r):r(CodeMirror)},{"../../lib/codemirror":12}],17:[function(t,e,i){var r;r=function(c){"use strict";function t(t){for(var e={},i=t.split(" "),r=0;r<i.length;++r)e[i[r]]=!0;return e}function a(n,o,s){return 0==n.length?l(o):function(t,e){for(var i=n[0],r=0;r<i.length;r++)if(t.match(i[r][0]))return e.tokenize=a(n.slice(1),o),i[r][1];return e.tokenize=l(o,s),"string"}}function l(i,r){return function(t,e){return function(t,e,i,r){if(!1!==r&&t.match("${",!1)||t.match("{$",!1))return e.tokenize=null,"string";if(!1!==r&&t.match(/^\$[a-zA-Z_][a-zA-Z0-9_]*/))return t.match("[",!1)&&(e.tokenize=a([[["[",null]],[[/\d[\w\.]*/,"number"],[/\$[a-zA-Z_][a-zA-Z0-9_]*/,"variable-2"],[/[\w\$]+/,"variable"]],[["]",null]]],i,r)),t.match(/\-\>\w/,!1)&&(e.tokenize=a([[["->",null]],[[/[\w]+/,"variable"]]],i,r)),"variable-2";var n=!1;for(;!t.eol()&&(n||!1===r||!t.match("{$",!1)&&!t.match(/^(\$[a-zA-Z_][a-zA-Z0-9_]*|\$\{)/,!1));){if(!n&&t.match(i)){e.tokenize=null,e.tokStack.pop(),e.tokStack.pop();break}n="\\"==t.next()&&!n}return"string"}(t,e,i,r)}}var e="abstract and array as break case catch class clone const continue declare default do else elseif enddeclare endfor endforeach endif endswitch endwhile extends final for foreach function global goto if implements interface instanceof namespace new or private protected public static switch throw trait try use var while xor die echo empty exit eval include include_once isset list require require_once return print unset __halt_compiler self static parent yield insteadof finally",i="true false null TRUE FALSE NULL __CLASS__ __DIR__ __FILE__ __LINE__ __METHOD__ __FUNCTION__ __NAMESPACE__ __TRAIT__",r="func_num_args func_get_arg func_get_args strlen strcmp strncmp strcasecmp strncasecmp each error_reporting define defined trigger_error user_error set_error_handler restore_error_handler get_declared_classes get_loaded_extensions extension_loaded get_extension_funcs debug_backtrace constant bin2hex hex2bin sleep usleep time mktime gmmktime strftime gmstrftime strtotime date gmdate getdate localtime checkdate flush wordwrap htmlspecialchars htmlentities html_entity_decode md5 md5_file crc32 getimagesize image_type_to_mime_type phpinfo phpversion phpcredits strnatcmp strnatcasecmp substr_count strspn strcspn strtok strtoupper strtolower strpos strrpos strrev hebrev hebrevc nl2br basename dirname pathinfo stripslashes stripcslashes strstr stristr strrchr str_shuffle str_word_count strcoll substr substr_replace quotemeta ucfirst ucwords strtr addslashes addcslashes rtrim str_replace str_repeat count_chars chunk_split trim ltrim strip_tags similar_text explode implode setlocale localeconv parse_str str_pad chop strchr sprintf printf vprintf vsprintf sscanf fscanf parse_url urlencode urldecode rawurlencode rawurldecode readlink linkinfo link unlink exec system escapeshellcmd escapeshellarg passthru shell_exec proc_open proc_close rand srand getrandmax mt_rand mt_srand mt_getrandmax base64_decode base64_encode abs ceil floor round is_finite is_nan is_infinite bindec hexdec octdec decbin decoct dechex base_convert number_format fmod ip2long long2ip getenv putenv getopt microtime gettimeofday getrusage uniqid quoted_printable_decode set_time_limit get_cfg_var magic_quotes_runtime set_magic_quotes_runtime get_magic_quotes_gpc get_magic_quotes_runtime import_request_variables error_log serialize unserialize memory_get_usage var_dump var_export debug_zval_dump print_r highlight_file show_source highlight_string ini_get ini_get_all ini_set ini_alter ini_restore get_include_path set_include_path restore_include_path setcookie header headers_sent connection_aborted connection_status ignore_user_abort parse_ini_file is_uploaded_file move_uploaded_file intval floatval doubleval strval gettype settype is_null is_resource is_bool is_long is_float is_int is_integer is_double is_real is_numeric is_string is_array is_object is_scalar ereg ereg_replace eregi eregi_replace split spliti join sql_regcase dl pclose popen readfile rewind rmdir umask fclose feof fgetc fgets fgetss fread fopen fpassthru ftruncate fstat fseek ftell fflush fwrite fputs mkdir rename copy tempnam tmpfile file file_get_contents file_put_contents stream_select stream_context_create stream_context_set_params stream_context_set_option stream_context_get_options stream_filter_prepend stream_filter_append fgetcsv flock get_meta_tags stream_set_write_buffer set_file_buffer set_socket_blocking stream_set_blocking socket_set_blocking stream_get_meta_data stream_register_wrapper stream_wrapper_register stream_set_timeout socket_set_timeout socket_get_status realpath fnmatch fsockopen pfsockopen pack unpack get_browser crypt opendir closedir chdir getcwd rewinddir readdir dir glob fileatime filectime filegroup fileinode filemtime fileowner fileperms filesize filetype file_exists is_writable is_writeable is_readable is_executable is_file is_dir is_link stat lstat chown touch clearstatcache mail ob_start ob_flush ob_clean ob_end_flush ob_end_clean ob_get_flush ob_get_clean ob_get_length ob_get_level ob_get_status ob_get_contents ob_implicit_flush ob_list_handlers ksort krsort natsort natcasesort asort arsort sort rsort usort uasort uksort shuffle array_walk count end prev next reset current key min max in_array array_search extract compact array_fill range array_multisort array_push array_pop array_shift array_unshift array_splice array_slice array_merge array_merge_recursive array_keys array_values array_count_values array_reverse array_reduce array_pad array_flip array_change_key_case array_rand array_unique array_intersect array_intersect_assoc array_diff array_diff_assoc array_sum array_filter array_map array_chunk array_key_exists array_intersect_key array_combine array_column pos sizeof key_exists assert assert_options version_compare ftok str_rot13 aggregate session_name session_module_name session_save_path session_id session_regenerate_id session_decode session_register session_unregister session_is_registered session_encode session_start session_destroy session_unset session_set_save_handler session_cache_limiter session_cache_expire session_set_cookie_params session_get_cookie_params session_write_close preg_match preg_match_all preg_replace preg_replace_callback preg_split preg_quote preg_grep overload ctype_alnum ctype_alpha ctype_cntrl ctype_digit ctype_lower ctype_graph ctype_print ctype_punct ctype_space ctype_upper ctype_xdigit virtual apache_request_headers apache_note apache_lookup_uri apache_child_terminate apache_setenv apache_response_headers apache_get_version getallheaders mysql_connect mysql_pconnect mysql_close mysql_select_db mysql_create_db mysql_drop_db mysql_query mysql_unbuffered_query mysql_db_query mysql_list_dbs mysql_list_tables mysql_list_fields mysql_list_processes mysql_error mysql_errno mysql_affected_rows mysql_insert_id mysql_result mysql_num_rows mysql_num_fields mysql_fetch_row mysql_fetch_array mysql_fetch_assoc mysql_fetch_object mysql_data_seek mysql_fetch_lengths mysql_fetch_field mysql_field_seek mysql_free_result mysql_field_name mysql_field_table mysql_field_len mysql_field_type mysql_field_flags mysql_escape_string mysql_real_escape_string mysql_stat mysql_thread_id mysql_client_encoding mysql_get_client_info mysql_get_host_info mysql_get_proto_info mysql_get_server_info mysql_info mysql mysql_fieldname mysql_fieldtable mysql_fieldlen mysql_fieldtype mysql_fieldflags mysql_selectdb mysql_createdb mysql_dropdb mysql_freeresult mysql_numfields mysql_numrows mysql_listdbs mysql_listtables mysql_listfields mysql_db_name mysql_dbname mysql_tablename mysql_table_name pg_connect pg_pconnect pg_close pg_connection_status pg_connection_busy pg_connection_reset pg_host pg_dbname pg_port pg_tty pg_options pg_ping pg_query pg_send_query pg_cancel_query pg_fetch_result pg_fetch_row pg_fetch_assoc pg_fetch_array pg_fetch_object pg_fetch_all pg_affected_rows pg_get_result pg_result_seek pg_result_status pg_free_result pg_last_oid pg_num_rows pg_num_fields pg_field_name pg_field_num pg_field_size pg_field_type pg_field_prtlen pg_field_is_null pg_get_notify pg_get_pid pg_result_error pg_last_error pg_last_notice pg_put_line pg_end_copy pg_copy_to pg_copy_from pg_trace pg_untrace pg_lo_create pg_lo_unlink pg_lo_open pg_lo_close pg_lo_read pg_lo_write pg_lo_read_all pg_lo_import pg_lo_export pg_lo_seek pg_lo_tell pg_escape_string pg_escape_bytea pg_unescape_bytea pg_client_encoding pg_set_client_encoding pg_meta_data pg_convert pg_insert pg_update pg_delete pg_select pg_exec pg_getlastoid pg_cmdtuples pg_errormessage pg_numrows pg_numfields pg_fieldname pg_fieldsize pg_fieldtype pg_fieldnum pg_fieldprtlen pg_fieldisnull pg_freeresult pg_result pg_loreadall pg_locreate pg_lounlink pg_loopen pg_loclose pg_loread pg_lowrite pg_loimport pg_loexport http_response_code get_declared_traits getimagesizefromstring socket_import_stream stream_set_chunk_size trait_exists header_register_callback class_uses session_status session_register_shutdown echo print global static exit array empty eval isset unset die include require include_once require_once json_decode json_encode json_last_error json_last_error_msg curl_close curl_copy_handle curl_errno curl_error curl_escape curl_exec curl_file_create curl_getinfo curl_init curl_multi_add_handle curl_multi_close curl_multi_exec curl_multi_getcontent curl_multi_info_read curl_multi_init curl_multi_remove_handle curl_multi_select curl_multi_setopt curl_multi_strerror curl_pause curl_reset curl_setopt_array curl_setopt curl_share_close curl_share_init curl_share_setopt curl_strerror curl_unescape curl_version mysqli_affected_rows mysqli_autocommit mysqli_change_user mysqli_character_set_name mysqli_close mysqli_commit mysqli_connect_errno mysqli_connect_error mysqli_connect mysqli_data_seek mysqli_debug mysqli_dump_debug_info mysqli_errno mysqli_error_list mysqli_error mysqli_fetch_all mysqli_fetch_array mysqli_fetch_assoc mysqli_fetch_field_direct mysqli_fetch_field mysqli_fetch_fields mysqli_fetch_lengths mysqli_fetch_object mysqli_fetch_row mysqli_field_count mysqli_field_seek mysqli_field_tell mysqli_free_result mysqli_get_charset mysqli_get_client_info mysqli_get_client_stats mysqli_get_client_version mysqli_get_connection_stats mysqli_get_host_info mysqli_get_proto_info mysqli_get_server_info mysqli_get_server_version mysqli_info mysqli_init mysqli_insert_id mysqli_kill mysqli_more_results mysqli_multi_query mysqli_next_result mysqli_num_fields mysqli_num_rows mysqli_options mysqli_ping mysqli_prepare mysqli_query mysqli_real_connect mysqli_real_escape_string mysqli_real_query mysqli_reap_async_query mysqli_refresh mysqli_rollback mysqli_select_db mysqli_set_charset mysqli_set_local_infile_default mysqli_set_local_infile_handler mysqli_sqlstate mysqli_ssl_set mysqli_stat mysqli_stmt_init mysqli_store_result mysqli_thread_id mysqli_thread_safe mysqli_use_result mysqli_warning_count";c.registerHelper("hintWords","php",[e,i,r].join(" ").split(" ")),c.registerHelper("wordChars","php",/[\w$]/);var n={name:"clike",helperType:"php",keywords:t(e),blockKeywords:t("catch do else elseif for foreach if switch try while finally"),defKeywords:t("class function interface namespace trait"),atoms:t(i),builtin:t(r),multiLineStrings:!0,hooks:{$:function(t){return t.eatWhile(/[\w\$_]/),"variable-2"},"<":function(t,e){var i;if(i=t.match(/<<\s*/)){var r=t.eat(/['"]/);t.eatWhile(/[\w\.]/);var n=t.current().slice(i[0].length+(r?2:1));if(r&&t.eat(r),n)return(e.tokStack||(e.tokStack=[])).push(n,0),e.tokenize=l(n,"'"!=r),"string"}return!1},"#":function(t){for(;!t.eol()&&!t.match("?>",!1);)t.next();return"comment"},"/":function(t){if(t.eat("/")){for(;!t.eol()&&!t.match("?>",!1);)t.next();return"comment"}return!1},'"':function(t,e){return(e.tokStack||(e.tokStack=[])).push('"',0),e.tokenize=l('"'),"string"},"{":function(t,e){return e.tokStack&&e.tokStack.length&&e.tokStack[e.tokStack.length-1]++,!1},"}":function(t,e){return e.tokStack&&0<e.tokStack.length&&!--e.tokStack[e.tokStack.length-1]&&(e.tokenize=l(e.tokStack[e.tokStack.length-2])),!1}}};c.defineMode("php",function(t,i){var a=c.getMode(t,i&&i.htmlMode||"text/html"),l=c.getMode(t,n);return{startState:function(){var t=c.startState(a),e=i.startOpen?c.startState(l):null;return{html:t,php:e,curMode:i.startOpen?l:a,curState:i.startOpen?e:t,pending:null}},copyState:function(t){var e,i=t.html,r=c.copyState(a,i),n=t.php,o=n&&c.copyState(l,n);return e=t.curMode==a?r:o,{html:r,php:o,curMode:t.curMode,curState:e,pending:t.pending}},token:function(t,e){var i=e.curMode==l;if(t.sol()&&e.pending&&'"'!=e.pending&&"'"!=e.pending&&(e.pending=null),i)return i&&null==e.php.tokenize&&t.match("?>")?(e.curMode=a,e.curState=e.html,e.php.context.prev||(e.php=null),"meta"):l.token(t,e.curState);if(t.match(/^<\?\w*/))return e.curMode=l,e.php||(e.php=c.startState(l,a.indent(e.html,"",""))),e.curState=e.php,"meta";if('"'==e.pending||"'"==e.pending){for(;!t.eol()&&t.next()!=e.pending;);var r="string"}else r=e.pending&&t.pos<e.pending.end?(t.pos=e.pending.end,e.pending.style):a.token(t,e.curState);e.pending&&(e.pending=null);var n,o=t.current(),s=o.search(/<\?/);return-1!=s&&("string"==r&&(n=o.match(/[\'\"]$/))&&!/\?>/.test(o)?e.pending=n[0]:e.pending={end:t.pos,style:r},t.backUp(o.length-s)),r},indent:function(t,e,i){return t.curMode!=l&&/^\s*<\//.test(e)||t.curMode==l&&/^\?>/.test(e)?a.indent(t.html,e,i):t.curMode.indent(t.curState,e,i)},blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//",innerMode:function(t){return{state:t.curState,mode:t.curMode}}}},"htmlmixed","clike"),c.defineMIME("application/x-httpd-php","php"),c.defineMIME("application/x-httpd-php-open",{name:"php",startOpen:!0}),c.defineMIME("text/x-php",n)},"object"==typeof i&&"object"==typeof e?r(t("../../lib/codemirror"),t("../htmlmixed/htmlmixed"),t("../clike/clike")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../htmlmixed/htmlmixed","../clike/clike"],r):r(CodeMirror)},{"../../lib/codemirror":12,"../clike/clike":13,"../htmlmixed/htmlmixed":15}],18:[function(t,e,i){var r;r=function(b){"use strict";var w={autoSelfClosers:{area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},implicitlyClosed:{dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},contextGrabbers:{dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}},doNotIndent:{pre:!0},allowUnquoted:!0,allowMissing:!0,caseFold:!0},E={autoSelfClosers:{},implicitlyClosed:{},contextGrabbers:{},doNotIndent:{},allowUnquoted:!1,allowMissing:!1,allowMissingTagName:!1,caseFold:!1};b.defineMode("xml",function(t,e){var s,o,a=t.indentUnit,l={},i=e.htmlMode?w:E;for(var r in i)l[r]=i[r];for(var r in e)l[r]=e[r];function c(e,i){function t(t){return(i.tokenize=t)(e,i)}var r=e.next();return"<"==r?e.eat("!")?e.eat("[")?e.match("CDATA[")?t(n("atom","]]>")):null:e.match("--")?t(n("comment","--\x3e")):e.match("DOCTYPE",!0,!0)?(e.eatWhile(/[\w\._\-]/),t(function r(n){return function(t,e){for(var i;null!=(i=t.next());){if("<"==i)return e.tokenize=r(n+1),e.tokenize(t,e);if(">"==i){if(1!=n)return e.tokenize=r(n-1),e.tokenize(t,e);e.tokenize=c;break}}return"meta"}}(1))):null:e.eat("?")?(e.eatWhile(/[\w\._\-]/),i.tokenize=n("meta","?>"),"meta"):(s=e.eat("/")?"closeTag":"openTag",i.tokenize=h,"tag bracket"):"&"!=r?(e.eatWhile(/[^&<]/),null):(e.eat("#")?e.eat("x")?e.eatWhile(/[a-fA-F\d]/)&&e.eat(";"):e.eatWhile(/[\d]/)&&e.eat(";"):e.eatWhile(/[\w\.\-:]/)&&e.eat(";"))?"atom":"error"}function h(t,e){var i=t.next();if(">"==i||"/"==i&&t.eat(">"))return e.tokenize=c,s=">"==i?"endTag":"selfcloseTag","tag bracket";if("="==i)return s="equals",null;if("<"!=i)return/[\'\"]/.test(i)?(e.tokenize=(r=i,(n=function(t,e){for(;!t.eol();)if(t.next()==r){e.tokenize=h;break}return"string"}).isInAttribute=!0,n),e.stringStartCol=t.column(),e.tokenize(t,e)):(t.match(/^[^\s\u00a0=<>\"\']*[^\s\u00a0=<>\"\'\/]/),"word");e.tokenize=c,e.state=p,e.tagName=e.tagStart=null;var r,n,o=e.tokenize(t,e);return o?o+" tag error":"tag error"}function n(i,r){return function(t,e){for(;!t.eol();){if(t.match(r)){e.tokenize=c;break}t.next()}return i}}function u(t,e,i){this.prev=t.context,this.tagName=e,this.indent=t.indented,this.startOfLine=i,(l.doNotIndent.hasOwnProperty(e)||t.context&&t.context.noIndent)&&(this.noIndent=!0)}function f(t){t.context&&(t.context=t.context.prev)}function d(t,e){for(var i;;){if(!t.context)return;if(i=t.context.tagName,!l.contextGrabbers.hasOwnProperty(i)||!l.contextGrabbers[i].hasOwnProperty(e))return;f(t)}}function p(t,e,i){return"openTag"==t?(i.tagStart=e.column(),m):"closeTag"==t?g:p}function m(t,e,i){return"word"==t?(i.tagName=e.current(),o="tag",y):l.allowMissingTagName&&"endTag"==t?(o="tag bracket",y(t,e,i)):(o="error",m)}function g(t,e,i){if("word"!=t)return l.allowMissingTagName&&"endTag"==t?(o="tag bracket",_(t,e,i)):(o="error",v);var r=e.current();return i.context&&i.context.tagName!=r&&l.implicitlyClosed.hasOwnProperty(i.context.tagName)&&f(i),i.context&&i.context.tagName==r||!1===l.matchClosing?(o="tag",_):(o="tag error",v)}function _(t,e,i){return"endTag"!=t?(o="error",_):(f(i),p)}function v(t,e,i){return o="error",_(t,0,i)}function y(t,e,i){if("word"==t)return o="attribute",x;if("endTag"!=t&&"selfcloseTag"!=t)return o="error",y;var r=i.tagName,n=i.tagStart;return i.tagName=i.tagStart=null,"selfcloseTag"==t||l.autoSelfClosers.hasOwnProperty(r)?d(i,r):(d(i,r),i.context=new u(i,r,n==i.indented)),p}function x(t,e,i){return"equals"==t?T:(l.allowMissing||(o="error"),y(t,0,i))}function T(t,e,i){return"string"==t?k:"word"==t&&l.allowUnquoted?(o="string",y):(o="error",y(t,0,i))}function k(t,e,i){return"string"==t?k:y(t,0,i)}return c.isInText=!0,{startState:function(t){var e={tokenize:c,state:p,indented:t||0,tagName:null,tagStart:null,context:null};return null!=t&&(e.baseIndent=t),e},token:function(t,e){if(!e.tagName&&t.sol()&&(e.indented=t.indentation()),t.eatSpace())return null;s=null;var i=e.tokenize(t,e);return(i||s)&&"comment"!=i&&(o=null,e.state=e.state(s||i,t,e),o&&(i="error"==o?i+" error":o)),i},indent:function(t,e,i){var r=t.context;if(t.tokenize.isInAttribute)return t.tagStart==t.indented?t.stringStartCol+1:t.indented+a;if(r&&r.noIndent)return b.Pass;if(t.tokenize!=h&&t.tokenize!=c)return i?i.match(/^(\s*)/)[0].length:0;if(t.tagName)return!1!==l.multilineTagIndentPastTag?t.tagStart+t.tagName.length+2:t.tagStart+a*(l.multilineTagIndentFactor||1);if(l.alignCDATA&&/<!\[CDATA\[/.test(e))return 0;var n=e&&/^<(\/)?([\w_:\.-]*)/.exec(e);if(n&&n[1])for(;r;){if(r.tagName==n[2]){r=r.prev;break}if(!l.implicitlyClosed.hasOwnProperty(r.tagName))break;r=r.prev}else if(n)for(;r;){var o=l.contextGrabbers[r.tagName];if(!o||!o.hasOwnProperty(n[2]))break;r=r.prev}for(;r&&r.prev&&!r.startOfLine;)r=r.prev;return r?r.indent+a:t.baseIndent||0},electricInput:/<\/[\s\w:]+>$/,blockCommentStart:"\x3c!--",blockCommentEnd:"--\x3e",configuration:l.htmlMode?"html":"xml",helperType:l.htmlMode?"html":"xml",skipAttribute:function(t){t.state==T&&(t.state=y)}}}),b.defineMIME("text/xml","xml"),b.defineMIME("application/xml","xml"),b.mimeModes.hasOwnProperty("text/html")||b.defineMIME("text/html",{name:"xml",htmlMode:!0})},"object"==typeof i&&"object"==typeof e?r(t("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],r):r(CodeMirror)},{"../../lib/codemirror":12}],19:[function(dJa,eJa,fJa){var hJa,iJa;hJa=window,iJa=function(){return function(i){var r={};function n(t){if(r[t])return r[t].exports;var e=r[t]={i:t,l:!1,exports:{}};return i[t].call(e.exports,e,e.exports,n),e.l=!0,e.exports}return n.m=i,n.c=r,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(i,r,function(t){return e[t]}.bind(null,r));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=12)}([function(t,e,i){"use strict";var r=i(2);t.exports=r.extends("statement",function(t,e,i){r.apply(this,[t||"statement",e,i])})},function(t,e,i){"use strict";var r=i(2),n="expression";t.exports=r.extends(n,function(t,e,i){r.apply(this,[t||n,e,i])})},function(t,e,i){"use strict";var r=function(t,e,i){this.kind=t,e&&(this.leadingComments=e),i&&(this.loc=i)};r.prototype.setTrailingComments=function(t){this.trailingComments=t},r.prototype.includeToken=function(t){return this.loc&&(this.loc.end&&(this.loc.end.line=t.lexer.yylloc.last_line,this.loc.end.column=t.lexer.yylloc.last_column,this.loc.end.offset=t.lexer.offset),t.ast.withSource&&(this.loc.source=t.lexer._input.substring(this.loc.start.offset,t.lexer.offset))),this},r.extends=function(t,e){return e.prototype=Object.create(this.prototype),e.extends=this.extends,(e.prototype.constructor=e).kind=t,e},t.exports=r},function(t,e,i){"use strict";var o=i(1);t.exports=o.extends("literal",function(t,e,i,r,n){o.apply(this,[t||"literal",r,n]),this.value=e,i&&(this.raw=i)})},function(t,e,i){"use strict";var n=i(0),o="declaration",r=n.extends(o,function(t,e,i,r){n.apply(this,[t||o,i,r]),this.name=e});r.prototype.parseFlags=function(t){this.isAbstract=1===t[2],this.isFinal=2===t[2],"class"!==this.kind&&(-1===t[0]?this.visibility="":null===t[0]?this.visibility=null:0===t[0]?this.visibility="public":1===t[0]?this.visibility="protected":2===t[0]&&(this.visibility="private"),this.isStatic=1===t[1])},t.exports=r},function(t,e,i){"use strict";var r=i(1);t.exports=r.extends("operation",function(t,e,i){r.apply(this,[t||"operation",e,i])})},function(t,e,i){"use strict";var r=i(2),n=r.extends("reference",function(t,e,i){r.apply(this,[t||"reference",e,i])});t.exports=n},function(t,e,i){"use strict";var n=i(0);t.exports=n.extends("block",function(t,e,i,r){n.apply(this,[t||"block",i,r]),this.children=e.filter(Boolean)})},function(t,e,i){"use strict";var o=i(1);t.exports=o.extends("lookup",function(t,e,i,r,n){o.apply(this,[t||"lookup",r,n]),this.what=e,this.offset=i})},function(t,e,i){"use strict";var n=i(2);t.exports=n.extends("comment",function(t,e,i,r){n.apply(this,[t,i,r]),this.value=e})},function(t,e,i){"use strict";var n=i(0),o="constantstatement";t.exports=n.extends(o,function(t,e,i,r){n.apply(this,[t||o,i,r]),this.items=e})},function(t,e,i){"use strict";var a=i(4);t.exports=a.extends("function",function(t,e,i,r,n,o,s){a.apply(this,["function",t,o,s]),this.arguments=e,this.byref=i,this.type=r,this.nullable=n,this.body=null})},function(t,e,h){"use strict";(function(e){var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=h(18),r=h(28),n=h(44),o=h(45);function a(t,e){for(var i=Object.keys(t),r=i.length;r--;){var n=i[r],o=t[n];null===o?delete e[n]:"function"==typeof o?e[n]=o.bind(e):Array.isArray(o)?e[n]=Array.isArray(e[n])?e[n].concat(o):o:"object"===(void 0===o?"undefined":s(o))?e[n]="object"===s(e[n])?a(o,e[n]):o:e[n]=o}return e}var l=function(t){if("function"==typeof this)return new this(t);this.tokens=n,this.lexer=new i(this),this.ast=new o,this.parser=new r(this.lexer,this.ast),t&&"object"===(void 0===t?"undefined":s(t))&&(t.parser&&!1===t.parser.php7&&(t.lexer||(t.lexer={}),t.lexer.php7=!1),a(t,this))},c=function(t){return e.isBuffer(t)?t.toString():t};l.create=function(t){return new l(t)},l.parseEval=function(t,e){return new l(e).parseEval(t)},l.prototype.parseEval=function(t){return this.lexer.mode_eval=!0,this.lexer.all_tokens=!1,t=c(t),this.parser.parse(t,"eval")},l.parseCode=function(t,e,i){return"object"!==(void 0===e?"undefined":s(e))||i||(i=e,e="unknown"),new l(i).parseCode(t,e)},l.prototype.parseCode=function(t,e){return this.lexer.mode_eval=!1,this.lexer.all_tokens=!1,t=c(t),this.parser.parse(t,e)},l.tokenGetAll=function(t,e){return new l(e).tokenGetAll(t)},l.prototype.tokenGetAll=function(t){this.lexer.mode_eval=!1,this.lexer.all_tokens=!0,t=c(t);var e=this.lexer.EOF,i=this.tokens.values;this.lexer.setInput(t);for(var r=this.lexer.lex()||e,n=[];r!=e;){var o=this.lexer.yytext;i.hasOwnProperty(r)&&(o=[i[r],o,this.lexer.yylloc.first_line]),n.push(o),r=this.lexer.lex()||e}return n},t.exports=l,t.exports.tokens=n,t.exports.lexer=i,t.exports.AST=o,t.exports.parser=r,t.exports.combine=a,t.exports.default=l}).call(this,h(13).Buffer)},function(t,F,e){"use strict";(function(t){var r=e(15),o=e(16),s=e(17);function i(){return u.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function a(t,e){if(i()<e)throw new RangeError("Invalid typed array length");return u.TYPED_ARRAY_SUPPORT?(t=new Uint8Array(e)).__proto__=u.prototype:(null===t&&(t=new u(e)),t.length=e),t}function u(t,e,i){if(!(u.TYPED_ARRAY_SUPPORT||this instanceof u))return new u(t,e,i);if("number"!=typeof t)return n(this,t,e,i);if("string"==typeof e)throw new Error("If encoding is specified then the first argument must be a string");return c(this,t)}function n(t,e,i,r){if("number"==typeof e)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer?function(t,e,i,r){if(e.byteLength,i<0||e.byteLength<i)throw new RangeError("'offset' is out of bounds");if(e.byteLength<i+(r||0))throw new RangeError("'length' is out of bounds");e=void 0===i&&void 0===r?new Uint8Array(e):void 0===r?new Uint8Array(e,i):new Uint8Array(e,i,r);u.TYPED_ARRAY_SUPPORT?(t=e).__proto__=u.prototype:t=h(t,e);return t}(t,e,i,r):"string"==typeof e?function(t,e,i){"string"==typeof i&&""!==i||(i="utf8");if(!u.isEncoding(i))throw new TypeError('"encoding" must be a valid string encoding');var r=0|d(e,i),n=(t=a(t,r)).write(e,i);n!==r&&(t=t.slice(0,n));return t}(t,e,i):function(t,e){if(u.isBuffer(e)){var i=0|f(e.length);return 0===(t=a(t,i)).length||e.copy(t,0,0,i),t}if(e){if("undefined"!=typeof ArrayBuffer&&e.buffer instanceof ArrayBuffer||"length"in e)return"number"!=typeof e.length||(r=e.length)!=r?a(t,0):h(t,e);if("Buffer"===e.type&&s(e.data))return h(t,e.data)}var r;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(t,e)}function l(t){if("number"!=typeof t)throw new TypeError('"size" argument must be a number');if(t<0)throw new RangeError('"size" argument must not be negative')}function c(t,e){if(l(e),t=a(t,e<0?0:0|f(e)),!u.TYPED_ARRAY_SUPPORT)for(var i=0;i<e;++i)t[i]=0;return t}function h(t,e){var i=e.length<0?0:0|f(e.length);t=a(t,i);for(var r=0;r<i;r+=1)t[r]=255&e[r];return t}function f(t){if(t>=i())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+i().toString(16)+" bytes");return 0|t}function d(t,e){if(u.isBuffer(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var i=t.length;if(0===i)return 0;for(var r=!1;;)switch(e){case"ascii":case"latin1":case"binary":return i;case"utf8":case"utf-8":case void 0:return D(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*i;case"hex":return i>>>1;case"base64":return P(t).length;default:if(r)return D(t).length;e=(""+e).toLowerCase(),r=!0}}function p(t,e,i){var r=t[e];t[e]=t[i],t[i]=r}function m(t,e,i,r,n){if(0===t.length)return-1;if("string"==typeof i?(r=i,i=0):2147483647<i?i=2147483647:i<-2147483648&&(i=-2147483648),i=+i,isNaN(i)&&(i=n?0:t.length-1),i<0&&(i=t.length+i),i>=t.length){if(n)return-1;i=t.length-1}else if(i<0){if(!n)return-1;i=0}if("string"==typeof e&&(e=u.from(e,r)),u.isBuffer(e))return 0===e.length?-1:g(t,e,i,r,n);if("number"==typeof e)return e&=255,u.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?n?Uint8Array.prototype.indexOf.call(t,e,i):Uint8Array.prototype.lastIndexOf.call(t,e,i):g(t,[e],i,r,n);throw new TypeError("val must be string, number or Buffer")}function g(t,e,i,r,n){var o,s=1,a=t.length,l=e.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(t.length<2||e.length<2)return-1;a/=s=2,l/=2,i/=2}function c(t,e){return 1===s?t[e]:t.readUInt16BE(e*s)}if(n){var h=-1;for(o=i;o<a;o++)if(c(t,o)===c(e,-1===h?0:o-h)){if(-1===h&&(h=o),o-h+1===l)return h*s}else-1!==h&&(o-=o-h),h=-1}else for(a<i+l&&(i=a-l),o=i;0<=o;o--){for(var u=!0,f=0;f<l;f++)if(c(t,o+f)!==c(e,f)){u=!1;break}if(u)return o}return-1}function _(t,e,i,r){i=Number(i)||0;var n=t.length-i;r?n<(r=Number(r))&&(r=n):r=n;var o=e.length;if(o%2!=0)throw new TypeError("Invalid hex string");o/2<r&&(r=o/2);for(var s=0;s<r;++s){var a=parseInt(e.substr(2*s,2),16);if(isNaN(a))return s;t[i+s]=a}return s}function v(t,e,i,r){return B(function(t){for(var e=[],i=0;i<t.length;++i)e.push(255&t.charCodeAt(i));return e}(e),t,i,r)}function y(t,e,i){return 0===e&&i===t.length?r.fromByteArray(t):r.fromByteArray(t.slice(e,i))}function x(t,e,i){i=Math.min(t.length,i);for(var r=[],n=e;n<i;){var o,s,a,l,c=t[n],h=null,u=239<c?4:223<c?3:191<c?2:1;if(n+u<=i)switch(u){case 1:c<128&&(h=c);break;case 2:128==(192&(o=t[n+1]))&&127<(l=(31&c)<<6|63&o)&&(h=l);break;case 3:o=t[n+1],s=t[n+2],128==(192&o)&&128==(192&s)&&2047<(l=(15&c)<<12|(63&o)<<6|63&s)&&(l<55296||57343<l)&&(h=l);break;case 4:o=t[n+1],s=t[n+2],a=t[n+3],128==(192&o)&&128==(192&s)&&128==(192&a)&&65535<(l=(15&c)<<18|(63&o)<<12|(63&s)<<6|63&a)&&l<1114112&&(h=l)}null===h?(h=65533,u=1):65535<h&&(h-=65536,r.push(h>>>10&1023|55296),h=56320|1023&h),r.push(h),n+=u}return function(t){var e=t.length;if(e<=T)return String.fromCharCode.apply(String,t);var i="",r=0;for(;r<e;)i+=String.fromCharCode.apply(String,t.slice(r,r+=T));return i}(r)}F.Buffer=u,F.SlowBuffer=function(t){+t!=t&&(t=0);return u.alloc(+t)},F.INSPECT_MAX_BYTES=50,u.TYPED_ARRAY_SUPPORT=void 0!==t.TYPED_ARRAY_SUPPORT?t.TYPED_ARRAY_SUPPORT:function(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()&&"function"==typeof t.subarray&&0===t.subarray(1,1).byteLength}catch(t){return!1}}(),F.kMaxLength=i(),u.poolSize=8192,u._augment=function(t){return t.__proto__=u.prototype,t},u.from=function(t,e,i){return n(null,t,e,i)},u.TYPED_ARRAY_SUPPORT&&(u.prototype.__proto__=Uint8Array.prototype,u.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&u[Symbol.species]===u&&Object.defineProperty(u,Symbol.species,{value:null,configurable:!0})),u.alloc=function(t,e,i){return r=null,o=e,s=i,l(n=t),n<=0?a(r,n):void 0!==o?"string"==typeof s?a(r,n).fill(o,s):a(r,n).fill(o):a(r,n);var r,n,o,s},u.allocUnsafe=function(t){return c(null,t)},u.allocUnsafeSlow=function(t){return c(null,t)},u.isBuffer=function(t){return!(null==t||!t._isBuffer)},u.compare=function(t,e){if(!u.isBuffer(t)||!u.isBuffer(e))throw new TypeError("Arguments must be Buffers");if(t===e)return 0;for(var i=t.length,r=e.length,n=0,o=Math.min(i,r);n<o;++n)if(t[n]!==e[n]){i=t[n],r=e[n];break}return i<r?-1:r<i?1:0},u.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},u.concat=function(t,e){if(!s(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return u.alloc(0);var i;if(void 0===e)for(i=e=0;i<t.length;++i)e+=t[i].length;var r=u.allocUnsafe(e),n=0;for(i=0;i<t.length;++i){var o=t[i];if(!u.isBuffer(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(r,n),n+=o.length}return r},u.byteLength=d,u.prototype._isBuffer=!0,u.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;e<t;e+=2)p(this,e,e+1);return this},u.prototype.swap32=function(){var t=this.length;if(t%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var e=0;e<t;e+=4)p(this,e,e+3),p(this,e+1,e+2);return this},u.prototype.swap64=function(){var t=this.length;if(t%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var e=0;e<t;e+=8)p(this,e,e+7),p(this,e+1,e+6),p(this,e+2,e+5),p(this,e+3,e+4);return this},u.prototype.toString=function(){var t=0|this.length;return 0===t?"":0===arguments.length?x(this,0,t):function(t,e,i){var r=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===i||i>this.length)&&(i=this.length),i<=0)return"";if((i>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return w(this,e,i);case"utf8":case"utf-8":return x(this,e,i);case"ascii":return k(this,e,i);case"latin1":case"binary":return b(this,e,i);case"base64":return y(this,e,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return E(this,e,i);default:if(r)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),r=!0}}.apply(this,arguments)},u.prototype.equals=function(t){if(!u.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===u.compare(this,t)},u.prototype.inspect=function(){var t="",e=F.INSPECT_MAX_BYTES;return 0<this.length&&(t=this.toString("hex",0,e).match(/.{2}/g).join(" "),this.length>e&&(t+=" ... ")),"<Buffer "+t+">"},u.prototype.compare=function(t,e,i,r,n){if(!u.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===i&&(i=t?t.length:0),void 0===r&&(r=0),void 0===n&&(n=this.length),e<0||i>t.length||r<0||n>this.length)throw new RangeError("out of range index");if(n<=r&&i<=e)return 0;if(n<=r)return-1;if(i<=e)return 1;if(this===t)return 0;for(var o=(n>>>=0)-(r>>>=0),s=(i>>>=0)-(e>>>=0),a=Math.min(o,s),l=this.slice(r,n),c=t.slice(e,i),h=0;h<a;++h)if(l[h]!==c[h]){o=l[h],s=c[h];break}return o<s?-1:s<o?1:0},u.prototype.includes=function(t,e,i){return-1!==this.indexOf(t,e,i)},u.prototype.indexOf=function(t,e,i){return m(this,t,e,i,!0)},u.prototype.lastIndexOf=function(t,e,i){return m(this,t,e,i,!1)},u.prototype.write=function(t,e,i,r){if(void 0===e)r="utf8",i=this.length,e=0;else if(void 0===i&&"string"==typeof e)r=e,i=this.length,e=0;else{if(!isFinite(e))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");e|=0,isFinite(i)?(i|=0,void 0===r&&(r="utf8")):(r=i,i=void 0)}var n=this.length-e;if((void 0===i||n<i)&&(i=n),0<t.length&&(i<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var o,s,a,l,c,h,u,f,d,p=!1;;)switch(r){case"hex":return _(this,t,e,i);case"utf8":case"utf-8":return f=e,d=i,B(D(t,(u=this).length-f),u,f,d);case"ascii":return v(this,t,e,i);case"latin1":case"binary":return v(this,t,e,i);case"base64":return l=this,c=e,h=i,B(P(t),l,c,h);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return s=e,a=i,B(function(t,e){for(var i,r,n,o=[],s=0;s<t.length&&!((e-=2)<0);++s)i=t.charCodeAt(s),r=i>>8,n=i%256,o.push(n),o.push(r);return o}(t,(o=this).length-s),o,s,a);default:if(p)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),p=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var T=4096;function k(t,e,i){var r="";i=Math.min(t.length,i);for(var n=e;n<i;++n)r+=String.fromCharCode(127&t[n]);return r}function b(t,e,i){var r="";i=Math.min(t.length,i);for(var n=e;n<i;++n)r+=String.fromCharCode(t[n]);return r}function w(t,e,i){var r=t.length;(!e||e<0)&&(e=0),(!i||i<0||r<i)&&(i=r);for(var n="",o=e;o<i;++o)n+=M(t[o]);return n}function E(t,e,i){for(var r=t.slice(e,i),n="",o=0;o<r.length;o+=2)n+=String.fromCharCode(r[o]+256*r[o+1]);return n}function C(t,e,i){if(t%1!=0||t<0)throw new RangeError("offset is not uint");if(i<t+e)throw new RangeError("Trying to access beyond buffer length")}function S(t,e,i,r,n,o){if(!u.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(n<e||e<o)throw new RangeError('"value" argument is out of bounds');if(i+r>t.length)throw new RangeError("Index out of range")}function A(t,e,i,r){e<0&&(e=65535+e+1);for(var n=0,o=Math.min(t.length-i,2);n<o;++n)t[i+n]=(e&255<<8*(r?n:1-n))>>>8*(r?n:1-n)}function L(t,e,i,r){e<0&&(e=4294967295+e+1);for(var n=0,o=Math.min(t.length-i,4);n<o;++n)t[i+n]=e>>>8*(r?n:3-n)&255}function N(t,e,i,r,n,o){if(i+r>t.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("Index out of range")}function O(t,e,i,r,n){return n||N(t,0,i,4),o.write(t,e,i,r,23,4),i+4}function I(t,e,i,r,n){return n||N(t,0,i,8),o.write(t,e,i,r,52,8),i+8}u.prototype.slice=function(t,e){var i,r=this.length;if((t=~~t)<0?(t+=r)<0&&(t=0):r<t&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):r<e&&(e=r),e<t&&(e=t),u.TYPED_ARRAY_SUPPORT)(i=this.subarray(t,e)).__proto__=u.prototype;else{var n=e-t;i=new u(n,void 0);for(var o=0;o<n;++o)i[o]=this[o+t]}return i},u.prototype.readUIntLE=function(t,e,i){t|=0,e|=0,i||C(t,e,this.length);for(var r=this[t],n=1,o=0;++o<e&&(n*=256);)r+=this[t+o]*n;return r},u.prototype.readUIntBE=function(t,e,i){t|=0,e|=0,i||C(t,e,this.length);for(var r=this[t+--e],n=1;0<e&&(n*=256);)r+=this[t+--e]*n;return r},u.prototype.readUInt8=function(t,e){return e||C(t,1,this.length),this[t]},u.prototype.readUInt16LE=function(t,e){return e||C(t,2,this.length),this[t]|this[t+1]<<8},u.prototype.readUInt16BE=function(t,e){return e||C(t,2,this.length),this[t]<<8|this[t+1]},u.prototype.readUInt32LE=function(t,e){return e||C(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},u.prototype.readUInt32BE=function(t,e){return e||C(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},u.prototype.readIntLE=function(t,e,i){t|=0,e|=0,i||C(t,e,this.length);for(var r=this[t],n=1,o=0;++o<e&&(n*=256);)r+=this[t+o]*n;return(n*=128)<=r&&(r-=Math.pow(2,8*e)),r},u.prototype.readIntBE=function(t,e,i){t|=0,e|=0,i||C(t,e,this.length);for(var r=e,n=1,o=this[t+--r];0<r&&(n*=256);)o+=this[t+--r]*n;return(n*=128)<=o&&(o-=Math.pow(2,8*e)),o},u.prototype.readInt8=function(t,e){return e||C(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},u.prototype.readInt16LE=function(t,e){e||C(t,2,this.length);var i=this[t]|this[t+1]<<8;return 32768&i?4294901760|i:i},u.prototype.readInt16BE=function(t,e){e||C(t,2,this.length);var i=this[t+1]|this[t]<<8;return 32768&i?4294901760|i:i},u.prototype.readInt32LE=function(t,e){return e||C(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},u.prototype.readInt32BE=function(t,e){return e||C(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},u.prototype.readFloatLE=function(t,e){return e||C(t,4,this.length),o.read(this,t,!0,23,4)},u.prototype.readFloatBE=function(t,e){return e||C(t,4,this.length),o.read(this,t,!1,23,4)},u.prototype.readDoubleLE=function(t,e){return e||C(t,8,this.length),o.read(this,t,!0,52,8)},u.prototype.readDoubleBE=function(t,e){return e||C(t,8,this.length),o.read(this,t,!1,52,8)},u.prototype.writeUIntLE=function(t,e,i,r){(t=+t,e|=0,i|=0,r)||S(this,t,e,i,Math.pow(2,8*i)-1,0);var n=1,o=0;for(this[e]=255&t;++o<i&&(n*=256);)this[e+o]=t/n&255;return e+i},u.prototype.writeUIntBE=function(t,e,i,r){(t=+t,e|=0,i|=0,r)||S(this,t,e,i,Math.pow(2,8*i)-1,0);var n=i-1,o=1;for(this[e+n]=255&t;0<=--n&&(o*=256);)this[e+n]=t/o&255;return e+i},u.prototype.writeUInt8=function(t,e,i){return t=+t,e|=0,i||S(this,t,e,1,255,0),u.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},u.prototype.writeUInt16LE=function(t,e,i){return t=+t,e|=0,i||S(this,t,e,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):A(this,t,e,!0),e+2},u.prototype.writeUInt16BE=function(t,e,i){return t=+t,e|=0,i||S(this,t,e,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):A(this,t,e,!1),e+2},u.prototype.writeUInt32LE=function(t,e,i){return t=+t,e|=0,i||S(this,t,e,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):L(this,t,e,!0),e+4},u.prototype.writeUInt32BE=function(t,e,i){return t=+t,e|=0,i||S(this,t,e,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):L(this,t,e,!1),e+4},u.prototype.writeIntLE=function(t,e,i,r){if(t=+t,e|=0,!r){var n=Math.pow(2,8*i-1);S(this,t,e,i,n-1,-n)}var o=0,s=1,a=0;for(this[e]=255&t;++o<i&&(s*=256);)t<0&&0===a&&0!==this[e+o-1]&&(a=1),this[e+o]=(t/s>>0)-a&255;return e+i},u.prototype.writeIntBE=function(t,e,i,r){if(t=+t,e|=0,!r){var n=Math.pow(2,8*i-1);S(this,t,e,i,n-1,-n)}var o=i-1,s=1,a=0;for(this[e+o]=255&t;0<=--o&&(s*=256);)t<0&&0===a&&0!==this[e+o+1]&&(a=1),this[e+o]=(t/s>>0)-a&255;return e+i},u.prototype.writeInt8=function(t,e,i){return t=+t,e|=0,i||S(this,t,e,1,127,-128),u.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=255&t,e+1},u.prototype.writeInt16LE=function(t,e,i){return t=+t,e|=0,i||S(this,t,e,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):A(this,t,e,!0),e+2},u.prototype.writeInt16BE=function(t,e,i){return t=+t,e|=0,i||S(this,t,e,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):A(this,t,e,!1),e+2},u.prototype.writeInt32LE=function(t,e,i){return t=+t,e|=0,i||S(this,t,e,4,2147483647,-2147483648),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):L(this,t,e,!0),e+4},u.prototype.writeInt32BE=function(t,e,i){return t=+t,e|=0,i||S(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):L(this,t,e,!1),e+4},u.prototype.writeFloatLE=function(t,e,i){return O(this,t,e,!0,i)},u.prototype.writeFloatBE=function(t,e,i){return O(this,t,e,!1,i)},u.prototype.writeDoubleLE=function(t,e,i){return I(this,t,e,!0,i)},u.prototype.writeDoubleBE=function(t,e,i){return I(this,t,e,!1,i)},u.prototype.copy=function(t,e,i,r){if(i||(i=0),r||0===r||(r=this.length),e>=t.length&&(e=t.length),e||(e=0),0<r&&r<i&&(r=i),r===i)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(i<0||i>=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),t.length-e<r-i&&(r=t.length-e+i);var n,o=r-i;if(this===t&&i<e&&e<r)for(n=o-1;0<=n;--n)t[n+e]=this[n+i];else if(o<1e3||!u.TYPED_ARRAY_SUPPORT)for(n=0;n<o;++n)t[n+e]=this[n+i];else Uint8Array.prototype.set.call(t,this.subarray(i,i+o),e);return o},u.prototype.fill=function(t,e,i,r){if("string"==typeof t){if("string"==typeof e?(r=e,e=0,i=this.length):"string"==typeof i&&(r=i,i=this.length),1===t.length){var n=t.charCodeAt(0);n<256&&(t=n)}if(void 0!==r&&"string"!=typeof r)throw new TypeError("encoding must be a string");if("string"==typeof r&&!u.isEncoding(r))throw new TypeError("Unknown encoding: "+r)}else"number"==typeof t&&(t&=255);if(e<0||this.length<e||this.length<i)throw new RangeError("Out of range index");if(i<=e)return this;var o;if(e>>>=0,i=void 0===i?this.length:i>>>0,t||(t=0),"number"==typeof t)for(o=e;o<i;++o)this[o]=t;else{var s=u.isBuffer(t)?t:D(new u(t,r).toString()),a=s.length;for(o=0;o<i-e;++o)this[o+e]=s[o%a]}return this};var R=/[^+\/0-9A-Za-z-_]/g;function M(t){return t<16?"0"+t.toString(16):t.toString(16)}function D(t,e){var i;e=e||1/0;for(var r=t.length,n=null,o=[],s=0;s<r;++s){if(55295<(i=t.charCodeAt(s))&&i<57344){if(!n){if(56319<i){-1<(e-=3)&&o.push(239,191,189);continue}if(s+1===r){-1<(e-=3)&&o.push(239,191,189);continue}n=i;continue}if(i<56320){-1<(e-=3)&&o.push(239,191,189),n=i;continue}i=65536+(n-55296<<10|i-56320)}else n&&-1<(e-=3)&&o.push(239,191,189);if(n=null,i<128){if((e-=1)<0)break;o.push(i)}else if(i<2048){if((e-=2)<0)break;o.push(i>>6|192,63&i|128)}else if(i<65536){if((e-=3)<0)break;o.push(i>>12|224,i>>6&63|128,63&i|128)}else{if(!(i<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(i>>18|240,i>>12&63|128,i>>6&63|128,63&i|128)}}return o}function P(t){return r.toByteArray(function(t){var e;if((t=(e=t,e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")).replace(R,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function B(t,e,i,r){for(var n=0;n<r&&!(n+i>=e.length||n>=t.length);++n)e[n+i]=t[n];return n}}).call(this,e(14))},function(sWa,tWa){var uWa;uWa=function(){return this}();try{uWa=uWa||Function("return this")()||eval("this")}catch(t){"object"==typeof window&&(uWa=window)}sWa.exports=uWa},function(t,e,i){"use strict";e.byteLength=function(t){var e=d(t),i=e[0],r=e[1];return 3*(i+r)/4-r},e.toByteArray=function(t){for(var e,i=d(t),r=i[0],n=i[1],o=new f((c=r,h=n,3*(c+h)/4-h)),s=0,a=0<n?r-4:r,l=0;l<a;l+=4)e=u[t.charCodeAt(l)]<<18|u[t.charCodeAt(l+1)]<<12|u[t.charCodeAt(l+2)]<<6|u[t.charCodeAt(l+3)],o[s++]=e>>16&255,o[s++]=e>>8&255,o[s++]=255&e;var c,h;2===n&&(e=u[t.charCodeAt(l)]<<2|u[t.charCodeAt(l+1)]>>4,o[s++]=255&e);1===n&&(e=u[t.charCodeAt(l)]<<10|u[t.charCodeAt(l+1)]<<4|u[t.charCodeAt(l+2)]>>2,o[s++]=e>>8&255,o[s++]=255&e);return o},e.fromByteArray=function(t){for(var e,i=t.length,r=i%3,n=[],o=0,s=i-r;o<s;o+=16383)n.push(l(t,o,s<o+16383?s:o+16383));1===r?(e=t[i-1],n.push(a[e>>2]+a[e<<4&63]+"==")):2===r&&(e=(t[i-2]<<8)+t[i-1],n.push(a[e>>10]+a[e>>4&63]+a[e<<2&63]+"="));return n.join("")};for(var a=[],u=[],f="undefined"!=typeof Uint8Array?Uint8Array:Array,r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n=0,o=r.length;n<o;++n)a[n]=r[n],u[r.charCodeAt(n)]=n;function d(t){var e=t.length;if(0<e%4)throw new Error("Invalid string. Length must be a multiple of 4");var i=t.indexOf("=");return-1===i&&(i=e),[i,i===e?0:4-i%4]}function l(t,e,i){for(var r,n,o=[],s=e;s<i;s+=3)r=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(255&t[s+2]),o.push(a[(n=r)>>18&63]+a[n>>12&63]+a[n>>6&63]+a[63&n]);return o.join("")}u["-".charCodeAt(0)]=62,u["_".charCodeAt(0)]=63},function(t,e){e.read=function(t,e,i,r,n){var o,s,a=8*n-r-1,l=(1<<a)-1,c=l>>1,h=-7,u=i?n-1:0,f=i?-1:1,d=t[e+u];for(u+=f,o=d&(1<<-h)-1,d>>=-h,h+=a;0<h;o=256*o+t[e+u],u+=f,h-=8);for(s=o&(1<<-h)-1,o>>=-h,h+=r;0<h;s=256*s+t[e+u],u+=f,h-=8);if(0===o)o=1-c;else{if(o===l)return s?NaN:1/0*(d?-1:1);s+=Math.pow(2,r),o-=c}return(d?-1:1)*s*Math.pow(2,o-r)},e.write=function(t,e,i,r,n,o){var s,a,l,c=8*o-n-1,h=(1<<c)-1,u=h>>1,f=23===n?Math.pow(2,-24)-Math.pow(2,-77):0,d=r?0:o-1,p=r?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,s=h):(s=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-s))<1&&(s--,l*=2),2<=(e+=1<=s+u?f/l:f*Math.pow(2,1-u))*l&&(s++,l/=2),h<=s+u?(a=0,s=h):1<=s+u?(a=(e*l-1)*Math.pow(2,n),s+=u):(a=e*Math.pow(2,u-1)*Math.pow(2,n),s=0));8<=n;t[i+d]=255&a,d+=p,a/=256,n-=8);for(s=s<<n|a,c+=n;0<c;t[i+d]=255&s,d+=p,s/=256,c-=8);t[i+d-p]|=128*m}},function(t,e){var i={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==i.call(t)}},function(t,e,i){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n=function(t){this.engine=t,this.tok=this.engine.tokens.names,this.EOF=1,this.debug=!1,this.all_tokens=!0,this.comment_tokens=!1,this.mode_eval=!1,this.asp_tags=!1,this.short_tags=!0,this.php7=!0,this.yyprevcol=0,this.keywords={__class__:this.tok.T_CLASS_C,__trait__:this.tok.T_TRAIT_C,__function__:this.tok.T_FUNC_C,__method__:this.tok.T_METHOD_C,__line__:this.tok.T_LINE,__file__:this.tok.T_FILE,__dir__:this.tok.T_DIR,__namespace__:this.tok.T_NS_C,exit:this.tok.T_EXIT,die:this.tok.T_EXIT,function:this.tok.T_FUNCTION,const:this.tok.T_CONST,return:this.tok.T_RETURN,try:this.tok.T_TRY,catch:this.tok.T_CATCH,finally:this.tok.T_FINALLY,throw:this.tok.T_THROW,if:this.tok.T_IF,elseif:this.tok.T_ELSEIF,endif:this.tok.T_ENDIF,else:this.tok.T_ELSE,while:this.tok.T_WHILE,endwhile:this.tok.T_ENDWHILE,do:this.tok.T_DO,for:this.tok.T_FOR,endfor:this.tok.T_ENDFOR,foreach:this.tok.T_FOREACH,endforeach:this.tok.T_ENDFOREACH,declare:this.tok.T_DECLARE,enddeclare:this.tok.T_ENDDECLARE,instanceof:this.tok.T_INSTANCEOF,as:this.tok.T_AS,switch:this.tok.T_SWITCH,endswitch:this.tok.T_ENDSWITCH,case:this.tok.T_CASE,default:this.tok.T_DEFAULT,break:this.tok.T_BREAK,continue:this.tok.T_CONTINUE,goto:this.tok.T_GOTO,echo:this.tok.T_ECHO,print:this.tok.T_PRINT,class:this.tok.T_CLASS,interface:this.tok.T_INTERFACE,trait:this.tok.T_TRAIT,extends:this.tok.T_EXTENDS,implements:this.tok.T_IMPLEMENTS,new:this.tok.T_NEW,clone:this.tok.T_CLONE,var:this.tok.T_VAR,eval:this.tok.T_EVAL,include:this.tok.T_INCLUDE,include_once:this.tok.T_INCLUDE_ONCE,require:this.tok.T_REQUIRE,require_once:this.tok.T_REQUIRE_ONCE,namespace:this.tok.T_NAMESPACE,use:this.tok.T_USE,insteadof:this.tok.T_INSTEADOF,global:this.tok.T_GLOBAL,isset:this.tok.T_ISSET,empty:this.tok.T_EMPTY,__halt_compiler:this.tok.T_HALT_COMPILER,static:this.tok.T_STATIC,abstract:this.tok.T_ABSTRACT,final:this.tok.T_FINAL,private:this.tok.T_PRIVATE,protected:this.tok.T_PROTECTED,public:this.tok.T_PUBLIC,unset:this.tok.T_UNSET,list:this.tok.T_LIST,array:this.tok.T_ARRAY,callable:this.tok.T_CALLABLE,or:this.tok.T_LOGICAL_OR,and:this.tok.T_LOGICAL_AND,xor:this.tok.T_LOGICAL_XOR},this.castKeywords={int:this.tok.T_INT_CAST,integer:this.tok.T_INT_CAST,real:this.tok.T_DOUBLE_CAST,double:this.tok.T_DOUBLE_CAST,float:this.tok.T_DOUBLE_CAST,string:this.tok.T_STRING_CAST,binary:this.tok.T_STRING_CAST,array:this.tok.T_ARRAY_CAST,object:this.tok.T_OBJECT_CAST,bool:this.tok.T_BOOL_CAST,boolean:this.tok.T_BOOL_CAST,unset:this.tok.T_UNSET_CAST}};n.prototype.setInput=function(t){return this._input=t,this.size=t.length,this.yylineno=1,this.offset=0,this.yyprevcol=0,this.yytext="",this.yylloc={first_offset:0,first_line:1,first_column:0,prev_offset:0,prev_line:1,prev_column:0,last_line:1,last_column:0},this.tokens=[],this.done=this.offset>=this.size,!this.all_tokens&&this.mode_eval?(this.conditionStack=["INITIAL"],this.begin("ST_IN_SCRIPTING")):(this.conditionStack=[],this.begin("INITIAL")),this},n.prototype.input=function(){var t=this._input[this.offset];return t?(this.yytext+=t,this.offset++,"\r"===t&&"\n"===this._input[this.offset]&&(this.yytext+="\n",this.offset++),"\n"===t||"\r"===t?(this.yylloc.last_line=++this.yylineno,this.yyprevcol=this.yylloc.last_column,this.yylloc.last_column=0):this.yylloc.last_column++,t):""},n.prototype.unput=function(t){if(1===t)this.offset--,"\n"===this._input[this.offset]&&"\r"===this._input[this.offset-1]&&(this.offset--,t++),"\r"===this._input[this.offset]||"\n"===this._input[this.offset]?(this.yylloc.last_line--,this.yylineno--,this.yylloc.last_column=this.yyprevcol):this.yylloc.last_column--,this.yytext=this.yytext.substring(0,this.yytext.length-t);else if(0<t)if(this.offset-=t,t<this.yytext.length){this.yytext=this.yytext.substring(0,this.yytext.length-t),this.yylloc.last_line=this.yylloc.first_line,this.yylloc.last_column=this.yyprevcol=this.yylloc.first_column;for(var e=0;e<this.yytext.length;e++){var i=this.yytext[e];"\r"===i?(i=this.yytext[++e],this.yyprevcol=this.yylloc.last_column,this.yylloc.last_line++,this.yylloc.last_column=0,"\n"!==i&&("\r"===i?this.yylloc.last_line++:this.yylloc.last_column++)):"\n"===i?(this.yyprevcol=this.yylloc.last_column,this.yylloc.last_line++,this.yylloc.last_column=0):this.yylloc.last_column++}this.yylineno=this.yylloc.last_line}else this.yytext="",this.yylloc.last_line=this.yylineno=this.yylloc.first_line,this.yylloc.last_column=this.yylloc.first_column;return this},n.prototype.tryMatch=function(t){return t===this.ahead(t.length)},n.prototype.tryMatchCaseless=function(t){return t===this.ahead(t.length).toLowerCase()},n.prototype.ahead=function(t){var e=this._input.substring(this.offset,this.offset+t);return"\r"===e[e.length-1]&&"\n"===this._input[this.offset+t+1]&&(e+="\n"),e},n.prototype.consume=function(t){for(var e=0;e<t;e++){var i=this._input[this.offset];if(!i)break;this.yytext+=i,this.offset++,"\r"===i&&"\n"===this._input[this.offset]&&(this.yytext+="\n",this.offset++,e++),"\n"===i||"\r"===i?(this.yylloc.last_line=++this.yylineno,this.yyprevcol=this.yylloc.last_column,this.yylloc.last_column=0):this.yylloc.last_column++}return this},n.prototype.getState=function(){return{yytext:this.yytext,offset:this.offset,yylineno:this.yylineno,yyprevcol:this.yyprevcol,yylloc:{first_offset:this.yylloc.first_offset,first_line:this.yylloc.first_line,first_column:this.yylloc.first_column,last_line:this.yylloc.last_line,last_column:this.yylloc.last_column}}},n.prototype.setState=function(t){return this.yytext=t.yytext,this.offset=t.offset,this.yylineno=t.yylineno,this.yyprevcol=t.yyprevcol,this.yylloc=t.yylloc,this},n.prototype.appendToken=function(t,e){return this.tokens.push([t,e]),this},n.prototype.lex=function(){this.yylloc.prev_offset=this.offset,this.yylloc.prev_line=this.yylloc.last_line,this.yylloc.prev_column=this.yylloc.last_column;var t=this.next()||this.lex();if(!this.all_tokens){for(;t===this.tok.T_WHITESPACE||!this.comment_tokens&&(t===this.tok.T_COMMENT||t===this.tok.T_DOC_COMMENT)||t===this.tok.T_OPEN_TAG;)t=this.next()||this.lex();if(t==this.tok.T_OPEN_TAG_WITH_ECHO)return this.tok.T_ECHO;if(t===this.tok.T_CLOSE_TAG)return";"}return this.yylloc.prev_offset||(this.yylloc.prev_offset=this.yylloc.first_offset,this.yylloc.prev_line=this.yylloc.first_line,this.yylloc.prev_column=this.yylloc.first_column),t},n.prototype.begin=function(t){if(this.conditionStack.push(t),this.curCondition=t,this.stateCb=this["match"+t],"function"!=typeof this.stateCb)throw new Error('Undefined condition state "'+t+'"');return this},n.prototype.popState=function(){var t=0<this.conditionStack.length-1?this.conditionStack.pop():this.conditionStack[0];if(this.curCondition=this.conditionStack[this.conditionStack.length-1],this.stateCb=this["match"+this.curCondition],"function"!=typeof this.stateCb)throw new Error('Undefined condition state "'+this.curCondition+'"');return t},n.prototype.next=function(){var t=void 0;if(this._input||(this.done=!0),this.yylloc.first_offset=this.offset,this.yylloc.first_line=this.yylloc.last_line,this.yylloc.first_column=this.yylloc.last_column,this.yytext="",this.done)return this.yylloc.prev_offset=this.yylloc.first_offset,this.yylloc.prev_line=this.yylloc.first_line,this.yylloc.prev_column=this.yylloc.first_column,this.EOF;if(t=0<this.tokens.length?(t=this.tokens.shift(),"object"===r(t[1])?this.setState(t[1]):this.consume(t[1]),t[0]):this.stateCb.apply(this,[]),this.offset>=this.size&&0===this.tokens.length&&(this.done=!0),this.debug){var e=t;e="number"==typeof e?this.engine.tokens.values[e]:'"'+e+'"';var i=new Error(e+"\tfrom "+this.yylloc.first_line+","+this.yylloc.first_column+"\t - to "+this.yylloc.last_line+","+this.yylloc.last_column+'\t"'+this.yytext+'"');console.error(i.stack)}return t},[i(19),i(20),i(21),i(23),i(24),i(25),i(26),i(27)].forEach(function(t){for(var e in t)n.prototype[e]=t[e]}),t.exports=n},function(t,e,i){"use strict";t.exports={T_COMMENT:function(){for(;this.offset<this.size;){var t=this.input();if("\n"===t||"\r"===t)return this.tok.T_COMMENT;if("?"===t&&!this.aspTagMode&&">"===this._input[this.offset])return this.unput(1),this.tok.T_COMMENT;if("%"===t&&this.aspTagMode&&">"===this._input[this.offset])return this.unput(1),this.tok.T_COMMENT}return this.tok.T_COMMENT},T_DOC_COMMENT:function(){var t=this.input(),e=this.tok.T_COMMENT;if("*"===t){if(t=this.input(),this.is_WHITESPACE()&&(e=this.tok.T_DOC_COMMENT),"/"===t)return e;this.unput(1)}for(;this.offset<this.size;)if("*"===(t=this.input())&&"/"===this._input[this.offset]){this.input();break}return e}}},function(t,e,i){"use strict";t.exports={nextINITIAL:function(){return 1<this.conditionStack.length&&"INITIAL"===this.conditionStack[this.conditionStack.length-1]?this.popState():this.begin("ST_IN_SCRIPTING"),this},matchINITIAL:function(){for(;this.offset<this.size;){var t=this.input();if("<"==t)if("?"==(t=this.ahead(1))){if(this.tryMatch("?=")){this.unput(1).appendToken(this.tok.T_OPEN_TAG_WITH_ECHO,3).nextINITIAL();break}if(this.tryMatchCaseless("?php")&&(" "===(t=this._input[this.offset+4])||"\t"===t||"\n"===t||"\r"===t)){this.unput(1).appendToken(this.tok.T_OPEN_TAG,6).nextINITIAL();break}if(this.short_tags){this.unput(1).appendToken(this.tok.T_OPEN_TAG,2).nextINITIAL();break}}else if(this.asp_tags&&"%"==t){if(this.tryMatch("%=")){this.aspTagMode=!0,this.unput(1).appendToken(this.tok.T_OPEN_TAG_WITH_ECHO,3).nextINITIAL();break}this.aspTagMode=!0,this.unput(1).appendToken(this.tok.T_OPEN_TAG,2).nextINITIAL();break}}return 0<this.yytext.length&&this.tok.T_INLINE_HTML}}},function(e,t,i){"use strict";(function(t){var i=10,r="2147483648";"x64"==t.arch&&(i=19,r="9223372036854775808"),e.exports={consume_NUM:function(){var t=this.yytext[0],e="."===this.yytext[0];if("0"===t)if("x"===(t=this.input())||"X"===t){if(t=this.input(),this.is_HEX())return this.consume_HNUM();this.unput(t?2:1)}else if("b"===t||"B"===t){if("0"===(t=this.input())||"1"===t)return this.consume_BNUM();this.unput(t?2:1)}else this.is_NUM()||t&&this.unput(1);for(;this.offset<this.size;)if(t=this.input(),!this.is_NUM()){if("."!==t||e){if("e"===t||"E"===t){if("+"===(t=this.input())||"-"===t){if(t=this.input(),this.is_NUM())return this.consume_LNUM(),this.tok.T_DNUMBER;this.unput(t?3:2);break}if(this.is_NUM())return this.consume_LNUM(),this.tok.T_DNUMBER;this.unput(t?2:1);break}t&&this.unput(1);break}e=!0}return e?this.tok.T_DNUMBER:this.yytext.length<i-1?this.tok.T_LNUMBER:this.yytext.length<i||this.yytext.length==i&&this.yytext<r?this.tok.T_LNUMBER:this.tok.T_DNUMBER},consume_HNUM:function(){for(;this.offset<this.size;){var t=this.input();if(!this.is_HEX()){t&&this.unput(1);break}}return this.tok.T_LNUMBER},consume_LNUM:function(){for(;this.offset<this.size;){var t=this.input();if(!this.is_NUM()){t&&this.unput(1);break}}return this.tok.T_LNUMBER},consume_BNUM:function(){for(var t=void 0;this.offset<this.size;)if("0"!==(t=this.input())&&"1"!==t){t&&this.unput(1);break}return this.tok.T_LNUMBER}}}).call(this,i(22))},function(t,e){var i,r,n=t.exports={};function o(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function a(e){if(i===setTimeout)return setTimeout(e,0);if((i===o||!i)&&setTimeout)return i=setTimeout,setTimeout(e,0);try{return i(e,0)}catch(t){try{return i.call(null,e,0)}catch(t){return i.call(this,e,0)}}}!function(){try{i="function"==typeof setTimeout?setTimeout:o}catch(t){i=o}try{r="function"==typeof clearTimeout?clearTimeout:s}catch(t){r=s}}();var l,c=[],h=!1,u=-1;function f(){h&&l&&(h=!1,l.length?c=l.concat(c):u=-1,c.length&&d())}function d(){if(!h){var t=a(f);h=!0;for(var e=c.length;e;){for(l=c,c=[];++u<e;)l&&l[u].run();u=-1,e=c.length}l=null,h=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===s||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(t)}}function p(t,e){this.fun=t,this.array=e}function m(){}n.nextTick=function(t){var e=new Array(arguments.length-1);if(1<arguments.length)for(var i=1;i<arguments.length;i++)e[i-1]=arguments[i];c.push(new p(t,e)),1!==c.length||h||a(d)},p.prototype.run=function(){this.fun.apply(null,this.array)},n.title="browser",n.browser=!0,n.env={},n.argv=[],n.version="",n.versions={},n.on=m,n.addListener=m,n.once=m,n.off=m,n.removeListener=m,n.removeAllListeners=m,n.emit=m,n.prependListener=m,n.prependOnceListener=m,n.listeners=function(t){return[]},n.binding=function(t){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(t){throw new Error("process.chdir is not supported")},n.umask=function(){return 0}},function(t,e,i){"use strict";t.exports={matchST_LOOKING_FOR_PROPERTY:function(){var t=this.input();if("-"===t){if(">"===(t=this.input()))return this.tok.T_OBJECT_OPERATOR;t&&this.unput(1)}else{if(this.is_WHITESPACE())return this.tok.T_WHITESPACE;if(this.is_LABEL_START())return this.consume_LABEL(),this.popState(),this.tok.T_STRING}return this.popState(),t&&this.unput(1),!1},matchST_LOOKING_FOR_VARNAME:function(){var t=this.input();if(this.popState(),this.begin("ST_IN_SCRIPTING"),this.is_LABEL_START()){if(this.consume_LABEL(),"["===(t=this.input())||"}"===t)return this.unput(1),this.tok.T_STRING_VARNAME;this.unput(this.yytext.length)}else t&&this.unput(1);return!1},matchST_VAR_OFFSET:function(){var t=this.input();if(this.is_NUM())return this.consume_NUM(),this.tok.T_NUM_STRING;if("]"===t)return this.popState(),"]";if("$"===t){if(this.input(),this.is_LABEL_START())return this.consume_LABEL(),this.tok.T_VARIABLE;throw new Error("Unexpected terminal")}if(this.is_LABEL_START())return this.consume_LABEL(),this.tok.T_STRING;if(this.is_WHITESPACE()||"\\"===t||"'"===t||"#"===t)return this.tok.T_ENCAPSED_AND_WHITESPACE;if("["===t||"{"===t||"}"===t||'"'===t||"`"===t||this.is_TOKEN())return t;throw new Error("Unexpected terminal")}}},function(t,e,i){"use strict";t.exports={matchST_IN_SCRIPTING:function(){var t=this.input();switch(t){case" ":case"\t":case"\n":case"\r":case"\r\n":return this.T_WHITESPACE();case"#":return this.T_COMMENT();case"/":return"/"===this._input[this.offset]?this.T_COMMENT():"*"===this._input[this.offset]?(this.input(),this.T_DOC_COMMENT()):this.consume_TOKEN();case"'":return this.T_CONSTANT_ENCAPSED_STRING();case'"':return this.ST_DOUBLE_QUOTES();case"`":return this.begin("ST_BACKQUOTE"),"`";case"?":if(this.aspTagMode||!this.tryMatch(">"))return this.consume_TOKEN();this.input();var e=this._input[this.offset];return"\n"!==e&&"\r"!==e||this.input(),1<this.conditionStack.length&&this.begin("INITIAL"),this.tok.T_CLOSE_TAG;case"%":return this.aspTagMode&&">"===this._input[this.offset]?(this.input(),"\n"!==(t=this._input[this.offset])&&"\r"!==t||this.input(),this.aspTagMode=!1,1<this.conditionStack.length&&this.begin("INITIAL"),this.tok.T_CLOSE_TAG):this.consume_TOKEN();case"{":return this.begin("ST_IN_SCRIPTING"),"{";case"}":return 2<this.conditionStack.length&&this.popState(),"}";default:if("."===t){if(t=this.input(),this.is_NUM())return this.consume_NUM();t&&this.unput(1)}if(this.is_NUM())return this.consume_NUM();if(this.is_LABEL_START())return this.consume_LABEL().T_STRING();if(this.is_TOKEN())return this.consume_TOKEN()}throw new Error('Bad terminal sequence "'+t+'" at line '+this.yylineno+" (offset "+this.offset+")")},T_WHITESPACE:function(){for(;this.offset<this.size;){var t=this.input();if(" "!==t&&"\t"!==t&&"\n"!==t&&"\r"!==t){t&&this.unput(1);break}}return this.tok.T_WHITESPACE}}},function(t,e,i){"use strict";t.exports={T_CONSTANT_ENCAPSED_STRING:function(){for(var t=void 0;this.offset<this.size;)if("\\"==(t=this.input()))this.input();else if("'"==t)break;return this.tok.T_CONSTANT_ENCAPSED_STRING},is_HEREDOC:function(){var t=this.offset;if("<"===this._input[this.offset-1]&&"<"===this._input[this.offset]&&"<"===this._input[this.offset+1]){if(this.offset+=3,this.is_TABSPACE())for(;this.offset<this.size&&(this.offset++,this.is_TABSPACE()););var e=this._input[this.offset-1];if("'"===e||'"'===e?this.offset++:e=null,this.is_LABEL_START()){for(var i=this.offset-1;this.offset<this.size&&(this.offset++,this.is_LABEL()););var r=this._input.substring(i,this.offset-1);if((!e||e===this._input[this.offset-1])&&(e&&this.offset++,"\r"===this._input[this.offset-1]||"\n"===this._input[this.offset-1]))return this.heredoc_label=r,i=this.offset-t,this.offset=t,this.consume(i),"'"===e?this.begin("ST_NOWDOC"):this.begin("ST_HEREDOC"),this.tok.T_START_HEREDOC}}return this.offset=t,!1},ST_DOUBLE_QUOTES:function(){for(var t=void 0;this.offset<this.size;)if("\\"==(t=this.input()))this.input();else{if('"'==t)break;if("$"==t){if("{"==(t=this.input())||this.is_LABEL_START()){this.unput(2);break}t&&this.unput(1)}else if("{"==t){if("$"==(t=this.input())){this.unput(2);break}t&&this.unput(1)}}if('"'==t)return this.tok.T_CONSTANT_ENCAPSED_STRING;var e=1;return"b"!==this.yytext[0]&&"B"!==this.yytext[0]||(e=2),2<this.yytext.length&&this.appendToken(this.tok.T_ENCAPSED_AND_WHITESPACE,this.yytext.length-e),this.unput(this.yytext.length-e),this.begin("ST_DOUBLE_QUOTES"),this.yytext},isDOC_MATCH:function(){if(this._input.substring(this.offset-1,this.offset-1+this.heredoc_label.length)===this.heredoc_label){var t=this._input[this.offset-1+this.heredoc_label.length];if("\n"===t||"\r"===t||";"===t)return!0}return!1},matchST_NOWDOC:function(){if(this.isDOC_MATCH())return this.consume(this.heredoc_label.length),this.popState(),this.tok.T_END_HEREDOC;for(var t=this._input[this.offset-1];this.offset<this.size;)if("\n"===t||"\r"===t){if(t=this.input(),this.isDOC_MATCH())return this.unput(1).popState(),this.appendToken(this.tok.T_END_HEREDOC,this.heredoc_label.length),this.tok.T_ENCAPSED_AND_WHITESPACE}else t=this.input();return this.tok.T_ENCAPSED_AND_WHITESPACE},matchST_HEREDOC:function(){var t=this.input();if(this.isDOC_MATCH())return this.consume(this.heredoc_label.length-1),this.popState(),this.tok.T_END_HEREDOC;for(;this.offset<this.size;)if("\\"===t&&"\n"!==(t=this.input())&&"\r"!==t&&(t=this.input()),"\n"===t||"\r"===t){if(t=this.input(),this.isDOC_MATCH())return this.unput(1).popState(),this.appendToken(this.tok.T_END_HEREDOC,this.heredoc_label.length),this.tok.T_ENCAPSED_AND_WHITESPACE}else if("$"===t){if("{"===(t=this.input()))return this.begin("ST_LOOKING_FOR_VARNAME"),2<this.yytext.length?(this.appendToken(this.tok.T_DOLLAR_OPEN_CURLY_BRACES,2),this.unput(2),this.tok.T_ENCAPSED_AND_WHITESPACE):this.tok.T_DOLLAR_OPEN_CURLY_BRACES;if(this.is_LABEL_START()){var e=this.offset,i=this.consume_VARIABLE();return this.yytext.length>this.offset-e+2?(this.appendToken(i,this.offset-e+2),this.unput(this.offset-e+2),this.tok.T_ENCAPSED_AND_WHITESPACE):i}}else if("{"===t){if("$"===(t=this.input()))return this.begin("ST_IN_SCRIPTING"),2<this.yytext.length?(this.appendToken(this.tok.T_CURLY_OPEN,1),this.unput(2),this.tok.T_ENCAPSED_AND_WHITESPACE):(this.unput(1),this.tok.T_CURLY_OPEN)}else t=this.input();return this.tok.T_ENCAPSED_AND_WHITESPACE},consume_VARIABLE:function(){this.consume_LABEL();var t=this.input();if("["==t)return this.unput(1),this.begin("ST_VAR_OFFSET"),this.tok.T_VARIABLE;if("-"===t){if(">"===this.input())return this.input(),this.is_LABEL_START()&&this.begin("ST_LOOKING_FOR_PROPERTY"),this.unput(3),this.tok.T_VARIABLE;this.unput(2)}else t&&this.unput(1);return this.tok.T_VARIABLE},matchST_BACKQUOTE:function(){var t=this.input();if("$"===t){if("{"===(t=this.input()))return this.begin("ST_LOOKING_FOR_VARNAME"),this.tok.T_DOLLAR_OPEN_CURLY_BRACES;if(this.is_LABEL_START())return this.consume_VARIABLE()}else if("{"===t){if("$"===this._input[this.offset])return this.begin("ST_IN_SCRIPTING"),this.tok.T_CURLY_OPEN}else if("`"===t)return this.popState(),"`";for(;this.offset<this.size;){if("\\"===t)this.input();else{if("`"===t){this.unput(1),this.popState(),this.appendToken("`",1);break}if("$"===t){if("{"===(t=this.input()))return this.begin("ST_LOOKING_FOR_VARNAME"),2<this.yytext.length?(this.appendToken(this.tok.T_DOLLAR_OPEN_CURLY_BRACES,2),this.unput(2),this.tok.T_ENCAPSED_AND_WHITESPACE):this.tok.T_DOLLAR_OPEN_CURLY_BRACES;if(this.is_LABEL_START()){var e=this.offset,i=this.consume_VARIABLE();return this.yytext.length>this.offset-e+2?(this.appendToken(i,this.offset-e+2),this.unput(this.offset-e+2),this.tok.T_ENCAPSED_AND_WHITESPACE):i}continue}if("{"===t){if("$"===(t=this.input()))return this.begin("ST_IN_SCRIPTING"),2<this.yytext.length?(this.appendToken(this.tok.T_CURLY_OPEN,1),this.unput(2),this.tok.T_ENCAPSED_AND_WHITESPACE):(this.unput(1),this.tok.T_CURLY_OPEN);continue}}t=this.input()}return this.tok.T_ENCAPSED_AND_WHITESPACE},matchST_DOUBLE_QUOTES:function(){var t=this.input();if("$"===t){if("{"===(t=this.input()))return this.begin("ST_LOOKING_FOR_VARNAME"),this.tok.T_DOLLAR_OPEN_CURLY_BRACES;if(this.is_LABEL_START())return this.consume_VARIABLE()}else if("{"===t){if("$"===this._input[this.offset])return this.begin("ST_IN_SCRIPTING"),this.tok.T_CURLY_OPEN}else if('"'===t)return this.popState(),'"';for(;this.offset<this.size;){if("\\"===t)this.input();else{if('"'===t){this.unput(1),this.popState(),this.appendToken('"',1);break}if("$"===t){if("{"===(t=this.input()))return this.begin("ST_LOOKING_FOR_VARNAME"),2<this.yytext.length?(this.appendToken(this.tok.T_DOLLAR_OPEN_CURLY_BRACES,2),this.unput(2),this.tok.T_ENCAPSED_AND_WHITESPACE):this.tok.T_DOLLAR_OPEN_CURLY_BRACES;if(this.is_LABEL_START()){var e=this.offset,i=this.consume_VARIABLE();return this.yytext.length>this.offset-e+2?(this.appendToken(i,this.offset-e+2),this.unput(this.offset-e+2),this.tok.T_ENCAPSED_AND_WHITESPACE):i}t&&this.unput(1)}else if("{"===t){if("$"===(t=this.input()))return this.begin("ST_IN_SCRIPTING"),2<this.yytext.length?(this.appendToken(this.tok.T_CURLY_OPEN,1),this.unput(2),this.tok.T_ENCAPSED_AND_WHITESPACE):(this.unput(1),this.tok.T_CURLY_OPEN);t&&this.unput(1)}}t=this.input()}return this.tok.T_ENCAPSED_AND_WHITESPACE}}},function(t,e,i){"use strict";t.exports={T_STRING:function(){var t=this.yytext.toLowerCase(),e=this.keywords[t];if("number"!=typeof e)if("yield"===t)e=this.php7&&this.tryMatch(" from")?(this.consume(5),this.tok.T_YIELD_FROM):this.tok.T_YIELD;else if(e=this.tok.T_STRING,"b"===t||"B"===t){var i=this.input(1);if('"'===i)return this.ST_DOUBLE_QUOTES();if("'"===i)return this.T_CONSTANT_ENCAPSED_STRING();i&&this.unput(1)}return e},consume_TOKEN:function(){var t=this._input[this.offset-1],e=this.tokenTerminals[t];return e?e.apply(this,[]):this.yytext},tokenTerminals:{$:function(){return this.offset++,this.is_LABEL_START()?(this.offset--,this.consume_LABEL(),this.tok.T_VARIABLE):(this.offset--,"$")},"-":function(){var t=this._input[this.offset];return">"===t?(this.begin("ST_LOOKING_FOR_PROPERTY").input(),this.tok.T_OBJECT_OPERATOR):"-"===t?(this.input(),this.tok.T_DEC):"="===t?(this.input(),this.tok.T_MINUS_EQUAL):"-"},"\\":function(){return this.tok.T_NS_SEPARATOR},"/":function(){return"="===this._input[this.offset]?(this.input(),this.tok.T_DIV_EQUAL):"/"},":":function(){return":"===this._input[this.offset]?(this.input(),this.tok.T_DOUBLE_COLON):":"},"(":function(){var t=this.offset;if(this.input(),this.is_TABSPACE()&&this.consume_TABSPACE().input(),this.is_LABEL_START()){var e=this.yytext.length;this.consume_LABEL();var i=this.yytext.substring(e-1).toLowerCase(),r=this.castKeywords[i];if("number"==typeof r&&(this.input(),this.is_TABSPACE()&&this.consume_TABSPACE().input(),")"===this._input[this.offset-1]))return r}return this.unput(this.offset-t),"("},"=":function(){var t=this._input[this.offset];return">"===t?(this.input(),this.tok.T_DOUBLE_ARROW):"="===t?"="===this._input[this.offset+1]?(this.consume(2),this.tok.T_IS_IDENTICAL):(this.input(),this.tok.T_IS_EQUAL):"="},"+":function(){var t=this._input[this.offset];return"+"===t?(this.input(),this.tok.T_INC):"="===t?(this.input(),this.tok.T_PLUS_EQUAL):"+"},"!":function(){return"="===this._input[this.offset]?"="===this._input[this.offset+1]?(this.consume(2),this.tok.T_IS_NOT_IDENTICAL):(this.input(),this.tok.T_IS_NOT_EQUAL):"!"},"?":function(){return this.php7&&"?"===this._input[this.offset]?(this.input(),this.tok.T_COALESCE):"?"},"<":function(){var t=this._input[this.offset];return"<"===t?"="===(t=this._input[this.offset+1])?(this.consume(2),this.tok.T_SL_EQUAL):"<"===t&&this.is_HEREDOC()?this.tok.T_START_HEREDOC:(this.input(),this.tok.T_SL):"="===t?(this.input(),this.php7&&">"===this._input[this.offset]?(this.input(),this.tok.T_SPACESHIP):this.tok.T_IS_SMALLER_OR_EQUAL):">"===t?(this.input(),this.tok.T_IS_NOT_EQUAL):"<"},">":function(){var t=this._input[this.offset];return"="===t?(this.input(),this.tok.T_IS_GREATER_OR_EQUAL):">"===t?"="===(t=this._input[this.offset+1])?(this.consume(2),this.tok.T_SR_EQUAL):(this.input(),this.tok.T_SR):">"},"*":function(){var t=this._input[this.offset];return"="===t?(this.input(),this.tok.T_MUL_EQUAL):"*"===t?(this.input(),"="===this._input[this.offset]?(this.input(),this.tok.T_POW_EQUAL):this.tok.T_POW):"*"},".":function(){var t=this._input[this.offset];return"="===t?(this.input(),this.tok.T_CONCAT_EQUAL):"."===t&&"."===this._input[this.offset+1]?(this.consume(2),this.tok.T_ELLIPSIS):"."},"%":function(){return"="===this._input[this.offset]?(this.input(),this.tok.T_MOD_EQUAL):"%"},"&":function(){var t=this._input[this.offset];return"="===t?(this.input(),this.tok.T_AND_EQUAL):"&"===t?(this.input(),this.tok.T_BOOLEAN_AND):"&"},"|":function(){var t=this._input[this.offset];return"="===t?(this.input(),this.tok.T_OR_EQUAL):"|"===t?(this.input(),this.tok.T_BOOLEAN_OR):"|"},"^":function(){return"="===this._input[this.offset]?(this.input(),this.tok.T_XOR_EQUAL):"^"}}}},function(t,e,i){"use strict";t.exports={is_NUM:function(){var t=this._input.charCodeAt(this.offset-1);return 47<t&&t<58},is_LABEL:function(){var t=this._input.charCodeAt(this.offset-1);return 96<t&&t<123||64<t&&t<91||95===t||47<t&&t<58||126<t},is_LABEL_START:function(){var t=this._input.charCodeAt(this.offset-1);return 96<t&&t<123||64<t&&t<91||95===t||126<t},consume_LABEL:function(){for(;this.offset<this.size;){var t=this.input();if(!this.is_LABEL()){t&&this.unput(1);break}}return this},is_TOKEN:function(){var t=this._input[this.offset-1];return-1!==";:,.\\[]()|^&+-/*=%!~$<>?@".indexOf(t)},is_WHITESPACE:function(){var t=this._input[this.offset-1];return" "===t||"\t"===t||"\n"===t||"\r"===t},is_TABSPACE:function(){var t=this._input[this.offset-1];return" "===t||"\t"===t},consume_TABSPACE:function(){for(;this.offset<this.size;){var t=this.input();if(!this.is_TABSPACE()){t&&this.unput(1);break}}return this},is_HEX:function(){var t=this._input.charCodeAt(this.offset-1);return 47<t&&t<58||64<t&&t<71||96<t&&t<103}}},function(t,e,i){"use strict";function o(t){return"."!=t&&","!=t&&!isNaN(parseFloat(t))&&isFinite(t)}var r=function(t,e){this.lexer=t,this.ast=e,this.tok=t.tok,this.EOF=t.EOF,this.token=null,this.prev=null,this.debug=!1,this.php7=!0,this.extractDoc=!1,this.extractTokens=!1,this.suppressErrors=!1;var i=function(t){return[t,null]};this.entries={IDENTIFIER:new Map([this.tok.T_ABSTRACT,this.tok.T_ARRAY,this.tok.T_AS,this.tok.T_BREAK,this.tok.T_CALLABLE,this.tok.T_CASE,this.tok.T_CATCH,this.tok.T_CLASS,this.tok.T_CLASS_C,this.tok.T_CLONE,this.tok.T_CONST,this.tok.T_CONTINUE,this.tok.T_DECLARE,this.tok.T_DEFAULT,this.tok.T_DIR,this.tok.T_DO,this.tok.T_ECHO,this.tok.T_ELSE,this.tok.T_ELSEIF,this.tok.T_EMPTY,this.tok.T_ENDDECLARE,this.tok.T_ENDFOR,this.tok.T_ENDFOREACH,this.tok.T_ENDIF,this.tok.T_ENDSWITCH,this.tok.T_ENDWHILE,this.tok.T_EVAL,this.tok.T_EXIT,this.tok.T_EXTENDS,this.tok.T_FILE,this.tok.T_FINAL,this.tok.T_FINALLY,this.tok.T_FUNC_C,this.tok.T_FOR,this.tok.T_FOREACH,this.tok.T_FUNCTION,this.tok.T_GLOBAL,this.tok.T_GOTO,this.tok.T_IF,this.tok.T_IMPLEMENTS,this.tok.T_INCLUDE,this.tok.T_INCLUDE_ONCE,this.tok.T_INSTANCEOF,this.tok.T_INSTEADOF,this.tok.T_INTERFACE,this.tok.T_ISSET,this.tok.T_LINE,this.tok.T_LIST,this.tok.T_LOGICAL_AND,this.tok.T_LOGICAL_OR,this.tok.T_LOGICAL_XOR,this.tok.T_METHOD_C,this.tok.T_NAMESPACE,this.tok.T_NEW,this.tok.T_NS_C,this.tok.T_PRINT,this.tok.T_PRIVATE,this.tok.T_PROTECTED,this.tok.T_PUBLIC,this.tok.T_REQUIRE,this.tok.T_REQUIRE_ONCE,this.tok.T_RETURN,this.tok.T_STATIC,this.tok.T_SWITCH,this.tok.T_THROW,this.tok.T_TRAIT,this.tok.T_TRY,this.tok.T_UNSET,this.tok.T_USE,this.tok.T_VAR,this.tok.T_WHILE,this.tok.T_YIELD].map(i)),VARIABLE:new Map([this.tok.T_VARIABLE,"$","&",this.tok.T_NS_SEPARATOR,this.tok.T_STRING,this.tok.T_NAMESPACE,this.tok.T_STATIC].map(i)),SCALAR:new Map([this.tok.T_CONSTANT_ENCAPSED_STRING,this.tok.T_START_HEREDOC,this.tok.T_LNUMBER,this.tok.T_DNUMBER,this.tok.T_ARRAY,"[",this.tok.T_CLASS_C,this.tok.T_TRAIT_C,this.tok.T_FUNC_C,this.tok.T_METHOD_C,this.tok.T_LINE,this.tok.T_FILE,this.tok.T_DIR,this.tok.T_NS_C,'"','b"','B"',"-",this.tok.T_NS_SEPARATOR].map(i)),T_MAGIC_CONST:new Map([this.tok.T_CLASS_C,this.tok.T_TRAIT_C,this.tok.T_FUNC_C,this.tok.T_METHOD_C,this.tok.T_LINE,this.tok.T_FILE,this.tok.T_DIR,this.tok.T_NS_C].map(i)),T_MEMBER_FLAGS:new Map([this.tok.T_PUBLIC,this.tok.T_PRIVATE,this.tok.T_PROTECTED,this.tok.T_STATIC,this.tok.T_ABSTRACT,this.tok.T_FINAL].map(i)),EOS:new Map([";",this.EOF,this.tok.T_INLINE_HTML].map(i)),EXPR:new Map(["@","-","+","!","~","(","`",this.tok.T_LIST,this.tok.T_CLONE,this.tok.T_INC,this.tok.T_DEC,this.tok.T_NEW,this.tok.T_ISSET,this.tok.T_EMPTY,this.tok.T_INCLUDE,this.tok.T_INCLUDE_ONCE,this.tok.T_REQUIRE,this.tok.T_REQUIRE_ONCE,this.tok.T_EVAL,this.tok.T_INT_CAST,this.tok.T_DOUBLE_CAST,this.tok.T_STRING_CAST,this.tok.T_ARRAY_CAST,this.tok.T_OBJECT_CAST,this.tok.T_BOOL_CAST,this.tok.T_UNSET_CAST,this.tok.T_EXIT,this.tok.T_PRINT,this.tok.T_YIELD,this.tok.T_STATIC,this.tok.T_FUNCTION,this.tok.T_VARIABLE,"$",this.tok.T_NS_SEPARATOR,this.tok.T_STRING,this.tok.T_STRING,this.tok.T_CONSTANT_ENCAPSED_STRING,this.tok.T_START_HEREDOC,this.tok.T_LNUMBER,this.tok.T_DNUMBER,this.tok.T_ARRAY,"[",this.tok.T_CLASS_C,this.tok.T_TRAIT_C,this.tok.T_FUNC_C,this.tok.T_METHOD_C,this.tok.T_LINE,this.tok.T_FILE,this.tok.T_DIR,this.tok.T_NS_C].map(i))}};r.prototype.getTokenName=function(t){return o(t)?t==this.EOF?"the end of file (EOF)":this.lexer.engine.tokens.values[t]:"'"+t+"'"},r.prototype.parse=function(t,e){this._errors=[],this.filename=e||"eval",this.currentNamespace=[""],this.extractDoc?this._docs=[]:this._docs=null,this.extractTokens?this._tokens=[]:this._tokens=null,this._docIndex=0,this.lexer.setInput(t),this.lexer.all_tokens=this.extractTokens,this.lexer.comment_tokens=this.extractDoc,this.length=this.lexer._input.length,this.innerList=!1,this.innerListForm=!1;var i=this.node("program"),r=[];for(this.next();this.token!=this.EOF;){var n=this.read_start();null!=n&&(Array.isArray(n)?r=r.concat(n):r.push(n))}return this.prev=[this.lexer.yylloc.last_line,this.lexer.yylloc.last_column,this.lexer.offset],i(r,this._errors,this._docs,this._tokens)},r.prototype.raiseError=function(t,e,i,r){if(t+=" on line "+this.lexer.yylloc.first_line,!this.suppressErrors){var n=new SyntaxError(t,this.filename,this.lexer.yylloc.first_line);throw n.lineNumber=this.lexer.yylloc.first_line,n.fileName=this.filename,n.columnNumber=this.lexer.yylloc.first_column,n}var o=this.ast.prepare("error",null,this)(t,r,this.lexer.yylloc.first_line,i);return this._errors.push(o),o},r.prototype.error=function(t){var e="Parse Error : syntax error",i=this.getTokenName(this.token),r="";if(this.token!==this.EOF){if(o(this.token)){var n=this.text();10<n.length&&(n=n.substring(0,7)+"..."),i="'"+n+"' ("+i+")"}e+=", unexpected "+i}return t&&!Array.isArray(t)&&((o(t)||1===t.length)&&(r=", expecting "+this.getTokenName(t)),e+=r),this.raiseError(e,r,t,i)},r.prototype.node=function(t){if(this.extractDoc){var e=null;this._docIndex<this._docs.length&&(e=this._docs.slice(this._docIndex),this._docIndex=this._docs.length,this.debug&&(console.log(new Error("Append docs on "+t)),console.log(e)));var i=this.ast.prepare(t,e,this);return i.preBuild=function(){this._docIndex<this._docs.length&&(i.setTrailingComments(this._docs.slice(this._docIndex)),this._docIndex=this._docs.length)}.bind(this),i}return this.ast.prepare(t,null,this)},r.prototype.expectEndOfStatement=function(t){if(";"===this.token)t&&";"===this.lexer.yytext&&t.includeToken(this);else if(this.token!==this.tok.T_INLINE_HTML&&this.token!==this.EOF)return this.error(";"),!1;return this.next(),!0};var s=["parser.next","parser.node","parser.showlog"];r.prototype.showlog=function(){for(var t=(new Error).stack.split("\n"),e=void 0,i=2;i<t.length;i++){e=t[i].trim();for(var r=!1,n=0;n<s.length;n++)if(e.substring(3,3+s[n].length)===s[n]){r=!0;break}if(!r)break}return console.log("Line "+this.lexer.yylloc.first_line+" : "+this.getTokenName(this.token)+">"+this.lexer.yytext+"< @--\x3e"+e),this},r.prototype.expect=function(t){if(Array.isArray(t)){if(-1===t.indexOf(this.token))return this.error(t),!1}else if(this.token!=t)return this.error(t),!1;return!0},r.prototype.text=function(){return this.lexer.yytext},r.prototype.next=function(){if(";"===this.token&&";"!==this.lexer.yytext||(this.prev=[this.lexer.yylloc.last_line,this.lexer.yylloc.last_column,this.lexer.offset]),this.lex(),this.debug&&this.showlog(),this.extractDoc)for(;this.token===this.tok.T_COMMENT||this.token===this.tok.T_DOC_COMMENT;)this.token===this.tok.T_COMMENT?this._docs.push(this.read_comment()):this._docs.push(this.read_doc_comment());return this},r.prototype.lex=function(){if(this.extractTokens)do{if(this.token=this.lexer.lex()||this.EOF,this.token===this.EOF)return this;var t=this.lexer.yytext;if(t=this.lexer.engine.tokens.values.hasOwnProperty(this.token)?[this.lexer.engine.tokens.values[this.token],t,this.lexer.yylloc.first_line,this.lexer.yylloc.first_offset,this.lexer.offset]:[null,t,this.lexer.yylloc.first_line,this.lexer.yylloc.first_offset,this.lexer.offset],this._tokens.push(t),this.token===this.tok.T_CLOSE_TAG)return this.token=";",this;if(this.token===this.tok.T_OPEN_TAG_WITH_ECHO)return this.token=this.tok.T_ECHO,this}while(this.token===this.tok.T_WHITESPACE||!this.extractDoc&&(this.token===this.tok.T_COMMENT||this.token===this.tok.T_DOC_COMMENT)||this.token===this.tok.T_OPEN_TAG);else this.token=this.lexer.lex()||this.EOF;return this},r.prototype.is=function(t){return Array.isArray(t)?-1!==t.indexOf(this.token):this.entries[t].has(this.token)},[i(29),i(30),i(31),i(32),i(33),i(34),i(35),i(36),i(37),i(38),i(39),i(40),i(41),i(42),i(43)].forEach(function(t){for(var e in t){if(r.prototype.hasOwnProperty(e))throw new Error("Function "+e+" is already defined - collision");r.prototype[e]=t[e]}}),t.exports=r},function(t,e,i){"use strict";t.exports={read_array:function(){var t=null,e=!1,i=this.node("array");t=this.token===this.tok.T_ARRAY?(this.next().expect("("),")"):(e=!0,"]");var r=[];return this.next().token!==t&&(r=this.read_array_pair_list(e)),this.expect(t),this.next(),i(e,r)},read_array_pair_list:function(t){var e=this;return this.read_list(function(){return e.read_array_pair(t)},",",!0)},read_array_pair:function(t){if(","===this.token||!t&&")"===this.token||t&&"]"===this.token)return null;if("&"===this.token)return this.next().read_variable(!0,!1,!0);var e=this.node("entry"),i=this.read_expr();return this.token===this.tok.T_DOUBLE_ARROW?"&"===this.next().token?e(i,this.next().read_variable(!0,!1,!0)):e(i,this.read_expr()):i},read_dim_offset:function(){return"]"!=this.token&&this.read_expr()}}},function(t,e,i){"use strict";t.exports={read_class:function(){var t=this.node("class"),e=this.read_class_scope();if(this.token!==this.tok.T_CLASS)return this.error(this.tok.T_CLASS),this.next(),null;this.next().expect(this.tok.T_STRING);var i=this.node("identifier"),r=this.text();this.next(),i=i(r);var n=null;this.token==this.tok.T_EXTENDS&&(n=this.next().read_namespace_name());var o=null;return this.token==this.tok.T_IMPLEMENTS&&(o=this.next().read_name_list()),this.expect("{"),t(i,n,o,this.next().read_class_body(),e)},read_class_scope:function(){var t=this.token;return t==this.tok.T_FINAL?(this.next(),[0,0,2]):t==this.tok.T_ABSTRACT?(this.next(),[0,0,1]):[0,0,0]},read_class_body:function(){for(var t=[];this.token!==this.EOF&&"}"!==this.token;)if(this.token!==this.tok.T_COMMENT)if(this.token!==this.tok.T_DOC_COMMENT)if(this.token!==this.tok.T_USE){var e=this.read_member_flags(!1);if(this.token!==this.tok.T_CONST)if(this.token===this.tok.T_VAR&&(this.next().expect(this.tok.T_VARIABLE),e[0]=null,e[1]=0),this.token===this.tok.T_VARIABLE){var i=this.read_variable_list(e);this.expect(";"),this.next(),t=t.concat(i)}else this.token===this.tok.T_FUNCTION?t.push(this.read_function(!1,e)):(this.error([this.tok.T_CONST,this.tok.T_VARIABLE,this.tok.T_FUNCTION]),this.next());else{var r=this.read_constant_list(e);this.expect(";")&&this.next(),t=t.concat(r)}}else t=t.concat(this.read_trait_use_statement());else t.push(this.read_doc_comment());else t.push(this.read_comment());return this.expect("}"),this.next(),t},read_variable_list:function(i){return this.read_list(function(){var t=this.node("property");this.expect(this.tok.T_VARIABLE);var e=this.text().substring(1);return this.next(),";"===this.token||","===this.token?t(e,null,i):"="===this.token?t(e,this.next().read_expr(),i):(this.expect([",",";","="]),t(e,null,i))},",")},read_constant_list:function(t){return this.expect(this.tok.T_CONST)&&this.next(),this.node("classconstant")(null,this.read_list(function(){var t=this.node("constant"),e=null,i=null;return this.token===this.tok.T_STRING||this.php7&&this.is("IDENTIFIER")?(e=this.text(),this.next()):this.expect("IDENTIFIER"),this.expect("=")&&(i=this.next().read_expr()),t(e,i)},","),t)},read_member_flags:function(t){var e=[-1,-1,-1];if(this.is("T_MEMBER_FLAGS")){var i=0,r=0;do{switch(this.token){case this.tok.T_PUBLIC:r=i=0;break;case this.tok.T_PROTECTED:i=0,r=1;break;case this.tok.T_PRIVATE:i=0,r=2;break;case this.tok.T_STATIC:r=i=1;break;case this.tok.T_ABSTRACT:i=2,r=1;break;case this.tok.T_FINAL:r=i=2}t&&(0==i&&2==r?(this.expect([this.tok.T_PUBLIC,this.tok.T_PROTECTED]),r=-1):2==i&&1==r&&(this.error(),r=-1)),-1!==e[i]?this.error():-1!==r&&(e[i]=r)}while(this.next().is("T_MEMBER_FLAGS"))}return-1==e[1]&&(e[1]=0),-1==e[2]&&(e[2]=0),e},read_interface:function(){var t=this.node("interface");if(this.token!==this.tok.T_INTERFACE)return this.error(this.tok.T_INTERFACE),this.next(),null;this.next().expect(this.tok.T_STRING);var e=this.node("identifier"),i=this.text();this.next(),e=e(i);var r=null;return this.token===this.tok.T_EXTENDS&&(r=this.next().read_name_list()),this.expect("{"),t(e,r,this.next().read_interface_body())},read_interface_body:function(){for(var t=[];this.token!==this.EOF&&"}"!==this.token;)if(this.token!==this.tok.T_COMMENT)if(this.token!==this.tok.T_DOC_COMMENT){var e=this.read_member_flags(!0);if(this.token==this.tok.T_CONST){var i=this.read_constant_list(e);this.expect(";")&&this.next(),t=t.concat(i)}else if(this.token===this.tok.T_FUNCTION){var r=this.read_function_declaration(2,e);r.parseFlags(e),t.push(r),this.expect(";")&&this.next()}else this.error([this.tok.T_CONST,this.tok.T_FUNCTION]),this.next()}else t.push(this.read_doc_comment());else t.push(this.read_comment());return this.expect("}")&&this.next(),t},read_trait:function(){var t=this.node("trait");if(this.token!==this.tok.T_TRAIT)return this.error(this.tok.T_TRAIT),this.next(),null;this.next().expect(this.tok.T_STRING);var e=this.node("identifier"),i=this.text();return this.next(),e=e(i),this.expect("{"),t(e,this.next().read_class_body())},read_trait_use_statement:function(){var t=this.node("traituse");this.expect(this.tok.T_USE)&&this.next();for(var e=[this.read_namespace_name()],i=null;","===this.token;)e.push(this.next().read_namespace_name());if("{"===this.token){for(i=[];this.next().token!==this.EOF&&"}"!==this.token;)i.push(this.read_trait_use_alias()),this.expect(";");this.expect("}")&&this.next()}else this.expect(";")&&this.next();return t(e,i)},read_trait_use_alias:function(){var t=this.node(),e=null,i=void 0;if(this.is("IDENTIFIER")?(i=this.text(),this.next()):(i=this.read_namespace_name(),this.token===this.tok.T_DOUBLE_COLON?(this.next(),this.token===this.tok.T_STRING||this.php7&&this.is("IDENTIFIER")?(e=i,i=this.text(),this.next()):this.expect(this.tok.T_STRING)):i=i.name),this.token===this.tok.T_INSTEADOF)return t("traitprecedence",e,i,this.next().read_name_list());if(this.token!==this.tok.T_AS)return this.expect([this.tok.T_AS,this.tok.T_INSTEADOF]),t("traitalias",e,i,null,null);var r=null,n=null;return this.next().is("T_MEMBER_FLAGS")&&(r=this.read_member_flags()),this.token===this.tok.T_STRING||this.php7&&this.is("IDENTIFIER")?(n=this.text(),this.next()):!1===r&&this.expect(this.tok.T_STRING),t("traitalias",e,i,n,r)}}},function(t,e,i){"use strict";t.exports={read_comment:function(){var t=this.text(),e=this.ast.prepare("/*"===t.substring(0,2)?"commentblock":"commentline",null,this),i=this.prev;return this.prev=[this.lexer.yylloc.last_line,this.lexer.yylloc.last_column,this.lexer.offset],this.lex(),e=e(t),this.prev=i,e},read_doc_comment:function(){var t=this.ast.prepare("commentblock",null,this),e=this.text(),i=this.prev;return this.prev=[this.lexer.yylloc.last_line,this.lexer.yylloc.last_column,this.lexer.offset],this.lex(),t=t(e),this.prev=i,t}}},function(t,e,i){"use strict";t.exports={read_expr:function(t){var e=this.node();if(t||(t=this.read_expr_item()),"|"===this.token)return e("bin","|",t,this.next().read_expr());if("&"===this.token)return e("bin","&",t,this.next().read_expr());if("^"===this.token)return e("bin","^",t,this.next().read_expr());if("."===this.token)return e("bin",".",t,this.next().read_expr());if("+"===this.token)return e("bin","+",t,this.next().read_expr());if("-"===this.token)return e("bin","-",t,this.next().read_expr());if("*"===this.token)return e("bin","*",t,this.next().read_expr());if("/"===this.token)return e("bin","/",t,this.next().read_expr());if("%"===this.token)return e("bin","%",t,this.next().read_expr());if(this.token===this.tok.T_POW)return e("bin","**",t,this.next().read_expr());if(this.token===this.tok.T_SL)return e("bin","<<",t,this.next().read_expr());if(this.token===this.tok.T_SR)return e("bin",">>",t,this.next().read_expr());if(this.token===this.tok.T_BOOLEAN_OR)return e("bin","||",t,this.next().read_expr());if(this.token===this.tok.T_LOGICAL_OR)return e("bin","or",t,this.next().read_expr());if(this.token===this.tok.T_BOOLEAN_AND)return e("bin","&&",t,this.next().read_expr());if(this.token===this.tok.T_LOGICAL_AND)return e("bin","and",t,this.next().read_expr());if(this.token===this.tok.T_LOGICAL_XOR)return e("bin","xor",t,this.next().read_expr());if(this.token===this.tok.T_IS_IDENTICAL)return e("bin","===",t,this.next().read_expr());if(this.token===this.tok.T_IS_NOT_IDENTICAL)return e("bin","!==",t,this.next().read_expr());if(this.token===this.tok.T_IS_EQUAL)return e("bin","==",t,this.next().read_expr());if(this.token===this.tok.T_IS_NOT_EQUAL)return e("bin","!=",t,this.next().read_expr());if("<"===this.token)return e("bin","<",t,this.next().read_expr());if(">"===this.token)return e("bin",">",t,this.next().read_expr());if(this.token===this.tok.T_IS_SMALLER_OR_EQUAL)return e("bin","<=",t,this.next().read_expr());if(this.token===this.tok.T_IS_GREATER_OR_EQUAL)return e("bin",">=",t,this.next().read_expr());if(this.token===this.tok.T_SPACESHIP)return e("bin","<=>",t,this.next().read_expr());if(this.token===this.tok.T_INSTANCEOF&&(t=e("bin","instanceof",t,this.next().read_class_name_reference()),";"!==this.token&&this.token!==this.tok.T_INLINE_HTML&&this.token!==this.EOF&&(t=this.read_expr(t))),this.token===this.tok.T_COALESCE)return e("bin","??",t,this.next().read_expr());if("?"!==this.token)return e.destroy(t),t;var i=null;return":"!==this.next().token&&(i=this.read_expr()),this.expect(":")&&this.next(),e("retif",t,i,this.read_expr())},read_expr_cast:function(t){return this.node("cast")(t,this.text(),this.next().read_expr())},read_expr_item:function(){var t=void 0,e=void 0;if("@"===this.token)return this.node("silent")(this.next().read_expr());if("+"===this.token)return this.node("unary")("+",this.next().read_expr());if("-"===this.token)return this.node("unary")("-",this.next().read_expr());if("!"===this.token)return this.node("unary")("!",this.next().read_expr());if("~"===this.token)return this.node("unary")("~",this.next().read_expr());if("("===this.token)return(e=this.next().read_expr()).parenthesizedExpression=!0,this.expect(")")&&this.next(),this.handleDereferencable(e);if("`"===this.token)return this.read_encapsed_string("`");if(this.token===this.tok.T_LIST){var i=null,r=this.innerList;t=this.node("list"),r||(i=this.node("assign")),this.next().expect("(")&&this.next(),this.innerList||(this.innerList=!0);var n=this.read_array_pair_list(!1);this.expect(")")&&this.next();for(var o=!1,s=0;s<n.length;s++)if(null!==n[s]){o=!0;break}return o||this.raiseError("Fatal Error : Cannot use empty list on line "+this.lexer.yylloc.first_line),r?t(n,!1):(this.innerList=!1,this.expect("=")?i(t(n,!1),this.next().read_expr(),"="):t(n,!1))}if(this.token===this.tok.T_CLONE)return this.node("clone")(this.next().read_expr());switch(this.token){case this.tok.T_INC:return this.node("pre")("+",this.next().read_variable(!1,!1,!1));case this.tok.T_DEC:return this.node("pre")("-",this.next().read_variable(!1,!1,!1));case this.tok.T_NEW:return this.read_new_expr();case this.tok.T_ISSET:t=this.node("isset"),this.next().expect("(")&&this.next();var a=this.read_list(this.read_expr,",");return this.expect(")")&&this.next(),t(a);case this.tok.T_EMPTY:t=this.node("empty"),this.next().expect("(")&&this.next();var l=this.read_expr();return this.expect(")")&&this.next(),t(l);case this.tok.T_INCLUDE:return this.node("include")(!1,!1,this.next().read_expr());case this.tok.T_INCLUDE_ONCE:return this.node("include")(!0,!1,this.next().read_expr());case this.tok.T_REQUIRE:return this.node("include")(!1,!0,this.next().read_expr());case this.tok.T_REQUIRE_ONCE:return this.node("include")(!0,!0,this.next().read_expr());case this.tok.T_EVAL:return t=this.node("eval"),this.next().expect("(")&&this.next(),e=this.read_expr(),this.expect(")")&&this.next(),t(e);case this.tok.T_INT_CAST:return this.read_expr_cast("int");case this.tok.T_DOUBLE_CAST:return this.read_expr_cast("float");case this.tok.T_STRING_CAST:return this.read_expr_cast(-1!==this.text().indexOf("binary")?"binary":"string");case this.tok.T_ARRAY_CAST:return this.read_expr_cast("array");case this.tok.T_OBJECT_CAST:return this.read_expr_cast("object");case this.tok.T_BOOL_CAST:return this.read_expr_cast("bool");case this.tok.T_UNSET_CAST:return this.read_expr_cast("unset");case this.tok.T_EXIT:var c="die"===this.lexer.yytext.toLowerCase();t=this.node("exit");var h=null;return"("===this.next().token&&(")"!==this.next().token?(h=this.read_expr(),this.expect(")")&&this.next()):this.next()),t(h,c);case this.tok.T_PRINT:return this.node("print")(this.next().read_expr());case this.tok.T_YIELD:var u=null,f=null;return t=this.node("yield"),this.next().is("EXPR")&&(u=this.read_expr(),this.token===this.tok.T_DOUBLE_ARROW&&(f=u,u=this.next().read_expr())),t(u,f);case this.tok.T_YIELD_FROM:return(t=this.node("yieldfrom"))(e=this.next().read_expr());case this.tok.T_FUNCTION:return this.read_function(!0);case this.tok.T_STATIC:var d=[this.token,this.lexer.getState()];if(this.next().token===this.tok.T_FUNCTION)return this.read_function(!0,[0,1,0]);this.lexer.tokens.push(d),this.next()}if(this.is("VARIABLE")){t=this.node();var p="identifier"===(e=this.read_variable(!1,!1,!1)).kind||"staticlookup"===e.kind&&"identifier"===e.offset.kind;switch(this.token){case"=":p&&this.error("VARIABLE");return t("assign",e,"&"==this.next().token?this.next().token===this.tok.T_NEW?this.read_new_expr():this.read_variable(!1,!1,!0):this.read_expr(),"=");case this.tok.T_PLUS_EQUAL:return p&&this.error("VARIABLE"),t("assign",e,this.next().read_expr(),"+=");case this.tok.T_MINUS_EQUAL:return p&&this.error("VARIABLE"),t("assign",e,this.next().read_expr(),"-=");case this.tok.T_MUL_EQUAL:return p&&this.error("VARIABLE"),t("assign",e,this.next().read_expr(),"*=");case this.tok.T_POW_EQUAL:return p&&this.error("VARIABLE"),t("assign",e,this.next().read_expr(),"**=");case this.tok.T_DIV_EQUAL:return p&&this.error("VARIABLE"),t("assign",e,this.next().read_expr(),"/=");case this.tok.T_CONCAT_EQUAL:return p&&this.error("VARIABLE"),t("assign",e,this.next().read_expr(),".=");case this.tok.T_MOD_EQUAL:return p&&this.error("VARIABLE"),t("assign",e,this.next().read_expr(),"%=");case this.tok.T_AND_EQUAL:return p&&this.error("VARIABLE"),t("assign",e,this.next().read_expr(),"&=");case this.tok.T_OR_EQUAL:return p&&this.error("VARIABLE"),t("assign",e,this.next().read_expr(),"|=");case this.tok.T_XOR_EQUAL:return p&&this.error("VARIABLE"),t("assign",e,this.next().read_expr(),"^=");case this.tok.T_SL_EQUAL:return p&&this.error("VARIABLE"),t("assign",e,this.next().read_expr(),"<<=");case this.tok.T_SR_EQUAL:return p&&this.error("VARIABLE"),t("assign",e,this.next().read_expr(),">>=");case this.tok.T_INC:return p&&this.error("VARIABLE"),this.next(),t("post","+",e);case this.tok.T_DEC:return p&&this.error("VARIABLE"),this.next(),t("post","-",e);default:t.destroy(e)}}else{if(this.is("SCALAR")){if(t=this.node(),"array"===(e=this.read_scalar()).kind&&e.shortForm&&"="===this.token){var m=this.node("list")(e.items,!0);return e.loc&&(m.loc=e.loc),t("assign",m,this.next().read_expr(),"=")}return t.destroy(e),this.handleDereferencable(e)}this.error("EXPR"),this.next()}return e},read_new_expr:function(){var t=this.node("new");this.expect(this.tok.T_NEW)&&this.next();var e=[];if(this.token===this.tok.T_CLASS){var i=this.node("class"),r=null,n=null,o=null;return"("===this.next().token&&(e=this.read_function_argument_list()),this.token==this.tok.T_EXTENDS&&(r=this.next().read_namespace_name()),this.token==this.tok.T_IMPLEMENTS&&(n=this.next().read_name_list()),this.expect("{")&&(o=this.next().read_class_body()),t(i(null,r,n,o,[0,0,0]),e)}var s=this.read_new_class_name();return"("===this.token&&(e=this.read_function_argument_list()),t(s,e)},read_new_class_name:function(){if(this.token===this.tok.T_NS_SEPARATOR||this.token===this.tok.T_STRING||this.token===this.tok.T_NAMESPACE){var t=this.read_namespace_name(!0);return this.token===this.tok.T_DOUBLE_COLON&&(t=this.read_static_getter(t)),t}if(this.is("VARIABLE"))return this.read_variable(!0,!1,!1);this.expect([this.tok.T_STRING,"VARIABLE"])},handleDereferencable:function(t){for(;this.token!==this.EOF;)if(this.token===this.tok.T_OBJECT_OPERATOR||this.token===this.tok.T_DOUBLE_COLON)t=this.recursive_variable_chain_scan(t,!1,!1,!0);else if(this.token===this.tok.T_CURLY_OPEN||"["===this.token)t=this.read_dereferencable(t);else{if("("!==this.token)return t;t=this.node("call")(t,this.read_function_argument_list())}return t}}},function(t,e,i){"use strict";t.exports={is_reference:function(){return"&"==this.token&&(this.next(),!0)},is_variadic:function(){return this.token===this.tok.T_ELLIPSIS&&(this.next(),!0)},read_function:function(t,e){var i=this.read_function_declaration(t?1:e?2:0,e&&1===e[1]);return e&&1==e[2]?(i.parseFlags(e),this.expect(";")&&this.next()):(this.expect("{")&&(i.body=this.read_code_block(!1),i.loc&&i.body.loc&&(i.loc.end=i.body.loc.end)),!t&&e&&i.parseFlags(e)),i},read_function_declaration:function(t,e){var i="function";1===t?i="closure":2===t&&(i="method");var r=this.node(i);this.expect(this.tok.T_FUNCTION)&&this.next();var n=this.is_reference(),o=!1,s=[],a=null,l=!1;if(1!==t){var c=this.node("identifier");2===t?this.token===this.tok.T_STRING||this.php7&&this.is("IDENTIFIER")?(o=this.text(),this.next()):this.error("IDENTIFIER"):(this.expect(this.tok.T_STRING)&&(o=this.text()),this.next()),o=c(o)}this.expect("(")&&this.next();var h=this.read_parameter_list();return this.expect(")")&&this.next(),1===t&&this.token===this.tok.T_USE&&(this.next().expect("(")&&this.next(),s=this.read_list(this.read_lexical_var,","),this.expect(")")&&this.next()),":"===this.token&&("?"===this.next().token&&(l=!0,this.next()),a=this.read_type()),1===t?r(h,n,s,a,l,e):r(o,h,n,a,l)},read_lexical_var:function(){var t=this.node("variable"),e=!1;"&"===this.token&&(e=!0,this.next()),this.expect(this.tok.T_VARIABLE);var i=this.text().substring(1);return this.next(),t(i,e,!1)},read_parameter_list:function(){var t=[];if(")"!=this.token)for(;this.token!=this.EOF;){if(t.push(this.read_parameter()),","!=this.token){if(")"==this.token)break;this.error([",",")"]);break}this.next()}return t},read_parameter:function(){var t,e=this.node("parameter"),i=null,r=null,n=!1;"?"===this.token&&(this.next(),n=!0),t=this.read_type(),n&&!t&&this.raiseError("Expecting a type definition combined with nullable operator");var o=this.is_reference(),s=this.is_variadic();return this.expect(this.tok.T_VARIABLE)&&(i=this.text().substring(1),this.next()),"="==this.token&&(r=this.next().read_expr()),e(i,t,r,o,s,n)},read_function_argument_list:function(){var t=[],e=!1;if(this.expect("(")&&this.next(),")"!==this.token)for(;this.token!=this.EOF;){var i=this.read_argument_list();if(i&&(t.push(i),"variadic"===i.kind?e=!0:e&&this.raiseError("Unexpected argument after a variadic argument")),","!==this.token)break;this.next()}return this.expect(")")&&this.next(),t},read_argument_list:function(){return this.token===this.tok.T_ELLIPSIS?this.node("variadic")(this.next().read_expr()):this.read_expr()},read_type:function(){var t=this.node();if(this.token===this.tok.T_ARRAY||this.token===this.tok.T_CALLABLE){var e=this.text();return this.next(),t("typereference",e.toLowerCase(),e)}if(this.token!==this.tok.T_STRING)return this.token===this.tok.T_NAMESPACE||this.token===this.tok.T_NS_SEPARATOR?this.read_namespace_name():null;var i=this.text(),r=[this.token,this.lexer.getState()];return this.next(),this.token!==this.tok.T_NS_SEPARATOR&&-1<this.ast.typereference.types.indexOf(i.toLowerCase())?t("typereference",i.toLowerCase(),i):(this.lexer.tokens.push(r),this.next(),this.read_namespace_name())}}},function(t,e,i){"use strict";t.exports={read_if:function(){var t,e=this.node("if"),i=null,r=null,n=!1;if(t=this.next().read_if_expr(),":"===this.token){n=!0,this.next(),i=this.node("block");for(var o=[];this.token!==this.EOF&&this.token!==this.tok.T_ENDIF;){if(this.token===this.tok.T_ELSEIF){r=this.read_elseif_short();break}if(this.token===this.tok.T_ELSE){r=this.read_else_short();break}o.push(this.read_inner_statement())}i=i(null,o),this.expect(this.tok.T_ENDIF)&&this.next(),this.expectEndOfStatement()}else i=this.read_statement(),this.token===this.tok.T_ELSEIF?r=this.read_if():this.token===this.tok.T_ELSE&&(r=this.next().read_statement());return e(t,i,r,n)},read_if_expr:function(){this.expect("(")&&this.next();var t=this.read_expr();return this.expect(")")&&this.next(),t},read_elseif_short:function(){var t,e=this.node("if"),i=null,r=null,n=[];for(t=this.next().read_if_expr(),this.expect(":")&&this.next(),r=this.node("block");this.token!=this.EOF&&this.token!==this.tok.T_ENDIF;){if(this.token===this.tok.T_ELSEIF){i=this.read_elseif_short();break}if(this.token===this.tok.T_ELSE){i=this.read_else_short();break}n.push(this.read_inner_statement())}return e(t,r=r(null,n),i,!0)},read_else_short:function(){var t=this.node("block");this.next().expect(":")&&this.next();for(var e=[];this.token!=this.EOF&&this.token!==this.tok.T_ENDIF;)e.push(this.read_inner_statement());return t(null,e)}}},function(t,e,i){"use strict";t.exports={read_while:function(){var t=this.node("while");this.expect(this.tok.T_WHILE)&&this.next();var e,i=!1;return this.expect("(")&&this.next(),e=this.read_expr(),this.expect(")")&&this.next(),t(e,":"===this.token?(i=!0,this.read_short_form(this.tok.T_ENDWHILE)):this.read_statement(),i)},read_do:function(){var t=this.node("do");this.expect(this.tok.T_DO)&&this.next();var e,i=null;return e=this.read_statement(),this.expect(this.tok.T_WHILE)&&(this.next().expect("(")&&this.next(),i=this.read_expr(),this.expect(")")&&this.next(),this.expect(";")&&this.next()),t(i,e)},read_for:function(){var t=this.node("for");this.expect(this.tok.T_FOR)&&this.next();var e=[],i=[],r=[],n=!1;return this.expect("(")&&this.next(),";"!==this.token?(e=this.read_list(this.read_expr,","),this.expect(";")&&this.next()):this.next(),";"!==this.token?(i=this.read_list(this.read_expr,","),this.expect(";")&&this.next()):this.next(),")"!==this.token?(r=this.read_list(this.read_expr,","),this.expect(")")&&this.next()):this.next(),t(e,i,r,":"===this.token?(n=!0,this.read_short_form(this.tok.T_ENDFOR)):this.read_statement(),n)},read_foreach:function(){var t=this.node("foreach");this.expect(this.tok.T_FOREACH)&&this.next();var e,i=null,r=null,n=!1;return this.expect("(")&&this.next(),e=this.read_expr(),this.expect(this.tok.T_AS)&&(this.next(),r=this.read_foreach_variable(),this.token===this.tok.T_DOUBLE_ARROW&&(i=r,r=this.next().read_foreach_variable())),i&&"list"===i.kind&&this.raiseError("Fatal Error : Cannot use list as key element"),this.expect(")")&&this.next(),t(e,i,r,":"===this.token?(n=!0,this.read_short_form(this.tok.T_ENDFOREACH)):this.read_statement(),n)},read_foreach_variable:function(){if(this.token!==this.tok.T_LIST&&"["!==this.token)return this.read_variable(!1,!1,!1);var t="["===this.token,e=this.node("list");this.next(),!t&&this.expect("(")&&this.next();var i=this.read_array_pair_list(t);return this.expect(t?"]":")")&&this.next(),e(i,t)}}},function(t,e,i){"use strict";t.exports={read_start:function(){return this.token==this.tok.T_NAMESPACE?this.read_namespace():this.read_top_statement()}}},function(t,e,i){"use strict";t.exports={read_namespace:function(){var t=this.node("namespace"),e=void 0;if(this.expect(this.tok.T_NAMESPACE)&&this.next(),"{"==this.token)return this.currentNamespace=[""],e=this.next().read_top_statements(),this.expect("}")&&this.next(),t([""],e,!0);var i=this.read_namespace_name();return";"==this.token?(this.currentNamespace=i,e=this.next().read_top_statements(),this.expect(this.EOF),t(i.name,e,!1)):"{"==this.token?(this.currentNamespace=i,e=this.next().read_top_statements(),this.expect("}")&&this.next(),t(i.name,e,!0)):"("===this.token?(i.resolution=this.ast.reference.RELATIVE_NAME,i.name=i.name.substring(1),this.node("call")(i,this.read_function_argument_list())):(this.error(["{",";"]),this.currentNamespace=i,e=this.read_top_statements(),this.expect(this.EOF),t(i,e,!1))},read_namespace_name:function(t){var e=this.node(),i=!1;this.token===this.tok.T_NAMESPACE&&(this.next().expect(this.tok.T_NS_SEPARATOR)&&this.next(),i=!0);var r=this.read_list(this.tok.T_STRING,this.tok.T_NS_SEPARATOR,!0);if(!i&&1===r.length&&(t||"("!==this.token)){if("parent"===r[0].toLowerCase())return e("parentreference",r[0]);if("self"===r[0].toLowerCase())return e("selfreference",r[0])}return e("classreference",r,i)},read_use_statement:function(){var t=this.node("usegroup"),e=[],i=null;this.expect(this.tok.T_USE)&&this.next();var r=this.read_use_type();return e.push(this.read_use_declaration(!1)),","===this.token?e=e.concat(this.next().read_use_declarations(!1)):"{"===this.token&&(i=e[0].name,e=this.next().read_use_declarations(null===r),this.expect("}")&&this.next()),t=t(i,r,e),this.expect(";")&&this.next(),t},read_class_name_reference:function(){return this.read_variable(!0,!1,!1)},read_use_declaration:function(t){var e=this.node("useitem"),i=null;t&&(i=this.read_use_type());var r=this.read_namespace_name(),n=this.read_use_alias();return e(r.name,n,i)},read_use_declarations:function(t){for(var e=[this.read_use_declaration(t)];","===this.token;){if(this.next(),t){if(this.token!==this.tok.T_FUNCTION&&this.token!==this.tok.T_CONST&&this.token!==this.tok.T_STRING)break}else if(this.token!==this.tok.T_STRING)break;e.push(this.read_use_declaration(t))}return e},read_use_alias:function(){var t=null;return this.token===this.tok.T_AS&&this.next().expect(this.tok.T_STRING)&&(t=this.text(),this.next()),t},read_use_type:function(){return this.token===this.tok.T_FUNCTION?(this.next(),this.ast.useitem.TYPE_FUNCTION):this.token===this.tok.T_CONST?(this.next(),this.ast.useitem.TYPE_CONST):null}}},function(t,e,i){"use strict";var r={"\\r":"\r","\\n":"\n","\\t":"\t","\\v":String.fromCharCode(11),"\\e":String.fromCharCode(27),"\\f":String.fromCharCode(12),"\\\\":"\\","\\$":"$",'\\"':'"',"\\'":"'"};t.exports={resolve_special_chars:function(t,e){return e?t.replace(/\\[rntvef"'\\$]/g,function(t){return r[t]}):t.replace(/\\['\\]/g,function(t){return r[t]})},read_scalar:function(){if(this.is("T_MAGIC_CONST"))return this.get_magic_constant();var t=void 0,e=void 0;switch(this.token){case this.tok.T_CONSTANT_ENCAPSED_STRING:t=this.node("string");var i=this.text(),r=0;"b"!==i[0]&&"B"!==i[0]||(r=1);var n='"'===i[r];return this.next(),t=t(n,this.resolve_special_chars(i.substring(r+1,i.length-1),n),1===r,i),this.token===this.tok.T_DOUBLE_COLON?this.read_static_getter(t):t;case this.tok.T_START_HEREDOC:if("ST_NOWDOC"!==this.lexer.curCondition)return this.read_encapsed_string(this.tok.T_END_HEREDOC);var o=this.lexer.yylloc.first_offset;e=this.node("nowdoc");var s=(t=this.next().text())[t.length-1];"\n"===s?t="\r"===t[t.length-2]?t.substring(0,t.length-2):t.substring(0,t.length-1):"\r"===s&&(t=t.substring(0,t.length-1)),this.expect(this.tok.T_ENCAPSED_AND_WHITESPACE)&&this.next();var a=this.lexer._input.substring(o,this.lexer.yylloc.last_offset);return this.expect(this.tok.T_END_HEREDOC)&&this.next(),e=e(t,a,this.lexer.heredoc_label,'"'===a[3]||"'"===a[3]);case'"':return this.read_encapsed_string('"');case'b"':case'B"':return this.read_encapsed_string('"',!0);case this.tok.T_LNUMBER:case this.tok.T_DNUMBER:var l=this.node("number");return t=this.text(),this.next(),l(t,null);case this.tok.T_ARRAY:case"[":return this.read_array();default:var c=this.error("SCALAR");return this.next(),c}},read_dereferencable:function(t){var e=void 0,i=void 0,r=this.node("offsetlookup");return"["===this.token?(i=this.next().read_expr(),this.expect("]")&&this.next(),e=r(t,i)):this.token===this.tok.T_DOLLAR_OPEN_CURLY_BRACES&&(e=r(t,i=this.read_encapsed_string_item(!1))),e},read_encapsed_string_item:function(t){var e=this.node("encapsedpart"),i=!1,r=this.node(),n=void 0,o=void 0,s=void 0;if(this.token===this.tok.T_ENCAPSED_AND_WHITESPACE){var a=this.text();this.next(),r=r("string",!1,this.resolve_special_chars(a,t),!1,a)}else if(this.token===this.tok.T_DOLLAR_OPEN_CURLY_BRACES){if(s=null,this.next().token===this.tok.T_STRING_VARNAME){s=this.node("variable");var l=this.text();this.next(),s="["===this.token?(s=s(l,!1),o=this.node("offsetlookup"),n=this.next().read_expr(),this.expect("]")&&this.next(),o(s,n)):l}else s=this.read_expr();this.expect("}")&&this.next(),r=r("variable",s,!1,!0)}else if(this.token===this.tok.T_CURLY_OPEN)i=!0,r.destroy(),r=this.next().read_variable(!1,!1,!1),this.expect("}")&&this.next();else if(this.token===this.tok.T_VARIABLE){if(r.destroy(),r=this.read_simple_variable(!1),"["===this.token&&(o=this.node("offsetlookup"),n=this.next().read_encaps_var_offset(),this.expect("]")&&this.next(),r=o(r,n)),this.token===this.tok.T_OBJECT_OPERATOR){o=this.node("propertylookup"),this.next().expect(this.tok.T_STRING);var c=this.node("identifier");s=this.text(),this.next(),r=o(r,c(s))}}else{this.expect(this.tok.T_ENCAPSED_AND_WHITESPACE);var h=this.text();this.next(),r.destroy(),r=r("string",!1,h,!1,h)}return e(r,i)},read_encapsed_string:function(t){var e=1<arguments.length&&void 0!==arguments[1]&&arguments[1],i=this.node("encapsed");this.next();var r=this.lexer.yylloc.prev_offset-(e?1:0),n=[],o=null;for(o="`"===t?this.ast.encapsed.TYPE_SHELL:'"'===t?this.ast.encapsed.TYPE_STRING:this.ast.encapsed.TYPE_HEREDOC;this.token!==t&&this.token!==this.EOF;)n.push(this.read_encapsed_string_item(!0));return this.expect(t)&&this.next(),i=i(n,this.lexer._input.substring(r-1,this.lexer.yylloc.first_offset),o),t===this.tok.T_END_HEREDOC&&(i.label=this.lexer.heredoc_label),i},get_magic_constant:function(){var t=this.node("magic"),e=this.text();return this.next(),t(e.toUpperCase(),e)}}},function(t,e,i){"use strict";t.exports={read_top_statements:function(){for(var t=[];this.token!==this.EOF&&"}"!==this.token;){var e=this.read_top_statement();e&&(Array.isArray(e)?t=t.concat(e):t.push(e))}return t},read_top_statement:function(){switch(this.token){case this.tok.T_FUNCTION:return this.read_function(!1,!1);case this.tok.T_ABSTRACT:case this.tok.T_FINAL:case this.tok.T_CLASS:return this.read_class();case this.tok.T_INTERFACE:return this.read_interface();case this.tok.T_TRAIT:return this.read_trait();case this.tok.T_USE:return this.read_use_statement();case this.tok.T_CONST:var t=this.node("constantstatement"),e=this.next().read_const_list();return this.expectEndOfStatement(),t(null,e);case this.tok.T_NAMESPACE:return this.read_namespace();case this.tok.T_HALT_COMPILER:var i=this.node("halt");return this.next().expect("(")&&this.next(),this.expect(")")&&this.next(),this.expect(";"),this.lexer.done=!0,i(this.lexer._input.substring(this.lexer.offset));default:return this.read_statement()}},read_inner_statements:function(){for(var t=[];this.token!=this.EOF&&"}"!==this.token;){var e=this.read_inner_statement();e&&(Array.isArray(e)?t=t.concat(e):t.push(e))}return t},read_const_list:function(){return this.read_list(function(){this.expect(this.tok.T_STRING);var t=this.node("constant"),e=this.text();return this.next().expect("=")?t(e,this.next().read_expr()):t(e,null)},",",!1)},read_declare_list:function(){for(var t=[];this.token!=this.EOF&&")"!==this.token;){this.expect(this.tok.T_STRING);var e=this.node("declaredirective"),i=this.node("identifier"),r=this.text();this.next(),i=i(r);var n=null;if(this.expect("=")&&(n=this.next().read_expr()),t.push(e(i,n)),","!==this.token)break;this.next()}return t},read_inner_statement:function(){switch(this.token){case this.tok.T_FUNCTION:return this.read_function(!1,!1);case this.tok.T_ABSTRACT:case this.tok.T_FINAL:case this.tok.T_CLASS:return this.read_class();case this.tok.T_INTERFACE:return this.read_interface();case this.tok.T_TRAIT:return this.read_trait();case this.tok.T_HALT_COMPILER:this.raiseError("__HALT_COMPILER() can only be used from the outermost scope");var t=this.node("halt");return this.next().expect("(")&&this.next(),this.expect(")")&&this.next(),t=t(this.lexer._input.substring(this.lexer.offset)),this.expect(";")&&this.next(),t;default:return this.read_statement()}},read_statement:function(){switch(this.token){case"{":return this.read_code_block(!1);case this.tok.T_IF:return this.read_if();case this.tok.T_SWITCH:return this.read_switch();case this.tok.T_FOR:return this.read_for();case this.tok.T_FOREACH:return this.read_foreach();case this.tok.T_WHILE:return this.read_while();case this.tok.T_DO:return this.read_do();case this.tok.T_COMMENT:return this.read_comment();case this.tok.T_DOC_COMMENT:return this.read_doc_comment();case this.tok.T_RETURN:var t=this.node("return"),e=null;return this.next().is("EOS")||(e=this.read_expr()),this.expectEndOfStatement(),t(e);case this.tok.T_BREAK:case this.tok.T_CONTINUE:var i=this.node(this.token===this.tok.T_CONTINUE?"continue":"break"),r=null;return this.next(),";"!==this.token&&(r=this.read_expr()),this.expectEndOfStatement(),i(r);case this.tok.T_GLOBAL:var n=this.node("global"),o=this.next().read_list(this.read_simple_variable,",");return this.expectEndOfStatement(),n(o);case this.tok.T_STATIC:var s=[this.token,this.lexer.getState()],a=this.node();if(this.next().token===this.tok.T_DOUBLE_COLON){this.lexer.tokens.push(s);var l=this.next().read_expr();return this.expectEndOfStatement(l),a("expressionstatement",l)}if(this.token===this.tok.T_FUNCTION)return this.read_function(!0,[0,1,0]);var c=this.read_variable_declarations();return this.expectEndOfStatement(),a("static",c);case this.tok.T_ECHO:var h=this.node("echo"),u=this.text(),f="<?="===u||"<%="===u,d=this.next().read_list(this.read_expr,",");return this.expectEndOfStatement(),h(d,f);case this.tok.T_INLINE_HTML:var p=this.text(),m=0<this.lexer.yylloc.first_offset?this.lexer._input[this.lexer.yylloc.first_offset-1]:null,g="\r"===m||"\n"===m;g&&"\n"===m&&1<this.lexer.yylloc.first_offset&&"\r"===this.lexer._input[this.lexer.yylloc.first_offset-2]&&(m="\r\n");var _=this.node("inline");return this.next(),_(p,g?m+p:p);case this.tok.T_UNSET:var v=this.node("unset");this.next().expect("(")&&this.next();var y=this.read_list(this.read_variable,",");return this.expect(")")&&this.next(),this.expect(";")&&this.next(),v(y);case this.tok.T_DECLARE:var x=this.node("declare"),T=[],k=void 0;this.next().expect("(")&&this.next();var b=this.read_declare_list();if(this.expect(")")&&this.next(),":"===this.token){for(this.next();this.token!=this.EOF&&this.token!==this.tok.T_ENDDECLARE;)T.push(this.read_top_statement());this.expect(this.tok.T_ENDDECLARE)&&this.next(),this.expectEndOfStatement(),k=this.ast.declare.MODE_SHORT}else if("{"===this.token){for(this.next();this.token!=this.EOF&&"}"!==this.token;)T.push(this.read_top_statement());this.expect("}")&&this.next(),k=this.ast.declare.MODE_BLOCK}else this.expect(";")&&this.next(),k=this.ast.declare.MODE_NONE;return x(b,T,k);case this.tok.T_TRY:return this.read_try();case this.tok.T_THROW:var w=this.node("throw"),E=this.next().read_expr();return this.expectEndOfStatement(),w(E);case";":return this.next(),null;case this.tok.T_STRING:var C=this.node(),S=[this.token,this.lexer.getState()],A=this.text();if(":"===this.next().token)return this.next(),C("label",A);this.lexer.tokens.push(S);var L=this.node("expressionstatement"),N=this.next().read_expr();return this.expectEndOfStatement(N),L(N);case this.tok.T_GOTO:var O=this.node("goto"),I=null;return this.next().expect(this.tok.T_STRING)&&(I=this.text(),this.next().expectEndOfStatement()),O(I);default:var R=this.node("expressionstatement"),M=this.read_expr();return this.expectEndOfStatement(M),R(M)}},read_code_block:function(t){var e=this.node("block");this.expect("{")&&this.next();var i=t?this.read_top_statements():this.read_inner_statements();return this.expect("}")&&this.next(),e(null,i)}}},function(t,e,i){"use strict";t.exports={read_switch:function(){var t=this.node("switch");this.expect(this.tok.T_SWITCH)&&this.next(),this.expect("(")&&this.next();var e=this.read_expr();this.expect(")")&&this.next();var i=":"===this.token;return t(e,this.read_switch_case_list(),i)},read_switch_case_list:function(){var t=null,e=this.node("block"),i=[];for("{"===this.token?t="}":":"===this.token?t=this.tok.T_ENDSWITCH:this.expect(["{",":"]),";"===this.next().token&&this.next();this.token!==this.EOF&&this.token!==t;)i.push(this.read_case_list(t));return this.expect(t)&&this.next(),t===this.tok.T_ENDSWITCH&&this.expectEndOfStatement(),e(null,i)},read_case_list:function(t){var e=this.node("case"),i=null,r=null,n=[];for(this.token===this.tok.T_CASE?i=this.next().read_expr():this.token===this.tok.T_DEFAULT?this.next():this.expect([this.tok.T_CASE,this.tok.T_DEFAULT]),this.expect([":",";"])&&this.next(),r=this.node("block");this.token!=this.EOF&&this.token!==t&&this.token!==this.tok.T_CASE&&this.token!==this.tok.T_DEFAULT;)n.push(this.read_inner_statement());return e(i,0<n.length?r(null,n):null)}}},function(t,e,i){"use strict";t.exports={read_try:function(){this.expect(this.tok.T_TRY);for(var t=this.node("try"),e=null,i=[],r=this.next().read_statement();this.token===this.tok.T_CATCH;){var n=this.node("catch");this.next().expect("(")&&this.next();var o=this.read_list(this.read_namespace_name,"|",!1),s=this.read_variable(!0,!1,!1);this.expect(")"),i.push(n(this.next().read_statement(),o,s))}return this.token===this.tok.T_FINALLY&&(e=this.next().read_statement()),t(r,i,e)}}},function(t,e,i){"use strict";t.exports={read_short_form:function(t){var e=this.node("block"),i=[];for(this.expect(":")&&this.next();this.token!=this.EOF&&this.token!==t;)i.push(this.read_inner_statement());return this.expect(t)&&this.next(),this.expectEndOfStatement(),e(null,i)},read_list:function(t,e,i){var r=[];if(this.token==e&&(i&&r.push(null),this.next()),"function"==typeof t){do{if(r.push(t.apply(this,[])),this.token!=e)break}while(this.next().token!=this.EOF)}else{if(!this.expect(t))return[];for(r.push(this.text());this.next().token!=this.EOF&&this.token==e&&this.next().token==t;)r.push(this.text())}return r},read_name_list:function(){return this.read_list(this.read_namespace_name,",",!1)},read_variable_declarations:function(){return this.read_list(function(){var t=this.node("assign"),e=this.node("variable");if(this.expect(this.tok.T_VARIABLE)){var i=this.text().substring(1);this.next(),e=e(i,!1,!1)}else e=e("#ERR",!1,!1);return"="===this.token?t(e,this.next().read_expr()):e},",")}}},function(t,e,i){"use strict";t.exports={read_variable:function(t,e,i){var r=void 0;if(i||"&"!==this.token||(i=!0,this.next()),this.is([this.tok.T_VARIABLE,"$"]))r=this.read_reference_variable(e,i);else if(this.is([this.tok.T_NS_SEPARATOR,this.tok.T_STRING,this.tok.T_NAMESPACE])){r=this.node();var n=this.read_namespace_name();if(this.token!=this.tok.T_DOUBLE_COLON&&"("!=this.token&&-1===["parentreference","selfreference"].indexOf(n.kind)){var o=n.name.toLowerCase();r="true"===o?r("boolean",!0,n.name):"false"===o?r("boolean",!1,n.name):r("identifier",n)}else r=n}else if(this.token===this.tok.T_STATIC){r=this.node("staticreference");var s=this.text();this.next(),r=r(s)}else this.expect("VARIABLE");return this.token===this.tok.T_DOUBLE_COLON&&(r=this.read_static_getter(r,e)),this.recursive_variable_chain_scan(r,t,e)},read_static_getter:function(t,e){var i=this.node("staticlookup"),r=void 0,n=void 0;return this.next().is([this.tok.T_VARIABLE,"$"])?r=this.read_reference_variable(e,!1):this.token===this.tok.T_STRING||this.token===this.tok.T_CLASS||this.php7&&this.is("IDENTIFIER")?(r=this.node("identifier"),n=this.text(),this.next(),r=r(n)):"{"===this.token?(r=this.next().read_expr(),this.expect("}")&&this.next(),this.expect("(")):(this.error([this.tok.T_VARIABLE,this.tok.T_STRING]),r=this.node("identifier"),n=this.text(),this.next(),r=r(n)),i(t,r)},read_what:function(){var t=0<arguments.length&&void 0!==arguments[0]&&arguments[0],e=null,i=null;switch(this.next().token){case this.tok.T_STRING:if(e=this.node("identifier"),i=this.text(),this.next(),e=e(i),t&&this.token===this.tok.T_OBJECT_OPERATOR&&this.error(),this.token===this.tok.T_VARIABLE){var r=this.node("variable");i=this.text().substring(1),this.next(),(e=this.node("encapsed")([e,r(i,!1,!1)],null,"offset")).loc&&e.value[0].loc&&(e.loc.start=e.value[0].loc.start)}else if("{"===this.token){var n=this.next().read_expr();this.expect("}")&&this.next(),(e=this.node("encapsed")([e,n],null,"offset")).loc&&e.value[0].loc&&(e.loc.start=e.value[0].loc.start)}break;case this.tok.T_VARIABLE:e=this.node("variable"),i=this.text().substring(1),this.next(),e=e(i,!1,!1);break;case"$":this.next().expect(["$","{",this.tok.T_VARIABLE]),"{"===this.token?(e=this.next().read_expr(),this.expect("}")&&this.next()):e=this.read_expr();break;case"{":e=this.next().read_expr(),this.expect("}")&&this.next();break;default:this.error([this.tok.T_STRING,this.tok.T_VARIABLE,"$","{"]),e=this.node("identifier"),i=this.text(),this.next(),e=e(i)}return e},recursive_variable_chain_scan:function(t,e,i){var r=void 0,n=void 0;t:for(;this.token!=this.EOF;)switch(this.token){case"(":if(e)return t;t=this.node("call")(t,this.read_function_argument_list());break;case"[":r=this.node("offsetlookup"),this.next(),n=!1,i?(n=this.read_encaps_var_offset(),this.expect("]")&&this.next()):"]"!==this.token?(n=this.read_expr(),this.expect("]")&&this.next()):this.next(),t=r(t,n);break;case this.tok.T_DOUBLE_COLON:"staticlookup"===t.kind&&"identifier"===t.offset.kind&&this.error(),t=(r=this.node("staticlookup"))(t,this.read_what(!0));break;case this.tok.T_OBJECT_OPERATOR:t=(r=this.node("propertylookup"))(t,this.read_what());break;default:break t}return t},read_encaps_var_offset:function(){var t=this.node();if(this.token===this.tok.T_STRING){var e=this.text();this.next(),t=t("identifier",e)}else if(this.token===this.tok.T_NUM_STRING){var i=this.text();this.next(),t=t("number",i,null)}else if(this.token===this.tok.T_VARIABLE){var r=this.text().substring(1);this.next(),t=t("variable",r,!1,!1)}else{this.expect([this.tok.T_STRING,this.tok.T_NUM_STRING,this.tok.T_VARIABLE]);var n=this.text();this.next(),t=t("identifier",n)}return t},read_reference_variable:function(t,e){for(var i=this.read_simple_variable(e),r=void 0;this.token!=this.EOF;){var n=this.node();if("{"!=this.token||t){n.destroy();break}r=this.next().read_expr(),this.expect("}")&&this.next(),i=n("offsetlookup",i,r)}return i},read_simple_variable:function(t){var e=this.node("variable"),i=void 0;if(this.expect([this.tok.T_VARIABLE,"$"])&&this.token===this.tok.T_VARIABLE)i=this.text().substring(1),this.next(),e=e(i,t,!1);else switch("$"===this.token&&this.next(),this.token){case"{":var r=this.next().read_expr();this.expect("}")&&this.next(),e=e(r,t,!0);break;case"$":e=e(this.read_simple_variable(!1),t);break;case this.tok.T_VARIABLE:i=this.text().substring(1);var n=this.node("variable");this.next(),e=e(n(i,!1,!1),t,!1);break;default:this.error(["{","$",this.tok.T_VARIABLE]),i=this.text(),this.next(),e=e(i,t,!1)}return e}}},function(t,e,i){"use strict";t.exports={values:{101:"T_HALT_COMPILER",102:"T_USE",103:"T_ENCAPSED_AND_WHITESPACE",104:"T_OBJECT_OPERATOR",105:"T_STRING",106:"T_DOLLAR_OPEN_CURLY_BRACES",107:"T_STRING_VARNAME",108:"T_CURLY_OPEN",109:"T_NUM_STRING",110:"T_ISSET",111:"T_EMPTY",112:"T_INCLUDE",113:"T_INCLUDE_ONCE",114:"T_EVAL",115:"T_REQUIRE",116:"T_REQUIRE_ONCE",117:"T_NAMESPACE",118:"T_NS_SEPARATOR",119:"T_AS",120:"T_IF",121:"T_ENDIF",122:"T_WHILE",123:"T_DO",124:"T_FOR",125:"T_SWITCH",126:"T_BREAK",127:"T_CONTINUE",128:"T_RETURN",129:"T_GLOBAL",130:"T_STATIC",131:"T_ECHO",132:"T_INLINE_HTML",133:"T_UNSET",134:"T_FOREACH",135:"T_DECLARE",136:"T_TRY",137:"T_THROW",138:"T_GOTO",139:"T_FINALLY",140:"T_CATCH",141:"T_ENDDECLARE",142:"T_LIST",143:"T_CLONE",144:"T_PLUS_EQUAL",145:"T_MINUS_EQUAL",146:"T_MUL_EQUAL",147:"T_DIV_EQUAL",148:"T_CONCAT_EQUAL",149:"T_MOD_EQUAL",150:"T_AND_EQUAL",151:"T_OR_EQUAL",152:"T_XOR_EQUAL",153:"T_SL_EQUAL",154:"T_SR_EQUAL",155:"T_INC",156:"T_DEC",157:"T_BOOLEAN_OR",158:"T_BOOLEAN_AND",159:"T_LOGICAL_OR",160:"T_LOGICAL_AND",161:"T_LOGICAL_XOR",162:"T_SL",163:"T_SR",164:"T_IS_IDENTICAL",165:"T_IS_NOT_IDENTICAL",166:"T_IS_EQUAL",167:"T_IS_NOT_EQUAL",168:"T_IS_SMALLER_OR_EQUAL",169:"T_IS_GREATER_OR_EQUAL",170:"T_INSTANCEOF",171:"T_INT_CAST",172:"T_DOUBLE_CAST",173:"T_STRING_CAST",174:"T_ARRAY_CAST",175:"T_OBJECT_CAST",176:"T_BOOL_CAST",177:"T_UNSET_CAST",178:"T_EXIT",179:"T_PRINT",180:"T_YIELD",181:"T_YIELD_FROM",182:"T_FUNCTION",183:"T_DOUBLE_ARROW",184:"T_DOUBLE_COLON",185:"T_ARRAY",186:"T_CALLABLE",187:"T_CLASS",188:"T_ABSTRACT",189:"T_TRAIT",190:"T_FINAL",191:"T_EXTENDS",192:"T_INTERFACE",193:"T_IMPLEMENTS",194:"T_VAR",195:"T_PUBLIC",196:"T_PROTECTED",197:"T_PRIVATE",198:"T_CONST",199:"T_NEW",200:"T_INSTEADOF",201:"T_ELSEIF",202:"T_ELSE",203:"T_ENDSWITCH",204:"T_CASE",205:"T_DEFAULT",206:"T_ENDFOR",207:"T_ENDFOREACH",208:"T_ENDWHILE",209:"T_CONSTANT_ENCAPSED_STRING",210:"T_LNUMBER",211:"T_DNUMBER",212:"T_LINE",213:"T_FILE",214:"T_DIR",215:"T_TRAIT_C",216:"T_METHOD_C",217:"T_FUNC_C",218:"T_NS_C",219:"T_START_HEREDOC",220:"T_END_HEREDOC",221:"T_CLASS_C",222:"T_VARIABLE",223:"T_OPEN_TAG",224:"T_OPEN_TAG_WITH_ECHO",225:"T_CLOSE_TAG",226:"T_WHITESPACE",227:"T_COMMENT",228:"T_DOC_COMMENT",229:"T_ELLIPSIS",230:"T_COALESCE",231:"T_POW",232:"T_POW_EQUAL",233:"T_SPACESHIP"},names:{T_HALT_COMPILER:101,T_USE:102,T_ENCAPSED_AND_WHITESPACE:103,T_OBJECT_OPERATOR:104,T_STRING:105,T_DOLLAR_OPEN_CURLY_BRACES:106,T_STRING_VARNAME:107,T_CURLY_OPEN:108,T_NUM_STRING:109,T_ISSET:110,T_EMPTY:111,T_INCLUDE:112,T_INCLUDE_ONCE:113,T_EVAL:114,T_REQUIRE:115,T_REQUIRE_ONCE:116,T_NAMESPACE:117,T_NS_SEPARATOR:118,T_AS:119,T_IF:120,T_ENDIF:121,T_WHILE:122,T_DO:123,T_FOR:124,T_SWITCH:125,T_BREAK:126,T_CONTINUE:127,T_RETURN:128,T_GLOBAL:129,T_STATIC:130,T_ECHO:131,T_INLINE_HTML:132,T_UNSET:133,T_FOREACH:134,T_DECLARE:135,T_TRY:136,T_THROW:137,T_GOTO:138,T_FINALLY:139,T_CATCH:140,T_ENDDECLARE:141,T_LIST:142,T_CLONE:143,T_PLUS_EQUAL:144,T_MINUS_EQUAL:145,T_MUL_EQUAL:146,T_DIV_EQUAL:147,T_CONCAT_EQUAL:148,T_MOD_EQUAL:149,T_AND_EQUAL:150,T_OR_EQUAL:151,T_XOR_EQUAL:152,T_SL_EQUAL:153,T_SR_EQUAL:154,T_INC:155,T_DEC:156,T_BOOLEAN_OR:157,T_BOOLEAN_AND:158,T_LOGICAL_OR:159,T_LOGICAL_AND:160,T_LOGICAL_XOR:161,T_SL:162,T_SR:163,T_IS_IDENTICAL:164,T_IS_NOT_IDENTICAL:165,T_IS_EQUAL:166,T_IS_NOT_EQUAL:167,T_IS_SMALLER_OR_EQUAL:168,T_IS_GREATER_OR_EQUAL:169,T_INSTANCEOF:170,T_INT_CAST:171,T_DOUBLE_CAST:172,T_STRING_CAST:173,T_ARRAY_CAST:174,T_OBJECT_CAST:175,T_BOOL_CAST:176,T_UNSET_CAST:177,T_EXIT:178,T_PRINT:179,T_YIELD:180,T_YIELD_FROM:181,T_FUNCTION:182,T_DOUBLE_ARROW:183,T_DOUBLE_COLON:184,T_ARRAY:185,T_CALLABLE:186,T_CLASS:187,T_ABSTRACT:188,T_TRAIT:189,T_FINAL:190,T_EXTENDS:191,T_INTERFACE:192,T_IMPLEMENTS:193,T_VAR:194,T_PUBLIC:195,T_PROTECTED:196,T_PRIVATE:197,T_CONST:198,T_NEW:199,T_INSTEADOF:200,T_ELSEIF:201,T_ELSE:202,T_ENDSWITCH:203,T_CASE:204,T_DEFAULT:205,T_ENDFOR:206,T_ENDFOREACH:207,T_ENDWHILE:208,T_CONSTANT_ENCAPSED_STRING:209,T_LNUMBER:210,T_DNUMBER:211,T_LINE:212,T_FILE:213,T_DIR:214,T_TRAIT_C:215,T_METHOD_C:216,T_FUNC_C:217,T_NS_C:218,T_START_HEREDOC:219,T_END_HEREDOC:220,T_CLASS_C:221,T_VARIABLE:222,T_OPEN_TAG:223,T_OPEN_TAG_WITH_ECHO:224,T_CLOSE_TAG:225,T_WHITESPACE:226,T_COMMENT:227,T_DOC_COMMENT:228,T_ELLIPSIS:229,T_COALESCE:230,T_POW:231,T_POW_EQUAL:232,T_SPACESHIP:233}}},function(t,e,i){"use strict";var u=i(46),f=i(47),o=function(t,e){this.withPositions=t,this.withSource=e};o.prototype.position=function(t){return new f(t.lexer.yylloc.first_line,t.lexer.yylloc.first_column,t.lexer.yylloc.first_offset)},o.precedence={},[["or"],["xor"],["and"],["="],["?"],["??"],["||"],["&&"],["|"],["^"],["&"],["==","!=","===","!==","<=>"],["<","<=",">",">="],["<<",">>"],["+","-","."],["*","/","%"],["!"],["instanceof"],["cast"]].forEach(function(t,e){t.forEach(function(t){o.precedence[t]=e+1})}),o.prototype.swapLocations=function(t,e,i,r){this.withPositions&&(t.loc.start=e.loc.start,t.loc.end=i.loc.end,this.withSource&&(t.loc.source=r.lexer._input.substring(t.loc.start.offset,t.loc.end.offset)))},o.prototype.resolvePrecedence=function(t,e){var i=void 0,r=void 0,n=void 0;return"call"===t.kind?this.swapLocations(t,t.what,t,e):"propertylookup"===t.kind?this.swapLocations(t,t.what,t.offset,e):"bin"===t.kind?t.right&&!t.right.parenthesizedExpression&&("bin"===t.right.kind?(r=o.precedence[t.type],n=o.precedence[t.right.type],r&&n&&n<=r&&(i=t.right,t.right=t.right.left,this.swapLocations(t,t.left,t.right,e),i.left=this.resolvePrecedence(t,e),t=i)):"retif"===t.right.kind&&(r=o.precedence[t.type],n=o.precedence["?"],r&&n&&n<=r&&(i=t.right,t.right=t.right.test,this.swapLocations(t,t.left,t.right,e),i.test=this.resolvePrecedence(t,e),this.swapLocations(i,i.test,i.falseExpr,e),t=i))):"cast"===t.kind&&t.what&&!t.what.parenthesizedExpression?"bin"===t.what.kind?(i=t.what,t.what=t.what.left,this.swapLocations(t,t,t.what,e),i.left=this.resolvePrecedence(t,e),this.swapLocations(i,i.left,i.right,e),t=i):"retif"===t.what.kind&&(i=t.what,t.what=t.what.test,this.swapLocations(t,t,t.what,e),i.test=this.resolvePrecedence(t,e),this.swapLocations(i,i.test,i.falseExpr,e),t=i):"unary"===t.kind?t.what&&!t.what.parenthesizedExpression&&("bin"===t.what.kind?(i=t.what,t.what=t.what.left,this.swapLocations(t,t,t.what,e),i.left=this.resolvePrecedence(t,e),this.swapLocations(i,i.left,i.right,e),t=i):"retif"===t.what.kind&&(i=t.what,t.what=t.what.test,this.swapLocations(t,t,t.what,e),i.test=this.resolvePrecedence(t,e),this.swapLocations(i,i.test,i.falseExpr,e),t=i)):"retif"===t.kind?t.falseExpr&&"retif"===t.falseExpr.kind&&!t.falseExpr.parenthesizedExpression&&(i=t.falseExpr,t.falseExpr=i.test,this.swapLocations(t,t.test,t.falseExpr,e),i.test=this.resolvePrecedence(t,e),this.swapLocations(i,i.test,i.falseExpr,e),t=i):"assign"===t.kind&&t.right&&"bin"===t.right.kind&&!t.right.parenthesizedExpression&&(r=o.precedence["="],n=o.precedence[t.right.type],r&&n&&n<r&&(i=t.right,t.right=t.right.left,i.left=t,this.swapLocations(i,i.left,t.right,e),t=i)),t},o.prototype.prepare=function(s,a,l){var c=null;(this.withPositions||this.withSource)&&(c=this.position(l));var h=this,e=function t(){var e=null,i=Array.prototype.slice.call(arguments);if(i.push(a),"function"==typeof t.preBuild&&t.preBuild(arguments),h.withPositions||h.withSource){var r=null;h.withSource&&(r=l.lexer._input.substring(c.offset,l.prev[2])),e=h.withPositions?new u(r,c,new f(l.prev[0],l.prev[1],l.prev[2])):new u(r,null,null),i.push(e)}s||(s=i.shift());var n=h[s];if("function"!=typeof n)throw new Error('Undefined node "'+s+'"');var o=Object.create(n.prototype);return n.apply(o,i),t.instance=o,t.trailingComments&&(o.trailingComments=t.trailingComments),h.resolvePrecedence(o,l)};return e.setKind=function(t){s=t},e.setTrailingComments=function(t){e.instance?e.instance.setTrailingComments(t):e.trailingComments=t},e.destroy=function(t){a&&(t?t.leadingComments?t.leadingComments=a.concat(t.leadingComments):t.leadingComments=a:l._docIndex=l._docs.length-a.length)},e},[i(48),i(49),i(50),i(7),i(51),i(52),i(53),i(54),i(55),i(56),i(57),i(58),i(59),i(60),i(61),i(9),i(62),i(63),i(64),i(10),i(65),i(4),i(66),i(67),i(68),i(69),i(70),i(71),i(72),i(73),i(74),i(75),i(76),i(1),i(77),i(78),i(79),i(11),i(80),i(81),i(82),i(83),i(84),i(85),i(86),i(87),i(88),i(89),i(90),i(3),i(8),i(91),i(92),i(93),i(94),i(2),i(95),i(96),i(97),i(5),i(98),i(99),i(100),i(101),i(102),i(103),i(104),i(105),i(6),i(106),i(107),i(108),i(109),i(0),i(110),i(111),i(112),i(113),i(114),i(115),i(116),i(117),i(118),i(119),i(120),i(121),i(122),i(123),i(124),i(125),i(126),i(127),i(128),i(129),i(130)].forEach(function(t){o.prototype[t.kind]=t}),t.exports=o},function(t,e,i){"use strict";t.exports=function(t,e,i){this.source=t,this.start=e,this.end=i}},function(t,e,i){"use strict";t.exports=function(t,e,i){this.line=t,this.column=e,this.offset=i}},function(t,e,i){"use strict";var n=i(1);t.exports=n.extends("array",function(t,e,i,r){n.apply(this,["array",i,r]),this.items=e,this.shortForm=t})},function(t,e,i){"use strict";var o=i(1);t.exports=o.extends("assign",function(t,e,i,r,n){o.apply(this,["assign",r,n]),this.operator=i,this.left=t,this.right=e})},function(t,e,i){"use strict";var o=i(5);t.exports=o.extends("bin",function(t,e,i,r,n){o.apply(this,["bin",r,n]),this.type=t,this.left=e,this.right=i})},function(t,e,i){"use strict";var n=i(3);t.exports=n.extends("boolean",function(t,e,i,r){n.apply(this,["boolean",t,e,i,r])})},function(t,e,i){"use strict";var r=i(0);t.exports=r.extends("break",function(t,e,i){r.apply(this,["break",e,i]),this.level=t})},function(t,e,i){"use strict";var n=i(1);t.exports=n.extends("call",function(t,e,i,r){n.apply(this,["call",i,r]),this.what=t,this.arguments=e})},function(t,e,i){"use strict";var n=i(0);t.exports=n.extends("case",function(t,e,i,r){n.apply(this,["case",i,r]),this.test=t,this.body=e})},function(t,e,i){"use strict";var o=i(5);t.exports=o.extends("cast",function(t,e,i,r,n){o.apply(this,["cast",r,n]),this.type=t,this.raw=e,this.what=i})},function(t,e,i){"use strict";var o=i(0);t.exports=o.extends("catch",function(t,e,i,r,n){o.apply(this,["catch",r,n]),this.body=t,this.what=e,this.variable=i})},function(t,e,i){"use strict";var a=i(4);t.exports=a.extends("class",function(t,e,i,r,n,o,s){a.apply(this,["class",t,o,s]),this.isAnonymous=!t,this.extends=e,this.implements=i,this.body=r,this.parseFlags(n)})},function(t,e,i){"use strict";var o=i(10),s="classconstant",r=o.extends(s,function(t,e,i,r,n){o.apply(this,[t||s,e,r,n]),this.parseFlags(i)});r.prototype.parseFlags=function(t){-1===t[0]?this.visibility="":null===t[0]?this.visibility=null:0===t[0]?this.visibility="public":1===t[0]?this.visibility="protected":2===t[0]&&(this.visibility="private")},t.exports=r},function(t,e,i){"use strict";var o=i(6),s="classreference",r=o.extends(s,function t(e,i,r,n){o.apply(this,[s,r,n]),i?this.resolution=t.RELATIVE_NAME:1===e.length?this.resolution=t.UNQUALIFIED_NAME:""===e[0]?this.resolution=t.FULL_QUALIFIED_NAME:this.resolution=t.QUALIFIED_NAME,this.name=e.join("\\")});r.UNQUALIFIED_NAME="uqn",r.QUALIFIED_NAME="qn",r.FULL_QUALIFIED_NAME="fqn",r.RELATIVE_NAME="rn",t.exports=r},function(t,e,i){"use strict";var r=i(1);t.exports=r.extends("clone",function(t,e,i){r.apply(this,["clone",e,i]),this.what=t})},function(t,e,i){"use strict";var l=i(1);t.exports=l.extends("closure",function(t,e,i,r,n,o,s,a){l.apply(this,["closure",s,a]),this.uses=i,this.arguments=t,this.byref=e,this.type=r,this.nullable=n,this.isStatic=o||!1,this.body=null})},function(t,e,i){"use strict";var r=i(9),n="commentblock";t.exports=r.extends(n,function(t,e,i){r.apply(this,[n,t,e,i])})},function(t,e,i){"use strict";var r=i(9),n="commentline";t.exports=r.extends(n,function(t,e,i){r.apply(this,[n,t,e,i])})},function(t,e,i){"use strict";var n=i(2);t.exports=n.extends("constant",function(t,e,i,r){n.apply(this,["constant",i,r]),this.name=t,this.value=e})},function(t,e,i){"use strict";var r=i(0);t.exports=r.extends("continue",function(t,e,i){r.apply(this,["continue",e,i]),this.level=t})},function(t,e,i){"use strict";var o=i(7),r=o.extends("declare",function(t,e,i,r,n){o.apply(this,["declare",e,r,n]),this.directives=t,this.mode=i});r.MODE_SHORT="short",r.MODE_BLOCK="block",r.MODE_NONE="none",t.exports=r},function(t,e,i){"use strict";var n=i(2),o="declaredirective";t.exports=n.extends(o,function(t,e,i,r){n.apply(this,[o,i,r]),this.key=t,this.value=e})},function(t,e,i){"use strict";var n=i(0);t.exports=n.extends("do",function(t,e,i,r){n.apply(this,["do",i,r]),this.test=t,this.body=e})},function(t,e,i){"use strict";var n=i(0);t.exports=n.extends("echo",function(t,e,i,r){n.apply(this,["echo",i,r]),this.shortForm=e,this.expressions=t})},function(t,e,i){"use strict";var r=i(1);t.exports=r.extends("empty",function(t,e,i){r.apply(this,["empty",e,i]),this.expression=t})},function(t,e,i){"use strict";var o=i(3),r=o.extends("encapsed",function(t,e,i,r,n){o.apply(this,["encapsed",t,e,r,n]),this.type=i});r.TYPE_STRING="string",r.TYPE_SHELL="shell",r.TYPE_HEREDOC="heredoc",r.TYPE_OFFSET="offset",t.exports=r},function(t,e,i){"use strict";var n=i(1),o="encapsedpart";t.exports=n.extends(o,function(t,e,i,r){n.apply(this,[o,i,r]),this.expression=t,this.curly=e})},function(t,e,i){"use strict";var n=i(1);t.exports=n.extends("entry",function(t,e,i,r){n.apply(this,["entry",i,r]),this.key=t,this.value=e})},function(t,e,i){"use strict";var s=i(2);t.exports=s.extends("error",function(t,e,i,r,n,o){s.apply(this,["error",n,o]),this.message=t,this.token=e,this.line=i,this.expected=r})},function(t,e,i){"use strict";var r=i(1);t.exports=r.extends("eval",function(t,e,i){r.apply(this,["eval",e,i]),this.source=t})},function(t,e,i){"use strict";var n=i(1);t.exports=n.extends("exit",function(t,e,i,r){n.apply(this,["exit",i,r]),this.status=t,this.useDie=e})},function(t,e,i){"use strict";var r=i(0),n="expressionstatement";t.exports=r.extends(n,function(t,e,i){r.apply(this,[n,e,i]),this.expression=t})},function(t,e,i){"use strict";var a=i(0);t.exports=a.extends("for",function(t,e,i,r,n,o,s){a.apply(this,["for",o,s]),this.init=t,this.test=e,this.increment=i,this.shortForm=n,this.body=r})},function(t,e,i){"use strict";var a=i(0);t.exports=a.extends("foreach",function(t,e,i,r,n,o,s){a.apply(this,["foreach",o,s]),this.source=t,this.key=e,this.value=i,this.shortForm=n,this.body=r})},function(t,e,i){"use strict";var r=i(0);t.exports=r.extends("global",function(t,e,i){r.apply(this,["global",e,i]),this.items=t})},function(t,e,i){"use strict";var r=i(0);t.exports=r.extends("goto",function(t,e,i){r.apply(this,["goto",e,i]),this.label=t})},function(t,e,i){"use strict";var r=i(0);t.exports=r.extends("halt",function(t,e,i){r.apply(this,["halt",e,i]),this.after=t})},function(t,e,i){"use strict";var r=i(2),n="identifier",o=r.extends(n,function(t,e,i){r.apply(this,[n,e,i]),this.name=t});t.exports=o},function(t,e,i){"use strict";var s=i(0);t.exports=s.extends("if",function(t,e,i,r,n,o){s.apply(this,["if",n,o]),this.test=t,this.body=e,this.alternate=i,this.shortForm=r})},function(t,e,i){"use strict";var o=i(1);t.exports=o.extends("include",function(t,e,i,r,n){o.apply(this,["include",r,n]),this.once=t,this.require=e,this.target=i})},function(t,e,i){"use strict";var n=i(3);t.exports=n.extends("inline",function(t,e,i,r){n.apply(this,["inline",t,e,i,r])})},function(t,e,i){"use strict";var o=i(4);t.exports=o.extends("interface",function(t,e,i,r,n){o.apply(this,["interface",t,r,n]),this.extends=e,this.body=i})},function(t,e,i){"use strict";var r=i(1);t.exports=r.extends("isset",function(t,e,i){r.apply(this,["isset",e,i]),this.variables=t})},function(t,e,i){"use strict";var r=i(0);t.exports=r.extends("label",function(t,e,i){r.apply(this,["label",e,i]),this.name=t})},function(t,e,i){"use strict";var n=i(1);t.exports=n.extends("list",function(t,e,i,r){n.apply(this,["list",i,r]),this.items=t,this.shortForm=e})},function(t,e,i){"use strict";var n=i(3);t.exports=n.extends("magic",function(t,e,i,r){n.apply(this,["magic",t,e,i,r])})},function(t,e,i){"use strict";var r=i(11);t.exports=r.extends("method",function(){r.apply(this,arguments),this.kind="method"})},function(t,e,i){"use strict";var o=i(7);t.exports=o.extends("namespace",function(t,e,i,r,n){o.apply(this,["namespace",e,r,n]),this.name=t,this.withBrackets=i||!1})},function(t,e,i){"use strict";var n=i(1);t.exports=n.extends("new",function(t,e,i,r){n.apply(this,["new",i,r]),this.what=t,this.arguments=e})},function(t,e,i){"use strict";var s=i(3);t.exports=s.extends("nowdoc",function(t,e,i,r,n,o){s.apply(this,["nowdoc",t,e,n,o]),this.label=i,this.quote=r})},function(t,e,i){"use strict";var n=i(3);t.exports=n.extends("number",function(t,e,i,r){n.apply(this,["number",t,e,i,r])})},function(t,e,i){"use strict";var n=i(8),o="offsetlookup";t.exports=n.extends(o,function(t,e,i,r){n.apply(this,[o,t,e,i,r])})},function(t,e,i){"use strict";var l=i(4);t.exports=l.extends("parameter",function(t,e,i,r,n,o,s,a){l.apply(this,["parameter",t,s,a]),this.value=i,this.type=e,this.byref=r,this.variadic=n,this.nullable=o})},function(t,e,i){"use strict";var r=i(6),n="parentreference",o=r.extends(n,function(t,e,i){r.apply(this,[n,e,i]),this.raw=t});t.exports=o},function(t,e,i){"use strict";var n=i(5);t.exports=n.extends("post",function(t,e,i,r){n.apply(this,["post",i,r]),this.type=t,this.what=e})},function(t,e,i){"use strict";var n=i(5);t.exports=n.extends("pre",function(t,e,i,r){n.apply(this,["pre",i,r]),this.type=t,this.what=e})},function(t,e,i){"use strict";var r=i(1);t.exports=r.extends("print",function(t,e,i){r.apply(this,["print",e,i]),this.expression=t})},function(t,e,i){"use strict";var s=i(7);t.exports=s.extends("program",function(t,e,i,r,n,o){s.apply(this,["program",t,n,o]),this.errors=e,i&&(this.comments=i),r&&(this.tokens=r)})},function(t,e,i){"use strict";var o=i(4);t.exports=o.extends("property",function(t,e,i,r,n){o.apply(this,["property",t,r,n]),this.value=e,this.parseFlags(i)})},function(t,e,i){"use strict";var n=i(8),o="propertylookup";t.exports=n.extends(o,function(t,e,i,r){n.apply(this,[o,t,e,i,r])})},function(t,e,i){"use strict";var o=i(1);t.exports=o.extends("retif",function(t,e,i,r,n){o.apply(this,["retif",r,n]),this.test=t,this.trueExpr=e,this.falseExpr=i})},function(t,e,i){"use strict";var r=i(0);t.exports=r.extends("return",function(t,e,i){r.apply(this,["return",e,i]),this.expr=t})},function(t,e,i){"use strict";var r=i(6),n="selfreference",o=r.extends(n,function(t,e,i){r.apply(this,[n,e,i]),this.raw=t});t.exports=o},function(t,e,i){"use strict";var r=i(1);t.exports=r.extends("silent",function(t,e,i){r.apply(this,["silent",e,i]),this.expr=t})},function(t,e,i){"use strict";var r=i(0);t.exports=r.extends("static",function(t,e,i){r.apply(this,["static",e,i]),this.items=t})},function(t,e,i){"use strict";var n=i(8),o="staticlookup";t.exports=n.extends(o,function(t,e,i,r){n.apply(this,[o,t,e,i,r])})},function(t,e,i){"use strict";var r=i(6),n="staticreference",o=r.extends(n,function(t,e,i){r.apply(this,[n,e,i]),this.raw=t});t.exports=o},function(t,e,i){"use strict";var s=i(3);t.exports=s.extends("string",function(t,e,i,r,n,o){s.apply(this,["string",e,r,n,o]),this.unicode=i,this.isDoubleQuote=t})},function(t,e,i){"use strict";var o=i(0);t.exports=o.extends("switch",function(t,e,i,r,n){o.apply(this,["switch",r,n]),this.test=t,this.body=e,this.shortForm=i})},function(t,e,i){"use strict";var r=i(0);t.exports=r.extends("throw",function(t,e,i){r.apply(this,["throw",e,i]),this.what=t})},function(t,e,i){"use strict";var n=i(4);t.exports=n.extends("trait",function(t,e,i,r){n.apply(this,["trait",t,i,r]),this.body=e})},function(t,e,i){"use strict";var s=i(2),a="traitalias";t.exports=s.extends(a,function(t,e,i,r,n,o){s.apply(this,[a,n,o]),this.trait=t,this.method=e,this.as=i,this.visibility="",r&&(0===r[0]?this.visibility="public":1===r[0]?this.visibility="protected":2===r[0]&&(this.visibility="private"))})},function(t,e,i){"use strict";var o=i(2),s="traitprecedence";t.exports=o.extends(s,function(t,e,i,r,n){o.apply(this,[s,r,n]),this.trait=t,this.method=e,this.instead=i})},function(t,e,i){"use strict";var n=i(2);t.exports=n.extends("traituse",function(t,e,i,r){n.apply(this,["traituse",i,r]),this.traits=t,this.adaptations=e})},function(t,e,i){"use strict";var o=i(0);t.exports=o.extends("try",function(t,e,i,r,n){o.apply(this,["try",r,n]),this.body=t,this.catches=e,this.always=i})},function(t,e,i){"use strict";var n=i(6),o="typereference",r=n.extends(o,function(t,e,i,r){n.apply(this,[o,i,r]),this.name=t,this.raw=e});r.types=["int","float","string","bool","object","array","callable","iterable","void"],t.exports=r},function(t,e,i){"use strict";var n=i(5);t.exports=n.extends("unary",function(t,e,i,r){n.apply(this,["unary",i,r]),this.type=t,this.what=e})},function(t,e,i){"use strict";var r=i(0);t.exports=r.extends("unset",function(t,e,i){r.apply(this,["unset",e,i]),this.variables=t})},function(t,e,i){"use strict";var o=i(0);t.exports=o.extends("usegroup",function(t,e,i,r,n){o.apply(this,["usegroup",r,n]),this.name=t,this.type=e,this.items=i})},function(t,e,i){"use strict";var o=i(0),r=o.extends("useitem",function(t,e,i,r,n){o.apply(this,["useitem",r,n]),this.name=t,this.alias=e,this.type=i});r.TYPE_CONST="const",r.TYPE_FUNCTION="function",t.exports=r},function(t,e,i){"use strict";var o=i(1);t.exports=o.extends("variable",function(t,e,i,r,n){o.apply(this,["variable",r,n]),this.name=t,this.byref=e||!1,this.curly=i||!1})},function(t,e,i){"use strict";var r=i(1);t.exports=r.extends("variadic",function(t,e,i){r.apply(this,["variadic",e,i]),this.what=t})},function(t,e,i){"use strict";var o=i(0);t.exports=o.extends("while",function(t,e,i,r,n){o.apply(this,["while",r,n]),this.test=t,this.body=e,this.shortForm=i})},function(t,e,i){"use strict";var n=i(1);t.exports=n.extends("yield",function(t,e,i,r){n.apply(this,["yield",i,r]),this.value=t,this.key=e})},function(t,e,i){"use strict";var r=i(1);t.exports=r.extends("yieldfrom",function(t,e,i){r.apply(this,["yieldfrom",e,i]),this.value=t})}]).default},"object"==typeof fJa&&"object"==typeof eJa?eJa.exports=iJa():"function"==typeof define&&define.amd?define([],iJa):"object"==typeof fJa?fJa.PhpParser=iJa():hJa.PhpParser=iJa()},{}]},{},[1]);
languages/code-snippets-fr_FR.mo CHANGED
Binary file
languages/code-snippets-fr_FR.po CHANGED
@@ -1,821 +1,1114 @@
 
1
  # This file is distributed under the same license as the Code Snippets package.
2
  msgid ""
3
  msgstr ""
4
  "Project-Id-Version: Code Snippets\n"
5
- "Report-Msgid-Bugs-To: \n"
6
- "POT-Creation-Date: 2015-05-11 08:58+1000\n"
7
- "PO-Revision-Date: 2015-05-11 10:08+1000\n"
8
- "Last-Translator: Shea Bunge <shea@sheabunge.com>"
9
- "Language-Team: oWEB <oweb@office-web.net>\n"
10
  "Language: fr\n"
11
  "MIME-Version: 1.0\n"
12
  "Content-Type: text/plain; charset=UTF-8\n"
13
  "Content-Transfer-Encoding: 8bit\n"
14
- "Plural-Forms: nplurals=2; plural=n != 1;\n"
15
- "X-Generator: Poedit 1.7.5\n"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16
 
17
- #: includes/admin.php:81 includes/manage/admin.php:21
18
- #: includes/manage/manage.php:22 includes/manage/manage.php:23
19
- #: includes/manage/manage.php:33
 
 
 
 
 
20
  msgid "Snippets"
21
- msgstr "Snippets"
22
 
23
- #: includes/admin.php:152
24
- msgid "Manage your existing snippets"
25
- msgstr "Gérer les snippets existants"
26
 
27
- #: includes/admin.php:153 includes/manage/manage.php:34
28
- msgid "Manage"
29
- msgstr "Gérer"
30
 
31
- #: includes/admin.php:182
32
  msgid "Visit the WordPress.org plugin page"
33
- msgstr "Page du plugin sur WordPress.org"
34
 
35
- #: includes/admin.php:183
36
  msgid "About"
37
- msgstr "A propos"
38
 
39
- #: includes/admin.php:187
40
  msgid "Visit the support forums"
41
- msgstr "Forums de support"
42
 
43
- #: includes/admin.php:188
44
  msgid "Support"
45
  msgstr "Support"
46
 
47
- #: includes/admin.php:192
48
  msgid "Support this plugin's development"
49
- msgstr "Aider au développement du plugin"
50
 
51
- #: includes/admin.php:193
52
  msgid "Donate"
53
  msgstr "Faire un don"
54
 
55
- #: includes/admin.php:226
56
  msgid ""
57
  "<strong>Have feedback on Code Snippets?</strong> Please take the time to "
58
  "answer a short survey on how you use this plugin and what you'd like to see "
59
  "changed or added in the future."
60
  msgstr ""
 
 
 
 
61
 
62
- #: includes/admin.php:229
63
  msgid "Take the survey now"
64
- msgstr ""
65
 
66
- #: includes/class-export.php:102
67
- msgid ""
68
- "This is a code snippets export file generated by the Code Snippets WordPress "
69
- "plugin."
70
- msgstr ""
71
 
72
- #: includes/class-export.php:103
73
- msgid "http://wordpress.org/plugins/code-snippets"
74
- msgstr ""
75
 
76
- #: includes/class-export.php:104
77
- msgid "To import these snippets a WordPress site follow these steps:"
78
- msgstr ""
79
 
80
- #: includes/class-export.php:105
81
- msgid "1. Log in to that site as an administrator."
82
- msgstr ""
 
 
 
 
83
 
84
- #: includes/class-export.php:106
 
 
 
 
85
  msgid ""
86
- "2. Install the Code Snippets plugin using the directions provided at the "
87
- "above link."
 
88
  msgstr ""
 
 
 
 
89
 
90
- #: includes/class-export.php:107
91
- msgid "3. Go to 'Tools: Import' in the WordPress admin panel."
92
- msgstr ""
 
93
 
94
- #: includes/class-export.php:108
95
- msgid "4. Click on the \"Code Snippets\" importer in the list"
 
 
96
  msgstr ""
 
 
97
 
98
- #: includes/class-export.php:109
99
- msgid "5. Upload this file using the form provided on that page."
100
- msgstr ""
101
 
102
- #: includes/class-export.php:110
103
  msgid ""
104
- "6. Code Snippets will then import all of the snippets and associated "
105
- "information contained in this file into your site."
 
106
  msgstr ""
 
 
 
 
107
 
108
- #: includes/class-export.php:111
109
  msgid ""
110
- "7. You will then have to visit the 'Snippets: Manage' admin menu and "
111
- "activate desired snippets."
 
 
 
 
112
  msgstr ""
 
 
 
 
 
 
 
 
 
113
 
114
- #: includes/edit/admin-help.php:15 includes/import/admin-help.php:16
115
- #: includes/manage/admin-help.php:15
116
- msgid "Overview"
117
- msgstr "Présentation "
118
-
119
- #: includes/edit/admin-help.php:17
120
- msgid ""
121
- "Snippets are similar to plugins - they both extend and expand the "
122
- "functionality of WordPress. Snippets are more light-weight, just a few lines "
123
- "of code, and do not put as much load on your server. Here you can add a new "
124
- "snippet, or edit an existing one."
125
  msgstr ""
126
- "Les Snippets sont similaires aux plugins. Ils permettent aussi d'étendre les "
127
- "fonctionnalités de WordPress. Les Snippets sont plus légers, juste quelques "
128
- "lignes de code : cela permet à votre site de se charger plus rapidement. "
129
- "Ici, vous pouvez en ajouter ou en éditer."
 
 
130
 
131
- #: includes/edit/admin-help.php:22
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
132
  msgid "Finding Snippets"
133
- msgstr "Trouver des Snippets"
134
 
135
- #: includes/edit/admin-help.php:24
136
  msgid ""
137
  "Here are some links to websites which host a large number of snippets that "
138
- "you can add to your site.\n"
139
- "\t\t<ul>\n"
140
- "\t\t\t<li><a href=\"http://wp-snippets.com\" title=\"WordPress Snippets\">WP-"
141
- "Snippets</a></li>\n"
142
- "\t\t\t<li><a href=\"http://wpsnipp.com\" title=\"WP Snipp\">WP Snipp</a></"
143
- "li>\n"
144
- "\t\t\t<li><a href=\"http://www.catswhocode.com/blog/snippets\" title=\"Cats "
145
- "Who Code Snippet Library\">Cats Who Code</a></li>\n"
146
- "\t\t\t<li><a href=\"http://www.wpfunction.me\">WP Function Me</a></li>\n"
147
- "\t\t</ul>"
148
  msgstr ""
149
  "Voici quelques liens vers des sites qui proposent une large panoplie de "
150
- "Snippets que vous pouvez ajouter à votre installation.\n"
151
- "\t\t<ul>\n"
152
- "\t\t\t<li><a href=\"http://wp-snippets.com\" title=\"WordPress Snippets\">WP-"
153
- "Snippets</a></li>\n"
154
- "\t\t\t<li><a href=\"http://wpsnipp.com\" title=\"WP Snipp\">WP Snipp</a></"
155
- "li>\n"
156
- "\t\t\t<li><a href=\"http://www.catswhocode.com/blog/snippets\" title=\"Cats "
157
- "Who Code Snippet Library\">Cats Who Code</a></li>\n"
158
- "\t\t\t<li><a href=\"http://www.wpfunction.me\">WP Function Me</a></li>\n"
159
- "\t\t</ul>"
160
-
161
- #: includes/edit/admin-help.php:31
162
  msgid ""
163
  "More places to find snippets, as well as a selection of example snippets, "
164
  "can be found in the <a href=\"https://github.com/sheabunge/code-snippets/"
165
- "wiki/Finding-snippets\">plugin documentation</a>"
166
  msgstr ""
167
- "Vous trouverez une collection de Snippets, ou des exemples sur la page de <a "
168
- "href=\"https://github.com/sheabunge/code-snippets/wiki/Finding-snippets"
169
- "\">documentation</a> du plugin. "
170
 
171
- #: includes/edit/admin-help.php:36
172
  msgid "Adding Snippets"
173
- msgstr "Ajout de Snippets"
174
 
175
- #: includes/edit/admin-help.php:38
176
  msgid ""
177
  "You need to fill out the name and code fields for your snippet to be added. "
178
  "While the description field will add more information about how your snippet "
179
  "works, what is does and where you found it, it is completely optional."
180
  msgstr ""
181
- "Vous devez remplir les champs Nom et Code pour ajouter un Snippet. Le champ "
182
- "description permet d'ajouter des informations sur la fonction ajoutée : "
183
- "utilité, où vous l'avez trouvé. C'est une option de confort."
184
 
185
- #: includes/edit/admin-help.php:39
186
  msgid ""
187
  "Please be sure to check that your snippet is valid PHP code and will not "
188
  "produce errors before adding it through this page. While doing so will not "
189
  "become active straight away, it will help to minimise the chance of a faulty "
190
  "snippet becoming active on your site."
191
  msgstr ""
192
- "Veuillez vérifier le code PHP de votre Snippet. En vérifiant le code avant "
193
- "d'activer le Snippet, vous vous assurerez que vous ne mettrez en danger "
194
  "votre installation."
195
 
196
- #: includes/edit/admin-help.php:43 includes/import/admin-help.php:37
197
- #: includes/manage/admin-help.php:37
198
- msgid "For more information:"
199
- msgstr "Pour plus d'informations : "
 
 
 
 
 
 
 
200
 
201
- #: includes/edit/admin-help.php:44 includes/import/admin-help.php:38
202
  msgid ""
203
- "<a href=\"http://wordpress.org/plugins/code-snippets\" target=\"_blank"
204
- "\">WordPress Extend</a>"
205
  msgstr ""
206
- "<a href=\"http://wordpress.org/plugins/code-snippets\" target=\"_blank"
207
- "\">WordPress Extend</a>"
208
 
209
- #: includes/edit/admin-help.php:45 includes/import/admin-help.php:39
210
- #: includes/manage/admin-help.php:39
211
  msgid ""
212
- "<a href=\"http://wordpress.org/support/plugin/code-snippets\" target=\"_blank"
213
- "\">Support Forums</a>"
 
 
214
  msgstr ""
215
- "<a href=\"http://wordpress.org/support/plugin/code-snippets\" target=\"_blank"
216
- "\">Support Forums</a>"
 
 
217
 
218
- #: includes/edit/admin-help.php:46 includes/import/admin-help.php:40
219
- #: includes/manage/admin-help.php:40
 
 
 
 
220
  msgid ""
221
- "<a href=\"https://sheabunge.com/plugins/code-snippets/\" target=\"_blank"
222
- "\">Project Website</a>"
223
  msgstr ""
224
- "<a href=\"https://sheabunge.com/plugins/code-snippets/\" target=\"_blank"
225
- "\">Site du Projet</a>"
226
 
227
- #: includes/edit/admin-messages.php:14
228
- msgid "An error occurred when saving the snippet."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
229
  msgstr ""
 
230
 
231
- #: includes/edit/admin-messages.php:18
232
- msgid "Snippet <strong>updated</strong> and <strong>activated</strong>."
233
- msgstr "Snippet <strong>mis à jour</strong> et <strong>activé</strong>."
234
 
235
- #: includes/edit/admin-messages.php:22
236
- msgid "Snippet <strong>added</strong> and <strong>activated</strong>."
237
- msgstr "Snippet <strong>ajouté</strong> et <strong>activaté</strong>."
 
238
 
239
- #: includes/edit/admin-messages.php:26
240
- msgid "Snippet <strong>updated</strong> and <strong>deactivated</strong>."
241
- msgstr "Snippet <strong>mis à jour</strong> et <strong>désactivaté</strong>."
242
 
243
- #: includes/edit/admin-messages.php:30
244
- msgid "Snippet <strong>updated</strong>."
245
- msgstr "Snippet <strong>mis à jour</strong>."
246
 
247
- #: includes/edit/admin-messages.php:34
248
- msgid "Snippet <strong>added</strong>."
249
- msgstr "Snippet <strong>ajouté</strong>."
250
 
251
- #: includes/edit/admin.php:26 includes/edit/edit.php:48
252
- #: includes/edit/edit.php:49
253
- msgid "Edit Snippet"
254
- msgstr "Editer"
255
 
256
- #: includes/edit/admin.php:31 includes/edit/edit.php:35
257
- #: includes/manage/admin.php:26
258
- msgid "Add New"
259
- msgstr "Nouveau"
260
 
261
- #: includes/edit/admin.php:35 includes/edit/edit.php:34
262
- msgid "Add New Snippet"
263
- msgstr "Ajouter Snippet"
264
 
265
- #: includes/edit/admin.php:52 includes/edit/admin.php:53
266
- msgid "Name (short title)"
267
- msgstr "Nom (titre court) "
268
 
269
- #: includes/edit/admin.php:58
270
- msgid "Code"
271
- msgstr "Code"
272
 
273
- #: includes/edit/admin.php:78 includes/edit/admin.php:92
274
- msgid "Save Changes and Activate"
275
- msgstr "Enregistrer et activer"
276
 
277
- #: includes/edit/admin.php:98
278
- msgid "Save Changes and Deactivate"
279
- msgstr "Enregistrer et désactiver "
280
 
281
- #: includes/edit/admin.php:108 includes/manage/class-list-table.php:140
282
- #: includes/manage/class-list-table.php:265
283
- msgid "Export"
284
- msgstr "Exporter"
285
 
286
- #: includes/edit/admin.php:115
287
- msgid ""
288
- "You are about to permanently delete this snippet.\n"
289
- "'Cancel' to stop, 'OK' to delete."
290
- msgstr ""
 
291
 
292
- #: includes/edit/admin.php:120 includes/manage/class-list-table.php:149
293
- #: includes/manage/class-list-table.php:266
294
- msgid "Delete"
295
- msgstr "Supprimer"
 
 
296
 
297
- #: includes/edit/edit.php:83 includes/manage/manage.php:67
298
- msgid "You are not authorized to access this page."
299
- msgstr ""
 
 
 
300
 
301
- #: includes/edit/edit.php:177 includes/manage/class-list-table.php:225
302
- msgid "Description"
303
- msgstr "Description"
 
 
 
304
 
305
- #: includes/edit/edit.php:204
306
- msgid "Run snippet everywhere"
307
- msgstr ""
308
 
309
- #: includes/edit/edit.php:205
310
- msgid "Only run in adminstration area"
311
- msgstr ""
312
 
313
- #: includes/edit/edit.php:206
314
- msgid "Only run on site front-end"
315
- msgstr ""
316
 
317
- #: includes/edit/edit.php:210
318
- msgid "Scope"
319
- msgstr ""
320
 
321
- #: includes/edit/edit.php:231 includes/manage/class-list-table.php:226
322
- msgid "Tags"
323
- msgstr "Étiquettes"
324
 
325
- #: includes/import/admin-help.php:18
326
- msgid ""
327
- "Snippets are similar to plugins - they both extend and expand the "
328
- "functionality of WordPress. Snippets are more light-weight, just a few lines "
329
- "of code, and do not put as much load on your server. Here you can load "
330
- "snippets from a Code Snippets (.xml) import file into the database with your "
331
- "existing snippets."
332
- msgstr ""
333
- "Les Snippets sont similaires aux plugins. Ils permettent aussi d'étendre les "
334
- "fonctionnalités de WordPress. Les Snippets sont plus légers, juste quelques "
335
- "lignes de code : cela permet à votre site de se charger plus rapidement. "
336
- "Vous pouvez en charger plusieurs en important un fichier de Snippets (.xml)."
337
 
338
- #: includes/import/admin-help.php:23
339
- msgid "Importing"
340
- msgstr "Importation"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
341
 
342
- #: includes/import/admin-help.php:25
343
  msgid ""
344
- "You can load your snippets from a code snippets (.xml) export file using "
345
- "this page."
346
  msgstr ""
347
- "Vous pouvez charger vos Snippets depuis un fichier Code Snippets (.xml) "
348
- "depuis cette page."
 
 
 
 
 
 
 
 
349
 
350
- #: includes/import/admin-help.php:26
351
- #, php-format
352
  msgid ""
353
- "Snippets will be added to the database along with your existing snippets. "
354
- "Regardless of whether the snippets were active on the previous site, "
355
- "imported snippets are always inactive until activated using the <a href=\"%s"
356
- "\">Manage Snippets</a> page.</p>"
357
  msgstr ""
358
- "Les Snippets seront ajoutés à votre base de données, en plus de ceux déjà "
359
- "existants. Tous les Snippets importés seront inactifs, même si lors de "
360
- "l'export précédent ils étaient actifs. Il vous restera à les <a href=\"%s"
361
- "\">activer</a> ensuite.</p>"
362
 
363
- #: includes/import/admin-help.php:31
364
- msgid "Exporting"
365
- msgstr "Exportation"
 
 
 
 
366
 
367
- #: includes/import/admin-help.php:33
368
- #, php-format
369
  msgid ""
370
- "You can save your snippets to a Code Snippets (.xml) export file using the "
371
- "<a href=\"%s\">Manage Snippets</a> page."
372
  msgstr ""
373
- "Vous pouvez sauvegarder vos Snippets dans un fichier de Codes (.xml) en les "
374
- "<a href=\"%s\">exportant</a> ."
375
 
376
- #: includes/import/admin-messages.php:16
377
- #, php-format
378
- msgid ""
379
- "Successfully imported <strong>%d</strong> snippet. <a href=\"%s\">Have fun!</"
380
- "a>"
381
  msgstr ""
 
 
 
 
 
 
 
 
 
 
 
 
 
 
382
 
383
- #: includes/import/admin-messages.php:30
384
- msgid "An error occurred when processing the import file."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
385
  msgstr ""
 
 
386
 
387
- #: includes/import/admin.php:18 includes/import/import.php:55
388
- msgid "Import Snippets"
389
- msgstr "Import de Snippets"
 
 
 
 
390
 
391
- #: includes/import/admin.php:22
392
  msgid ""
393
- "Howdy! Upload your Code Snippets export file and we&#8217;ll import the "
394
- "snippets to this site."
395
  msgstr ""
396
- "Salutations ! Chargez votre fichier contenant les portions de code et nous "
397
- "importerons les Snippets dans ce site."
398
 
399
- #: includes/import/admin.php:24
400
- #, php-format
401
  msgid ""
402
- "You will need to go to the <a href=\"%s\">Manage Snippets</a> page to "
403
- "activate the imported snippets."
404
  msgstr ""
405
- "Vous devez vous rendre à la page <a href=\"%s\">Gérer les Snippets</a> pour "
406
- "activer l'import de snippets."
 
 
 
 
407
 
408
- #: includes/import/admin.php:26
409
  msgid ""
410
- "Choose a Code Snippets (.xml) file to upload, then click Upload file and "
411
- "import."
412
  msgstr ""
413
- "Choisissez un fichier Code Snippets (.xml) à transférer, puis cliquez "
414
- "Transférer et Importer."
415
 
416
- #: includes/import/admin.php:33
417
- msgid "Choose a file from your computer:"
418
- msgstr "Fichier sur votre ordinateur : "
419
 
420
- #: includes/import/admin.php:34
421
- msgid "(Maximum size: 8MB)"
422
- msgstr "(Taille maxi : 8MB)"
423
 
424
- #: includes/import/admin.php:40
425
- msgid "Upload file and import"
426
- msgstr "Transférer et Importer"
427
 
428
- #: includes/import/import.php:34
429
- msgid "Code Snippets"
430
- msgstr "Code Snippets"
431
 
432
- #: includes/import/import.php:35
433
- msgid "Import snippets from a code snippets export file"
434
- msgstr "Importer les Snippets d'un fichier Code Snippets (.xml)"
435
 
436
- #: includes/import/import.php:56
437
- msgid "Import"
438
- msgstr "Importer"
439
 
440
- #: includes/import/import.php:92
441
- msgid "You are not access this page."
442
  msgstr ""
 
 
443
 
444
- #: includes/manage/admin-help.php:17
445
- msgid ""
446
- "Snippets are similar to plugins - they both extend and expand the "
447
- "functionality of WordPress. Snippets are more light-weight, just a few lines "
448
- "of code, and do not put as much load on your server. Here you can manage "
449
- "your existing snippets and perform tasks on them such as activating, "
450
- "deactivating, deleting and exporting."
451
  msgstr ""
452
- "Les Snippets sont similaires au Plugins. Les deux permettent d'étendre les "
453
- "fonctionnalités de WordPress. Les Snippets sont plus légers et permettent, "
454
- "avec quelques lignes de code, de rendre votre site plus rapide. Ici vous "
455
- "avez la possibilité de gérer vos portions de code, automatiser des tâches, "
456
- "en activant, désactivant, supprimant et exportant. "
457
 
458
- #: includes/manage/admin-help.php:22
459
- msgid "Safe Mode"
460
- msgstr "Mode sécurité "
461
 
462
- #: includes/manage/admin-help.php:24
463
- msgid ""
464
- "Be sure to check your snippets for errors before you activate them, as a "
465
- "faulty snippet could bring your whole blog down. If your site starts doing "
466
- "strange things, deactivate all your snippets and activate them one at a time."
467
  msgstr ""
468
- "Veuillez bien vérifier vos Snippets avant de les activer. Si la syntaxe "
469
- "n'est pas correcte, il est possible de rendre votre site inaccessible. Si "
470
- "vous découvrez des comportements bizarres sur votre site, désactivez tous "
471
- "vos Snippets, puis activez-les un par un."
472
 
473
- #: includes/manage/admin-help.php:25
474
- msgid ""
475
- "If something goes wrong with a snippet and you can't use WordPress, you can "
476
- "cause all snippets to stop executing by adding "
477
- "<code>define('CODE_SNIPPETS_SAFE_MODE', true);</code> to your <code>wp-"
478
- "config.php</code> file. After you have deactivated the offending snippet, "
479
- "you can turn off safe mode by removing this line or replacing <strong>true</"
480
- "strong> with <strong>false</strong>."
481
- msgstr ""
482
- "Si un problème survient suite à l'activation d'un Snippet et que votre "
483
- "installation WordPress ne fonctionne plus, vous pouvez stopper l'activation "
484
- "de tous les Snippets en ajoutant <code>define('CODE_SNIPPETS_SAFE_MODE', "
485
- "true);</code> dans votre fichier <code>wp-config.php</code>. Vous pourrez "
486
- "alors désactiver le Snippet qui pose problème, puis désactiver le mode "
487
- "sécurité en retirant la ligne <code>define('CODE_SNIPPETS_SAFE_MODE', true);"
488
- "</code> dans votre fichier <code>wp-config.php</code> ou alors changer "
489
- "<strong>true</strong> par <strong>false</strong>."
490
 
491
- #: includes/manage/admin-help.php:30
492
- msgid "Uninstall"
493
- msgstr "Désinstaller"
494
 
495
- #: includes/manage/admin-help.php:32
496
- #, php-format
497
- msgid ""
498
- "When you delete Code Snippets through the Plugins menu in WordPress it will "
499
- "clear up the <code>%1$s</code> table and a few other bits of data stored in "
500
- "the database. If you want to keep this data (ie: you are only temporally "
501
- "uninstalling Code Snippets) then remove the <code>%2$s</code> folder using "
502
- "FTP."
503
- msgstr ""
504
- "Si vous désinstallez Code Snippets depuis le menu Plugins de votre "
505
- "installation WordPress, la table <code>%1$s</code> contenant les portions de "
506
- "code sera supprimée de la base de données. Si vous voulez conserver les "
507
- "données (par exemple : désinstaller temporairement Code Snippets) supprimez "
508
- "le dossier <code>%2$s</code> via votre client FTP."
509
 
510
- #: includes/manage/admin-help.php:33
511
- msgid ""
512
- "Even if you're sure that you don't want to use Code Snippets ever again on "
513
- "this WordPress installation, you may want to use the export feature to back "
514
- "up your snippets."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
515
  msgstr ""
516
- "Même si vous êtes certain(e) de ne plus vouloir utiliser Code Snippets avec "
517
- "cette installation de WordPress, vous pouvez exporter vos Snippets."
518
 
519
- #: includes/manage/admin-help.php:38
 
 
 
 
 
520
  msgid ""
521
- "<a href=\"http://wordpress.org/plugins/code-snippets\" target=\"_blank"
522
- "\">WordPress Extend</a></p>"
523
- msgstr ""
524
- "<a href=\"http://wordpress.org/plugins/code-snippets\" target=\"_blank"
525
- "\">WordPress Extend</a></p>"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
526
 
527
- #: includes/manage/admin-messages.php:14
 
 
 
 
 
528
  msgid ""
529
  "<strong>Warning:</strong> Safe mode is active and snippets will not execute! "
530
  "Remove the <code>CODE_SNIPPETS_SAFE_MODE</code> constant from <code>wp-"
531
  "config.php</code> to turn off safe mode. <a href=\"https://github.com/"
532
  "sheabunge/code-snippets/wiki/Safe-Mode\" target=\"_blank\">Help</a>"
533
  msgstr ""
 
 
 
 
 
 
 
 
 
534
 
535
- #: includes/manage/admin-messages.php:20
536
  msgid "Snippet <strong>activated</strong>."
537
- msgstr "Snippet <strong>activaté</strong>."
538
 
539
- #: includes/manage/admin-messages.php:24
540
  msgid "Selected snippets <strong>activated</strong>."
541
- msgstr "Snippets sélectionnés <strong>activés</strong>. "
542
 
543
- #: includes/manage/admin-messages.php:28
544
  msgid "Snippet <strong>deactivated</strong>."
545
- msgstr "Snippet <strong>désactivaté</strong>."
546
 
547
- #: includes/manage/admin-messages.php:32
548
  msgid "Selected snippets <strong>deactivated</strong>."
549
- msgstr "Snippets sélectionnés <strong>désactivés</strong>. "
550
 
551
- #: includes/manage/admin-messages.php:36
552
  msgid "Snippet <strong>deleted</strong>."
553
- msgstr "Snippet <strong>supprimé</strong>."
554
 
555
- #: includes/manage/admin-messages.php:40
556
  msgid "Selected snippets <strong>deleted</strong>."
557
- msgstr "Snippets sélectionnés <strong>supprimés</strong>. "
558
 
559
- #: includes/manage/admin.php:39
560
- msgid "Search Installed Snippets"
561
- msgstr "Chercher dans les Snippets installés"
562
 
563
- #: includes/manage/class-list-table.php:52
564
- msgid "Snippets per page"
565
- msgstr "Snippets par page "
566
 
567
- #: includes/manage/class-list-table.php:115
568
- #: includes/manage/class-list-table.php:264
569
- msgid "Network Deactivate"
570
- msgstr "Désactiver réseau "
571
-
572
- #: includes/manage/class-list-table.php:115
573
- #: includes/manage/class-list-table.php:264
574
- msgid "Deactivate"
575
- msgstr "Désactiver "
576
 
577
- #: includes/manage/class-list-table.php:124
578
- #: includes/manage/class-list-table.php:263
579
- msgid "Network Activate"
580
- msgstr "Activer réseau "
581
 
582
- #: includes/manage/class-list-table.php:124
583
- #: includes/manage/class-list-table.php:263
584
- msgid "Activate"
585
- msgstr "Activer"
586
 
587
- #: includes/manage/class-list-table.php:134
588
- msgid "Edit"
589
- msgstr "Editer"
590
 
591
- #: includes/manage/class-list-table.php:156
592
- msgid ""
593
- "You are about to permanently delete the selected item.\n"
594
- "\t\t\t\t'Cancel' to stop, 'OK' to delete."
595
- msgstr ""
596
- "Vous allez supprimer définitivement la sélection.\n"
597
- "\t\t\t\t'Cancel' pour annuler, 'OK' confirmer et supprimer."
598
 
599
- #: includes/manage/class-list-table.php:164
600
- #, php-format
601
- msgid "Untitled #%d"
602
- msgstr ""
 
603
 
604
- #: includes/manage/class-list-table.php:223
605
- msgid "Name"
606
- msgstr "Nom"
 
 
607
 
608
- #: includes/manage/class-list-table.php:224
609
- msgid "ID"
610
- msgstr "ID"
611
 
612
- #: includes/manage/class-list-table.php:267
613
- msgid "Export to PHP"
614
- msgstr "Export en PHP"
615
 
616
- #: includes/manage/class-list-table.php:304
617
- #, fuzzy, php-format
618
- msgid "All <span class=\"count\">(%s)</span>"
619
- msgstr "Tout <span class=\"count\">(%s)</span>"
620
 
621
- #: includes/manage/class-list-table.php:307
622
- #, fuzzy, php-format
623
- msgid "Active <span class=\"count\">(%s)</span>"
624
- msgstr "Activer <span class=\"count\">(%s)</span>"
 
 
625
 
626
- #: includes/manage/class-list-table.php:310
627
- #, fuzzy, php-format
628
- msgid "Recently Active <span class=\"count\">(%s)</span>"
629
- msgstr "Récemment activé <span class=\"count\">(%s)</span>"
630
 
631
- #: includes/manage/class-list-table.php:313
632
- #, fuzzy, php-format
633
- msgid "Inactive <span class=\"count\">(%s)</span>"
634
- msgstr "Inactif <span class=\"count\">(%s)</span>"
635
 
636
- #: includes/manage/class-list-table.php:373
637
- msgid "Show all tags"
638
- msgstr "Montre tout les étiquettes"
639
 
640
- #: includes/manage/class-list-table.php:387
641
- msgid "Filter"
642
- msgstr "Filtre "
 
643
 
644
- #: includes/manage/class-list-table.php:395
645
- msgid "Clear List"
646
- msgstr "Vider la liste"
647
 
648
- #: includes/manage/class-list-table.php:544
649
- #, php-format
650
- msgid ""
651
- "You do not appear to have any snippets available at this time. <a href=\"%s"
652
- "\">Add New&rarr;</a>"
653
- msgstr "Aucun Snippet pour l'instant. <a href=\"%s\">En ajouter un&rarr;</a>"
654
 
655
- #: includes/manage/class-list-table.php:765
656
- msgid "Search results"
657
- msgstr "Résultats de la recherche "
658
 
659
- #: includes/manage/class-list-table.php:768
660
- #, php-format
661
- msgid " for &#8220;%s&#8221;"
662
- msgstr " pour &#8220;%s&#8221;"
 
 
 
663
 
664
- #: includes/manage/class-list-table.php:772
665
- #, php-format
666
- msgid " in tag &#8220;%s&#8221;"
667
- msgstr " dans l'étiquette &#8220;%s&#8221;"
668
 
669
- #: includes/manage/class-list-table.php:778
670
- msgid "Clear Filters"
671
- msgstr "Annuler les filtres "
 
 
 
 
 
672
 
673
- #: includes/settings/admin.php:20
674
- msgid "Snippets Settings"
675
- msgstr "Réglages Snippets"
676
 
677
- #: includes/settings/admin.php:21 includes/settings/admin.php:39
678
- msgid "Settings"
679
- msgstr "Réglages"
680
 
681
- #: includes/settings/class-settings.php:47
682
- msgid "Activate by Default"
683
- msgstr ""
684
 
685
- #: includes/settings/class-settings.php:49
686
- msgid ""
687
- "Make the 'Save and Activate' button the default action when saving a snippet."
688
- msgstr ""
689
 
690
- #: includes/settings/class-settings.php:55
691
- msgid "Enable Scope Selector"
692
- msgstr ""
693
 
694
- #: includes/settings/class-settings.php:57
695
- msgid "Enable the scope selector when editing a snippet"
696
- msgstr ""
697
 
698
- #: includes/settings/class-settings.php:95
699
  msgid "Theme"
700
  msgstr "Thème"
701
 
702
- #: includes/settings/class-settings.php:103
703
  msgid "Indent With Tabs"
704
- msgstr ""
705
 
706
- #: includes/settings/class-settings.php:105
707
  msgid "Use hard tabs (not spaces) for indentation."
708
  msgstr ""
 
709
 
710
- #: includes/settings/class-settings.php:112
711
  msgid "Tab Size"
712
- msgstr ""
713
 
714
- #: includes/settings/class-settings.php:114
715
  msgid "The width of a tab character."
716
- msgstr ""
717
 
718
- #: includes/settings/class-settings.php:121
719
  msgid "Indent Unit"
720
- msgstr ""
721
 
722
- #: includes/settings/class-settings.php:123
723
  msgid "How many spaces a block should be indented."
724
- msgstr ""
725
 
726
- #: includes/settings/class-settings.php:130
727
  msgid "Wrap Lines"
728
- msgstr ""
729
 
730
- #: includes/settings/class-settings.php:132
731
  msgid "Whether the editor should scroll or wrap for long lines."
732
  msgstr ""
 
 
733
 
734
- #: includes/settings/class-settings.php:139
735
  msgid "Line Numbers"
736
- msgstr ""
737
 
738
- #: includes/settings/class-settings.php:141
739
  msgid "Show line numbers to the left of the editor."
740
- msgstr ""
741
 
742
- #: includes/settings/class-settings.php:148
743
  msgid "Auto Close Brackets"
744
- msgstr ""
745
 
746
- #: includes/settings/class-settings.php:150
747
  msgid "Auto-close brackets and quotes when typed."
748
  msgstr ""
 
 
749
 
750
- #: includes/settings/class-settings.php:157
751
  msgid "Highlight Selection Matches"
752
- msgstr ""
753
 
754
- #: includes/settings/class-settings.php:158
755
  msgid "Highlight all instances of a currently selected word."
756
- msgstr ""
757
 
758
- #: includes/settings/settings.php:93
759
  msgid "General"
760
  msgstr "Général"
761
 
762
- #: includes/settings/settings.php:94
763
  msgid "Description Editor"
764
- msgstr ""
765
 
766
- #: includes/settings/settings.php:95
767
  msgid "Code Editor"
768
- msgstr ""
769
 
770
- #: includes/settings/settings.php:141
771
  msgid "Editor Preview"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
772
  msgstr ""
 
773
 
774
- #: includes/settings/settings.php:187
775
- msgid "Settings saved."
 
 
776
  msgstr ""
 
 
777
 
778
- #~ msgid ""
779
- #~ "An easy, clean and simple way to add code snippets to your site. No need "
780
- #~ "to edit to your theme's functions.php file again!"
781
- #~ msgstr ""
782
- #~ "Une manière simple d'ajouter des snippets, portions de code, dans votre "
783
- #~ "site. Plus besoin d'éditer le fichier functions.php de votre thème !"
 
 
784
 
785
- #~ msgid "Shea Bunge"
786
- #~ msgstr "Shea Bunge"
 
787
 
788
- #~ msgid "https://sheabunge.com"
789
- #~ msgstr "https://sheabunge.com"
 
 
 
 
 
790
 
791
- #~ msgctxt "snippet"
792
- #~ msgid "Add New"
793
- #~ msgstr "Ajouter "
 
 
 
 
794
 
795
- #~ msgid "Please provide a name for the snippet and its code."
796
- #~ msgstr "Veuillez indiauer un nom ainsi que le code pour ce Snippet. "
 
 
 
 
797
 
798
- #~ msgid "(Optional)"
799
- #~ msgstr "(Option)"
 
 
 
 
800
 
801
- #~ msgid "https://sheabunge.com/plugins/code-snippets"
802
- #~ msgstr "https://sheabunge.com/plugins/code-snippets"
 
803
 
804
- #~ msgid "Import snippets from a <strong>Code Snippets</strong> export file"
805
- #~ msgstr ""
806
- #~ "Importer des Snippets depuis un fichier <strong>Code Snippets</strong> "
807
- #~ "exporté préalablement. "
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
808
 
809
- #~ msgid "Imported <strong>%d</strong> snippet."
810
- #~ msgid_plural "Imported <strong>%d</strong> snippets."
811
- #~ msgstr[0] "Snippet <strong>%d</strong> importé."
812
- #~ msgstr[1] "Snippets <strong>%d</strong> importés."
813
 
814
- #~ msgid "1.7"
815
- #~ msgstr "1.7"
816
 
817
- #~ msgid "Sorry, you're not allowed to edit snippets"
818
- #~ msgstr "Désolé, vous n'êtes pas autorisé à éditer les Snippets "
 
 
 
 
 
 
 
 
 
 
 
819
 
820
- #~ msgid "Save Changes &amp; Activate"
821
- #~ msgstr "Enregistrer &amp; Activer"
 
 
 
 
 
 
1
+ # Copyright (C) 2019 Code Snippets
2
  # This file is distributed under the same license as the Code Snippets package.
3
  msgid ""
4
  msgstr ""
5
  "Project-Id-Version: Code Snippets\n"
6
+ "Report-Msgid-Bugs-To: https://github.com/sheabunge/code-snippets/issues\n"
7
+ "POT-Creation-Date: \n"
8
+ "PO-Revision-Date: \n"
9
+ "Last-Translator: Shea Bunge <shea@sheabunge.com>\n"
10
+ "Language-Team: \n"
11
  "Language: fr\n"
12
  "MIME-Version: 1.0\n"
13
  "Content-Type: text/plain; charset=UTF-8\n"
14
  "Content-Transfer-Encoding: 8bit\n"
15
+ "X-Poedit-Basepath: ..\n"
16
+ "X-Poedit-KeywordsList: __;_e;_ex:1,2c;_n:1,2;_n_noop:1,2;_nx:1,2,4c;"
17
+ "_nx_noop:1,2,3c;_x:1,2c;esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;"
18
+ "esc_html_e;esc_html_x:1,2c\n"
19
+ "X-Poedit-SourceCharset: UTF-8\n"
20
+ "Plural-Forms: nplurals=2; plural=(n > 1);\n"
21
+ "X-Generator: Poedit 2.2.1\n"
22
+ "X-Poedit-SearchPath-0: .\n"
23
+ "X-Poedit-SearchPathExcluded-0: *.js\n"
24
+
25
+ #: code-snippets.php:16, php/admin-menus/class-import-menu.php:102
26
+ msgid "Code Snippets"
27
+ msgstr "Extraits de code"
28
+
29
+ #: code-snippets.php:17
30
+ msgid "https://github.com/sheabunge/code-snippets"
31
+ msgstr "https://github.com/sheabunge/code-snippets"
32
+
33
+ #: code-snippets.php:18
34
+ msgid ""
35
+ "An easy, clean and simple way to add code snippets to your site. No need to "
36
+ "edit to your theme's functions.php file again!"
37
+ msgstr ""
38
+ "Un manière simple d’ajouter des extraits de code dans votre site. Plus "
39
+ "besoin d'éditer le fichier functions.php de votre thème !"
40
+
41
+ #: code-snippets.php:19
42
+ msgid "Shea Bunge"
43
+ msgstr "Shea Bunge"
44
 
45
+ #: code-snippets.php:20
46
+ msgid "https://sheabunge.com"
47
+ msgstr "https://sheabunge.com"
48
+
49
+ #: php/class-admin.php:68, php/class-admin.php:129,
50
+ #: php/admin-menus/class-manage-menu.php:23,
51
+ #: php/admin-menus/class-manage-menu.php:52,
52
+ #: php/admin-menus/class-manage-menu.php:91, php/views/manage.php:21
53
  msgid "Snippets"
54
+ msgstr "Extraits de code"
55
 
56
+ #: php/class-admin.php:69
57
+ msgid "Snippets &raquo; Settings"
58
+ msgstr "Extraits de code &raquo; Réglages"
59
 
60
+ #: php/class-admin.php:128
61
+ msgid "Manage your existing snippets"
62
+ msgstr "Gérer les extraits de code existants"
63
 
64
+ #: php/class-admin.php:159
65
  msgid "Visit the WordPress.org plugin page"
66
+ msgstr "Voir le page WordPress.org de l’extension"
67
 
68
+ #: php/class-admin.php:160
69
  msgid "About"
70
+ msgstr "À propos"
71
 
72
+ #: php/class-admin.php:164
73
  msgid "Visit the support forums"
74
+ msgstr "Voir le forum de support"
75
 
76
+ #: php/class-admin.php:165
77
  msgid "Support"
78
  msgstr "Support"
79
 
80
+ #: php/class-admin.php:169
81
  msgid "Support this plugin's development"
82
+ msgstr "Aider au développement de la extension"
83
 
84
+ #: php/class-admin.php:170
85
  msgid "Donate"
86
  msgstr "Faire un don"
87
 
88
+ #: php/class-admin.php:202
89
  msgid ""
90
  "<strong>Have feedback on Code Snippets?</strong> Please take the time to "
91
  "answer a short survey on how you use this plugin and what you'd like to see "
92
  "changed or added in the future."
93
  msgstr ""
94
+ "<strong>Avez-vous des commentaires sur Code Snippets ?</strong> Veuillez "
95
+ "prendre le temps de répondre à un bref sondage sur votre utilisation de "
96
+ "cette extension et sur ce que vous souhaiteriez voir modifié ou ajouté à "
97
+ "l’avenir."
98
 
99
+ #: php/class-admin.php:206
100
  msgid "Take the survey now"
101
+ msgstr "Répondez au sondage maintenant"
102
 
103
+ #: php/class-admin.php:209
104
+ msgid "Dismiss"
105
+ msgstr "Ignorer"
 
 
106
 
107
+ #: php/class-contextual-help.php:45
108
+ msgid "For more information:"
109
+ msgstr "Pour plus d'informations :"
110
 
111
+ #: php/class-contextual-help.php:46
112
+ msgid "About Plugin"
113
+ msgstr "À propos de l’extension"
114
 
115
+ #: php/class-contextual-help.php:47
116
+ msgid "FAQ"
117
+ msgstr "Foire aux questions"
118
+
119
+ #: php/class-contextual-help.php:48
120
+ msgid "Support Forum"
121
+ msgstr "Le forum de support"
122
 
123
+ #: php/class-contextual-help.php:49
124
+ msgid "Plugin Website"
125
+ msgstr "Site de l’extension"
126
+
127
+ #: php/class-contextual-help.php:58
128
  msgid ""
129
+ "Snippets are similar to plugins - they both extend and expand the "
130
+ "functionality of WordPress. Snippets are more light-weight, just a few lines "
131
+ "of code, and do not put as much load on your server."
132
  msgstr ""
133
+ "Les extraits de code sont similaires aux extensions. Les deux permettent "
134
+ "d’étendre les les fonctionnalités de WordPress. Les extraits de code sont "
135
+ "plus légers et permettent, avec quelques lignes de code, de rendre votre "
136
+ "site plus rapide."
137
 
138
+ #: php/class-contextual-help.php:68, php/class-contextual-help.php:89,
139
+ #: php/class-contextual-help.php:132
140
+ msgid "Overview"
141
+ msgstr "Vue d’ensemble"
142
 
143
+ #: php/class-contextual-help.php:70
144
+ msgid ""
145
+ " Here you can manage your existing snippets and perform tasks on them such "
146
+ "as activating, deactivating, deleting and exporting."
147
  msgstr ""
148
+ " Sur cette page, vous pouvez gérer vos extraits de code existants et les "
149
+ "activer, les désactiver, les supprimer et les exporter."
150
 
151
+ #: php/class-contextual-help.php:75
152
+ msgid "Safe Mode"
153
+ msgstr "Le mode sans échec"
154
 
155
+ #: php/class-contextual-help.php:77
156
  msgid ""
157
+ "Be sure to check your snippets for errors before you activate them, as a "
158
+ "faulty snippet could bring your whole blog down. If your site starts doing "
159
+ "strange things, deactivate all your snippets and activate them one at a time."
160
  msgstr ""
161
+ "Veuillez bien vérifier vos extraits de code avant de les activer. Si la "
162
+ "syntaxe n’est pas correcte, il est possible de rendre votre site "
163
+ "inaccessible. Si vous découvrez des comportements bizarres sur votre site, "
164
+ "désactivez tous vos extraits, puis activez-les un par un."
165
 
166
+ #: php/class-contextual-help.php:78
167
  msgid ""
168
+ "If something goes wrong with a snippet and you can't use WordPress, you can "
169
+ "cause all snippets to stop executing by adding "
170
+ "<code>define('CODE_SNIPPETS_SAFE_MODE', true);</code> to your <code>wp-"
171
+ "config.php</code> file. After you have deactivated the offending snippet, "
172
+ "you can turn off safe mode by removing this line or replacing <strong>true</"
173
+ "strong> with <strong>false</strong>."
174
  msgstr ""
175
+ "Si un problème survient suite à l’activation d’un extrait de code et que "
176
+ "votre installation WordPress ne fonctionne plus, vous pouvez stopper "
177
+ "l’activation de tous les extraits en ajoutant "
178
+ "<code>define('CODE_SNIPPETS_SAFE_MODE', true);</code> dans votre fichier "
179
+ "<code>wp-config.php</code>. Vous pourrez alors désactiver l’extrait de code "
180
+ "qui pose problème, puis désactiver le mode sécurité en retirant la ligne "
181
+ "<code>define('CODE_SNIPPETS_SAFE_MODE', true);</code> dans votre fichier "
182
+ "<code>wp-config.php</code> ou alors changer <strong>true</strong> par "
183
+ "<strong>false</strong>."
184
 
185
+ #: php/class-contextual-help.php:90
186
+ msgid " Here you can add a new snippet, or edit an existing one."
 
 
 
 
 
 
 
 
 
187
  msgstr ""
188
+ " Sur cette page, vous pouvez ajouter un nouvel extrait de code ou modifier "
189
+ "un extrait existant."
190
+
191
+ #: php/class-contextual-help.php:94
192
+ msgid "WP Function Me"
193
+ msgstr "WP Fonction Me"
194
 
195
+ #: php/class-contextual-help.php:94
196
+ msgid "https://www.wpfunction.me"
197
+ msgstr "http://www.wpfunction.me"
198
+
199
+ #: php/class-contextual-help.php:95
200
+ msgid "CSS-Tricks"
201
+ msgstr "CSS-Tricks"
202
+
203
+ #: php/class-contextual-help.php:95
204
+ msgid "https://css-tricks.com/snippets/wordpress/"
205
+ msgstr "https://css-tricks.com/snippets/wordpress/"
206
+
207
+ #: php/class-contextual-help.php:96
208
+ msgid "WordPress Stack Exchange"
209
+ msgstr "WordPress Stack Exchange"
210
+
211
+ #: php/class-contextual-help.php:96
212
+ msgid "https://wordpress.stackexchange.com/"
213
+ msgstr "https://wordpress.stackexchange.com/"
214
+
215
+ #: php/class-contextual-help.php:97
216
+ msgid "WP Beginner"
217
+ msgstr "WP Beginner"
218
+
219
+ #: php/class-contextual-help.php:97
220
+ msgid "https://www.wpbeginner.com/category/wp-tutorials/"
221
+ msgstr "https://www.wpbeginner.com/category/wp-tutorials/"
222
+
223
+ #: php/class-contextual-help.php:98
224
+ msgid "GenerateWP"
225
+ msgstr "GenerateWP"
226
+
227
+ #: php/class-contextual-help.php:98
228
+ msgid "https://generatewp.com"
229
+ msgstr "https://generatewp.com"
230
+
231
+ #: php/class-contextual-help.php:108
232
  msgid "Finding Snippets"
233
+ msgstr "Trouver des extraits de code"
234
 
235
+ #: php/class-contextual-help.php:110
236
  msgid ""
237
  "Here are some links to websites which host a large number of snippets that "
238
+ "you can add to your site:"
 
 
 
 
 
 
 
 
 
239
  msgstr ""
240
  "Voici quelques liens vers des sites qui proposent une large panoplie de "
241
+ "extraits de code que vous pouvez ajouter à votre installation :"
242
+
243
+ #: php/class-contextual-help.php:112
 
 
 
 
 
 
 
 
 
244
  msgid ""
245
  "More places to find snippets, as well as a selection of example snippets, "
246
  "can be found in the <a href=\"https://github.com/sheabunge/code-snippets/"
247
+ "wiki/Finding-snippets\">plugin documentation</a>."
248
  msgstr ""
249
+ "Vous trouverez une collection d’extraits de code et des autres exemples sur "
250
+ "<a href=\"https://github.com/sheabunge/code-snippets/wiki/Finding-snippets"
251
+ "\">la page de documentation de l’extension</a>."
252
 
253
+ #: php/class-contextual-help.php:117
254
  msgid "Adding Snippets"
255
+ msgstr "Ajout d’extraits de code"
256
 
257
+ #: php/class-contextual-help.php:119
258
  msgid ""
259
  "You need to fill out the name and code fields for your snippet to be added. "
260
  "While the description field will add more information about how your snippet "
261
  "works, what is does and where you found it, it is completely optional."
262
  msgstr ""
263
+ "Vous devez remplir les champs titre et code pour ajouter un extrait. Le "
264
+ "champ description permet dajouter des informations sur la fonction "
265
+ "ajoutée : utilité, où vous lavez trouvé. Cest une option de confort."
266
 
267
+ #: php/class-contextual-help.php:120
268
  msgid ""
269
  "Please be sure to check that your snippet is valid PHP code and will not "
270
  "produce errors before adding it through this page. While doing so will not "
271
  "become active straight away, it will help to minimise the chance of a faulty "
272
  "snippet becoming active on your site."
273
  msgstr ""
274
+ "Veuillez vérifier le code PHP de votre extrait de code. En vérifiant le code "
275
+ "avant dactiver l’extrait, vous vous assurerez que vous ne mettrez en danger "
276
  "votre installation."
277
 
278
+ #: php/class-contextual-help.php:134
279
+ msgid ""
280
+ " Here you can load snippets from a code snippets export file into the "
281
+ "database alongside existing snippets."
282
+ msgstr ""
283
+ " Vous pouvez charger des extraits de code depuis un fichier exporter sur "
284
+ "cette page."
285
+
286
+ #: php/class-contextual-help.php:139
287
+ msgid "Importing"
288
+ msgstr "Importation"
289
 
290
+ #: php/class-contextual-help.php:141
291
  msgid ""
292
+ "You can load your snippets from a code snippets export file using this page."
 
293
  msgstr ""
294
+ "Vous pouvez importer des extraits de code à partir d’un fichier "
295
+ "d’exportation sur cette page."
296
 
297
+ #. translators: %s: URL to Snippets admin menu
298
+ #: php/class-contextual-help.php:143
299
  msgid ""
300
+ "Imported snippets will be added to the database along with your existing "
301
+ "snippets. Regardless of whether the snippets were active on the previous "
302
+ "site, imported snippets are always inactive until activated using the <a "
303
+ "href=\"%s\">Manage Snippets</a> page."
304
  msgstr ""
305
+ "Les extraits de code importé seront ajoutés à votre base de données, aux "
306
+ "côtés de ceux déjà existants. Tous les extraits de code importés seront "
307
+ "inactifs, même si ils étaient actifs sur la site précédent. Vous pouvez les "
308
+ "activer sur la page <a href=\"%s\">gérer extraits de code</a>."
309
 
310
+ #: php/class-contextual-help.php:148
311
+ msgid "Exporting"
312
+ msgstr "Exportation"
313
+
314
+ #. translators: %s: URL to Manage Snippets admin menu
315
+ #: php/class-contextual-help.php:150
316
  msgid ""
317
+ "You can save your snippets to a code snippets export file using the <a href="
318
+ "\"%s\">Manage Snippets</a> page."
319
  msgstr ""
320
+ "Vous pouvez sauvegarder vos extraits de code dans un fichier d’exportation "
321
+ "sur la page <a href=\"%s\">gérer extraits de code</a>."
322
 
323
+ #: php/class-list-table.php:58
324
+ msgid "Snippets per page"
325
+ msgstr "Extraits de code par page"
326
+
327
+ #: php/class-list-table.php:148
328
+ msgid "Network Active"
329
+ msgstr "Activé sur le réseau"
330
+
331
+ #: php/class-list-table.php:150
332
+ msgid "Network Only"
333
+ msgstr "Réseau seul"
334
+
335
+ #: php/class-list-table.php:156
336
+ msgid "Edit"
337
+ msgstr "Éditer"
338
+
339
+ #: php/class-list-table.php:157, php/class-list-table.php:378
340
+ msgid "Clone"
341
+ msgstr "Clone"
342
+
343
+ #: php/class-list-table.php:158, php/class-list-table.php:380,
344
+ #: php/views/edit.php:157
345
+ msgid "Export"
346
+ msgstr "Exporter"
347
+
348
+ #: php/class-list-table.php:167, php/class-list-table.php:381,
349
+ #: php/views/edit.php:170
350
+ msgid "Delete"
351
+ msgstr "Supprimer"
352
+
353
+ #: php/class-list-table.php:171
354
+ msgid "You are about to permanently delete the selected item."
355
  msgstr ""
356
+ "Vous êtes sur le point de supprimer définitivement l’élément sélectionné."
357
 
358
+ #: php/class-list-table.php:172, php/views/edit.php:165
359
+ msgid "'Cancel' to stop, 'OK' to delete."
360
+ msgstr "‘Annuler’ pour arrêter, ‘OK’ pour supprimer."
361
 
362
+ #. translators: %d: snippet identifier
363
+ #: php/class-list-table.php:234
364
+ msgid "Untitled #%d"
365
+ msgstr "Sans titre #%d"
366
 
367
+ #: php/class-list-table.php:258
368
+ msgid "Shared on Network"
369
+ msgstr "Partagé sur le réseau"
370
 
371
+ #: php/class-list-table.php:335, php/views/edit.php:79
372
+ msgid "Name"
373
+ msgstr "Nom"
374
 
375
+ #: php/class-list-table.php:336
376
+ msgid "ID"
377
+ msgstr "ID"
378
 
379
+ #: php/class-list-table.php:337, php/admin-menus/class-edit-menu.php:309
380
+ msgid "Description"
381
+ msgstr "Description"
 
382
 
383
+ #: php/class-list-table.php:338, php/admin-menus/class-edit-menu.php:342
384
+ msgid "Tags"
385
+ msgstr "Étiquettes"
 
386
 
387
+ #: php/class-list-table.php:339, php/admin-menus/class-edit-menu.php:361
388
+ msgid "Priority"
389
+ msgstr "Priorité"
390
 
391
+ #: php/class-list-table.php:376
392
+ msgid "Network Activate"
393
+ msgstr "Activer sur le réseau"
394
 
395
+ #: php/class-list-table.php:376
396
+ msgid "Activate"
397
+ msgstr "Activer"
398
 
399
+ #: php/class-list-table.php:377
400
+ msgid "Network Deactivate"
401
+ msgstr "Désactiver sur le réseau"
402
 
403
+ #: php/class-list-table.php:377
404
+ msgid "Deactivate"
405
+ msgstr "Désactiver"
406
 
407
+ #: php/class-list-table.php:379, php/views/edit.php:152
408
+ msgid "Download"
409
+ msgstr "Télécharger"
 
410
 
411
+ #. translators: %s: total number of snippets
412
+ #: php/class-list-table.php:423
413
+ msgid "All <span class=\"count\">(%s)</span>"
414
+ msgid_plural "All <span class=\"count\">(%s)</span>"
415
+ msgstr[0] "Tout <span class=\"count\">(%s)</span>"
416
+ msgstr[1] "Tous <span class=\"count\">(%s)</span>"
417
 
418
+ #. translators: %s: total number of active snippets
419
+ #: php/class-list-table.php:426
420
+ msgid "Active <span class=\"count\">(%s)</span>"
421
+ msgid_plural "Active <span class=\"count\">(%s)</span>"
422
+ msgstr[0] "Activé <span class=\"count\">(%s)</span>"
423
+ msgstr[1] "Activés <span class=\"count\">(%s)</span>"
424
 
425
+ #. translators: %s: total number of inactive snippets
426
+ #: php/class-list-table.php:429
427
+ msgid "Inactive <span class=\"count\">(%s)</span>"
428
+ msgid_plural "Inactive <span class=\"count\">(%s)</span>"
429
+ msgstr[0] "Désactivé <span class=\"count\">(%s)</span>"
430
+ msgstr[1] "Désactivés <span class=\"count\">(%s)</span>"
431
 
432
+ #. translators: %s: total number of recently activated snippets
433
+ #: php/class-list-table.php:432
434
+ msgid "Recently Active <span class=\"count\">(%s)</span>"
435
+ msgid_plural "Recently Active <span class=\"count\">(%s)</span>"
436
+ msgstr[0] "Récemment désactivé <span class=\"count\">(%s)</span>"
437
+ msgstr[1] "Récemment désactivés <span class=\"count\">(%s)</span>"
438
 
439
+ #: php/class-list-table.php:501
440
+ msgid "Show all tags"
441
+ msgstr "Montre tout les étiquettes"
442
 
443
+ #: php/class-list-table.php:515
444
+ msgid "Filter"
445
+ msgstr "Filtre"
446
 
447
+ #: php/class-list-table.php:523
448
+ msgid "Clear List"
449
+ msgstr "Vider la liste"
450
 
451
+ #: php/class-list-table.php:723
452
+ msgid "It looks like you don't have any snippets."
453
+ msgstr "Vous n’avez aucun extraits de code."
454
 
455
+ #: php/class-list-table.php:727
456
+ msgid "Perhaps you would like to add a new one?"
457
+ msgstr "Voulez-vous en ajouter un nouveau ?"
458
 
459
+ #: php/class-list-table.php:1024
460
+ msgid "Search results"
461
+ msgstr "Résultats de la recherche"
 
 
 
 
 
 
 
 
 
462
 
463
+ #. translators: %s: search query
464
+ #: php/class-list-table.php:1028
465
+ msgid " for &ldquo;%s&rdquo;"
466
+ msgstr " pour &ldquo;%s&rdquo;"
467
+
468
+ #. translators: %s: tag name
469
+ #: php/class-list-table.php:1033
470
+ msgid " in tag &ldquo;%s&rdquo;"
471
+ msgstr " dans l'étiquette &ldquo;%s&rdquo;"
472
+
473
+ #: php/class-list-table.php:1042
474
+ msgid "Clear Filters"
475
+ msgstr "Effacer les filtres"
476
+
477
+ #: php/class-upgrade.php:146
478
+ msgid "Example HTML shortcode"
479
+ msgstr "Exemple de shortcode HTML"
480
+
481
+ #: php/class-upgrade.php:149
482
+ msgid "write your HTML shortcode content here"
483
+ msgstr "écrivez votre contenu shortcode HTML ici"
484
 
485
+ #: php/class-upgrade.php:151
486
  msgid ""
487
+ "This is an example snippet for demonstrating how to add an HTML shortcode."
 
488
  msgstr ""
489
+ "Ceci est un exemple d’extrait de code qui montre comment ajouter un code "
490
+ "court HTML."
491
+
492
+ #: php/class-upgrade.php:156
493
+ msgid "Example CSS snippet"
494
+ msgstr "Exemple extrait de code CSS"
495
+
496
+ #: php/class-upgrade.php:159
497
+ msgid "write your CSS code here"
498
+ msgstr "écrivez votre code CSS ici"
499
 
500
+ #: php/class-upgrade.php:161
 
501
  msgid ""
502
+ "This is an example snippet for demonstrating how to add custom CSS code to "
503
+ "your website."
 
 
504
  msgstr ""
505
+ "Ceci un exemple d’extrait de code qui montre comment ajouter du code CSS "
506
+ "personnalisé à votre site."
 
 
507
 
508
+ #: php/class-upgrade.php:167
509
+ msgid "Example JavaScript snippet"
510
+ msgstr "Exemple extrait de code JavaScript"
511
+
512
+ #: php/class-upgrade.php:170
513
+ msgid "write your JavaScript code here"
514
+ msgstr "écrivez votre code JavaScript ici"
515
 
516
+ #: php/class-upgrade.php:172
 
517
  msgid ""
518
+ "This is an example snippet for demonstrating how to add custom JavaScript "
519
+ "code to your website."
520
  msgstr ""
521
+ "Ceci un exemple d’extrait de code qui montre comment ajouter du code "
522
+ "JavaScript personnalisé à votre site."
523
 
524
+ #: php/class-upgrade.php:180
525
+ msgid "You can remove it, or edit it to add your own content."
 
 
 
526
  msgstr ""
527
+ "Vous pouvez le supprimer ou l’éditeur pour ajouter votre propre contenu."
528
+
529
+ #: php/admin-menus/class-admin-menu.php:107
530
+ msgid "You are not authorized to access this page."
531
+ msgstr "Vous n’êtes pas autorisé à accéder à cette page."
532
+
533
+ #: php/admin-menus/class-edit-menu.php:13
534
+ msgctxt "menu label"
535
+ msgid "Edit Snippet"
536
+ msgstr "Éditer l'extrait"
537
+
538
+ #: php/admin-menus/class-edit-menu.php:14, php/views/edit.php:32
539
+ msgid "Edit Snippet"
540
+ msgstr "Éditer l'extrait de code"
541
 
542
+ #: php/admin-menus/class-edit-menu.php:39
543
+ msgctxt "menu label"
544
+ msgid "Add New"
545
+ msgstr "Ajouter"
546
+
547
+ #: php/admin-menus/class-edit-menu.php:40, php/views/edit.php:38
548
+ msgid "Add New Snippet"
549
+ msgstr "Ajouter un nouvel extrait de code"
550
+
551
+ #: php/admin-menus/class-edit-menu.php:161
552
+ msgid "Don't Panic"
553
+ msgstr "Ne paniquez pas"
554
+
555
+ #. translators: %d: line where error was produced
556
+ #: php/admin-menus/class-edit-menu.php:163
557
+ msgid ""
558
+ "The code snippet you are trying to save produced a fatal error on line %d:"
559
  msgstr ""
560
+ "L’extrait de code que vous essayez d’enregistrer a généré une erreur sur la "
561
+ "ligne %d :"
562
 
563
+ #: php/admin-menus/class-edit-menu.php:165
564
+ msgid ""
565
+ "The previous version of the snippet is unchanged, and the rest of this site "
566
+ "should be functioning normally as before."
567
+ msgstr ""
568
+ "La version précédente de l’extrait de code n’est pas modifiée et le reste de "
569
+ "ce site devrait fonctionner normalement comme auparavant."
570
 
571
+ #: php/admin-menus/class-edit-menu.php:166
572
  msgid ""
573
+ "Please use the back button in your browser to return to the previous page "
574
+ "and try to fix the code error."
575
  msgstr ""
576
+ "Veuillez utiliser le bouton précédent de votre navigateur pour revenir à la "
577
+ "page précédente et essayer de corriger l’erreur de code."
578
 
579
+ #: php/admin-menus/class-edit-menu.php:167
 
580
  msgid ""
581
+ "If you prefer, you can close this page and discard the changes you just "
582
+ "made. No changes will be made to this site."
583
  msgstr ""
584
+ "Si vous préférez, vous pouvez fermer cette page et ignorer les modifications "
585
+ "que vous venez d’apporter. Aucune modification ne sera apportée à ce site."
586
+
587
+ #: php/admin-menus/class-edit-menu.php:347
588
+ msgid "Enter a list of tags; separated by commas"
589
+ msgstr "Entrez une liste d’étiquettes, séparés par des virgules"
590
 
591
+ #: php/admin-menus/class-edit-menu.php:360
592
  msgid ""
593
+ "Snippets with a lower priority number will run before those with a higher "
594
+ "number."
595
  msgstr ""
596
+ "Les extraits de code avec un numéro de priorité inférieur seront exécutés "
597
+ "avant ceux avec un numéro plus élevé."
598
 
599
+ #: php/admin-menus/class-edit-menu.php:378
600
+ msgid "Run snippet everywhere"
601
+ msgstr "Exécuter l’extrait partout"
602
 
603
+ #: php/admin-menus/class-edit-menu.php:379
604
+ msgid "Only run in administration area"
605
+ msgstr "Ne fonctionne que dans la zone d’administration"
606
 
607
+ #: php/admin-menus/class-edit-menu.php:380
608
+ msgid "Only run on site front-end"
609
+ msgstr "Ne fonctionne que sur le site en ligne"
610
 
611
+ #: php/admin-menus/class-edit-menu.php:381
612
+ msgid "Only run once"
613
+ msgstr "Ne fonctionne qu’une fois"
614
 
615
+ #: php/admin-menus/class-edit-menu.php:384
616
+ msgid "Scope"
617
+ msgstr "Étendu"
618
 
619
+ #: php/admin-menus/class-edit-menu.php:405
620
+ msgid "Sharing Settings"
621
+ msgstr "Réglages de partage"
622
 
623
+ #: php/admin-menus/class-edit-menu.php:409
624
+ msgid "Allow this snippet to be activated on individual sites on the network"
625
  msgstr ""
626
+ "Autoriser l’activation de cet extrait de code sur des sites individuels du "
627
+ "réseau"
628
 
629
+ #. translators: %d: line of file where error originated
630
+ #: php/admin-menus/class-edit-menu.php:470
631
+ msgid "The snippet has been deactivated due to an error on line %d:"
 
 
 
 
632
  msgstr ""
633
+ "L'extrait de code a été désactivé en raison d’une erreur sur la ligne %d :"
 
 
 
 
634
 
635
+ #: php/admin-menus/class-edit-menu.php:475
636
+ msgid "The snippet has been deactivated due to an error in the code."
637
+ msgstr "L'extrait de code a été désactivé en raison d’une erreur dans le code."
638
 
639
+ #: php/admin-menus/class-edit-menu.php:482
640
+ msgid "An error occurred when saving the snippet."
 
 
 
641
  msgstr ""
642
+ "Une erreur s’est produite lors de l’enregistrement de l'extrait de code."
 
 
 
643
 
644
+ #: php/admin-menus/class-edit-menu.php:488
645
+ msgid "Snippet <strong>added</strong>."
646
+ msgstr "Extrait <strong>ajouté</strong>."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
647
 
648
+ #: php/admin-menus/class-edit-menu.php:489
649
+ msgid "Snippet <strong>updated</strong>."
650
+ msgstr "Extrait <strong>mis à jour</strong>."
651
 
652
+ #: php/admin-menus/class-edit-menu.php:490
653
+ msgid "Snippet <strong>added</strong> and <strong>activated</strong>."
654
+ msgstr "Extrait <strong>ajouté</strong> et <strong>activaté</strong>."
 
 
 
 
 
 
 
 
 
 
 
655
 
656
+ #: php/admin-menus/class-edit-menu.php:491
657
+ msgid "Snippet <strong>added</strong> and <strong>executed</strong>."
658
+ msgstr "Extrait <strong>ajouté</strong> et <strong>exécuté</strong>."
659
+
660
+ #: php/admin-menus/class-edit-menu.php:492
661
+ msgid "Snippet <strong>updated</strong> and <strong>activated</strong>."
662
+ msgstr "Extrait <strong>mis à jour</strong> et <strong>activé</strong>."
663
+
664
+ #: php/admin-menus/class-edit-menu.php:493
665
+ msgid "Snippet <strong>updated</strong> and <strong>deactivated</strong>."
666
+ msgstr "Extrait <strong>mis à jour</strong> et <strong>désactivaté</strong>."
667
+
668
+ #: php/admin-menus/class-import-menu.php:15
669
+ msgctxt "menu label"
670
+ msgid "Import"
671
+ msgstr "Importer"
672
+
673
+ #: php/admin-menus/class-import-menu.php:16, php/views/import.php:19
674
+ msgid "Import Snippets"
675
+ msgstr "Importer des extraits de code"
676
+
677
+ #: php/admin-menus/class-import-menu.php:103
678
+ msgid "Import snippets from a code snippets export file"
679
+ msgstr "Importer des extraits de code d'un fichier d’exportation"
680
+
681
+ #: php/admin-menus/class-import-menu.php:115
682
+ msgid "An error occurred when processing the import files."
683
  msgstr ""
684
+ "Une erreur s’est produite lors du traitement des fichiers d'importation."
 
685
 
686
+ #: php/admin-menus/class-import-menu.php:125
687
+ msgid "No snippets were imported."
688
+ msgstr "Aucun extrait de code n’a été importés."
689
+
690
+ #. translators: 1: amount of snippets imported, 2: link to Snippets menu
691
+ #: php/admin-menus/class-import-menu.php:131
692
  msgid ""
693
+ "Successfully imported <strong>%1$d</strong> snippet. <a href=\"%2$s\">Have "
694
+ "fun!</a>"
695
+ msgid_plural ""
696
+ "Successfully imported <strong>%1$d</strong> snippets. <a href=\"%2$s\">Have "
697
+ "fun!</a>"
698
+ msgstr[0] ""
699
+ "Importé <strong>%1$d</strong> extrait de code avec succès. <a href=\"%2$s"
700
+ "\">Amusez-vous bien !</a>"
701
+ msgstr[1] ""
702
+ "Importés <strong>%1$d</strong> extraits de code avec succès. <a href=\"%2$s"
703
+ "\">Amusez-vous bien !</a>"
704
+
705
+ #: php/admin-menus/class-manage-menu.php:22
706
+ msgctxt "menu label"
707
+ msgid "All Snippets"
708
+ msgstr "Tous les extraits"
709
+
710
+ #: php/admin-menus/class-manage-menu.php:53
711
+ msgctxt "top-level menu label"
712
+ msgid "Snippets"
713
+ msgstr "Extraits"
714
 
715
+ #: php/admin-menus/class-manage-menu.php:92
716
+ msgctxt "tools submenu label"
717
+ msgid "Snippets"
718
+ msgstr "Extraits de code"
719
+
720
+ #: php/admin-menus/class-manage-menu.php:145
721
  msgid ""
722
  "<strong>Warning:</strong> Safe mode is active and snippets will not execute! "
723
  "Remove the <code>CODE_SNIPPETS_SAFE_MODE</code> constant from <code>wp-"
724
  "config.php</code> to turn off safe mode. <a href=\"https://github.com/"
725
  "sheabunge/code-snippets/wiki/Safe-Mode\" target=\"_blank\">Help</a>"
726
  msgstr ""
727
+ "<strong>Avertissement :</strong> Le mode sans échec est activé et les "
728
+ "extraits de code ne s’exécutent pas ! Supprimez la constante "
729
+ "<code>CODE_SNIPPETS_SAFE_MODE</code> de <code>wp-config.php</code> pour "
730
+ "désactiver le mode sans échec. <a href=\"https://github.com/sheabunge/code-"
731
+ "snippets/wiki/Safe-Mode\" target=\"_blank\">Aide</a>"
732
+
733
+ #: php/admin-menus/class-manage-menu.php:151
734
+ msgid "Snippet <strong>executed</strong>."
735
+ msgstr "Extrait <strong>exécuté</strong>."
736
 
737
+ #: php/admin-menus/class-manage-menu.php:152
738
  msgid "Snippet <strong>activated</strong>."
739
+ msgstr "Extrait <strong>activé</strong>."
740
 
741
+ #: php/admin-menus/class-manage-menu.php:153
742
  msgid "Selected snippets <strong>activated</strong>."
743
+ msgstr "Les extraits sélectionnés ont été <strong>activés</strong>."
744
 
745
+ #: php/admin-menus/class-manage-menu.php:154
746
  msgid "Snippet <strong>deactivated</strong>."
747
+ msgstr "Extrait <strong>désactivé</strong>."
748
 
749
+ #: php/admin-menus/class-manage-menu.php:155
750
  msgid "Selected snippets <strong>deactivated</strong>."
751
+ msgstr "Les extraits sélectionnés ont été <strong>désactivés</strong>."
752
 
753
+ #: php/admin-menus/class-manage-menu.php:156
754
  msgid "Snippet <strong>deleted</strong>."
755
+ msgstr "Extrait <strong>supprimé</strong>."
756
 
757
+ #: php/admin-menus/class-manage-menu.php:157
758
  msgid "Selected snippets <strong>deleted</strong>."
759
+ msgstr "Les extraits sélectionnés ont été <strong>supprimés</strong>."
760
 
761
+ #: php/admin-menus/class-manage-menu.php:158
762
+ msgid "Snippet <strong>cloned</strong>."
763
+ msgstr "Extrait <strong>cloné</strong>."
764
 
765
+ #: php/admin-menus/class-manage-menu.php:159
766
+ msgid "Selected snippets <strong>cloned</strong>."
767
+ msgstr "Les extraits sélectionnés ont été <strong>clonés</strong>."
768
 
769
+ #: php/admin-menus/class-settings-menu.php:16
770
+ msgctxt "menu label"
771
+ msgid "Settings"
772
+ msgstr "Réglages"
 
 
 
 
 
773
 
774
+ #: php/admin-menus/class-settings-menu.php:17
775
+ msgid "Snippets Settings"
776
+ msgstr "Réglages des extraits"
 
777
 
778
+ #: php/admin-menus/class-settings-menu.php:36
779
+ msgid "All settings have been reset to their defaults."
780
+ msgstr "Tous les réglages ont été réinitialisés à leurs valeurs par défaut."
 
781
 
782
+ #: php/admin-menus/class-settings-menu.php:77
783
+ msgid "Settings"
784
+ msgstr "Réglages"
785
 
786
+ #: php/admin-menus/class-settings-menu.php:82, php/views/edit.php:46,
787
+ #: php/views/import.php:26
788
+ msgctxt "snippets"
789
+ msgid "Manage"
790
+ msgstr "Gérer"
 
 
791
 
792
+ #: php/admin-menus/class-settings-menu.php:87, php/views/edit.php:35,
793
+ #: php/views/import.php:31, php/views/manage.php:24
794
+ msgctxt "snippet"
795
+ msgid "Add New"
796
+ msgstr "Nouveau"
797
 
798
+ #: php/admin-menus/class-settings-menu.php:92, php/views/edit.php:51,
799
+ #: php/views/manage.php:29
800
+ msgctxt "snippets"
801
+ msgid "Import"
802
+ msgstr "Importer"
803
 
804
+ #: php/admin-menus/class-settings-menu.php:113
805
+ msgid "Reset to Default"
806
+ msgstr "Réinitialiser aux valeurs par défaut"
807
 
808
+ #: php/admin-menus/class-settings-menu.php:139, php/settings/settings.php:209
809
+ msgid "Settings saved."
810
+ msgstr "Réglages enregistrés."
811
 
812
+ #: php/settings/settings-fields.php:42
813
+ msgid "Activate by Default"
814
+ msgstr "Activer par défaut"
 
815
 
816
+ #: php/settings/settings-fields.php:44
817
+ msgid ""
818
+ "Make the 'Save and Activate' button the default action when saving a snippet."
819
+ msgstr ""
820
+ "Définissez le bouton « Enregistrer et activer » comme action par défaut "
821
+ "lorsque on enregistre un extrait de code."
822
 
823
+ #: php/settings/settings-fields.php:49
824
+ msgid "Enable Scope Selector"
825
+ msgstr "Activer le sélecteur étendu"
 
826
 
827
+ #: php/settings/settings-fields.php:51
828
+ msgid "Enable the scope selector when editing a snippet"
829
+ msgstr "Activer le sélecteur étendu lors de l’édition d’un extrait de code"
 
830
 
831
+ #: php/settings/settings-fields.php:56
832
+ msgid "Enable Snippet Tags"
833
+ msgstr "Activer des étiquettes des extraits"
834
 
835
+ #: php/settings/settings-fields.php:58
836
+ msgid "Show snippet tags on admin pages"
837
+ msgstr ""
838
+ "Afficher les étiquettes des extraits de code sur les pages d’administration"
839
 
840
+ #: php/settings/settings-fields.php:63
841
+ msgid "Enable Snippet Descriptions"
842
+ msgstr "Activer les descriptions des extraits"
843
 
844
+ #: php/settings/settings-fields.php:65
845
+ msgid "Show snippet descriptions on admin pages"
846
+ msgstr ""
847
+ "Afficher les descriptions des extraits de code sur les pages d’administration"
 
 
848
 
849
+ #: php/settings/settings-fields.php:70
850
+ msgid "Disable Shortcode Syntax Highlighter"
851
+ msgstr "Désactiver le shortcode de la coloration syntaxique"
852
 
853
+ #: php/settings/settings-fields.php:72
854
+ msgid ""
855
+ "Disable the syntax highlighting for the [code_snippet] shortcode on the "
856
+ "front-end"
857
+ msgstr ""
858
+ "Désactiver la coloration syntaxique pour le shortcode [code_snippet] sur le "
859
+ "site en ligne"
860
 
861
+ #: php/settings/settings-fields.php:77
862
+ msgid "Complete Uninstall"
863
+ msgstr "Désinstallation complète"
 
864
 
865
+ #. translators: %s: URL for Plugins admin menu
866
+ #: php/settings/settings-fields.php:81
867
+ msgid ""
868
+ "When the plugin is deleted from the <a href=\"%s\">Plugins</a> menu, also "
869
+ "delete all snippets and plugin settings."
870
+ msgstr ""
871
+ "Lorsque l’extension est supprimé du menu <a href=\"%s\">Extensions</a>, "
872
+ "aussi supprimer tous les extraits de code et les réglages de l’extension."
873
 
874
+ #: php/settings/settings-fields.php:96
875
+ msgid "Row Height"
876
+ msgstr "Taille d’éditeur"
877
 
878
+ #: php/settings/settings-fields.php:98
879
+ msgid "rows"
880
+ msgstr "lignes"
881
 
882
+ #: php/settings/settings-fields.php:104
883
+ msgid "Use Full Editor"
884
+ msgstr "Utiliser l’éditeur complet"
885
 
886
+ #: php/settings/settings-fields.php:106
887
+ msgid "Enable all features of the visual editor"
888
+ msgstr "Activer toutes les fonctionnalités de l’éditeur visuel"
 
889
 
890
+ #: php/settings/settings-fields.php:111
891
+ msgid "Media Buttons"
892
+ msgstr "Bouton de média"
893
 
894
+ #: php/settings/settings-fields.php:113
895
+ msgid "Enable the add media buttons"
896
+ msgstr "Activer le bouton d’ajout de média"
897
 
898
+ #: php/settings/settings-fields.php:122
899
  msgid "Theme"
900
  msgstr "Thème"
901
 
902
+ #: php/settings/settings-fields.php:129
903
  msgid "Indent With Tabs"
904
+ msgstr "Indentation avec des tabs"
905
 
906
+ #: php/settings/settings-fields.php:131
907
  msgid "Use hard tabs (not spaces) for indentation."
908
  msgstr ""
909
+ "Utiliser le caractère de tabulation (pas les espaces) pour l’indentation."
910
 
911
+ #: php/settings/settings-fields.php:137
912
  msgid "Tab Size"
913
+ msgstr "Taille d'un tab"
914
 
915
+ #: php/settings/settings-fields.php:139
916
  msgid "The width of a tab character."
917
+ msgstr "La largeur d'un caractère de tabulation."
918
 
919
+ #: php/settings/settings-fields.php:146
920
  msgid "Indent Unit"
921
+ msgstr "Unité d’indentation"
922
 
923
+ #: php/settings/settings-fields.php:148
924
  msgid "How many spaces a block should be indented."
925
+ msgstr "Le nombre d’espaces à utiliser pour l’indentation d’un bloc."
926
 
927
+ #: php/settings/settings-fields.php:155
928
  msgid "Wrap Lines"
929
+ msgstr "Envelopper les lignes"
930
 
931
+ #: php/settings/settings-fields.php:157
932
  msgid "Whether the editor should scroll or wrap for long lines."
933
  msgstr ""
934
+ "Indique si l’éditeur doit faire défiler ou mettre en boucle les longues "
935
+ "lignes."
936
 
937
+ #: php/settings/settings-fields.php:163
938
  msgid "Line Numbers"
939
+ msgstr "Numéros de ligne"
940
 
941
+ #: php/settings/settings-fields.php:165
942
  msgid "Show line numbers to the left of the editor."
943
+ msgstr "Afficher les numéros de ligne à gauche de l’éditeur."
944
 
945
+ #: php/settings/settings-fields.php:171
946
  msgid "Auto Close Brackets"
947
+ msgstr "Fermeture automatique des accolades"
948
 
949
+ #: php/settings/settings-fields.php:173
950
  msgid "Auto-close brackets and quotes when typed."
951
  msgstr ""
952
+ "Fermer automatiquement les crochets, les accolades et les guillemets lors de "
953
+ "la frappe."
954
 
955
+ #: php/settings/settings-fields.php:179
956
  msgid "Highlight Selection Matches"
957
+ msgstr "Mettre en évidence les correspondances de sélection"
958
 
959
+ #: php/settings/settings-fields.php:180
960
  msgid "Highlight all instances of a currently selected word."
961
+ msgstr "Mettez en surbrillance toutes les occurrences d’un mot sélectionné."
962
 
963
+ #: php/settings/settings.php:92
964
  msgid "General"
965
  msgstr "Général"
966
 
967
+ #: php/settings/settings.php:93
968
  msgid "Description Editor"
969
+ msgstr "Éditeur de description"
970
 
971
+ #: php/settings/settings.php:94
972
  msgid "Code Editor"
973
+ msgstr "Éditeur de code"
974
 
975
+ #: php/settings/settings.php:151
976
  msgid "Editor Preview"
977
+ msgstr "Aperçu de l’éditeur"
978
+
979
+ #: php/views/edit.php:58, php/views/import.php:37, php/views/manage.php:37
980
+ msgctxt "snippets"
981
+ msgid "Settings"
982
+ msgstr "Réglages"
983
+
984
+ #: php/views/edit.php:80
985
+ msgid "Enter title here"
986
+ msgstr "Entrez le titre ici"
987
+
988
+ #: php/views/edit.php:86
989
+ msgid "Code"
990
+ msgstr "Code"
991
+
992
+ #: php/views/edit.php:116
993
+ msgid "Save Changes and Execute Once"
994
+ msgstr "Enregistrer et exécuter une fois"
995
+
996
+ #: php/views/edit.php:121, php/views/edit.php:135
997
+ msgid "Save Changes and Activate"
998
+ msgstr "Enregistrer et activer"
999
+
1000
+ #: php/views/edit.php:141
1001
+ msgid "Save Changes and Deactivate"
1002
+ msgstr "Enregistrer et désactiver"
1003
+
1004
+ #: php/views/edit.php:164
1005
+ msgid "You are about to permanently delete this snippet."
1006
  msgstr ""
1007
+ "Vous êtes sur le point de supprimer définitivement cet extrait de code."
1008
 
1009
+ #: php/views/import.php:47
1010
+ msgid ""
1011
+ "Upload one or more Code Snippets export files and the snippets will be "
1012
+ "imported."
1013
  msgstr ""
1014
+ "Téléverser un ou plusieurs fichiers d’exportation d’extraits de code et ils "
1015
+ "seront importés."
1016
 
1017
+ #. translators: %s: link to snippets admin menu
1018
+ #: php/views/import.php:52
1019
+ msgid ""
1020
+ "Afterwards, you will need to visit the <a href=\"%s\">All Snippets</a> page "
1021
+ "to activate the imported snippets."
1022
+ msgstr ""
1023
+ "Ensuite, vous devrez vous rendre sur la page <a href=\"%s\">tous les "
1024
+ "extraits de code</a> pour activer les extraits de code importés."
1025
 
1026
+ #: php/views/import.php:59
1027
+ msgid "Duplicate Snippets"
1028
+ msgstr "Doubles extraits de code"
1029
 
1030
+ #: php/views/import.php:62
1031
+ msgid ""
1032
+ "What should happen if an existing snippet is found with an identical name to "
1033
+ "an imported snippet?"
1034
+ msgstr ""
1035
+ "Que doit-il se passer si un extrait existant portant un nom identique à un "
1036
+ "extrait importé est trouvé ?"
1037
 
1038
+ #: php/views/import.php:69
1039
+ msgid ""
1040
+ "Ignore any duplicate snippets: import all snippets from the file regardless "
1041
+ "and leave all existing snippets unchanged."
1042
+ msgstr ""
1043
+ "Ignorer tous les extraits de code en doublons : importez tous les extraits "
1044
+ "de code du fichier et laissez tous les extraits existants inchangés."
1045
 
1046
+ #: php/views/import.php:76
1047
+ msgid ""
1048
+ "Replace any existing snippets with a newly imported snippet of the same name."
1049
+ msgstr ""
1050
+ "Remplacez tous les extraits de code existants par un extrait de code "
1051
+ "récemment importé du même nom."
1052
 
1053
+ #: php/views/import.php:83
1054
+ msgid ""
1055
+ "Do not import any duplicate snippets; leave all existing snippets unchanged."
1056
+ msgstr ""
1057
+ "N’importez aucun extrait de code en double. Laissez tous les extraits de "
1058
+ "code existants inchangés."
1059
 
1060
+ #: php/views/import.php:88
1061
+ msgid "Upload Files"
1062
+ msgstr "Téléverser des fichiers"
1063
 
1064
+ #: php/views/import.php:91
1065
+ msgid ""
1066
+ "Choose one or more Code Snippets (.xml or .json) files to upload, then click "
1067
+ "\"Upload files and import\"."
1068
+ msgstr ""
1069
+ "Choisissez un ou plusieurs fichiers d’extrait de code exporter (.xml ou ."
1070
+ "json) à télécharger, puis cliquez sur « Téléverser les fichiers et les "
1071
+ "importer »."
1072
+
1073
+ #: php/views/import.php:96
1074
+ msgid "Choose files from your computer:"
1075
+ msgstr "Choisissez des fichiers sur votre ordinateur :"
1076
+
1077
+ #. translators: %s: size in bytes
1078
+ #: php/views/import.php:99
1079
+ msgid "(Maximum size: %s)"
1080
+ msgstr "(Taille maximum : %s)"
1081
+
1082
+ #: php/views/import.php:110
1083
+ msgid "Upload files and import"
1084
+ msgstr "Téléverser les fichiers et les importer"
1085
 
1086
+ #: php/views/manage.php:50
1087
+ msgid "Search Installed Snippets"
1088
+ msgstr "Chercher dans les extraits installés"
 
1089
 
1090
+ #~ msgid "Uninstall"
1091
+ #~ msgstr "Désinstaller"
1092
 
1093
+ #~ msgid ""
1094
+ #~ "When you delete Code Snippets through the Plugins menu in WordPress it "
1095
+ #~ "will clear up the <code>%1$s</code> table and a few other bits of data "
1096
+ #~ "stored in the database. If you want to keep this data (ie: you are only "
1097
+ #~ "temporally uninstalling Code Snippets) then remove the <code>%2$s</code> "
1098
+ #~ "folder using FTP."
1099
+ #~ msgstr ""
1100
+ #~ "Si vous désinstallez l’extension de extraits de code depuis le menu "
1101
+ #~ "Extensions de votre installation WordPress, la table <code>%1$s</code> "
1102
+ #~ "contenant les extraits de code sera supprimée de la base de données. Si "
1103
+ #~ "vous voulez conserver les données (par exemple : désinstaller "
1104
+ #~ "temporairement l’extension de extraits de code) supprimez le dossier "
1105
+ #~ "<code>%2$s</code> via votre client FTP."
1106
 
1107
+ #~ msgid ""
1108
+ #~ "Even if you're sure that you don't want to use Code Snippets ever again "
1109
+ #~ "on this WordPress installation, you may want to use the export feature to "
1110
+ #~ "back up your snippets."
1111
+ #~ msgstr ""
1112
+ #~ "Même si vous êtes certain de ne plus vouloir utiliser l’extension "
1113
+ #~ "d’extraits de code avec cette installation de WordPress, vous pouvez "
1114
+ #~ "exporter vos extraits de code."
languages/code-snippets.pot CHANGED
@@ -1,8 +1,8 @@
1
- # Copyright (C) 2018 code-snippets
2
- # This file is distributed under the same license as the code-snippets package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: code-snippets\n"
6
  "MIME-Version: 1.0\n"
7
  "Content-Type: text/plain; charset=UTF-8\n"
8
  "Content-Transfer-Encoding: 8bit\n"
@@ -82,293 +82,296 @@ msgstr ""
82
  msgid "Dismiss"
83
  msgstr ""
84
 
85
- #: php/class-contextual-help.php:40
86
  msgid "For more information:"
87
  msgstr ""
88
 
89
- #: php/class-contextual-help.php:41
90
  msgid "About Plugin"
91
  msgstr ""
92
 
93
- #: php/class-contextual-help.php:42
94
  msgid "FAQ"
95
  msgstr ""
96
 
97
- #: php/class-contextual-help.php:43
98
- msgid "Support Forums"
99
  msgstr ""
100
 
101
- #: php/class-contextual-help.php:44
102
  msgid "Plugin Website"
103
  msgstr ""
104
 
105
- #: php/class-contextual-help.php:55, php/class-contextual-help.php:84, php/class-contextual-help.php:126
 
 
 
 
106
  msgid "Overview"
107
  msgstr ""
108
 
109
- #: php/class-contextual-help.php:56
110
- msgid "Snippets are similar to plugins - they both extend and expand the functionality of WordPress. Snippets are more light-weight, just a few lines of code, and do not put as much load on your server. Here you can manage your existing snippets and perform tasks on them such as activating, deactivating, deleting and exporting."
111
  msgstr ""
112
 
113
- #: php/class-contextual-help.php:61
114
  msgid "Safe Mode"
115
  msgstr ""
116
 
117
- #: php/class-contextual-help.php:63
118
  msgid "Be sure to check your snippets for errors before you activate them, as a faulty snippet could bring your whole blog down. If your site starts doing strange things, deactivate all your snippets and activate them one at a time."
119
  msgstr ""
120
 
121
- #: php/class-contextual-help.php:64
122
  msgid "If something goes wrong with a snippet and you can't use WordPress, you can cause all snippets to stop executing by adding <code>define('CODE_SNIPPETS_SAFE_MODE', true);</code> to your <code>wp-config.php</code> file. After you have deactivated the offending snippet, you can turn off safe mode by removing this line or replacing <strong>true</strong> with <strong>false</strong>."
123
  msgstr ""
124
 
125
- #: php/class-contextual-help.php:69
126
- msgid "Uninstall"
127
  msgstr ""
128
 
129
- #. translators: 1: snippets table name, 2: Code Snippets plugin directory
130
- #: php/class-contextual-help.php:72
131
- msgid "When you delete Code Snippets through the Plugins menu in WordPress it will clear up the <code>%1$s</code> table and a few other bits of data stored in the database. If you want to keep this data (ie: you are only temporally uninstalling Code Snippets) then remove the <code>%2$s</code> folder using FTP."
132
  msgstr ""
133
 
134
- #: php/class-contextual-help.php:73
135
- msgid "Even if you're sure that you don't want to use Code Snippets ever again on this WordPress installation, you may want to use the export feature to back up your snippets."
136
  msgstr ""
137
 
138
- #: php/class-contextual-help.php:85
139
- msgid "Snippets are similar to plugins - they both extend and expand the functionality of WordPress. Snippets are more light-weight, just a few lines of code, and do not put as much load on your server. Here you can add a new snippet, or edit an existing one."
140
  msgstr ""
141
 
142
- #: php/class-contextual-help.php:89
143
- msgid "WP-Snippets"
144
  msgstr ""
145
 
146
- #: php/class-contextual-help.php:89
147
- msgid "http://wp-snippets.com"
148
  msgstr ""
149
 
150
- #: php/class-contextual-help.php:90
151
- msgid "WP Snipp"
152
  msgstr ""
153
 
154
- #: php/class-contextual-help.php:90
155
- msgid "http://wpsnipp.com"
156
  msgstr ""
157
 
158
- #: php/class-contextual-help.php:91
159
- msgid "Cats Who Code"
160
  msgstr ""
161
 
162
- #: php/class-contextual-help.php:91
163
- msgid "http://www.catswhocode.com/blog/snippets"
164
  msgstr ""
165
 
166
- #: php/class-contextual-help.php:92
167
- msgid "WP Function Me"
168
  msgstr ""
169
 
170
- #: php/class-contextual-help.php:92
171
- msgid "http://www.wpfunction.me"
172
- msgstr ""
173
-
174
- #: php/class-contextual-help.php:102
175
  msgid "Finding Snippets"
176
  msgstr ""
177
 
178
- #: php/class-contextual-help.php:104
179
  msgid "Here are some links to websites which host a large number of snippets that you can add to your site:"
180
  msgstr ""
181
 
182
- #: php/class-contextual-help.php:106
183
  msgid "More places to find snippets, as well as a selection of example snippets, can be found in the <a href=\"https://github.com/sheabunge/code-snippets/wiki/Finding-snippets\">plugin documentation</a>."
184
  msgstr ""
185
 
186
- #: php/class-contextual-help.php:111
187
  msgid "Adding Snippets"
188
  msgstr ""
189
 
190
- #: php/class-contextual-help.php:113
191
  msgid "You need to fill out the name and code fields for your snippet to be added. While the description field will add more information about how your snippet works, what is does and where you found it, it is completely optional."
192
  msgstr ""
193
 
194
- #: php/class-contextual-help.php:114
195
  msgid "Please be sure to check that your snippet is valid PHP code and will not produce errors before adding it through this page. While doing so will not become active straight away, it will help to minimise the chance of a faulty snippet becoming active on your site."
196
  msgstr ""
197
 
198
- #: php/class-contextual-help.php:127
199
- msgid "Snippets are similar to plugins - they both extend and expand the functionality of WordPress. Snippets are more light-weight, just a few lines of code, and do not put as much load on your server. Here you can load snippets from a Code Snippets (.xml) import file into the database with your existing snippets."
200
  msgstr ""
201
 
202
- #: php/class-contextual-help.php:132
203
  msgid "Importing"
204
  msgstr ""
205
 
206
- #: php/class-contextual-help.php:134
207
- msgid "You can load your snippets from a code snippets (.xml) export file using this page."
208
  msgstr ""
209
 
210
  #. translators: %s: URL to Snippets admin menu
211
- #: php/class-contextual-help.php:136
212
- msgid "Snippets will be added to the database along with your existing snippets. Regardless of whether the snippets were active on the previous site, imported snippets are always inactive until activated using the <a href=\"%s\">All Snippets</a> page.</p>"
213
  msgstr ""
214
 
215
- #: php/class-contextual-help.php:141
216
  msgid "Exporting"
217
  msgstr ""
218
 
219
  #. translators: %s: URL to Manage Snippets admin menu
220
- #: php/class-contextual-help.php:143
221
- msgid "You can save your snippets to a Code Snippets (.xml) export file using the <a href=\"%s\">Manage Snippets</a> page."
222
  msgstr ""
223
 
224
  #: php/class-list-table.php:58
225
  msgid "Snippets per page"
226
  msgstr ""
227
 
228
- #: php/class-list-table.php:148
229
  msgid "Network Active"
230
  msgstr ""
231
 
232
- #: php/class-list-table.php:150
233
  msgid "Network Only"
234
  msgstr ""
235
 
236
- #: php/class-list-table.php:156
237
  msgid "Edit"
238
  msgstr ""
239
 
240
- #: php/class-list-table.php:157, php/class-list-table.php:378
241
  msgid "Clone"
242
  msgstr ""
243
 
244
- #: php/class-list-table.php:158, php/class-list-table.php:380, php/views/edit.php:155
245
  msgid "Export"
246
  msgstr ""
247
 
248
- #: php/class-list-table.php:167, php/class-list-table.php:381, php/views/edit.php:168
249
  msgid "Delete"
250
  msgstr ""
251
 
252
- #: php/class-list-table.php:171
253
  msgid "You are about to permanently delete the selected item."
254
  msgstr ""
255
 
256
- #: php/class-list-table.php:172, php/views/edit.php:163
257
  msgid "'Cancel' to stop, 'OK' to delete."
258
  msgstr ""
259
 
260
- #. translators: %d: snippet identifier
261
- #: php/class-list-table.php:234
262
- msgid "Untitled #%d"
263
  msgstr ""
264
 
265
- #: php/class-list-table.php:258
266
- msgid "Shared on Network"
267
  msgstr ""
268
 
269
- #: php/class-list-table.php:335, php/views/edit.php:77
270
- msgid "Name"
271
  msgstr ""
272
 
273
- #: php/class-list-table.php:336
274
- msgid "ID"
275
  msgstr ""
276
 
277
- #: php/class-list-table.php:337, php/admin-menus/class-edit-menu.php:309
278
- msgid "Description"
279
  msgstr ""
280
 
281
- #: php/class-list-table.php:338, php/admin-menus/class-edit-menu.php:342
282
- msgid "Tags"
 
283
  msgstr ""
284
 
285
- #: php/class-list-table.php:339, php/admin-menus/class-edit-menu.php:361
286
- msgid "Priority"
287
  msgstr ""
288
 
289
- #: php/class-list-table.php:376
290
- msgid "Network Activate"
291
  msgstr ""
292
 
293
- #: php/class-list-table.php:376
294
- msgid "Activate"
295
  msgstr ""
296
 
297
- #: php/class-list-table.php:377
298
- msgid "Network Deactivate"
299
  msgstr ""
300
 
301
- #: php/class-list-table.php:377
302
- msgid "Deactivate"
 
 
 
 
303
  msgstr ""
304
 
305
- #: php/class-list-table.php:379, php/views/edit.php:150
306
  msgid "Download"
307
  msgstr ""
308
 
309
  #. translators: %s: total number of snippets
310
- #: php/class-list-table.php:423
311
  msgid "All <span class=\"count\">(%s)</span>"
312
  msgid_plural "All <span class=\"count\">(%s)</span>"
313
  msgstr[0] ""
314
  msgstr[1] ""
315
 
316
  #. translators: %s: total number of active snippets
317
- #: php/class-list-table.php:426
318
  msgid "Active <span class=\"count\">(%s)</span>"
319
  msgid_plural "Active <span class=\"count\">(%s)</span>"
320
  msgstr[0] ""
321
  msgstr[1] ""
322
 
323
  #. translators: %s: total number of inactive snippets
324
- #: php/class-list-table.php:429
325
  msgid "Inactive <span class=\"count\">(%s)</span>"
326
  msgid_plural "Inactive <span class=\"count\">(%s)</span>"
327
  msgstr[0] ""
328
  msgstr[1] ""
329
 
330
  #. translators: %s: total number of recently activated snippets
331
- #: php/class-list-table.php:432
332
  msgid "Recently Active <span class=\"count\">(%s)</span>"
333
  msgid_plural "Recently Active <span class=\"count\">(%s)</span>"
334
  msgstr[0] ""
335
  msgstr[1] ""
336
 
337
- #: php/class-list-table.php:501
338
  msgid "Show all tags"
339
  msgstr ""
340
 
341
- #: php/class-list-table.php:515
342
  msgid "Filter"
343
  msgstr ""
344
 
345
- #: php/class-list-table.php:523
346
  msgid "Clear List"
347
  msgstr ""
348
 
349
- #: php/class-list-table.php:723
350
  msgid "It looks like you don't have any snippets."
351
  msgstr ""
352
 
353
- #: php/class-list-table.php:727
354
  msgid "Perhaps you would like to add a new one?"
355
  msgstr ""
356
 
357
- #: php/class-list-table.php:1024
358
  msgid "Search results"
359
  msgstr ""
360
 
361
  #. translators: %s: search query
362
- #: php/class-list-table.php:1028
363
  msgid " for &ldquo;%s&rdquo;"
364
  msgstr ""
365
 
366
  #. translators: %s: tag name
367
- #: php/class-list-table.php:1033
368
  msgid " in tag &ldquo;%s&rdquo;"
369
  msgstr ""
370
 
371
- #: php/class-list-table.php:1042
372
  msgid "Clear Filters"
373
  msgstr ""
374
 
@@ -408,7 +411,15 @@ msgstr ""
408
  msgid "This is an example snippet for demonstrating how to add custom JavaScript code to your website."
409
  msgstr ""
410
 
 
 
 
 
411
  #: php/class-upgrade.php:180
 
 
 
 
412
  msgid "You can remove it, or edit it to add your own content."
413
  msgstr ""
414
 
@@ -416,7 +427,12 @@ msgstr ""
416
  msgid "You are not authorized to access this page."
417
  msgstr ""
418
 
419
- #: php/admin-menus/class-edit-menu.php:13, php/admin-menus/class-edit-menu.php:14, php/views/edit.php:32
 
 
 
 
 
420
  msgid "Edit Snippet"
421
  msgstr ""
422
 
@@ -425,7 +441,7 @@ msgctxt "menu label"
425
  msgid "Add New"
426
  msgstr ""
427
 
428
- #: php/admin-menus/class-edit-menu.php:40, php/views/edit.php:38
429
  msgid "Add New Snippet"
430
  msgstr ""
431
 
@@ -615,14 +631,37 @@ msgstr ""
615
  msgid "Snippets Settings"
616
  msgstr ""
617
 
618
- #: php/admin-menus/class-settings-menu.php:74
 
 
 
 
619
  msgid "Settings"
620
  msgstr ""
621
 
622
- #: php/admin-menus/class-settings-menu.php:90
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
623
  msgid "Reset to Default"
624
  msgstr ""
625
 
 
 
 
 
626
  #: php/settings/settings-fields.php:42
627
  msgid "Activate by Default"
628
  msgstr ""
@@ -772,51 +811,101 @@ msgstr ""
772
  msgid "Editor Preview"
773
  msgstr ""
774
 
775
- #: php/settings/settings.php:209
776
- msgid "Settings saved."
 
777
  msgstr ""
778
 
779
- #: php/views/edit.php:35, php/views/import.php:31, php/views/manage.php:24
780
- msgctxt "snippet"
781
- msgid "Add New"
782
  msgstr ""
783
 
784
- #: php/views/edit.php:44, php/views/import.php:26
785
- msgctxt "snippets"
786
- msgid "Manage"
787
  msgstr ""
788
 
789
- #: php/views/edit.php:49, php/views/manage.php:29
790
- msgctxt "snippets"
791
- msgid "Import"
792
  msgstr ""
793
 
794
- #: php/views/edit.php:56, php/views/import.php:37, php/views/manage.php:35
795
- msgctxt "snippets"
796
- msgid "Settings"
797
  msgstr ""
798
 
799
- #: php/views/edit.php:78
800
- msgid "Enter title here"
 
801
  msgstr ""
802
 
803
- #: php/views/edit.php:84
804
- msgid "Code"
 
 
 
 
 
 
805
  msgstr ""
806
 
807
  #: php/views/edit.php:110
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
808
  msgid "Save Changes and Execute Once"
809
  msgstr ""
810
 
811
- #: php/views/edit.php:119, php/views/edit.php:133
812
  msgid "Save Changes and Activate"
813
  msgstr ""
814
 
815
- #: php/views/edit.php:139
816
  msgid "Save Changes and Deactivate"
817
  msgstr ""
818
 
819
- #: php/views/edit.php:162
820
  msgid "You are about to permanently delete this snippet."
821
  msgstr ""
822
 
@@ -870,6 +959,6 @@ msgstr ""
870
  msgid "Upload files and import"
871
  msgstr ""
872
 
873
- #: php/views/manage.php:48
874
  msgid "Search Installed Snippets"
875
  msgstr ""
1
+ # Copyright (C) 2019 Code Snippets
2
+ # This file is distributed under the same license as the Code Snippets package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Code Snippets\n"
6
  "MIME-Version: 1.0\n"
7
  "Content-Type: text/plain; charset=UTF-8\n"
8
  "Content-Transfer-Encoding: 8bit\n"
82
  msgid "Dismiss"
83
  msgstr ""
84
 
85
+ #: php/class-contextual-help.php:45
86
  msgid "For more information:"
87
  msgstr ""
88
 
89
+ #: php/class-contextual-help.php:46
90
  msgid "About Plugin"
91
  msgstr ""
92
 
93
+ #: php/class-contextual-help.php:47
94
  msgid "FAQ"
95
  msgstr ""
96
 
97
+ #: php/class-contextual-help.php:48
98
+ msgid "Support Forum"
99
  msgstr ""
100
 
101
+ #: php/class-contextual-help.php:49
102
  msgid "Plugin Website"
103
  msgstr ""
104
 
105
+ #: php/class-contextual-help.php:58
106
+ msgid "Snippets are similar to plugins - they both extend and expand the functionality of WordPress. Snippets are more light-weight, just a few lines of code, and do not put as much load on your server."
107
+ msgstr ""
108
+
109
+ #: php/class-contextual-help.php:68, php/class-contextual-help.php:89, php/class-contextual-help.php:132
110
  msgid "Overview"
111
  msgstr ""
112
 
113
+ #: php/class-contextual-help.php:70
114
+ msgid " Here you can manage your existing snippets and perform tasks on them such as activating, deactivating, deleting and exporting."
115
  msgstr ""
116
 
117
+ #: php/class-contextual-help.php:75
118
  msgid "Safe Mode"
119
  msgstr ""
120
 
121
+ #: php/class-contextual-help.php:77
122
  msgid "Be sure to check your snippets for errors before you activate them, as a faulty snippet could bring your whole blog down. If your site starts doing strange things, deactivate all your snippets and activate them one at a time."
123
  msgstr ""
124
 
125
+ #: php/class-contextual-help.php:78
126
  msgid "If something goes wrong with a snippet and you can't use WordPress, you can cause all snippets to stop executing by adding <code>define('CODE_SNIPPETS_SAFE_MODE', true);</code> to your <code>wp-config.php</code> file. After you have deactivated the offending snippet, you can turn off safe mode by removing this line or replacing <strong>true</strong> with <strong>false</strong>."
127
  msgstr ""
128
 
129
+ #: php/class-contextual-help.php:90
130
+ msgid " Here you can add a new snippet, or edit an existing one."
131
  msgstr ""
132
 
133
+ #: php/class-contextual-help.php:94
134
+ msgid "WP Function Me"
 
135
  msgstr ""
136
 
137
+ #: php/class-contextual-help.php:94
138
+ msgid "https://www.wpfunction.me"
139
  msgstr ""
140
 
141
+ #: php/class-contextual-help.php:95
142
+ msgid "CSS-Tricks"
143
  msgstr ""
144
 
145
+ #: php/class-contextual-help.php:95
146
+ msgid "https://css-tricks.com/snippets/wordpress/"
147
  msgstr ""
148
 
149
+ #: php/class-contextual-help.php:96
150
+ msgid "WordPress Stack Exchange"
151
  msgstr ""
152
 
153
+ #: php/class-contextual-help.php:96
154
+ msgid "https://wordpress.stackexchange.com/"
155
  msgstr ""
156
 
157
+ #: php/class-contextual-help.php:97
158
+ msgid "WP Beginner"
159
  msgstr ""
160
 
161
+ #: php/class-contextual-help.php:97
162
+ msgid "https://www.wpbeginner.com/category/wp-tutorials/"
163
  msgstr ""
164
 
165
+ #: php/class-contextual-help.php:98
166
+ msgid "GenerateWP"
167
  msgstr ""
168
 
169
+ #: php/class-contextual-help.php:98
170
+ msgid "https://generatewp.com"
171
  msgstr ""
172
 
173
+ #: php/class-contextual-help.php:108
 
 
 
 
174
  msgid "Finding Snippets"
175
  msgstr ""
176
 
177
+ #: php/class-contextual-help.php:110
178
  msgid "Here are some links to websites which host a large number of snippets that you can add to your site:"
179
  msgstr ""
180
 
181
+ #: php/class-contextual-help.php:112
182
  msgid "More places to find snippets, as well as a selection of example snippets, can be found in the <a href=\"https://github.com/sheabunge/code-snippets/wiki/Finding-snippets\">plugin documentation</a>."
183
  msgstr ""
184
 
185
+ #: php/class-contextual-help.php:117
186
  msgid "Adding Snippets"
187
  msgstr ""
188
 
189
+ #: php/class-contextual-help.php:119
190
  msgid "You need to fill out the name and code fields for your snippet to be added. While the description field will add more information about how your snippet works, what is does and where you found it, it is completely optional."
191
  msgstr ""
192
 
193
+ #: php/class-contextual-help.php:120
194
  msgid "Please be sure to check that your snippet is valid PHP code and will not produce errors before adding it through this page. While doing so will not become active straight away, it will help to minimise the chance of a faulty snippet becoming active on your site."
195
  msgstr ""
196
 
197
+ #: php/class-contextual-help.php:134
198
+ msgid " Here you can load snippets from a code snippets export file into the database alongside existing snippets."
199
  msgstr ""
200
 
201
+ #: php/class-contextual-help.php:139
202
  msgid "Importing"
203
  msgstr ""
204
 
205
+ #: php/class-contextual-help.php:141
206
+ msgid "You can load your snippets from a code snippets export file using this page."
207
  msgstr ""
208
 
209
  #. translators: %s: URL to Snippets admin menu
210
+ #: php/class-contextual-help.php:143
211
+ msgid "Imported snippets will be added to the database along with your existing snippets. Regardless of whether the snippets were active on the previous site, imported snippets are always inactive until activated using the <a href=\"%s\">Manage Snippets</a> page."
212
  msgstr ""
213
 
214
+ #: php/class-contextual-help.php:148
215
  msgid "Exporting"
216
  msgstr ""
217
 
218
  #. translators: %s: URL to Manage Snippets admin menu
219
+ #: php/class-contextual-help.php:150
220
+ msgid "You can save your snippets to a code snippets export file using the <a href=\"%s\">Manage Snippets</a> page."
221
  msgstr ""
222
 
223
  #: php/class-list-table.php:58
224
  msgid "Snippets per page"
225
  msgstr ""
226
 
227
+ #: php/class-list-table.php:151
228
  msgid "Network Active"
229
  msgstr ""
230
 
231
+ #: php/class-list-table.php:153
232
  msgid "Network Only"
233
  msgstr ""
234
 
235
+ #: php/class-list-table.php:159
236
  msgid "Edit"
237
  msgstr ""
238
 
239
+ #: php/class-list-table.php:160, php/class-list-table.php:373
240
  msgid "Clone"
241
  msgstr ""
242
 
243
+ #: php/class-list-table.php:161, php/class-list-table.php:375, php/views/edit.php:214
244
  msgid "Export"
245
  msgstr ""
246
 
247
+ #: php/class-list-table.php:170, php/class-list-table.php:376, php/views/edit.php:227
248
  msgid "Delete"
249
  msgstr ""
250
 
251
+ #: php/class-list-table.php:174
252
  msgid "You are about to permanently delete the selected item."
253
  msgstr ""
254
 
255
+ #: php/class-list-table.php:175, php/views/edit.php:222
256
  msgid "'Cancel' to stop, 'OK' to delete."
257
  msgstr ""
258
 
259
+ #: php/class-list-table.php:199
260
+ msgid "Run Once"
 
261
  msgstr ""
262
 
263
+ #: php/class-list-table.php:204, php/class-list-table.php:372
264
+ msgid "Network Deactivate"
265
  msgstr ""
266
 
267
+ #: php/class-list-table.php:204, php/class-list-table.php:371
268
+ msgid "Network Activate"
269
  msgstr ""
270
 
271
+ #: php/class-list-table.php:205, php/class-list-table.php:372
272
+ msgid "Deactivate"
273
  msgstr ""
274
 
275
+ #: php/class-list-table.php:205, php/class-list-table.php:371
276
+ msgid "Activate"
277
  msgstr ""
278
 
279
+ #. translators: %d: snippet identifier
280
+ #: php/class-list-table.php:228
281
+ msgid "Untitled #%d"
282
  msgstr ""
283
 
284
+ #: php/class-list-table.php:252
285
+ msgid "Shared on Network"
286
  msgstr ""
287
 
288
+ #: php/class-list-table.php:330, php/views/edit.php:81
289
+ msgid "Name"
290
  msgstr ""
291
 
292
+ #: php/class-list-table.php:331
293
+ msgid "ID"
294
  msgstr ""
295
 
296
+ #: php/class-list-table.php:332, php/admin-menus/class-edit-menu.php:309
297
+ msgid "Description"
298
  msgstr ""
299
 
300
+ #: php/class-list-table.php:333, php/admin-menus/class-edit-menu.php:342
301
+ msgid "Tags"
302
+ msgstr ""
303
+
304
+ #: php/class-list-table.php:334, php/admin-menus/class-edit-menu.php:361
305
+ msgid "Priority"
306
  msgstr ""
307
 
308
+ #: php/class-list-table.php:374, php/views/edit.php:209
309
  msgid "Download"
310
  msgstr ""
311
 
312
  #. translators: %s: total number of snippets
313
+ #: php/class-list-table.php:418
314
  msgid "All <span class=\"count\">(%s)</span>"
315
  msgid_plural "All <span class=\"count\">(%s)</span>"
316
  msgstr[0] ""
317
  msgstr[1] ""
318
 
319
  #. translators: %s: total number of active snippets
320
+ #: php/class-list-table.php:421
321
  msgid "Active <span class=\"count\">(%s)</span>"
322
  msgid_plural "Active <span class=\"count\">(%s)</span>"
323
  msgstr[0] ""
324
  msgstr[1] ""
325
 
326
  #. translators: %s: total number of inactive snippets
327
+ #: php/class-list-table.php:424
328
  msgid "Inactive <span class=\"count\">(%s)</span>"
329
  msgid_plural "Inactive <span class=\"count\">(%s)</span>"
330
  msgstr[0] ""
331
  msgstr[1] ""
332
 
333
  #. translators: %s: total number of recently activated snippets
334
+ #: php/class-list-table.php:427
335
  msgid "Recently Active <span class=\"count\">(%s)</span>"
336
  msgid_plural "Recently Active <span class=\"count\">(%s)</span>"
337
  msgstr[0] ""
338
  msgstr[1] ""
339
 
340
+ #: php/class-list-table.php:496
341
  msgid "Show all tags"
342
  msgstr ""
343
 
344
+ #: php/class-list-table.php:510
345
  msgid "Filter"
346
  msgstr ""
347
 
348
+ #: php/class-list-table.php:518
349
  msgid "Clear List"
350
  msgstr ""
351
 
352
+ #: php/class-list-table.php:730
353
  msgid "It looks like you don't have any snippets."
354
  msgstr ""
355
 
356
+ #: php/class-list-table.php:734
357
  msgid "Perhaps you would like to add a new one?"
358
  msgstr ""
359
 
360
+ #: php/class-list-table.php:1031
361
  msgid "Search results"
362
  msgstr ""
363
 
364
  #. translators: %s: search query
365
+ #: php/class-list-table.php:1035
366
  msgid " for &ldquo;%s&rdquo;"
367
  msgstr ""
368
 
369
  #. translators: %s: tag name
370
+ #: php/class-list-table.php:1040
371
  msgid " in tag &ldquo;%s&rdquo;"
372
  msgstr ""
373
 
374
+ #: php/class-list-table.php:1049
375
  msgid "Clear Filters"
376
  msgstr ""
377
 
411
  msgid "This is an example snippet for demonstrating how to add custom JavaScript code to your website."
412
  msgstr ""
413
 
414
+ #: php/class-upgrade.php:178
415
+ msgid "Order snippets by name"
416
+ msgstr ""
417
+
418
  #: php/class-upgrade.php:180
419
+ msgid "Order snippets by name by default in the snippets table."
420
+ msgstr ""
421
+
422
+ #: php/class-upgrade.php:188
423
  msgid "You can remove it, or edit it to add your own content."
424
  msgstr ""
425
 
427
  msgid "You are not authorized to access this page."
428
  msgstr ""
429
 
430
+ #: php/admin-menus/class-edit-menu.php:13
431
+ msgctxt "menu label"
432
+ msgid "Edit Snippet"
433
+ msgstr ""
434
+
435
+ #: php/admin-menus/class-edit-menu.php:14, php/views/edit.php:34
436
  msgid "Edit Snippet"
437
  msgstr ""
438
 
441
  msgid "Add New"
442
  msgstr ""
443
 
444
+ #: php/admin-menus/class-edit-menu.php:40, php/views/edit.php:40
445
  msgid "Add New Snippet"
446
  msgstr ""
447
 
631
  msgid "Snippets Settings"
632
  msgstr ""
633
 
634
+ #: php/admin-menus/class-settings-menu.php:36
635
+ msgid "All settings have been reset to their defaults."
636
+ msgstr ""
637
+
638
+ #: php/admin-menus/class-settings-menu.php:77
639
  msgid "Settings"
640
  msgstr ""
641
 
642
+ #: php/admin-menus/class-settings-menu.php:82, php/views/edit.php:48, php/views/import.php:26
643
+ msgctxt "snippets"
644
+ msgid "Manage"
645
+ msgstr ""
646
+
647
+ #: php/admin-menus/class-settings-menu.php:87, php/views/edit.php:37, php/views/import.php:31, php/views/manage.php:24
648
+ msgctxt "snippet"
649
+ msgid "Add New"
650
+ msgstr ""
651
+
652
+ #: php/admin-menus/class-settings-menu.php:92, php/views/edit.php:53, php/views/manage.php:29
653
+ msgctxt "snippets"
654
+ msgid "Import"
655
+ msgstr ""
656
+
657
+ #: php/admin-menus/class-settings-menu.php:113
658
  msgid "Reset to Default"
659
  msgstr ""
660
 
661
+ #: php/admin-menus/class-settings-menu.php:139, php/settings/settings.php:209
662
+ msgid "Settings saved."
663
+ msgstr ""
664
+
665
  #: php/settings/settings-fields.php:42
666
  msgid "Activate by Default"
667
  msgstr ""
811
  msgid "Editor Preview"
812
  msgstr ""
813
 
814
+ #: php/views/edit.php:60, php/views/import.php:37, php/views/manage.php:37
815
+ msgctxt "snippets"
816
+ msgid "Settings"
817
  msgstr ""
818
 
819
+ #: php/views/edit.php:82
820
+ msgid "Enter title here"
 
821
  msgstr ""
822
 
823
+ #: php/views/edit.php:88
824
+ msgid "Code"
 
825
  msgstr ""
826
 
827
+ #: php/views/edit.php:101
828
+ msgctxt "help tooltip"
829
+ msgid "?"
830
  msgstr ""
831
 
832
+ #: php/views/edit.php:106
833
+ msgctxt "keyboard key"
834
+ msgid "Cmd"
835
  msgstr ""
836
 
837
+ #: php/views/edit.php:107
838
+ msgctxt "keyboard key"
839
+ msgid "Ctrl"
840
  msgstr ""
841
 
842
+ #: php/views/edit.php:108
843
+ msgctxt "keyboard key"
844
+ msgid "Shift"
845
+ msgstr ""
846
+
847
+ #: php/views/edit.php:109
848
+ msgctxt "keyboard key"
849
+ msgid "Option"
850
  msgstr ""
851
 
852
  #: php/views/edit.php:110
853
+ msgctxt "keyboard key"
854
+ msgid "Alt"
855
+ msgstr ""
856
+
857
+ #: php/views/edit.php:111
858
+ msgctxt "keyboard key"
859
+ msgid "F"
860
+ msgstr ""
861
+
862
+ #: php/views/edit.php:112
863
+ msgctxt "keyboard key"
864
+ msgid "G"
865
+ msgstr ""
866
+
867
+ #: php/views/edit.php:113
868
+ msgctxt "keyboard key"
869
+ msgid "R"
870
+ msgstr ""
871
+
872
+ #: php/views/edit.php:120
873
+ msgid "Begin searching"
874
+ msgstr ""
875
+
876
+ #: php/views/edit.php:125
877
+ msgid "Find next"
878
+ msgstr ""
879
+
880
+ #: php/views/edit.php:129
881
+ msgid "Find previous"
882
+ msgstr ""
883
+
884
+ #: php/views/edit.php:133
885
+ msgid "Replace"
886
+ msgstr ""
887
+
888
+ #: php/views/edit.php:137
889
+ msgid "Replace all"
890
+ msgstr ""
891
+
892
+ #: php/views/edit.php:143
893
+ msgid "Persistent search"
894
+ msgstr ""
895
+
896
+ #: php/views/edit.php:173
897
  msgid "Save Changes and Execute Once"
898
  msgstr ""
899
 
900
+ #: php/views/edit.php:178, php/views/edit.php:192
901
  msgid "Save Changes and Activate"
902
  msgstr ""
903
 
904
+ #: php/views/edit.php:198
905
  msgid "Save Changes and Deactivate"
906
  msgstr ""
907
 
908
+ #: php/views/edit.php:221
909
  msgid "You are about to permanently delete this snippet."
910
  msgstr ""
911
 
959
  msgid "Upload files and import"
960
  msgstr ""
961
 
962
+ #: php/views/manage.php:50
963
  msgid "Search Installed Snippets"
964
  msgstr ""
license.txt CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2012-2018 Shea Bunge
2
 
3
  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4
 
1
+ Copyright (c) 2012-2019 Shea Bunge
2
 
3
  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4
 
php/admin-menus/class-edit-menu.php CHANGED
@@ -10,7 +10,7 @@ class Code_Snippets_Edit_Menu extends Code_Snippets_Admin_Menu {
10
  */
11
  public function __construct() {
12
  parent::__construct( 'edit',
13
- __( 'Edit Snippet', 'code-snippets' ),
14
  __( 'Edit Snippet', 'code-snippets' )
15
  );
16
  }
@@ -513,31 +513,35 @@ class Code_Snippets_Edit_Menu extends Code_Snippets_Admin_Menu {
513
  array(), $plugin->version
514
  );
515
 
516
- $tags_enabled = code_snippets_get_setting( 'general', 'enable_tags' );
517
-
518
- /* the tag-it library has a number of jQuery dependencies */
519
- $tagit_deps = array(
520
- 'jquery', 'jquery-ui-core',
521
- 'jquery-ui-widget', 'jquery-ui-position', 'jquery-ui-autocomplete',
522
- 'jquery-effects-blind', 'jquery-effects-highlight',
523
- );
524
-
525
  wp_enqueue_script(
526
  'code-snippets-edit-menu',
527
  plugins_url( 'js/min/edit.js', $plugin->file ),
528
- $tags_enabled ? $tagit_deps : array(),
529
- $plugin->version, true
530
  );
531
 
532
  $atts = code_snippets_get_editor_atts( array(), true );
533
  $inline_script = 'var code_snippets_editor_atts = ' . $atts . ';';
534
 
535
- if ( $tags_enabled ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
536
  $snippet_tags = wp_json_encode( get_all_snippet_tags() );
537
- $inline_script .= "\n" . 'var code_snippets_all_tags = ' . $snippet_tags . ';';
538
- }
539
 
540
- wp_add_inline_script( 'code-snippets-edit-menu', $inline_script, 'before' );
 
541
  }
542
 
543
  /**
10
  */
11
  public function __construct() {
12
  parent::__construct( 'edit',
13
+ _x( 'Edit Snippet', 'menu label', 'code-snippets' ),
14
  __( 'Edit Snippet', 'code-snippets' )
15
  );
16
  }
513
  array(), $plugin->version
514
  );
515
 
 
 
 
 
 
 
 
 
 
516
  wp_enqueue_script(
517
  'code-snippets-edit-menu',
518
  plugins_url( 'js/min/edit.js', $plugin->file ),
519
+ array(), $plugin->version, true
 
520
  );
521
 
522
  $atts = code_snippets_get_editor_atts( array(), true );
523
  $inline_script = 'var code_snippets_editor_atts = ' . $atts . ';';
524
 
525
+ wp_add_inline_script( 'code-snippets-edit-menu', $inline_script, 'before' );
526
+
527
+ if ( code_snippets_get_setting( 'general', 'enable_tags' ) ) {
528
+
529
+ wp_enqueue_script(
530
+ 'code-snippets-edit-menu-tags',
531
+ plugins_url( 'js/min/edit-tags.js', $plugin->file ),
532
+ array(
533
+ 'jquery', 'jquery-ui-core',
534
+ 'jquery-ui-widget', 'jquery-ui-position', 'jquery-ui-autocomplete',
535
+ 'jquery-effects-blind', 'jquery-effects-highlight',
536
+ ),
537
+ $plugin->version, true
538
+ );
539
+
540
  $snippet_tags = wp_json_encode( get_all_snippet_tags() );
541
+ $inline_script = 'var code_snippets_all_tags = ' . $snippet_tags . ';';
 
542
 
543
+ wp_add_inline_script( 'code-snippets-edit-menu-tags', $inline_script, 'before' );
544
+ }
545
  }
546
 
547
  /**
php/admin-menus/class-settings-menu.php CHANGED
@@ -32,7 +32,8 @@ class Code_Snippets_Settings_Menu extends Code_Snippets_Admin_Menu {
32
  delete_option( 'code_snippets_settings' );
33
  }
34
 
35
- add_settings_error( 'code-snippets-settings-notices', 'settings_reset', __( 'All settings have been reset to their defaults.' ), 'updated' );
 
36
  set_transient( 'settings_errors', get_settings_errors(), 30 );
37
 
38
  wp_redirect( esc_url_raw( add_query_arg( 'settings-updated', true, remove_query_arg( 'reset_settings' ) ) ) );
@@ -61,6 +62,8 @@ class Code_Snippets_Settings_Menu extends Code_Snippets_Admin_Menu {
61
  plugins_url( 'css/min/settings.css', $plugin->file ),
62
  array(), $plugin->version
63
  );
 
 
64
  }
65
 
66
  /**
@@ -71,7 +74,27 @@ class Code_Snippets_Settings_Menu extends Code_Snippets_Admin_Menu {
71
 
72
  ?>
73
  <div class="wrap">
74
- <h1><?php esc_html_e( 'Settings', 'code-snippets' ); ?></h1>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
75
 
76
  <?php settings_errors( 'code-snippets-settings-notices' ); ?>
77
 
@@ -113,7 +136,7 @@ class Code_Snippets_Settings_Menu extends Code_Snippets_Admin_Menu {
113
 
114
  /* Add an updated notice */
115
  if ( ! count( get_settings_errors() ) ) {
116
- add_settings_error( 'general', 'settings_updated', __( 'Settings saved.' ), 'updated' );
117
  }
118
  set_transient( 'settings_errors', get_settings_errors(), 30 );
119
 
32
  delete_option( 'code_snippets_settings' );
33
  }
34
 
35
+ add_settings_error( 'code-snippets-settings-notices', 'settings_reset',
36
+ __( 'All settings have been reset to their defaults.', 'code-snippets' ), 'updated' );
37
  set_transient( 'settings_errors', get_settings_errors(), 30 );
38
 
39
  wp_redirect( esc_url_raw( add_query_arg( 'settings-updated', true, remove_query_arg( 'reset_settings' ) ) ) );
62
  plugins_url( 'css/min/settings.css', $plugin->file ),
63
  array(), $plugin->version
64
  );
65
+
66
+ code_snippets_editor_settings_preview_assets();
67
  }
68
 
69
  /**
74
 
75
  ?>
76
  <div class="wrap">
77
+ <h1><?php esc_html_e( 'Settings', 'code-snippets' );
78
+
79
+ if ( code_snippets()->admin->is_compact_menu() ) {
80
+
81
+ printf( '<a href="%2$s" class="page-title-action">%1$s</a>',
82
+ esc_html_x( 'Manage', 'snippets', 'code-snippets' ),
83
+ code_snippets()->get_menu_url()
84
+ );
85
+
86
+ printf( '<a href="%2$s" class="page-title-action">%1$s</a>',
87
+ esc_html_x( 'Add New', 'snippet', 'code-snippets' ),
88
+ code_snippets()->get_menu_url( 'add' )
89
+ );
90
+
91
+ printf( '<a href="%2$s" class="page-title-action">%1$s</a>',
92
+ esc_html_x( 'Import', 'snippets', 'code-snippets' ),
93
+ code_snippets()->get_menu_url( 'import' )
94
+ );
95
+ }
96
+
97
+ ?></h1>
98
 
99
  <?php settings_errors( 'code-snippets-settings-notices' ); ?>
100
 
136
 
137
  /* Add an updated notice */
138
  if ( ! count( get_settings_errors() ) ) {
139
+ add_settings_error( 'general', 'settings_updated', __( 'Settings saved.', 'code-snippets' ), 'updated' );
140
  }
141
  set_transient( 'settings_errors', get_settings_errors(), 30 );
142
 
php/class-code-snippets.php CHANGED
@@ -154,19 +154,6 @@ class Code_Snippets {
154
  }
155
  }
156
 
157
- /**
158
- * Fetch the admin menu hook for a snippets menu
159
- *
160
- * @param string $menu The menu to retrieve the hook for
161
- *
162
- * @return string The menu's hook
163
- */
164
- public function get_menu_hook( $menu = '' ) {
165
- $slug = $this->get_menu_slug( $menu );
166
-
167
- return get_plugin_page_hookname( $slug, 'snippets' );
168
- }
169
-
170
  /**
171
  * Fetch the admin menu slug for a snippets menu
172
  *
154
  }
155
  }
156
 
 
 
 
 
 
 
 
 
 
 
 
 
 
157
  /**
158
  * Fetch the admin menu slug for a snippets menu
159
  *
php/class-contextual-help.php CHANGED
@@ -11,6 +11,11 @@ class Code_Snippets_Contextual_Help {
11
  */
12
  public $screen;
13
 
 
 
 
 
 
14
  /**
15
  * @param string $screen_name
16
  */
@@ -40,11 +45,19 @@ class Code_Snippets_Contextual_Help {
40
  '<p><strong>' . __( 'For more information:', 'code-snippets' ) . '</strong></p>' .
41
  '<p><a href="https://wordpress.org/plugins/code-snippets">' . __( 'About Plugin', 'code-snippets' ) . '</a></p>' .
42
  '<p><a href="https://wordpress.org/plugins/code-snippets/faq">' . __( 'FAQ', 'code-snippets' ) . '</a></p>' .
43
- '<p><a href="https://wordpress.org/support/plugin/code-snippets">' . __( 'Support Forums', 'code-snippets' ) . '</a></p>' .
44
- '<p><a href="https://sheabunge.com/plugins/code-snippets/">' . __( 'Plugin Website', 'code-snippets' ) . '</a></p>'
45
  );
46
  }
47
 
 
 
 
 
 
 
 
 
48
  /**
49
  * Register and handle the help tabs for the manage snippets admin page
50
  */
@@ -53,7 +66,8 @@ class Code_Snippets_Contextual_Help {
53
  $this->screen->add_help_tab( array(
54
  'id' => 'overview',
55
  'title' => __( 'Overview', 'code-snippets' ),
56
- 'content' => '<p>' . __( 'Snippets are similar to plugins - they both extend and expand the functionality of WordPress. Snippets are more light-weight, just a few lines of code, and do not put as much load on your server. Here you can manage your existing snippets and perform tasks on them such as activating, deactivating, deleting and exporting.', 'code-snippets' ) . '</p>',
 
57
  ) );
58
 
59
  $this->screen->add_help_tab( array(
@@ -63,15 +77,6 @@ class Code_Snippets_Contextual_Help {
63
  '<p>' . __( 'Be sure to check your snippets for errors before you activate them, as a faulty snippet could bring your whole blog down. If your site starts doing strange things, deactivate all your snippets and activate them one at a time.', 'code-snippets' ) . '</p>' .
64
  '<p>' . __( "If something goes wrong with a snippet and you can't use WordPress, you can cause all snippets to stop executing by adding <code>define('CODE_SNIPPETS_SAFE_MODE', true);</code> to your <code>wp-config.php</code> file. After you have deactivated the offending snippet, you can turn off safe mode by removing this line or replacing <strong>true</strong> with <strong>false</strong>.", 'code-snippets' ) . '</p>',
65
  ) );
66
-
67
- $this->screen->add_help_tab( array(
68
- 'id' => 'uninstall',
69
- 'title' => __( 'Uninstall', 'code-snippets' ),
70
- 'content' =>
71
- /* translators: 1: snippets table name, 2: Code Snippets plugin directory */
72
- '<p>' . sprintf( __( 'When you delete Code Snippets through the Plugins menu in WordPress it will clear up the <code>%1$s</code> table and a few other bits of data stored in the database. If you want to keep this data (ie: you are only temporally uninstalling Code Snippets) then remove the <code>%2$s</code> folder using FTP.', 'code-snippets' ), code_snippets()->db->get_table_name(), dirname( CODE_SNIPPETS_FILE ) ) .
73
- '<p>' . __( "Even if you're sure that you don't want to use Code Snippets ever again on this WordPress installation, you may want to use the export feature to back up your snippets.", 'code-snippets' ) . '</p>',
74
- ) );
75
  }
76
 
77
  /**
@@ -82,14 +87,15 @@ class Code_Snippets_Contextual_Help {
82
  $this->screen->add_help_tab( array(
83
  'id' => 'overview',
84
  'title' => __( 'Overview', 'code-snippets' ),
85
- 'content' => '<p>' . __( 'Snippets are similar to plugins - they both extend and expand the functionality of WordPress. Snippets are more light-weight, just a few lines of code, and do not put as much load on your server. Here you can add a new snippet, or edit an existing one.', 'code-snippets' ) . '</p>',
86
  ) );
87
 
88
  $snippet_host_links = array(
89
- __( 'WP-Snippets', 'code-snippets' ) => __( 'http://wp-snippets.com', 'code-snippets' ),
90
- __( 'WP Snipp', 'code-snippets' ) => __( 'http://wpsnipp.com', 'code-snippets' ),
91
- __( 'Cats Who Code', 'code-snippets' ) => __( 'http://www.catswhocode.com/blog/snippets', 'code-snippets' ),
92
- __( 'WP Function Me', 'code-snippets' ) => __( 'http://www.wpfunction.me', 'code-snippets' ),
 
93
  );
94
 
95
  $snippet_host_list = '';
@@ -124,23 +130,24 @@ class Code_Snippets_Contextual_Help {
124
  $this->screen->add_help_tab( array(
125
  'id' => 'overview',
126
  'title' => __( 'Overview', 'code-snippets' ),
127
- 'content' => '<p>' . __( 'Snippets are similar to plugins - they both extend and expand the functionality of WordPress. Snippets are more light-weight, just a few lines of code, and do not put as much load on your server. Here you can load snippets from a Code Snippets (.xml) import file into the database with your existing snippets.', 'code-snippets' ) . '</p>',
 
128
  ) );
129
 
130
  $this->screen->add_help_tab( array(
131
  'id' => 'import',
132
  'title' => __( 'Importing', 'code-snippets' ),
133
  'content' =>
134
- '<p>' . __( 'You can load your snippets from a code snippets (.xml) export file using this page.', 'code-snippets' ) .
135
  /* translators: %s: URL to Snippets admin menu */
136
- sprintf( __( 'Snippets will be added to the database along with your existing snippets. Regardless of whether the snippets were active on the previous site, imported snippets are always inactive until activated using the <a href="%s">All Snippets</a> page.</p>', 'code-snippets' ), $manage_url ) . '</p>',
137
  ) );
138
 
139
  $this->screen->add_help_tab( array(
140
  'id' => 'export',
141
  'title' => __( 'Exporting', 'code-snippets' ),
142
  /* translators: %s: URL to Manage Snippets admin menu */
143
- 'content' => '<p>' . sprintf( __( 'You can save your snippets to a Code Snippets (.xml) export file using the <a href="%s">Manage Snippets</a> page.', 'code-snippets' ), $manage_url ) . '</p>',
144
  ) );
145
  }
146
  }
11
  */
12
  public $screen;
13
 
14
+ /**
15
+ * @var string
16
+ */
17
+ public $screen_name;
18
+
19
  /**
20
  * @param string $screen_name
21
  */
45
  '<p><strong>' . __( 'For more information:', 'code-snippets' ) . '</strong></p>' .
46
  '<p><a href="https://wordpress.org/plugins/code-snippets">' . __( 'About Plugin', 'code-snippets' ) . '</a></p>' .
47
  '<p><a href="https://wordpress.org/plugins/code-snippets/faq">' . __( 'FAQ', 'code-snippets' ) . '</a></p>' .
48
+ '<p><a href="https://wordpress.org/support/plugin/code-snippets">' . __( 'Support Forum', 'code-snippets' ) . '</a></p>' .
49
+ '<p><a href="https://sheabunge.com/plugins/code-snippets">' . __( 'Plugin Website', 'code-snippets' ) . '</a></p>'
50
  );
51
  }
52
 
53
+ /**
54
+ * Reusable introduction text
55
+ * @return string
56
+ */
57
+ private function get_intro_text() {
58
+ return __( 'Snippets are similar to plugins - they both extend and expand the functionality of WordPress. Snippets are more light-weight, just a few lines of code, and do not put as much load on your server.', 'code-snippets' );
59
+ }
60
+
61
  /**
62
  * Register and handle the help tabs for the manage snippets admin page
63
  */
66
  $this->screen->add_help_tab( array(
67
  'id' => 'overview',
68
  'title' => __( 'Overview', 'code-snippets' ),
69
+ 'content' => '<p>' . $this->get_intro_text() .
70
+ __( ' Here you can manage your existing snippets and perform tasks on them such as activating, deactivating, deleting and exporting.', 'code-snippets' ) . '</p>',
71
  ) );
72
 
73
  $this->screen->add_help_tab( array(
77
  '<p>' . __( 'Be sure to check your snippets for errors before you activate them, as a faulty snippet could bring your whole blog down. If your site starts doing strange things, deactivate all your snippets and activate them one at a time.', 'code-snippets' ) . '</p>' .
78
  '<p>' . __( "If something goes wrong with a snippet and you can't use WordPress, you can cause all snippets to stop executing by adding <code>define('CODE_SNIPPETS_SAFE_MODE', true);</code> to your <code>wp-config.php</code> file. After you have deactivated the offending snippet, you can turn off safe mode by removing this line or replacing <strong>true</strong> with <strong>false</strong>.", 'code-snippets' ) . '</p>',
79
  ) );
 
 
 
 
 
 
 
 
 
80
  }
81
 
82
  /**
87
  $this->screen->add_help_tab( array(
88
  'id' => 'overview',
89
  'title' => __( 'Overview', 'code-snippets' ),
90
+ 'content' => '<p>' . $this->get_intro_text() . __( ' Here you can add a new snippet, or edit an existing one.', 'code-snippets' ) . '</p>',
91
  ) );
92
 
93
  $snippet_host_links = array(
94
+ __( 'WP Function Me', 'code-snippets' ) => __( 'https://www.wpfunction.me', 'code-snippets' ),
95
+ __( 'CSS-Tricks', 'code-snippets' ) => __( 'https://css-tricks.com/snippets/wordpress/', 'code-snippets' ),
96
+ __( 'WordPress Stack Exchange', 'code-snippets' ) => __( 'https://wordpress.stackexchange.com/', 'code-snippets' ),
97
+ __( 'WP Beginner', 'code-snippets' ) => __( 'https://www.wpbeginner.com/category/wp-tutorials/', 'code-snippets' ),
98
+ __( 'GenerateWP', 'code-snippets' ) => __( 'https://generatewp.com', 'code-snippets' ),
99
  );
100
 
101
  $snippet_host_list = '';
130
  $this->screen->add_help_tab( array(
131
  'id' => 'overview',
132
  'title' => __( 'Overview', 'code-snippets' ),
133
+ 'content' => '<p>' . $this->get_intro_text() .
134
+ __( ' Here you can load snippets from a code snippets export file into the database alongside existing snippets.', 'code-snippets' ) . '</p>',
135
  ) );
136
 
137
  $this->screen->add_help_tab( array(
138
  'id' => 'import',
139
  'title' => __( 'Importing', 'code-snippets' ),
140
  'content' =>
141
+ '<p>' . __( 'You can load your snippets from a code snippets export file using this page.', 'code-snippets' ) .
142
  /* translators: %s: URL to Snippets admin menu */
143
+ sprintf( __( 'Imported snippets will be added to the database along with your existing snippets. Regardless of whether the snippets were active on the previous site, imported snippets are always inactive until activated using the <a href="%s">Manage Snippets</a> page.', 'code-snippets' ), $manage_url ) . '</p>',
144
  ) );
145
 
146
  $this->screen->add_help_tab( array(
147
  'id' => 'export',
148
  'title' => __( 'Exporting', 'code-snippets' ),
149
  /* translators: %s: URL to Manage Snippets admin menu */
150
+ 'content' => '<p>' . sprintf( __( 'You can save your snippets to a code snippets export file using the <a href="%s">Manage Snippets</a> page.', 'code-snippets' ), $manage_url ) . '</p>',
151
  ) );
152
  }
153
  }
php/class-list-table.php CHANGED
@@ -117,7 +117,8 @@ class Code_Snippets_List_Table extends WP_List_Table {
117
  public function get_action_link( $action, $snippet, $escape = true ) {
118
 
119
  // redirect actions to the network dashboard for shared network snippets
120
- $network_redirect = $snippet->shared_network && ! $this->is_network;
 
121
 
122
  // edit links go to a different menu
123
  if ( 'edit' === $action ) {
@@ -126,7 +127,9 @@ class Code_Snippets_List_Table extends WP_List_Table {
126
 
127
  $query_args = array( 'action' => $action, 'id' => $snippet->id );
128
 
129
- $url = $network_redirect ? add_query_arg( $query_args, code_snippets()->get_menu_url( 'manage', 'network' ) ) : add_query_arg( $query_args );
 
 
130
 
131
  return $escape ? esc_url( $url ) : $url;
132
  }
@@ -185,39 +188,30 @@ class Code_Snippets_List_Table extends WP_List_Table {
185
  * @return string
186
  */
187
  protected function get_activation_switch( $snippet ) {
188
- $action = $snippet->active ? 'deactivate' : 'activate';
189
 
190
  if ( $this->is_network && $snippet->shared_network || ( ! $this->is_network && $snippet->network && ! $snippet ) ) {
191
  return '';
192
  }
193
 
194
- if ( $snippet->shared_network ) {
195
- $action .= 'shared';
 
 
 
 
 
 
 
 
196
  }
197
 
198
- /*
199
- if ( $snippet->active ) {
200
- $actions['deactivate'] = sprintf(
201
- $link_format,
202
- $snippet->network ? esc_html__( 'Network Deactivate', 'code-snippets' ) : esc_html__( 'Deactivate', 'code-snippets' ),
203
- $this->get_action_link( 'deactivate', $snippet )
204
- );
205
- } elseif ( 'single-use' === $snippet->scope ) {
206
-
207
- $actions['run_once'] = sprintf( $link_format, esc_html__( 'Run Once', 'code-snippets' ), $this->get_action_link( 'run-once', $snippet ) );
208
-
209
- } else {
210
- $actions['activate'] = sprintf(
211
- $link_format,
212
- $snippet->network ? esc_html__( 'Network Activate', 'code-snippets' ) : esc_html__( 'Activate', 'code-snippets' ),
213
- $this->get_action_link( 'activate', $snippet )
214
- );
215
  }
216
- */
217
 
218
  return sprintf(
219
- '<a class="snippet-activation-switch" href="%s"></a> ',
220
- $this->get_action_link( $action, $snippet )
221
  );
222
  }
223
 
@@ -261,6 +255,7 @@ class Code_Snippets_List_Table extends WP_List_Table {
261
  /* Return the name contents */
262
 
263
  $out = apply_filters( 'code_snippets/list_table/column_name', $out, $snippet );
 
264
  return $this->get_activation_switch( $snippet ) . $out . $row_actions;
265
  }
266
 
@@ -420,13 +415,13 @@ class Code_Snippets_List_Table extends WP_List_Table {
420
  $labels = array(
421
 
422
  /* translators: %s: total number of snippets */
423
- 'all' => _n( 'All <span class="count">(%s)</span>', 'All <span class="count">(%s)</span>', $count, 'code-snippets' ),
424
 
425
  /* translators: %s: total number of active snippets */
426
- 'active' => _n( 'Active <span class="count">(%s)</span>', 'Active <span class="count">(%s)</span>', $count, 'code-snippets' ),
427
 
428
  /* translators: %s: total number of inactive snippets */
429
- 'inactive' => _n( 'Inactive <span class="count">(%s)</span>', 'Inactive <span class="count">(%s)</span>', $count, 'code-snippets' ),
430
 
431
  /* translators: %s: total number of recently activated snippets */
432
  'recently_activated' => _n( 'Recently Active <span class="count">(%s)</span>', 'Recently Active <span class="count">(%s)</span>', $count, 'code-snippets' ),
@@ -483,7 +478,7 @@ class Code_Snippets_List_Table extends WP_List_Table {
483
  * @param string $which Are the actions displayed on the table top or bottom
484
  */
485
  public function extra_tablenav( $which ) {
486
- global $status, $wpdb;
487
 
488
  if ( 'top' === $which ) {
489
 
@@ -558,84 +553,96 @@ class Code_Snippets_List_Table extends WP_List_Table {
558
  }
559
 
560
  /**
561
- * Processes a bulk action
562
  *
563
  * @uses activate_snippet() to activate snippets
564
  * @uses deactivate_snippet() to deactivate snippets
565
  * @uses delete_snippet() to delete snippets
566
- * @uses wp_redirect() to pass the results to the current page
567
- * @uses add_query_arg() to append the results to the current URI
 
 
 
568
  */
569
- public function process_bulk_actions() {
570
 
571
- if ( isset( $_POST['clear-recent-list'] ) ) {
572
- if ( $this->is_network ) {
573
- update_site_option( 'recently_activated_snippets', array() );
574
- } else {
575
- update_option( 'recently_activated_snippets', array() );
576
- }
577
- }
578
 
579
- if ( isset( $_GET['action'], $_GET['id'] ) ) {
 
 
580
 
581
- $id = absint( $_GET['id'] );
582
- $_SERVER['REQUEST_URI'] = remove_query_arg( array( 'action', 'id' ) );
 
583
 
584
- switch ( sanitize_key( $_GET['action'] ) ) {
 
 
585
 
586
- case 'activate':
587
- activate_snippet( $id, $this->is_network );
588
- $result = 'activated';
589
- break;
590
 
591
- case 'run-once':
592
- activate_snippet( $id, $this->is_network );
593
- $result = 'executed';
594
- break;
595
 
596
- case 'deactivate':
597
- deactivate_snippet( $id, $this->is_network );
598
- $result = 'deactivated';
599
- break;
600
 
601
- case 'activate-shared':
602
- $active_shared_snippets = get_option( 'active_shared_network_snippets', array() );
603
 
604
- if ( ! in_array( $id, $active_shared_snippets ) ) {
605
- $active_shared_snippets[] = $id;
606
- update_option( 'active_shared_network_snippets', $active_shared_snippets );
607
- }
608
 
609
- $result = 'activated';
610
- break;
 
611
 
612
- case 'deactivate-shared':
613
- $active_shared_snippets = get_option( 'active_shared_network_snippets', array() );
614
- update_option( 'active_shared_network_snippets', array_diff( $active_shared_snippets, array( $id ) ) );
615
 
616
- $result = 'deactivated';
617
- break;
 
618
 
619
- case 'clone':
620
- $this->clone_snippets( array( $id ) );
621
- $result = 'cloned';
622
- break;
623
 
624
- case 'delete':
625
- delete_snippet( $id, $this->is_network );
626
- $result = 'deleted';
627
- break;
628
 
629
- case 'export':
630
- export_snippets( array( $id ) );
631
- break;
 
 
 
 
632
 
633
- case 'download':
634
- download_snippets( array( $id ) );
635
- break;
 
 
636
  }
 
 
 
 
 
 
 
 
637
 
638
- if ( isset( $result ) ) {
639
  wp_redirect( esc_url_raw( add_query_arg( 'result', $result ) ) );
640
  exit;
641
  }
117
  public function get_action_link( $action, $snippet, $escape = true ) {
118
 
119
  // redirect actions to the network dashboard for shared network snippets
120
+ $network_redirect = $snippet->shared_network && ! $this->is_network &&
121
+ ! in_array( $action, array( 'activate', 'activate-shared', 'run-once', 'run-once-shared' ) );
122
 
123
  // edit links go to a different menu
124
  if ( 'edit' === $action ) {
127
 
128
  $query_args = array( 'action' => $action, 'id' => $snippet->id );
129
 
130
+ $url = $network_redirect ?
131
+ add_query_arg( $query_args, code_snippets()->get_menu_url( 'manage', 'network' ) ) :
132
+ add_query_arg( $query_args );
133
 
134
  return $escape ? esc_url( $url ) : $url;
135
  }
188
  * @return string
189
  */
190
  protected function get_activation_switch( $snippet ) {
 
191
 
192
  if ( $this->is_network && $snippet->shared_network || ( ! $this->is_network && $snippet->network && ! $snippet ) ) {
193
  return '';
194
  }
195
 
196
+ if ( 'single-use' === $snippet->scope ) {
197
+ $class = 'snippet-execution-button';
198
+ $action = 'run-once';
199
+ $label = esc_html__( 'Run Once', 'code-snippets' );
200
+ } else {
201
+ $class = 'snippet-activation-switch';
202
+ $action = $snippet->active ? 'deactivate' : 'activate';
203
+ $label = $snippet->network ?
204
+ ( $snippet->active ? __( 'Network Deactivate', 'code-snippets' ) : __( 'Network Activate', 'code-snippets' ) ) :
205
+ ( $snippet->active ? __( 'Deactivate', 'code-snippets' ) : __( 'Activate', 'code-snippets' ) );
206
  }
207
 
208
+ if ( $snippet->shared_network ) {
209
+ $action .= '-shared';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
210
  }
 
211
 
212
  return sprintf(
213
+ '<a class="%s" href="%s" title="%s"></a> ',
214
+ $class, $this->get_action_link( $action, $snippet ), esc_html( $label )
215
  );
216
  }
217
 
255
  /* Return the name contents */
256
 
257
  $out = apply_filters( 'code_snippets/list_table/column_name', $out, $snippet );
258
+
259
  return $this->get_activation_switch( $snippet ) . $out . $row_actions;
260
  }
261
 
415
  $labels = array(
416
 
417
  /* translators: %s: total number of snippets */
418
+ 'all' => _n( 'All <span class="count">(%s)</span>', 'All <span class="count">(%s)</span>', $count, 'code-snippets' ),
419
 
420
  /* translators: %s: total number of active snippets */
421
+ 'active' => _n( 'Active <span class="count">(%s)</span>', 'Active <span class="count">(%s)</span>', $count, 'code-snippets' ),
422
 
423
  /* translators: %s: total number of inactive snippets */
424
+ 'inactive' => _n( 'Inactive <span class="count">(%s)</span>', 'Inactive <span class="count">(%s)</span>', $count, 'code-snippets' ),
425
 
426
  /* translators: %s: total number of recently activated snippets */
427
  'recently_activated' => _n( 'Recently Active <span class="count">(%s)</span>', 'Recently Active <span class="count">(%s)</span>', $count, 'code-snippets' ),
478
  * @param string $which Are the actions displayed on the table top or bottom
479
  */
480
  public function extra_tablenav( $which ) {
481
+ global $status;
482
 
483
  if ( 'top' === $which ) {
484
 
553
  }
554
 
555
  /**
556
+ * Perform an action on a single snippet
557
  *
558
  * @uses activate_snippet() to activate snippets
559
  * @uses deactivate_snippet() to deactivate snippets
560
  * @uses delete_snippet() to delete snippets
561
+ *
562
+ * @param int $id
563
+ * @param string $action
564
+ *
565
+ * @return bool|string Result of performing action
566
  */
567
+ private function perform_action( $id, $action ) {
568
 
569
+ switch ( $action ) {
 
 
 
 
 
 
570
 
571
+ case 'activate':
572
+ activate_snippet( $id, $this->is_network );
573
+ return 'activated';
574
 
575
+ case 'deactivate':
576
+ deactivate_snippet( $id, $this->is_network );
577
+ return 'deactivated';
578
 
579
+ case 'run-once':
580
+ $this->perform_action( $id, 'activate' );
581
+ return 'executed';
582
 
583
+ case 'run-once-shared':
584
+ $this->perform_action( $id, 'activate-shared' );
585
+ return 'executed';
 
586
 
587
+ case 'activate-shared':
588
+ $active_shared_snippets = get_option( 'active_shared_network_snippets', array() );
 
 
589
 
590
+ if ( ! in_array( $id, $active_shared_snippets ) ) {
591
+ $active_shared_snippets[] = $id;
592
+ update_option( 'active_shared_network_snippets', $active_shared_snippets );
593
+ }
594
 
595
+ return 'activated';
 
596
 
597
+ case 'deactivate-shared':
598
+ $active_shared_snippets = get_option( 'active_shared_network_snippets', array() );
599
+ update_option( 'active_shared_network_snippets', array_diff( $active_shared_snippets, array( $id ) ) );
600
+ return 'deactivated';
601
 
602
+ case 'clone':
603
+ $this->clone_snippets( array( $id ) );
604
+ return 'cloned';
605
 
606
+ case 'delete':
607
+ delete_snippet( $id, $this->is_network );
608
+ return 'deleted';
609
 
610
+ case 'export':
611
+ export_snippets( array( $id ) );
612
+ break;
613
 
614
+ case 'download':
615
+ download_snippets( array( $id ) );
616
+ break;
617
+ }
618
 
619
+ return false;
620
+ }
 
 
621
 
622
+ /**
623
+ * Processes a bulk action
624
+ *
625
+ * @uses wp_redirect() to pass the results to the current page
626
+ * @uses add_query_arg() to append the results to the current URI
627
+ */
628
+ public function process_bulk_actions() {
629
 
630
+ if ( isset( $_POST['clear-recent-list'] ) ) {
631
+ if ( $this->is_network ) {
632
+ update_site_option( 'recently_activated_snippets', array() );
633
+ } else {
634
+ update_option( 'recently_activated_snippets', array() );
635
  }
636
+ }
637
+
638
+ if ( isset( $_GET['action'], $_GET['id'] ) ) {
639
+
640
+ $id = absint( $_GET['id'] );
641
+ $_SERVER['REQUEST_URI'] = remove_query_arg( array( 'action', 'id' ) );
642
+
643
+ $result = $this->perform_action( $id, sanitize_key( $_GET['action'] ) );
644
 
645
+ if ( $result ) {
646
  wp_redirect( esc_url_raw( add_query_arg( 'result', $result ) ) );
647
  exit;
648
  }
php/class-snippet.php CHANGED
@@ -11,14 +11,13 @@
11
  * @property string $desc The formatted description
12
  * @property string $code The executable code
13
  * @property array $tags An array of the tags
14
- * @property int $scope The scope number
15
  * @property int $priority Execution priority
16
  * @property bool $active The active status
17
  * @property bool $network true if is multisite-wide snippet, false if site-wide
18
  * @property bool $shared_network Whether the snippet is a shared network snippet
19
  *
20
  * @property-read array $tags_list The tags in string list format
21
- * @property-read string $scope_name The name of the scope
22
  * @property-read string $scope_icon The dashicon used to represent the current scope
23
  */
24
  class Code_Snippet {
@@ -224,11 +223,11 @@ class Code_Snippet {
224
  }
225
 
226
  /**
227
- * Prepare the scope by ensuring that it is a valid number
228
  *
229
- * @param int $scope The field as provided
230
  *
231
- * @return int The field in the correct format
232
  */
233
  private function prepare_scope( $scope ) {
234
  $scopes = self::get_all_scopes();
11
  * @property string $desc The formatted description
12
  * @property string $code The executable code
13
  * @property array $tags An array of the tags
14
+ * @property string $scope The scope name
15
  * @property int $priority Execution priority
16
  * @property bool $active The active status
17
  * @property bool $network true if is multisite-wide snippet, false if site-wide
18
  * @property bool $shared_network Whether the snippet is a shared network snippet
19
  *
20
  * @property-read array $tags_list The tags in string list format
 
21
  * @property-read string $scope_icon The dashicon used to represent the current scope
22
  */
23
  class Code_Snippet {
223
  }
224
 
225
  /**
226
+ * Prepare the scope by ensuring that it is a valid choice
227
  *
228
+ * @param int|string $scope The field as provided
229
  *
230
+ * @return string The field in the correct format
231
  */
232
  private function prepare_scope( $scope ) {
233
  $scopes = self::get_all_scopes();
php/class-upgrade.php CHANGED
@@ -145,7 +145,7 @@ class Code_Snippets_Upgrade {
145
  array(
146
  'name' => __( 'Example HTML shortcode', 'code-snippets' ),
147
  'code' => sprintf(
148
- "\nadd_shortcode( 'shortcode_name', function () { ?>\n\n\t<p>%s</p>\n\n<?php } );",
149
  strip_tags( __( 'write your HTML shortcode content here', 'code-snippets' ) )
150
  ),
151
  'desc' => __( 'This is an example snippet for demonstrating how to add an HTML shortcode.', 'code-snippets' ),
@@ -173,6 +173,14 @@ class Code_Snippets_Upgrade {
173
  'tags' => array( 'javascript' ),
174
  'scope' => 'front-end',
175
  ),
 
 
 
 
 
 
 
 
176
  );
177
 
178
  foreach ( $snippets as $snippet ) {
145
  array(
146
  'name' => __( 'Example HTML shortcode', 'code-snippets' ),
147
  'code' => sprintf(
148
+ "\nadd_shortcode( 'shortcode_name', function () { \n\n\treturn '<p>%s</p>';\n\n<?php } );",
149
  strip_tags( __( 'write your HTML shortcode content here', 'code-snippets' ) )
150
  ),
151
  'desc' => __( 'This is an example snippet for demonstrating how to add an HTML shortcode.', 'code-snippets' ),
173
  'tags' => array( 'javascript' ),
174
  'scope' => 'front-end',
175
  ),
176
+
177
+ array(
178
+ 'name' => __( 'Order snippets by name', 'code-snippets' ),
179
+ 'code' => "\nadd_filter( 'code_snippets/list_table/default_orderby', function () {\n\treturn 'name';\n} );\n",
180
+ 'desc' => __( 'Order snippets by name by default in the snippets table.', 'code-snippets' ),
181
+ 'tags' => array( 'code-snippets-plugin' ),
182
+ 'scope' => 'admin',
183
+ ),
184
  );
185
 
186
  foreach ( $snippets as $snippet ) {
php/functions.php CHANGED
@@ -27,19 +27,6 @@ function code_snippets_get_menu_url( $menu = '', $context = 'self' ) {
27
  return code_snippets()->get_menu_url( $menu, $context );
28
  }
29
 
30
- /**
31
- * Fetch the admin menu hook for a snippets menu
32
- *
33
- * @deprecated Use code_snippets()->get_menu_hook() instead
34
- *
35
- * @param string $menu The menu to retrieve the hook for
36
- *
37
- * @return string The menu hook
38
- */
39
- function code_snippets_get_menu_hook( $menu = '' ) {
40
- return code_snippets()->get_menu_hook( $menu );
41
- }
42
-
43
  /**
44
  * Fetch the admin menu slug for a snippets menu
45
  *
27
  return code_snippets()->get_menu_url( $menu, $context );
28
  }
29
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30
  /**
31
  * Fetch the admin menu slug for a snippets menu
32
  *
php/settings/editor-preview.php CHANGED
@@ -9,17 +9,10 @@
9
 
10
  /**
11
  * Load the CSS and JavaScript for the editor preview field
12
- *
13
- * @param string $hook The current page hook
14
  */
15
- function code_snippets_editor_settings_preview_assets( $hook ) {
16
  $plugin = code_snippets();
17
 
18
- // Only load on the settings page
19
- if ( $plugin->get_menu_hook( 'settings' ) !== $hook ) {
20
- return;
21
- }
22
-
23
  // Enqueue scripts for the editor preview
24
  code_snippets_enqueue_editor();
25
 
@@ -65,8 +58,6 @@ function code_snippets_editor_settings_preview_assets( $hook ) {
65
  wp_add_inline_script( 'code-snippets-settings-menu', $inline_script, 'before' );
66
  }
67
 
68
- add_action( 'admin_enqueue_scripts', 'code_snippets_editor_settings_preview_assets' );
69
-
70
  /**
71
  * Render a theme select field
72
  *
9
 
10
  /**
11
  * Load the CSS and JavaScript for the editor preview field
 
 
12
  */
13
+ function code_snippets_editor_settings_preview_assets() {
14
  $plugin = code_snippets();
15
 
 
 
 
 
 
16
  // Enqueue scripts for the editor preview
17
  code_snippets_enqueue_editor();
18
 
58
  wp_add_inline_script( 'code-snippets-settings-menu', $inline_script, 'before' );
59
  }
60
 
 
 
61
  /**
62
  * Render a theme select field
63
  *
php/snippet-ops.php CHANGED
@@ -14,8 +14,9 @@
14
  * @uses $wpdb to query the database for snippets
15
  * @uses code_snippets()->db->get_table_name() to dynamically retrieve the snippet table name
16
  *
17
- * @param array $ids The IDs of the snippets to fetch
18
  * @param bool|null $multisite Retrieve multisite-wide or site-wide snippets?
 
19
  * @return array An array of Snippet objects
20
  */
21
  function get_snippets( array $ids = array(), $multisite = null ) {
@@ -78,13 +79,16 @@ function get_all_snippet_tags() {
78
  }
79
 
80
  /* Remove duplicate tags */
 
81
  return array_values( array_unique( $tags, SORT_REGULAR ) );
82
  }
 
83
  /**
84
  * Make sure that the tags are a valid array
85
  * @since 2.0
86
  *
87
  * @param mixed $tags The tags to convert into an array
 
88
  * @return array The converted tags
89
  */
90
  function code_snippets_build_tags_array( $tags ) {
@@ -102,6 +106,7 @@ function code_snippets_build_tags_array( $tags ) {
102
  }
103
 
104
  /* If we still don't have an array, just convert whatever we do have into one */
 
105
  return (array) $tags;
106
  }
107
 
@@ -115,7 +120,7 @@ function code_snippets_build_tags_array( $tags ) {
115
  * @uses $wpdb to query the database for snippets
116
  * @uses code_snippets()->db->get_table_name() to dynamically retrieve the snippet table name
117
  *
118
- * @param int $id The ID of the snippet to retrieve. 0 to build a new snippet
119
  * @param boolean|null $multisite Retrieve a multisite-wide or site-wide snippet?
120
  *
121
  * @return Code_Snippet A single snippet object
@@ -153,7 +158,7 @@ function get_snippet( $id = 0, $multisite = null ) {
153
  *
154
  * @uses $wpdb to set the snippet's active status
155
  *
156
- * @param int $id The ID of the snippet to activate
157
  * @param bool|null $multisite Are the snippets multisite-wide or site-wide?
158
  */
159
  function activate_snippet( $id, $multisite = null ) {
@@ -186,7 +191,7 @@ function activate_snippet( $id, $multisite = null ) {
186
  *
187
  * @uses $wpdb to set the snippets' active status
188
  *
189
- * @param int $id The ID of the snippet to deactivate
190
  * @param bool|null $multisite Are the snippets multisite-wide or site-wide?
191
  */
192
  function deactivate_snippet( $id, $multisite = null ) {
@@ -234,7 +239,7 @@ function deactivate_snippet( $id, $multisite = null ) {
234
  * @uses $wpdb to access the database
235
  * @uses code_snippets()->db->get_table_name() to dynamically retrieve the name of the snippet table
236
  *
237
- * @param int $id The ID of the snippet to delete
238
  * @param bool|null $multisite Delete from site-wide or network-wide table?
239
  */
240
  function delete_snippet( $id, $multisite = null ) {
@@ -258,7 +263,7 @@ function delete_snippet( $id, $multisite = null ) {
258
  * @uses $wpdb to update/add the snippet to the database
259
  * @uses code_snippets()->db->get_table_name() To dynamically retrieve the name of the snippet table
260
  *
261
- * @param Code_Snippet $snippet The snippet to add/update to the database
262
  *
263
  * @return int The ID of the snippet
264
  */
@@ -270,13 +275,13 @@ function save_snippet( Code_Snippet $snippet ) {
270
 
271
  /* Build array of data to insert */
272
  $data = array(
273
- 'name' => $snippet->name,
274
  'description' => $snippet->desc,
275
- 'code' => $snippet->code,
276
- 'tags' => $snippet->tags_list,
277
- 'scope' => $snippet->scope,
278
- 'priority' => $snippet->priority,
279
- 'active' => intval( $snippet->active ),
280
  );
281
 
282
  /* Create a new snippet if the ID is not set */
@@ -301,8 +306,8 @@ function save_snippet( Code_Snippet $snippet ) {
301
  * Update a snippet entry given a list of fields
302
  *
303
  * @param int $snippet_id The ID of the snippet to update
304
- * @param array $fields An array of fields mapped to their values
305
- * @param bool $network Whether the snippet is network-wide or site-wide
306
  */
307
  function update_snippet_fields( $snippet_id, $fields, $network = null ) {
308
  /** @var wpdb $wpdb */
@@ -337,8 +342,8 @@ function update_snippet_fields( $snippet_id, $fields, $network = null ) {
337
  *
338
  * @since 2.0
339
  *
340
- * @param string $code The snippet code to execute
341
- * @param int $id The snippet ID
342
  * @param bool $catch_output Whether to attempt to suppress the output of execution using buffers
343
  *
344
  * @return mixed The result of the code execution
@@ -398,7 +403,7 @@ function execute_active_snippets() {
398
  $active_shared_ids = get_option( 'active_shared_network_snippets', array() );
399
 
400
  /* If there are active shared snippets, include them in the query */
401
- if ( count( $active_shared_ids ) ) {
402
 
403
  /* Build a list of "%d, %d, %d ..." for every active network shared snippet we have */
404
  $active_shared_ids_format = implode( ',', array_fill( 0, count( $active_shared_ids ), '%d' ) );
@@ -409,6 +414,7 @@ function execute_active_snippets() {
409
  /* Add the scope number to the IDs array, so that it is the first variable in the query */
410
  array_unshift( $active_shared_ids, $current_scope );
411
  $queries[ $db->ms_table ] = $wpdb->prepare( $sql, $active_shared_ids );
 
412
 
413
  } else {
414
  $sql = sprintf( $sql_format, $db->ms_table ) . 'AND active=1 ' . $order;
@@ -417,15 +423,27 @@ function execute_active_snippets() {
417
  }
418
 
419
  foreach ( $queries as $table_name => $query ) {
420
- $active_snippets = $wpdb->get_results( $query, ARRAY_A );
 
 
 
 
421
 
422
  /* Loop through the returned snippets and execute the PHP code */
423
  foreach ( $active_snippets as $snippet ) {
424
  $snippet_id = intval( $snippet['id'] );
425
  $code = $snippet['code'];
426
 
 
427
  if ( 'single-use' === $snippet['scope'] ) {
428
- $wpdb->update( $table_name, array( 'active' => '0' ), array( 'id' => $snippet_id ), array( '%d' ), array( '%d' ) );
 
 
 
 
 
 
 
429
  }
430
 
431
  if ( apply_filters( 'code_snippets/allow_execute_snippet', true, $snippet_id, $table_name ) ) {
@@ -436,5 +454,3 @@ function execute_active_snippets() {
436
 
437
  return true;
438
  }
439
-
440
-
14
  * @uses $wpdb to query the database for snippets
15
  * @uses code_snippets()->db->get_table_name() to dynamically retrieve the snippet table name
16
  *
17
+ * @param array $ids The IDs of the snippets to fetch
18
  * @param bool|null $multisite Retrieve multisite-wide or site-wide snippets?
19
+ *
20
  * @return array An array of Snippet objects
21
  */
22
  function get_snippets( array $ids = array(), $multisite = null ) {
79
  }
80
 
81
  /* Remove duplicate tags */
82
+
83
  return array_values( array_unique( $tags, SORT_REGULAR ) );
84
  }
85
+
86
  /**
87
  * Make sure that the tags are a valid array
88
  * @since 2.0
89
  *
90
  * @param mixed $tags The tags to convert into an array
91
+ *
92
  * @return array The converted tags
93
  */
94
  function code_snippets_build_tags_array( $tags ) {
106
  }
107
 
108
  /* If we still don't have an array, just convert whatever we do have into one */
109
+
110
  return (array) $tags;
111
  }
112
 
120
  * @uses $wpdb to query the database for snippets
121
  * @uses code_snippets()->db->get_table_name() to dynamically retrieve the snippet table name
122
  *
123
+ * @param int $id The ID of the snippet to retrieve. 0 to build a new snippet
124
  * @param boolean|null $multisite Retrieve a multisite-wide or site-wide snippet?
125
  *
126
  * @return Code_Snippet A single snippet object
158
  *
159
  * @uses $wpdb to set the snippet's active status
160
  *
161
+ * @param int $id The ID of the snippet to activate
162
  * @param bool|null $multisite Are the snippets multisite-wide or site-wide?
163
  */
164
  function activate_snippet( $id, $multisite = null ) {
191
  *
192
  * @uses $wpdb to set the snippets' active status
193
  *
194
+ * @param int $id The ID of the snippet to deactivate
195
  * @param bool|null $multisite Are the snippets multisite-wide or site-wide?
196
  */
197
  function deactivate_snippet( $id, $multisite = null ) {
239
  * @uses $wpdb to access the database
240
  * @uses code_snippets()->db->get_table_name() to dynamically retrieve the name of the snippet table
241
  *
242
+ * @param int $id The ID of the snippet to delete
243
  * @param bool|null $multisite Delete from site-wide or network-wide table?
244
  */
245
  function delete_snippet( $id, $multisite = null ) {
263
  * @uses $wpdb to update/add the snippet to the database
264
  * @uses code_snippets()->db->get_table_name() To dynamically retrieve the name of the snippet table
265
  *
266
+ * @param Code_Snippet $snippet The snippet to add/update to the database
267
  *
268
  * @return int The ID of the snippet
269
  */
275
 
276
  /* Build array of data to insert */
277
  $data = array(
278
+ 'name' => $snippet->name,
279
  'description' => $snippet->desc,
280
+ 'code' => $snippet->code,
281
+ 'tags' => $snippet->tags_list,
282
+ 'scope' => $snippet->scope,
283
+ 'priority' => $snippet->priority,
284
+ 'active' => intval( $snippet->active ),
285
  );
286
 
287
  /* Create a new snippet if the ID is not set */
306
  * Update a snippet entry given a list of fields
307
  *
308
  * @param int $snippet_id The ID of the snippet to update
309
+ * @param array $fields An array of fields mapped to their values
310
+ * @param bool $network Whether the snippet is network-wide or site-wide
311
  */
312
  function update_snippet_fields( $snippet_id, $fields, $network = null ) {
313
  /** @var wpdb $wpdb */
342
  *
343
  * @since 2.0
344
  *
345
+ * @param string $code The snippet code to execute
346
+ * @param int $id The snippet ID
347
  * @param bool $catch_output Whether to attempt to suppress the output of execution using buffers
348
  *
349
  * @return mixed The result of the code execution
403
  $active_shared_ids = get_option( 'active_shared_network_snippets', array() );
404
 
405
  /* If there are active shared snippets, include them in the query */
406
+ if ( is_array( $active_shared_ids ) && count( $active_shared_ids ) ) {
407
 
408
  /* Build a list of "%d, %d, %d ..." for every active network shared snippet we have */
409
  $active_shared_ids_format = implode( ',', array_fill( 0, count( $active_shared_ids ), '%d' ) );
414
  /* Add the scope number to the IDs array, so that it is the first variable in the query */
415
  array_unshift( $active_shared_ids, $current_scope );
416
  $queries[ $db->ms_table ] = $wpdb->prepare( $sql, $active_shared_ids );
417
+ array_shift( $active_shared_ids ); // remove it afterwards as we need this variable later
418
 
419
  } else {
420
  $sql = sprintf( $sql_format, $db->ms_table ) . 'AND active=1 ' . $order;
423
  }
424
 
425
  foreach ( $queries as $table_name => $query ) {
426
+ $active_snippets = $wpdb->get_results( $query, 'ARRAY_A' );
427
+
428
+ if ( ! is_array( $active_snippets ) ) {
429
+ continue;
430
+ }
431
 
432
  /* Loop through the returned snippets and execute the PHP code */
433
  foreach ( $active_snippets as $snippet ) {
434
  $snippet_id = intval( $snippet['id'] );
435
  $code = $snippet['code'];
436
 
437
+ // if the snippet is a single-use snippet, deactivate it before execution to ensure that the process always happens
438
  if ( 'single-use' === $snippet['scope'] ) {
439
+ if ( $table_name === $db->ms_table && isset( $active_shared_ids ) &&
440
+ false !== ( $key = array_search( $snippet_id, $active_shared_ids ) ) ) {
441
+ unset( $active_shared_ids[ $key ] );
442
+ $active_shared_ids = array_values( $active_shared_ids );
443
+ update_option( 'active_shared_network_snippets', $active_shared_ids );
444
+ } else {
445
+ $wpdb->update( $table_name, array( 'active' => '0' ), array( 'id' => $snippet_id ), array( '%d' ), array( '%d' ) );
446
+ }
447
  }
448
 
449
  if ( apply_filters( 'code_snippets/allow_execute_snippet', true, $snippet_id, $table_name ) ) {
454
 
455
  return true;
456
  }
 
 
php/views/edit.php CHANGED
@@ -18,10 +18,12 @@ $snippet = get_snippet( $edit_id );
18
 
19
  $classes = array();
20
 
21
- if ( $edit_id ) {
22
- $classes[] = ( $snippet->active ? '' : 'in' ) . 'active-snippet';
23
- } else {
24
  $classes[] = 'new-snippet';
 
 
 
 
25
  }
26
 
27
  ?>
@@ -38,6 +40,8 @@ if ( $edit_id ) {
38
  esc_html_e( 'Add New Snippet', 'code-snippets' );
39
  }
40
 
 
 
41
  if ( code_snippets()->admin->is_compact_menu() ) {
42
 
43
  printf( '<a href="%2$s" class="page-title-action">%1$s</a>',
@@ -85,9 +89,64 @@ if ( $edit_id ) {
85
  </label>
86
  </h2>
87
 
88
- <textarea id="snippet_code" name="snippet_code" rows="200" spellcheck="false" style="font-family: monospace; width: 100%;"><?php
89
- echo esc_textarea( $snippet->code );
90
- ?></textarea>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
91
 
92
  <?php
93
  /* Allow plugins to add fields and content to this page */
@@ -103,16 +162,16 @@ if ( $edit_id ) {
103
 
104
  /* Make the 'Save and Activate' button the default if the setting is enabled */
105
 
106
- if ( 'single-use' === $snippet->scope ) {
107
 
108
  submit_button( null, 'primary', 'save_snippet', false );
109
 
110
- submit_button( __( 'Save Changes and Execute Once', 'code-snippets' ), 'secondary', 'save_snippet_execute', false );
111
-
112
- } elseif ( $snippet->shared_network && is_network_admin() ) {
113
 
114
  submit_button( null, 'primary', 'save_snippet', false );
115
 
 
 
116
  } elseif ( ! $snippet->active && code_snippets_get_setting( 'general', 'activate_by_default' ) ) {
117
 
118
  submit_button(
18
 
19
  $classes = array();
20
 
21
+ if ( ! $edit_id ) {
 
 
22
  $classes[] = 'new-snippet';
23
+ } elseif ( 'single-use' === $snippet->scope ) {
24
+ $classes[] = 'single-use-snippet';
25
+ } else {
26
+ $classes[] = ( $snippet->active ? '' : 'in' ) . 'active-snippet';
27
  }
28
 
29
  ?>
40
  esc_html_e( 'Add New Snippet', 'code-snippets' );
41
  }
42
 
43
+ $admin = code_snippets()->admin;
44
+
45
  if ( code_snippets()->admin->is_compact_menu() ) {
46
 
47
  printf( '<a href="%2$s" class="page-title-action">%1$s</a>',
89
  </label>
90
  </h2>
91
 
92
+ <div class="snippet-editor">
93
+ <textarea id="snippet_code" name="snippet_code" rows="200" spellcheck="false" style="font-family: monospace; width: 100%;"><?php
94
+ echo esc_textarea( $snippet->code );
95
+ ?></textarea>
96
+
97
+ <div class="snippet-editor-help">
98
+
99
+ <div class="editor-help-tooltip cm-s-<?php
100
+ echo esc_attr( code_snippets_get_setting( 'editor', 'theme' ) ); ?>"><?php
101
+ echo esc_html_x( '?', 'help tooltip', 'code-snippets' ); ?></div>
102
+
103
+ <?php
104
+
105
+ $keys = array(
106
+ 'Cmd' => esc_html_x( 'Cmd', 'keyboard key', 'code-snippets' ),
107
+ 'Ctrl' => esc_html_x( 'Ctrl', 'keyboard key', 'code-snippets' ),
108
+ 'Shift' => esc_html_x( 'Shift', 'keyboard key', 'code-snippets' ),
109
+ 'Option' => esc_html_x( 'Option', 'keyboard key', 'code-snippets' ),
110
+ 'Alt' => esc_html_x( 'Alt', 'keyboard key', 'code-snippets' ),
111
+ 'F' => esc_html_x( 'F', 'keyboard key', 'code-snippets' ),
112
+ 'G' => esc_html_x( 'G', 'keyboard key', 'code-snippets' ),
113
+ 'R' => esc_html_x( 'R', 'keyboard key', 'code-snippets' ),
114
+ );
115
+ ?>
116
+
117
+ <div class="editor-help-text">
118
+ <table>
119
+ <tr>
120
+ <td><?php esc_html_e( 'Begin searching', 'code-snippets' ); ?></td>
121
+ <td><kbd class="pc-key"><?php echo $keys['Ctrl']; ?></kbd><kbd class="mac-key"><?php
122
+ echo $keys['Cmd']; ?></kbd>&hyphen;<kbd><?php echo $keys['F']; ?></kbd></td>
123
+ </tr>
124
+ <tr>
125
+ <td><?php esc_html_e( 'Find next', 'code-snippets' ); ?></td>
126
+ <td><kbd class="pc-key"><?php echo $keys['Ctrl']; ?></kbd><kbd class="mac-key"><?php echo $keys['Cmd']; ?></kbd>&hyphen;<kbd><?php echo $keys['G']; ?></kbd></td>
127
+ </tr>
128
+ <tr>
129
+ <td><?php esc_html_e( 'Find previous', 'code-snippets' ); ?></td>
130
+ <td><kbd><?php echo $keys['Shift']; ?></kbd>-<kbd class="pc-key"><?php echo $keys['Ctrl']; ?></kbd><kbd class="mac-key"><?php echo $keys['Cmd']; ?></kbd>&hyphen;<kbd><?php echo $keys['G']; ?></kbd></td>
131
+ </tr>
132
+ <tr>
133
+ <td><?php esc_html_e( 'Replace', 'code-snippets' ); ?></td>
134
+ <td><kbd><?php echo $keys['Shift']; ?></kbd>&hyphen;<kbd class="pc-key"><?php echo $keys['Ctrl']; ?></kbd><kbd class="mac-key"><?php echo $keys['Cmd']; ?></kbd>&hyphen;<kbd><?php echo $keys['F']; ?></kbd></td>
135
+ </tr>
136
+ <tr>
137
+ <td><?php esc_html_e( 'Replace all', 'code-snippets' ); ?></td>
138
+ <td>
139
+ <kbd><?php echo $keys['Shift']; ?></kbd>&hyphen;<kbd class="pc-key"><?php echo $keys['Ctrl']; ?></kbd><kbd class="mac-key"><?php echo $keys['Cmd']; ?></kbd><span class="mac-key">&hyphen;</span><kbd class="mac-key"><?php echo $keys['Option']; ?></kbd>&hyphen;<kbd><?php echo $keys['R']; ?></kbd>
140
+ </td>
141
+ </tr>
142
+ <tr>
143
+ <td><?php esc_html_e( 'Persistent search', 'code-snippets' ); ?></td>
144
+ <td><kbd><?php echo $keys['Alt']; ?></kbd>&hyphen;<kbd><?php echo $keys['F']; ?></kbd></td>
145
+ </tr>
146
+ </table>
147
+ </div>
148
+ </div>
149
+ </div>
150
 
151
  <?php
152
  /* Allow plugins to add fields and content to this page */
162
 
163
  /* Make the 'Save and Activate' button the default if the setting is enabled */
164
 
165
+ if ( $snippet->shared_network && is_network_admin() ) {
166
 
167
  submit_button( null, 'primary', 'save_snippet', false );
168
 
169
+ } elseif ( 'single-use' === $snippet->scope ) {
 
 
170
 
171
  submit_button( null, 'primary', 'save_snippet', false );
172
 
173
+ submit_button( __( 'Save Changes and Execute Once', 'code-snippets' ), 'secondary', 'save_snippet_execute', false );
174
+
175
  } elseif ( ! $snippet->active && code_snippets_get_setting( 'general', 'activate_by_default' ) ) {
176
 
177
  submit_button(
php/views/manage.php CHANGED
@@ -30,7 +30,9 @@ if ( ! defined( 'ABSPATH' ) ) {
30
  code_snippets()->get_menu_url( 'import' )
31
  );
32
 
33
- if ( code_snippets()->admin->is_compact_menu() && isset( $admin->menus['settings'] ) ) {
 
 
34
  printf( '<a href="%2$s" class="page-title-action">%1$s</a>',
35
  esc_html_x( 'Settings', 'snippets', 'code-snippets' ),
36
  code_snippets()->get_menu_url( 'settings' )
30
  code_snippets()->get_menu_url( 'import' )
31
  );
32
 
33
+ $admin = code_snippets()->admin;
34
+
35
+ if ( $admin->is_compact_menu() && isset( $admin->menus['settings'] ) ) {
36
  printf( '<a href="%2$s" class="page-title-action">%1$s</a>',
37
  esc_html_x( 'Settings', 'snippets', 'code-snippets' ),
38
  code_snippets()->get_menu_url( 'settings' )
readme.txt CHANGED
@@ -5,7 +5,7 @@ Tags: code-snippets, snippets, code, php, network, multisite
5
  Requires at least: 3.6
6
  Tested up to: 5.0.1
7
  Requires PHP: 5.2
8
- Stable tag: 2.13.0
9
  License: MIT
10
  License URI: license.txt
11
 
@@ -31,6 +31,8 @@ If you'd like to contribute to the plugin's code or translate it into another la
31
 
32
  Code Snippets can be used in these different languages thanks to the following translators:
33
 
 
 
34
  * Belarusian - [Hrank.com](https://www.hrank.com)
35
  * Brazilian Portuguese – [Bruno Borges](http://brunoborges.info)
36
  * French (Canada) - [Dominic Desbiens](http://www.dominicdesbiens.com/)
@@ -42,7 +44,6 @@ Code Snippets can be used in these different languages thanks to the following t
42
  * Chinese - [Jincheng Shan](http://shanjincheng.com)
43
  * Serbo-Croatian - [Borisa Djuraskovic from Web Hosting Hub](http://www.webhostinghub.com/)
44
  * Japanese - [mt8](http://mt8.biz/)
45
- * French - [oWEB](http://office-web.net)
46
 
47
  == Installation ==
48
 
@@ -121,6 +122,17 @@ That's fantastic! Fork the [repository on GitHub](http://github.com/sheabunge/co
121
 
122
  == Changelog ==
123
 
 
 
 
 
 
 
 
 
 
 
 
124
  = 2.13.0 (17 Dec 2018) =
125
  * Added: Search/replace functionality to the snippet editor. [See here for a list of keyboard shortcuts.](https://codemirror.net/demo/search.html) [[#](https://wordpress.org/support/topic/feature-request-codemirror-search-and-replace/)]
126
  * Updated CodeMirror to version 5.42.0
@@ -568,6 +580,9 @@ That's fantastic! Fork the [repository on GitHub](http://github.com/sheabunge/co
568
 
569
  == Upgrade Notice ==
570
 
 
 
 
571
  = 2.11.0 =
572
  Snippet priorities and other small features
573
 
5
  Requires at least: 3.6
6
  Tested up to: 5.0.1
7
  Requires PHP: 5.2
8
+ Stable tag: 2.13.1
9
  License: MIT
10
  License URI: license.txt
11
 
31
 
32
  Code Snippets can be used in these different languages thanks to the following translators:
33
 
34
+ * Danish - [Finn Sommer Jensen](https://profiles.wordpress.org/finnsommer/)
35
+ * French – [momo-fr](http://www.momofr.net/) and [Shea Bunge](https://sheabunge.com)
36
  * Belarusian - [Hrank.com](https://www.hrank.com)
37
  * Brazilian Portuguese – [Bruno Borges](http://brunoborges.info)
38
  * French (Canada) - [Dominic Desbiens](http://www.dominicdesbiens.com/)
44
  * Chinese - [Jincheng Shan](http://shanjincheng.com)
45
  * Serbo-Croatian - [Borisa Djuraskovic from Web Hosting Hub](http://www.webhostinghub.com/)
46
  * Japanese - [mt8](http://mt8.biz/)
 
47
 
48
  == Installation ==
49
 
122
 
123
  == Changelog ==
124
 
125
+ = 2.13.1 (22 Jan 2019) =
126
+ * Added: Add menu buttons to settings page for compact menu
127
+ * Updated: French translation updated thanks to momo-fr
128
+ * Fixed: Split code editor and tag editor scripts into their own files to prevent dependency errors
129
+ * Fixed: Handling of single-use shared network snippets
130
+ * Fixed: Minor translation template issues
131
+ * Added: Help tooltop to snippet editor for keyboard shortcuts, thanks to Michael DeWitt
132
+ * Improved: Added button for executing single-use snippets to snippets table
133
+ * Added: Sample snippet for ordering snippets table by name by default
134
+ * Updated CodeMirror to version 5.43.0
135
+
136
  = 2.13.0 (17 Dec 2018) =
137
  * Added: Search/replace functionality to the snippet editor. [See here for a list of keyboard shortcuts.](https://codemirror.net/demo/search.html) [[#](https://wordpress.org/support/topic/feature-request-codemirror-search-and-replace/)]
138
  * Updated CodeMirror to version 5.42.0
580
 
581
  == Upgrade Notice ==
582
 
583
+ = 2.13.1 =
584
+ Fixes for single-use snippets and French translation
585
+
586
  = 2.11.0 =
587
  Snippet priorities and other small features
588