ace-rails-ap 4.1.1 → 4.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (352) hide show
  1. checksums.yaml +4 -4
  2. data/lib/ace/rails/version.rb +1 -1
  3. data/vendor/assets/javascripts/ace/ace.js +529 -133
  4. data/vendor/assets/javascripts/ace/ext-beautify.js +0 -0
  5. data/vendor/assets/javascripts/ace/ext-chromevox.js +0 -0
  6. data/vendor/assets/javascripts/ace/ext-elastic_tabstops_lite.js +0 -0
  7. data/vendor/assets/javascripts/ace/ext-emmet.js +17 -12
  8. data/vendor/assets/javascripts/ace/ext-error_marker.js +0 -0
  9. data/vendor/assets/javascripts/ace/ext-keybinding_menu.js +0 -0
  10. data/vendor/assets/javascripts/ace/ext-language_tools.js +12 -4
  11. data/vendor/assets/javascripts/ace/ext-linking.js +0 -0
  12. data/vendor/assets/javascripts/ace/ext-modelist.js +11 -5
  13. data/vendor/assets/javascripts/ace/ext-old_ie.js +1 -0
  14. data/vendor/assets/javascripts/ace/ext-searchbox.js +1 -0
  15. data/vendor/assets/javascripts/ace/ext-settings_menu.js +12 -5
  16. data/vendor/assets/javascripts/ace/ext-spellcheck.js +0 -0
  17. data/vendor/assets/javascripts/ace/ext-split.js +0 -0
  18. data/vendor/assets/javascripts/ace/ext-static_highlight.js +0 -0
  19. data/vendor/assets/javascripts/ace/ext-statusbar.js +0 -0
  20. data/vendor/assets/javascripts/ace/ext-textarea.js +0 -0
  21. data/vendor/assets/javascripts/ace/ext-themelist.js +1 -0
  22. data/vendor/assets/javascripts/ace/ext-whitespace.js +0 -0
  23. data/vendor/assets/javascripts/ace/keybinding-emacs.js +0 -0
  24. data/vendor/assets/javascripts/ace/keybinding-vim.js +28 -18
  25. data/vendor/assets/javascripts/ace/mode-abap.js +4 -4
  26. data/vendor/assets/javascripts/ace/mode-abc.js +1 -0
  27. data/vendor/assets/javascripts/ace/mode-actionscript.js +1 -0
  28. data/vendor/assets/javascripts/ace/mode-ada.js +2 -2
  29. data/vendor/assets/javascripts/ace/mode-apache_conf.js +1 -0
  30. data/vendor/assets/javascripts/ace/mode-applescript.js +2 -2
  31. data/vendor/assets/javascripts/ace/mode-asciidoc.js +1 -1
  32. data/vendor/assets/javascripts/ace/mode-assembly_x86.js +1 -0
  33. data/vendor/assets/javascripts/ace/mode-autohotkey.js +1 -0
  34. data/vendor/assets/javascripts/ace/mode-batchfile.js +1 -0
  35. data/vendor/assets/javascripts/ace/mode-bro.js +327 -0
  36. data/vendor/assets/javascripts/ace/mode-c9search.js +31 -14
  37. data/vendor/assets/javascripts/ace/mode-c_cpp.js +4 -361
  38. data/vendor/assets/javascripts/ace/mode-cirru.js +7 -6
  39. data/vendor/assets/javascripts/ace/mode-clojure.js +4 -3
  40. data/vendor/assets/javascripts/ace/mode-cobol.js +2 -2
  41. data/vendor/assets/javascripts/ace/mode-coffee.js +2 -3
  42. data/vendor/assets/javascripts/ace/mode-coldfusion.js +16 -370
  43. data/vendor/assets/javascripts/ace/mode-csharp.js +0 -357
  44. data/vendor/assets/javascripts/ace/mode-css.js +0 -357
  45. data/vendor/assets/javascripts/ace/mode-curly.js +16 -371
  46. data/vendor/assets/javascripts/ace/mode-d.js +2 -1
  47. data/vendor/assets/javascripts/ace/mode-dart.js +4 -361
  48. data/vendor/assets/javascripts/ace/mode-diff.js +0 -0
  49. data/vendor/assets/javascripts/ace/mode-django.js +15 -369
  50. data/vendor/assets/javascripts/ace/mode-dockerfile.js +3 -360
  51. data/vendor/assets/javascripts/ace/mode-dot.js +2 -1
  52. data/vendor/assets/javascripts/ace/mode-drools.js +459 -0
  53. data/vendor/assets/javascripts/ace/mode-eiffel.js +2 -2
  54. data/vendor/assets/javascripts/ace/mode-ejs.js +19 -373
  55. data/vendor/assets/javascripts/ace/mode-elixir.js +1 -0
  56. data/vendor/assets/javascripts/ace/mode-elm.js +5 -2
  57. data/vendor/assets/javascripts/ace/mode-erlang.js +4 -3
  58. data/vendor/assets/javascripts/ace/mode-forth.js +14 -13
  59. data/vendor/assets/javascripts/ace/mode-fortran.js +423 -0
  60. data/vendor/assets/javascripts/ace/mode-ftl.js +7 -6
  61. data/vendor/assets/javascripts/ace/mode-gcode.js +1 -0
  62. data/vendor/assets/javascripts/ace/mode-gherkin.js +2 -1
  63. data/vendor/assets/javascripts/ace/mode-gitignore.js +1 -0
  64. data/vendor/assets/javascripts/ace/mode-glsl.js +4 -361
  65. data/vendor/assets/javascripts/ace/mode-gobstones.js +8 -365
  66. data/vendor/assets/javascripts/ace/mode-golang.js +0 -357
  67. data/vendor/assets/javascripts/ace/mode-groovy.js +7 -365
  68. data/vendor/assets/javascripts/ace/mode-haml.js +12 -11
  69. data/vendor/assets/javascripts/ace/mode-handlebars.js +15 -371
  70. data/vendor/assets/javascripts/ace/mode-haskell.js +29 -28
  71. data/vendor/assets/javascripts/ace/mode-haskell_cabal.js +134 -0
  72. data/vendor/assets/javascripts/ace/mode-haxe.js +0 -357
  73. data/vendor/assets/javascripts/ace/mode-hjson.js +346 -0
  74. data/vendor/assets/javascripts/ace/mode-html.js +15 -369
  75. data/vendor/assets/javascripts/ace/mode-html_elixir.js +16 -369
  76. data/vendor/assets/javascripts/ace/mode-html_ruby.js +18 -372
  77. data/vendor/assets/javascripts/ace/mode-ini.js +1 -0
  78. data/vendor/assets/javascripts/ace/mode-io.js +3 -3
  79. data/vendor/assets/javascripts/ace/mode-jack.js +0 -357
  80. data/vendor/assets/javascripts/ace/mode-jade.js +11 -12
  81. data/vendor/assets/javascripts/ace/mode-java.js +7 -365
  82. data/vendor/assets/javascripts/ace/mode-javascript.js +7 -365
  83. data/vendor/assets/javascripts/ace/mode-json.js +0 -357
  84. data/vendor/assets/javascripts/ace/mode-jsoniq.js +5 -358
  85. data/vendor/assets/javascripts/ace/mode-jsp.js +6 -363
  86. data/vendor/assets/javascripts/ace/mode-jsx.js +0 -357
  87. data/vendor/assets/javascripts/ace/mode-julia.js +1 -0
  88. data/vendor/assets/javascripts/ace/mode-kotlin.js +786 -0
  89. data/vendor/assets/javascripts/ace/mode-latex.js +2 -2
  90. data/vendor/assets/javascripts/ace/mode-lean.js +0 -0
  91. data/vendor/assets/javascripts/ace/mode-less.js +0 -357
  92. data/vendor/assets/javascripts/ace/mode-liquid.js +9 -9
  93. data/vendor/assets/javascripts/ace/mode-lisp.js +1 -0
  94. data/vendor/assets/javascripts/ace/mode-live_script.js +0 -0
  95. data/vendor/assets/javascripts/ace/mode-livescript.js +0 -0
  96. data/vendor/assets/javascripts/ace/mode-logiql.js +0 -357
  97. data/vendor/assets/javascripts/ace/mode-lsl.js +0 -357
  98. data/vendor/assets/javascripts/ace/mode-lua.js +1 -0
  99. data/vendor/assets/javascripts/ace/mode-luapage.js +16 -369
  100. data/vendor/assets/javascripts/ace/mode-lucene.js +1 -0
  101. data/vendor/assets/javascripts/ace/mode-makefile.js +3 -2
  102. data/vendor/assets/javascripts/ace/mode-markdown.js +17 -370
  103. data/vendor/assets/javascripts/ace/mode-mask.js +10 -367
  104. data/vendor/assets/javascripts/ace/mode-matlab.js +21 -21
  105. data/vendor/assets/javascripts/ace/mode-maze.js +1 -0
  106. data/vendor/assets/javascripts/ace/mode-mel.js +0 -357
  107. data/vendor/assets/javascripts/ace/mode-mips_assembler.js +0 -0
  108. data/vendor/assets/javascripts/ace/mode-mipsassembler.js +0 -0
  109. data/vendor/assets/javascripts/ace/mode-mushcode.js +2 -1
  110. data/vendor/assets/javascripts/ace/mode-mysql.js +2 -2
  111. data/vendor/assets/javascripts/ace/mode-nix.js +5 -361
  112. data/vendor/assets/javascripts/ace/mode-nsis.js +11 -10
  113. data/vendor/assets/javascripts/ace/mode-objectivec.js +9 -8
  114. data/vendor/assets/javascripts/ace/mode-ocaml.js +1 -0
  115. data/vendor/assets/javascripts/ace/mode-pascal.js +1 -0
  116. data/vendor/assets/javascripts/ace/mode-perl.js +3 -3
  117. data/vendor/assets/javascripts/ace/mode-pgsql.js +8 -8
  118. data/vendor/assets/javascripts/ace/mode-php.js +197 -723
  119. data/vendor/assets/javascripts/ace/mode-plain_text.js +0 -0
  120. data/vendor/assets/javascripts/ace/mode-powershell.js +0 -357
  121. data/vendor/assets/javascripts/ace/mode-praat.js +4 -4
  122. data/vendor/assets/javascripts/ace/mode-prolog.js +1 -0
  123. data/vendor/assets/javascripts/ace/mode-properties.js +1 -0
  124. data/vendor/assets/javascripts/ace/mode-protobuf.js +4 -361
  125. data/vendor/assets/javascripts/ace/mode-python.js +2 -1
  126. data/vendor/assets/javascripts/ace/mode-r.js +5 -6
  127. data/vendor/assets/javascripts/ace/mode-razor.js +26 -370
  128. data/vendor/assets/javascripts/ace/mode-rdoc.js +4 -4
  129. data/vendor/assets/javascripts/ace/mode-rhtml.js +17 -371
  130. data/vendor/assets/javascripts/ace/mode-rst.js +3 -3
  131. data/vendor/assets/javascripts/ace/mode-ruby.js +3 -360
  132. data/vendor/assets/javascripts/ace/mode-rust.js +5 -4
  133. data/vendor/assets/javascripts/ace/mode-sass.js +1 -0
  134. data/vendor/assets/javascripts/ace/mode-scad.js +1 -359
  135. data/vendor/assets/javascripts/ace/mode-scala.js +9 -369
  136. data/vendor/assets/javascripts/ace/mode-scheme.js +1 -0
  137. data/vendor/assets/javascripts/ace/mode-scss.js +0 -357
  138. data/vendor/assets/javascripts/ace/mode-sh.js +3 -360
  139. data/vendor/assets/javascripts/ace/mode-sjs.js +7 -365
  140. data/vendor/assets/javascripts/ace/mode-smarty.js +15 -369
  141. data/vendor/assets/javascripts/ace/mode-snippets.js +1 -0
  142. data/vendor/assets/javascripts/ace/mode-soy_template.js +15 -369
  143. data/vendor/assets/javascripts/ace/mode-space.js +1 -0
  144. data/vendor/assets/javascripts/ace/mode-sql.js +2 -2
  145. data/vendor/assets/javascripts/ace/mode-sqlserver.js +2 -2
  146. data/vendor/assets/javascripts/ace/mode-stylus.js +1 -0
  147. data/vendor/assets/javascripts/ace/mode-svg.js +12 -366
  148. data/vendor/assets/javascripts/ace/mode-swift.js +2 -358
  149. data/vendor/assets/javascripts/ace/mode-swig.js +0 -0
  150. data/vendor/assets/javascripts/ace/mode-tcl.js +2 -1
  151. data/vendor/assets/javascripts/ace/mode-tex.js +3 -2
  152. data/vendor/assets/javascripts/ace/mode-text.js +0 -0
  153. data/vendor/assets/javascripts/ace/mode-textile.js +1 -0
  154. data/vendor/assets/javascripts/ace/mode-toml.js +1 -0
  155. data/vendor/assets/javascripts/ace/mode-tsx.js +884 -0
  156. data/vendor/assets/javascripts/ace/mode-twig.js +16 -370
  157. data/vendor/assets/javascripts/ace/mode-typescript.js +8 -366
  158. data/vendor/assets/javascripts/ace/mode-vala.js +1 -358
  159. data/vendor/assets/javascripts/ace/mode-vbscript.js +44 -71
  160. data/vendor/assets/javascripts/ace/mode-velocity.js +15 -369
  161. data/vendor/assets/javascripts/ace/mode-verilog.js +2 -1
  162. data/vendor/assets/javascripts/ace/mode-vhdl.js +2 -2
  163. data/vendor/assets/javascripts/ace/mode-wollok.js +7 -365
  164. data/vendor/assets/javascripts/ace/mode-xml.js +5 -1
  165. data/vendor/assets/javascripts/ace/mode-xquery.js +32 -369
  166. data/vendor/assets/javascripts/ace/mode-yaml.js +4 -3
  167. data/vendor/assets/javascripts/ace/snippets/abap.js +0 -0
  168. data/vendor/assets/javascripts/ace/snippets/abc.js +0 -0
  169. data/vendor/assets/javascripts/ace/snippets/actionscript.js +0 -0
  170. data/vendor/assets/javascripts/ace/snippets/ada.js +0 -0
  171. data/vendor/assets/javascripts/ace/snippets/apache_conf.js +0 -0
  172. data/vendor/assets/javascripts/ace/snippets/applescript.js +0 -0
  173. data/vendor/assets/javascripts/ace/snippets/asciidoc.js +0 -0
  174. data/vendor/assets/javascripts/ace/snippets/assembly_x86.js +0 -0
  175. data/vendor/assets/javascripts/ace/snippets/autohotkey.js +0 -0
  176. data/vendor/assets/javascripts/ace/snippets/batchfile.js +0 -0
  177. data/vendor/assets/javascripts/ace/snippets/bro.js +7 -0
  178. data/vendor/assets/javascripts/ace/snippets/c9search.js +0 -0
  179. data/vendor/assets/javascripts/ace/snippets/c_cpp.js +0 -0
  180. data/vendor/assets/javascripts/ace/snippets/cirru.js +0 -0
  181. data/vendor/assets/javascripts/ace/snippets/clojure.js +0 -0
  182. data/vendor/assets/javascripts/ace/snippets/cobol.js +0 -0
  183. data/vendor/assets/javascripts/ace/snippets/coffee.js +0 -0
  184. data/vendor/assets/javascripts/ace/snippets/coldfusion.js +0 -0
  185. data/vendor/assets/javascripts/ace/snippets/csharp.js +0 -0
  186. data/vendor/assets/javascripts/ace/snippets/css.js +0 -0
  187. data/vendor/assets/javascripts/ace/snippets/curly.js +0 -0
  188. data/vendor/assets/javascripts/ace/snippets/d.js +0 -0
  189. data/vendor/assets/javascripts/ace/snippets/dart.js +0 -0
  190. data/vendor/assets/javascripts/ace/snippets/diff.js +0 -0
  191. data/vendor/assets/javascripts/ace/snippets/django.js +0 -0
  192. data/vendor/assets/javascripts/ace/snippets/dockerfile.js +0 -0
  193. data/vendor/assets/javascripts/ace/snippets/dot.js +0 -0
  194. data/vendor/assets/javascripts/ace/snippets/drools.js +26 -0
  195. data/vendor/assets/javascripts/ace/snippets/eiffel.js +0 -0
  196. data/vendor/assets/javascripts/ace/snippets/ejs.js +0 -0
  197. data/vendor/assets/javascripts/ace/snippets/elixir.js +0 -0
  198. data/vendor/assets/javascripts/ace/snippets/elm.js +0 -0
  199. data/vendor/assets/javascripts/ace/snippets/erlang.js +0 -0
  200. data/vendor/assets/javascripts/ace/snippets/forth.js +0 -0
  201. data/vendor/assets/javascripts/ace/snippets/fortran.js +7 -0
  202. data/vendor/assets/javascripts/ace/snippets/ftl.js +0 -0
  203. data/vendor/assets/javascripts/ace/snippets/gcode.js +0 -0
  204. data/vendor/assets/javascripts/ace/snippets/gherkin.js +0 -0
  205. data/vendor/assets/javascripts/ace/snippets/gitignore.js +0 -0
  206. data/vendor/assets/javascripts/ace/snippets/glsl.js +0 -0
  207. data/vendor/assets/javascripts/ace/snippets/gobstones.js +41 -0
  208. data/vendor/assets/javascripts/ace/snippets/golang.js +0 -0
  209. data/vendor/assets/javascripts/ace/snippets/groovy.js +0 -0
  210. data/vendor/assets/javascripts/ace/snippets/haml.js +0 -0
  211. data/vendor/assets/javascripts/ace/snippets/handlebars.js +0 -0
  212. data/vendor/assets/javascripts/ace/snippets/haskell.js +0 -0
  213. data/vendor/assets/javascripts/ace/snippets/haskell_cabal.js +7 -0
  214. data/vendor/assets/javascripts/ace/snippets/haxe.js +0 -0
  215. data/vendor/assets/javascripts/ace/snippets/hjson.js +7 -0
  216. data/vendor/assets/javascripts/ace/snippets/html.js +0 -0
  217. data/vendor/assets/javascripts/ace/snippets/html_elixir.js +0 -0
  218. data/vendor/assets/javascripts/ace/snippets/html_ruby.js +0 -0
  219. data/vendor/assets/javascripts/ace/snippets/ini.js +0 -0
  220. data/vendor/assets/javascripts/ace/snippets/io.js +0 -0
  221. data/vendor/assets/javascripts/ace/snippets/jack.js +0 -0
  222. data/vendor/assets/javascripts/ace/snippets/jade.js +0 -0
  223. data/vendor/assets/javascripts/ace/snippets/java.js +0 -0
  224. data/vendor/assets/javascripts/ace/snippets/javascript.js +0 -0
  225. data/vendor/assets/javascripts/ace/snippets/json.js +0 -0
  226. data/vendor/assets/javascripts/ace/snippets/jsoniq.js +0 -0
  227. data/vendor/assets/javascripts/ace/snippets/jsp.js +0 -0
  228. data/vendor/assets/javascripts/ace/snippets/jsx.js +0 -0
  229. data/vendor/assets/javascripts/ace/snippets/julia.js +0 -0
  230. data/vendor/assets/javascripts/ace/snippets/kotlin.js +7 -0
  231. data/vendor/assets/javascripts/ace/snippets/latex.js +0 -0
  232. data/vendor/assets/javascripts/ace/snippets/lean.js +0 -0
  233. data/vendor/assets/javascripts/ace/snippets/less.js +0 -0
  234. data/vendor/assets/javascripts/ace/snippets/liquid.js +0 -0
  235. data/vendor/assets/javascripts/ace/snippets/lisp.js +0 -0
  236. data/vendor/assets/javascripts/ace/snippets/live_script.js +0 -0
  237. data/vendor/assets/javascripts/ace/snippets/livescript.js +0 -0
  238. data/vendor/assets/javascripts/ace/snippets/logiql.js +0 -0
  239. data/vendor/assets/javascripts/ace/snippets/lsl.js +0 -0
  240. data/vendor/assets/javascripts/ace/snippets/lua.js +0 -0
  241. data/vendor/assets/javascripts/ace/snippets/luapage.js +0 -0
  242. data/vendor/assets/javascripts/ace/snippets/lucene.js +0 -0
  243. data/vendor/assets/javascripts/ace/snippets/makefile.js +0 -0
  244. data/vendor/assets/javascripts/ace/snippets/markdown.js +0 -0
  245. data/vendor/assets/javascripts/ace/snippets/mask.js +0 -0
  246. data/vendor/assets/javascripts/ace/snippets/matlab.js +0 -0
  247. data/vendor/assets/javascripts/ace/snippets/maze.js +0 -0
  248. data/vendor/assets/javascripts/ace/snippets/mel.js +0 -0
  249. data/vendor/assets/javascripts/ace/snippets/mips_assembler.js +0 -0
  250. data/vendor/assets/javascripts/ace/snippets/mipsassembler.js +0 -0
  251. data/vendor/assets/javascripts/ace/snippets/mushcode.js +0 -0
  252. data/vendor/assets/javascripts/ace/snippets/mysql.js +0 -0
  253. data/vendor/assets/javascripts/ace/snippets/nix.js +0 -0
  254. data/vendor/assets/javascripts/ace/snippets/nsis.js +7 -0
  255. data/vendor/assets/javascripts/ace/snippets/objectivec.js +0 -0
  256. data/vendor/assets/javascripts/ace/snippets/ocaml.js +0 -0
  257. data/vendor/assets/javascripts/ace/snippets/pascal.js +0 -0
  258. data/vendor/assets/javascripts/ace/snippets/perl.js +0 -0
  259. data/vendor/assets/javascripts/ace/snippets/pgsql.js +0 -0
  260. data/vendor/assets/javascripts/ace/snippets/php.js +0 -0
  261. data/vendor/assets/javascripts/ace/snippets/plain_text.js +0 -0
  262. data/vendor/assets/javascripts/ace/snippets/powershell.js +0 -0
  263. data/vendor/assets/javascripts/ace/snippets/praat.js +0 -0
  264. data/vendor/assets/javascripts/ace/snippets/prolog.js +0 -0
  265. data/vendor/assets/javascripts/ace/snippets/properties.js +0 -0
  266. data/vendor/assets/javascripts/ace/snippets/protobuf.js +0 -0
  267. data/vendor/assets/javascripts/ace/snippets/python.js +0 -0
  268. data/vendor/assets/javascripts/ace/snippets/r.js +0 -0
  269. data/vendor/assets/javascripts/ace/snippets/razor.js +10 -0
  270. data/vendor/assets/javascripts/ace/snippets/rdoc.js +0 -0
  271. data/vendor/assets/javascripts/ace/snippets/rhtml.js +0 -0
  272. data/vendor/assets/javascripts/ace/snippets/rst.js +29 -0
  273. data/vendor/assets/javascripts/ace/snippets/ruby.js +0 -0
  274. data/vendor/assets/javascripts/ace/snippets/rust.js +0 -0
  275. data/vendor/assets/javascripts/ace/snippets/sass.js +0 -0
  276. data/vendor/assets/javascripts/ace/snippets/scad.js +0 -0
  277. data/vendor/assets/javascripts/ace/snippets/scala.js +0 -0
  278. data/vendor/assets/javascripts/ace/snippets/scheme.js +0 -0
  279. data/vendor/assets/javascripts/ace/snippets/scss.js +0 -0
  280. data/vendor/assets/javascripts/ace/snippets/sh.js +0 -0
  281. data/vendor/assets/javascripts/ace/snippets/sjs.js +0 -0
  282. data/vendor/assets/javascripts/ace/snippets/smarty.js +0 -0
  283. data/vendor/assets/javascripts/ace/snippets/snippets.js +0 -0
  284. data/vendor/assets/javascripts/ace/snippets/soy_template.js +0 -0
  285. data/vendor/assets/javascripts/ace/snippets/space.js +0 -0
  286. data/vendor/assets/javascripts/ace/snippets/sql.js +0 -0
  287. data/vendor/assets/javascripts/ace/snippets/sqlserver.js +0 -0
  288. data/vendor/assets/javascripts/ace/snippets/stylus.js +0 -0
  289. data/vendor/assets/javascripts/ace/snippets/svg.js +0 -0
  290. data/vendor/assets/javascripts/ace/snippets/swift.js +0 -0
  291. data/vendor/assets/javascripts/ace/snippets/swig.js +0 -0
  292. data/vendor/assets/javascripts/ace/snippets/tcl.js +0 -0
  293. data/vendor/assets/javascripts/ace/snippets/tex.js +0 -0
  294. data/vendor/assets/javascripts/ace/snippets/text.js +0 -0
  295. data/vendor/assets/javascripts/ace/snippets/textile.js +0 -0
  296. data/vendor/assets/javascripts/ace/snippets/toml.js +0 -0
  297. data/vendor/assets/javascripts/ace/snippets/tsx.js +7 -0
  298. data/vendor/assets/javascripts/ace/snippets/twig.js +0 -0
  299. data/vendor/assets/javascripts/ace/snippets/typescript.js +0 -0
  300. data/vendor/assets/javascripts/ace/snippets/vala.js +0 -0
  301. data/vendor/assets/javascripts/ace/snippets/vbscript.js +0 -0
  302. data/vendor/assets/javascripts/ace/snippets/velocity.js +0 -0
  303. data/vendor/assets/javascripts/ace/snippets/verilog.js +0 -0
  304. data/vendor/assets/javascripts/ace/snippets/vhdl.js +0 -0
  305. data/vendor/assets/javascripts/ace/snippets/wollok.js +91 -0
  306. data/vendor/assets/javascripts/ace/snippets/xml.js +0 -0
  307. data/vendor/assets/javascripts/ace/snippets/xquery.js +0 -0
  308. data/vendor/assets/javascripts/ace/snippets/yaml.js +0 -0
  309. data/vendor/assets/javascripts/ace/theme-ambiance.js +0 -0
  310. data/vendor/assets/javascripts/ace/theme-chaos.js +0 -0
  311. data/vendor/assets/javascripts/ace/theme-chrome.js +0 -0
  312. data/vendor/assets/javascripts/ace/theme-clouds.js +0 -0
  313. data/vendor/assets/javascripts/ace/theme-clouds_midnight.js +0 -0
  314. data/vendor/assets/javascripts/ace/theme-cobalt.js +0 -0
  315. data/vendor/assets/javascripts/ace/theme-crimson_editor.js +0 -0
  316. data/vendor/assets/javascripts/ace/theme-dawn.js +0 -0
  317. data/vendor/assets/javascripts/ace/theme-dreamweaver.js +0 -0
  318. data/vendor/assets/javascripts/ace/theme-eclipse.js +0 -0
  319. data/vendor/assets/javascripts/ace/theme-github.js +0 -0
  320. data/vendor/assets/javascripts/ace/theme-idle_fingers.js +0 -0
  321. data/vendor/assets/javascripts/ace/theme-iplastic.js +0 -0
  322. data/vendor/assets/javascripts/ace/theme-katzenmilch.js +0 -0
  323. data/vendor/assets/javascripts/ace/theme-kr_theme.js +0 -0
  324. data/vendor/assets/javascripts/ace/theme-kuroir.js +0 -0
  325. data/vendor/assets/javascripts/ace/theme-merbivore.js +0 -0
  326. data/vendor/assets/javascripts/ace/theme-merbivore_soft.js +0 -0
  327. data/vendor/assets/javascripts/ace/theme-mono_industrial.js +0 -0
  328. data/vendor/assets/javascripts/ace/theme-monokai.js +0 -0
  329. data/vendor/assets/javascripts/ace/theme-pastel_on_dark.js +0 -0
  330. data/vendor/assets/javascripts/ace/theme-solarized_dark.js +0 -0
  331. data/vendor/assets/javascripts/ace/theme-solarized_light.js +0 -0
  332. data/vendor/assets/javascripts/ace/theme-sqlserver.js +0 -0
  333. data/vendor/assets/javascripts/ace/theme-terminal.js +0 -0
  334. data/vendor/assets/javascripts/ace/theme-textmate.js +0 -0
  335. data/vendor/assets/javascripts/ace/theme-tomorrow.js +0 -0
  336. data/vendor/assets/javascripts/ace/theme-tomorrow_night.js +0 -0
  337. data/vendor/assets/javascripts/ace/theme-tomorrow_night_blue.js +0 -0
  338. data/vendor/assets/javascripts/ace/theme-tomorrow_night_bright.js +0 -0
  339. data/vendor/assets/javascripts/ace/theme-tomorrow_night_eighties.js +0 -0
  340. data/vendor/assets/javascripts/ace/theme-twilight.js +0 -0
  341. data/vendor/assets/javascripts/ace/theme-vibrant_ink.js +0 -0
  342. data/vendor/assets/javascripts/ace/theme-xcode.js +0 -0
  343. data/vendor/assets/javascripts/ace/worker-coffee.js +5 -7
  344. data/vendor/assets/javascripts/ace/worker-css.js +20 -22
  345. data/vendor/assets/javascripts/ace/worker-html.js +5 -7
  346. data/vendor/assets/javascripts/ace/worker-javascript.js +6 -8
  347. data/vendor/assets/javascripts/ace/worker-json.js +5 -7
  348. data/vendor/assets/javascripts/ace/worker-lua.js +5 -7
  349. data/vendor/assets/javascripts/ace/worker-php.js +1399 -4118
  350. data/vendor/assets/javascripts/ace/worker-xml.js +5 -7
  351. data/vendor/assets/javascripts/ace/worker-xquery.js +17575 -8836
  352. metadata +21 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d4cf20342c728fa66c2da8aba076978b7fefd79d
4
- data.tar.gz: 24365ef37794916b75345b26c22e5359801d7bf5
3
+ metadata.gz: baf951ceef5756b26d02cc8d02da6238989d3a6c
4
+ data.tar.gz: 531dfbf44e7478b2b136202438f7a194d4edfb62
5
5
  SHA512:
6
- metadata.gz: f4386d018eafcc995149071e617a55e565c389245af0d7e394dd41fabe4f980c4b2089467bfa491c4ff42c534f76dc514aa1a7fb683cdceb59d6ed7279328db2
7
- data.tar.gz: 0f33220e9f50884d7c64259fb93794fe91216268411e58528aab20edb58e3f43cd730618fd3ef0cfa6731ead868f2180c0e67a5a7f1eb174ce38542a23dfa366
6
+ metadata.gz: 694873071977e12e2f2b91942d6bb2f398ef964da9ec0c3d1fc58076d40da17bf622c7e5387df7e3012375741207fbfb97c37bb8d918930dfaa195a408fecf5d
7
+ data.tar.gz: 83025aeef24b6ab0cf8edf346ebd5e5c98a6ab39a5051239ceaaae50f99c2119a8fa567198cd0f829d28c1b150acbe358ec9bdcd75f78b50feeeaacf00706d3f
@@ -1,5 +1,5 @@
1
1
  module Ace
2
2
  module Rails
3
- VERSION = "4.1.1"
3
+ VERSION = "4.1.2"
4
4
  end
5
5
  end
@@ -960,7 +960,7 @@ exports.getDocumentHead = function(doc) {
960
960
  if (!doc)
961
961
  doc = document;
962
962
  return doc.head || doc.getElementsByTagName("head")[0] || doc.documentElement;
963
- };
963
+ }
964
964
 
965
965
  exports.createElement = function(tag, ns) {
966
966
  return document.createElementNS ?
@@ -969,7 +969,7 @@ exports.createElement = function(tag, ns) {
969
969
  };
970
970
 
971
971
  exports.hasCssClass = function(el, name) {
972
- var classes = (el.className || "").split(/\s+/g);
972
+ var classes = (el.className + "").split(/\s+/g);
973
973
  return classes.indexOf(name) !== -1;
974
974
  };
975
975
  exports.addCssClass = function(el, name) {
@@ -1360,7 +1360,7 @@ exports.isIE =
1360
1360
 
1361
1361
  exports.isOldIE = exports.isIE && exports.isIE < 9;
1362
1362
  exports.isGecko = exports.isMozilla = (window.Controllers || window.controllers) && window.navigator.product === "Gecko";
1363
- exports.isOldGecko = exports.isGecko && parseInt((ua.match(/rv\:(\d+)/)||[])[1], 10) < 4;
1363
+ exports.isOldGecko = exports.isGecko && parseInt((ua.match(/rv:(\d+)/)||[])[1], 10) < 4;
1364
1364
  exports.isOpera = window.opera && Object.prototype.toString.call(window.opera) == "[object Opera]";
1365
1365
  exports.isWebKit = parseFloat(ua.split("WebKit/")[1]) || undefined;
1366
1366
 
@@ -1597,7 +1597,7 @@ function normalizeCommandKeys(callback, e, keyCode) {
1597
1597
  var hashId = getModifierHash(e);
1598
1598
 
1599
1599
  if (!useragent.isMac && pressedKeys) {
1600
- if (pressedKeys.OSKey)
1600
+ if (e.getModifierState && (e.getModifierState("OS") || e.getModifierState("Win")))
1601
1601
  hashId |= 8;
1602
1602
  if (pressedKeys.altGr) {
1603
1603
  if ((3 & hashId) != 3)
@@ -1663,18 +1663,8 @@ exports.addCommandKeyListener = function(el, callback) {
1663
1663
  var lastDefaultPrevented = null;
1664
1664
 
1665
1665
  addListener(el, "keydown", function(e) {
1666
- var keyCode = e.keyCode;
1667
- pressedKeys[keyCode] = (pressedKeys[keyCode] || 0) + 1;
1668
- if (keyCode == 91 || keyCode == 92) {
1669
- pressedKeys.OSKey = true;
1670
- } else if (pressedKeys.OSKey) {
1671
- if (e.timeStamp - pressedKeys.lastT > 200 && pressedKeys.count == 1)
1672
- resetPressedKeys();
1673
- }
1674
- if (pressedKeys[keyCode] == 1)
1675
- pressedKeys.count++;
1676
- pressedKeys.lastT = e.timeStamp;
1677
- var result = normalizeCommandKeys(callback, e, keyCode);
1666
+ pressedKeys[e.keyCode] = (pressedKeys[e.keyCode] || 0) + 1;
1667
+ var result = normalizeCommandKeys(callback, e, e.keyCode);
1678
1668
  lastDefaultPrevented = e.defaultPrevented;
1679
1669
  return result;
1680
1670
  });
@@ -1687,16 +1677,7 @@ exports.addCommandKeyListener = function(el, callback) {
1687
1677
  });
1688
1678
 
1689
1679
  addListener(el, "keyup", function(e) {
1690
- var keyCode = e.keyCode;
1691
- if (!pressedKeys[keyCode]) {
1692
- resetPressedKeys();
1693
- } else {
1694
- pressedKeys.count = Math.max(pressedKeys.count - 1, 0);
1695
- }
1696
- if (keyCode == 91 || keyCode == 92) {
1697
- pressedKeys.OSKey = false;
1698
- }
1699
- pressedKeys[keyCode] = null;
1680
+ pressedKeys[e.keyCode] = null;
1700
1681
  });
1701
1682
 
1702
1683
  if (!pressedKeys) {
@@ -1707,8 +1688,6 @@ exports.addCommandKeyListener = function(el, callback) {
1707
1688
  };
1708
1689
  function resetPressedKeys() {
1709
1690
  pressedKeys = Object.create(null);
1710
- pressedKeys.count = 0;
1711
- pressedKeys.lastT = 0;
1712
1691
  }
1713
1692
 
1714
1693
  if (typeof window == "object" && window.postMessage && !useragent.isOldIE) {
@@ -1788,7 +1767,7 @@ exports.copyArray = function(array){
1788
1767
  var copy = [];
1789
1768
  for (var i=0, l=array.length; i<l; i++) {
1790
1769
  if (array[i] && typeof array[i] == "object")
1791
- copy[i] = this.copyObject( array[i] );
1770
+ copy[i] = this.copyObject(array[i]);
1792
1771
  else
1793
1772
  copy[i] = array[i];
1794
1773
  }
@@ -1806,14 +1785,12 @@ exports.deepCopy = function deepCopy(obj) {
1806
1785
  }
1807
1786
  return copy;
1808
1787
  }
1809
- var cons = obj.constructor;
1810
- if (cons === RegExp)
1788
+ if (Object.prototype.toString.call(obj) !== "[object Object]")
1811
1789
  return obj;
1812
1790
 
1813
- copy = cons();
1814
- for (var key in obj) {
1791
+ copy = {};
1792
+ for (var key in obj)
1815
1793
  copy[key] = deepCopy(obj[key]);
1816
- }
1817
1794
  return copy;
1818
1795
  };
1819
1796
 
@@ -2150,15 +2127,20 @@ var TextInput = function(parentNode, host) {
2150
2127
  resetValue();
2151
2128
  };
2152
2129
 
2153
- var handleClipboardData = function(e, data) {
2130
+ var handleClipboardData = function(e, data, forceIEMime) {
2154
2131
  var clipboardData = e.clipboardData || window.clipboardData;
2155
2132
  if (!clipboardData || BROKEN_SETDATA)
2156
2133
  return;
2157
- var mime = USE_IE_MIME_TYPE ? "Text" : "text/plain";
2158
- if (data) {
2159
- return clipboardData.setData(mime, data) !== false;
2160
- } else {
2161
- return clipboardData.getData(mime);
2134
+ var mime = USE_IE_MIME_TYPE || forceIEMime ? "Text" : "text/plain";
2135
+ try {
2136
+ if (data) {
2137
+ return clipboardData.setData(mime, data) !== false;
2138
+ } else {
2139
+ return clipboardData.getData(mime);
2140
+ }
2141
+ } catch(e) {
2142
+ if (!forceIEMime)
2143
+ return handleClipboardData(e, data, true);
2162
2144
  }
2163
2145
  };
2164
2146
 
@@ -2237,10 +2219,11 @@ var TextInput = function(parentNode, host) {
2237
2219
  if (inComposition || !host.onCompositionStart || host.$readOnly)
2238
2220
  return;
2239
2221
  inComposition = {};
2222
+ inComposition.canUndo = host.session.$undoManager;
2240
2223
  host.onCompositionStart();
2241
2224
  setTimeout(onCompositionUpdate, 0);
2242
2225
  host.on("mousedown", onCompositionEnd);
2243
- if (!host.selection.isEmpty()) {
2226
+ if (inComposition.canUndo && !host.selection.isEmpty()) {
2244
2227
  host.insert("");
2245
2228
  host.session.markUndoGroup();
2246
2229
  host.selection.clearSelection();
@@ -2257,7 +2240,8 @@ var TextInput = function(parentNode, host) {
2257
2240
  host.onCompositionUpdate(val);
2258
2241
  if (inComposition.lastValue)
2259
2242
  host.undo();
2260
- inComposition.lastValue = val;
2243
+ if (inComposition.canUndo)
2244
+ inComposition.lastValue = val;
2261
2245
  if (inComposition.lastValue) {
2262
2246
  var r = host.selection.getRange();
2263
2247
  host.insert(inComposition.lastValue);
@@ -2299,6 +2283,9 @@ var TextInput = function(parentNode, host) {
2299
2283
  if (e.type == "compositionend" && c.range) {
2300
2284
  host.selection.setRange(c.range);
2301
2285
  }
2286
+ if (useragent.isChrome && useragent.isChrome >= 53) {
2287
+ onInput();
2288
+ }
2302
2289
  };
2303
2290
 
2304
2291
 
@@ -2775,6 +2762,7 @@ function GutterHandler(mouseHandler) {
2775
2762
 
2776
2763
  tooltip.setHtml(tooltipAnnotation);
2777
2764
  tooltip.show();
2765
+ editor._signal("showGutterTooltip", tooltip);
2778
2766
  editor.on("mousewheel", hideTooltip);
2779
2767
 
2780
2768
  if (mouseHandler.$tooltipFollowsMouse) {
@@ -2794,6 +2782,7 @@ function GutterHandler(mouseHandler) {
2794
2782
  if (tooltipAnnotation) {
2795
2783
  tooltip.hide();
2796
2784
  tooltipAnnotation = null;
2785
+ editor._signal("hideGutterTooltip", tooltip);
2797
2786
  editor.removeEventListener("mousewheel", hideTooltip);
2798
2787
  }
2799
2788
  }
@@ -4113,7 +4102,7 @@ var KeyBinding = function(editor) {
4113
4102
  success = commands.exec("insertstring", this.$editor, keyString);
4114
4103
  }
4115
4104
 
4116
- if (success)
4105
+ if (success && this.$editor._signal)
4117
4106
  this.$editor._signal("keyboardActivity", toExecute);
4118
4107
 
4119
4108
  return success;
@@ -5386,6 +5375,11 @@ var TextHighlightRules = function() {
5386
5375
  state.processed = true;
5387
5376
  for (var i = 0; i < state.length; i++) {
5388
5377
  var rule = state[i];
5378
+ var toInsert = null;
5379
+ if (Array.isArray(rule)) {
5380
+ toInsert = rule;
5381
+ rule = {};
5382
+ }
5389
5383
  if (!rule.regex && rule.start) {
5390
5384
  rule.regex = rule.start;
5391
5385
  if (!rule.next)
@@ -5433,11 +5427,14 @@ var TextHighlightRules = function() {
5433
5427
  }
5434
5428
  }
5435
5429
  }
5436
- if (rule.include || typeof rule == "string") {
5437
- var includeName = rule.include || rule;
5438
- var toInsert = rules[includeName];
5439
- } else if (Array.isArray(rule))
5440
- toInsert = rule;
5430
+ var includeName = typeof rule == "string"
5431
+ ? rule
5432
+ : typeof rule.include == "string"
5433
+ ? rule.include
5434
+ : "";
5435
+ if (includeName) {
5436
+ toInsert = rules[includeName];
5437
+ }
5441
5438
 
5442
5439
  if (toInsert) {
5443
5440
  var args = [i, 1].concat(toInsert);
@@ -5445,7 +5442,6 @@ var TextHighlightRules = function() {
5445
5442
  args = args.filter(function(x) {return !x.next;});
5446
5443
  state.splice.apply(state, args);
5447
5444
  i--;
5448
- toInsert = null;
5449
5445
  }
5450
5446
 
5451
5447
  if (rule.keywordMap) {
@@ -5549,58 +5545,6 @@ var Behaviour = function() {
5549
5545
  exports.Behaviour = Behaviour;
5550
5546
  });
5551
5547
 
5552
- define("ace/unicode",["require","exports","module"], function(require, exports, module) {
5553
- "use strict";
5554
- exports.packages = {};
5555
-
5556
- addUnicodePackage({
5557
- L: "0041-005A0061-007A00AA00B500BA00C0-00D600D8-00F600F8-02C102C6-02D102E0-02E402EC02EE0370-037403760377037A-037D03860388-038A038C038E-03A103A3-03F503F7-0481048A-05250531-055605590561-058705D0-05EA05F0-05F20621-064A066E066F0671-06D306D506E506E606EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA07F407F507FA0800-0815081A082408280904-0939093D09500958-0961097109720979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10D05-0D0C0D0E-0D100D12-0D280D2A-0D390D3D0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E460E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EC60EDC0EDD0F000F40-0F470F49-0F6C0F88-0F8B1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10A0-10C510D0-10FA10FC1100-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317D717DC1820-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541AA71B05-1B331B45-1B4B1B83-1BA01BAE1BAF1C00-1C231C4D-1C4F1C5A-1C7D1CE9-1CEC1CEE-1CF11D00-1DBF1E00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FBC1FBE1FC2-1FC41FC6-1FCC1FD0-1FD31FD6-1FDB1FE0-1FEC1FF2-1FF41FF6-1FFC2071207F2090-209421022107210A-211321152119-211D212421262128212A-212D212F-2139213C-213F2145-2149214E218321842C00-2C2E2C30-2C5E2C60-2CE42CEB-2CEE2D00-2D252D30-2D652D6F2D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2E2F300530063031-3035303B303C3041-3096309D-309F30A1-30FA30FC-30FF3105-312D3131-318E31A0-31B731F0-31FF3400-4DB54E00-9FCBA000-A48CA4D0-A4FDA500-A60CA610-A61FA62AA62BA640-A65FA662-A66EA67F-A697A6A0-A6E5A717-A71FA722-A788A78BA78CA7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2A9CFAA00-AA28AA40-AA42AA44-AA4BAA60-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADB-AADDABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA2DFA30-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF21-FF3AFF41-FF5AFF66-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",
5558
- Ll: "0061-007A00AA00B500BA00DF-00F600F8-00FF01010103010501070109010B010D010F01110113011501170119011B011D011F01210123012501270129012B012D012F01310133013501370138013A013C013E014001420144014601480149014B014D014F01510153015501570159015B015D015F01610163016501670169016B016D016F0171017301750177017A017C017E-0180018301850188018C018D019201950199-019B019E01A101A301A501A801AA01AB01AD01B001B401B601B901BA01BD-01BF01C601C901CC01CE01D001D201D401D601D801DA01DC01DD01DF01E101E301E501E701E901EB01ED01EF01F001F301F501F901FB01FD01FF02010203020502070209020B020D020F02110213021502170219021B021D021F02210223022502270229022B022D022F02310233-0239023C023F0240024202470249024B024D024F-02930295-02AF037103730377037B-037D039003AC-03CE03D003D103D5-03D703D903DB03DD03DF03E103E303E503E703E903EB03ED03EF-03F303F503F803FB03FC0430-045F04610463046504670469046B046D046F04710473047504770479047B047D047F0481048B048D048F04910493049504970499049B049D049F04A104A304A504A704A904AB04AD04AF04B104B304B504B704B904BB04BD04BF04C204C404C604C804CA04CC04CE04CF04D104D304D504D704D904DB04DD04DF04E104E304E504E704E904EB04ED04EF04F104F304F504F704F904FB04FD04FF05010503050505070509050B050D050F05110513051505170519051B051D051F0521052305250561-05871D00-1D2B1D62-1D771D79-1D9A1E011E031E051E071E091E0B1E0D1E0F1E111E131E151E171E191E1B1E1D1E1F1E211E231E251E271E291E2B1E2D1E2F1E311E331E351E371E391E3B1E3D1E3F1E411E431E451E471E491E4B1E4D1E4F1E511E531E551E571E591E5B1E5D1E5F1E611E631E651E671E691E6B1E6D1E6F1E711E731E751E771E791E7B1E7D1E7F1E811E831E851E871E891E8B1E8D1E8F1E911E931E95-1E9D1E9F1EA11EA31EA51EA71EA91EAB1EAD1EAF1EB11EB31EB51EB71EB91EBB1EBD1EBF1EC11EC31EC51EC71EC91ECB1ECD1ECF1ED11ED31ED51ED71ED91EDB1EDD1EDF1EE11EE31EE51EE71EE91EEB1EED1EEF1EF11EF31EF51EF71EF91EFB1EFD1EFF-1F071F10-1F151F20-1F271F30-1F371F40-1F451F50-1F571F60-1F671F70-1F7D1F80-1F871F90-1F971FA0-1FA71FB0-1FB41FB61FB71FBE1FC2-1FC41FC61FC71FD0-1FD31FD61FD71FE0-1FE71FF2-1FF41FF61FF7210A210E210F2113212F21342139213C213D2146-2149214E21842C30-2C5E2C612C652C662C682C6A2C6C2C712C732C742C76-2C7C2C812C832C852C872C892C8B2C8D2C8F2C912C932C952C972C992C9B2C9D2C9F2CA12CA32CA52CA72CA92CAB2CAD2CAF2CB12CB32CB52CB72CB92CBB2CBD2CBF2CC12CC32CC52CC72CC92CCB2CCD2CCF2CD12CD32CD52CD72CD92CDB2CDD2CDF2CE12CE32CE42CEC2CEE2D00-2D25A641A643A645A647A649A64BA64DA64FA651A653A655A657A659A65BA65DA65FA663A665A667A669A66BA66DA681A683A685A687A689A68BA68DA68FA691A693A695A697A723A725A727A729A72BA72DA72F-A731A733A735A737A739A73BA73DA73FA741A743A745A747A749A74BA74DA74FA751A753A755A757A759A75BA75DA75FA761A763A765A767A769A76BA76DA76FA771-A778A77AA77CA77FA781A783A785A787A78CFB00-FB06FB13-FB17FF41-FF5A",
5559
- Lu: "0041-005A00C0-00D600D8-00DE01000102010401060108010A010C010E01100112011401160118011A011C011E01200122012401260128012A012C012E01300132013401360139013B013D013F0141014301450147014A014C014E01500152015401560158015A015C015E01600162016401660168016A016C016E017001720174017601780179017B017D018101820184018601870189-018B018E-0191019301940196-0198019C019D019F01A001A201A401A601A701A901AC01AE01AF01B1-01B301B501B701B801BC01C401C701CA01CD01CF01D101D301D501D701D901DB01DE01E001E201E401E601E801EA01EC01EE01F101F401F6-01F801FA01FC01FE02000202020402060208020A020C020E02100212021402160218021A021C021E02200222022402260228022A022C022E02300232023A023B023D023E02410243-02460248024A024C024E03700372037603860388-038A038C038E038F0391-03A103A3-03AB03CF03D2-03D403D803DA03DC03DE03E003E203E403E603E803EA03EC03EE03F403F703F903FA03FD-042F04600462046404660468046A046C046E04700472047404760478047A047C047E0480048A048C048E04900492049404960498049A049C049E04A004A204A404A604A804AA04AC04AE04B004B204B404B604B804BA04BC04BE04C004C104C304C504C704C904CB04CD04D004D204D404D604D804DA04DC04DE04E004E204E404E604E804EA04EC04EE04F004F204F404F604F804FA04FC04FE05000502050405060508050A050C050E05100512051405160518051A051C051E0520052205240531-055610A0-10C51E001E021E041E061E081E0A1E0C1E0E1E101E121E141E161E181E1A1E1C1E1E1E201E221E241E261E281E2A1E2C1E2E1E301E321E341E361E381E3A1E3C1E3E1E401E421E441E461E481E4A1E4C1E4E1E501E521E541E561E581E5A1E5C1E5E1E601E621E641E661E681E6A1E6C1E6E1E701E721E741E761E781E7A1E7C1E7E1E801E821E841E861E881E8A1E8C1E8E1E901E921E941E9E1EA01EA21EA41EA61EA81EAA1EAC1EAE1EB01EB21EB41EB61EB81EBA1EBC1EBE1EC01EC21EC41EC61EC81ECA1ECC1ECE1ED01ED21ED41ED61ED81EDA1EDC1EDE1EE01EE21EE41EE61EE81EEA1EEC1EEE1EF01EF21EF41EF61EF81EFA1EFC1EFE1F08-1F0F1F18-1F1D1F28-1F2F1F38-1F3F1F48-1F4D1F591F5B1F5D1F5F1F68-1F6F1FB8-1FBB1FC8-1FCB1FD8-1FDB1FE8-1FEC1FF8-1FFB21022107210B-210D2110-211221152119-211D212421262128212A-212D2130-2133213E213F214521832C00-2C2E2C602C62-2C642C672C692C6B2C6D-2C702C722C752C7E-2C802C822C842C862C882C8A2C8C2C8E2C902C922C942C962C982C9A2C9C2C9E2CA02CA22CA42CA62CA82CAA2CAC2CAE2CB02CB22CB42CB62CB82CBA2CBC2CBE2CC02CC22CC42CC62CC82CCA2CCC2CCE2CD02CD22CD42CD62CD82CDA2CDC2CDE2CE02CE22CEB2CEDA640A642A644A646A648A64AA64CA64EA650A652A654A656A658A65AA65CA65EA662A664A666A668A66AA66CA680A682A684A686A688A68AA68CA68EA690A692A694A696A722A724A726A728A72AA72CA72EA732A734A736A738A73AA73CA73EA740A742A744A746A748A74AA74CA74EA750A752A754A756A758A75AA75CA75EA760A762A764A766A768A76AA76CA76EA779A77BA77DA77EA780A782A784A786A78BFF21-FF3A",
5560
- Lt: "01C501C801CB01F21F88-1F8F1F98-1F9F1FA8-1FAF1FBC1FCC1FFC",
5561
- Lm: "02B0-02C102C6-02D102E0-02E402EC02EE0374037A0559064006E506E607F407F507FA081A0824082809710E460EC610FC17D718431AA71C78-1C7D1D2C-1D611D781D9B-1DBF2071207F2090-20942C7D2D6F2E2F30053031-3035303B309D309E30FC-30FEA015A4F8-A4FDA60CA67FA717-A71FA770A788A9CFAA70AADDFF70FF9EFF9F",
5562
- Lo: "01BB01C0-01C3029405D0-05EA05F0-05F20621-063F0641-064A066E066F0671-06D306D506EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA0800-08150904-0939093D09500958-096109720979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10D05-0D0C0D0E-0D100D12-0D280D2A-0D390D3D0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E450E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EDC0EDD0F000F40-0F470F49-0F6C0F88-0F8B1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10D0-10FA1100-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317DC1820-18421844-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541B05-1B331B45-1B4B1B83-1BA01BAE1BAF1C00-1C231C4D-1C4F1C5A-1C771CE9-1CEC1CEE-1CF12135-21382D30-2D652D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE3006303C3041-3096309F30A1-30FA30FF3105-312D3131-318E31A0-31B731F0-31FF3400-4DB54E00-9FCBA000-A014A016-A48CA4D0-A4F7A500-A60BA610-A61FA62AA62BA66EA6A0-A6E5A7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2AA00-AA28AA40-AA42AA44-AA4BAA60-AA6FAA71-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADBAADCABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA2DFA30-FA6DFA70-FAD9FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF66-FF6FFF71-FF9DFFA0-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",
5563
- M: "0300-036F0483-04890591-05BD05BF05C105C205C405C505C70610-061A064B-065E067006D6-06DC06DE-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0900-0903093C093E-094E0951-0955096209630981-098309BC09BE-09C409C709C809CB-09CD09D709E209E30A01-0A030A3C0A3E-0A420A470A480A4B-0A4D0A510A700A710A750A81-0A830ABC0ABE-0AC50AC7-0AC90ACB-0ACD0AE20AE30B01-0B030B3C0B3E-0B440B470B480B4B-0B4D0B560B570B620B630B820BBE-0BC20BC6-0BC80BCA-0BCD0BD70C01-0C030C3E-0C440C46-0C480C4A-0C4D0C550C560C620C630C820C830CBC0CBE-0CC40CC6-0CC80CCA-0CCD0CD50CD60CE20CE30D020D030D3E-0D440D46-0D480D4A-0D4D0D570D620D630D820D830DCA0DCF-0DD40DD60DD8-0DDF0DF20DF30E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F3E0F3F0F71-0F840F860F870F90-0F970F99-0FBC0FC6102B-103E1056-1059105E-10601062-10641067-106D1071-10741082-108D108F109A-109D135F1712-17141732-1734175217531772177317B6-17D317DD180B-180D18A91920-192B1930-193B19B0-19C019C819C91A17-1A1B1A55-1A5E1A60-1A7C1A7F1B00-1B041B34-1B441B6B-1B731B80-1B821BA1-1BAA1C24-1C371CD0-1CD21CD4-1CE81CED1CF21DC0-1DE61DFD-1DFF20D0-20F02CEF-2CF12DE0-2DFF302A-302F3099309AA66F-A672A67CA67DA6F0A6F1A802A806A80BA823-A827A880A881A8B4-A8C4A8E0-A8F1A926-A92DA947-A953A980-A983A9B3-A9C0AA29-AA36AA43AA4CAA4DAA7BAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1ABE3-ABEAABECABEDFB1EFE00-FE0FFE20-FE26",
5564
- Mn: "0300-036F0483-04870591-05BD05BF05C105C205C405C505C70610-061A064B-065E067006D6-06DC06DF-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0900-0902093C0941-0948094D0951-095509620963098109BC09C1-09C409CD09E209E30A010A020A3C0A410A420A470A480A4B-0A4D0A510A700A710A750A810A820ABC0AC1-0AC50AC70AC80ACD0AE20AE30B010B3C0B3F0B41-0B440B4D0B560B620B630B820BC00BCD0C3E-0C400C46-0C480C4A-0C4D0C550C560C620C630CBC0CBF0CC60CCC0CCD0CE20CE30D41-0D440D4D0D620D630DCA0DD2-0DD40DD60E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F71-0F7E0F80-0F840F860F870F90-0F970F99-0FBC0FC6102D-10301032-10371039103A103D103E10581059105E-10601071-1074108210851086108D109D135F1712-17141732-1734175217531772177317B7-17BD17C617C9-17D317DD180B-180D18A91920-19221927192819321939-193B1A171A181A561A58-1A5E1A601A621A65-1A6C1A73-1A7C1A7F1B00-1B031B341B36-1B3A1B3C1B421B6B-1B731B801B811BA2-1BA51BA81BA91C2C-1C331C361C371CD0-1CD21CD4-1CE01CE2-1CE81CED1DC0-1DE61DFD-1DFF20D0-20DC20E120E5-20F02CEF-2CF12DE0-2DFF302A-302F3099309AA66FA67CA67DA6F0A6F1A802A806A80BA825A826A8C4A8E0-A8F1A926-A92DA947-A951A980-A982A9B3A9B6-A9B9A9BCAA29-AA2EAA31AA32AA35AA36AA43AA4CAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1ABE5ABE8ABEDFB1EFE00-FE0FFE20-FE26",
5565
- Mc: "0903093E-09400949-094C094E0982098309BE-09C009C709C809CB09CC09D70A030A3E-0A400A830ABE-0AC00AC90ACB0ACC0B020B030B3E0B400B470B480B4B0B4C0B570BBE0BBF0BC10BC20BC6-0BC80BCA-0BCC0BD70C01-0C030C41-0C440C820C830CBE0CC0-0CC40CC70CC80CCA0CCB0CD50CD60D020D030D3E-0D400D46-0D480D4A-0D4C0D570D820D830DCF-0DD10DD8-0DDF0DF20DF30F3E0F3F0F7F102B102C10311038103B103C105610571062-10641067-106D108310841087-108C108F109A-109C17B617BE-17C517C717C81923-19261929-192B193019311933-193819B0-19C019C819C91A19-1A1B1A551A571A611A631A641A6D-1A721B041B351B3B1B3D-1B411B431B441B821BA11BA61BA71BAA1C24-1C2B1C341C351CE11CF2A823A824A827A880A881A8B4-A8C3A952A953A983A9B4A9B5A9BAA9BBA9BD-A9C0AA2FAA30AA33AA34AA4DAA7BABE3ABE4ABE6ABE7ABE9ABEAABEC",
5566
- Me: "0488048906DE20DD-20E020E2-20E4A670-A672",
5567
- N: "0030-003900B200B300B900BC-00BE0660-066906F0-06F907C0-07C90966-096F09E6-09EF09F4-09F90A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BF20C66-0C6F0C78-0C7E0CE6-0CEF0D66-0D750E50-0E590ED0-0ED90F20-0F331040-10491090-10991369-137C16EE-16F017E0-17E917F0-17F91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C5920702074-20792080-20892150-21822185-21892460-249B24EA-24FF2776-27932CFD30073021-30293038-303A3192-31953220-32293251-325F3280-328932B1-32BFA620-A629A6E6-A6EFA830-A835A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19",
5568
- Nd: "0030-00390660-066906F0-06F907C0-07C90966-096F09E6-09EF0A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BEF0C66-0C6F0CE6-0CEF0D66-0D6F0E50-0E590ED0-0ED90F20-0F291040-10491090-109917E0-17E91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C59A620-A629A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19",
5569
- Nl: "16EE-16F02160-21822185-218830073021-30293038-303AA6E6-A6EF",
5570
- No: "00B200B300B900BC-00BE09F4-09F90BF0-0BF20C78-0C7E0D70-0D750F2A-0F331369-137C17F0-17F920702074-20792080-20892150-215F21892460-249B24EA-24FF2776-27932CFD3192-31953220-32293251-325F3280-328932B1-32BFA830-A835",
5571
- P: "0021-00230025-002A002C-002F003A003B003F0040005B-005D005F007B007D00A100AB00B700BB00BF037E0387055A-055F0589058A05BE05C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E0964096509700DF40E4F0E5A0E5B0F04-0F120F3A-0F3D0F850FD0-0FD4104A-104F10FB1361-13681400166D166E169B169C16EB-16ED1735173617D4-17D617D8-17DA1800-180A1944194519DE19DF1A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601C3B-1C3F1C7E1C7F1CD32010-20272030-20432045-20512053-205E207D207E208D208E2329232A2768-277527C527C627E6-27EF2983-299829D8-29DB29FC29FD2CF9-2CFC2CFE2CFF2E00-2E2E2E302E313001-30033008-30113014-301F3030303D30A030FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFABEBFD3EFD3FFE10-FE19FE30-FE52FE54-FE61FE63FE68FE6AFE6BFF01-FF03FF05-FF0AFF0C-FF0FFF1AFF1BFF1FFF20FF3B-FF3DFF3FFF5BFF5DFF5F-FF65",
5572
- Pd: "002D058A05BE140018062010-20152E172E1A301C303030A0FE31FE32FE58FE63FF0D",
5573
- Ps: "0028005B007B0F3A0F3C169B201A201E2045207D208D23292768276A276C276E27702772277427C527E627E827EA27EC27EE2983298529872989298B298D298F299129932995299729D829DA29FC2E222E242E262E283008300A300C300E3010301430163018301A301DFD3EFE17FE35FE37FE39FE3BFE3DFE3FFE41FE43FE47FE59FE5BFE5DFF08FF3BFF5BFF5FFF62",
5574
- Pe: "0029005D007D0F3B0F3D169C2046207E208E232A2769276B276D276F27712773277527C627E727E927EB27ED27EF298429862988298A298C298E2990299229942996299829D929DB29FD2E232E252E272E293009300B300D300F3011301530173019301B301E301FFD3FFE18FE36FE38FE3AFE3CFE3EFE40FE42FE44FE48FE5AFE5CFE5EFF09FF3DFF5DFF60FF63",
5575
- Pi: "00AB2018201B201C201F20392E022E042E092E0C2E1C2E20",
5576
- Pf: "00BB2019201D203A2E032E052E0A2E0D2E1D2E21",
5577
- Pc: "005F203F20402054FE33FE34FE4D-FE4FFF3F",
5578
- Po: "0021-00230025-0027002A002C002E002F003A003B003F0040005C00A100B700BF037E0387055A-055F058905C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E0964096509700DF40E4F0E5A0E5B0F04-0F120F850FD0-0FD4104A-104F10FB1361-1368166D166E16EB-16ED1735173617D4-17D617D8-17DA1800-18051807-180A1944194519DE19DF1A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601C3B-1C3F1C7E1C7F1CD3201620172020-20272030-2038203B-203E2041-20432047-205120532055-205E2CF9-2CFC2CFE2CFF2E002E012E06-2E082E0B2E0E-2E162E182E192E1B2E1E2E1F2E2A-2E2E2E302E313001-3003303D30FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFABEBFE10-FE16FE19FE30FE45FE46FE49-FE4CFE50-FE52FE54-FE57FE5F-FE61FE68FE6AFE6BFF01-FF03FF05-FF07FF0AFF0CFF0EFF0FFF1AFF1BFF1FFF20FF3CFF61FF64FF65",
5579
- S: "0024002B003C-003E005E0060007C007E00A2-00A900AC00AE-00B100B400B600B800D700F702C2-02C502D2-02DF02E5-02EB02ED02EF-02FF03750384038503F604820606-0608060B060E060F06E906FD06FE07F609F209F309FA09FB0AF10B700BF3-0BFA0C7F0CF10CF20D790E3F0F01-0F030F13-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F13601390-139917DB194019E0-19FF1B61-1B6A1B74-1B7C1FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE20442052207A-207C208A-208C20A0-20B8210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B2140-2144214A-214D214F2190-2328232B-23E82400-24262440-244A249C-24E92500-26CD26CF-26E126E326E8-26FF2701-27042706-2709270C-27272729-274B274D274F-27522756-275E2761-276727942798-27AF27B1-27BE27C0-27C427C7-27CA27CC27D0-27E527F0-29822999-29D729DC-29FB29FE-2B4C2B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F309B309C319031913196-319F31C0-31E33200-321E322A-32503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A700-A716A720A721A789A78AA828-A82BA836-A839AA77-AA79FB29FDFCFDFDFE62FE64-FE66FE69FF04FF0BFF1C-FF1EFF3EFF40FF5CFF5EFFE0-FFE6FFE8-FFEEFFFCFFFD",
5580
- Sm: "002B003C-003E007C007E00AC00B100D700F703F60606-060820442052207A-207C208A-208C2140-2144214B2190-2194219A219B21A021A321A621AE21CE21CF21D221D421F4-22FF2308-230B23202321237C239B-23B323DC-23E125B725C125F8-25FF266F27C0-27C427C7-27CA27CC27D0-27E527F0-27FF2900-29822999-29D729DC-29FB29FE-2AFF2B30-2B442B47-2B4CFB29FE62FE64-FE66FF0BFF1C-FF1EFF5CFF5EFFE2FFE9-FFEC",
5581
- Sc: "002400A2-00A5060B09F209F309FB0AF10BF90E3F17DB20A0-20B8A838FDFCFE69FF04FFE0FFE1FFE5FFE6",
5582
- Sk: "005E006000A800AF00B400B802C2-02C502D2-02DF02E5-02EB02ED02EF-02FF0375038403851FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE309B309CA700-A716A720A721A789A78AFF3EFF40FFE3",
5583
- So: "00A600A700A900AE00B000B60482060E060F06E906FD06FE07F609FA0B700BF3-0BF80BFA0C7F0CF10CF20D790F01-0F030F13-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F13601390-1399194019E0-19FF1B61-1B6A1B74-1B7C210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B214A214C214D214F2195-2199219C-219F21A121A221A421A521A7-21AD21AF-21CD21D021D121D321D5-21F32300-2307230C-231F2322-2328232B-237B237D-239A23B4-23DB23E2-23E82400-24262440-244A249C-24E92500-25B625B8-25C025C2-25F72600-266E2670-26CD26CF-26E126E326E8-26FF2701-27042706-2709270C-27272729-274B274D274F-27522756-275E2761-276727942798-27AF27B1-27BE2800-28FF2B00-2B2F2B452B462B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F319031913196-319F31C0-31E33200-321E322A-32503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A828-A82BA836A837A839AA77-AA79FDFDFFE4FFE8FFEDFFEEFFFCFFFD",
5584
- Z: "002000A01680180E2000-200A20282029202F205F3000",
5585
- Zs: "002000A01680180E2000-200A202F205F3000",
5586
- Zl: "2028",
5587
- Zp: "2029",
5588
- C: "0000-001F007F-009F00AD03780379037F-0383038B038D03A20526-05300557055805600588058B-059005C8-05CF05EB-05EF05F5-0605061C061D0620065F06DD070E070F074B074C07B2-07BF07FB-07FF082E082F083F-08FF093A093B094F095609570973-097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF00AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B72-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D290D3A-0D3C0D450D490D4E-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EDE-0EFF0F480F6D-0F700F8C-0F8F0F980FBD0FCD0FD9-0FFF10C6-10CF10FD-10FF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B-135E137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17B417B517DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BAB-1BAD1BBA-1BFF1C38-1C3A1C4A-1C4C1C80-1CCF1CF3-1CFF1DE7-1DFC1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF200B-200F202A-202E2060-206F20722073208F2095-209F20B9-20CF20F1-20FF218A-218F23E9-23FF2427-243F244B-245F26CE26E226E4-26E727002705270A270B2728274C274E2753-2755275F27602795-279727B027BF27CB27CD-27CF2B4D-2B4F2B5A-2BFF2C2F2C5F2CF2-2CF82D26-2D2F2D66-2D6E2D70-2D7F2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E32-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31B8-31BF31E4-31EF321F32FF4DB6-4DBF9FCC-9FFFA48D-A48FA4C7-A4CFA62C-A63FA660A661A674-A67BA698-A69FA6F8-A6FFA78D-A7FAA82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAE0-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-F8FFFA2EFA2FFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBB2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFD-FF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFFBFFFEFFFF",
5589
- Cc: "0000-001F007F-009F",
5590
- Cf: "00AD0600-060306DD070F17B417B5200B-200F202A-202E2060-2064206A-206FFEFFFFF9-FFFB",
5591
- Co: "E000-F8FF",
5592
- Cs: "D800-DFFF",
5593
- Cn: "03780379037F-0383038B038D03A20526-05300557055805600588058B-059005C8-05CF05EB-05EF05F5-05FF06040605061C061D0620065F070E074B074C07B2-07BF07FB-07FF082E082F083F-08FF093A093B094F095609570973-097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF00AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B72-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D290D3A-0D3C0D450D490D4E-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EDE-0EFF0F480F6D-0F700F8C-0F8F0F980FBD0FCD0FD9-0FFF10C6-10CF10FD-10FF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B-135E137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BAB-1BAD1BBA-1BFF1C38-1C3A1C4A-1C4C1C80-1CCF1CF3-1CFF1DE7-1DFC1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF2065-206920722073208F2095-209F20B9-20CF20F1-20FF218A-218F23E9-23FF2427-243F244B-245F26CE26E226E4-26E727002705270A270B2728274C274E2753-2755275F27602795-279727B027BF27CB27CD-27CF2B4D-2B4F2B5A-2BFF2C2F2C5F2CF2-2CF82D26-2D2F2D66-2D6E2D70-2D7F2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E32-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31B8-31BF31E4-31EF321F32FF4DB6-4DBF9FCC-9FFFA48D-A48FA4C7-A4CFA62C-A63FA660A661A674-A67BA698-A69FA6F8-A6FFA78D-A7FAA82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAE0-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-D7FFFA2EFA2FFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBB2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFDFEFEFF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFF8FFFEFFFF"
5594
- });
5595
-
5596
- function addUnicodePackage (pack) {
5597
- var codePoint = /\w{4}/g;
5598
- for (var name in pack)
5599
- exports.packages[name] = pack[name].replace(codePoint, "\\u$&");
5600
- }
5601
-
5602
- });
5603
-
5604
5548
  define("ace/token_iterator",["require","exports","module"], function(require, exports, module) {
5605
5549
  "use strict";
5606
5550
  var TokenIterator = function(session, initialRow, initialColumn) {
@@ -5677,12 +5621,425 @@ var TokenIterator = function(session, initialRow, initialColumn) {
5677
5621
  exports.TokenIterator = TokenIterator;
5678
5622
  });
5679
5623
 
5680
- define("ace/mode/text",["require","exports","module","ace/tokenizer","ace/mode/text_highlight_rules","ace/mode/behaviour","ace/unicode","ace/lib/lang","ace/token_iterator","ace/range"], function(require, exports, module) {
5624
+ define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"], function(require, exports, module) {
5625
+ "use strict";
5626
+
5627
+ var oop = require("../../lib/oop");
5628
+ var Behaviour = require("../behaviour").Behaviour;
5629
+ var TokenIterator = require("../../token_iterator").TokenIterator;
5630
+ var lang = require("../../lib/lang");
5631
+
5632
+ var SAFE_INSERT_IN_TOKENS =
5633
+ ["text", "paren.rparen", "punctuation.operator"];
5634
+ var SAFE_INSERT_BEFORE_TOKENS =
5635
+ ["text", "paren.rparen", "punctuation.operator", "comment"];
5636
+
5637
+ var context;
5638
+ var contextCache = {};
5639
+ var initContext = function(editor) {
5640
+ var id = -1;
5641
+ if (editor.multiSelect) {
5642
+ id = editor.selection.index;
5643
+ if (contextCache.rangeCount != editor.multiSelect.rangeCount)
5644
+ contextCache = {rangeCount: editor.multiSelect.rangeCount};
5645
+ }
5646
+ if (contextCache[id])
5647
+ return context = contextCache[id];
5648
+ context = contextCache[id] = {
5649
+ autoInsertedBrackets: 0,
5650
+ autoInsertedRow: -1,
5651
+ autoInsertedLineEnd: "",
5652
+ maybeInsertedBrackets: 0,
5653
+ maybeInsertedRow: -1,
5654
+ maybeInsertedLineStart: "",
5655
+ maybeInsertedLineEnd: ""
5656
+ };
5657
+ };
5658
+
5659
+ var getWrapped = function(selection, selected, opening, closing) {
5660
+ var rowDiff = selection.end.row - selection.start.row;
5661
+ return {
5662
+ text: opening + selected + closing,
5663
+ selection: [
5664
+ 0,
5665
+ selection.start.column + 1,
5666
+ rowDiff,
5667
+ selection.end.column + (rowDiff ? 0 : 1)
5668
+ ]
5669
+ };
5670
+ };
5671
+
5672
+ var CstyleBehaviour = function() {
5673
+ this.add("braces", "insertion", function(state, action, editor, session, text) {
5674
+ var cursor = editor.getCursorPosition();
5675
+ var line = session.doc.getLine(cursor.row);
5676
+ if (text == '{') {
5677
+ initContext(editor);
5678
+ var selection = editor.getSelectionRange();
5679
+ var selected = session.doc.getTextRange(selection);
5680
+ if (selected !== "" && selected !== "{" && editor.getWrapBehavioursEnabled()) {
5681
+ return getWrapped(selection, selected, '{', '}');
5682
+ } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
5683
+ if (/[\]\}\)]/.test(line[cursor.column]) || editor.inMultiSelectMode) {
5684
+ CstyleBehaviour.recordAutoInsert(editor, session, "}");
5685
+ return {
5686
+ text: '{}',
5687
+ selection: [1, 1]
5688
+ };
5689
+ } else {
5690
+ CstyleBehaviour.recordMaybeInsert(editor, session, "{");
5691
+ return {
5692
+ text: '{',
5693
+ selection: [1, 1]
5694
+ };
5695
+ }
5696
+ }
5697
+ } else if (text == '}') {
5698
+ initContext(editor);
5699
+ var rightChar = line.substring(cursor.column, cursor.column + 1);
5700
+ if (rightChar == '}') {
5701
+ var matching = session.$findOpeningBracket('}', {column: cursor.column + 1, row: cursor.row});
5702
+ if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
5703
+ CstyleBehaviour.popAutoInsertedClosing();
5704
+ return {
5705
+ text: '',
5706
+ selection: [1, 1]
5707
+ };
5708
+ }
5709
+ }
5710
+ } else if (text == "\n" || text == "\r\n") {
5711
+ initContext(editor);
5712
+ var closing = "";
5713
+ if (CstyleBehaviour.isMaybeInsertedClosing(cursor, line)) {
5714
+ closing = lang.stringRepeat("}", context.maybeInsertedBrackets);
5715
+ CstyleBehaviour.clearMaybeInsertedClosing();
5716
+ }
5717
+ var rightChar = line.substring(cursor.column, cursor.column + 1);
5718
+ if (rightChar === '}') {
5719
+ var openBracePos = session.findMatchingBracket({row: cursor.row, column: cursor.column+1}, '}');
5720
+ if (!openBracePos)
5721
+ return null;
5722
+ var next_indent = this.$getIndent(session.getLine(openBracePos.row));
5723
+ } else if (closing) {
5724
+ var next_indent = this.$getIndent(line);
5725
+ } else {
5726
+ CstyleBehaviour.clearMaybeInsertedClosing();
5727
+ return;
5728
+ }
5729
+ var indent = next_indent + session.getTabString();
5730
+
5731
+ return {
5732
+ text: '\n' + indent + '\n' + next_indent + closing,
5733
+ selection: [1, indent.length, 1, indent.length]
5734
+ };
5735
+ } else {
5736
+ CstyleBehaviour.clearMaybeInsertedClosing();
5737
+ }
5738
+ });
5739
+
5740
+ this.add("braces", "deletion", function(state, action, editor, session, range) {
5741
+ var selected = session.doc.getTextRange(range);
5742
+ if (!range.isMultiLine() && selected == '{') {
5743
+ initContext(editor);
5744
+ var line = session.doc.getLine(range.start.row);
5745
+ var rightChar = line.substring(range.end.column, range.end.column + 1);
5746
+ if (rightChar == '}') {
5747
+ range.end.column++;
5748
+ return range;
5749
+ } else {
5750
+ context.maybeInsertedBrackets--;
5751
+ }
5752
+ }
5753
+ });
5754
+
5755
+ this.add("parens", "insertion", function(state, action, editor, session, text) {
5756
+ if (text == '(') {
5757
+ initContext(editor);
5758
+ var selection = editor.getSelectionRange();
5759
+ var selected = session.doc.getTextRange(selection);
5760
+ if (selected !== "" && editor.getWrapBehavioursEnabled()) {
5761
+ return getWrapped(selection, selected, '(', ')');
5762
+ } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
5763
+ CstyleBehaviour.recordAutoInsert(editor, session, ")");
5764
+ return {
5765
+ text: '()',
5766
+ selection: [1, 1]
5767
+ };
5768
+ }
5769
+ } else if (text == ')') {
5770
+ initContext(editor);
5771
+ var cursor = editor.getCursorPosition();
5772
+ var line = session.doc.getLine(cursor.row);
5773
+ var rightChar = line.substring(cursor.column, cursor.column + 1);
5774
+ if (rightChar == ')') {
5775
+ var matching = session.$findOpeningBracket(')', {column: cursor.column + 1, row: cursor.row});
5776
+ if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
5777
+ CstyleBehaviour.popAutoInsertedClosing();
5778
+ return {
5779
+ text: '',
5780
+ selection: [1, 1]
5781
+ };
5782
+ }
5783
+ }
5784
+ }
5785
+ });
5786
+
5787
+ this.add("parens", "deletion", function(state, action, editor, session, range) {
5788
+ var selected = session.doc.getTextRange(range);
5789
+ if (!range.isMultiLine() && selected == '(') {
5790
+ initContext(editor);
5791
+ var line = session.doc.getLine(range.start.row);
5792
+ var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
5793
+ if (rightChar == ')') {
5794
+ range.end.column++;
5795
+ return range;
5796
+ }
5797
+ }
5798
+ });
5799
+
5800
+ this.add("brackets", "insertion", function(state, action, editor, session, text) {
5801
+ if (text == '[') {
5802
+ initContext(editor);
5803
+ var selection = editor.getSelectionRange();
5804
+ var selected = session.doc.getTextRange(selection);
5805
+ if (selected !== "" && editor.getWrapBehavioursEnabled()) {
5806
+ return getWrapped(selection, selected, '[', ']');
5807
+ } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
5808
+ CstyleBehaviour.recordAutoInsert(editor, session, "]");
5809
+ return {
5810
+ text: '[]',
5811
+ selection: [1, 1]
5812
+ };
5813
+ }
5814
+ } else if (text == ']') {
5815
+ initContext(editor);
5816
+ var cursor = editor.getCursorPosition();
5817
+ var line = session.doc.getLine(cursor.row);
5818
+ var rightChar = line.substring(cursor.column, cursor.column + 1);
5819
+ if (rightChar == ']') {
5820
+ var matching = session.$findOpeningBracket(']', {column: cursor.column + 1, row: cursor.row});
5821
+ if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
5822
+ CstyleBehaviour.popAutoInsertedClosing();
5823
+ return {
5824
+ text: '',
5825
+ selection: [1, 1]
5826
+ };
5827
+ }
5828
+ }
5829
+ }
5830
+ });
5831
+
5832
+ this.add("brackets", "deletion", function(state, action, editor, session, range) {
5833
+ var selected = session.doc.getTextRange(range);
5834
+ if (!range.isMultiLine() && selected == '[') {
5835
+ initContext(editor);
5836
+ var line = session.doc.getLine(range.start.row);
5837
+ var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
5838
+ if (rightChar == ']') {
5839
+ range.end.column++;
5840
+ return range;
5841
+ }
5842
+ }
5843
+ });
5844
+
5845
+ this.add("string_dquotes", "insertion", function(state, action, editor, session, text) {
5846
+ if (text == '"' || text == "'") {
5847
+ if (this.lineCommentStart && this.lineCommentStart.indexOf(text) != -1)
5848
+ return;
5849
+ initContext(editor);
5850
+ var quote = text;
5851
+ var selection = editor.getSelectionRange();
5852
+ var selected = session.doc.getTextRange(selection);
5853
+ if (selected !== "" && selected !== "'" && selected != '"' && editor.getWrapBehavioursEnabled()) {
5854
+ return getWrapped(selection, selected, quote, quote);
5855
+ } else if (!selected) {
5856
+ var cursor = editor.getCursorPosition();
5857
+ var line = session.doc.getLine(cursor.row);
5858
+ var leftChar = line.substring(cursor.column-1, cursor.column);
5859
+ var rightChar = line.substring(cursor.column, cursor.column + 1);
5860
+
5861
+ var token = session.getTokenAt(cursor.row, cursor.column);
5862
+ var rightToken = session.getTokenAt(cursor.row, cursor.column + 1);
5863
+ if (leftChar == "\\" && token && /escape/.test(token.type))
5864
+ return null;
5865
+
5866
+ var stringBefore = token && /string|escape/.test(token.type);
5867
+ var stringAfter = !rightToken || /string|escape/.test(rightToken.type);
5868
+
5869
+ var pair;
5870
+ if (rightChar == quote) {
5871
+ pair = stringBefore !== stringAfter;
5872
+ if (pair && /string\.end/.test(rightToken.type))
5873
+ pair = false;
5874
+ } else {
5875
+ if (stringBefore && !stringAfter)
5876
+ return null; // wrap string with different quote
5877
+ if (stringBefore && stringAfter)
5878
+ return null; // do not pair quotes inside strings
5879
+ var wordRe = session.$mode.tokenRe;
5880
+ wordRe.lastIndex = 0;
5881
+ var isWordBefore = wordRe.test(leftChar);
5882
+ wordRe.lastIndex = 0;
5883
+ var isWordAfter = wordRe.test(leftChar);
5884
+ if (isWordBefore || isWordAfter)
5885
+ return null; // before or after alphanumeric
5886
+ if (rightChar && !/[\s;,.})\]\\]/.test(rightChar))
5887
+ return null; // there is rightChar and it isn't closing
5888
+ pair = true;
5889
+ }
5890
+ return {
5891
+ text: pair ? quote + quote : "",
5892
+ selection: [1,1]
5893
+ };
5894
+ }
5895
+ }
5896
+ });
5897
+
5898
+ this.add("string_dquotes", "deletion", function(state, action, editor, session, range) {
5899
+ var selected = session.doc.getTextRange(range);
5900
+ if (!range.isMultiLine() && (selected == '"' || selected == "'")) {
5901
+ initContext(editor);
5902
+ var line = session.doc.getLine(range.start.row);
5903
+ var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
5904
+ if (rightChar == selected) {
5905
+ range.end.column++;
5906
+ return range;
5907
+ }
5908
+ }
5909
+ });
5910
+
5911
+ };
5912
+
5913
+
5914
+ CstyleBehaviour.isSaneInsertion = function(editor, session) {
5915
+ var cursor = editor.getCursorPosition();
5916
+ var iterator = new TokenIterator(session, cursor.row, cursor.column);
5917
+ if (!this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS)) {
5918
+ var iterator2 = new TokenIterator(session, cursor.row, cursor.column + 1);
5919
+ if (!this.$matchTokenType(iterator2.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS))
5920
+ return false;
5921
+ }
5922
+ iterator.stepForward();
5923
+ return iterator.getCurrentTokenRow() !== cursor.row ||
5924
+ this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_BEFORE_TOKENS);
5925
+ };
5926
+
5927
+ CstyleBehaviour.$matchTokenType = function(token, types) {
5928
+ return types.indexOf(token.type || token) > -1;
5929
+ };
5930
+
5931
+ CstyleBehaviour.recordAutoInsert = function(editor, session, bracket) {
5932
+ var cursor = editor.getCursorPosition();
5933
+ var line = session.doc.getLine(cursor.row);
5934
+ if (!this.isAutoInsertedClosing(cursor, line, context.autoInsertedLineEnd[0]))
5935
+ context.autoInsertedBrackets = 0;
5936
+ context.autoInsertedRow = cursor.row;
5937
+ context.autoInsertedLineEnd = bracket + line.substr(cursor.column);
5938
+ context.autoInsertedBrackets++;
5939
+ };
5940
+
5941
+ CstyleBehaviour.recordMaybeInsert = function(editor, session, bracket) {
5942
+ var cursor = editor.getCursorPosition();
5943
+ var line = session.doc.getLine(cursor.row);
5944
+ if (!this.isMaybeInsertedClosing(cursor, line))
5945
+ context.maybeInsertedBrackets = 0;
5946
+ context.maybeInsertedRow = cursor.row;
5947
+ context.maybeInsertedLineStart = line.substr(0, cursor.column) + bracket;
5948
+ context.maybeInsertedLineEnd = line.substr(cursor.column);
5949
+ context.maybeInsertedBrackets++;
5950
+ };
5951
+
5952
+ CstyleBehaviour.isAutoInsertedClosing = function(cursor, line, bracket) {
5953
+ return context.autoInsertedBrackets > 0 &&
5954
+ cursor.row === context.autoInsertedRow &&
5955
+ bracket === context.autoInsertedLineEnd[0] &&
5956
+ line.substr(cursor.column) === context.autoInsertedLineEnd;
5957
+ };
5958
+
5959
+ CstyleBehaviour.isMaybeInsertedClosing = function(cursor, line) {
5960
+ return context.maybeInsertedBrackets > 0 &&
5961
+ cursor.row === context.maybeInsertedRow &&
5962
+ line.substr(cursor.column) === context.maybeInsertedLineEnd &&
5963
+ line.substr(0, cursor.column) == context.maybeInsertedLineStart;
5964
+ };
5965
+
5966
+ CstyleBehaviour.popAutoInsertedClosing = function() {
5967
+ context.autoInsertedLineEnd = context.autoInsertedLineEnd.substr(1);
5968
+ context.autoInsertedBrackets--;
5969
+ };
5970
+
5971
+ CstyleBehaviour.clearMaybeInsertedClosing = function() {
5972
+ if (context) {
5973
+ context.maybeInsertedBrackets = 0;
5974
+ context.maybeInsertedRow = -1;
5975
+ }
5976
+ };
5977
+
5978
+
5979
+
5980
+ oop.inherits(CstyleBehaviour, Behaviour);
5981
+
5982
+ exports.CstyleBehaviour = CstyleBehaviour;
5983
+ });
5984
+
5985
+ define("ace/unicode",["require","exports","module"], function(require, exports, module) {
5986
+ "use strict";
5987
+ exports.packages = {};
5988
+
5989
+ addUnicodePackage({
5990
+ L: "0041-005A0061-007A00AA00B500BA00C0-00D600D8-00F600F8-02C102C6-02D102E0-02E402EC02EE0370-037403760377037A-037D03860388-038A038C038E-03A103A3-03F503F7-0481048A-05250531-055605590561-058705D0-05EA05F0-05F20621-064A066E066F0671-06D306D506E506E606EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA07F407F507FA0800-0815081A082408280904-0939093D09500958-0961097109720979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10D05-0D0C0D0E-0D100D12-0D280D2A-0D390D3D0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E460E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EC60EDC0EDD0F000F40-0F470F49-0F6C0F88-0F8B1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10A0-10C510D0-10FA10FC1100-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317D717DC1820-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541AA71B05-1B331B45-1B4B1B83-1BA01BAE1BAF1C00-1C231C4D-1C4F1C5A-1C7D1CE9-1CEC1CEE-1CF11D00-1DBF1E00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FBC1FBE1FC2-1FC41FC6-1FCC1FD0-1FD31FD6-1FDB1FE0-1FEC1FF2-1FF41FF6-1FFC2071207F2090-209421022107210A-211321152119-211D212421262128212A-212D212F-2139213C-213F2145-2149214E218321842C00-2C2E2C30-2C5E2C60-2CE42CEB-2CEE2D00-2D252D30-2D652D6F2D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2E2F300530063031-3035303B303C3041-3096309D-309F30A1-30FA30FC-30FF3105-312D3131-318E31A0-31B731F0-31FF3400-4DB54E00-9FCBA000-A48CA4D0-A4FDA500-A60CA610-A61FA62AA62BA640-A65FA662-A66EA67F-A697A6A0-A6E5A717-A71FA722-A788A78BA78CA7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2A9CFAA00-AA28AA40-AA42AA44-AA4BAA60-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADB-AADDABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA2DFA30-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF21-FF3AFF41-FF5AFF66-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",
5991
+ Ll: "0061-007A00AA00B500BA00DF-00F600F8-00FF01010103010501070109010B010D010F01110113011501170119011B011D011F01210123012501270129012B012D012F01310133013501370138013A013C013E014001420144014601480149014B014D014F01510153015501570159015B015D015F01610163016501670169016B016D016F0171017301750177017A017C017E-0180018301850188018C018D019201950199-019B019E01A101A301A501A801AA01AB01AD01B001B401B601B901BA01BD-01BF01C601C901CC01CE01D001D201D401D601D801DA01DC01DD01DF01E101E301E501E701E901EB01ED01EF01F001F301F501F901FB01FD01FF02010203020502070209020B020D020F02110213021502170219021B021D021F02210223022502270229022B022D022F02310233-0239023C023F0240024202470249024B024D024F-02930295-02AF037103730377037B-037D039003AC-03CE03D003D103D5-03D703D903DB03DD03DF03E103E303E503E703E903EB03ED03EF-03F303F503F803FB03FC0430-045F04610463046504670469046B046D046F04710473047504770479047B047D047F0481048B048D048F04910493049504970499049B049D049F04A104A304A504A704A904AB04AD04AF04B104B304B504B704B904BB04BD04BF04C204C404C604C804CA04CC04CE04CF04D104D304D504D704D904DB04DD04DF04E104E304E504E704E904EB04ED04EF04F104F304F504F704F904FB04FD04FF05010503050505070509050B050D050F05110513051505170519051B051D051F0521052305250561-05871D00-1D2B1D62-1D771D79-1D9A1E011E031E051E071E091E0B1E0D1E0F1E111E131E151E171E191E1B1E1D1E1F1E211E231E251E271E291E2B1E2D1E2F1E311E331E351E371E391E3B1E3D1E3F1E411E431E451E471E491E4B1E4D1E4F1E511E531E551E571E591E5B1E5D1E5F1E611E631E651E671E691E6B1E6D1E6F1E711E731E751E771E791E7B1E7D1E7F1E811E831E851E871E891E8B1E8D1E8F1E911E931E95-1E9D1E9F1EA11EA31EA51EA71EA91EAB1EAD1EAF1EB11EB31EB51EB71EB91EBB1EBD1EBF1EC11EC31EC51EC71EC91ECB1ECD1ECF1ED11ED31ED51ED71ED91EDB1EDD1EDF1EE11EE31EE51EE71EE91EEB1EED1EEF1EF11EF31EF51EF71EF91EFB1EFD1EFF-1F071F10-1F151F20-1F271F30-1F371F40-1F451F50-1F571F60-1F671F70-1F7D1F80-1F871F90-1F971FA0-1FA71FB0-1FB41FB61FB71FBE1FC2-1FC41FC61FC71FD0-1FD31FD61FD71FE0-1FE71FF2-1FF41FF61FF7210A210E210F2113212F21342139213C213D2146-2149214E21842C30-2C5E2C612C652C662C682C6A2C6C2C712C732C742C76-2C7C2C812C832C852C872C892C8B2C8D2C8F2C912C932C952C972C992C9B2C9D2C9F2CA12CA32CA52CA72CA92CAB2CAD2CAF2CB12CB32CB52CB72CB92CBB2CBD2CBF2CC12CC32CC52CC72CC92CCB2CCD2CCF2CD12CD32CD52CD72CD92CDB2CDD2CDF2CE12CE32CE42CEC2CEE2D00-2D25A641A643A645A647A649A64BA64DA64FA651A653A655A657A659A65BA65DA65FA663A665A667A669A66BA66DA681A683A685A687A689A68BA68DA68FA691A693A695A697A723A725A727A729A72BA72DA72F-A731A733A735A737A739A73BA73DA73FA741A743A745A747A749A74BA74DA74FA751A753A755A757A759A75BA75DA75FA761A763A765A767A769A76BA76DA76FA771-A778A77AA77CA77FA781A783A785A787A78CFB00-FB06FB13-FB17FF41-FF5A",
5992
+ Lu: "0041-005A00C0-00D600D8-00DE01000102010401060108010A010C010E01100112011401160118011A011C011E01200122012401260128012A012C012E01300132013401360139013B013D013F0141014301450147014A014C014E01500152015401560158015A015C015E01600162016401660168016A016C016E017001720174017601780179017B017D018101820184018601870189-018B018E-0191019301940196-0198019C019D019F01A001A201A401A601A701A901AC01AE01AF01B1-01B301B501B701B801BC01C401C701CA01CD01CF01D101D301D501D701D901DB01DE01E001E201E401E601E801EA01EC01EE01F101F401F6-01F801FA01FC01FE02000202020402060208020A020C020E02100212021402160218021A021C021E02200222022402260228022A022C022E02300232023A023B023D023E02410243-02460248024A024C024E03700372037603860388-038A038C038E038F0391-03A103A3-03AB03CF03D2-03D403D803DA03DC03DE03E003E203E403E603E803EA03EC03EE03F403F703F903FA03FD-042F04600462046404660468046A046C046E04700472047404760478047A047C047E0480048A048C048E04900492049404960498049A049C049E04A004A204A404A604A804AA04AC04AE04B004B204B404B604B804BA04BC04BE04C004C104C304C504C704C904CB04CD04D004D204D404D604D804DA04DC04DE04E004E204E404E604E804EA04EC04EE04F004F204F404F604F804FA04FC04FE05000502050405060508050A050C050E05100512051405160518051A051C051E0520052205240531-055610A0-10C51E001E021E041E061E081E0A1E0C1E0E1E101E121E141E161E181E1A1E1C1E1E1E201E221E241E261E281E2A1E2C1E2E1E301E321E341E361E381E3A1E3C1E3E1E401E421E441E461E481E4A1E4C1E4E1E501E521E541E561E581E5A1E5C1E5E1E601E621E641E661E681E6A1E6C1E6E1E701E721E741E761E781E7A1E7C1E7E1E801E821E841E861E881E8A1E8C1E8E1E901E921E941E9E1EA01EA21EA41EA61EA81EAA1EAC1EAE1EB01EB21EB41EB61EB81EBA1EBC1EBE1EC01EC21EC41EC61EC81ECA1ECC1ECE1ED01ED21ED41ED61ED81EDA1EDC1EDE1EE01EE21EE41EE61EE81EEA1EEC1EEE1EF01EF21EF41EF61EF81EFA1EFC1EFE1F08-1F0F1F18-1F1D1F28-1F2F1F38-1F3F1F48-1F4D1F591F5B1F5D1F5F1F68-1F6F1FB8-1FBB1FC8-1FCB1FD8-1FDB1FE8-1FEC1FF8-1FFB21022107210B-210D2110-211221152119-211D212421262128212A-212D2130-2133213E213F214521832C00-2C2E2C602C62-2C642C672C692C6B2C6D-2C702C722C752C7E-2C802C822C842C862C882C8A2C8C2C8E2C902C922C942C962C982C9A2C9C2C9E2CA02CA22CA42CA62CA82CAA2CAC2CAE2CB02CB22CB42CB62CB82CBA2CBC2CBE2CC02CC22CC42CC62CC82CCA2CCC2CCE2CD02CD22CD42CD62CD82CDA2CDC2CDE2CE02CE22CEB2CEDA640A642A644A646A648A64AA64CA64EA650A652A654A656A658A65AA65CA65EA662A664A666A668A66AA66CA680A682A684A686A688A68AA68CA68EA690A692A694A696A722A724A726A728A72AA72CA72EA732A734A736A738A73AA73CA73EA740A742A744A746A748A74AA74CA74EA750A752A754A756A758A75AA75CA75EA760A762A764A766A768A76AA76CA76EA779A77BA77DA77EA780A782A784A786A78BFF21-FF3A",
5993
+ Lt: "01C501C801CB01F21F88-1F8F1F98-1F9F1FA8-1FAF1FBC1FCC1FFC",
5994
+ Lm: "02B0-02C102C6-02D102E0-02E402EC02EE0374037A0559064006E506E607F407F507FA081A0824082809710E460EC610FC17D718431AA71C78-1C7D1D2C-1D611D781D9B-1DBF2071207F2090-20942C7D2D6F2E2F30053031-3035303B309D309E30FC-30FEA015A4F8-A4FDA60CA67FA717-A71FA770A788A9CFAA70AADDFF70FF9EFF9F",
5995
+ Lo: "01BB01C0-01C3029405D0-05EA05F0-05F20621-063F0641-064A066E066F0671-06D306D506EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA0800-08150904-0939093D09500958-096109720979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10D05-0D0C0D0E-0D100D12-0D280D2A-0D390D3D0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E450E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EDC0EDD0F000F40-0F470F49-0F6C0F88-0F8B1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10D0-10FA1100-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317DC1820-18421844-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541B05-1B331B45-1B4B1B83-1BA01BAE1BAF1C00-1C231C4D-1C4F1C5A-1C771CE9-1CEC1CEE-1CF12135-21382D30-2D652D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE3006303C3041-3096309F30A1-30FA30FF3105-312D3131-318E31A0-31B731F0-31FF3400-4DB54E00-9FCBA000-A014A016-A48CA4D0-A4F7A500-A60BA610-A61FA62AA62BA66EA6A0-A6E5A7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2AA00-AA28AA40-AA42AA44-AA4BAA60-AA6FAA71-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADBAADCABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA2DFA30-FA6DFA70-FAD9FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF66-FF6FFF71-FF9DFFA0-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",
5996
+ M: "0300-036F0483-04890591-05BD05BF05C105C205C405C505C70610-061A064B-065E067006D6-06DC06DE-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0900-0903093C093E-094E0951-0955096209630981-098309BC09BE-09C409C709C809CB-09CD09D709E209E30A01-0A030A3C0A3E-0A420A470A480A4B-0A4D0A510A700A710A750A81-0A830ABC0ABE-0AC50AC7-0AC90ACB-0ACD0AE20AE30B01-0B030B3C0B3E-0B440B470B480B4B-0B4D0B560B570B620B630B820BBE-0BC20BC6-0BC80BCA-0BCD0BD70C01-0C030C3E-0C440C46-0C480C4A-0C4D0C550C560C620C630C820C830CBC0CBE-0CC40CC6-0CC80CCA-0CCD0CD50CD60CE20CE30D020D030D3E-0D440D46-0D480D4A-0D4D0D570D620D630D820D830DCA0DCF-0DD40DD60DD8-0DDF0DF20DF30E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F3E0F3F0F71-0F840F860F870F90-0F970F99-0FBC0FC6102B-103E1056-1059105E-10601062-10641067-106D1071-10741082-108D108F109A-109D135F1712-17141732-1734175217531772177317B6-17D317DD180B-180D18A91920-192B1930-193B19B0-19C019C819C91A17-1A1B1A55-1A5E1A60-1A7C1A7F1B00-1B041B34-1B441B6B-1B731B80-1B821BA1-1BAA1C24-1C371CD0-1CD21CD4-1CE81CED1CF21DC0-1DE61DFD-1DFF20D0-20F02CEF-2CF12DE0-2DFF302A-302F3099309AA66F-A672A67CA67DA6F0A6F1A802A806A80BA823-A827A880A881A8B4-A8C4A8E0-A8F1A926-A92DA947-A953A980-A983A9B3-A9C0AA29-AA36AA43AA4CAA4DAA7BAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1ABE3-ABEAABECABEDFB1EFE00-FE0FFE20-FE26",
5997
+ Mn: "0300-036F0483-04870591-05BD05BF05C105C205C405C505C70610-061A064B-065E067006D6-06DC06DF-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0900-0902093C0941-0948094D0951-095509620963098109BC09C1-09C409CD09E209E30A010A020A3C0A410A420A470A480A4B-0A4D0A510A700A710A750A810A820ABC0AC1-0AC50AC70AC80ACD0AE20AE30B010B3C0B3F0B41-0B440B4D0B560B620B630B820BC00BCD0C3E-0C400C46-0C480C4A-0C4D0C550C560C620C630CBC0CBF0CC60CCC0CCD0CE20CE30D41-0D440D4D0D620D630DCA0DD2-0DD40DD60E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F71-0F7E0F80-0F840F860F870F90-0F970F99-0FBC0FC6102D-10301032-10371039103A103D103E10581059105E-10601071-1074108210851086108D109D135F1712-17141732-1734175217531772177317B7-17BD17C617C9-17D317DD180B-180D18A91920-19221927192819321939-193B1A171A181A561A58-1A5E1A601A621A65-1A6C1A73-1A7C1A7F1B00-1B031B341B36-1B3A1B3C1B421B6B-1B731B801B811BA2-1BA51BA81BA91C2C-1C331C361C371CD0-1CD21CD4-1CE01CE2-1CE81CED1DC0-1DE61DFD-1DFF20D0-20DC20E120E5-20F02CEF-2CF12DE0-2DFF302A-302F3099309AA66FA67CA67DA6F0A6F1A802A806A80BA825A826A8C4A8E0-A8F1A926-A92DA947-A951A980-A982A9B3A9B6-A9B9A9BCAA29-AA2EAA31AA32AA35AA36AA43AA4CAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1ABE5ABE8ABEDFB1EFE00-FE0FFE20-FE26",
5998
+ Mc: "0903093E-09400949-094C094E0982098309BE-09C009C709C809CB09CC09D70A030A3E-0A400A830ABE-0AC00AC90ACB0ACC0B020B030B3E0B400B470B480B4B0B4C0B570BBE0BBF0BC10BC20BC6-0BC80BCA-0BCC0BD70C01-0C030C41-0C440C820C830CBE0CC0-0CC40CC70CC80CCA0CCB0CD50CD60D020D030D3E-0D400D46-0D480D4A-0D4C0D570D820D830DCF-0DD10DD8-0DDF0DF20DF30F3E0F3F0F7F102B102C10311038103B103C105610571062-10641067-106D108310841087-108C108F109A-109C17B617BE-17C517C717C81923-19261929-192B193019311933-193819B0-19C019C819C91A19-1A1B1A551A571A611A631A641A6D-1A721B041B351B3B1B3D-1B411B431B441B821BA11BA61BA71BAA1C24-1C2B1C341C351CE11CF2A823A824A827A880A881A8B4-A8C3A952A953A983A9B4A9B5A9BAA9BBA9BD-A9C0AA2FAA30AA33AA34AA4DAA7BABE3ABE4ABE6ABE7ABE9ABEAABEC",
5999
+ Me: "0488048906DE20DD-20E020E2-20E4A670-A672",
6000
+ N: "0030-003900B200B300B900BC-00BE0660-066906F0-06F907C0-07C90966-096F09E6-09EF09F4-09F90A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BF20C66-0C6F0C78-0C7E0CE6-0CEF0D66-0D750E50-0E590ED0-0ED90F20-0F331040-10491090-10991369-137C16EE-16F017E0-17E917F0-17F91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C5920702074-20792080-20892150-21822185-21892460-249B24EA-24FF2776-27932CFD30073021-30293038-303A3192-31953220-32293251-325F3280-328932B1-32BFA620-A629A6E6-A6EFA830-A835A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19",
6001
+ Nd: "0030-00390660-066906F0-06F907C0-07C90966-096F09E6-09EF0A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BEF0C66-0C6F0CE6-0CEF0D66-0D6F0E50-0E590ED0-0ED90F20-0F291040-10491090-109917E0-17E91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C59A620-A629A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19",
6002
+ Nl: "16EE-16F02160-21822185-218830073021-30293038-303AA6E6-A6EF",
6003
+ No: "00B200B300B900BC-00BE09F4-09F90BF0-0BF20C78-0C7E0D70-0D750F2A-0F331369-137C17F0-17F920702074-20792080-20892150-215F21892460-249B24EA-24FF2776-27932CFD3192-31953220-32293251-325F3280-328932B1-32BFA830-A835",
6004
+ P: "0021-00230025-002A002C-002F003A003B003F0040005B-005D005F007B007D00A100AB00B700BB00BF037E0387055A-055F0589058A05BE05C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E0964096509700DF40E4F0E5A0E5B0F04-0F120F3A-0F3D0F850FD0-0FD4104A-104F10FB1361-13681400166D166E169B169C16EB-16ED1735173617D4-17D617D8-17DA1800-180A1944194519DE19DF1A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601C3B-1C3F1C7E1C7F1CD32010-20272030-20432045-20512053-205E207D207E208D208E2329232A2768-277527C527C627E6-27EF2983-299829D8-29DB29FC29FD2CF9-2CFC2CFE2CFF2E00-2E2E2E302E313001-30033008-30113014-301F3030303D30A030FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFABEBFD3EFD3FFE10-FE19FE30-FE52FE54-FE61FE63FE68FE6AFE6BFF01-FF03FF05-FF0AFF0C-FF0FFF1AFF1BFF1FFF20FF3B-FF3DFF3FFF5BFF5DFF5F-FF65",
6005
+ Pd: "002D058A05BE140018062010-20152E172E1A301C303030A0FE31FE32FE58FE63FF0D",
6006
+ Ps: "0028005B007B0F3A0F3C169B201A201E2045207D208D23292768276A276C276E27702772277427C527E627E827EA27EC27EE2983298529872989298B298D298F299129932995299729D829DA29FC2E222E242E262E283008300A300C300E3010301430163018301A301DFD3EFE17FE35FE37FE39FE3BFE3DFE3FFE41FE43FE47FE59FE5BFE5DFF08FF3BFF5BFF5FFF62",
6007
+ Pe: "0029005D007D0F3B0F3D169C2046207E208E232A2769276B276D276F27712773277527C627E727E927EB27ED27EF298429862988298A298C298E2990299229942996299829D929DB29FD2E232E252E272E293009300B300D300F3011301530173019301B301E301FFD3FFE18FE36FE38FE3AFE3CFE3EFE40FE42FE44FE48FE5AFE5CFE5EFF09FF3DFF5DFF60FF63",
6008
+ Pi: "00AB2018201B201C201F20392E022E042E092E0C2E1C2E20",
6009
+ Pf: "00BB2019201D203A2E032E052E0A2E0D2E1D2E21",
6010
+ Pc: "005F203F20402054FE33FE34FE4D-FE4FFF3F",
6011
+ Po: "0021-00230025-0027002A002C002E002F003A003B003F0040005C00A100B700BF037E0387055A-055F058905C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E0964096509700DF40E4F0E5A0E5B0F04-0F120F850FD0-0FD4104A-104F10FB1361-1368166D166E16EB-16ED1735173617D4-17D617D8-17DA1800-18051807-180A1944194519DE19DF1A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601C3B-1C3F1C7E1C7F1CD3201620172020-20272030-2038203B-203E2041-20432047-205120532055-205E2CF9-2CFC2CFE2CFF2E002E012E06-2E082E0B2E0E-2E162E182E192E1B2E1E2E1F2E2A-2E2E2E302E313001-3003303D30FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFABEBFE10-FE16FE19FE30FE45FE46FE49-FE4CFE50-FE52FE54-FE57FE5F-FE61FE68FE6AFE6BFF01-FF03FF05-FF07FF0AFF0CFF0EFF0FFF1AFF1BFF1FFF20FF3CFF61FF64FF65",
6012
+ S: "0024002B003C-003E005E0060007C007E00A2-00A900AC00AE-00B100B400B600B800D700F702C2-02C502D2-02DF02E5-02EB02ED02EF-02FF03750384038503F604820606-0608060B060E060F06E906FD06FE07F609F209F309FA09FB0AF10B700BF3-0BFA0C7F0CF10CF20D790E3F0F01-0F030F13-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F13601390-139917DB194019E0-19FF1B61-1B6A1B74-1B7C1FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE20442052207A-207C208A-208C20A0-20B8210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B2140-2144214A-214D214F2190-2328232B-23E82400-24262440-244A249C-24E92500-26CD26CF-26E126E326E8-26FF2701-27042706-2709270C-27272729-274B274D274F-27522756-275E2761-276727942798-27AF27B1-27BE27C0-27C427C7-27CA27CC27D0-27E527F0-29822999-29D729DC-29FB29FE-2B4C2B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F309B309C319031913196-319F31C0-31E33200-321E322A-32503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A700-A716A720A721A789A78AA828-A82BA836-A839AA77-AA79FB29FDFCFDFDFE62FE64-FE66FE69FF04FF0BFF1C-FF1EFF3EFF40FF5CFF5EFFE0-FFE6FFE8-FFEEFFFCFFFD",
6013
+ Sm: "002B003C-003E007C007E00AC00B100D700F703F60606-060820442052207A-207C208A-208C2140-2144214B2190-2194219A219B21A021A321A621AE21CE21CF21D221D421F4-22FF2308-230B23202321237C239B-23B323DC-23E125B725C125F8-25FF266F27C0-27C427C7-27CA27CC27D0-27E527F0-27FF2900-29822999-29D729DC-29FB29FE-2AFF2B30-2B442B47-2B4CFB29FE62FE64-FE66FF0BFF1C-FF1EFF5CFF5EFFE2FFE9-FFEC",
6014
+ Sc: "002400A2-00A5060B09F209F309FB0AF10BF90E3F17DB20A0-20B8A838FDFCFE69FF04FFE0FFE1FFE5FFE6",
6015
+ Sk: "005E006000A800AF00B400B802C2-02C502D2-02DF02E5-02EB02ED02EF-02FF0375038403851FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE309B309CA700-A716A720A721A789A78AFF3EFF40FFE3",
6016
+ So: "00A600A700A900AE00B000B60482060E060F06E906FD06FE07F609FA0B700BF3-0BF80BFA0C7F0CF10CF20D790F01-0F030F13-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F13601390-1399194019E0-19FF1B61-1B6A1B74-1B7C210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B214A214C214D214F2195-2199219C-219F21A121A221A421A521A7-21AD21AF-21CD21D021D121D321D5-21F32300-2307230C-231F2322-2328232B-237B237D-239A23B4-23DB23E2-23E82400-24262440-244A249C-24E92500-25B625B8-25C025C2-25F72600-266E2670-26CD26CF-26E126E326E8-26FF2701-27042706-2709270C-27272729-274B274D274F-27522756-275E2761-276727942798-27AF27B1-27BE2800-28FF2B00-2B2F2B452B462B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F319031913196-319F31C0-31E33200-321E322A-32503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A828-A82BA836A837A839AA77-AA79FDFDFFE4FFE8FFEDFFEEFFFCFFFD",
6017
+ Z: "002000A01680180E2000-200A20282029202F205F3000",
6018
+ Zs: "002000A01680180E2000-200A202F205F3000",
6019
+ Zl: "2028",
6020
+ Zp: "2029",
6021
+ C: "0000-001F007F-009F00AD03780379037F-0383038B038D03A20526-05300557055805600588058B-059005C8-05CF05EB-05EF05F5-0605061C061D0620065F06DD070E070F074B074C07B2-07BF07FB-07FF082E082F083F-08FF093A093B094F095609570973-097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF00AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B72-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D290D3A-0D3C0D450D490D4E-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EDE-0EFF0F480F6D-0F700F8C-0F8F0F980FBD0FCD0FD9-0FFF10C6-10CF10FD-10FF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B-135E137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17B417B517DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BAB-1BAD1BBA-1BFF1C38-1C3A1C4A-1C4C1C80-1CCF1CF3-1CFF1DE7-1DFC1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF200B-200F202A-202E2060-206F20722073208F2095-209F20B9-20CF20F1-20FF218A-218F23E9-23FF2427-243F244B-245F26CE26E226E4-26E727002705270A270B2728274C274E2753-2755275F27602795-279727B027BF27CB27CD-27CF2B4D-2B4F2B5A-2BFF2C2F2C5F2CF2-2CF82D26-2D2F2D66-2D6E2D70-2D7F2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E32-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31B8-31BF31E4-31EF321F32FF4DB6-4DBF9FCC-9FFFA48D-A48FA4C7-A4CFA62C-A63FA660A661A674-A67BA698-A69FA6F8-A6FFA78D-A7FAA82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAE0-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-F8FFFA2EFA2FFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBB2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFD-FF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFFBFFFEFFFF",
6022
+ Cc: "0000-001F007F-009F",
6023
+ Cf: "00AD0600-060306DD070F17B417B5200B-200F202A-202E2060-2064206A-206FFEFFFFF9-FFFB",
6024
+ Co: "E000-F8FF",
6025
+ Cs: "D800-DFFF",
6026
+ Cn: "03780379037F-0383038B038D03A20526-05300557055805600588058B-059005C8-05CF05EB-05EF05F5-05FF06040605061C061D0620065F070E074B074C07B2-07BF07FB-07FF082E082F083F-08FF093A093B094F095609570973-097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF00AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B72-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D290D3A-0D3C0D450D490D4E-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EDE-0EFF0F480F6D-0F700F8C-0F8F0F980FBD0FCD0FD9-0FFF10C6-10CF10FD-10FF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B-135E137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BAB-1BAD1BBA-1BFF1C38-1C3A1C4A-1C4C1C80-1CCF1CF3-1CFF1DE7-1DFC1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF2065-206920722073208F2095-209F20B9-20CF20F1-20FF218A-218F23E9-23FF2427-243F244B-245F26CE26E226E4-26E727002705270A270B2728274C274E2753-2755275F27602795-279727B027BF27CB27CD-27CF2B4D-2B4F2B5A-2BFF2C2F2C5F2CF2-2CF82D26-2D2F2D66-2D6E2D70-2D7F2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E32-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31B8-31BF31E4-31EF321F32FF4DB6-4DBF9FCC-9FFFA48D-A48FA4C7-A4CFA62C-A63FA660A661A674-A67BA698-A69FA6F8-A6FFA78D-A7FAA82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAE0-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-D7FFFA2EFA2FFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBB2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFDFEFEFF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFF8FFFEFFFF"
6027
+ });
6028
+
6029
+ function addUnicodePackage (pack) {
6030
+ var codePoint = /\w{4}/g;
6031
+ for (var name in pack)
6032
+ exports.packages[name] = pack[name].replace(codePoint, "\\u$&");
6033
+ }
6034
+
6035
+ });
6036
+
6037
+ define("ace/mode/text",["require","exports","module","ace/tokenizer","ace/mode/text_highlight_rules","ace/mode/behaviour/cstyle","ace/unicode","ace/lib/lang","ace/token_iterator","ace/range"], function(require, exports, module) {
5681
6038
  "use strict";
5682
6039
 
5683
6040
  var Tokenizer = require("../tokenizer").Tokenizer;
5684
6041
  var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
5685
- var Behaviour = require("./behaviour").Behaviour;
6042
+ var CstyleBehaviour = require("./behaviour/cstyle").CstyleBehaviour;
5686
6043
  var unicode = require("../unicode");
5687
6044
  var lang = require("../lib/lang");
5688
6045
  var TokenIterator = require("../token_iterator").TokenIterator;
@@ -5690,10 +6047,10 @@ var Range = require("../range").Range;
5690
6047
 
5691
6048
  var Mode = function() {
5692
6049
  this.HighlightRules = TextHighlightRules;
5693
- this.$behaviour = new Behaviour();
5694
6050
  };
5695
6051
 
5696
6052
  (function() {
6053
+ this.$defaultBehaviour = new CstyleBehaviour();
5697
6054
 
5698
6055
  this.tokenRe = new RegExp("^["
5699
6056
  + unicode.packages.L
@@ -5711,7 +6068,7 @@ var Mode = function() {
5711
6068
 
5712
6069
  this.getTokenizer = function() {
5713
6070
  if (!this.$tokenizer) {
5714
- this.$highlightRules = this.$highlightRules || new this.HighlightRules();
6071
+ this.$highlightRules = this.$highlightRules || new this.HighlightRules(this.$highlightRuleConfig);
5715
6072
  this.$tokenizer = new Tokenizer(this.$highlightRules.getRules());
5716
6073
  }
5717
6074
  return this.$tokenizer;
@@ -6333,7 +6690,7 @@ var Document = function(textOrLines) {
6333
6690
  return this.removeFullLines(firstRow, lastRow);
6334
6691
  };
6335
6692
  this.insertNewLine = function(position) {
6336
- console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, [\'\', \'\']) instead.");
6693
+ console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead.");
6337
6694
  return this.insertMergedLines(position, ["", ""]);
6338
6695
  };
6339
6696
  this.insert = function(position, text) {
@@ -7955,7 +8312,7 @@ function Folding() {
7955
8312
  this.removeFold(fold);
7956
8313
  else
7957
8314
  this.expandFold(fold);
7958
- return;
8315
+ return fold;
7959
8316
  }
7960
8317
 
7961
8318
  var range = this.getFoldWidgetRange(row, true);
@@ -7963,7 +8320,7 @@ function Folding() {
7963
8320
  fold = this.getFoldAt(range.start.row, range.start.column, 1);
7964
8321
  if (fold && range.isEqual(fold.range)) {
7965
8322
  this.removeFold(fold);
7966
- return;
8323
+ return fold;
7967
8324
  }
7968
8325
  }
7969
8326
 
@@ -8242,6 +8599,7 @@ var EditSession = function(text, mode) {
8242
8599
  this.$undoSelect = true;
8243
8600
 
8244
8601
  this.$foldData = [];
8602
+ this.id = "session" + (++EditSession.$uid);
8245
8603
  this.$foldData.toString = function() {
8246
8604
  return this.join("\n");
8247
8605
  };
@@ -10178,7 +10536,7 @@ var Search = function() {
10178
10536
  needle = lang.escapeRegExp(needle);
10179
10537
 
10180
10538
  if (options.wholeWord)
10181
- needle = "\\b" + needle + "\\b";
10539
+ needle = addWordBoundary(needle, options);
10182
10540
 
10183
10541
  var modifier = options.caseSensitive ? "gm" : "gmi";
10184
10542
 
@@ -10267,6 +10625,15 @@ var Search = function() {
10267
10625
 
10268
10626
  }).call(Search.prototype);
10269
10627
 
10628
+ function addWordBoundary(needle, options) {
10629
+ function wordBoundary(c) {
10630
+ if (/\w/.test(c) || options.regExp) return "\\b";
10631
+ return "";
10632
+ }
10633
+ return wordBoundary(needle[0]) + needle
10634
+ + wordBoundary(needle[needle.length - 1]);
10635
+ }
10636
+
10270
10637
  exports.Search = Search;
10271
10638
  });
10272
10639
 
@@ -10621,7 +10988,7 @@ exports.commands = [{
10621
10988
  readOnly: true
10622
10989
  }, {
10623
10990
  name: "goToNextError",
10624
- bindKey: bindKey("Alt-E", "Ctrl-E"),
10991
+ bindKey: bindKey("Alt-E", "F4"),
10625
10992
  exec: function(editor) {
10626
10993
  config.loadModule("ace/ext/error_marker", function(module) {
10627
10994
  module.showErrorMarker(editor, 1);
@@ -10631,7 +10998,7 @@ exports.commands = [{
10631
10998
  readOnly: true
10632
10999
  }, {
10633
11000
  name: "goToPreviousError",
10634
- bindKey: bindKey("Alt-Shift-E", "Ctrl-Shift-E"),
11001
+ bindKey: bindKey("Alt-Shift-E", "Shift-F4"),
10635
11002
  exec: function(editor) {
10636
11003
  config.loadModule("ace/ext/error_marker", function(module) {
10637
11004
  module.showErrorMarker(editor, -1);
@@ -10756,7 +11123,7 @@ exports.commands = [{
10756
11123
  readOnly: true
10757
11124
  }, {
10758
11125
  name: "selecttostart",
10759
- bindKey: bindKey("Ctrl-Shift-Home", "Command-Shift-Up"),
11126
+ bindKey: bindKey("Ctrl-Shift-Home", "Command-Shift-Home|Command-Shift-Up"),
10760
11127
  exec: function(editor) { editor.getSelection().selectFileStart(); },
10761
11128
  multiSelectAction: "forEach",
10762
11129
  readOnly: true,
@@ -10772,7 +11139,7 @@ exports.commands = [{
10772
11139
  aceCommandGroup: "fileJump"
10773
11140
  }, {
10774
11141
  name: "selectup",
10775
- bindKey: bindKey("Shift-Up", "Shift-Up"),
11142
+ bindKey: bindKey("Shift-Up", "Shift-Up|Ctrl-Shift-P"),
10776
11143
  exec: function(editor) { editor.getSelection().selectUp(); },
10777
11144
  multiSelectAction: "forEach",
10778
11145
  scrollIntoView: "cursor",
@@ -10786,7 +11153,7 @@ exports.commands = [{
10786
11153
  readOnly: true
10787
11154
  }, {
10788
11155
  name: "selecttoend",
10789
- bindKey: bindKey("Ctrl-Shift-End", "Command-Shift-Down"),
11156
+ bindKey: bindKey("Ctrl-Shift-End", "Command-Shift-End|Command-Shift-Down"),
10790
11157
  exec: function(editor) { editor.getSelection().selectFileEnd(); },
10791
11158
  multiSelectAction: "forEach",
10792
11159
  readOnly: true,
@@ -10802,7 +11169,7 @@ exports.commands = [{
10802
11169
  aceCommandGroup: "fileJump"
10803
11170
  }, {
10804
11171
  name: "selectdown",
10805
- bindKey: bindKey("Shift-Down", "Shift-Down"),
11172
+ bindKey: bindKey("Shift-Down", "Shift-Down|Ctrl-Shift-N"),
10806
11173
  exec: function(editor) { editor.getSelection().selectDown(); },
10807
11174
  multiSelectAction: "forEach",
10808
11175
  scrollIntoView: "cursor",
@@ -10830,7 +11197,7 @@ exports.commands = [{
10830
11197
  readOnly: true
10831
11198
  }, {
10832
11199
  name: "selecttolinestart",
10833
- bindKey: bindKey("Alt-Shift-Left", "Command-Shift-Left"),
11200
+ bindKey: bindKey("Alt-Shift-Left", "Command-Shift-Left|Ctrl-Shift-A"),
10834
11201
  exec: function(editor) { editor.getSelection().selectLineStart(); },
10835
11202
  multiSelectAction: "forEach",
10836
11203
  scrollIntoView: "cursor",
@@ -10844,7 +11211,7 @@ exports.commands = [{
10844
11211
  readOnly: true
10845
11212
  }, {
10846
11213
  name: "selectleft",
10847
- bindKey: bindKey("Shift-Left", "Shift-Left"),
11214
+ bindKey: bindKey("Shift-Left", "Shift-Left|Ctrl-Shift-B"),
10848
11215
  exec: function(editor) { editor.getSelection().selectLeft(); },
10849
11216
  multiSelectAction: "forEach",
10850
11217
  scrollIntoView: "cursor",
@@ -10872,7 +11239,7 @@ exports.commands = [{
10872
11239
  readOnly: true
10873
11240
  }, {
10874
11241
  name: "selecttolineend",
10875
- bindKey: bindKey("Alt-Shift-Right", "Command-Shift-Right"),
11242
+ bindKey: bindKey("Alt-Shift-Right", "Command-Shift-Right|Shift-End|Ctrl-Shift-E"),
10876
11243
  exec: function(editor) { editor.getSelection().selectLineEnd(); },
10877
11244
  multiSelectAction: "forEach",
10878
11245
  scrollIntoView: "cursor",
@@ -11736,7 +12103,8 @@ var Editor = function(renderer, session) {
11736
12103
  var row = iterator.getCurrentTokenRow();
11737
12104
  var column = iterator.getCurrentTokenColumn();
11738
12105
  var range = new Range(row, column, row, column+token.value.length);
11739
- if (session.$tagHighlight && range.compareRange(session.$backMarkers[session.$tagHighlight].range)!==0) {
12106
+ var sbm = session.$backMarkers[session.$tagHighlight];
12107
+ if (session.$tagHighlight && sbm != undefined && range.compareRange(sbm.range) !== 0) {
11740
12108
  session.removeMarker(session.$tagHighlight);
11741
12109
  session.$tagHighlight = null;
11742
12110
  }
@@ -12313,7 +12681,7 @@ var Editor = function(renderer, session) {
12313
12681
  var indentString = lang.stringRepeat(" ", count);
12314
12682
  } else {
12315
12683
  var count = column % size;
12316
- while (line[range.start.column] == " " && count) {
12684
+ while (line[range.start.column - 1] == " " && count) {
12317
12685
  range.start.column--;
12318
12686
  count--;
12319
12687
  }
@@ -14431,6 +14799,7 @@ var oop = require("./lib/oop");
14431
14799
  var dom = require("./lib/dom");
14432
14800
  var event = require("./lib/event");
14433
14801
  var EventEmitter = require("./lib/event_emitter").EventEmitter;
14802
+ var MAX_SCROLL_H = 0x8000;
14434
14803
  var ScrollBar = function(parent) {
14435
14804
  this.element = dom.createElement("div");
14436
14805
  this.element.className = "ace_scrollbar ace_scrollbar" + this.classSuffix;
@@ -14454,11 +14823,13 @@ var ScrollBar = function(parent) {
14454
14823
  this.setVisible = function(isVisible) {
14455
14824
  this.element.style.display = isVisible ? "" : "none";
14456
14825
  this.isVisible = isVisible;
14826
+ this.coeff = 1;
14457
14827
  };
14458
14828
  }).call(ScrollBar.prototype);
14459
14829
  var VScrollBar = function(parent, renderer) {
14460
14830
  ScrollBar.call(this, parent);
14461
14831
  this.scrollTop = 0;
14832
+ this.scrollHeight = 0;
14462
14833
  renderer.$scrollbarWidth =
14463
14834
  this.width = dom.scrollbarWidth(parent.ownerDocument);
14464
14835
  this.inner.style.width =
@@ -14473,6 +14844,10 @@ oop.inherits(VScrollBar, ScrollBar);
14473
14844
  this.onScroll = function() {
14474
14845
  if (!this.skipEvent) {
14475
14846
  this.scrollTop = this.element.scrollTop;
14847
+ if (this.coeff != 1) {
14848
+ var h = this.element.clientHeight / this.scrollHeight;
14849
+ this.scrollTop = this.scrollTop * (1 - h) / (this.coeff - h);
14850
+ }
14476
14851
  this._emit("scroll", {data: this.scrollTop});
14477
14852
  }
14478
14853
  this.skipEvent = false;
@@ -14483,16 +14858,22 @@ oop.inherits(VScrollBar, ScrollBar);
14483
14858
  this.setHeight = function(height) {
14484
14859
  this.element.style.height = height + "px";
14485
14860
  };
14486
- this.setInnerHeight = function(height) {
14487
- this.inner.style.height = height + "px";
14488
- };
14861
+ this.setInnerHeight =
14489
14862
  this.setScrollHeight = function(height) {
14863
+ this.scrollHeight = height;
14864
+ if (height > MAX_SCROLL_H) {
14865
+ this.coeff = MAX_SCROLL_H / height;
14866
+ height = MAX_SCROLL_H;
14867
+ } else if (this.coeff != 1) {
14868
+ this.coeff = 1
14869
+ }
14490
14870
  this.inner.style.height = height + "px";
14491
14871
  };
14492
14872
  this.setScrollTop = function(scrollTop) {
14493
14873
  if (this.scrollTop != scrollTop) {
14494
14874
  this.skipEvent = true;
14495
- this.scrollTop = this.element.scrollTop = scrollTop;
14875
+ this.scrollTop = scrollTop;
14876
+ this.element.scrollTop = scrollTop * this.coeff;
14496
14877
  }
14497
14878
  };
14498
14879
 
@@ -14750,6 +15131,7 @@ position: relative;\
14750
15131
  overflow: hidden;\
14751
15132
  font: 12px/normal 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'source-code-pro', monospace;\
14752
15133
  direction: ltr;\
15134
+ text-align: left;\
14753
15135
  }\
14754
15136
  .ace_scroller {\
14755
15137
  position: absolute;\
@@ -15275,6 +15657,7 @@ var VirtualRenderer = function(container, theme) {
15275
15657
 
15276
15658
  this.$loop.schedule(this.CHANGE_FULL);
15277
15659
  this.session.$setFontMetrics(this.$fontMetrics);
15660
+ this.scrollBarV.scrollLeft = this.scrollBarV.scrollTop = null;
15278
15661
 
15279
15662
  this.onChangeNewLineMode = this.onChangeNewLineMode.bind(this);
15280
15663
  this.onChangeNewLineMode()
@@ -15758,12 +16141,13 @@ var VirtualRenderer = function(container, theme) {
15758
16141
  this.$autosize = function() {
15759
16142
  var height = this.session.getScreenLength() * this.lineHeight;
15760
16143
  var maxHeight = this.$maxLines * this.lineHeight;
15761
- var desiredHeight = Math.max(
15762
- (this.$minLines||1) * this.lineHeight,
15763
- Math.min(maxHeight, height)
16144
+ var desiredHeight = Math.min(maxHeight,
16145
+ Math.max((this.$minLines || 1) * this.lineHeight, height)
15764
16146
  ) + this.scrollMargin.v + (this.$extraHeight || 0);
15765
16147
  if (this.$horizScroll)
15766
16148
  desiredHeight += this.scrollBarH.getHeight();
16149
+ if (this.$maxPixelHeight && desiredHeight > this.$maxPixelHeight)
16150
+ desiredHeight = this.$maxPixelHeight;
15767
16151
  var vScroll = height > maxHeight;
15768
16152
 
15769
16153
  if (desiredHeight != this.desiredHeight ||
@@ -15868,7 +16252,7 @@ var VirtualRenderer = function(container, theme) {
15868
16252
  minHeight : minHeight,
15869
16253
  maxHeight : maxHeight,
15870
16254
  offset : offset,
15871
- gutterOffset : Math.max(0, Math.ceil((offset + size.height - size.scrollerHeight) / lineHeight)),
16255
+ gutterOffset : lineHeight ? Math.max(0, Math.ceil((offset + size.height - size.scrollerHeight) / lineHeight)) : 0,
15872
16256
  height : this.$size.scrollerHeight
15873
16257
  };
15874
16258
 
@@ -16179,8 +16563,8 @@ var VirtualRenderer = function(container, theme) {
16179
16563
  function afterLoad(module) {
16180
16564
  if (_self.$themeId != theme)
16181
16565
  return cb && cb();
16182
- if (!module.cssClass)
16183
- return;
16566
+ if (!module || !module.cssClass)
16567
+ throw new Error("couldn't load module " + theme + " or it didn't call define");
16184
16568
  dom.importCssString(
16185
16569
  module.cssText,
16186
16570
  module.cssClass,
@@ -16348,6 +16732,12 @@ config.defineOptions(VirtualRenderer.prototype, "renderer", {
16348
16732
  this.updateFull();
16349
16733
  }
16350
16734
  },
16735
+ maxPixelHeight: {
16736
+ set: function(val) {
16737
+ this.updateFull();
16738
+ },
16739
+ initialValue: 0
16740
+ },
16351
16741
  scrollPastEnd: {
16352
16742
  set: function(val) {
16353
16743
  val = +val || 0;
@@ -18236,7 +18626,7 @@ function LineWidgets(session) {
18236
18626
  if (!w.coverGutter) {
18237
18627
  w.el.style.zIndex = 3;
18238
18628
  }
18239
- if (!w.pixelHeight) {
18629
+ if (w.pixelHeight == null) {
18240
18630
  w.pixelHeight = w.el.offsetHeight;
18241
18631
  }
18242
18632
  if (w.rowCount == null) {
@@ -18611,6 +19001,9 @@ require("./ext/error_marker");
18611
19001
 
18612
19002
  exports.config = require("./config");
18613
19003
  exports.require = require;
19004
+
19005
+ if (typeof define === "function")
19006
+ exports.define = define;
18614
19007
  exports.edit = function(el) {
18615
19008
  if (typeof el == "string") {
18616
19009
  var _id = el;
@@ -18659,11 +19052,14 @@ exports.createEditSession = function(text, mode) {
18659
19052
  }
18660
19053
  exports.EditSession = EditSession;
18661
19054
  exports.UndoManager = UndoManager;
18662
- exports.version = "1.2.3";
19055
+ exports.version = "1.2.6";
18663
19056
  });
18664
19057
  (function() {
18665
19058
  window.require(["ace/ace"], function(a) {
18666
- a && a.config.init(true);
19059
+ if (a) {
19060
+ a.config.init(true);
19061
+ a.define = window.define;
19062
+ }
18667
19063
  if (!window.ace)
18668
19064
  window.ace = a;
18669
19065
  for (var key in a) if (a.hasOwnProperty(key))